控制器及网络服务动态部署系统及方法与流程

文档序号:14847725发布日期:2018-06-30 16:56阅读:266来源:国知局
控制器及网络服务动态部署系统及方法与流程

本发明涉及一种网络通信技术领域,特别是一种软件定义网络(Software Defined Network,SDN)控制器及一种基于SDN控制器的网络服务动态部署系统及方法。



背景技术:

目前,在网络通信技术领域中,客户端可以通过路由设备或者交换机来从服务器端获取相应的服务。Edge Router无线路由器作为一种路由设备,在网络通信中,其所需要执行的服务项目日益增多。因Edge Router无线路由器自身的硬件效能有其上限,不能很好地满足需求。

一般地,解决路由设备不能满足需要的主要方案有:一、在近端服务的路由设备上,通过需要加装或升级硬件模块的方式来增加新的服务;二、通过远端服务器,利用虚拟机来处理服务,将服务传送至远端服务器,从而通过远端服务器提供相应的服务。

然,对于第一种解决方案,其可以增加的硬件模块有其负载上限。如果想要增加更多的负载量就要增加更多的硬件模块数量。但是,增加更多的硬件模块数量会增加硬件模块成本。对于第二种解决方案,在将服务传送至远端的过程中时会增加时延,从而造成接收端的时延。



技术实现要素:

鉴于以上内容,有必要提供一种SDN控制器及基于SDN控制器的网络服务动态部署系统及方法,可以根据用户请求的服务类型获取相应的网络服务。

本发明实施方式提供一种网络服务动态部署系统,包括SDN控制器、多个SDN交换机、云端服务器及近端服务器。所述多个SDN交换机设置在多个传输路径上。所述SDN控制器与所述多个SDN交换机相连接。所述SDN控制器包括服务管理模块及连接所述服务管理模块的路径管理模块。第一SDN交换机用于接收客户端发送请求的数据包。所述第一SDN交换机还用于将所述数据包发送给所述SDN控制器。所述服务管理模块用于分析所述数据包从而识别所述客户端请求的网络服务的服务类型、及用于根据所述网络服务的服务类型将所述网络服务部署在所述云端服务器上或所述近端服务器上。所述路径管理模块用于根据所述网络服务的服务类型规划最优传输路径、并用于将所述规划的最优传输路径发送给位于所述最优传输路径上的SDN交换机。因此,根据所述客户端请求的服务类型从所述云端服务器或所述近端服务器获取所述网络服务,以满足所述客户端的需求。

优选地,所述路径管理模块包括一判断单元、一计算单元及一管理单元,当所述网络服务的服务类型为一时延敏感类型时,所述路径管理模块规划所述最优传输路径的原理为:所述计算单元计算一最短传输路径P1的开销,所述管理单元将所述最短传输路径P1放入一进程队列中,当所述判断单元判断在所述最短传输路径P1上有一SDN交换机可提供一网络服务时,所述管理单元将所述最短传输路径P1放入一服务队列中,所述管理单元从所述进程队列中取出所述最短传输路径P1,并规划其他的次短传输路径P2~Pk,所述计算单元所述次短传输路径P2~Pk的开销,选出开销最小的次短传输路径Px,所述述管理单元将所述次短传输路径P2~Pk放入所述进程队列中,当所述判断单元判断所述次短传输路径P2~Pk中有一次短传输路径Px的一SDN交换机可提供所述网络服务时,所述管理单元将所述次短传输路径Px放入所述服务队列中、并将所述服务队列中的传输路径根据开销的大小从低到高重新排序。

优选地,当所述网络服务的服务类型为一非时延敏感类型时,所述路径管理模块规划所述最优传输路径的原理为:所述管理单元取出第n条传输路径Pn、并在一传输路径Pm上选取一SDN交换机,使所述SDN交换机连接到所述云端服务器的时延最小,所述计算单元计算所述传输路径Pm的总开销,所述管理单元将所述传输路径P1~Pn放入到所述服务队列中,并根据所述服务队列中的传输路径的开销的大小从低到高重新排序。

