CN116781702A - 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统 - Google Patents

基于虚拟节点一致性哈希算法的负载均衡监测方法及系统 Download PDF

Info

Publication number
CN116781702A
CN116781702A CN202310655824.1A CN202310655824A CN116781702A CN 116781702 A CN116781702 A CN 116781702A CN 202310655824 A CN202310655824 A CN 202310655824A CN 116781702 A CN116781702 A CN 116781702A
Authority
CN
China
Prior art keywords
server
load
hash
node
client
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.)
Pending
Application number
CN202310655824.1A
Other languages
English (en)
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.)
Anhui Jiyuan Software Co Ltd
Original Assignee
Anhui Jiyuan Software Co Ltd
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 Anhui Jiyuan Software Co Ltd filed Critical Anhui Jiyuan Software Co Ltd
Priority to CN202310655824.1A priority Critical patent/CN116781702A/zh
Publication of CN116781702A publication Critical patent/CN116781702A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种基于虚拟节点一致性哈希算法的负载均衡监测方法及系统,属于电力系统组网通信技术领域。所述监测方法包括:获取客户ip节点和服务器,采用哈希算法将客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环;根据公式(1)计算虚拟圆环上每个服务器的总负载;根据公式(2)计算每个服务器的均衡负载;分别判断总负载和均衡负载是否大于或等于对应预设的阈值;在判断总负载或均衡负载大于或等于对应预设的阈值的情况下,发出告警警报。该监测方法通过构建的哈希环来计算每个服务器的负载,实现了对每个服务器负载状况的监测,使得在服务器负载过高或者均衡过差时,能够及时地发出告警信息,提高了内网服务器的运行效率。

Description

