多媒体数据流传输优化方法及SDN控制器与流程

文档序号:14391976阅读:266来源:国知局
多媒体数据流传输优化方法及SDN控制器与流程

本发明实施例涉及通信领域,具体而言,涉及一种基于软件定义网络(softwaredefinednetwork,sdn)之多媒体数据流传输优化方法及sdn控制器。



背景技术:

高清晰度音、视频等多媒体文件在互联网中的传播份额日益增长,如在线电视、在线电视会议等。然,多媒体数据流的网络传输速度仍然不能满足人们的现实需求。



技术实现要素:

有鉴于此,本发明目的是提供一种基于软件定义网络(sdn)之多媒体数据流传输优化方法,用于提升多媒体数据流在网络中的传输效率。

有鉴于此,本发明目的是提供一种sdn控制器,用于提升多媒体数据流在网络中的传输效率。

本发明目的还提供一种多媒体数据流传输优化方法,应用于网络拓扑中的sdn控制器中,所述网络拓扑包括多个转发设备,所述多个转发设备中至少包括一个第一转发设备,该第一转发设备包括所述sdn控制器下发的用于监控多媒体数据流的第一流表。所述方法包括:当接收到所述第一转发设备上报其监控到多媒体数据流的第一上报信息时:根据所述第一上报信息,分析出所述多媒体数据流的目的设备;根据所述网络拓扑,分析得到所述第一转发设备和所述目的设备之间的多条传输路线;为所述多媒体数据流分配所述多条传输路线中的至少两条传输路线;及配置使用于所述至少两条传输路线的第二流表并将所述第二流表应用于所述至少两条传输路线上的转发设备中,以使所述多媒体数据流被所述第一转发设备分流到所述至少两条传输路线中,以形成至少两个子流,每个所述子流沿对应之传输路线到达所述目的设备中。

本发明实施例还提供了一种sdn控制器,sdn控制器,位于网络拓扑中,所述网络拓扑包括多个转发设备,所述多个转发设备中至少包括一个第一转发设备,该第一转发设备包括所述sdn控制器下发的用于监控多媒体数据流的第一流表,所述sdn控制器包括接收模块、第一分析模块、第二分析模块、分配模块和部署模块。其中:所述接收模块用于接收所述第一转发设备上报其监控到多媒体数据流的第一上报信息。所述第一分析模块,用于根据所述第一上报信息,分析出所述多媒体数据流的目的设备。所述第二分析模块,用于根据所述网络拓扑,分析得到所述第一转发设备和所述目的设备之间的多条传输路线。所述分配模块,用于为所述多媒体数据流分配所述多条传输路线中的至少两条传输路线。所述部署模块,用于生成使用于所述至少两条传输路线的第二流表并将所述第二流表应用于所述至少两条传输路线上的转发设备中,以使所述多媒体数据流被所述第一转发设备分流到所述至少两条传输路线中,以形成至少两个子流,每个所述子流沿对应之传输路线到达所述目的设备中。

本发明实施例之基于软件定义网络(sdn)之多媒体数据流传输优化方法利用已知的开放流(openflow)技术标准协议(例如,onf-ofpi),取得网络拓扑相关信息和多媒体数据流相关信息,将监测到的多媒体数据流分成多个子流并分别导入到不同的被预先规划的传输路线中,从而实现了多媒体数据流的多路并行传输,有效提升了多媒体数据流的传输效率。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1是本发明实施例之网络拓扑的示意图。

图2是本发明实施例之sdn控制器的功能模块图。

图3是本发明实施例通过福特-福克森算法遍历到的传输路线的示意图。

图4是本发明实施例之多媒体数据流传输优化方法的步骤流程图。

图5是本发明实施例之多媒体数据流传输优化方法之分配步骤的步骤流程图。

图6是本发明另一实施例之多媒体数据流传输优化方法的步骤流程图。

图7本发明实施例之第二转发设备在第三流表控制下的多媒体数据块处理流程图。

主要元件符号说明

数据流传输优化系统10

存储器20

处理器30

网络拓扑100

sdn控制器110

多媒体源112

目的设备114

转发设备122、124、126、128、130、132、134、136、138、140

接收模块210

第一分析模块212

第二分析模块214

分配模块216

监测模块216a

量化模块216b

选择模块216c

配置模块216d

部署模块218

调整模块220

传输路线a-d

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

