CN113568710A - 一种虚拟机高可用实现方法、装置和设备 - Google Patents

一种虚拟机高可用实现方法、装置和设备 Download PDF

Info

Publication number
CN113568710A
CN113568710A CN202110886980.XA CN202110886980A CN113568710A CN 113568710 A CN113568710 A CN 113568710A CN 202110886980 A CN202110886980 A CN 202110886980A CN 113568710 A CN113568710 A CN 113568710A
Authority
CN
China
Prior art keywords
virtual machine
fingerprint information
state fingerprint
node
machine node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110886980.XA
Other languages
English (en)
Other versions
CN113568710B (zh
Inventor
罗慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202110886980.XA priority Critical patent/CN113568710B/zh
Publication of CN113568710A publication Critical patent/CN113568710A/zh
Application granted granted Critical
Publication of CN113568710B publication Critical patent/CN113568710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种虚拟机高可用实现方法和装置,包括:构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与专用同步网络建立连接;获取每一虚拟机节点的当前属性信息,并计算当前属性信息的状态指纹信息;基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。若用户当前连接的虚拟机节点因发生故障中断时,基于专用同步网络的信息同步机制,用户可直接重新连接至集群中的任意一个虚拟机节点,不存在任何的数据丢失,从而大大提升了用户在切换虚拟机节点的可靠性。

Description

一种虚拟机高可用实现方法、装置和设备
技术领域
本发明属于计算机技术领域,具体涉及一种虚拟机高可用实现方法、装置和设备。
背景技术
虚拟机HA(High Availability,高可用性)功能是指为虚拟机上运行的应用程序提供高可用性的功能。如果服务器出现故障,受到影响的虚拟机会在其他拥有多余容量的生产服务器上重新启动,有效降低停机时间和服务中断时间。
其中,HA功能允许一个集群中在资源许可的情况下,将出现故障的虚拟化主机(安装了虚拟化软件的物理服务器,下同)上面的虚拟机在其他的虚拟化主机上启动起来,其间的业务时间间断为:VM***启动时间+应用启动时间+通常不超过15秒的心跳检测时间,通常这个总的中断时间都能够保持在3分钟内。
现有技术中,常见的HA工作机制是由放置在每台虚拟化主机上的代理程序不断向群集中的其他主机发出“心跳信号”,一旦“心跳信号”终止,所有受影响的虚拟机将在其他主机上重启。例如目前最为常用的VMware虚拟化软件中,可以通过安装VMtools对虚拟机的运行状态进行监控,并通过VMtools发出监控信号,如果在规定时间内没有收到信号则说明该虚拟化主机异常,将自动重启上面的虚拟机。
然而,上述虚拟机同步的方式并不能保证用户操作和数据的严格同步,在发生虚拟机故障进行切换时,始终存在数据丢失的情况,导致同步效果不甚理想。
发明内容
本发明的目的是提供一种虚拟机高可用实现方法、装置和设备,用以解决现有技术中存在的至少一个技术问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供一种虚拟机高可用实现方法,包括:
构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
在一种可能的设计中,所述方法还包括:
对所述样本状态指纹信息的同步结果进行校验;
当某虚拟机节点同步后的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
在一种可能的设计中,将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接,包括:
为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
在一种可能的设计中,计算所述当前属性信息的状态指纹信息,包括:
基于所述当前属性信息更新所述状态指纹信息;
利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
在一种可能的设计中,基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本,包括:
利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点,将该虚拟机节点作为同步样本。
在一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
设置一个计数器count和保存最多特征值的变量majority;
若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
重复上述步骤,直到扫描完数组;
若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
若此时count的值大于等于n/2,则返回majority的值,反之则返回-1,其中,n为总票数。
在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
第二方面,本发明提供一种虚拟机高可用实现装置,包括:
网络连接模块,用于构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
状态指纹计算模块,用于获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
投票模块,用于基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
信息同步模块,用于将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
在一种可能的设计中,所述装置还包括:
校验模块,用于对所述样本状态指纹信息的同步结果进行校验;
二次同步模块,用于当某虚拟机节点同步后的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
在一种可能的设计中,在将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接时,所述网络连接模块具体用于:
为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
在一种可能的设计中,在计算所述当前属性信息的状态指纹信息时,所述状态指纹计算模块具体用于:
基于所述当前属性信息更新所述状态指纹信息;
利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
在一种可能的设计中,在基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本时,所述投票模块具体用于:
利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
在一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
设置一个计数器count和保存最多特征值的变量majority;
若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
重复上述步骤,直到扫描完数组;
若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
若此时count的值大于等于n/2,则返回majority的值,反之则返回-1,其中,n为总票数。
在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
第三方面,本发明提供一种计算机设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
第五方面,本发明提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
有益效果:
本发明通过构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与专用同步网络建立连接,使得虚拟机集群中的所有虚拟机节点可通过专用同步网络实现后续的状态指纹信息的后台同步;通过获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。当用户使用本发明的虚拟机集群时,若用户当前连接的虚拟机节点因发生故障中断时,基于专用同步网络的信息同步机制,用户可直接重新连接至集群中的任意一个虚拟机节点,因每一虚拟机节点中均保存有用户当前的工作状态信息,因此不存在任何的数据丢失,从而大大提升了用户在切换虚拟机节点的可靠性,并提高了用户体验。
附图说明
图1为本发明实施例中的虚拟机高可用实现方法的流程图;
图2为本发明实施例中的虚拟机高可用实现装置的结构图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,第一方面,本发明提供一种虚拟机高可用实现方法,包括但不限于由步骤S101~S104实现:
步骤S101.构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
其中,需要说明的是,所述专用同步网络是虚拟机集群专用的网络,每一虚拟机集群对应设置有一个专用同步网络,该网络与其他业务网络、管理网络和存储网络等相互隔离;基于所述专用同步网络,可以实现后续的状态指纹信息同步传输。
其中,在步骤S101一种可能的设计中,将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接,包括:
为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
步骤S102.获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
其中,需要说明的是,所述当前属性信息包括用户输入信息和当前状态信息;其中,所述用户输入信息包括但不限于键盘输入信息、鼠标输入信息和屏幕输入信息,所述当前状态信息包括但不限于键盘缓冲区信息、鼠标位置信息和屏幕截屏图像信息。
其中,需要说明的是,所述状态指纹信息包括但不限于虚拟机主机的内存指纹信息、主机的进程指纹信息、主机的键盘缓冲区指纹信息、主机的鼠标坐标指纹信息以及主机的屏幕图像指纹信息。
其中,在步骤S102一种可能的设计中,计算所述当前属性信息的状态指纹信息,包括:
步骤S1021.基于所述当前属性信息更新所述状态指纹信息;
其中,需要说明的是,用户进行操作时,例如通过键盘、鼠标或者屏幕进行操作,与用户连接的虚拟机节点能够感知到用户操作,即所述属性信息,则虚拟机节点接收到用户操作之后,可以进一步更新状态指纹信息,包括但不限于上述的虚拟机主机的内存指纹信息、主机的进程指纹信息、主机的键盘缓冲区指纹信息、主机的鼠标坐标指纹信息以及主机的屏幕图像指纹信息。
步骤S1022.利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
步骤S1023.将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
步骤S103.基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
其中,需要说明的是,由于虚拟机集群中的若干个虚拟机节点的数量一般为奇数,则基于多数平均投票算法模型始终能够得到票数最多的虚拟机节点,通过记录每一虚拟机节点的桌面、键盘和鼠标等操作的状态指纹信息,能够得到与用户进行交互最多的虚拟机节点,从而将该虚拟机节点的内容同步至每一虚拟机节点,能够保证数据的严格同步。
其中,在步骤S103的一种可能的设计中,基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点,包括:
步骤S1031.利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
步骤S1032.将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
其中,需要说明的是,多数平均算法模型的关键是:在不影响用户操作体验条件下,将尽可能多的正在连接的虚拟机节点作为同步主节点,只有在正在连接的虚拟机节点出现故障时,才需要对虚拟机节点进行切换。
其中,在步骤S1032一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
设置一个计数器count和保存最多特征值的变量majority;
若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
重复上述步骤,直到扫描完数组;
若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
若此时count的值大于等于n/2,则返回majority的值,反之则返回-1,其中,n为总票数。
步骤S1033.设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
步骤S1034.对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
步骤S104.将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
在一种可选的实施方式中,所述方法还包括:
步骤S105.对所述样本状态指纹信息的同步结果进行校验;
其中,需要说明的是,当虚拟机集群中的所有虚拟机节点进入同步模式,并完成状态指纹信息同步之后,通过计算每一其他虚拟机节点的终端状态指纹信息,包括计算机内存状态指纹信息和缓冲区状态指纹信息等等,并判断该状态指纹信息与样本状态指纹信息是否相同,若相同,则同步成功,若不相同,则同步失败。
当某虚拟机节点的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步,包括但不限于对该虚拟机节点进行休眠、唤醒和再次同步操作。
基于上述公开的内容,本实施例通过构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与专用同步网络建立连接,使得虚拟机集群中的所有虚拟机节点可通过专用同步网络实现后续的状态指纹信息的后台同步;通过获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点;将得票最多的虚拟机节点的状态指纹信息同步至虚拟机集群中的其他虚拟机节点。当用户使用本发明的虚拟机集群时,若用户当前连接的虚拟机节点因发生故障中断时,基于专用同步网络的信息同步机制,用户可直接重新连接至集群中的任意一个虚拟机节点,因每一虚拟机节点中均保存有用户当前的工作状态信息,因此不存在任何的数据丢失,从而大大提升了用户在切换虚拟机节点的可靠性,并提高了用户体验。
如图2所示,第二方面,本发明提供一种虚拟机高可用实现装置,包括:
网络连接模块,用于构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
状态指纹计算模块,用于获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
投票模块,用于基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
信息同步模块,用于将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
在一种可能的设计中,所述装置还包括:
校验模块,用于对所述样本状态指纹信息的同步结果进行校验;
二次同步模块,用于当某虚拟机节点的状态指纹信息异于所述状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
在一种可能的设计中,在将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接时,所述网络连接模块具体用于:
为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
在一种可能的设计中,在计算所述当前属性信息的状态指纹信息时,所述状态指纹计算模块具体用于:
基于所述当前属性信息更新所述状态指纹信息;
利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
在一种可能的设计中,在基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并获取得票最多的虚拟机节点时,所述投票模块具体用于:
利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
对所有虚拟机节点进行加权计算,获取加权后归一化得票最多的虚拟机节点。
在一种可能的设计中,将具有相同特征值的虚拟机节点进行计数,包括:
设置一个计数器count和保存最多特征值的变量majority;
若count==0,则将now的值设置为数组的当前特征值,将majority赋值为1;
若majority和数组的当前特征值相同,则count++,否则count--;
重复上述步骤,直到扫描完数组;
若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count++,直到扫描完数组;
若此时count的值大于等于n/2,则返回majority的值,反之则返回-1,其中,n为总票数。
在一种可能的设计中,所述当前属性信息包括用户输入信息和当前状态信息。
第三方面,本发明提供一种计算机设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
第五方面,本发明提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行执行如第一方面任意一种可能的设计中所述的虚拟机高可用实现方法。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种虚拟机高可用实现方法,其特征在于,包括:
构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
2.根据权利要求1所述的虚拟机高可用实现方法,其特征在于,所述方法还包括:
对所述样本状态指纹信息的同步结果进行校验;
当某虚拟机节点同步后的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
3.根据权利要求1所述的虚拟机高可用实现方法,其特征在于,将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接,包括:
为虚拟机集群中的每一所述虚拟机节点添加各自的同步网卡;
每一虚拟机节点通过各自的同步网卡建立与所述专用同步网络的连接。
4.根据权利要求1所述的虚拟机高可用实现方法,其特征在于,计算所述当前属性信息的状态指纹信息,包括:
基于所述当前属性信息更新所述状态指纹信息;
利用哈希算法计算所述状态指纹信息的每一单向特征指纹信息;
将每一所述单向特征指纹信息进行拼接合成,得到对应虚拟机节点的状态指纹矩阵。
5.根据权利要求4所述的虚拟机高可用实现方法,其特征在于,基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本,包括:
利用裁决服务器中的裁决器,获取每一所述虚拟机节点的状态指纹矩阵;
将每一所述状态指纹矩阵进行特征值比对,并将具有相同特征值的虚拟机节点进行计数;
设置每一虚拟机节点的权重;其中,与用户正在连接的虚拟机节点的权重大于未与用户连接的虚拟机节点的权重;
对所有虚拟机节点进行加权计算,得到加权后归一化得票最多的虚拟机节点,将该虚拟机节点作为同步样本。
6.根据权利要求5所述的虚拟机高可用实现方法,其特征在于,将具有相同特征值的虚拟机节点进行计数,包括:
设置一个计数器count和保存最多特征值的变量majority;
若count等于0,则将当前值设置为数组的当前特征值,将majority赋值为1;
若majority和数组的当前特征值相同,则count的数量加一,否则count数量减一;
重复上述步骤,直到扫描完数组;
若count赋值为0,再次从头扫描数组,如果数组特征值与majority的值相同则count数量加一,直到扫描完数组;
若此时count的值大于等于n/2,则返回majority的值,反之则返回-1,其中,n为总票数。
7.根据权利要求1所述的虚拟机高可用实现方法,其特征在于,所述当前属性信息包括用户输入信息和当前状态信息。
8.一种虚拟机高可用实现装置,其特征在于,包括:
网络连接模块,用于构建虚拟机集群的专用同步网络,并将虚拟机集群中的每一虚拟机节点与所述专用同步网络建立连接;
状态指纹计算模块,用于获取每一虚拟机节点的当前属性信息,并计算所述当前属性信息的状态指纹信息;
投票模块,用于基于多数平均投票算法模型,对所有虚拟机节点的状态指纹信息进行投票,并将得票最多的虚拟机节点作为同步样本;
信息同步模块,用于将得票最多的虚拟机节点的样本状态指纹信息同步至虚拟机集群中的其他虚拟机节点。
9.根据权利要求8所述的虚拟机高可用实现装置,其特征在于,所述装置还包括:
校验模块,用于对所述样本状态指纹信息的同步结果进行校验;
二次同步模块,用于当某虚拟机节点同步后的状态指纹信息异于所述样本状态指纹信息时,对该虚拟机节点的状态指纹信息进行再次同步。
10.一种计算机设备,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1-7任意一项所述的虚拟机高可用实现方法。
CN202110886980.XA 2021-08-03 2021-08-03 一种虚拟机高可用实现方法、装置和设备 Active CN113568710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110886980.XA CN113568710B (zh) 2021-08-03 2021-08-03 一种虚拟机高可用实现方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110886980.XA CN113568710B (zh) 2021-08-03 2021-08-03 一种虚拟机高可用实现方法、装置和设备

Publications (2)

Publication Number Publication Date
CN113568710A true CN113568710A (zh) 2021-10-29
CN113568710B CN113568710B (zh) 2023-07-21

Family

ID=78170133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110886980.XA Active CN113568710B (zh) 2021-08-03 2021-08-03 一种虚拟机高可用实现方法、装置和设备

Country Status (1)

Country Link
CN (1) CN113568710B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152434A (zh) * 2013-03-27 2013-06-12 江苏辰云信息科技有限公司 一种分布式云***中的领导节点更替方法
CN104506636A (zh) * 2014-12-29 2015-04-08 成都致云科技有限公司 一种数据同步方法及装置
EP2884392A1 (en) * 2013-12-13 2015-06-17 Thales Triple software redundancy fault tolerant framework architecture
CN105095001A (zh) * 2014-05-08 2015-11-25 ***股份有限公司 分布式环境下虚拟机异常恢复方法
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152434A (zh) * 2013-03-27 2013-06-12 江苏辰云信息科技有限公司 一种分布式云***中的领导节点更替方法
EP2884392A1 (en) * 2013-12-13 2015-06-17 Thales Triple software redundancy fault tolerant framework architecture
CN105095001A (zh) * 2014-05-08 2015-11-25 ***股份有限公司 分布式环境下虚拟机异常恢复方法
CN104506636A (zh) * 2014-12-29 2015-04-08 成都致云科技有限公司 一种数据同步方法及装置
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
武义涵;黄罡;张颖;熊英飞;: "一种基于模型的云计算容错机制开发方法", 计算机研究与发展, no. 01 *

Also Published As

Publication number Publication date
CN113568710B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
CN106331098B (zh) 一种服务器集群***
CN109951331B (zh) 用于发送信息的方法、装置和计算集群
CN102402395B (zh) 基于仲裁磁盘的高可用***不间断运行方法
US6363495B1 (en) Method and apparatus for partition resolution in clustered computer systems
CN110807064B (zh) Rac分布式数据库集群***中的数据恢复装置
CN110431533B (zh) 故障恢复的方法、设备和***
CN110545260A (zh) 一种基于拟态构造的云管理平台构建方法
CN108984349A (zh) 主节点选举方法及装置、介质和计算设备
US10102088B2 (en) Cluster system, server device, cluster system management method, and computer-readable recording medium
EP4075252A1 (en) Data storage method, apparatus, and system and data reading method, apparatus, and system in storage system
WO2020233001A1 (zh) 双控构架分布式存储***、数据读取方法、装置和存储介质
CN116743619B (zh) 网络服务的测试方法、装置、设备及存储介质
CN113568710B (zh) 一种虚拟机高可用实现方法、装置和设备
WO2023185335A1 (zh) 一种崩溃聚类方法、装置、电子设备以及存储介质
CN114500327B (zh) 一种服务器集群的检测方法、检测装置及计算设备
CN115314289A (zh) 受攻击执行体识别方法、输出表决器、设备及存储介质
CN114679295A (zh) 防火墙安全配置方法及装置
CN111752911A (zh) 一种基于Flume的数据传输方法、***、终端及存储介质
CN115202803A (zh) 一种故障处理方法及装置
CN115698955A (zh) 事务镜像的容错
CN117992501B (zh) 数据库集群脑裂预防方法、装置、电子设备及存储介质
KR102575524B1 (ko) 가상화 기반 전투체계를 위한 분산정보처리장치 및 이의 자원 할당 방법
CN112463669B (zh) 一种存储仲裁管理方法、***、终端及存储介质
CN114546705B (zh) 操作响应方法、操作响应装置、电子设备以及存储介质
JP2010061548A (ja) 計算機システム、処理方法及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant