首页 / 专利库 / 计算机网络 / 通信接口 / 一种基于软件定义网络的数据流传输方法及装置

一种基于软件定义网络的数据流传输方法及装置

阅读:314发布:2020-05-11

专利汇可以提供一种基于软件定义网络的数据流传输方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种基于 软件 定义网络的数据流传输方法及装置,方法包括:确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数;基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径;将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。可见,综合考虑了传输目标数据流的时延,丢包率以及动态能耗,在满足目标数据流的时延,丢包率需求前提下,最大限度的降低网络能耗。,下面是一种基于软件定义网络的数据流传输方法及装置专利的具体信息内容。

1.一种基于软件定义网络的数据流传输方法,其特征在于,所述方法包括:
确定目标数据流的传输需求信息,所述传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,所述链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,所述目标传输路径为以所述起始交换机结点为起点,以所述终止交换机结点为终点的传输路径中传输代价最小的传输路径;
将所述目标传输路径发送至所述交换机结点,以使所述交换机结点按照所述目标传输路径传输所述数据流。
2.根据权利要求1所述的方法,其特征在于,所述传输代价函数为:
d(p)=∑(i,j)∈pd(i,j)
l(p)=1-∏(i,j)∈p(1-l(i,j))
e(p)=∑(i,j)∈pe(i,j)
其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
3.根据权利要求1所述的方法,其特征在于,所述基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径的步骤,包括:
确定所述拓扑结构中任意两个交换机结点之间的最短路径;
将所述起始交换机结点标记为待检测结点;
遍历所述待检测结点,基于所述传输代价函数,确定第一结点,并将所述第一结点标记为已检测结点;所述第一结点为总传输代价最小的结点;所述总传输代价包括已知传输代价和期望传输代价,所述已知传输代价表示从所述起始交换机结点到所述待检测结点的路径的真实传输代价,所述期望传输代价表示从所述待检测结点到所述终止交换机结点的路径的期望传输代价;所述期望传输代价与从所述待检测结点到所述终止交换机结点的最短路径包含的链路总数正相关;
基于所述第一结点以及所述拓扑结构,确定第二结点,所述第二结点为所述第一结点的相邻结点;
当所述第二结点是已检测结点,和/或当从所述起始交换机结点到所述第二结点的路径不满足所述时延需求,丢包率需求或带宽需求时;直接返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
当所述第二结点不是已检测结点,且从所述起始交换机结点到第二结点的路径满足所述时延需求,丢包率需求和带宽需求时,判断所述第二结点是否为待检测结点;
若所述第二结点不是待检测结点,将所述第二结点标记为待检测结点,设置其父结点为所述第一结点,并计算所述第二结点的已知传输代价,期望传输代价值以及总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
若所述第二结点是待检测结点,且所述第二结点的已知传输代价小于当前最小的已知传输代价,则更新当前最小的已知传输代价,设置所述第一结点为所述第二结点的父结点,并重新计算所述第二结点的总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
当所述终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定所述目标传输路径。
4.根据权利要求3所述的方法,其特征在于,所述基于迭代过程中生成的父结点关系,确定所述目标传输路径的步骤,包括:
基于所述父结点关系,确定所述终止交换机结点的父结点,作为第三结点;
基于所述父结点关系,确定所述第三结点的父结点,作为新的第三结点,并重新执行确定所述第三结点的父结点的步骤,直至确定所述起始交换机结点为第三结点;
确定以所述起始交换机结点为起点,以所述终止交换机结点为终点,且包含所述第三结点的路径,作为目标传输路径。
5.一种基于软件定义网络的数据流传输装置,其特征在于,所述装置包括:
第一确定模,用于确定目标数据流的传输需求信息,所述传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
获取模块,用于获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,所述链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
第二确定模块,用于基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,所述目标传输路径为以所述起始交换机结点为起点,以所述终止交换机结点为终点的传输路径中传输代价最小的传输路径;
发送模块,用于将所述目标传输路径发送至所述交换机结点,以使所述交换机结点按照所述目标传输路径传输所述数据流。
6.根据权利要求5所述的装置,其特征在于,所述传输代价函数为:
d(p)=∑(i,j)∈pd(i,j)
l(p)=1-∏(i,j)∈p(1-l(i,j))
e(p)=∑(i,j)∈pe(i,j)
其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
7.根据权利要求5所述的装置,其特征在于,所述第二确定模块,具体用于:
确定所述拓扑结构中任意两个交换机结点之间的最短路径;
将所述起始交换机结点标记为待检测结点;
遍历所述待检测结点,基于所述传输代价函数,确定第一结点,并将所述第一结点标记为已检测结点;所述第一结点为总传输代价最小的结点;所述总传输代价包括已知传输代价和期望传输代价,所述已知传输代价表示从所述起始交换机结点到所述待检测结点的路径的真实传输代价,所述期望传输代价表示从所述待检测结点到所述终止交换机结点的路径的期望传输代价;所述期望传输代价与从所述待检测结点到所述终止交换机结点的最短路径包含的链路总数正相关;
基于所述第一结点以及所述拓扑结构,确定第二结点,所述第二结点为所述第一结点的相邻结点;
当所述第二结点是已检测结点,和/或当从所述起始交换机结点到所述第二结点的路径不满足所述时延需求,丢包率需求或带宽需求时;直接返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
当所述第二结点不是已检测结点,且从所述起始交换机结点到第二结点的路径满足所述时延需求,丢包率需求和带宽需求时,判断所述第二结点是否为待检测结点;
若所述第二结点不是待检测结点,将所述第二结点标记为待检测结点,设置其父结点为所述第一结点,并计算所述第二结点的已知传输代价,期望传输代价值以及总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
若所述第二结点是待检测结点,且所述第二结点的已知传输代价小于当前最小的已知传输代价,则更新当前最小的已知传输代价,设置所述第一结点为所述第二结点的父结点,并重新计算所述第二结点的总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
当所述终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定所述目标传输路径。
8.根据权利要求5所述的装置,其特征在于,所述第二确定模块,具体用于:
基于所述父结点关系,确定所述终止交换机结点的父结点,作为第三结点;
基于所述父结点关系,确定所述第三结点的父结点,作为新的第三结点,并重新执行确定所述第三结点的父结点的步骤,直至确定所述起始交换机结点为第三结点;
确定以所述起始交换机结点为起点,以所述终止交换机结点为终点,且包含所述第三结点的路径,作为目标传输路径。
9.一种电子设备,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。

