虚拟路由器的迁移方法、装置、电子设备及存储介质与流程

文档序号:30784749发布日期:2022-07-16 07:31阅读:104来源:国知局
虚拟路由器的迁移方法、装置、电子设备及存储介质与流程

1.本技术涉及网络领域,尤其涉及一种虚拟路由器的迁移方法、装置、电子设备及存储介质。


背景技术:

2.在虚拟网络场景中,多个物理服务器通常以集群的方式工作,通过物理服务器运行设定软件实现虚拟路由器(virtual router,vr)。在集群工作过程中,由于物理服务器出现故障或者高负载的情况,集群需要频繁迁移vr,运营成本高。


技术实现要素:

3.有鉴于此,本技术实施例提供一种虚拟路由器的迁移方法、装置、电子设备及存储介质,以至少解决相关技术在集群工作过程中运营成本高的问题。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供了一种虚拟路由器的迁移方法,应用于第一电子设备,所述方法包括:
6.根据接收到的第一虚拟路由器的vrrp报文,确定第二电子设备;所述第二电子设备表征运行有所述第一虚拟路由器的电子设备;
7.与所述第二电子设备进行第一报文交互;所述第一报文交互表征控制报文的交互,用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
8.与所述第二电子设备进行第二报文交互;所述第二报文交互表征数据报文的交互,用于同步所述第一虚拟路由器的会话数据;
9.在所述第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文。
10.其中,上述方案中,所述与所述第二电子设备进行第一报文交互,包括:
11.向所述第二电子设备发送第一控制报文;所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
12.上述方案中,在所述向所述第二电子设备发送第一控制报文之后,所述方法还包括:
13.接收所述第二电子设备发送的第二控制报文;所述第二控制报文表征所述第二电子设备响应于所述第一控制报文的控制报文,且携带有用于配置所述第一虚拟路由器的配置信息。
14.上述方案中,所述基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文,包括:
15.在接收到所述第二电子设备发送的第三控制报文的情况下,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文;所述第三控制报文表征所述第一虚拟路由器的会话数据发送完成。
16.上述方案中,所述第一电子设备与所述第二电子设备之间基于传输控制协议(tcp,transmission control protocol)或用户数据报协议(udp,user datagram protocol)交互控制报文及数据报文。
17.上述方案中,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
18.上述方案中,所述第一虚拟路由器包括以下至少之一:
19.运行于故障电子设备的虚拟路由器;
20.运行于负载高于设定阈值的电子设备的虚拟路由器;
21.通过指令确定出的虚拟路由器。
22.本技术实施例还提供了一种虚拟路由器的迁移方法,应用于第二电子设备,所述方法包括:
23.上述方案中,所述与第一电子设备进行第一报文交互,包括:
24.接收所述第一电子设备发送第一控制报文;所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
25.响应于所述第一控制报文,向所述第一电子设备发送第二控制报文;所述第二控制报文携带有用于配置所述第一虚拟路由器的配置信息。
26.上述方案中,在所述第一虚拟路由器的会话数据发送完成后,所述方法还包括:
27.删除所述第一虚拟路由器的会话数据;和/或,
28.向所述第一电子设备发送第三控制报文;所述第三控制报文表征所述第一虚拟路由器的会话数据发送完成。
29.上述方案中,所述第一电子设备与所述第二电子设备之间基于tcp或udp交互控制报文及数据报文。
30.上述方案中,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
31.上述方案中,所述第一虚拟路由器包括以下至少之一:
32.运行于故障电子设备的虚拟路由器;
33.运行于负载高于设定阈值的电子设备的虚拟路由器;
34.通过指令确定出的虚拟路由器。
35.本技术实施例还提供了一种虚拟路由器的迁移装置,应用于第一电子设备,包括:
36.第一处理单元,用于根据接收到的第一虚拟路由器的vrrp报文,确定第二电子设备;所述第二电子设备表征运行有所述第一虚拟路由器的电子设备;
37.第一交互单元,用于与所述第二电子设备进行第一报文交互;所述第一报文交互表征控制报文的交互,用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
38.第二交互单元,用于与所述第二电子设备进行第二报文交互;所述第二报文交互表征数据报文的交互,用于同步所述第一虚拟路由器的会话数据;
39.发送单元,用于在所述第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文。
40.本技术实施例还提供了一种虚拟路由器的迁移装置,应用于第二电子设备,包括:
41.第三交互单元,用于与第一电子设备进行第一报文交互;所述第一报文交互表征
控制报文的交互,用于所述第一电子设备请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
42.第四交互单元,用于与所述第一电子设备进行第二报文交互;所述第二报文交互表征数据报文的交互,用于向所述第一电子设备同步所述第一虚拟路由器的会话数据。
43.本技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
44.其中,所述处理器用于运行所述计算机程序时,执行上述虚拟路由器的迁移方法的步骤。
45.本技术实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述虚拟路由器的迁移方法的步骤。
46.本技术实施例提供的方案,第一电子设备根据接收到的第一虚拟路由器的vrrp报文,确定运行有第一虚拟路由器的第二电子设备;第一电子设备与第二电子设备进行第一报文交互;第一报文交互表征控制报文的交互,用于请求第二电子设备同步第一虚拟路由器的会话数据;第一电子设备与第二电子设备进行第二报文交互;第二报文交互表征数据报文的交互,用于同步第一虚拟路由器的会话数据;在第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播第一虚拟路由器的vrrp报文。在上述方案中,通过电子设备之间的报文交互,驱动虚拟路由器的迁移过程,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的自动化调整,从而降低了集群的运营成本。
附图说明
47.图1为本技术实施例提供的虚拟路由器的迁移方法实现流程示意图;
48.图2为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
49.图3为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
50.图4为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
51.图5为本技术实施例提供的udp协议报文的数据包格式示意图;
52.图6为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
53.图7为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
54.图8为本技术另一实施例提供的虚拟路由器的迁移方法实现流程示意图;
55.图9为本技术应用实施例提供的页面示意图;
56.图10为本技术应用实施例提供的物理服务器的状态示意图;
57.图11为本技术应用实施例提供的页面示意图;
58.图12为本技术应用实施例提供的页面示意图;
59.图13为本技术应用实施例提供的虚拟路由器的迁移方法时序图;
60.图14为状态机模型示意图;
61.图15为本技术应用实施例提供的状态机模型示意图;
62.图16为本技术应用实施例提供的状态机模型示意图;
63.图17为本技术实施例提供的虚拟路由器的迁移装置的结构示意图;
64.图18为本技术实施例提供的虚拟路由器的迁移装置的结构示意图;
65.图19为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
66.在虚拟网络场景中,多个物理服务器通常以集群的方式工作,通过物理服务器运行设定软件实现vr,vr能够在虚拟网络环境中实现路由器的功能。在集群工作过程中,在vr所运行的物理服务器出现故障或者高负载的情况,对应流经vr的网络流会受到影响,集群需要频繁迁移vr,运营成本高。
67.基于此,在本技术的各种实施例中,第一电子设备根据接收到的第一虚拟路由器的vrrp报文,确定运行有第一虚拟路由器的第二电子设备;第一电子设备与第二电子设备进行第一报文交互;第一报文交互表征控制报文的交互,用于请求第二电子设备同步第一虚拟路由器的会话数据;第一电子设备与第二电子设备进行第二报文交互;第二报文交互表征数据报文的交互,用于同步第一虚拟路由器的会话数据;在第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播第一虚拟路由器的vrrp报文。在上述方案中,通过电子设备之间的报文交互,驱动虚拟路由器的迁移过程,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的自动化调整,从而降低了集群的运营成本。
68.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
69.图1为本技术实施例提供的虚拟路由器的迁移方法的实现流程示意图,本技术实施例提供了一种虚拟路由器的迁移方法,应用于第一电子设备,其中,第一电子设备包括但不限于服务器、终端等电子设备。包括:
70.步骤101:根据接收到的第一虚拟路由器的vrrp报文,确定第二电子设备。
71.其中,所述第二电子设备表征运行有所述第一虚拟路由器的电子设备。
72.第一电子设备确定待迁移的第一虚拟路由器,并根据接收到的第一虚拟路由器的vrrp报文学习第二电子设备的地址,vrrp报文由运行于第二电子设备的第一虚拟路由器基于vrrp协议发出。第二电子设备可以是与第一电子设备处于同一集群的电子设备,运行有第一虚拟路由器。
73.这里,在确定存在满足设定条件的虚拟路由器的情况下,第一电子设备将满足设定条件的虚拟路由器确定为待迁移的第一虚拟路由器。作为本技术的一个实施例,所述第一虚拟路由器包括以下至少之一:
74.运行于故障电子设备的虚拟路由器;
75.运行于负载高于设定阈值的电子设备的虚拟路由器;
76.通过指令确定出的虚拟路由器。
77.确定第一虚拟路由器的设定条件,包括以下至少之一:运行于故障电子设备的虚拟路由器;运行于负载高于设定阈值的电子设备的虚拟路由器;通过指令确定出的虚拟路由器。这里,第一电子设备在确定第一虚拟路由器时,可以根据接收集群的管理平面发送的指令或信息进行判断,确定出满足设定条件的虚拟路由器。
78.将运行于故障电子设备或高负载电子设备的虚拟路由器进行迁移,能够缓解物理设备对网络流的影响,进而改善用户体验。或者,由运营人员通过指令确定迁移的虚拟路由器,,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的
自动化调整,从而降低了集群的运营成本。
79.以通过指令确定出第一虚拟路由器为例,运营人员通过接收集群的管理平面发送vr迁移指令,第一电子设备作为虚拟路由器迁移过程的接收方,接收到vr迁移指令,确定待迁移的第一虚拟路由器,并根据第一电子设备接收到的第一虚拟路由器的vrrp报文,确定第二电子设备为虚拟路由器迁移过程的发送方,从而确定虚拟路由器迁移过程的发送方和接收方。
80.步骤102:与所述第二电子设备进行第一报文交互。
81.其中,所述第一报文交互表征控制报文的交互,用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
82.第一电子设备与第二电子设备进行第一报文交互,第一报文交互为控制报文的交互,第一电子设备通过第一报文交互请求第二电子设备同步第一虚拟路由器的会话数据。这里,会话数据为网络会话的数据,也就是session数据,会话数据能够实现虚拟路由器的功能。
83.步骤103:与所述第二电子设备进行第二报文交互。
84.其中,所述第二报文交互表征数据报文的交互,用于同步所述第一虚拟路由器的会话数据。
85.第一电子设备与第二电子设备进行第二报文交互,第二报文交互为数据报文的交互,用于第二电子设备向第一电子设备同步第一虚拟路由器的会话数据。第二电子设备将第一虚拟路由器的会话数据处理成数据包,通过第二报文交互以数据报文的方式发送给第一电子设备。第一电子设备通过第二报文交互获取第一虚拟路由器的会话数据,并储存会话数据。
86.步骤104:在所述第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文。
87.在第一虚拟路由器的会话数据同步完成后,第一电子设备基于第一虚拟路由器的配置信息和会话数据,广播第一虚拟路由器的vrrp报文。其中,第一电子设备可以在虚拟路由器迁移之前,通过备份等方式获得第一虚拟路由器的配置信息;也可以在虚拟路由器迁移时获取第一虚拟路由器的配置信息。
88.本技术实施例提供的方案,通过电子设备之间的报文交互,驱动虚拟路由器的迁移过程,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的自动化调整,从而降低了集群的运营成本。
89.作为本技术的一个实施例,如图2所示,所述与所述第二电子设备进行第一报文交互,包括:
90.步骤1021:向所述第二电子设备发送第一控制报文。
91.其中,所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
92.第一电子设备向第二电子设备发送第一控制报文,第一控制报文用于第一电子设备请求第二电子设备同步第一虚拟路由器的会话数据。其中,第一控制报文可以为syn报文,或称为同步报文。这里,第二电子设备可以根据第一控制报文学习到第一电子设备的地址。同时,第一控制报文可以起到限制vrrp协商的作用。
93.前文提及,第一电子设备可以在虚拟路由器迁移时获取第一虚拟路由器的配置信息。作为本技术的一个实施例,如图3所示,在步骤1021的向所述第二电子设备发送第一控制报文之后,所述方法还包括:
94.步骤1022:接收所述第二电子设备发送的第二控制报文。
95.其中,所述第于所述第一控制报文的控制报文,且携带有用于配置所述第一虚拟路由器的配置信息。
96.在接收到第一电子设备发送的第一控制报文之后,第二电子设备响应于第一控制报文,向第一电子设备发送携带有用于配置第一虚拟路由器的配置信息的第二控制报文。其中,第二控制报文可以为ack报文,或称为应答报文。第一电子设备可以通过第二控制报文获取第一虚拟路由器的配置信息,从而能够基于第一虚拟路由器的配置信息和会话数据,广播第一虚拟路由器的vrrp报文。同时,第一电子设备通过发送第一控制报文和接收第二控制报文,能够确定与第二电子设备之间的虚拟网络的连通性。
97.前文提及,在第一虚拟路由器的会话数据同步完成后,第一电子设备基于第一虚拟路由器的配置信息和会话数据,广播第一虚拟路由器的vrrp报文。作为本技术的一个实施例,如图4所示,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文,包括:
98.步骤1041:在接收到所述第二电子设备发送的第三控制报文的情况下,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文。
99.其中,所述第三控制报文表征所述第一虚拟路由器的会话数据发送完成。
100.在第一虚拟路由器的会话数据发送完成后,第二电子设备发送表征第一虚拟路由器的会话数据发送完成的第三控制报文。其中,第三控制报文可以为fin报文,或称为结束报文。第一电子设备在接收到第二电子设备发送的第三控制报文的情况下,基于接收到的会话数据广播第一虚拟路由器的vrrp报文,从而起到虚拟路由器迁移的效果。同时,第三控制报文可以起到取消vrrp协商限制的作用。
101.作为本技术的一个实施例,在电子设备之间的报文交互,驱动虚拟路由器的迁移过程中,所述第一电子设备与所述第二电子设备之间基于tcp或udp交互控制报文及数据报文。
102.作为本技术的一个实施例,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
103.这里,第一字段用于标识对应报文为控制报文或数据报文。优选地,第一字段还可以标识控制报文的类型,如同步报文、应答报文或结束报文。
104.实际应用中,可以采用如图5所示的udp协议报文的数据包格式,包括数据信息和控制信息。数据信息主要记录具体的session内部,控制信息各个字段分别对应不同内容:version为版本信息;magic为端口冲突检查;flag为标记控制报文类型;type为区分控制报文还是数据报文;length为数据包长度;auth type为加密类型;auth data len为加密数据长度;checksum为校验和;entity type为实例类型;operate type为操作类型;entity num为实例数目;session type为区分ipv4还是ipv6。
105.图6为本技术实施例提供的虚拟路由器的迁移方法的实现流程示意图,本技术实施例提供了一种虚拟路由器的迁移方法,应用于第二电子设备,其中,第二电子设备包括但不限于服务器、终端等电子设备。包括:
106.步骤601:与第一电子设备进行第一报文交互。
107.其中,所述第一报文交互表征控制报文的交互,用于所述第一电子设备请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
108.运行于第二电子设备的第一虚拟路由器广播vrrp报文。第一电子设备确定待迁移的第一虚拟路由器,并根据接收到的第一虚拟路由器的vrrp报文学习第二电子设备的地址。第一电子设备与第二电子设备进行第一报文交互,第一报文交互为控制报文的交互,第一电子设备通过第一报文交互请求第二电子设备同步第一虚拟路由器的会话数据。第一电子设备可以是与第二电子设备处于同一集群的电子设备。
109.这里,在确定存在满足设定条件的虚拟路由器的情况下,第一电子设备将满足设定条件的虚拟路由器确定为待迁移的第一虚拟路由器。作为本技术的一个实施例,所述第一虚拟路由器包括以下至少之一:
110.运行于故障电子设备的虚拟路由器;
111.运行于负载高于设定阈值的电子设备的虚拟路由器;
112.通过指令确定出的虚拟路由器。
113.确定第一虚拟路由器的设定条件,包括以下至少之一:运行于故障电子设备的虚拟路由器;运行于负载高于设定阈值的电子设备的虚拟路由器;通过指令确定出的虚拟路由器。这里,第一电子设备在确定第一虚拟路由器时,可以根据接收集群的管理平面发送的指令或信息进行判断,确定出满足设定条件的虚拟路由器。
114.将运行于故障电子设备或高负载电子设备的虚拟路由器进行迁移,能够缓解物理设备对网络流的影响,进而改善用户体验。或者,通过指令确定迁移的虚拟路由器,由运营人员调整虚拟路由器在物理网络的部署,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的自动化调整,从而降低了集群的运营成本。
115.步骤602:与所述第一电子设备进行第二报文交互。
116.其中,所述第二报文交互表征数据报文的交互,用于向所述第一电子设备同步所述第一虚拟路由器的会话数据。
117.第一电子设备与第二电子设备进行第二报文交互,第二报文交互为数据报文的交互,用于第二电子设备向第一电子设备同步第一虚拟路由器的会话数据。第二电子设备将第一虚拟路由器的会话数据处理成数据包,通过第二报文交互以数据报文的方式发送给第一电子设备。第一电子设备通过第二报文交互获取第一虚拟路由器的会话数据,并储存会话数据。在第一虚拟路由器的会话数据同步完成后,第一电子设备基于第一虚拟路由器的配置信息和会话数据,广播第一虚拟路由器的vrrp报文。
118.本技术实施例提供的方案,通过电子设备之间的报文交互,驱动虚拟路由器的迁移过程,无须人为控制虚拟路由器的会话数据同步流程,实现对物理网络中虚拟路由器部署的自动化调整,从而降低了集群的运营成本。
119.作为本技术的一个实施例,如图7所示,所述与第一电子设备进行第一报文交互,包括:
120.步骤6011:接收所述第一电子设备发送第一控制报文。
121.其中,所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
122.第二电子设备接收到第一电子设备发送的第一控制报文,第一控制报文用于第一电子设备请求第二电子设备同步第一虚拟路由器的会话数据。其中,第一控制报文可以为syn报文,或称为同步报文。这里,第二电子设备可以根据第一控制报文学习到第一电子设备的地址。同时,第一控制报文可以起到限制vrrp协商的作用。
123.步骤6012:响应于所述第一控制报文,向所述第一电子设备发送第二控制报文。
124.其中,所述第二控制报文携带有用于配置所述第一虚拟路由器的配置信息。
125.前文提及,第一电子设备可以在虚拟路由器迁移时获取第一虚拟路由器的配置信息。在接收到第一电子设备发送的第一控制报文之后,第二电子设备响应于第一控制报文,向第一电子设备发送携带有用于配置第一虚拟路由器的配置信息的第二控制报文。其中,第二控制报文可以为ack报文,或称为应答报文。第二电子设备通过第二控制报文发送第一虚拟路由器的配置信息,第一电子设备可以获取到第一虚拟路由器的配置信息,从而能够基于第一虚拟路由器的配置信息和会话数据,广播第一虚拟路由器的vrrp报文。同时,第一电子设备通过发送第一控制报文和接收第二控制报文,能够确定与第二电子设备之间的虚拟网络的连通性。
126.作为本技术的一个实施例,如图8所示,在所述第一虚拟路由器的会话数据发送完成后,所述方法还包括:
127.步骤603:删除所述第一虚拟路由器的会话数据;和/或,向所述第一电子设备发送第三控制报文。
128.其中,所述第三控制报文表征所述第一虚拟路由器的会话数据发送完成。
129.第二电子设备与第一电子设备进行第二报文交互,向第一电子设备同步第一虚拟路由器的会话数据。在第一虚拟路由器的会话数据发送完成后,第二电子设备可以执行以下至少一项操作:删除第一虚拟路由器的会话数据;发送表征第一虚拟路由器的会话数据发送完成的第三控制报文。其中,第三控制报文可以为fin报文,或称为结束报文。第一电子设备在接收到第二电子设备发送的第三控制报文的情况下,基于接收到的会话数据广播第一虚拟路由器的vrrp报文,从而起到虚拟路由器迁移的效果。同时,第三控制报文可以起到取消vrrp协商限制的作用。
130.作为本技术的一个实施例,在电子设备之间的报文交互,驱动虚拟路由器的迁移过程中,所述第一电子设备与所述第二电子设备之间基于tcp或udp交互控制报文及数据报文。
131.作为本技术的一个实施例,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
132.这里,第一字段用于标识对应报文为控制报文或数据报文。优选地,第一字段还可以标识控制报文的类型,如同步报文、应答报文或结束报文。
133.下面结合应用实施例对本技术再作进一步详细的描述。
134.现有的技术方案通常落地在物理设备中,在虚拟化场景中应用受限,存在以下问题:
135.1)虚拟化场景中虚拟化网络功能(vnf,virtual network function)插件多,网络拓扑复杂,网络连通性风险高。vnf为虚拟化网络功能,可以提供特定网络服务的软件,包括但不限于防火墙、虚拟路由器等。
136.2)session同步功能持续开启,在网络正常场景中占据相当比重的带宽,干扰正常的业务流,同时抢占系统消耗系统资源,且需要运维人员控制同步流程,通过被动查询方式检查同步结果,增加了运维成本。
137.基于此,在本应用实施例提出了一种虚拟路由器的迁移方案,通过自定义session同步数据包格式以区分控制报文和数据报文,并借助控制报文驱动session同步状态机,在vr跨主机迁移中自动协商启动、同步、终止session,从而提高网络可探测性、节省系统资源、减轻运维人员负担。
138.超融合产品通常需要多个物理服务器组成集群模式工作,集群中的vr,尤其是边界vr,通常通过调度算法计算并选择运行在特定的物理服务器中。同时,为了保证高可用(ha,high available),通常会通过调度算法在集群中计算出一个物理服务器做vr的备份。ha是提供保证业务连续性的解决方案,常用于双机集群环境中,一般有不少于两个的节点,切分为主节点和备节点。
139.图9示出了本技术应用实施例提供的页面示意图,当vr所在的物理服务器出现故障或者高负载的情况,流经vr的网络流会受到影响,进而影响了用户体验。实际应用中,物理服务器的状态如图10所示出。为了保障用户体验,如图11所示,通常需要系统管理员对指定的vr做迁移指令操作,将vr从一台受影响的服务器迁移到另一台资源更为充分的服务器。等待一段时间,vr迁移完成,此时的页面如图12所示,展示页面的网络拓扑没有发生明显变化,只有vr的运行位置发生了变化,并且保证网络不断流。
140.系统管理员触发vr迁移操作,迁移操作对用户透明。主机a、b对vr配置进行备份,通过vrrp协议协商主机a作为主模式工作,b作为备模式工作,希望vr从主机a迁移到主机c不断流。结合图13提供的虚拟路由器的迁移方法时序图对系统交互进行说明,虚拟路由器的迁移方法至少包括:
141.1、用户触发迁移命令,主机c收到命令后进入迁移状态,通过vrrp协议学习到目的主机a的地址并单播发送session通知报文syn包;
142.2、主机a收到syn报文后学习到主机c的地址,然后发送syn ack报文进行确定,并开始对自身session进行封包发送给主机c;
143.3、主机c收到session数据包后解封装转化为session存储,为后续网络流服务;
144.4、主机a发送完所有的session后发送fin报文通知主机c;
145.5、主机c收到fin报文确认session同步结束,通知用户vr迁移成功。
146.其中,session为网络会话,是指一个终端用户与交互系统进行通信的时间周期,通常指从注册进入系统到注销退出系统之间所存活的时间。vrrp将可以承担网关功能的一组路由器加入到备份组中,形成一台虚拟路由器,由vrrp的选举机制决定哪台路由器承担转发任务,局域网内的主机只需将虚拟路由器配置为缺省网关。
147.在vr迁移中,vr需要通过报文和vr配置完成session的ha机制,本技术应用实施例通过状态机去推动协商过程。如图14所示,状态机可表示为:
148.init:初始状态,表示迁移还未开始;
149.trans:迁移进行状态,表示迁移正在进行,session正在同步;
150.fin:完成状态,表示迁移结束,session同步工作已经完成。
151.根据这个状态机模型,原vr和迁移vr在遇到事件和收到session同步报文时会存
在不同的状态触发和转化机制,如图15所示出的原vr状态转换,如图16所示出的迁移vr目的转换。
152.本应用实施例根据超融合产品设计,独自设计session ha数据包格式。如图5所示,数据包格式对udp协议进行扩展,这个数据包包括控制信息和数据信息。控制部分各个字段的说明如下:数据信息主要记录具体的session内部,控制信息各个字段分别对应不同内容:version为版本信息;magic为端口冲突检查;flag为标记控制报文类型;type为区分控制报文还是数据报文;length为数据包长度;auth type为加密类型;auth data len为加密数据长度;checksum为校验和;entity type为实例类型;operate type为操作类型;entity num为实例数目;session type为区分ipv4还是ipv6。数据部分主要记录具体的session内部。
153.本应用实施例在充分考虑云化场景三层网络功能弹性需求的情况下,自定义实现一种基于udp协议的session同步报文格式,并设计实现了满足vr重复迁移场景的session同步状态机。在虚拟化场景中实现vr迁移过程中的session同步机制,通过状态机设置对应的数据包格式,充分的节省了系统cpu资源和网络带宽,一键式操作减轻了网络管理员的运维负担。同时,在云化场景中vr可根据物理资源的调度分配算法,保持session不断流的情况下完成vr在不同host上的迁移功能。提高了物理资源的利用率,均衡了云化场景的资源负载,方便云计算数据中心的运维,提升了用户云化体验。
154.为实现本技术实施例的方法,本技术实施例还提供了一种虚拟路由器的迁移装置,应用于第一电子设备,如图17所示,该装置包括:
155.第一处理单元1701,用于根据接收到的第一虚拟路由器的vrrp报文,确定第二电子设备;所述第二电子设备表征运行有所述第一虚拟路由器的电子设备;
156.第一交互单元1702,用于与所述第二电子设备进行第一报文交互;所述第一报文交互表征控制报文的交互,用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
157.第二交互单元1703,用于与所述第二电子设备进行第二报文交互;所述第二报文交互表征数据报文的交互,用于同步所述第一虚拟路由器的会话数据;
158.发送单元1704,用于在所述第一虚拟路由器的会话数据同步完成后,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文。
159.其中,在一个实施例中,所述第一交互单元1702,用于:
160.向所述第二电子设备发送第一控制报文;所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据。
161.在一个实施例中,所述装置还包括:
162.第一接收单元,用于在所述第一交互单元1702向所述第二电子设备发送第一控制报文之后,接收所述第二电子设备发送的第二控制报文;所述第二控制报文表征所述第二电子设备响应于所述第一控制报文的控制报文,且携带有用于配置所述第一虚拟路由器的配置信息。
163.在一个实施例中,所述发送单元1704,用于:
164.在接收到所述第二电子设备发送的第三控制报文的情况下,基于接收到的会话数据广播所述第一虚拟路由器的vrrp报文;所述第三控制报文表征所述第一虚拟路由器的会
话数据发送完成。
165.在一个实施例中,所述第一电子设备与所述第二电子设备之间基于tcp或udp交互控制报文及数据报文。
166.在一个实施例中,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
167.在一个实施例中,所述第一虚拟路由器包括以下至少之一:
168.运行于故障电子设备的虚拟路由器;
169.运行于负载高于设定阈值的电子设备的虚拟路由器;
170.通过指令确定出的虚拟路由器。
171.实际应用时,所述第一处理单元1701、所述发送单元1704可由基于虚拟路由器的迁移装置中的处理器结合通信接口实现,所述第一交互单元1702、所述第二交互单元1703、所述第一接收单元可由基于虚拟路由器的迁移装置中的通信接口实现。
172.需要说明的是:上述实施例提供的虚拟路由器的迁移装置在进行虚拟路由器的迁移时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的虚拟路由器的迁移装置与虚拟路由器的迁移方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
173.为实现本技术实施例的方法,本技术实施例还提供了一种虚拟路由器的迁移装置,应用于第二电子设备,如图18所示,该装置包括:
174.第三交互单元1801,用于与第一电子设备进行第一报文交互;所述第一报文交互表征控制报文的交互,用于所述第一电子设备请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
175.第四交互单元1802,用于与所述第一电子设备进行第二报文交互;所述第二报文交互表征数据报文的交互,用于向所述第一电子设备同步所述第一虚拟路由器的会话数据。
176.其中,在一个实施例中,所述第三交互单元1801,用于:
177.接收所述第一电子设备发送第一控制报文;所述第一控制报文用于请求所述第二电子设备同步所述第一虚拟路由器的会话数据;
178.响应于所述第一控制报文,向所述第一电子设备发送第二控制报文;所述第二控制报文携带有用于配置所述第一虚拟路由器的配置信息。
179.在一个实施例中,在所述第一虚拟路由器的会话数据发送完成后,所述装置还包括:
180.第二处理单元,用于删除所述第一虚拟路由器的会话数据;和/或,
181.向所述第一电子设备发送第三控制报文;所述第三控制报文表征所述第一虚拟路由器的会话数据发送完成。
182.在一个实施例中,所述第一电子设备与所述第二电子设备之间基于tcp或udp交互控制报文及数据报文。
183.在一个实施例中,所述第一电子设备与所述第二电子设备交互的报文中包括第一字段;所述第一字段用于标识对应的报文为控制报文或数据报文。
184.在一个实施例中,所述第一虚拟路由器包括以下至少之一:
185.运行于故障电子设备的虚拟路由器;
186.运行于负载高于设定阈值的电子设备的虚拟路由器;
187.通过指令确定出的虚拟路由器。
188.实际应用时,所述第三交互单元1801、所述第四交互单元1802可由基于虚拟路由器的迁移装置中的通信接口实现,所述第二处理单元可由基于虚拟路由器的迁移装置中的处理器结合通信接口实现。
189.需要说明的是:上述实施例提供的虚拟路由器的迁移装置在进行虚拟路由器的迁移时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的虚拟路由器的迁移装置与虚拟路由器的迁移方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
190.基于上述程序模块的硬件实现,且为了实现本技术实施例虚拟路由器的迁移方法,本技术实施例还提供了一种电子设备。图19为本技术实施例电子设备的硬件组成结构示意图,如图19所示,电子设备包括:
191.通信接口1,能够与其它设备比如网络设备等进行信息交互;
192.处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器3上。
193.当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图19中将各种总线都标为总线系统4。
194.本技术实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
195.可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接
动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
196.上述本技术实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
197.处理器2执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
198.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
199.在本技术所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
200.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
201.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
202.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
203.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或网络设备等)执行本技术各个实施例所述方法的全部或部分。而
前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
204.可以理解的是,在本技术实施例中,涉及到用户信息,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
205.需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。除非另有说明和限定,术语“连接”应做广义理解,例如,可以是电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
206.另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本技术的实施例可以除了在这里图示或描述的那些以外的顺序实施。
207.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一个”表示多个中的任意一个或多个中的至少两个的任意组合,例如,包括a、b、c中的至少一个,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
208.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
209.在具体实施方式中所描述的各个实施例中的各个具体技术特征,在不矛盾的情况下,可以进行各种组合,例如通过不同的具体技术特征的组合可以形成不同的实施方式,为了避免不必要的重复,本技术中各个具体技术特征的各种可能的组合方式不再另行说明。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1