图1是本发明实施例之网络拓扑图,所述网络拓扑100包括至少一个sdn控制器110、以及与sdn控制器110直接或间接连接的多个转发设备122、124、126、128、130、132、134、136、138及140。在本实施例中,多个转发设备122-140中分别包括sdn控制器110下发的用于监控多媒体数据流的第一流表。其中,第一转发设备122连接于多媒体源112,第二转发设备140连接于目的设备114,当多媒体源112向目的设备114发送多媒体文件时,其传输的多媒体数据流起始流向第一转发设备122,并经由部分中间的转发设备转发之后,进入第二转发设备140,最后经由第二转发设备140转发至目的设备114中。

多媒体源112可以是服务器,或具有存储功能的其它电子设备。

目的设备114可以是个人计算机、平板计算机、移动电话或机顶盒等电子设备。

转发设备122-140可以是支持openflow协议的交换机、路由器、ap或其它网络转发装置。

本发明实施例之基于软件定义网络(sdn)之多媒体数据流传输优化方法利用已知的开放流(openflow)技术标准协议(例如,onf-ofpi),取得网络拓扑相关信息和多媒体数据流相关信息,将监测到的多媒体数据流分成多个子流并分别导入到不同的被预先规划的传输路线中,从而实现了多媒体数据流的多路并行传输,有效提升了多媒体数据流的传输效率。

本发明实施例所指的多媒体数据流优选为基于实时传输协议(real-timetransportprotocol,rtp)的多媒体数据流,简称rtp数据流,其是以rtp封包为单位进行数据的传输,该rtp封包也可以称之为基于rtp协议的多媒体数据块。本发明也可以基于其它传输协议的多媒体数据流。

图2是本发明实施例之sdn控制器110的功能模块图。该sdn控制器110包括数据流传输优化系统10、存储器20和处理器30。数据流传输优化系统10包括接收模块210、第一分析模块212、第二分析模块214、分配模块216、部署模块218和调整模块220。所述分配模块216包括监测模块216a、量化模块216b、选择模块216c及配置模块216d。所述模块210-220被配置成由一个或多个处理器(本实施例为处理器30)执行,以完成本发明实施例。本发明实施例所称的模块是完成一特定功能的计算机程序段。存储器20用于存储数据流传输优化系统10的程序代码资料。

接收模块210,接收第一转发设备122上报其监控到多媒体数据流的第一上报信息。该第一上报信息至少包括该多媒体数据流的源地址、源端口号、目的地址及目的端口号等。

需要说明的,sdn控制器110预先向网络拓扑100中各个转发设备(如,122、124、…)下发了用于监测多媒体数据流的第一流表,这些转发设备会对流经的报文进行解析以监控该报文是否是属于多媒体数据流。之后,将监测到的信息上传或上报给sdn控制器110。

第一分析模块212,根据第一上报信息,分析得到所述多媒体数据流的目的设备114。在本发明实施例中,第一分析模块212根据第一上报信息中的目的地址及目的端口号,得到所述多媒体数据流的目的设备114。

第二分析模块214,根据所网络拓扑100,分析得到第一转发设备122和目的设备114之间的多条传输路线。

在本实施例中,第二分析模块214可以根据福特-福克森(ford-fulkerson)算法,遍历出第一转发设备122和目的设备114之间多条传输路线(不相交路线),图3为ford-fulkerson算法推导出的4条传输路线a-d。在另一实施例中,第二分析模块214可以先遍历出第一转发设备122和目的设备114之间所有传输路线。

分配模块216,为所述多媒体数据流分配所述多条传输路线中的至少两条传输路线。分配模块216可以从所述多条传输路线中选择传输质量较好且互相之间没有共用路段的至少两条以上传输路线。

