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

一种虚拟机高可用实现方法、装置和设备与流程

2021-10-29 23:06:00 来源:中国专利 TAG:虚拟机 可用 装置 计算机 方法


1.本发明属于计算机技术领域,具体涉及一种虚拟机高可用实现方法、装置和设备。


背景技术:

2.虚拟机ha(high availability,高可用性)功能是指为虚拟机上运行的应用程序提供高可用性的功能。如果服务器出现故障,受到影响的虚拟机会在其他拥有多余容量的生产服务器上重新启动,有效降低停机时间和服务中断时间。
3.其中,ha功能允许一个集群中在资源许可的情况下,将出现故障的虚拟化主机(安装了虚拟化软件的物理服务器,下同)上面的虚拟机在其他的虚拟化主机上启动起来,其间的业务时间间断为:vm系统启动时间 应用启动时间 通常不超过15秒的心跳检测时间,通常这个总的中断时间都能够保持在3分钟内。
4.现有技术中,常见的ha工作机制是由放置在每台虚拟化主机上的代理程序不断向群集中的其他主机发出“心跳信号”,一旦“心跳信号”终止,所有受影响的虚拟机将在其他主机上重启。例如目前最为常用的vmware虚拟化软件中,可以通过安装vmtools对虚拟机的运行状态进行监控,并通过vmtools发出监控信号,如果在规定时间内没有收到信号则说明该虚拟化主机异常,将自动重启上面的虚拟机。
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.设置一个计数器count和保存最多特征值的变量majority;
30.若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
31.若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
32.重复上述步骤,直到扫描完数组;
33.若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
34.若此时count的值大于等于n/2,则返回majority的值,反之则返回

1,其中,n为总票数。
35.在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
36.第二方面,本发明提供一种虚拟机高可用实现装置,包括:
37.网络连接模块,用于构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
38.状态指纹计算模块,用于获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
39.投票模块,用于基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
40.信息同步模块,用于将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
41.在一种可能的设计中,所述装置还包括:
42.校验模块,用于对所述样本状态指纹信息的同步结果进行校验;
43.二次同步模块,用于当某虚拟机节点同步后的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
44.在一种可能的设计中,在将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接时,所述网络连接模块具体用于:
45.为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
46.每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
47.在一种可能的设计中,在计算所述当前属性信息的状态指纹信息时,所述状态指纹计算模块具体用于:
48.基于所述当前属性信息更新所述状态指纹信息;
49.利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
50.将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
51.在一种可能的设计中,在基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本时,所述投票模块具体用于:
52.利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
53.将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
54.设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
55.对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
56.在一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
57.设置一个计数器count和保存最多特征值的变量majority;
58.若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
59.若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
60.重复上述步骤,直到扫描完数组;
61.若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
62.若此时count的值大于等于n/2,则返回majority的值,反之则返回

1,其中,n为总票数。
63.在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
64.第三方面,本发明提供一种计算机设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
65.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
66.第五方面,本发明提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行执行如第一方面任意一种可能的设计中所述的虚拟机高可用实
现方法。
67.有益效果:
68.本发明通过构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与专用同步网络建立连接,使得虚拟机集群中的所有虚拟机节点可通过专用同步网络实现后续的状态指纹信息的后台同步;通过获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。当用户使用本发明的虚拟机集群时,若用户当前连接的虚拟机节点因发生故障中断时,基于专用同步网络的信息同步机制,用户可直接重新连接至集群中的任意一个虚拟机节点,因每一虚拟机节点中均保存有用户当前的工作状态信息,因此不存在任何的数据丢失,从而大大提升了用户在切换虚拟机节点的可靠性,并提高了用户体验。
附图说明
69.图1为本发明实施例中的虚拟机高可用实现方法的流程图;
70.图2为本发明实施例中的虚拟机高可用实现装置的结构图。
具体实施方式
71.为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
72.实施例
73.如图1所示,第一方面,本发明提供一种虚拟机高可用实现方法,包括但不限于由步骤s101~s104实现:
74.步骤s101.构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
75.其中,需要说明的是,所述专用同步网络是虚拟机集群专用的网络,每一虚拟机集群对应设置有一个专用同步网络,该网络与其他业务网络、管理网络和存储网络等相互隔离;基于所述专用同步网络,可以实现后续的状态指纹信息同步传输。
76.其中,在步骤s101一种可能的设计中,将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接,包括:
77.为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
78.每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
79.步骤s102.获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
80.其中,需要说明的是,所述当前属性信息包括用户输入信息和当前状态信息;其中,所述用户输入信息包括但不限于键盘输入信息、鼠标输入信息和屏幕输入信息,所述当
前状态信息包括但不限于键盘缓冲区信息、鼠标位置信息和屏幕截屏图像信息。
81.其中,需要说明的是,所述状态指纹信息包括但不限于虚拟机主机的内存指纹信息、主机的进程指纹信息、主机的键盘缓冲区指纹信息、主机的鼠标坐标指纹信息以及主机的屏幕图像指纹信息。
82.其中,在步骤s102一种可能的设计中,计算所述当前属性信息的状态指纹信息,包括:
83.步骤s1021.基于所述当前属性信息更新所述状态指纹信息;
84.其中,需要说明的是,用户进行操作时,例如通过键盘、鼠标或者屏幕进行操作,与用户连接的虚拟机节点能够感知到用户操作,即所述属性信息,则虚拟机节点接收到用户操作之后,可以进一步更新状态指纹信息,包括但不限于上述的虚拟机主机的内存指纹信息、主机的进程指纹信息、主机的键盘缓冲区指纹信息、主机的鼠标坐标指纹信息以及主机的屏幕图像指纹信息。
85.步骤s1022.利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
86.步骤s1023.将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
87.步骤s103.基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
88.其中,需要说明的是,由于虚拟机集群中的若干个虚拟机节点的数量一般为奇数,则基于多数平均投票算法模型始终能够得到票数最多的虚拟机节点,通过记录每一虚拟机节点的桌面、键盘和鼠标等操作的状态指纹信息,能够得到与用户进行交互最多的虚拟机节点,从而将该虚拟机节点的内容同步至每一虚拟机节点,能够保证数据的严格同步。
89.其中,在步骤s103的一种可能的设计中,基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点,包括:
90.步骤s1031.利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
91.步骤s1032.将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
92.其中,需要说明的是,多数平均算法模型的关键是:在不影响用户操作体验条件下,将尽可能多的正在连接的虚拟机节点作为同步主节点,只有在正在连接的虚拟机节点出现故障时,才需要对虚拟机节点进行切换。
93.其中,在步骤s1032一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
94.设置一个计数器count和保存最多特征值的变量majority;
95.若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
96.若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
97.重复上述步骤,直到扫描完数组;
98.若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
99.若此时count的值大于等于n/2,则返回majority的值,反之则返回