说明书全文

一种基于软件定义网络的数据流传输方法及装置

技术领域

[0001] 本发明涉及通信网络技术领域,特别是涉及一种基于软件定义网络的数据流传输方法及装置。

背景技术

[0002] SDN(SoftwareDefinedNetwork,软件定义网络)是一种新型网络形式,被广泛认为是未来网络的一项重要技术。软件定义网络将传统交换机中的控制平面和数据转发平面分离,其中控制平面由一个或者多个控制器组成,数据转发平面则由数据转发设备组成,例如OpenFlow交换机。控制平面掌握了网络的全局信息并提供一个可编程的接口实现对网络的管理和控制,为交换机计算流表项来决定如何处理特定的数据流,而交换机只负责对流进行转发。软件定义网络技术可以简化转发设备的结构,有效降低转发设备的费用,同时可以有效提高网络资源利用率,简化网络管理,减少运行成本,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
[0003] 众所周知,网络设计通常以高性能和高可靠性为目标,为了满足突发业务的带宽需求、防止可能发生的链路故障和设备故障,通常会设置众多的冗余链路和过度的链路带宽。在大多数时间内网络设备的利用率很低,导致了极低的网络能耗效率,加剧了网络整体资源消耗的增长。
[0004] 此外,随着业务种类的增多,特别是多媒体业务的兴起,网络业务的交互更加实时,这使得业务的QoS(Quality of Service,服务质量)要求越来越高。
[0005] 可见,亟需一种既能减少网络能耗,又能满足QoS需求的数据流传输方法。

发明内容