在一优选实施例中,分配模块216包括监测模块216a、量化模块216b、选择模块216c及配置模块216d。监测模块216a可以根据多个因子评测每条传输路线(如图3所示的a、b、c、d)的服务质量。所述因子包括丢包率(packetlostratio)、可用带宽(availablebandwidth),但不以此为限。量化模块216b量化每条传输路线的服务质量,以得到每条传输路线的服务质量数值。若以每条传输路线的可用带宽做为服务质量的唯一评价因子,如图3所示,传输路线a的服务质量数值为85,传输路线b的服务质量数值为75,传输路线c的服务质量数值为150,传输路线d的服务质量数值为20。选择模块216c,根据每条传输路线的服务质量数值,从所述多条传输路线中选择所述至少两条传输路线,以及分析得到所述至少两条传输路线之间的服务质量数值之比例。如图3所示,如果选择两条传输路线,则可以选择传输路线a和传输路线c。如果选择三条传输路线,则可以选择传输路线a、传输路线b和传输路线c。根据传输路线a、b、c的服务质量数值可知,传输路线a、b、c之间的服务质量数值之比例大约为28%:24%:48%。配置模块216d为所述多媒体数据流配置所述至少两条传输路线,并依据服务质量数值之比例配置所述至少两条传输路线中每条传输路线的数据传输参数。数据传输参数包括数据吞吐量、数据块(传输)转发速度等。以数据吞吐量为例,若为所述多媒体数据流配置传输路线a、传输路线b及传输路线c,则可以依据服务质量数值之比例(28%:24%:48%)来设定第一转发设备122导入到各条传输路线中的数据吞吐量。

部署模块218根据开放流(openflow)协议,生成使用于所述至少两条传输路线的第二流表并将所述第二流表应用于所述至少两条传输路线上的转发设备中,以使所述多媒体数据流被所述第一转发设备分流到所述至少两条传输路线中,以形成至少两个子流,每个所述子流沿对应之传输路线到达所述目的设备114中。

在本实施例中,如果分配模块216为所述多媒体数据流分配传输路线a和传输路线c,则生成使用于传输路线a及c的第一流表。该第一流表可以为一个,其可以以总表形式下发到传输路线a及c的转发设备(122、132、138、134、140、124、126)上。该第一流表也可以为多个,即为传输路线a及c的转发设备分别生成一个第一流表,所生成的每个第一流表被下发到对应的转发设备中。

第一转发设备122根据第一流表内的转发规则,将所述多媒体数据流分流到所述至少两条传输路线中传输路线a的第一子流和导向传输路线b的第二子流。

在一个优选实施例中,如图3所示,所述多个转发设备中包括有第二转发设备140。该第二转发设备140为多媒体数据流被分流后的各个子流的汇聚节点,且汇聚各个子流后,将各个子流的多媒体数据块转发至目的设备114。为解决多媒体数据块传输过程中导致的乱序问题,sdn控制器110对第二转发设备140以下发流表形式实施控制策略,以使该第二转发设备140预先对各个子流中的多媒体数据块进行重排后,依序转发给目的设备114。具体可以参考如下:

部署模块218,生成用于多媒体数据块排序的第三流表并将所述第三流表应用于所述第二转发设备140。其中,所述第三流表用于控制所述第二转发设备140:对所述多媒体数据流中的各个多媒体数据块进行排序,并依序转发各个多媒体数据块至所述目的设备114。进一步的,该第三流表可以控制或引导第二转发设备140:

a、比较接收到的一个多媒体数据块的次序号与该多媒体数据流中被第二转发设备140最新转发的一个多媒体数据块的次序号的下一个次序号否相同;

b、依据比较结果,进行相应的操作:

如果相同,将该接收到的该一个多媒体数据块转发至目的设备114;

如果不相同,将该接收到的该一个多媒体数据块保存在预先设置的暂存区域,该暂存区域内保存的多媒体数据块的次序号用于轮流和该多媒体数据流中被所述第二转发设备140最新转发的一个多媒体数据块的次序号的下一个次序号进行比较,以判断是否要将所述暂存区域的一个或多个多媒体数据块转发至所述目的设备114。

在一个优选实施例中,为进一步优化传输效率,部署模块218还用于生成用于监控所述多媒体数据流传输状况的第四流表并将所述第四流表应用于所述第二转发设备140。接收模块210接收第二转发设备140上报的每个所述子流传输状况的第二上报信息,该第二上报信息包括多媒体数据块乱序率、多媒体数据块丢失率、多媒体数据块传输延时等。调整模块220根据该第二上报信息,调整第二流表并将调整后的第二流表应用于与该第二流表关联的转发设备中。

在本优选实施例中,调整模块220会对第二流表进行调整,例如,在第二流表中,修改第一转发设备122转发至各个子流(传输路线)的多媒体数据块的转发效率(转发速度)的规则参数。或者,在第二流表中,更新传输路线等。

图4是本发明实施例之多媒体数据流传输优化方法的步骤流程图。该方法的执行可以为如图2所示的sdn控制器110,也可以是支持本方法的任意其它控制器。下面以sdn控制器为执行主体进行示例性描述。

步骤s300,接收第一转发设备上报其监控到多媒体数据流的第一上报信息。