1,其中,n为总
票数。
100.步骤s1033.设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
101.步骤s1034.对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
102.步骤s104.将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
103.在一种可选的实施方式中,所述方法还包括:
104.步骤s105.对所述样本状态指纹信息的同步结果进行校验;
105.其中,需要说明的是,当虚拟机集群中的所有虚拟机节点进入同步模式,并完成状态指纹信息同步之后,通过计算每一其他虚拟机节点的终端状态指纹信息,包括计算机内存状态指纹信息和缓冲区状态指纹信息等等,并判断该状态指纹信息与样本状态指纹信息是否相同,若相同,则同步成功,若不相同,则同步失败。
106.当某虚拟机节点的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步,包括但不限于对该虚拟机节点进行休眠、唤醒和再次同步操作。
107.基于上述公开的内容,本实施例通过构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与专用同步网络建立连接,使得虚拟机集群中的所有虚拟机节点可通过专用同步网络实现后续的状态指纹信息的后台同步;通过获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点;将得票最多的虚拟机节点的状态指纹信息同步至虚拟机集群中的其他虚拟机节点。当用户使用本发明的虚拟机集群时,若用户当前连接的虚拟机节点因发生故障中断时,基于专用同步网络的信息同步机制,用户可直接重新连接至集群中的任意一个虚拟机节点,因每一虚拟机节点中均保存有用户当前的工作状态信息,因此不存在任何的数据丢失,从而大大提升了用户在切换虚拟机节点的可靠性,并提高了用户体验。
108.如图2所示,第二方面,本发明提供一种虚拟机高可用实现装置,包括:
109.网络连接模块,用于构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
110.状态指纹计算模块,用于获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
111.投票模块,用于基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
112.信息同步模块,用于将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
113.在一种可能的设计中,所述装置还包括:
114.校验模块,用于对所述样本状态指纹信息的同步结果进行校验;
115.二次同步模块,用于当某虚拟机节点的状态指纹信息异于所述状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
116.在一种可能的设计中,在将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接时,所述网络连接模块具体用于:
117.为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
118.每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
119.在一种可能的设计中,在计算所述当前属性信息的状态指纹信息时,所述状态指纹计算模块具体用于:
120.基于所述当前属性信息更新所述状态指纹信息;
121.利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
122.将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
123.在一种可能的设计中,在基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点时,所述投票模块具体用于:
124.利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
125.将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
126.设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
127.对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
128.在一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
129.设置一个计数器count和保存最多特征值的变量majority;
130.若count==0,则将now的值设置为数组的当前特征值,将majority赋值为1;
131.若majority和数组的当前特征值相同,则count ,否则count
‑‑

132.重复上述步骤,直到扫描完数组;
133.若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count ,直到扫描完数组;
134.若此时count的值大于等于n/2,则返回majority的值,反之则返回

1,其中,n为总票数。
135.在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
136.第三方面,本发明提供一种计算机设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
137.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
138.第五方面,本发明提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
139.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明
的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