[0006] 本发明实施例的目的在于提供一种基于软件定义网络的数据流传输方法及装置,以实现在满足数据流服务质量需求的前提下,降低网络能耗。具体技术方案如下:
[0007] 为实现上述目的,本发明实施例提供了一种基于软件定义网络的数据流传输方法,所述方法包括:
[0008] 确定目标数据流的传输需求信息,所述传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
[0009] 获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,所述链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
[0010] 基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,所述目标传输路径为以所述起始交换机结点为起点,以所述终止交换机结点为终点的传输路径中传输代价最小的传输路径;
[0011] 将所述目标传输路径发送至所述交换机结点,以使所述交换机结点按照所述目标传输路径传输所述数据流。
[0012] 可选的,所述传输代价函数为:
[0013]
[0014] d(p)=∑(i,j)∈pd(i,j)
[0015] l(p)=1-∏(i,j)∈p(1-l(i,j))
[0016] e(p)=∑(i,j)∈pe(i,j)
[0017] 其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
[0018] 可选的,所述基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径的步骤,包括:
[0019] 确定所述拓扑结构中任意两个交换机结点之间的最短路径;
[0020] 将所述起始交换机结点标记为待检测结点;
[0021] 遍历所述待检测结点,基于所述传输代价函数,确定第一结点,并将所述第一结点标记为已检测结点;所述第一结点为总传输代价最小的结点;所述总传输代价包括已知传输代价和期望传输代价,所述已知传输代价表示从所述起始交换机结点到所述待检测结点的路径的真实传输代价,所述期望传输代价表示从所述待检测结点到所述终止交换机结点的路径的期望传输代价;所述期望传输代价与从所述待检测结点到所述终止交换机结点的最短路径包含的链路总数正相关;
[0022] 基于所述第一结点以及所述拓扑结构,确定第二结点,所述第二结点为所述第一结点的相邻结点;
[0023] 当所述第二结点是已检测结点,和/或当从所述起始交换机结点到所述第二结点的路径不满足所述时延需求,丢包率需求或带宽需求时;直接返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0024] 当所述第二结点不是已检测结点,且从所述起始交换机结点到第二结点的路径满足所述时延需求,丢包率需求和带宽需求时,判断所述第二结点是否为待检测结点;
[0025] 若所述第二结点不是待检测结点,将所述第二结点标记为待检测结点,设置其父结点为所述第一结点,并计算所述第二结点的已知传输代价,期望传输代价值以及总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0026] 若所述第二结点是待检测结点,且所述第二结点的已知传输代价小于当前最小的已知传输代价,则更新当前最小的已知传输代价,设置所述第一结点为所述第二结点的父结点,并重新计算所述第二结点的总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0027] 当所述终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定所述目标传输路径。
[0028] 可选的,所述基于迭代过程中生成的父结点关系,确定所述目标传输路径的步骤,包括:
[0029] 基于所述父结点关系,确定所述终止交换机结点的父结点,作为第三结点;
[0030] 基于所述父结点关系,确定所述第三结点的父结点,作为新的第三结点,并重新执行确定所述第三结点的父结点的步骤,直至确定所述起始交换机结点为第三结点;
[0031] 确定以所述起始交换机结点为起点,以所述终止交换机结点为终点,且包含所述第三结点的路径,作为目标传输路径。
[0032] 为实现上述目的,本发明实施例还提供了一种基于软件定义网络的数据流传输装置,所述装置包括:
[0033] 第一确定模,用于确定目标数据流的传输需求信息,所述传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
[0034] 获取模块,用于获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,所述链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
[0035] 第二确定模块,用于基于所述传输需求信息,所述链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,所述目标传输路径为以所述起始交换机结点为起点,以所述终止交换机结点为终点的传输路径中传输代价最小的传输路径;
[0036] 发送模块,用于将所述目标传输路径发送至所述交换机结点,以使所述交换机结点按照所述目标传输路径传输所述数据流。
[0037] 可选的,所述传输代价函数为:
[0038]
[0039] d(p)=∑(i,j)∈pd(i,j)
[0040] l(p)=1-∏(i,j)∈p(1-l(i,j))
[0041] e(p)=∑(i,j)∈pe(i,j)
[0042] 其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
[0043] 可选的,所述第二确定模块,具体用于:
[0044] 确定所述拓扑结构中任意两个交换机结点之间的最短路径;
[0045] 将所述起始交换机结点标记为待检测结点;
[0046] 遍历所述待检测结点,基于所述传输代价函数,确定第一结点,并将所述第一结点标记为已检测结点;所述第一结点为总传输代价最小的结点;所述总传输代价包括已知传输代价和期望传输代价,所述已知传输代价表示从所述起始交换机结点到所述待检测结点的路径的真实传输代价,所述期望传输代价表示从所述待检测结点到所述终止交换机结点的路径的期望传输代价;所述期望传输代价与从所述待检测结点到所述终止交换机结点的最短路径包含的链路总数正相关;
[0047] 基于所述第一结点以及所述拓扑结构,确定第二结点,所述第二结点为所述第一结点的相邻结点;
[0048] 当所述第二结点是已检测结点,和/或当从所述起始交换机结点到所述第二结点的路径不满足所述时延需求,丢包率需求或带宽需求时;直接返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0049] 当所述第二结点不是已检测结点,且从所述起始交换机结点到第二结点的路径满足所述时延需求,丢包率需求和带宽需求时,判断所述第二结点是否为待检测结点;
[0050] 若所述第二结点不是待检测结点,将所述第二结点标记为待检测结点,设置其父结点为所述第一结点,并计算所述第二结点的已知传输代价,期望传输代价值以及总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0051] 若所述第二结点是待检测结点,且所述第二结点的已知传输代价小于当前最小的已知传输代价,则更新当前最小的已知传输代价,设置所述第一结点为所述第二结点的父结点,并重新计算所述第二结点的总传输代价,返回遍历所述待检测结点,基于所述传输代价函数,确定第一结点的步骤;
[0052] 当所述终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定所述目标传输路径。
[0053] 可选的,所述第二确定模块,具体用于:
[0054] 基于所述父结点关系,确定所述终止交换机结点的父结点,作为第三结点;
[0055] 基于所述父结点关系,确定所述第三结点的父结点,作为新的第三结点,并重新执行确定所述第三结点的父结点的步骤,直至确定所述起始交换机结点为第三结点;
[0056] 确定以所述起始交换机结点为起点,以所述终止交换机结点为终点,且包含所述第三结点的路径,作为目标传输路径。
[0057] 为了实现上述目的,本发明实施例还提供了一种电子设备,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0058] 存储器,用于存放计算机程序
[0059] 处理器,用于执行存储器上所存放的程序时,实现上述任一基于软件定义网络的数据流传输方法步骤。
[0060] 为了实现上述目的,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一方法步骤。
[0061] 应用本发明实施例提供的基于软件定义网络的数据流传输方法及装置,确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止结点,时延需求,丢包率需求,带宽需求;获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗,基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径;将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。可见,综合考虑了传输目标数据流的时延,丢包率以及动态能耗,在满足目标数据流的时延,丢包率需求前提下,最大限度的降低网络能耗。
[0062] 当然,实施本发明的任一产品或方法并不一定需要同时达到以上的所有优点。附图说明
[0063] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064] 图1为本发明实施例提供的基于软件定义网络的数据流传输方法的一种流程示意图;
[0065] 图2为本发明实施例提供的基于软件定义网络的数据流传输方法的另一种流程示意图;
[0066] 图3为本发明实施例提供的基于软件定义网络的数据流传输装置的一种结构示意图;
[0067] 图4为本发明实施例提供的电子设备的一种结构示意图。