步骤s302,根据所述第一上报信息,分析得到所述多媒体数据流的目的设备。

步骤s304,根据所述网络拓扑,分析得到所述第一转发设备和所述目的设备之间的多条传输路线。

在本实施例中,如图5所示,该步骤s304具体包括步骤s500-s506。其中,步骤s500、监测所述多条传输路线的服务质量。步骤s502、量化每条传输路线的服务质量,以得到每条传输路线的服务质量数值。步骤s504、根据每条传输路线的服务质量数值,从所述多条传输路线中选择所述至少两条传输路线,以及分析得到所述至少两条传输路线之间的服务质量数值之比例。步骤s506、为所述多媒体数据流配置所述至少两条传输路线,并依据所述服务质量数值之比例配置所述至少两条传输路线中每条传输路线的数据传输参数。

步骤s306,为所述多媒体数据流分配所述多条传输路线中的至少两条传输路线。

步骤s308,生成使用于所述至少两条传输路线的第二流表并将所述第二流表应用于所述至少两条传输路线上的转发设备中,以使所述多媒体数据流被所述第一转发设备分流到所述至少两条传输路线中,以形成至少两个子流,每个所述子流沿对应之传输路线到达所述目的设备中。

图6是本发明另一实施例之多媒体数据流传输优化方法的步骤流程图。在该实施例中,所述多个转发设备中包括第二转发设备,所述多媒体数据流被分流后汇聚于所述第二转发设备并经由所述第二转发设备转发至所述目的设备,其中,所述多媒体数据流有多媒体数据块组成。

步骤s400,接收第一转发设备上报其监控到多媒体数据流的第一上报信息。

步骤s402,根据所述第一上报信息,分析得到所述多媒体数据流的目的设备。

步骤s404,根据所述网络拓扑,分析得到所述第一转发设备和所述目的设备之间的多条传输路线。

步骤s406,为所述多媒体数据流分配所述多条传输路线中的至少两条传输路线。

步骤s408,生成使用于所述至少两条传输路线的第二流表并将所述第二流表应用于所述至少两条传输路线上的转发设备中,以使所述多媒体数据流被所述第一转发设备分流到所述至少两条传输路线中,以形成至少两个子流,每个所述子流沿对应之传输路线到达所述目的设备中。

步骤s410,生成用于多媒体数据块排序的第三流表并将所述第三流表应用于所述第二转发设备。其中,所述第三流表用于控制所述第二转发设备:对所述多媒体数据流中的各个多媒体数据块进行排序,并依序转发各个所述多媒体数据块至所述目的设备。

如图7所示,根据第三流表,第二转发设备进行如下步骤:

步骤s600、比较接收到的一个多媒体数据块的次序号sn与该多媒体数据流中被所述第二转发设备最新转发的一个多媒体数据块的次序号的下一个次序号i。

步骤s602、判断sn和i是否相同,如果相同,进入步骤s604;如果不同进入步骤s606。

步骤s604、将该接收到的该一个多媒体数据块转发至目的设备,i加1。

步骤s606、将该接收到的该一个多媒体数据块保存在预先设置的暂存区域。该暂存区域包括该一个多媒体数据块和保存在该暂存区域内的未被转发的其它多媒体数据块,依据根据先进先出原则,将该一个多媒体数据块和保存在该暂存区域内的未被转发的其它多媒体数据块,送入到步骤s600中进行比较。

重复执行步骤s600-s606,直至所述多媒体数据流中的多媒体数据块被转发完毕。

需要说明的是,在步骤s602中还设有一个延时丢包机制,即在预定时间内,步骤s602未能比较得到目标次序号的多媒体数据块,或者说在预定时间内未能进入步骤s604中,将i+1,并继续执行步骤s600-s606,直至所述多媒体数据流的多媒体数据块转发完毕。

步骤s412、生成用于监控所述多媒体数据流传输状况的第四流表并将所述第四流表应用于所述第二转发设备。

步骤s414、接收所述第二转发设备上报的每个所述子流传输状况的第二上报信息,该第二上报信息包括多媒体数据块乱序率和多媒体数据块丢失率。

步骤s416、根据该第二上报信息,调整所述第二流表并将调整后的第二流表应用于与该第二流表关联的转发设备中。

需要说明的是,上文所述实施例,并不构成对发明保护范围的限定。任何在本发明的精神和原则内所作的修改,等同替换和改进等,均应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1