基于虚拟节点一致性哈希算法的负载均衡监测方法及系统
技术领域
本发明涉及电力系统组网通信技术领域,具体地涉及一种基于虚拟节点一致性哈希算法的负载均衡监测方法及系统。
背景技术
IT信息调度工作面临运行数据难统一采集和监控,应急工作难有效指挥等困难,运维工作面临故障难排查困难。
对于内网的而言,往往会出现多个服务器共同支持内网用户的访问需求。而事实上,由于缺乏服务器负载的监测,使得在内网运行的过程中,经常出现不同服务器的负载差异过大的问题,从而导致内网通信的堵塞。
发明内容
本发明实施例的目的是提供一种基于虚拟节点一致性哈希算法的负载均衡监测方法及系统,该监测方法及系统能够提高内网服务器的运行效率。
为了实现上述目的,本发明实施例提供一种于虚拟节点一致性哈希算法的负载均衡监测方法,包括:
获取客户ip节点和服务器,采用哈希算法将所述客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环;
根据公式(1)计算所述虚拟圆环上每个服务器的总负载,
其中,为所述服务器的总负载,lnew为监测系统的新增负载,/>为所述服务器的第n个节点的负载,s为所述服务器的节点的数量;
根据公式(2)计算所述虚拟圆环上每个服务器的均衡负载,
其中,为所述均衡负载;
分别判断所述总负载和均衡负载是否大于或等于对应预设的阈值;
在判断所述总负载或均衡负载大于或等于对应预设的阈值的情况下,发出告警警报。
可选地,获取客户ip节点和服务器,采用哈希算法将所述客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环,包括:
确定哈希函数的类型以及哈希空间的范围;
依据所述客户ip节点和服务器的数量确定待映射的节点数;
依据待映射的节点数和哈希空间的范围进行补位处理;
将补位处理后的哈希空间进行分块,分别计算每个分块的哈希值;
将待映射的节点分别映射到所述哈希空间中的每个分块上,以得到所述虚拟圆环。
可选地,所述哈希空间的范围为512,所述哈希函数为SHA-256函数。
可选地,依据所述客户ip节点和服务器的数量确定待映射的节点数,包括:
将所述客户ip节点和服务器的节点对应的硬件设备的设备名称、管理IP地址、序列号以及设备安装位置进行顺序的第一字符串关联组合;
将设备运行时间、设备上线时间、最近启动时间通过时间戳进行第二字符串关联组合;
将设备的负载类型、主设备状态信息进行第三字符串关联组合;
将所述第一字符串关联组合、第二字符串关联组合以及第三字符串关联组合的结果进行组合关联,以得到关联信息;
将所述关联信息输入自动编码器中,以得到对应的隐层的特征表示;
通过哈希函数对所述特征表示进行哈希计算,以得到对应的哈希值;
依据所述哈希值将待映射的节点分配到所述哈希空间中的每个分块中。
可选地,将所述关联信息输入自动编码器中,以得到对应的隐层的特征表示,包括:
根据公式(3)确定所述特征表示,
ξ=f(Wx+b),(3)
其中,ξ为所述特征表示,f为所述自动编码器的激活函数,W为权重矩阵,x为输入所述自动编码器的关联信息,b为偏置向量。
可选地,将补位处理后的哈希空间进行分块,分别计算每个分块的哈希值,包括:
根据公式(4)计算所述哈希值,
其中,H(i)为第i个分块的哈希值,H(i-1)为第i-1个分块的哈希值,为分块M(i)的压缩函数。
另一方面,本发明还提供一种基于虚拟节点一致性哈希算法的负载均衡监测系统,所述监测系统包括处理器,所述处理器被配置成执行如上述任一所述的监测方法。
再一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的监测方法。
通过上述技术方案,本发明提供的基于虚拟节点以执行哈希算法的负载均衡监测方法及系统通过构建哈希环来设置各个服务器和用户ip节点的位置,再计算每个服务器的均衡负载和总负载,最后结合均衡负载和总负载的阈值判断,实现了对当前内网中每个服务器负载状况的评估。相较于现有技术而言,本申请提供的监测方法通过构建的哈希环来计算每个服务器的负载,实现了对每个服务器负载状况的监测,使得在服务器负载过高或者均衡过差时,能够及时地发出告警信息,提高了内网服务器的运行效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是根据本发明的一个实施方式的基于虚拟节点以执行哈希算法的负载均衡监测方法的流程图;
图2是根据本发明的一个实施方式的构建虚拟圆环的方法的流程图;
图3是根据本发明的一个实施方式的确定待映射的节点的方法的流程图;
图4是根据本发明的一个实施方式的虚拟圆环的示例图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
如图1所示是根据本发明的一个实施方式的基于虚拟节点一致性哈希算法的负载均衡监测方法的流程图。在该图1中,该监测方法可以包括:
在步骤S10中,获取客户ip节点和服务器,采用哈希算法将客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环;
在步骤S11中,根据公式(1)计算虚拟圆环上每个服务器的总负载,
其中,为服务器的总负载,lnew为监测系统的新增负载,/>为服务器的第n个节点的负载,s为服务器的节点的数量;
在步骤S12中,根据公式(2)计算虚拟圆环上每个服务器的均衡负载,
其中,为均衡负载;
在步骤S13中,分别判断总负载和均衡负载是否大于或等于对应预设的阈值;
在步骤S14中,在判断总负载或均衡负载大于或等于对应预设的阈值的情况下,发出告警警报。
在该如图1所示出的方法中,步骤S10用于获取客户ip节点和服务器,并构建虚拟圆环。其中,服务器用于支撑客户ip节点的访问需求。而对于构建该虚拟圆环的具体方法,可以是本领域人员所知的多种。在本发明的一个示例中,构建该虚拟圆环的方法可以是包括如图2中所示出的步骤。在该图2中,该方法可以包括:
在步骤S20中,确定哈希函数的类型以及哈希空间的范围。其中,该哈希函数的类型可以是包括但不限于本领域人员所知的多种,相应地,该哈希空间的范围也可以是依据哈希函数的类型而变化。在本发明的一个示例中,该哈希函数可以是SHA-256函数,相应地,该哈希空间的范围可以为512,也即0到232-1。
在步骤S21中,依据客户ip节点和服务器的数量确定待映射的节点数。在该实施方式中,在通常情况下,一个客户ip节点或服务器或作为一个待映射的节点,但是考虑到服务器本身存在负载容量的差异。对于负载容量较大的服务器和负载容量较小的服务器,如果在后续客户ip节点分配上统一采用相同的方法,则显然会导致系统无法实现均衡负载。因此,在本发明的一个示例中,在确定待映射的节点数时,可以将负载容量大的服务器分配为多个待映射的节点。具体地,可以是首先预设一个单位负载容量,然后针对该单位负载容量将大负载容量的服务器拆分为多个待映射的节点,这样在后续计算均衡负载以及总负载时,能够将大负载容量的服务器和小负载容量的服务器进行等效计算,这降低了计算的复杂度,提高了系统的响应效率。
由于在虚拟圆环上,各个服务器以及客户ip节点的位置需要结合自身属性来分配,这样在后续虚拟圆环分配访问服务器时,能够均衡且合理的分配最近点的服务器。在这样的前提下,在确定待映射的节点时,就需要结合服务器以及客户ip节点的自身属性。对于该自身属性的类型,可以是本领域人员所知的多种形式。在本发明的一个优选示例中,该自身属性可以分为三类:其一是硬件设备本身的属性,即:硬件设备的设备名称、管理IP地址、序列号以及设备安装位置;其二是硬件设备的运行时间,即:设备运行时间、设备上线时间、最近启动时间;其三是设备的当前状态,即:设备的负载类型、主设备状态信息。相对应于这三类属性,该步骤S21则可以进一步包括如图3中所示出的步骤。在该图3中,该步骤S21可以进一步包括以下步骤:
在步骤S30中,将客户ip节点和服务器的节点对应的硬件设备的设备名称、管理IP地址、序列号以及设备安装位置进行顺序的第一字符串关联组合;
在步骤S31中,将设备运行时间、设备上线时间、最近启动时间通过时间戳进行第二字符串关联组合;
在步骤S32中,将设备的负载类型、主设备状态信息进行第三字符串关联组合;
在步骤S33中,将第一字符串关联组合、第二字符串关联组合以及第三字符串关联组合的结果进行组合关联,以得到关联信息;
在步骤S34中,将关联信息输入自动编码器中,以得到对应的隐层的特征表示。确定了关联信息后,由于关联信息较长,且包含各种类型不同的编码,因此可以通过自动编码器来获取关联信息的特征信息,从而便于后续的哈希计算。具体地,该步骤S34可以是根据公式(3)确定该特征表示,
ξ=f(Wx+b),(3)
其中,ξ为特征表示,f为自动编码器的激活函数,W为权重矩阵,x为输入自动编码器的关联信息,b为偏置向量。
在步骤S35中,通过哈希函数对特征表示进行哈希计算,以得到对应的哈希值;
在步骤S36中,依据哈希值将待映射的节点分配到哈希空间中的每个分块中。
在步骤S22中,依据待映射的节点数和哈希空间的范围进行补位处理;由于客户ip节点和服务器的数量不一定能够实现完全的覆盖,即用户ip节点和服务器的数量一般会小于512个,因此需要补位虚拟节点来使得待映射的节点满足要求。
在步骤S23中,将补位处理后的哈希空间进行分块,分别计算每个分块的哈希值。具体地,计算该哈希值的方法可以是采用公式(4),
其中,H(i)为第i个分块的哈希值,H(i-1)为第i-1个分块的哈希值,为分块M(i)的压缩函数。
在步骤S24中,将待映射的节点分别映射到哈希空间中的每个分块上,以得到虚拟圆环。
通过该步骤S10构建好虚拟圆环后(例如图4所示,A、B、C、D均表示服务器节点),当任一用户需要访问服务器时,可以首先对该用户进行哈希计算,从而得到对应的哈希码。接着在该虚拟圆环上寻找对应的位置。然后,依据当前寻找到的位置,沿着顺时针方向寻找最近的表示服务器的节点。由于每个服务器的节点都是经过哈希计算后均匀分布的,这使得在后续进行节点分配时,一方面能够保证就近寻找服务器,另一方面能够保证对就近服务器的平均分配,从而避免出现不均衡的情况。
另一方面,本发明还提供一种基于虚拟节点一致性哈希算法的负载均衡监测系统,所述监测系统包括处理器,所述处理器被配置成执行如上述任一所述的监测方法。
再一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的监测方法。
通过上述技术方案,本发明提供的基于虚拟节点以执行哈希算法的负载均衡监测方法及系统通过构建哈希环来设置各个服务器和用户ip节点的位置,再计算每个服务器的均衡负载和总负载,最后结合均衡负载和总负载的阈值判断,实现了对当前内网中每个服务器负载状况的评估。相较于现有技术而言,本申请提供的监测方法通过构建的哈希环来计算每个服务器的负载,实现了对每个服务器负载状况的监测,使得在服务器负载过高或者均衡过差时,能够及时地发出告警信息,提高了内网服务器的运行效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种基于虚拟节点一致性哈希算法的负载均衡监测方法,其特征在于,所述监测方法包括:
获取客户ip节点和服务器,采用哈希算法将所述客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环;
根据公式(1)计算所述虚拟圆环上每个服务器的总负载,
其中,为所述服务器的总负载,lnew为监测系统的新增负载,/>为所述服务器的第n个节点的负载,s为所述服务器的节点的数量;
根据公式(2)计算所述虚拟圆环上每个服务器的均衡负载,
其中,为所述均衡负载;
分别判断所述总负载和均衡负载是否大于或等于对应预设的阈值;
在判断所述总负载或均衡负载大于或等于对应预设的阈值的情况下,发出告警警报。
2.根据权利要求1所述的监测方法,其特征在于,获取客户ip节点和服务器,采用哈希算法将所述客户ip节点和服务器映射到哈希空间中,以形成虚拟圆环,包括:
确定哈希函数的类型以及哈希空间的范围;
依据所述客户ip节点和服务器的数量确定待映射的节点数;
依据待映射的节点数和哈希空间的范围进行补位处理;
将补位处理后的哈希空间进行分块,分别计算每个分块的哈希值;
将待映射的节点分别映射到所述哈希空间中的每个分块上,以得到所述虚拟圆环。
3.根据权利要求2所述的监测方法,其特征在于,所述哈希空间的范围为512,所述哈希函数为SHA-256函数。
4.根据权利要求2所述的监测方法,其特征在于,依据所述客户ip节点和服务器的数量确定待映射的节点数,包括:
将所述客户ip节点和服务器的节点对应的硬件设备的设备名称、管理IP地址、序列号以及设备安装位置进行顺序的第一字符串关联组合;
将设备运行时间、设备上线时间、最近启动时间通过时间戳进行第二字符串关联组合;
将设备的负载类型、主设备状态信息进行第三字符串关联组合;
将所述第一字符串关联组合、第二字符串关联组合以及第三字符串关联组合的结果进行组合关联,以得到关联信息;
将所述关联信息输入自动编码器中,以得到对应的隐层的特征表示;
通过哈希函数对所述特征表示进行哈希计算,以得到对应的哈希值;
依据所述哈希值将待映射的节点分配到所述哈希空间中的每个分块中。
5.根据权利要求4所述的监测方法,其特征在于,将所述关联信息输入自动编码器中,以得到对应的隐层的特征表示,包括:
根据公式(3)确定所述特征表示,
ξ =f(Wx+b), (3)
其中,ξ为所述特征表示,f为所述自动编码器的激活函数,W为权重矩阵,x为输入所述自动编码器的关联信息,b为偏置向量。
6.根据权利要求2所述的监测方法,其特征在于,将补位处理后的哈希空间进行分块,分别计算每个分块的哈希值,包括:
根据公式(4)计算所述哈希值,
其中,H()为第i个分块的哈希值,H(i-1)为第i-1个分块的哈希值,为分块M(i)的压缩函数。
7.一种基于虚拟节点一致性哈希算法的负载均衡监测系统,其特征在于,所述监测系统包括处理器,所述处理器被配置成执行如权利要求1至6任一所述的监测方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如权利要求1至6所述的监测方法。
CN202310655824.1A 2023-06-02 2023-06-02 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统 Pending CN116781702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310655824.1A CN116781702A (zh) 2023-06-02 2023-06-02 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310655824.1A CN116781702A (zh) 2023-06-02 2023-06-02 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统