具体实施方式

[0068] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069] 为了在满足业务数据流的服务需求前提下,尽可能减少网络能耗,本发明实施例提供了一种基于软件定义网络的数据流传输方法、装置、电子设备及计算机可读存储介质。
[0070] 为了便于理解,下面先对本发明实施例的应用场景进行说明。
[0071] 本发明实施例可以应用于软件定义网络这种新型网络形式,其中,软件定义网络将控制平面和数据平面分离,当数据流到来时,控制平面基于网络可用资源和数据量QoS需求为数据流计算路径计算,即控制平面为数据流计算出一条最佳路径,并下发相应的流表给数据平面,数据平面包含的交换机根据流表对数据流进行转发。本发明实施例提供的基于软件定义网络的数据流传输方法可以应用于控制平面,即控制平面根据本发明实施例提供的数据传输方法为数据流计算最佳传输路径,并指示交换机按照最佳传输路径对数据流进行传输。
[0072] 参见图1,本发明实施例提供的基于软件定义网络的数据流传输方法可以包括以下步骤:
[0073] S101:确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求。
[0074] 本发明实施例中,目标数据流表示当前要传输的数据流,控制平面可以先获取该目标数据流的传输需求信息,可以包括起始结点,终止结点,时延需求,丢包率需求,带宽需求。其中,本发明实施例中的结点均表示交换机结点,例如OpenFlow交换机。
[0075] 时延需求表示目标数据流针对传输时延的需求,例如目标数据流从起始结点传输至终止结点的传输时延不超过设定的最大时延;丢包率需求表示目标数据流对传输过程中丢包率的需求,例如,目标数据流传输过程的丢包率不超过设定的最大丢包率;带宽需求表示目标数据流对传输路径的带宽的需求,例如目标数据流从起始结点到终止结点的路径中每一条链路的可用带宽均不小于设定的最小带宽。
[0076] 本发明实施例中,目标数据流的流表中已包含上述传输需求信息,控制平面可以采用SDN领域相关技术从流表中获取目标数据流的传输需求信息。
[0077] S102:获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗。
[0078] 本发明实施例中,网络可以看做一系列结点和链路的集合,即可以用G=(N,L)表示,N表示结点的集合,L表示链路的集合,其中,链路表示的是相邻结点间直接相连的传输线路。
[0079] 本发明实施例中,设i,j表示网络中的任意两个相邻结点,(i,j)表示结点i和结点j之间的链路,即(i,j)∈L。
[0080] 进而,可以用d(i,j)表示链路时延,l(i,j)表示链路丢包率,b(i,j)表示链路可用带宽,e(i,j)表示链路动态能耗,链路动态能耗是与链路的传输速率正相关的,即传输速率越大,则链路动态能耗越大。
[0081] 本发明实施例中,控制平面可采用SDN领域相关技术确定网络拓扑结构,以及每条链路的链路性能参数,在此不赘述。
[0082] 本发明实施例中,不限定S101和S102的执行顺序。
[0083] S103:基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,目标传输路径为以起始交换机结点为起点,以终止交换机结点为终点的传输路径中传输代价值最小的传输路径。
[0084] 本发明实施例中,为了衡量路径的传输质量指标,可以预先构建传输代价函数。具体的,可以针对路径时延,丢包率,能耗进行加权,作为该路径的传输代价,容易理解的,路径的传输代价越小,说明采用该路径传输目标数据流的传输质量越好。
[0085] 在本发明的一种实施例中,预先构建的传输代价函数可以表示为:
[0086]
[0087] d(p)=∑(i,j)∈pd(i,j)
[0088] l(p)=1-∏(i,j)∈p(1-l(i,j))
[0089] e(p)=∑(i,j)∈pe(i,j)
[0090] 其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,α,β和γ的值可以根据实际情况进行设定,通常可以设定为大于1的数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
[0091] 其中,时延,丢包率和能耗的加权系数可以自行设定,举例来讲,若时延的重要程度大于丢包率,则可以设定α的值大于100·β2值。本发明实施例中,可以根据实际情况设定时延,丢包率和能耗的加权系数,相应的,传输代价函数也会发生变化,对此不做限定。
[0092] 本发明实施例中,路径包含了多个链路,例如,对于结点1-结点2-结点3-结点4的路径,即包含了结点1到结点2的链路,结点2到结点3的链路,结点3到结点4的链路。因此,路径的时延,丢包率和能耗均可以用路径中包含的每条链路的时延,丢包率和能耗来表示。
[0093] 具体的,针对路径p,时延可以表示为d(p)=∑(i,j)∈pd(i,j),其中,d(p)表示路径p的时延,
[0094] 路径丢包率可以表示为l(p)=1-∏(i,j)∈p(1-l(i,j)),其中,
[0095] 路径能耗可以表示为e(p)=∑(i,j)∈pe(i,j)
[0096] 本发明实施例中,针对目标数据流,可以确定大量的以起始结点为起点,以终止结点为终点的传输路径,记为候选传输路径,在这些候选传输路径中,会有部分传输路径不满足目标数据流的传输需求。可以从候选传输路径中筛选出符合传输需求的传输路径。
[0097] 具体的,针对每个候选传输路径,判断是否满足目标数据流的传输需求信息,若出现路径时延超过目标数据流所设定的最大时延,和/或路径丢包率超过目标数据流所设定的最大丢包率,和/或路径中包含的某一链路的可用带宽低于目标数据流所设定的最小带宽的情况,则候选传输路径不满足传输目标数据流的传输需求。针对能够满足传输需求的各个候选传输路径,可用将其链路性能参数代入传输代价函数,得到传输代价值,并将传输代价值最小的候选传输路径确定为目标传输路径。
[0098] 当然,本发明实施例为目标数据流查找最佳传输路径的方法并不限于遍历每条传输路径,还可以采用其他方法,例如,图2所示实施例中,详细介绍了另一种确定最佳传输路径的方法,图2所示实施例在下文进行介绍,此处不赘述。
[0099] S104:将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。
[0100] 本发明实施例中,控制平面为目标数据流确定出最佳传输路径后,可以采用SDN领域的相关技术,控制交换机结点按照最佳传输路径传输目标数据流,例如,将最佳传输路径以流表的方式下发至交换机结点,从而交换机结点根据流表中包含的最佳传输路径对目标数据流进行转发。
[0101] 应用本发明实施例提供的基于软件定义网络的数据流传输方法,确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止结点,时延需求,丢包率需求,带宽需求;获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗,基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径;将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。可见,综合考虑了传输目标数据流的时延,丢包率以及动态能耗,在满足目标数据流的时延,丢包率需求前提下,最大限度的降低网络能耗。
[0102] 在本发明的一种实施例中,参见图2,上述步骤S103,具体可以包括以下细化步骤:
[0103] S201:确定拓扑结构中任意两个交换机结点之间的最短路径。
[0104] 本步骤中,可以基于拓扑结构确定任意两个结点之间的最短路径,两个结点之间的最短路径表示这两个结点之间的包含链路数目最少的路径。
[0105] S202:将起始交换机结点标记为待检测结点。
[0106] 其中,待检测结点表示待计算总传输代价的结点。
[0107] S203:遍历待检测结点,基于传输代价函数,确定第一结点,并将第一结点标记为已检测结点;第一结点为总传输代价最小的结点;总传输代价包括已知传输代价和期望传输代价,已知传输代价表示从起始交换机结点到待检测结点的路径的真实传输代价,期望传输代价表示从待检测结点到终止交换机结点的路径的期望传输代价;期望传输代价与从待检测结点到终止交换机结点的最短路径包含的链路总数正相关。
[0108] 本发明实施例中,在每一轮查找过程中,均遍历待检测结点,基于传输代价函数,计算每个待检测结点的总传输代价,进而确定第一结点,第一结点是当前待检测结点中总传输代价最小的结点。其中,总传输代价可以用F表示,包含两个部分,第一个部分是从起始交换机结点到当前待检测结点的路径的真实传输代价,可以用G来表示,由于起始交换机结点到当前待检测结点的路径是已知的,且各个链路的链路性能参数也是已知的,因此从起始交换机结点到当前待检测结点的路径的传输代价是真实计算的。另一部分是从当前待检测结点到终止交换机结点的路径的期望传输代价,可以用H来表示,这部分的传输代价是估计得到的,且期望传输代价与从待检测结点到终止交换机结点的最短路径包含的链路总数正相关,举例来讲,可以用从当前待检测结点到终止交换机结点的最短路径包含的链路数目乘以预设的单条链路的传输代价值来估计H值,通常,H值估计的越小,检测的结点越多,运行速度越慢,但寻找的路径更优。因此,可以根据实际需求估计H值。
[0109] 本步骤中,在查找到第一结点后,可以将其标记为已检测结点,则后续检测结点过程不用再检测该第一结点。
[0110] S204:基于第一结点以及拓扑结构,确定第二结点,第二结点为第一结点的相邻结点;
[0111] 本步骤中,可以获取第一结点的一个相邻结点,作为第二结点。
[0112] S205:判断第二结点是否为已检测结点,以及从起始交换机结点到第二结点的路径是否满足时延需求,丢包率需求和带宽需求,若第二结点为已检测结点,和/或从起始结点到第二结点的路径不满足时延需求,丢包率需求或带宽需求时,直接返回S203;若第二结点不是已检测结点,且从起始结点到第二结点的路径满足时延需求,丢包率需求和带宽需求时,执行S206。
[0113] 本步骤中,判断第二结点是否为已检测结点,且判断从起始交换机结点到第二结点的路径是否满足时延需求,丢包率需求和带宽需求。
[0114] 容易理解的,如果第二结点是已检测结点,则无需再对其检测,直接返回步骤S203,重新遍历待检测结点,确定新的第一结点。此外,若从起始交换机结点到第二结点的路径不满足时延需求,丢包率需求和带宽需求中的任一需求时,则说明该第二结点不符合需求,也返回步骤S203,重新遍历待检测结点,确定新的第一结点。图2中条件1可以包括三个子条件,第一个子条件:第二结点是已检测结点;第二个子条件:从起始结点到第二结点的路径不满足时延需求,丢包率需求或带宽需求;第三个子条件:第二结点是已检测结点,且从起始结点到第二结点的路径不满足时延需求,丢包率需求或带宽需求。即只要满足三个子条件中任意一个,则返回步骤S203。
[0115] 若第二结点不是已检测结点,且从起始结点到第二结点的路径满足时延需求,丢包率需求和带宽需求时,说明当前第二结点是符合需求的,可以继续检测。图2中用条件2表示第二结点不是已检测结点,且从起始结点到第二结点的路径满足时延需求,丢包率需求和带宽需求。
[0116] S206:判断第二结点是否为待检测结点,若不是待检测结点,则执行S207;若是待检测结点,则执行S208。
[0117] S207:将第二结点标记为待检测结点,设置其父结点为第一结点,并计算第二结点的已知传输代价,期望传输代价值以及总传输代价,返回S203。
[0118] 若第二结点不是待检测结点,说明第二结点之前未被检测到,即未计算该第二结点的传输代价,在这种情况下,设置其父结点为第一结点,并计算第二结点的已知传输代价G,期望传输代价H和真实传输代价F,并返回步骤S203,重新遍历待检测结点,确定新的第一结点。
[0119] S208:判断第二结点的已知传输代价是否小于当前最小的已知传输代价,若是,则执行S209。若否,则返回S203。
[0120] S209:更新当前最小的已知传输代价,设置第一结点为第二结点的父结点,并重新计算第二结点的总传输代价,返回S203。
[0121] 若第二结点的已知传输代价小于当前最小的已知传输代价,则说明从起始交换机结点到当前第二结点的路径为当前最佳路径,则更新当前最小的已知传输代价,设置第一结点为第二结点的父结点,并重新计算第二结点的总传输代价,返回步骤S203,重新遍历待检测结点,确定新的第一结点。
[0122] S210:当终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定目标传输路径。
[0123] 基于上述步骤进行迭代查询,当终止交换机结点被标记为已检测结点,则表明已查询得到从起始交换机结点到终止交换机结点的最佳传输路径,也即目标传输路径。可以基于迭代过程中生成的父结点关系,确定目标传输路径。
[0124] 具体的,基于迭代过程中生成的父结点关系,确定目标传输路径的步骤,可以包括以下细化步骤:
[0125] 步骤a:基于父结点关系,确定终止交换机结点的父结点,作为第三结点。
[0126] 步骤b:基于父结点关系,确定第三结点的父结点,作为新的第三结点,重新确定第三结点的父结点,直至确定起始交换机结点为第三结点。
[0127] 步骤c:确定以起始交换机结点为起点,以终止交换机结点为终点,且包含第三结点的路径,作为目标传输路径。
[0128] 具体的,从终止交换机结点开始,依次寻找父结点,直到寻找到起始交换机结点。则以起始交换机结点为起点,以终止交换机结点为终点,且包含第三结点的路径,即为目标传输路径。
[0129] 可见,采用图2所示方法步骤,基于迭代查找的思想,每次查找传输代价最小的结点,直到查找到终止交换机结点,能够在保证满足数据流传输需求的前提下,找到最佳传输路径,从而尽可能的降低网络能耗。
[0130] 相应于本发明实施例提供的基于软件定义网络的数据流传输方法实施例,本发明实施例提供了一种基于软件定义网络的数据流传输装置,参见图3,可以包括如下模块:
[0131] 第一确定模块301,用于确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
[0132] 获取模块302,用于获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
[0133] 第二确定模块303,用于基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,目标传输路径为以起始交换机结点为起点,以终止交换机结点为终点的传输路径中传输代价最小的传输路径;
[0134] 发送模块304,用于将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。
[0135] 在本发明的一种实施例中,传输代价函数为:
[0136]
[0137] d(p)=∑(i,j)∈pd(i,j)
[0138] l(p)=1-∏(i,j)∈p(1-l(i,j))
[0139] e(p)=∑(i,j)∈pe(i,j)
[0140] 其中,p表示传输路径,f(p)表示传输路径p的传输代价,α表示第一预设加权系数,β表示第二预设加权系数,γ表示第三预设加权系数,d(p)表示传输路径p的时延,l(p)表示传输路径p的丢包率,e(p)表示传输路径p的动态能耗,(i,j)表示传输路径p中的一条传输链路,d(i,j)表示传输链路(i,j)的时延,l(i,j)表示传输链路(i,j)的丢包率,e(i,j)表示传输链路(i,j)的动态能耗。
[0141] 在本发明的一种实施例中,第二确定模块303,具体用于:
[0142] 确定拓扑结构中任意两个交换机结点之间的最短路径;
[0143] 将起始交换机结点标记为待检测结点;
[0144] 遍历待检测结点,基于传输代价函数,确定第一结点,并将第一结点标记为已检测结点;第一结点为总传输代价最小的结点;总传输代价包括已知传输代价和期望传输代价,已知传输代价表示从起始交换机结点到待检测结点的路径的真实传输代价,期望传输代价表示从待检测结点到终止交换机结点的路径的期望传输代价;期望传输代价与从待检测结点到终止交换机结点的最短路径包含的链路总数正相关;
[0145] 基于第一结点以及拓扑结构,确定第二结点,第二结点为第一结点的相邻结点;
[0146] 当第二结点是已检测结点,和/或当从起始交换机结点到第二结点的路径不满足时延需求,丢包率需求或带宽需求时;直接返回遍历待检测结点,基于传输代价函数,确定第一结点的步骤;
[0147] 当第二结点不是已检测结点,且从起始交换机结点到第二结点的路径满足时延需求,丢包率需求和带宽需求时,判断第二结点是否为待检测结点;
[0148] 若第二结点不是待检测结点,将第二结点标记为待检测结点,设置其父结点为第一结点,并计算第二结点的已知传输代价,期望传输代价值以及总传输代价,返回遍历待检测结点,基于传输代价函数,确定第一结点的步骤;
[0149] 若第二结点是待检测结点,且第二结点的已知传输代价小于当前最小的已知传输代价,则更新当前最小的已知传输代价,设置第一结点为第二结点的父结点,并重新计算第二结点的总传输代价,返回遍历待检测结点,基于传输代价函数,确定第一结点的步骤;
[0150] 当终止交换机结点被标记为已检测结点,则基于迭代过程中生成的父结点关系,确定目标传输路径。
[0151] 在本发明的一种实施例中,第二确定模块303,具体用于:
[0152] 基于父结点关系,确定终止交换机结点的父结点,作为第三结点;
[0153] 基于父结点关系,确定第三结点的父结点,作为新的第三结点,并重新执行确定第三结点的父结点的步骤,直至确定起始交换机结点为第三结点;
[0154] 确定以起始交换机结点为起点,以终止交换机结点为终点,且包含第三结点的路径,作为目标传输路径。
[0155] 应用本发明实施例提供的基于软件定义网络的数据流传输装置,确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止结点,时延需求,丢包率需求,带宽需求;获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗,基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径;将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。可见,综合考虑了传输目标数据流的时延,丢包率以及动态能耗,在满足目标数据流的时延,丢包率需求前提下,最大限度的降低网络能耗。
[0156] 相应于本发明实施例提供的基于软件定义网络的数据流传输方法实施例,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
[0157] 存储器403,用于存放计算机程序;
[0158] 处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
[0159] 确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止交换机结点,时延需求,丢包率需求,带宽需求;
[0160] 获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗;
[0161] 基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径,目标传输路径为以起始交换机结点为起点,以终止交换机结点为终点的传输路径中传输代价最小的传输路径;
[0162] 将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。
[0163] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0164] 通信接口用于上述电子设备与其他设备之间的通信。
[0165] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0166] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0167] 应用本发明实施例提供的电子设备,确定目标数据流的传输需求信息,传输需求信息包括:起始交换机结点,终止结点,时延需求,丢包率需求,带宽需求;获取包含交换机结点和交换机结点间链路的网络拓扑结构,以及每条链路的链路性能参数,链路性能参数包括:链路时延,链路丢包率,链路可用带宽,链路动态能耗,基于传输需求信息,链路性能参数,以及预先构建的传输代价函数,确定目标传输路径;将目标传输路径发送至交换机结点,以使交换机结点按照目标传输路径传输数据流。可见,综合考虑了传输目标数据流的时延,丢包率以及动态能耗,在满足目标数据流的时延,丢包率需求前提下,最大限度的降低网络能耗。
[0168] 本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一方法步骤。
[0169] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0170] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于基于软件定义网络的数据流传输装置、电子设备和计算机可读存储介质实施例,由于其基本相似于基于软件定义网络的数据流传输方法实施例,所以描述的比较简单,相关之处参见基于软件定义网络的数据流传输方法实施例的部分说明即可。
[0171] 以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