一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、电子设备及存储介质与流程

2022-07-22 21:57:07 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。


背景技术:

2.目前,相关技术在进行虚拟路由器、虚拟防火墙等虚拟网络设备迁移时,采用双节点同步热备和多节点全同步这两种技术进行同步迁移。双节点同步热备只适用于同步两个物理节点的全部连接跟踪信息;多节点全同步会同步所有节点之间的同步数据,占用内存等资源较多。


技术实现要素:

3.为了解决上述问题,本发明实施例提供了一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术只能同步物理节点之间的连接跟踪信息的问题。
4.本发明的技术方案是这样实现的:
5.第一方面,本发明实施例提供了一种数据处理方法,该方法包括:
6.监听第一节点的第一虚拟设备对应的内存映射空间;所述第一节点中的每个第一虚拟设备对应一个内存映射空间;所述内存映射空间存储有对应的第一虚拟设备的连接跟踪信息;
7.在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取所述内存映射空间中发生变化的连接跟踪信息;
8.基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息;所述第二虚拟设备为所述第一虚拟设备的备用设备;所述第一节点和所述第二节点为集群中的工作节点。
9.在上述方案中,所述获取所述内存映射空间中发生变化的连接跟踪信息,包括:
10.基于所述第一虚拟设备的标识,在所述第一节点中查找所述第一虚拟设备对应的内存映射空间;
11.从所述第一虚拟设备对应的内存映射空间中获取发生变化的连接跟踪信息。
12.在上述方案中,在基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息时,所述方法包括:
13.基于所述第一虚拟设备的标识,在所述第二节点中查找所述第二虚拟设备对应的内存映射空间;
14.基于所述发生变化的连接跟踪信息,修改所述第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息。
15.在上述方案中,所述方法还包括:
16.监听控制面收到的信息;
17.在监听到所述控制面接收到切换指令的情况下,将所述第二虚拟设备设置为主要
设备,将所述第一虚拟设备设置为备用设备;所述切换指令用于进行主备切换。
18.在上述方案中,所述方法还包括:
19.监听所述第一虚拟设备的状态;
20.在所述第一虚拟设备的状态表征所述第一虚拟设备出现故障的情况下,将所述第二虚拟设备设置为主要设备,将所述第一虚拟设备设置为备用设备。
21.在上述方案中,所述将所述第二虚拟设备设置为主要设备,包括:
22.将所述第一虚拟设备的流量接入所述第二虚拟设备。
23.在上述方案中,所述基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息,包括:
24.基于第一组件确定所述第二虚拟设备的位置信息;所述第一组件存储有所述第一虚拟设备的备用设备的位置信息;
25.基于所述第二虚拟设备的位置信息,同步所述第二虚拟设备对应的内存映射空间中的连接跟踪信息。
26.第二方面,本发明实施例提供了一种数据处理装置,该装置包括:
27.监听模块,用于监听第一节点的第一虚拟设备对应的内存映射空间;所述第一节点中的每个第一虚拟设备对应一个内存映射空间;所述内存映射空间存储有对应的第一虚拟设备的连接跟踪信息;
28.获取模块,用于在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取所述内存映射空间中发生变化的连接跟踪信息;
29.同步模块,用于基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息;所述第二虚拟设备为所述第一虚拟设备的备用设备;所述第一节点和所述第二节点为集群中的工作节点。
30.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的数据处理方法的步骤。
31.第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的数据处理方法的步骤。
32.本发明实施例通过监听第一节点的第一虚拟设备对应的内存映射空间,内存映射空间存储有对应的第一虚拟设备的连接跟踪信息,在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取内存映射空间中发生变化的连接跟踪信息,基于发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息。其中,第一节点中的每个第一虚拟设备对应一个内存映射空间,第二虚拟设备为第一虚拟设备的备用设备;第一节点和第二节点为集群中的工作节点。本发明实施例根据第一节点的第一虚拟设备的内存映射空间中发生变化的连接跟踪信息,去同步第二节点中的第二虚拟设备对应的内存映射空间中的连接跟踪信息,实现独立同步单个节点中的单个虚拟设备的连接跟踪信息,将精度从现有技术的节点缩小到虚拟设备,减少了内存、带宽等资源占用,提高了同步效率。在虚拟机迁移、版本升级等场景下,因为连接跟踪信息已经同步,流量
可以无缝迁移到备用设备。
附图说明
33.图1是本发明实施例提供的一种数据处理方法的实现流程示意图;
34.图2是本发明实施例提供的一种icache的结构示意图;
35.图3是本发明实施例提供的另一种数据处理方法的实现流程示意图;
36.图4是本发明实施例提供的另一种数据处理方法的实现流程示意图;
37.图5是本发明实施例提供的另一种数据处理方法的实现流程示意图;
38.图6是本发明实施例提供的另一种数据处理方法的实现流程示意图;
39.图7是本发明实施例提供的另一种数据处理方法的实现流程示意图;
40.图8是本发明实施例提供的一种虚拟设备迁移系统的功能示意图;
41.图9是本发明实施例提供的一种主备切换流程的示意图;
42.图10是本发明实施例提供的一种数据处理装置的示意图;
43.图11是本发明一实施例提供的电子设备的示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.云服务可以为用户提供简单、方便、高可用的计算存储以及网络服务,网络服务作为用户体验“不中断”服务最直接的接触对象,在虚拟机迁移、版本升级等场景下,需要保持网络连接不断线和不重连。内核conntrack(connection tracking)跟踪机制被用于记录网络连接的状态,在虚拟路由器、虚拟防火墙等网络设备迁移时,连接跟踪信息需要进行同步迁移。
46.相关技术采用双节点同步热备和多节点全同步这两种技术进行同步迁移,双节点同步热备通过在两个节点上配置conntrack-tools,来实现两个节点上的连接跟踪记录实时同步,在两个节点上运行keepalived来做主备的切换。当主机故障时,keepalived切换备机为主机,因为连接跟踪已经同步,流量可以无缝迁移到备机。但是此方案只适用于同步两个物理机的全部连接跟踪信息,对于云上众多的虚拟设备的连接跟踪信息无法独立同步。多节点全同步在多个节点组成的集群中,连接跟踪记录在所有节点之间全同步,任意的虚拟设备迁移到任意节点,都可以实现连接不中断。但是此方案因为全同步所有节点,导致占用内存等资源较多,带宽开销较大。
47.针对上述相关技术的缺点,本发明实施例提供了一种数据处理方法,至少能够实现独立同步单个虚拟设备的连接跟踪信息。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
48.图1是本发明实施例提供的一种数据处理方法的实现流程示意图,所述数据处理方法的执行主体为集群中的节点(云主机),节点可以是台式电脑、笔记本电脑等电子设备。参考图1,数据处理方法包括:
49.s101,监听第一节点的第一虚拟设备对应的内存映射空间;所述第一节点中的每个第一虚拟设备对应一个内存映射空间;所述内存映射空间存储有对应的第一虚拟设备的连接跟踪信息。
50.这里,第一节点可以是集群中任意一个工作节点,工作节点就是集群对外提供云服务的节点。第一虚拟设备是第一节点中的虚拟路由器、虚拟防火墙等网络设备。
51.在本发明实施例中,在第一节点中,每个第一虚拟设备对应一个内存映射空间(icache),内存映射空间用于存储对应的第一虚拟设备的连接跟踪信息(conntrack条目),每一个第一虚拟设备维护各自的内存映射空间。
52.连接跟踪是linux内核中引入的nf_conntrack模块所实现的功能,同时支持网际协议版本4(ipv4,internetprotocol version 4)和网际协议版本6(ipv6,internet protocol version 6),用于跟踪连接的状态,供其他模块使用。顾名思义,就是跟踪并且记录连接状态。linux为每一个经过网络堆栈的数据包都会记录其状态,生成一个新的连接记录,并将后续的数据包都分配给对应的连接,并更新连接的状态。连接跟踪主要用于linux的网络地址转换(nat,networkaddress translation)以及状态防火墙。
53.所有在内核中由netfilter的特定框架做的连接跟踪称作conntrack,conntrack可以作为模块安装,也可以作为内核的一部分。conntrack中有许多用来处理tcp、udp或icmp协议的部件。这些模块从数据包中提取详细的、唯一的信息,因此能保持对每一个数据流的跟踪。这些信息也告知conntrack流当前的状态。例如,udp流一般由他们的目的地址、源地址、目的端口和源端口唯一确定。
54.conntrack-tools是一组用于linux的免费软件用户空间工具,允许系统管理员与连接跟踪系统进行交互,conntrack-tools包括用户空间守护进程conntrackd和命令行界面conntrack。
55.conntrack-tools记录的信息就是连接跟踪信息,通过记录多种数据包的信息来确定每个数据包应该匹配到哪一个连接,通常把这些信息叫做连接跟踪的五元组,五元组:源ip地址、目的ip地址、协议号、源端口和目的端口。当然针对不同的协议,可能还有四元组、七元组等等,也存在为了特殊需要而修改连接跟踪模块使其记录更多信息情况。
56.图2是本发明实施例提供的一种icache的结构示意图,如图2所示,每个第一虚拟设备关联的连接跟踪信息通过zone id进行区分,例如,图2中的zone(1)对应一个第一虚拟设备,zone(1)连接的hash(k1)表示该第一虚拟设备对应的连接跟踪信息,data中存储有具体的连接跟踪数据。连接跟踪信息以连接跟踪表的形式存储,连接跟踪表是一个由全局变量ip_conntrack_hash所指向的哈希表,实际上是一个由数据包元组哈希值组成的双向循环链表数组。
57.在实际应用中,连接跟踪信息的数据格式可以如下:
58.[root@vm-0-4-centos~]#conntrack-l|grep 192.168
[0059]
conntrack v1.4.4(conntrack-tools):108flow entries have been shown.
[0060]
tcp 6 114 time_wait src=192.168.100.2 dst=192.168.100.3 sport=48541 dport=45000 src=192.168.100.3 dst=192.168.100.2 sport=45000 dport=48541[assured]mark=0 zone=100 use=1
[0061]
tcp 6 431994 established src=192.168.100.2 dst=192.168.100.3......
[0062]
[root@vm-0-4-centos~]#
[0063]
其中包含了源ip、源端口、目的ip、目的端口、zone id(如zone=100)和连接状态信息(如established)。在进行同步时,根据zone id只同步每个虚拟设备自己的conntrack。
[0064]
在实际应用中,可以通过netlink监听每个第一虚拟设备的连接跟踪信息的变化,netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(ipc),也是网络应用程序与内核通信的最常用的接口。通过netlink可以监听内存映射空间中的数据变动。
[0065]
s102,在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取所述内存映射空间中发生变化的连接跟踪信息。
[0066]
参考图3,在一实施例中,所述获取所述内存映射空间中发生变化的连接跟踪信息,包括:
[0067]
s301,基于所述第一虚拟设备的标识,在所述第一节点中查找所述第一虚拟设备对应的内存映射空间。
[0068]
s302,从所述第一虚拟设备对应的内存映射空间中获取发生变化的连接跟踪信息。
[0069]
在第一节点中,每个第一虚拟设备对应一个内存映射空间,每个第一虚拟设备对应的内存映射空间通过标识进行区分,这里标识可以为上述实施例中的zone id。通过标识定位第一虚拟设备的内存映射空间的位置,在内存映射空间中获取发生变化的连接跟踪信息。
[0070]
在第一虚拟设备对外提供服务的时候,第一虚拟设备对应的连接跟踪信息可能会发生变化。这里,连接跟踪信息发生变化包括:在内存映射空间中写入新的连接跟踪信息,或者对已有的连接跟踪信息进行修改或删除。从内存映射空间中获取具体变化的连接跟踪信息,例如可以获取内存映射空间中发生变化的hash表。
[0071]
s103,基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息;所述第二虚拟设备为所述第一虚拟设备的备用设备;所述第一节点和所述第二节点为集群中的工作节点。
[0072]
为保证服务不中断,在集群中的虚拟设备通常会设置主备设备,在设备异常时通过主备切换来实现服务不中断。这里,第一虚拟设备为主设备,第二虚拟设备是第一虚拟设备的备用设备。在第一虚拟设备正常的情况下,由第一虚拟设备对外提供服务;在第一虚拟设备异常的情况下,切换到第二虚拟设备对外提供服务。第二虚拟设备位于第二节点中,第二节点是集群中除第一节点之外的节点。
[0073]
在第二节点中第二虚拟设备对应的内存映射空间中,根据第一节点中第一虚拟设备对应的发生变化的连接跟踪信息,修改第二虚拟设备对应的内存映射空间中的连接跟踪信息,实现第一虚拟设备和第二虚拟设备的信息同步。
[0074]
参考图4,在一实施例中,在基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息时,所述方法包括:
[0075]
s401,基于所述第一虚拟设备的标识,在所述第二节点中查找所述第二虚拟设备对应的内存映射空间。
[0076]
s402,基于所述发生变化的连接跟踪信息,修改所述第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息。
[0077]
因为第一虚拟设备和第二虚拟设备互为主备,第一虚拟设备和第二虚拟设备的标识和各种信息都是相同的,例如,在第一节点中第一虚拟设备的zone id为100,在第二节点中第二虚拟设备的zone id也为100。
[0078]
因此基于第一虚拟设备的标识,可以在第二节点中查找到第二虚拟设备对应的内存映射空间,然后基于第一虚拟设备对应的发生变化的连接跟踪信息,修改第二虚拟设备对应的内存映射空间中的连接跟踪信息,实现第一虚拟设备和第二虚拟设备的连接跟踪信息同步,从而在进行虚拟设备迁移等需要进行主备切换的情况下,实现业务不中断。
[0079]
参考图5,在一实施例中,所述基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息,包括:
[0080]
s501,基于第一组件确定所述第二虚拟设备的位置信息;所述第一组件存储有所述第一虚拟设备的备用设备的位置信息。
[0081]
s502,基于所述第二虚拟设备的位置信息,同步所述第二虚拟设备对应的内存映射空间中的连接跟踪信息。
[0082]
在本发明实施例中,在集群的每个节点中都设置一个第一组件,第一组件存储有节点中的虚拟设备的主备地址信息,即第一虚拟设备和第二虚拟设备的位置信息,具体可以包括虚拟设备所在的节点标识、虚拟设备的id、虚拟设备对应的内存映射空间地址和虚拟设备归属的组等信息。
[0083]
从第一组件中获取第一虚拟设备的备用设备(第二虚拟设备)的位置信息,在连接跟踪同步时可以精确找到需要同步的虚拟设备以及目的位置,维护每个虚拟设备的信息。
[0084]
本发明实施例可以基于conntrackd(用户空间守护进程)实现同步单个虚拟设备的连接跟踪信息,通过扩展conntrackd的icache结构,icache就是conntrack条目的内存映射,每个第一虚拟设备维护自己的icache,在icache中的连接跟踪信息发生变化的时候,自动同步备用设备的icache中的连接跟踪信息。
[0085]
本发明实施例通过监听第一节点的第一虚拟设备对应的内存映射空间,内存映射空间存储有对应的第一虚拟设备的连接跟踪信息,在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取内存映射空间中发生变化的连接跟踪信息,基于发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息。其中,第一节点中的每个第一虚拟设备对应一个内存映射空间,第二虚拟设备为第一虚拟设备的备用设备;第一节点和第二节点为集群中的工作节点。本发明实施例根据第一节点的第一虚拟设备的内存映射空间中发生变化的连接跟踪信息,同步第二节点中的第二虚拟设备对应的内存映射空间中的连接跟踪信息,实现独立同步单个节点中的单个虚拟设备的连接跟踪信息,将精度从现有技术的节点缩小到虚拟设备,减少了内存、带宽等资源占用,提高了同步效率。在虚拟机迁移、版本升级等场景下,因为连接跟踪信息已经同步,流量可以无缝迁移到备用设备。
[0086]
参考图6,在一实施例中,所述方法还包括:
[0087]
s601,监听控制面收到的信息。
[0088]
s602,在监听到所述控制面接收到切换指令的情况下,将所述第二虚拟设备设置
为主要设备,将所述第一虚拟设备设置为备用设备;所述切换指令用于进行主备切换。
[0089]
本发明实施例中,用户可以通过控制面主动进行主备切换。这里,控制面也可以指集群的集群控制器,用于接收外部指令,比如接收用户输入的控制信息。通过对控制面进行监听,在监听到控制面接收到切换指令的情况下,切换指令用于进行主备切换,具体的,切换指令用于将第二虚拟设备设置为主要设备,将第一虚拟设备设置为备用设备。
[0090]
参考图7,在一实施例中,所述方法还包括:
[0091]
s701,监听所述第一虚拟设备的状态。
[0092]
s702,在所述第一虚拟设备的状态表征所述第一虚拟设备出现故障的情况下,将所述第二虚拟设备设置为主要设备,将所述第一虚拟设备设置为备用设备。
[0093]
本发明实施例可以自动进行主备切换,通过监听第一节点中的每一个第一虚拟机的状态,如果发现第一虚拟设备出现异常,比如网络质量差、被恶意入侵、文件损害等情况,就自动触发主备切换,将第二虚拟设备设置为主要设备,将第一虚拟设备设置为备用设备。
[0094]
在实际应用中,可以通过keepalived实现主备切换,keepalived是基于vrrp协议的一款高可用软件,广泛用于高可用集群中,可以用来监控集群系统中各个服务器节点的状态,如果某个服务器节点出现异常,或者工作出现故障,keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除。
[0095]
在一实施例中,所述将所述第二虚拟设备设置为主要设备,包括:
[0096]
将所述第一虚拟设备的流量接入所述第二虚拟设备。
[0097]
停止第一虚拟设备对外提供服务,将原本发往第一虚拟设备的流量转接到第二虚拟设备,由第二虚拟设备对外提供服务,由于连接跟踪信息已经同步,流量可以无缝迁移到备用设备,实现业务不中断,切换过程不卡顿,用户无感知,提高用户体验。
[0098]
参考图8,图8是本发明实施例提供的一种虚拟设备迁移系统的功能示意图。在图8中,host1和host2为集群的2个节点,在每个节点中安装有虚拟设备vr1、vr2和vr3。local控制器用于接收集群控制器发送的控制消息;配置管理模块主要用于接收local控制器的消息,根据配置消息生成本地虚拟设备的映射。当创建虚拟设备时,创建虚拟设备的同时配置主备设备所在的节点,比如host1和host2中的vr1。映射主备设备的位置到map组件中,当进行同步conntrack时,根据map信息同步到指定的位置。
[0099]
map组件中主要是存储节点上虚拟设备的信息,如虚拟路由器的主备地址信息、设备id和设备归属的组等。用于连接跟踪同步时精确找到需要同步的虚拟设备以及目的位置,维护着每个虚拟设备的信息。
[0100]
连接跟踪同步模块用于同步多个节点间的虚拟设备的连接跟踪记录,主要是基于conntrackd实现,可以支持云环境的多虚拟设备。原理是扩展conntrackd的icache结构,每个虚拟设备维护自己的icache,icache就是conntrack条目的内存映射。
[0101]
主备切换模块负责检查切换虚拟设备的主备,运行keepalived来维护每个虚拟设备的状态。主要有两种情况的主备切换:1)集群控制器的主动切换,集群控制器发送主动切换消息,在主备切换模块解析后,通知keepalived进行切换。2)虚拟设备故障切换,当虚拟设备出现故障时,keepalived监测到后,自动进行主备切换。
[0102]
参考图9,图9是本发明实施例提供的一种主备切换流程的示意图。主备切换流程包括:
[0103]
通过控制面进行消息监听,在监听到创建虚拟设备的消息时,进行map映射虚拟设备消息,映射主备设备的位置到map组件中,当进行同步conntrack时,可以根据map信息同步到指定的位置。
[0104]
keepalived初始化,重新配置keepalived,监听虚拟设备的状态变化,等待切换主备操作。keepalived监听到虚拟设备出现故障时,自动进行主备切换。切换后,将主设备的流量接入备用设备。
[0105]
主动切换监听,监听控制面收到的消息,在接收到切换消息的情况下,通知keepalived切换主备。
[0106]
conntrack监听,监听到conntrack发送变化的情况下,查找设备zone id,将变化的conntrack添加到icache中。然后查找map,将变化的conntrack发送到备节点中的备用设备,实现连接跟踪信息的同步。
[0107]
本发明实施例中,同步连接跟踪信息和进行主备切换是互不干扰的两个独立流程,实时更新主备设备的连接跟踪信息,因此在主备切换时,流量可以无缝迁移到备用设备。本发明实施例可以实现独立同步单个节点中的单个虚拟设备的连接跟踪信息,将精度从现有技术的节点缩小到虚拟设备,减少了内存、带宽等资源占用,提高了同步效率。在虚拟机迁移、版本升级等场景下,因为连接跟踪信息已经同步,流量可以无缝迁移到备用设备。
[0108]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0109]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0110]
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0111]
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0112]
参考图10,图10是本发明实施例提供的一种数据处理装置的示意图,如图10所示,该装置包括监听模块、获取模块和同步模块。
[0113]
监听模块,用于监听第一节点的第一虚拟设备对应的内存映射空间;所述第一节点中的每个第一虚拟设备对应一个内存映射空间;所述内存映射空间存储有对应的第一虚拟设备的连接跟踪信息;
[0114]
获取模块,用于在监听到第一节点的第一虚拟设备的连接跟踪信息发生变化的情况下,获取所述内存映射空间中发生变化的连接跟踪信息;
[0115]
同步模块,用于基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息;所述第二虚拟设备为所述第一虚拟设备的备用设备;所述第一节点和所述第二节点为集群中的工作节点。
[0116]
在一实施例中,所述获取模块获取所述内存映射空间中发生变化的连接跟踪信息,包括:
[0117]
基于所述第一虚拟设备的标识,在所述第一节点中查找所述第一虚拟设备对应的内存映射空间;
[0118]
从所述第一虚拟设备对应的内存映射空间中获取发生变化的连接跟踪信息。
[0119]
在一实施例中,同步模块基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息,包括:
[0120]
基于所述第一虚拟设备的标识,在所述第二节点中查找所述第二虚拟设备对应的内存映射空间;
[0121]
基于所述发生变化的连接跟踪信息,修改所述第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息。
[0122]
在一实施例中,所述装置还包括:
[0123]
第一监听模块,监听控制面收到的信息;
[0124]
切换模块,在监听到所述控制面接收到切换指令的情况下,将所述第二虚拟设备设置为主要设备,将所述第一虚拟设备设置为备用设备;所述切换指令用于进行主备切换。
[0125]
在一实施例中,所述装置还包括:
[0126]
第二监听模块,监听所述第一虚拟设备的状态;
[0127]
上述切换模块,在所述第一虚拟设备的状态表征所述第一虚拟设备出现故障的情况下,将所述第二虚拟设备设置为主要设备,将所述第一虚拟设备设置为备用设备。
[0128]
在一实施例中,切换模块将所述第二虚拟设备设置为主要设备,包括:
[0129]
将所述第一虚拟设备的流量接入所述第二虚拟设备。
[0130]
在一实施例中,同步模块基于所述发生变化的连接跟踪信息,同步第二节点的第二虚拟设备对应的内存映射空间中的连接跟踪信息,包括:
[0131]
基于第一组件确定所述第二虚拟设备的位置信息;所述第一组件存储有所述第一虚拟设备的备用设备的位置信息;
[0132]
基于所述第二虚拟设备的位置信息,同步所述第二虚拟设备对应的内存映射空间中的连接跟踪信息。
[0133]
实际应用时,所述获取模块、监听模块和同步模块可通过电子设备中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
[0134]
需要说明的是:上述实施例提供的装置在进行数据处理时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0135]
基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备。图11为本技术实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:
[0136]
通信接口,能够与其它设备比如网络设备等进行信息交互;
[0137]
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机
程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
[0138]
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。
[0139]
本技术实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
[0140]
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read onlymemory)、可编程只读存储器(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,compactdisc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccess memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static randomaccess memory)、同步静态随机存取存储器(ssram,synchronous static randomaccess memory)、动态随机存取存储器(dram,dynamic randomaccess memory)、同步动态随机存取存储器(sdram,synchronous dynamic randomaccess memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double datarate synchronous dynamic randomaccess memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic randomaccess memory)、同步连接动态随机存取存储器(sldram,synclink dynamic randomaccess memory)、直接内存总线随机存取存储器(drram,direct rambus randomaccess memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0141]
上述本技术实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
[0142]
可选地,所述处理器执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0143]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由
电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0144]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0145]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0146]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0147]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0148]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0149]
需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0150]
另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0151]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献