本发明实施方式提供一种SDN控制器,应用于包括多个SDN交换机、一云端服务器、近端服务器、及客户端的网络中,所述多个SDN交换机设置在多个传输路径上,所述SDN控制器与所述多个SDN交换机相连接,所述SDN控制器包括服务管理模块及连接所述服务管理模块的路径管理模块,第一SDN交换机用于接收客户端发送请求的数据包,所述第一SDN交换机还用于将所述数据包发送给所述SDN控制器,所述服务管理模块用于分析所述数据包从而识别所述客户端请求的网络服务的服务类型、及用于根据所述网络服务的服务类型将所述网络服务部署在所述云端服务器上或所述近端服务器上,所述路径管理模块用于根据所述网络服务的服务类型规划最优传输路径、并用于将所述规划的最优传输路径发送给位于所述最优传输路径上的SDN交换机,,从而根据所述客户端请求的服务类型从所述云端服务器或所述近端服务器获取所述网络服务,以满足所述客户端的需求。

本发明实施方式提供一种网络服务动态部署方法,包括步骤:接收一客户端发送的数据包;将所述数据包发送给一SDN控制器;分析所述数据包从而识别所述客户端请求的网络服务的服务类型;根据所述网络服务的服务类型将所述网络服务部署在一云端服务器上或一近端服务器上;规划一最优传输路径;及将所述规划的最优传输路径作为一选定传输路径,并将所述规划的最优传输路径发送给位于所述最优传输路径上的SDN交换机。

优选地,在所述步骤“规划一最优传输路径”后,判断是否需要安装所述网络服务。

优选地,在判断需要安装所述网络服务后选择其中一CPU负载最小的SDN交换机安装所述网络服务。

优选地,当所述网络服务的服务类型为一时延敏感类型时,规划所述最优传输路径,具体包括:

计算一最短传输路径P1的开销;

将所述最短传输路径P1放入一进程队列中;

判断在所述最短传输路径P1上是否有一SDN交换机可提供一网络服务;

当判断在所述最短传输路径P1上有一SDN交换机可提供所述网络服务时,将所述最短传输路径P1放入一服务队列中;

从所述进程队列中取出所述最短传输路径P1,并规划其他的次短传输路径P2~Pk;

计算所述次短传输路径P2~Pk的开销,选出开销最小的次短传输路径Px;

将所述次短传输路径P2~Pk放入所述进程队列中;

判断所述次短传输路径P2~Pk中是否有一次短传输路径Px的一SDN交换机可提供所述网络服务;

当所述短传输路径Px的一SDN交换机可提供所述网络服务时,将所述次短传输路径Px放入所述服务队列中;

将所述服务队列中的传输路径根据开销的大小从低到高重新排序。

优选地,当所述网络服务的服务类型为一非时延敏感类型时,规划所述最优传输路径,具体包括,

取出第n条传输路径Pn;

在一传输路径Pm上选取一SDN交换机,使所述SDN交换机连接到所述云端服务器的时延最小;

计算所述传输路径Pm的总开销;

将所述传输路径P1~Pn放入到所述服务队列中,并根据所述服务队列中的传输路径的开销的大小从低到高重新排序。

与现有技术相比,在上述SDN控制器、网络服务动态部署系统及方法中,所述服务管理模块分析所述数据包从而识别所述客户端请求的网络服务的服务类型,并根据所述网络服务的服务类型将所述网络服务部署在所述云端服务器上或所述近端服务器上,所述路径管理模块根据所述网络服务的服务类型规划所述最优传输路径,从而所述客户端根据所述最优传输路径并通过所述SDN交换机从所述云端服务器或所述近端服务器获取所述网络服务,进而满足所述客户端的需求。

附图说明

图1是本发明实施方式之网络服务动态部署系统的功能模块图。

图2是本发明实施方式之SDN控制器的功能模块图。

图3是本发明实施方式之网络服务动态部署方法的步骤流程图。

图4是本发明实施方式之计算SDN交换机的开销的示意图。

