CN115250246B - 一种监测虚拟机集群中节点状态的方法和计算机系统 - Google Patents

一种监测虚拟机集群中节点状态的方法和计算机系统 Download PDF

Info

Publication number
CN115250246B
CN115250246B CN202211148618.3A CN202211148618A CN115250246B CN 115250246 B CN115250246 B CN 115250246B CN 202211148618 A CN202211148618 A CN 202211148618A CN 115250246 B CN115250246 B CN 115250246B
Authority
CN
China
Prior art keywords
heartbeat packet
virtual machine
identity
state
length
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.)
Active
Application number
CN202211148618.3A
Other languages
English (en)
Other versions
CN115250246A (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202211148618.3A priority Critical patent/CN115250246B/zh
Publication of CN115250246A publication Critical patent/CN115250246A/zh
Application granted granted Critical
Publication of CN115250246B publication Critical patent/CN115250246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种监测虚拟机集群中节点状态的方法和计算机系统。该方法基于通用的主/从分布式集群架构,自定义面向通信协议透明的心跳包编码及解码规则;基于全局可分发的编码元数据,设计了分段标识以及前缀匹配的身份标识编码格式,突破数据包所有字段都以字节为最小单位的编码范式,构造相对轻量级的心跳数据包。该方法应用在大规模集群中,能够有效减少监测数据所占用的系统带宽资源,提升虚拟机集群的网络吞吐量和稳定性。

Description

一种监测虚拟机集群中节点状态的方法和计算机系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种监测虚拟机集群中节点状态的方法和计算机系统。
背景技术
集群(Cluster)通常是由一些互相连接在一起的节点(例如,计算机或虚拟机)构成的一个并行或分布式系统。这些节点一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。例如,对于计算机集群而言,从外部来看,计算机集群是一个系统,对外提供统一的服务,对内部来说,集群内的计算机在物理上通过电缆连接,在逻辑上则通过集群软件连接。服务器集群是把多台服务器通过通信链路连接,从外部看来,这些服务器就像一台服务器在工作,而对内部来说,外来的负载通过一定的机制动态地分配到服务器中去,从而达到超级服务器才有的高性能、高可用。
虚拟机(英文:Virtual Machine,简称“VM”)是在主机(host)上运行的软件,其可以在计算机平台和终端用户之间创造一种环境,而终端用户则是基于这个软件所创造的环境来操作。虚拟机集群是指多个虚拟机相互连接在一起构成的并行或分布式系统。
虚拟机集群通常采用主/从(Master/Slave)架构的方式。Master主机作为集群的管理中心,负责集群中所有Slave主机以及运行在其上的虚拟机的监测和管理。一般地,Master主机通过推或者拉的方式与Slave主机通信。但当集群规模庞大,集群中的Slave主机过多时,Master主机的性能会不足以支持维护大量的Slave主机,使得Master成为整个集群的瓶颈;同时用于监测和管理的数据流会占用过多的带宽,使得集群中支撑应用的通信质量无法保障,降低了虚拟机集群的整体性能。通常降低数据流带宽占用方式有压缩数据包、缩短占用时间等方式,其中数据包压缩的方式给Master主机额外增加了解压缩的计算过程,在大规模集群中Master主机的CPU性能可能受到大幅损耗;而缩短占用时间的方式又带来监测灵敏度损失的问题,若Slave主机长时间处于宕机状态,运行在主机之上的虚拟机业务都受到影响。
因此,目前亟需一种监测虚拟机集群中节点状态的方法和计算机系统,提高虚拟机集群的容错能力和性能。
发明内容
本发明的目的在于针对现有技术的不足,提供一种监测虚拟机集群中节点状态的方法和计算机系统。
一种监测虚拟机集群中节点状态的方法,包括以下步骤:
S1:集群管理员定义全局编码元数据信息;
S2:在虚拟机集群中的所有Master主机上部署并运行心跳包监测定时任务,在所有Slave主机上部署并运行心跳包上报定时任务,并将全局编码元数据分发给Slave主机;
S3:Slave主机上运行的心跳包上报定时任务按自定义心跳包编码规则,基于全局编码元数据对状态信息进行编码,构造心跳包报文并发送给Master主机;
S4:Master主机监听预设的通信端口,并根据自定义心跳包解码规则和全局编码元数据对收到的心跳包报文进行解码,计算得到Slave主机上虚拟机节点的状态;
S5:Master主机将虚拟机集群中节点状态信息进行存储;
S6:通过心跳包监测定时任务控制,进入下一个状态监测周期,重复步骤S3到步骤S5,持续进行监测;心跳包监测定时任务结束,监测停止。
作为优选,所述步骤S1中的全局编码元数据,包括身份标识编码表、状态标识编码表、身份标识前缀匹配表、身份标识后缀字段长度以及虚拟机数量字段长度。
作为优选,所述身份标识编码表,将身份标识所包含的所有合法字符映射到一个长度最小的编码空间中,所述身份标识的编码长度为
Figure 206600DEST_PATH_IMAGE001
,单位是比特;
所述状态标识编码表,将状态标识所包含的所有合法字符映射到一个长度最小的编码空间中,所述状态标识的编码长度为
Figure 920478DEST_PATH_IMAGE002
,单位是比特;
所述身份标识前缀匹配表,将身份标识中表达相同语义的合法字符设置为身份标识的前缀,包括将所述身份标识分解成身份标识前缀加身份标识后缀的固定格式,所述身份标识前缀在虚拟机聚合的维度上保持一致;
所述身份标识后缀字段长度,用于表示身份标识后缀字段所包含的合法字符总数量;
所述虚拟机数量字段长度,用于表示一个心跳包中所包含的虚拟机总数量字段的长度。
作为优选,所述虚拟机聚合的维度包括物理机、机柜、机房或者集群。
作为优选,所述步骤S5中存储的节点状态信息包含所有Slave主机上虚拟机节点的名称及状态映射关系。
作为优选,所述步骤S3中的自定义心跳包编码规则如下:
S3.1:所述自定义心跳包编码规则遵循心跳包报文的第一个字段是虚拟机数量的标准,设置为该Slave主机上虚拟机的数量,包括根据全局编码元数据和虚拟机数量字段的字节长度
Figure 798086DEST_PATH_IMAGE003
,设定虚拟机数量为
Figure 786770DEST_PATH_IMAGE004
S3.2:所述自定义心跳包编码规则遵循心跳包报文的第二个字段是状态标识的标准,并按照固定的状态标识长度拼接每一个虚拟机的状态信息;
S3.3:所述自定义心跳包编码规则遵循心跳包报文的第三个字段是身份标识的标准,并按照固定的身份标识后缀长度拼接每一个虚拟机的身份信息;
S3.4:所述S3.2的状态标识的信息拼接顺序和S3.3的身份标识的信息拼接顺序保持一致。
作为优选,所述步骤S4中的自定义心跳包解码规则如下:
S4.1:所述自定义心跳包解码规则从数据部分的始端进行解析,其遵循心跳包报文的第一个字段是虚拟机数量的标准,通过计算虚拟机数量字段的字节长度
Figure 460197DEST_PATH_IMAGE003
,得到该Slave主机上虚拟机的总数
Figure 846441DEST_PATH_IMAGE004
S4.2:所述自定义心跳包解码规则遵循心跳包报文的第二个字段是虚拟机状态标识的标准,基于全局编码元数据中的状态标识编码表,分别解析
Figure 910212DEST_PATH_IMAGE004
Figure 437008DEST_PATH_IMAGE001
比特长度的数据,获取该Slave主机上
Figure 168204DEST_PATH_IMAGE004
个虚拟机的状态列表;
S4.3:所述自定义心跳包解码规则遵循心跳包报文的第三个字段是虚拟机身份标识的标准,基于全局编码元数据中的身份标识编码表,分别解析
Figure 925682DEST_PATH_IMAGE004
Figure 7908DEST_PATH_IMAGE002
比特长度的数据,获取该Slave主机上
Figure 807236DEST_PATH_IMAGE004
个虚拟机的身份标识后缀列表;
S4.4:所述自定义心跳包解码规则遵循身份标识前缀匹配的标准,通过Slave主机的信息查询全局编码元数据中的身份标识前缀键值对,获取该Slave主机对应的身份标识前缀,并与解析出来的虚拟机身份标识后缀拼接,最终得到完整的虚拟机身份标识信息。
作为优选,所述自定义心跳包编码规则和自定义心跳包解码规则,在不同通信协议上具备通用性,所述的自定义心跳包编码规则和自定义心跳包解码规则作用于通信协议报文中的数据部分;所述数据部分的字段以字节为单位。
本发明还提供了一种监测虚拟机集群中节点状态的计算机系统,包括Master主机以及与其连接的多个Slave主机,所述Master主机设有心跳包监测模块、状态信息存储模块和全局编码元数据管理模块,所述Slave主机设有心跳包发送模块,所述心跳包发送模块用于构造心跳包报文,运行在虚拟机集群中的所有Slave主机上,且由心跳包上报定时任务控制;所述心跳包监测模块用于监测和解析心跳包报文,运行在虚拟机集群中的Master主机上,且由心跳包监测定时任务控制;所述心跳包上报定时任务和心跳包监测定时任务的周期相同;所述状态信息存储模块接收心跳包监测模块解析得到的信息,存储虚拟机集群中节点的状态;所述全局编码元数据管理模块提供元数据分发、元数据查询的能力,用于将元数据分发到集群中的Slave主机上,同时支持Master主机的主动查询。
本发明基于通用的主/从(Master/Slave)分布式集群架构,自定义面向通信协议透明的心跳包编码及解码规则;基于可分发的全局编码元数据,设计了分段标识以及前缀匹配的身份标识编码格式,突破数据包以字节为最小单位的编码范式,构造相对轻量级的心跳数据包。本发明应用在大规模集群中,能够有效减少监测数据所占用的系统带宽资源,提升虚拟机集群的网络吞吐量和稳定性。
附图说明
图1为本发明的一种监测虚拟机集群中节点状态的方法的步骤流程图;
图2为本发明的一种监测虚拟机集群中节点状态的计算机系统结构图;
图3为本发明实施例的心跳包报文格式示意图;
图4为本发明实施例的心跳包编码元数据示意图;
图5为本发明实施例的自定义心跳包解码规则示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。
本发明的一种监测虚拟机集群中节点状态的方法,包括以下步骤:
S1:集群管理员定义全局编码元数据信息;
S2:在虚拟机集群中的所有Master主机上部署并运行心跳包监测定时任务,在所有Slave主机上部署并运行心跳包上报定时任务,并将全局编码元数据分发给Slave主机;
S3:Slave主机上运行的心跳包上报定时任务按自定义心跳包编码规则,基于全局编码元数据对状态信息进行编码,构造心跳包报文并发送给Master主机;
S4:Master主机监听预设的通信端口,并根据自定义心跳包解码规则和全局编码元数据对收到的心跳包报文进行解码,计算得到Slave主机上虚拟机节点的状态;
S5:Master主机将虚拟机集群中节点状态信息进行存储,包含所有Slave主机上虚拟机节点的名称及状态映射关系;
S6:通过心跳包监测定时任务控制,进入下一个状态监测周期,重复步骤S2到步骤S4。
所述步骤S1中的全局编码元数据,包括身份标识编码表、状态标识编码表、身份标识前缀匹配表、身份标识后缀字段长度以及虚拟机数量字段长度。
所述身份标识编码表,将身份标识所包含的所有合法字符映射到一个长度最小的编码空间中,假设身份标识的编码长度为
Figure 392939DEST_PATH_IMAGE001
,单位是比特;
所述状态标识编码表,将状态标识所包含的所有合法字符映射到一个长度最小的编码空间中,假设状态标识的编码长度为
Figure 88362DEST_PATH_IMAGE002
,单位是比特;
所述身份标识前缀匹配表,将身份标识中表达相同语义的合法字符设置为身份标识的前缀,包括将所述身份标识分解成身份标识前缀加身份标识后缀的固定格式,所述身份标识前缀在虚拟机聚合的维度上保持一致;具体地,可以是物理机、机柜、机房或者集群等不同的聚合维度。
所述身份标识后缀字段长度,用于表示所述状态标识编码表中的身份标识后缀字段所包含的合法字符总数量;
所述虚拟机数量字段长度,用于表示一个心跳包中所包含的虚拟机总数量字段的长度。
所述Master主机和Slave主机间的通信协议不受自定义心跳包编码规则限制,自定义心跳包编码规则具备表达Slave主机上所有虚拟机状态的语义,具体地,包含虚拟机数量、虚拟机身份标识和对应的状态标识;自定义心跳包编码规则的自定义步骤如下:
S3.1:所述自定义心跳包编码规则遵循心跳包报文的第一个字段是虚拟机数量的标准,设置为该Slave主机上虚拟机的数量,包括根据全局编码元数据和虚拟机数量字段的字节长度
Figure 159349DEST_PATH_IMAGE003
,设定虚拟机数量为
Figure 496789DEST_PATH_IMAGE004
S3.2:所述自定义心跳包编码规则遵循心跳包报文的第二个字段是状态标识的标准,并按照固定的状态标识长度拼接每一个虚拟机的状态信息;具体地,根据全局编码元数据,状态标识的编码长度为
Figure 405839DEST_PATH_IMAGE001
个比特,状态标识的总长度为
Figure 68902DEST_PATH_IMAGE005
个比特,若总长度对8取余不为零,则在编码后的尾部补充零比特位;所述状态标识字段的总长度为
Figure 63402DEST_PATH_IMAGE006
取值分两种情况:若
Figure 533147DEST_PATH_IMAGE005
是8的整数,则
Figure 359021DEST_PATH_IMAGE007
;若
Figure 396247DEST_PATH_IMAGE005
不是8的整数,则
Figure 674781DEST_PATH_IMAGE008
S3.3:所述自定义心跳包编码规则遵循心跳包报文的第三个字段是身份标识的标准,并按照固定的身份标识后缀长度拼接每一个虚拟机的身份信息;具体地,根据全局编码元数据,状态标识的编码长度为
Figure 822866DEST_PATH_IMAGE002
个比特,状态标识的总长度为
Figure 4711DEST_PATH_IMAGE009
个比特,若总长度对8取余不为零,则在编码后的尾部补充零比特位;所述状态标识字段的总长度为
Figure 9576DEST_PATH_IMAGE010
取值分两种情况:若
Figure 713090DEST_PATH_IMAGE009
是8的整数,则
Figure 461603DEST_PATH_IMAGE011
;若
Figure 199752DEST_PATH_IMAGE005
不是8的整数,则
Figure 874053DEST_PATH_IMAGE012
S3.4:所述S3.2的状态标识的信息拼接顺序和S3.3的身份标识的信息拼接顺序保持一致。
所述步骤S4中的自定义心跳包解码规则,包括以下步骤:
S4.1:所述自定义心跳包解码规则从数据部分的始端进行解析,其遵循心跳包报文的第一个字段是虚拟机数量的标准,通过计算虚拟机数量字段的字节长度
Figure 127180DEST_PATH_IMAGE003
,得到该Slave主机上虚拟机的总数
Figure 617067DEST_PATH_IMAGE004
S4.2:所述自定义心跳包解码规则遵循心跳包报文的第二个字段是虚拟机状态标识的标准,基于全局编码元数据中的状态标识编码表,分别解析
Figure 6460DEST_PATH_IMAGE004
Figure 556390DEST_PATH_IMAGE001
比特长度的数据,获取该Slave主机上
Figure 798278DEST_PATH_IMAGE004
个虚拟机的状态列表;
S4.3:所述自定义心跳包解码规则遵循心跳包报文的第三个字段是虚拟机身份标识的标准,基于全局编码元数据中的身份标识编码表,分别解析
Figure 888594DEST_PATH_IMAGE004
Figure 335756DEST_PATH_IMAGE002
比特长度的数据,获取该Slave主机上
Figure 853325DEST_PATH_IMAGE004
个虚拟机的身份标识后缀列表;
S4.4:所述自定义心跳包解码规则遵循身份标识前缀匹配的标准,通过Slave主机的信息查询全局编码元数据中的身份标识前缀键值对,获取该Slave主机对应的身份标识前缀,并与解析出来的虚拟机身份标识后缀拼接,最终得到完整的虚拟机身份标识信息。
所述的自定义心跳包编码规则和自定义心跳包解码规则,在不同通信协议上具备通用性,所述的自定义心跳包编码规则和自定义心跳包解码规则作用于通信协议报文中的数据部分;所述数据部分的字段以字节为单位。
实施例1
如图1所示,一种监测虚拟机集群中节点状态的计算机系统,包括Master主机以及与其连接的多个Slave主机,所述Master主机设有心跳包监测模块、状态信息存储模块和全局编码元数据管理模块,所述Slave主机设有心跳包发送模块,所述心跳包发送模块用于构造心跳包报文,运行在虚拟机集群中的所有Slave主机上,且由心跳包上报定时任务控制;所述心跳包监测模块用于监测和解析心跳包报文,运行在虚拟机集群中的Master主机上,且由心跳包监测定时任务控制;所述心跳包上报定时任务和心跳包监测定时任务的周期相同;所述状态信息存储模块接收心跳包监测模块解析得到的信息,存储虚拟机集群中节点的状态;所述全局编码元数据管理模块提供元数据分发、元数据查询的能力,用于将元数据分发到集群中的Slave主机上,同时支持Master主机的主动查询。
如图2所示,自定义的心跳包报文格式如下:源IP为10.0.0.2的Slave主机1基于UDP通信协议向目标IP为10.0.0.1的Master主机上报虚拟机状态信息。心跳包格式包含协议首部和数据两个部分,其中协议首部和UDP通信协议一致,有源端口、目的端口、报文长度及校验和这4个字段;此外由于UDP报文需要借助IP协议提供的主机通信能力,作为数据搭载在IP包中发往目标主机,因此头部也包含IP包头,存储了源IP地址、目的IP地址等信息。进一步地,数据部分按照本发明提供的方法进行编码,第一个字段设置为Slave主机上存在的虚拟机数量,由C1个字节的数据解析得到数量为n;第二个字段设置为虚拟机的状态标识,由n个C2比特的数据解析得到;第三个字段设置为虚拟机的身份标识后缀,由n个C3比特的数据解析得到;其中C1、C2、C3分别对应虚拟机数量
Figure 18727DEST_PATH_IMAGE004
,状态标识长度
Figure 151549DEST_PATH_IMAGE001
,身份标识后缀长度
Figure 781113DEST_PATH_IMAGE002
;第二个字段和第三个字段中每个单位长度的数据是一一对应的,表示同一个虚拟机的状态和身份标识。
如图4所示,自定义心跳包编码规则实施步骤如下:首先根据图3定义的全局编码元数据信息,状态标识占用2个比特位,即所述的
Figure 407267DEST_PATH_IMAGE002
等于2,其中00表示虚拟机的死亡状态,01表示为虚拟机的存活状态,10、11先作为预留字段;身份标识编码表的合法字符包含大写字母以及数字,最大的字符0x23占用的是6个比特位,即所述的
Figure 856703DEST_PATH_IMAGE001
等于6;同时虚拟机的数量C1字段定义为1个字节。身份标识前缀匹配表定义了主机IP地址和固定前缀的映射关系,Slave主机的IP地址在报文头部可以获取,作为查询固定前缀的索引。分析报文的数据部分,第一个字节0x04代表的是源主机上虚拟机的数量,即上报了4个虚拟机的状态信息;4个虚拟机的状态标识占用8个比特位,对应的1个字节长度,因此第二个字节数据0x44代表的是虚拟机状态列表,转换成二进制为01000101b,即4个虚拟机的状态分别为存活、死亡、存活、存活;身份标识后缀长度为6个比特位,接下来第三个分段的24个比特表示的是每个虚拟机的标识后缀,解析后分别为A、B、C、D。通过查询身份标识前缀匹配表,位于10.0.0.2主机上的虚拟机标识前缀为VM10。综上,该心跳包仅使用了5个字节的数据表达了4个虚拟机的名称及对应关系。
将所述心跳包按照图5的解码规则进行解析,被解析后得到的虚拟机状态信息为:虚拟机VM10A的状态为存活,虚拟机VM10B的状态为死亡,虚拟机VM10C的状态为存活,虚拟机VM10D的状态为存活。所述实施例即通过一种自定义编码规则,突破数据包以字节为最小单位的编码范式,构建了轻量级的心跳数据包,在虚拟机规模较大的集群中,能够更有效地压缩数据包的大小,提高虚拟机集群的容错能力和性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种监测虚拟机集群中节点状态的方法,其特征在于,包括以下步骤:
S1:集群管理员定义全局编码元数据信息;
S2:在虚拟机集群中的所有Master主机上部署并运行心跳包监测定时任务,在所有Slave主机上部署并运行心跳包上报定时任务,并将全局编码元数据分发给Slave主机;
S3:Slave主机上运行的心跳包上报定时任务按自定义心跳包编码规则,基于全局编码元数据对虚拟机身份及状态信息进行编码,构造心跳包报文并发送给Master主机;
S4:Master主机监听预设的通信端口,并根据自定义心跳包解码规则和全局编码元数据对收到的心跳包报文进行解码,计算得到Slave主机上虚拟机节点的状态;
S5:Master主机将虚拟机集群中节点状态信息进行存储;
S6:通过心跳包监测定时任务控制,进入下一个状态监测周期,重复步骤S3到步骤S5,持续进行监测;心跳包监测定时任务结束,监测停止;
所述步骤S3中基于全局编码元数据对虚拟机身份及状态信息进行编码,包含以下子步骤:
S3.1:所述自定义心跳包编码规则遵循心跳包报文的第一个字段是虚拟机数量的标准,设置为该Slave主机上虚拟机的数量,包括根据全局编码元数据中虚拟机数量字段的长度
Figure DEST_PATH_IMAGE001
,设定虚拟机数量为
Figure DEST_PATH_IMAGE002
S3.2:所述自定义心跳包编码规则遵循心跳包报文的第二个字段是状态标识的标准,并按照固定的状态标识长度
Figure DEST_PATH_IMAGE003
拼接每一个虚拟机的状态信息,状态标识的总长度为
Figure DEST_PATH_IMAGE004
个比特;编码后的数据按照字节为单位补齐,即在尾部填充固定数量的零比特位;
S3.3:所述自定义心跳包编码规则遵循心跳包报文的第三个字段是身份标识后缀的标准,并按照固定的身份标识后缀长度拼接每一个虚拟机的身份信息;身份标识后缀的总长度为
Figure DEST_PATH_IMAGE005
个比特;编码后的数据按照字节为单位补齐,即在尾部填充固定数量的零比特位;
S3.4:所述S3.2的状态标识的信息拼接顺序和S3.3的身份标识的信息拼接顺序保持一致;
所述步骤S4中根据自定义心跳包解码规则和全局编码元数据对收到的心跳包报文进行解码,包含以下子步骤:
S4.1:所述自定义心跳包解码规则从数据部分的始端进行解析,其遵循心跳包报文的第一个字段是虚拟机数量的标准,通过计算虚拟机数量字段的字节长度
Figure 850857DEST_PATH_IMAGE001
,得到该Slave主机上虚拟机的总数
Figure 440101DEST_PATH_IMAGE002
S4.2:所述自定义心跳包解码规则遵循心跳包报文的第二个字段是虚拟机状态标识的标准,基于全局编码元数据中的状态标识编码表,分别解析
Figure 954259DEST_PATH_IMAGE002
Figure 569042DEST_PATH_IMAGE003
比特长度的数据,获取该Slave主机上
Figure 852256DEST_PATH_IMAGE002
个虚拟机的状态列表;
S4.3:所述自定义心跳包解码规则遵循心跳包报文的第三个字段是虚拟机身份标识后缀的标准,基于全局编码元数据中的身份标识编码表,分别解析
Figure 64932DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE006
比特长度的数据,获取该Slave主机上
Figure 426905DEST_PATH_IMAGE002
个虚拟机的身份标识后缀列表;
S4.4:所述自定义心跳包解码规则遵循身份标识前缀匹配的标准,通过Slave主机的信息查询全局编码元数据中的身份标识前缀键值对,获取该Slave主机对应的身份标识前缀,并与解析出来的虚拟机身份标识后缀拼接,最终得到完整的虚拟机身份标识信息。
2.根据权利要求1所述的一种监测虚拟机集群中节点状态的方法,其特征在于,所述步骤S1中的全局编码元数据,包括身份标识编码表、状态标识编码表、身份标识前缀匹配表、身份标识后缀字段长度以及虚拟机数量字段长度。
3.根据权利要求2所述的一种监测虚拟机集群中节点状态的方法,其特征在于:
所述身份标识编码表,将身份标识所包含的所有合法字符映射到一个长度最小的编码空间中,所述身份标识的编码长度为
Figure DEST_PATH_IMAGE007
,单位是比特;
所述状态标识编码表,将状态标识所包含的所有合法字符映射到一个长度最小的编码空间中,所述状态标识的编码长度为
Figure 829068DEST_PATH_IMAGE003
,单位是比特;
所述身份标识前缀匹配表,将身份标识中表达相同语义的合法字符设置为身份标识的前缀,包括将所述身份标识分解成身份标识前缀加身份标识后缀的固定格式,所述身份标识前缀在虚拟机聚合的维度上保持一致;
所述身份标识后缀字段长度,用于表示身份标识后缀字段所包含的合法字符总数量
Figure DEST_PATH_IMAGE008
所述虚拟机数量字段长度,用于表示一个心跳包中所包含的虚拟机总数量字段的长度
Figure 357001DEST_PATH_IMAGE001
,单位是字节。
4.根据权利要求3所述的一种监测虚拟机集群中节点状态的方法,其特征在于,所述虚拟机聚合的维度包括物理机、机柜、机房或者集群。
5.根据权利要求1所述的一种监测虚拟机集群中节点状态的方法,其特征在于,所述步骤S5中存储的节点状态信息包含所有Slave主机上虚拟机节点的名称及状态映射关系。
6.根据权利要求1所述的一种监测虚拟机集群中节点状态的方法,其特征在于,所述自定义心跳包编码规则和自定义心跳包解码规则,在不同通信协议上具备通用性,所述自定义心跳包编码规则和自定义心跳包解码规则作用于通信协议报文中的数据部分;所述数据部分的字段以字节为单位。
7.一种监测虚拟机集群中节点状态的计算机系统,包括Master主机以及与其连接的多个Slave主机,其特征在于,所述计算机系统应用于权利要求1-6任一项所述的方法,所述Master主机设有心跳包监测模块、状态信息存储模块和全局编码元数据管理模块,所述Slave主机设有心跳包发送模块,所述心跳包发送模块用于构造心跳包报文,运行在虚拟机集群中的所有Slave主机上,且由心跳包上报定时任务控制;所述心跳包监测模块用于监测和解析心跳包报文,运行在虚拟机集群中的Master主机上,且由心跳包监测定时任务控制;所述心跳包上报定时任务和心跳包监测定时任务的周期相同;所述状态信息存储模块接收心跳包监测模块解析得到的信息,存储虚拟机集群中节点的状态;所述全局编码元数据管理模块提供元数据分发、元数据查询的能力,用于将元数据分发到集群中的Slave主机上,同时支持Master主机的主动查询。
CN202211148618.3A 2022-09-21 2022-09-21 一种监测虚拟机集群中节点状态的方法和计算机系统 Active CN115250246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211148618.3A CN115250246B (zh) 2022-09-21 2022-09-21 一种监测虚拟机集群中节点状态的方法和计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211148618.3A CN115250246B (zh) 2022-09-21 2022-09-21 一种监测虚拟机集群中节点状态的方法和计算机系统

Publications (2)

Publication Number Publication Date
CN115250246A CN115250246A (zh) 2022-10-28
CN115250246B true CN115250246B (zh) 2022-12-06

Family

ID=83699725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211148618.3A Active CN115250246B (zh) 2022-09-21 2022-09-21 一种监测虚拟机集群中节点状态的方法和计算机系统

Country Status (1)

Country Link
CN (1) CN115250246B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686759B (zh) * 2023-01-04 2023-04-07 恒丰银行股份有限公司 一种计算虚拟机唯一识别码的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130950A (zh) * 2011-03-14 2011-07-20 中国科学技术大学苏州研究院 基于Hadoop集群的分布式监控系统及其监控方法
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106027548A (zh) * 2016-06-28 2016-10-12 武汉斗鱼网络科技有限公司 视频直播网站基于页面心跳事件生成白名单的系统及方法
CN111966461A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 虚拟机集群节点守护方法、装置、设备及存储介质
CN114124656A (zh) * 2021-11-01 2022-03-01 北京宇航系统工程研究所 一种运载火箭地面一体化测控系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050043638A1 (en) * 2003-08-21 2005-02-24 Yu-Yu Chen Wireless heartbeat-detecting device with electro-magnetic interference shielding device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130950A (zh) * 2011-03-14 2011-07-20 中国科学技术大学苏州研究院 基于Hadoop集群的分布式监控系统及其监控方法
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106027548A (zh) * 2016-06-28 2016-10-12 武汉斗鱼网络科技有限公司 视频直播网站基于页面心跳事件生成白名单的系统及方法
CN111966461A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 虚拟机集群节点守护方法、装置、设备及存储介质
CN114124656A (zh) * 2021-11-01 2022-03-01 北京宇航系统工程研究所 一种运载火箭地面一体化测控系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Sensor Based Health Monitoring System Using Embedded Technology";R. Balakrishnan等;《2022 8th International Conference on Advanced Computing and Communication Systems (ICACCS)》;20220607;全文 *
"远程实时数据采集系统关键技术研究和系统研制";程海峰;《中国优秀硕士学位论文全文数据库 信息科技II辑》;20200515;第4章 *
CAN总线网络报文标识符编码研究;孙招凤;《导弹与航天运载技术》;20090410(第02期);全文 *

Also Published As

Publication number Publication date
CN115250246A (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
US11265218B2 (en) Configuration management method and apparatus, and device
CN101341724B (zh) 用于传送消息的系统和方法
CN115250246B (zh) 一种监测虚拟机集群中节点状态的方法和计算机系统
WO2008042716A2 (en) Knowledge based encoding of data with multiplexing to facilitate compression
CN102882705A (zh) 终端设备上报日志的方法及日志上报系统
WO2017157023A1 (zh) 一种soap报文传输方法及系统
US20120294307A1 (en) Apparatus and Method for Identifier Management
EP3166277A1 (en) Bit-aligned header compression for ccn messages using dictionary
EP1719319B1 (en) Method and arrangement for state memory management
CN106878054B (zh) 一种业务处理方法和装置
EP3163838A1 (en) Header compression for ccn messages using dictionary learning
US20140215011A1 (en) Message exchange via generic tlv generator and parser
CN111614612B (zh) 通讯协议实现方法、装置、网管服务器和存储介质
CN117014527A (zh) 数据处理方法、装置、存储介质及电子设备
US20200169504A1 (en) Systems and methods for encoding and decoding iot messages
AU2009349406B2 (en) Method for managing configuration information of outsourced part, and method and system for managing alarm
Narayanan et al. Feasibility of SNMP OID compression
CN117041272B (zh) 数据处理方法、装置、设备及存储介质
CN105183750B (zh) 紧凑式xml解析系统
CN117527731B (zh) 一种用于硬件卸载的包编辑方法、计算机设备及介质
US11855902B2 (en) Device and method for splitting data for transmission
CN112383924B (zh) 基站设备管理方法、装置及系统
CN118227343A (zh) 一种数据处理方法、系统、装置、设备、介质及产品
CN116319778A (zh) 数据分流方法及装置
CN113590348A (zh) 基于树状结构的参数传递方法、装置、设备及介质

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