首页 / 专利库 / 软件 / 虚拟交换机 / 一种分布式架构软件定义网络控制器的调度方法

一种分布式架构软件定义网络控制器的调度方法

阅读:213发布:2020-05-08

专利汇可以提供一种分布式架构软件定义网络控制器的调度方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种分布式架构 软件 定义网络 控制器 的调度方法,软件定义网络控制器的分布式架构包括N个计算 节点 ,每个计算节点包括软件定义网络控制器、 虚拟机 以及 虚拟交换机 ,软件定义网络控制器和虚拟机均与虚拟交换机连接,其中,N为大于或等于2的整数,软件定义网络控制器控制平面性能会随着计算机点规模的提升而提升,解决软件定义网络控制器单点 瓶颈 的问题;在超大规模的 云 网络中,分布式软件定义网络控制器处理性能高,在跨多 数据中心 云网络中,不受物理线路故障的影响,实现跨多数据中心高可用云网络。,下面是一种分布式架构软件定义网络控制器的调度方法专利的具体信息内容。

1.一种分布式架构软件定义网络控制器的调度方法,其特征在于,软件定义网络控制器的分布式架构包括N个计算节点,每个计算节点包括软件定义网络控制器、虚拟机以及虚拟交换机,所述软件定义网络控制器和虚拟机均与所述虚拟交换机连接,其中,N为大于或等于2的整数;
所述调度方法包括:
启动当前软件定义网络控制器获取本地虚拟交换机的端口信息,根据所述端口信息建立本地拓扑信息表,并根据同步信息标准将当前软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器;
各计算节点中的软件定义网络控制器监听本地虚拟交换机是否接入或断开,如果本地虚拟交换机接入或断开,则该计算节点中的软件定义网络控制器根据接入或断开的虚拟交换机的端口信息更新本地拓扑信息表,并根据同步信息标准将更新后的拓扑信息表同步至其他软件定义网络控制器;
各计算节点中的软件定义网络控制器检测是否接收到RestApi配置信息,如果任一软件定义网络控制器接收到所述RestApi配置信息,则对所述RestApi配置信息进行验证,验证通过后更新本地Config配置信息表,并根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器;
在网络控制器启动时,各计算节点中的软件定义网络控制器逐一启动,每启动一个软件定义网络控制器,则该软件定义网络控制器获取与之连接的本地虚拟交换机的端口信息;
根据同步信息标准将当前启动的软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器,包括:
当前软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息字符串,将本地拓扑信息表发送至消息队列;
其他软件定义网络控制器接收到当前软件定义网络控制器的拓扑信息表之后,创建回复信息并更新本地拓扑信息表;
其他软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为当前软件定义网络控制器的主机名,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息,将所述回复信息和更新后的本地拓扑信息表发送至消息队列;
所述当前软件定义网络控制器接收其他软件定义网络控制器的回复信息和拓扑信息表之后,更新本地拓扑信息表。
2.根据权利要求1所述的分布式架构软件定义网络控制器的调度方法,其特征在于,所述端口信息包括虚拟机的mac地址、上行后端口号、虚拟网络内网口端口号、虚拟交换机的mac地址以及主机名。
3.根据权利要求2所述的分布式架构软件定义网络控制器的调度方法,其特征在于,所述同步信息标准包括源主机名、目标主机名、服务类型、同步信息格式以及是否需要回复信息。
4.根据权利要求3所述的分布式架构软件定义网络控制器的调度方法,其特征在于,根据同步信息标准将更新后的本地拓扑信息表同步至其他软件定义网络控制器,包括:
虚拟交换机接入或断开的计算节点中的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机接入或断开的拓扑信息字符串,将更新后的本地拓扑信息表发送至消息队列;
其他软件定义网络控制器接收到所述更新后的拓扑信息表,更新本地拓扑信息表。
5.根据权利要求3所述的分布式架构软件定义网络控制器的调度方法,其特征在于,根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器,包括:
接收到RestApi配置信息的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置服务类型为配置同步,设置同步信息格式为RestApi配置信息字符串,将所述Config配置信息表发送至消息队列;
其他软件定义网络控制器接收到所述Config配置信息表,更新本地Config配置信息表。

说明书全文

一种分布式架构软件定义网络控制器的调度方法

技术领域

[0001] 本发明涉及软件技术领域,尤其涉及一种分布式架构软件定义网络控制器的调度方法。

背景技术

[0002] 目前,软件定义网络(Software Defi ned Network,SDN)控制器的调度方案比较通用的是双机热备份调度方案,参考图1,主SDN控制器负责统一管理所有的虚拟交换机业务,备SDN控制器通过vrrp协议监听主SDN控制器的工作状态,主SDN控制器出现异常,触发备SDN控制器接管主SDN控制器的虚拟交换机业务。这种方式的缺点是:单个SDN控制器会成为虚拟网络控制器平面的单点瓶颈,在超大规模的虚拟化网络中,主备切换效率低,在跨数据中心网络部署中,单个SDN控制器无法实现多数据中心跨云灾备。
[0003] 参考图2,在超大规模虚拟化网络中,采用SDN控制器集群模型。多个SDN控制器协同工作,通过选举以及负载均衡等算法均衡分摊虚拟交换机业务。各个SDN控制器之间通过心跳通讯监听其他SDN控制器的工作状况。其中一个SDN控制器出现故障,触发其他SDN控制器将该故障SDN控制器所接管的虚拟交换机重新进入选举,由其他SDN控制器接受虚拟交换机业务。但这种方式有以下几个缺点:逻辑复杂,容易出现多控制器之间的脑裂问题。在超大规模的虚拟化网络中,选举切换的效率低。在跨数据中心的云网络部署中,SDN控制器集群难以实现多数据中心灾备。多物理数据中心之间的线路故障,将导致SDN控制器集群出现大面积问题导致网络中断。

发明内容

[0004] 本发明的目的在于针对上述现有技术中的双机热备份调度方案和SDN控制器集群模型的缺点,提出了一种分布式架构软件定义网络控制器的调度方法,实现跨多数据中心高可用云网络。
[0005] 一种分布式架构软件定义网络控制器的调度方法,软件定义网络控制器的分布式架构包括N个计算节点,每个计算节点包括软件定义网络控制器、虚拟机以及虚拟交换机,所述软件定义网络控制器和虚拟机均与所述虚拟交换机连接,其中,N为大于或等于2的整数;
[0006] 所述调度方法包括:
[0007] 启动当前软件定义网络控制器获取本地虚拟交换机的端口信息,根据所述端口信息建立本地拓扑信息表,并根据同步信息标准将当前软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器;
[0008] 各计算节点中的软件定义网络控制器监听本地虚拟交换机是否接入或断开,如果本地虚拟交换机接入或断开,则该计算节点中的软件定义网络控制器根据接入或断开的虚拟交换机的端口信息更新本地拓扑信息表,并根据同步信息标准将更新后的拓扑信息表同步至其他软件定义网络控制器;
[0009] 各计算节点中的软件定义网络控制器检测是否接收到RestApi配置信息,如果任一软件定义网络控制器接收到所述RestApi配置信息,则对所述RestApi配置信息进行验证,验证通过后更新本地Config配置信息表,并根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器。
[0010] 进一步地,所述端口信息包括虚拟机的mac地址、上行后端口号、虚拟网络内网口端口号、虚拟交换机的mac地址以及主机名。
[0011] 进一步地,所述同步信息标准包括源主机名、目标主机名、服务类型、同步信息格式以及是否需要回复信息。
[0012] 进一步地,根据同步信息标准将当前启动的软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器,包括:
[0013] 当前软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息字符串,将本地拓扑信息表发送至消息队列;
[0014] 其他软件定义网络控制器接收到当前软件定义网络控制器的拓扑信息表之后,创建回复信息并更新本地拓扑信息表;
[0015] 其他软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为当前软件定义网络控制器的主机名,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息,将所述回复信息和更新后的本地拓扑信息表发送至消息队列;
[0016] 所述当前软件定义网络控制器接收其他软件定义网络控制器的回复信息和拓扑信息表之后,更新本地拓扑信息表。
[0017] 进一步地,根据同步信息标准将更新后的本地拓扑信息表同步至其他软件定义网络控制器,包括:
[0018] 虚拟交换机接入或断开的计算节点中的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机接入或断开的拓扑信息字符串,将更新后的本地拓扑信息表发送至消息队列;
[0019] 其他软件定义网络控制器接收到所述更新后的拓扑信息表,更新本地拓扑信息表。
[0020] 进一步地,根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器,包括:
[0021] 接收到RestApi配置信息的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置服务类型为配置同步,设置同步信息格式为RestApi配置信息字符串,将所述Config配置信息表发送至消息队列;
[0022] 其他软件定义网络控制器接收到所述Config配置信息表,更新本地Config配置信息表。
[0023] 本发明提供的分布式架构软件定义网络控制器的调度方法,软件定义网络控制器控制平面性能会随着计算机点规模的提升而提升,解决软件定义网络控制器单点瓶颈的问题。在超大规模的云网络中,分布式软件定义网络控制器处理性能高,在跨多数据中心云网络中,本发明的分布式软件定义网络控制器不受物理线路故障的影响,实现跨多数据中心高可用云网络。附图说明
[0024] 图1为现有技术中双机热备份调度一种实施例的结构示意图。
[0025] 图2为现有技术中SDN控制器集群模型一种实施例的结构示意图。
[0026] 图3为本发明提供的分布式架构软件定义网络控制器的调度方法一种实施例的流程图
[0027] 图4为本发明提供的分布式架构软件定义网络控制器的调度方法中软件定义网络控制器的分布式架构一种实施例的结构示意图。

具体实施方式