图5是本发明实施方式之第一演算法的步骤流程图。

图6是本发明实施方式之第二演算法的步骤流程图。

主要元件符号说明

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

具体实施方式

请参阅图1,网络服务动态部署系统包括SDN(Software Defined Network,软件定义网络)控制器10、多个SDN交换机(switch)、云端服务器30及近端服务器40。所述多个SDN交换机设置在多个传输路径上。所述SDN控制器10与所述多个SDN交换机相连接。

所述SDN控制器10,应用于包括所述若干SDN交换机、所述云端服务器30、所述近端服务器40、及客户端50的网络中。所述云端服务器30及所述近端服务器40分别用于提供相应的网络服务。所述客户端50通过所述若干SDN交换机进行网络通信,从而获取所述网络服务。在一实施例中,所述SDN交换机的数量为6个,分别为一第一SDN交换机A、一第二SDN交换机B、一第三SDN交换机C、一第四SDN交换机D、一第五SDN交换机E及一第六SDN交换机F。

请参阅图2,所述SDN控制器10包括设备管理模块11、服务管理模块13及路径管理模块15。所述设备管理模块11连接所述服务管理模块13及所述路径管理模块15。所述服务管理模块13连接所述路径管理模块15。

所述路径管理模块15包括计时器151、判断单元152、计算单元153、管理单元154及存储单元155。所述存储单元155存储有预设值、进程队列及服务队列。

在一实施例中,所述客户端50用于通过向所述第一SDN交换机A发送数据包以请求网络服务。所述第一SDN交换机A用于将接收到的客户端50的数据包发送给所述SDN控制器10。

所述SDN控制器10的设备管理模块11用于收集所述SDN交换机的资源信息及用于安装所述网络服务。在一实施例中,所述设备管理模块11收集所述SDN交换机的资源信息包括,收集所述SDN交换机上的CPU负载信息及时延信息。所述时延信息包括:一、所述SDN交换机与所述SDN交换机之间进行网络通信的时延信息;二、所述SDN交换机与所述云端服务器30之间进行网络通信的时延信息。

所述服务管理模块13用于管理所述网络服务及部署所述网络服务。具体地,所述服务管理模块13存储有对应所述网络服务的服务类型,所述服务类型包括时延敏感类型及非时延敏感类型。所述服务管理模块13用于识别所述客户端50发送的数据包的服务类型为所述时延敏感类型或者为非时延敏感类型,并用于根据所述客户端50请求的服务类型将所述网络服务部署在所述云端服务器30或从所述近端服务器40上。当所述服务管理模块13判断所述数据包的服务类型为所述时延敏感类型时,所述服务管理模块13将所述网络服务部署在所述近端服务器40上,并发送第一指令给所述路径管理模块15。当所述服务管理模块13判断所述数据包为所述非时延敏感类型时,所述服务管理模块13将所述网络服务部署在所述云端服务器30或从所述近端服务器40上,并发送第二指令给所述路径管理模块15。在一实施例中,所述服务管理模块13存储有对应音频服务或视频服务的服务类型为时延敏感类型,所述服务管理模块13还存储有对应资料下载服务的服务类型为非时延敏感类型。

所述设备管理模块11还用于安装所述网络服务。具体地,当所述网络服务部署在所述云端服务器30或所述近端服务器40上时,所述设备管理模块11用于从所述云端服务器30或从所述近端服务器40上获取所述网络服务并将获取的网络服务安装在一相应的所述SDN交换机上,从而所述客户端50可以通过网络通信从安装有所述网络服务的SDN交换机上获取所述网络服务。

所述路径管理模块15用于根据接收到的指令而采取相应的演算法,从而根据相应的演算法规划最优传输路径。具体地,当所述路径管理模块15接收到所述第一指令时,采取第一演算法。当所述路径管理模块15接收到所述第二指令时,采取第二演算法。

在一实施例中,以开销最短传输路径作为最优传输路径,当所述路径管理模块15接收到所述第一指令时,采取第一演算法规划一最短传输路径。当所述路径管理模块15接收到所述第二指令时,采取一第二演算法规划一最短传输路径。

请参阅图3,一种网络服务动态部署方法,用于通过所述SDN控制器10部署所述网络服务。

步骤S101,所述第一SDN交换机A接收所述客户端50发送的数据包。具体地,所述客户端50通过向所述第一SDN交换机A发送数据包以请求网络服务,从而所述第一SDN交换机A接收所述数据包。

步骤S102,所述第一SDN交换机A将接收到的所述数据包发送给所述SDN控制器10。

步骤S103,所述SDN控制器10的服务管理模块13分析所述数据包以识别所述客户端50请求的网络服务的服务类型。具体地,所述网络服务的服务类型分为:时延敏感类型与非时延敏感类型。

步骤S104,所述服务管理模块13判断所述客户端50请求的的服务类型是否为所述时延敏感类型,如果是,进行步骤S105;否则,进行步骤S112。具体地,当所述服务管理模块13判断所述客户端50请求的服务类型是所述时延敏感类型时,进行所述步骤S105;当所述服务管理模块13判断所述客户端50请求的服务类型是所述非时延敏感类型时,进行所述步骤S112。

步骤S105,所述服务管理模块13发送第一指令给所述路径管理模块15,所述路径管理模块15根据第一演算法,规划最优传输路径。在一实施中,所述最优传输路径为最短传输路径。

步骤S106,所述路径管理模块15的判断单元152判断是否需要安装所述网络服务,如果是,进行步骤S107;否则,进行步骤S110。具体地,如果在所述规划的最短传输路径中没有一个SDN交换机可以提供所述网络服务,则所述判断单元152判断需要安装所述网络服务;如果在所述规划的最短传输路径中有一个SDN交换机可以提供所述网络服务,则所述判断单元152判断不需要安装所述网络服务。

步骤S107,选择其中一SDN交换机安装所述网络服务。具体地,所述服务管理模块13将所述网络服务部署在所述近端服务器40上,所述设备管理模块11在所述最短传输路径上选择一CPU负载最小的SDN交换机、通过网络通信从所述近端服务器40上获取所述网络服务、并将获取的网络服务安装在所述CPU负载最小的SDN交换机。在一实施例中,所述第五SDN交换机E的CPU负载最小,所述设备管理模块11将获取的所述网络服务安装在所述第五SDN交换机E上。

步骤S108,所述管理单元154规划一临时传输路径。具体地,所述临时传输路径用于连接到所述云端服务器30,所述SDN交换机通过所述临时传输路径进行网络通信,从而所述设备管理模块11在所述临时传输路径上选择所述CPU负载最小的SDN交换机、并通过网络通信从所述云端服务器30上获取所述网络服务。

步骤S109,所述判断单元152判断所述设备管理模块11是否完成安装所述网络服务,如果是,进行步骤S110;否则,重复步骤S109。具体地,所述判断单元152不断对所述CPU负载最小的SDN交换机是否完成所述网络通信安装进行判断,直到所述设备管理模块11在所述CPU负载最小的SDN交换机上完成安装所述网络通信。

步骤S110,所述路径管理模块15将所述规划的最优传输路径作为一选定传输路径,并将所述规划的最优传输路径发送给位于所述最优传输路径上的SDN交换机,从而位于所述最优传输路径上的SDN交换机之间可以进行网络通信,进而所述SDN交换机可以从所述云端服务器30或所述近端服务器40获取所述网络服务。

步骤S112,所述服务管理模块13发送第二指令给所述路径管理模块15,所述路径管理模块15根据第二演算法,规划最优传输路径。

在所述网络服务动态部署方法中,当所述客户端50请求的网络服务的服务类型是所述时延敏感类型时,所述服务管理模块11将所述网络服务部署到所述近端服务器40上,从而所述SDN交换机可以通过网络通信从所述近端服务器40上获取所述网络服务,以使所述客户端50根据所述选定传输路径通过所述SDN交换机从所述近端服务器40获取所述网络服务。当所述客户端50请求的网络服务的服务类型是所述非时延敏感类型时,所述服务管理模块13将所述网络服务部署到所述云端服务器30上,从而所述客户端50根据所述选定传输路径通过所述SDN交换机从所述云端服务器30获取所述网络服务。