Publications (1)

Publication Number Publication Date
CN116781702A true CN116781702A (zh) 2023-09-19

Family

ID=87994039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310655824.1A Pending CN116781702A (zh) 2023-06-02 2023-06-02 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统

Country Status (1)

Country Link
CN (1) CN116781702A (zh)

Similar Documents

Publication Publication Date Title
US20200042364A1 (en) Movement of services across clusters
CN112532675B (zh) 一种网络边缘计算系统的创建方法、装置及介质
EP3467652B1 (en) Data balancing method and device
US9910888B2 (en) Map-reduce job virtualization
CN109597567B (zh) 一种数据处理方法和装置
US9052962B2 (en) Distributed storage of data in a cloud storage system
US10356150B1 (en) Automated repartitioning of streaming data
CN111787060B (zh) 一种流量调度方法、系统及装置
US20160378846A1 (en) Object based storage cluster with multiple selectable data handling policies
CN113037794B (zh) 计算资源配置调度方法、装置及系统
CN105100146A (zh) 数据存储方法、装置及系统
US20230267015A1 (en) Resource scheduling method and apparatus, electronic device and computer readable storage medium
CN109783564A (zh) 支持多节点的分布式缓存方法及设备
Goethals et al. Adaptive Fog Service Placement for Real-time Topology Changes in Kubernetes Clusters.
CN116471333B (zh) 一种混合算力网络资源调度优化方法及随动控制装置
CN116781702A (zh) 基于虚拟节点一致性哈希算法的负载均衡监测方法及系统
CN111506254B (zh) 分布式存储系统及其管理方法、装置
CN116155766A (zh) 一种园区网络质量测评方法及设备
CN114625611B (zh) 一种量子计算环境的监控方法、设备及存储介质
CN103546522B (zh) 确定存储服务器的方法及分布式存储系统
CN115421386A (zh) 一种量子与电子混合算力网络的控制方法及随动控制装置
CN115225645A (zh) 一种服务更新方法、装置、系统和存储介质
WO2021174515A1 (en) Systems and methods for data storage in the expansion of object-based storage systems
CN108769123B (zh) 一种数据系统及数据处理方法
CN115664971B (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