[0028] 为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0029] 参考图3和图4,本实施例提供一种分布式架构软件定义网络控制器的调度方法,软件定义网络控制器的分布式架构包括N个计算节点,每个计算节点包括软件定义网络控制器101、虚拟机102以及虚拟交换机103,软件定义网络控制器101和虚拟机102均与虚拟交换机103连接,其中,N为大于或等于2的整数;
[0030] 所述调度方法包括:
[0031] 步骤S101,启动当前软件定义网络控制器获取本地虚拟交换机的端口信息,根据所述端口信息建立本地拓扑信息表,并根据同步信息标准将当前软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器;
[0032] 步骤S102,各计算节点中的软件定义网络控制器监听本地虚拟交换机是否接入或断开,如果本地虚拟交换机接入或断开,则该计算节点中的软件定义网络控制器根据接入或断开的虚拟交换机的端口信息更新本地拓扑信息表,并根据同步信息标准将更新后的拓扑信息表同步至其他软件定义网络控制器;
[0033] 步骤S103,各计算节点中的软件定义网络控制器检测是否接收到RestApi配置信息,如果任一软件定义网络控制器接收到所述RestApi配置信息,则对所述RestApi配置信息进行验证,验证通过后更新本地Config配置信息表,并根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器。
[0034] 具体地,步骤S101为软件定义网络控制器启动时发起的同步步骤,各计算节点中的软件定义网络控制器逐一启动,每启动一个软件定义网络控制器,则该软件定义网络控制器获取与之连接的本地虚拟交换机的端口信息,作为一种优选的实施方式,所述端口信息包括虚拟机的mac地址、上行后端口号、虚拟网络内网口端口号、虚拟交换机的mac地址以及主机名,根据该端口信息生成本地拓扑信息表,该拓扑信息表如下所示:
[0035]类型 描述
portNumber long(Primary key) 虚拟机的MAC地址
uplinkPortNumber int 上行后端口号
internalPortNumber int 虚拟网络内网口端口号
switchMac long 虚拟交换机的Mac地址
hostName String 主机名
[0036] 表1
[0037] 作为一种优选的实施方式,所述同步信息标准包括源主机名、目标主机名、服务类型、同步信息格式以及是否需要回复信息,同步信息标准如表2所示:
[0038]类型 描述
srcHost String 源主机名
dstHost String 目标主机名(值等于null表示广播)
serverName String 服务类型(vpc配置同步、拓扑同步)
Message String 同步信息Json格式
needReply Boolean 是否需要回复信息
[0039] 表2
[0040] 进一步地,根据同步信息标准将当前启动的软件定义网络控制器的本地拓扑信息表同步至其他软件定义网络控制器,包括:
[0041] 当前软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息字符串,将本地拓扑信息表发送至消息队列;
[0042] 其他软件定义网络控制器接收到当前软件定义网络控制器的拓扑信息表之后,创建回复信息并更新本地拓扑信息表;
[0043] 其他软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为当前软件定义网络控制器的主机名,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机拓扑信息,将所述回复信息和更新后的本地拓扑信息表发送至消息队列;
[0044] 所述当前软件定义网络控制器接收其他软件定义网络控制器的回复信息和拓扑信息表之后,更新本地拓扑信息表,无需回复信息。
[0045] 进一步地,步骤S102为软件定义网络控制器更新拓扑的步骤,各计算节点中的软件定义网络控制器监听本地虚拟交换机是否接入或断开,具体地,各软件定义网络控制器监听本地虚拟交换机网卡是否接入或拔出。如果本地虚拟交换机接入或断开,则该计算节点中的软件定义网络控制器根据接入或断开的虚拟交换机的端口信息更新本地拓扑信息表。
[0046] 根据同步信息标准将更新后的本地拓扑信息表同步至其他软件定义网络控制器,包括:
[0047] 虚拟交换机接入或断开的计算节点中的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置目标主机名为广播,设置服务类型为拓扑同步,设置同步信息格式为本地虚拟交换机接入或断开的拓扑信息字符串,将更新后的本地拓扑信息表发送至消息队列;
[0048] 其他软件定义网络控制器接收到所述更新后的拓扑信息表,更新本地拓扑信息表,不需要回复。
[0049] 进一步地,步骤S103为软件定义网络控制器的RestApi配置信息步骤,各计算节点中的软件定义网络控制器检测是否接收到RestApi配置信息,该RestApi配置信息由管理员发送,如果任一软件定义网络控制器接收到所述RestApi配置信息,则对所述RestApi配置信息进行验证,包括验证其安全性,如果验证通过,更新本地Config配置信息表。
[0050] 根据同步信息标准将更新的Config配置信息表同步至其他软件定义网络控制器,包括:
[0051] 接收到RestApi配置信息的软件定义网络控制器设置源主机名为本计算节点主机名,设置是否需要回复信息为不需要回复,设置服务类型为配置同步,设置同步信息格式为RestApi配置信息字符串,将所述Config配置信息表发送至消息队列;
[0052] 其他软件定义网络控制器接收到Config配置信息表,更新本地Config配置信息表,无需回复。
[0053] 作为一种优选的实施方式,Config配置信息表如表3所示:
[0054]
[0055] 表3
[0056] 本发明提供的分布式架构软件定义网络控制器的调度方法,软件定义网络控制器控制平面性能会随着计算机点规模的提升而提升,解决软件定义网络控制器单点瓶颈的问题。在超大规模的云网络中,分布式软件定义网络控制器处理性能高,在跨多数据中心云网络中,本发明的分布式软件定义网络控制器不受物理线路故障的影响,实现跨多数据中心高可用云网络。
[0057] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