在进行所述第一演算法时,启动所述计时器151,以使所述计时器151进行计时。

请参阅图5,是本发明实施方式之第一演算法。

步骤S301,所述路径管理模块15的管理单元154根据DSA(Dynamic Service Allocation)演算法规划一最短传输路径P1。

步骤S302,所述路径管理模块15的计算单元153计算所述最短传输路径P1的开销。如图4所示,在一实施例中,所述最短传输路径P1经过所述第一SDN交换机A、所述第二SDN交换机B、所述第五SDN交换机E及所述第六SDN交换机F,其中,所述第五SDN交换机E用于提供所述网络服务给所述客户端50,所述第一SDN交换机A与所述第二SDN交换机B之间的开销为2,所述第二SDN交换机B与所述第三SDN交换机C之间的开销为2,所述第二SDN交换机B与所述第四SDN交换机D之间的开销为1,所述第二SDN交换机B与所述第五SDN交换机E之间的开销为2,所述第四SDN交换机D与所述第五SDN交换机E之间的开销为3,所述第五SDN交换机E与所述第六SDN交换机F之间的开销为2,所述计算单元153计算所述最短传输路径P1(A-B-E-F)的开销为:2+2+2=6。

步骤S303,所述路径管理模块15的管理单元154将所述最短传输路径P1放入所述进程队列中。

步骤S304,所述路径管理模块15的判断单元152判断在所述最短传输路径P1上是否有一SDN交换机可提供所述网络服务,如果是,进行步骤S305;否则,进行步骤S306。在本实施例中,所述第五SDN交换机E用于提供所述网络服务给所述客户端50。

步骤S305,所述管理单元154将所述最短传输路径P1放入所述服务队列中。

步骤S306,所述管理单元154从所述进程队列中取出所述最短传输路径P1,并规划其他的次短传输路径P2~Pk。在一实施例中,所述管理单元154规划其中的一次短传输路径为P2。

步骤S307,所述计算单元153计算所述次短传输路径P2~Pk的开销,选出开销最小的传输路径Px。在本实施例中,所述计算单元153计算所述次短传输路径P2(A-D-E-F)的开销为:2+3+2=7。

步骤S308,所述管理单元154将所述次短传输路径P2~Pk放入所述进程队列中。

步骤S309,所述判断单元152判断所述次短传输路径P2~Pk中是否有一次短传输路径Px,所述次短传输路径Px中是否有一SDN交换机可提供所述网络服务,如果是,则进行步骤S401;否则,进行步骤S402。在本实施例中,所述判断单元152判断所述次短传输路径P2中有所述第五SDN交换机E用于提供所述网络服务,然后可以进行步骤S401。

步骤S401,所述管理单元154将所述次短传输路径Px放入所述服务队列中。具体地,当所述次短传输路径P2~Pk中的一次短传输路径Px中有一SDN交换机可提供所述网络服务,则将所述次短传输路径Px放入所述服务队列中。在本实施例中,所述次短传输路径P2中有所述第五SDN交换机E用于提供所述网络服务,则将所述次短传输路径P2放入所述服务队列中。

步骤S402,所述管理单元154将所述服务队列中的传输路径根据开销的大小从低到高重新排序。具体地,例如,所述次短传输路径P2的开销小于所述次短传输路径Pk的开销,所述次短传输路径Pk的开销小于所述次短传输路径Pn的开销,则所述管理单元154将所述次短传输路径P2、所述次短传输路径Pk及所述次短传输路径Pn在所述服务队列中的排序为:P2、Pk、Pn。

步骤S403,所述判断单元152判断所述计时器151是否超时,如果是,则结束;否则,进行步骤S404。具体地,所述判断单元152判断所述计时器151测量的时间是否超过预设时间。

步骤S404,所述判断单元152判断所述次短传输路径Px的开销是否小于所述预设值,如果是,则结束;否则,进行步骤S405。

步骤S405,所述判断单元152判断是否找到k条传输路径,如果是,则结束;否则,进行步骤S306。

在所述第一演算法的步骤中,当找到的k条传输路径P1~Pk中没有一条传输路径的SDN交换机可提供所述网络服务时,所述管理单元154根据所述设备管理模块11收集的SDN交换机的CPU负载信息,选取CPU负载最小的SDN交换机,将所述网络服务安装到所述CPU负载最小的SDN交换机上,从而所述客户端50可以通过所述CPU负载最小的SDN交换机获取所述网络服务。

在进行所述第二演算法时,启动所述计时器151,以使所述计时器151进行计时。

请参阅图6,是本发明实施方式之第二演算法。

步骤S501,所述管理单元154根据所述DSA算法规划k条最短传输路径。

步骤S502,所述管理单元154取出第n条传输路径Pn。具体地,从n=1开始,所述路径管理模块15取出第n条传输路径Pn。

步骤S503,在所述传输路径Pn上的一传输路径Pm上选取一SDN交换机,使所述SDN交换机连接到所述云端服务器30的时延最小。具体地,所述路径管理模块15通过计算,在所述传输路径P1~Pn上规划所述传输路径Pm,所述SDN交换机在所述传输路径Pm上,并且所述SDN交换机连接到所述云端服务器30的时延最小。

步骤S504,所述计算单元153计算所述传输路径Pm的总开销。具体地,所述计算单元153可以通过以下公式进行计算:所述传输路径Pm的总开销=所述传输路径Pm的开销+所述SDN交换机连接到所述云端服务器30的开销。

步骤S505,所述管理单元154将所述传输路径P1~Pn放入到所述服务队列中,并根据所述服务队列中的传输路径的开销的大小从低到高重新排序。具体地,例如,所述传输路径P1的开销小于所述传输路径P2的开销,所述传输路径P2的开销小于所述传输路径Pn的开销,则所述管理单元154将所述传输路径P1、所述传输路径P2及所述传输路径Pn在所述服务队列中的排序为:P1、P2、Pn。

步骤S506,所述判断单元152判断计时器是否超时,如果是,结束;否则,进行步骤S507。具体地,所述判断单元152判断所述计时器151测量的时间是否超过一预设时间。

步骤S507,所述判断单元152判断所述传输路径的开销是否低于一预设值,如果是,结束;否则,进行步骤S508。

步骤S508,所述判断单元152判断是否找到k条传输路径,如果是,结束;否则,进行步骤S502。

在所述第二演算法的步骤中,因为不需要考虑网络服务的时延问题,从所述规划的k条最短传输路径中,可以选取一条使所述SDN交换机连接到所述云端服务器30的时延最小的传输路径Px作为选定传输路径,从而所述客户端50可以通过所述传输路径Px从所述SDN交换机获取到所述网络服务。

上述网络服务动态部署系统及方法中,当别所述客户端请求的网络服务的服务类型为时延敏感类型时,将所述网络服务安装到所述CPU负载最小的SDN交换机上,从而所述客户端50可以通过所述CPU负载最小的SDN交换机获取所述网络服务;当别所述客户端请求的网络服务的服务类型为非时延敏感类型时,所述客户端50可以根据开销较小的传输路径、通过所述SDN交换机从所述云端服务器30获取所述网络服务;从而可以针对所述客户端50请求的网络服务的服务类型,满足所述客户端50的需求。

软件定义网络(Software Defined Network,SDN)是一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。SDN将控制与转发分离,通过控制器对整网实现集中控制,实现转发硬件通用化,控制智能集中化,极大的提高了网络的创新和灵活。

SDN控制器是SDN中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。SDN控制器是作为网络的一种操作系统(Operating System,OS)。SDN控制器不控制网络硬件而是作为软件运行,这样有利于网络自动化管理。基于软件的网络控制使得集成业务申请和网络更容易。

对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明所公开的范围。

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