CN109412838A - 基于散列计算以及性能评估的服务器集群主节点选择方法 - Google Patents

基于散列计算以及性能评估的服务器集群主节点选择方法 Download PDF

Info

Publication number
CN109412838A
CN109412838A CN201811151372.9A CN201811151372A CN109412838A CN 109412838 A CN109412838 A CN 109412838A CN 201811151372 A CN201811151372 A CN 201811151372A CN 109412838 A CN109412838 A CN 109412838A
Authority
CN
China
Prior art keywords
node
host node
xdn
key
nodes
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
CN201811151372.9A
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.)
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 CN201811151372.9A priority Critical patent/CN109412838A/zh
Publication of CN109412838A publication Critical patent/CN109412838A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出基于散列计算及性能评估的服务器集群主节点选择方法,涉及计算机领域,所述方法包括:由管理节点向全部数据节点发起问讯,选出最大节点Xdn;管理节点向全部数据节点分配随机数值,各不相等;Xdn内节点分别向周围节点开展问讯,收集分配数值,并随机生成Key;发送该key的节点建立长联接,并通知管理节点;管理节点收到从节点的通知后,进行投票统计;在所有节点完成投票后,选出最多投票节点集Ydn。本发明在多台服务器一起集群的工作时,若主节点发生了故障,需要快速的挑选出一台可用的节点,通过散列的计算方式寻找出性能最优能保证最持久工作的节点,选出的主节点空闲算力最高,成为主节点后能长久高效工作。

Description

基于散列计算以及性能评估的服务器集群主节点选择方法
技术领域
本发明涉及计算机技术领域,尤其是一种基于散列计算以及性能评估的服务器集群主节点选择方法。
背景技术
目前,随着信息技术的不断发展,集群技术正在越来越多的领域中被广泛应用,常见的如服务集群、SAN(Storage Area Network,网络存储)等。服务集群是一组计算机系统,其作为一个整体向用户提供一组计算资源。这些单个的计算机系统就是服务集群的计算节点(Node)。在应用集群的技术中,服务集群通常会按照一定的策略设置主从节点,然后主从节点按各自承担的任务工作。在一个服务集群中,主节点监控从节点的工作状态。服务集群中主节点可能在运行过程中出现单点故障的问题。
相关技术中,为了解决服务集群中主节点可能出现的单点故障问题,通常会在服务器集群中设置多个可以作为主节点的计算机。当无主节点或原主节点故障情况下,就进入“选举”状态,通过投票方式选出新的主节点,集群所有提交状态又会通过新的主节点分发给集群所有节点,从而使分布式集群的状态重新恢复可用。现有各算法没有考虑算力问题,无法保障选出的主节点服务器性能最优,从而不能保障其最大程度长时间的运转;其次,算力因素很难通过评估来预测,通过实际计算比较是最可靠的做法。服务器最主要算力因素是CPU 和内存,散列计算可以对CPU和内存性能进行极好的测试;且散列计算结果概率均衡(即高小熵),计算过程公平;且通过对散列计算结果前N位为零的规则设定,可以有效控制计算难度,从而对选出主节点耗费时间进行有效的控制,以免浪费算力,造成集群服务中断,体现本算法的灵活性;散列计算验证时极为容易,将分配数值+Key进行相同的散列计算即可,只进行一次计算,方便从节点快速验证。
发明内容
本发明提供一种基于散列计算及性能评估的服务器集群主节点选择方法,应用于无主节点或原主节点故障情况下,所述方法包括:
S1、由管理节点向全部数据节点发起问讯,收集数据版本号,选出版本号最大的节点,即数据最新的节点集Xdn;
如果Xdn个数为1,则以该节点为主节点,算法结束;
如果Xdn个数大于1,则进入S2;
S2、管理节点向全部数据节点分配随机数值,各不相等,然后通知Xdn内节点开始S3;
S3、Xdn内节点分别向周围节点开展问讯,收集他们的分配数值,并尝试随机生成Key,使得收集到的分配数值+Key,进行散列计算后,产生的散列值的前N位为零;
S4、从节点收到Key后,用相同散列计算验证、通过,则与发送该Key的 Xdn内节点建立长联接,并通知管理节点;
S5、管理节点收到从节点的通知后,进行投票统计,并通知其他节点停止对该从节点的Key计算;
S6、在所有从节点完成投票后,选出最多投票节点集Ydn;
如果Ydn个数为1,则为主节点,算法结束;
如果Ydn个数大于1,则以分配数值最大的从节点投票的Ydn候选节点为主节点,算法结束。
作为优选,所述步骤S3中散列计算,详细步骤如下:
S3.1收集从节点的分配数值,记为Num;
S3.2Xdn内节点随机生成Key;
S3.3将Num和Key做字符串相加得到新的数值记为V;
S3.4将V进行散列计算,例如SHA1,得到二进制串B;
S3.5验证B是否满足前N位为零,如满足,结束;
如不满足,重复步骤S3.2至S3.4直至B满足S3.5的验证要求。
本发明提供的一种基于散列计算以及性能评估的服务器集群主节点选择方法,其有益效果在于:在多台服务器一起集群的工作时,若主节点服务器发生了故障,需要快速的挑选出一台可用的服务器,通过散列的计算方式寻找出性能最优能保证最持久工作的服务器,选出的主节点空闲算力最高,成为主节点后更可能长久高效的工作。现有各算法没有考虑算力问题,无法保障选出的主节点服务器性能最优,从而不能保障其最大程度长时间的运转;其次,算力因素很难通过评估来预测,通过实际计算比较是最可靠的做法。服务器最主要算力因素是CPU和内存,散列计算可以对CPU和内存性能进行极好的测试;且散列计算结果概率均衡(即高小熵),计算过程公平;且通过对散列计算结果前N 位为零的规则设定,可以有效控制计算难度,从而对选出主节点耗费时间进行有效的控制,以免浪费算力,造成集群服务中断,体现本算法的灵活性;散列计算验证时极为容易,将分配数值+Key进行相同的散列计算即可,只进行一次计算,方便从节点快速验证。
附图说明
图1是本发明主节点选择方法的流程图;
图2是散列计算的流程图。
具体实施方式
为进一步说明各实施例,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合具体实施方式对本发明进一步说明。
本实施例提供的一种基于散列计算及性能评估的服务器集群主节点选择方法,应用于无主节点或原主节点故障情况下,如图1、2所示,所述方法包括:
S1、由管理节点向全部数据节点发起问讯,收集数据版本号,选出版本号最大的节点,即数据最新的节点集Xdn;
如果Xdn个数为1,则以该节点为主节点,算法结束;
如果Xdn个数大于1,则进入S2;
S2、管理节点向全部数据节点分配随机数值,各不相等,然后通知Xdn内节点开始S3;
S3、Xdn内节点分别向周围节点开展问讯,收集他们的分配数值,并尝试随机生成Key,使得收集到的分配数值+Key,进行散列计算后,产生的散列值的前N位为零(N可以根据实际需要调整,可以有效控制难度,从而对选出主节点耗费时间进行有效的控制);
S4、从节点收到Key后,用相同散列计算验证、通过,则与发送该Key的 Xdn内节点建立长联接,并通知管理节点;
S5、管理节点收到从节点的通知后,进行投票统计,并通知其他节点停止对该从节点的Key计算;
S6、在所有从节点完成投票后,选出最多投票节点集Ydn;
如果Ydn个数为1,则为主节点,算法结束;
如果Ydn个数大于1,则以分配数值最大的从节点投票的Ydn候选节点为主节点,算法结束。
上述的一种基于散列计算以及性能评估的服务器集群主节点选择方法,其特征在于所述步骤S3中散列计算,计算过程包括如下步骤:
S3.1收集从节点的分配数值,记为Num;
S3.2Xdn内节点随机生成Key;
S3.3将Num和Key做字符串相加得到数值记为V;
S3.4将V进行散列计算,得到二进制串B;
S3.5验证B是否满足前N位为零,如满足,结束;
如不满足,重复步骤S3.2到S3.4直至B满足S3.5的验证要求。
本实施例中,根据权利要求1所述的一种基于散列计算以及性能评估的服务器集群主节点选择方法,通过控制前N位为零以控制难度和时效的说明,设置平均计算次数为C(N),概率由于散列计算结果均匀分布,所以P(N)=P(N) 21/2n,平均计算次数C(N)=2n,假设节点每一秒能进行m此散列计算,则平均计算时间T(N)=2n/m,平均需要2n次散列计算才能获得一个满足条件的Key,时间随N增大而增大,随节点计算能力m增大而减小。
本实施例的主节点选择方法,具体计算过程如下:
设从节点i,从节点总个数为k,候选节点集Xdn中的候选节点j,j∈Xdn, Tij为候选节点j对从节点i的计算时间,则从节点的投票目标为:
候选节点j的投票数:
说明:函数I[condition]为二进制函数,condition为真时取1,为假时取0,用以计数。
得票数最多的节点集Ydn为:
候选节点j的最大从节点分配随机数值Key
i满足N(i)=j,则最终主节点Z为:
本发明提供的一种基于散列计算以及性能评估的服务器集群主节点选择方法,在多台服务器一起集群的工作时,若主节点服务器发生了故障,需要快速的挑选出一台可用的服务器,通过散列的计算方式寻找出性能最优能保证最持久工作的服务器,选出的主节点空闲算力最高,成为主节点后更可能长久高效的工作。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (2)

1.一种基于散列计算及性能评估的服务器集群主节点选择方法,应用于无主节点或原主节点故障情况下,其特征在于,所述方法包括:
S1、由管理节点向全部数据节点发起问讯,收集数据版本号,选出版本号最大的节点,即数据最新的节点集Xdn;
如果Xdn个数为1,则以该节点为主节点,算法结束;
如果Xdn个数大于1,则进入S2;
S2、管理节点向全部数据节点分配随机数值,各不相等,然后通知Xdn内节点开始S3;
S3、Xdn内节点分别向周围节点开展问讯,收集他们的分配数值,并尝试随机生成Key,使得收集到的分配数值+Key,进行散列计算后,产生的散列值的前N位为零;
S4、从节点收到Key后,用相同散列计算验证、通过,则与发送该Key的Xdn内节点建立长联接,并通知管理节点;
S5、管理节点收到从节点的通知后,进行投票统计,并通知其他节点停止对该从节点的Key计算;
S6、在所有从节点完成投票后,选出最多投票节点集Ydn;
如果Ydn个数为1,则为主节点,算法结束;
如果Ydn个数大于1,则以分配数值最大的从节点投票的Ydn候选节点为主节点,算法结束。
2.根据权利要求1所述的基于散列计算及性能评估的服务器集群主节点选择方法,其特征在于,所述步骤S3中散列计算,详细步骤如下:
S3.1收集从节点的分配数值,记为Num;
S3.2Xdn内节点随机生成Key;
S3.3将Num和Key做字符串相加得到新的数值记为V;
S3.4将V进行散列计算,例如SHA1,得到二进制串B;
S3.5验证B是否满足前N位为零,如满足,结束;
如不满足,重复步骤S3.2至S3.4直至B满足S3.5的验证要求。
CN201811151372.9A 2018-09-29 2018-09-29 基于散列计算以及性能评估的服务器集群主节点选择方法 Pending CN109412838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811151372.9A CN109412838A (zh) 2018-09-29 2018-09-29 基于散列计算以及性能评估的服务器集群主节点选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811151372.9A CN109412838A (zh) 2018-09-29 2018-09-29 基于散列计算以及性能评估的服务器集群主节点选择方法

Publications (1)

Publication Number Publication Date
CN109412838A true CN109412838A (zh) 2019-03-01

Family

ID=65465706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811151372.9A Pending CN109412838A (zh) 2018-09-29 2018-09-29 基于散列计算以及性能评估的服务器集群主节点选择方法

Country Status (1)

Country Link
CN (1) CN109412838A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334076A (zh) * 2019-05-31 2019-10-15 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN110351375A (zh) * 2019-07-16 2019-10-18 深圳市网心科技有限公司 一种数据处理方法、装置及计算机装置、可读存储介质
CN110417591A (zh) * 2019-07-23 2019-11-05 中南民族大学 投票节点配置方法及系统
CN110427763A (zh) * 2019-07-24 2019-11-08 上海朝夕网络技术有限公司 一种基于预定义执行代码的分布式系统的共识方法
CN112600919A (zh) * 2020-12-10 2021-04-02 中国科学院深圳先进技术研究院 一种基于PoW共识机制的设备算力评价方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334076A (zh) * 2019-05-31 2019-10-15 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN110334076B (zh) * 2019-05-31 2022-08-16 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN110351375A (zh) * 2019-07-16 2019-10-18 深圳市网心科技有限公司 一种数据处理方法、装置及计算机装置、可读存储介质
CN110417591A (zh) * 2019-07-23 2019-11-05 中南民族大学 投票节点配置方法及系统
CN110417591B (zh) * 2019-07-23 2021-07-02 中南民族大学 投票节点配置方法及系统
CN110427763A (zh) * 2019-07-24 2019-11-08 上海朝夕网络技术有限公司 一种基于预定义执行代码的分布式系统的共识方法
CN112600919A (zh) * 2020-12-10 2021-04-02 中国科学院深圳先进技术研究院 一种基于PoW共识机制的设备算力评价方法及系统

Similar Documents

Publication Publication Date Title
CN109412838A (zh) 基于散列计算以及性能评估的服务器集群主节点选择方法
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN110166282A (zh) 资源分配方法、装置、计算机设备和存储介质
US20160203235A1 (en) Striping of directed graphs and nodes with improved functionality
CN111478795B (zh) 一种基于混合拜占庭容错的联盟区块链网络共识方法
US20210406872A1 (en) Optimal transactions sharding for scalable blockchain
CN107103009A (zh) 一种数据处理方法及装置
CN112738172B (zh) 区块链节点的管理方法、装置、计算机设备和存储介质
CN105049509A (zh) 一种集群调度方法、负载均衡器以及集群系统
CN104077188A (zh) 一种用于任务调度的方法和装置
Beraldi et al. Randomized load balancing under loosely correlated state information in fog computing
WO2018099090A1 (zh) 从云计算系统中确定主调度器的方法及装置
US8180716B2 (en) Method and device for forecasting computational needs of an application
CN115168042A (zh) 监控集群的管理方法及装置、计算机存储介质、电子设备
CN113242553B (zh) 一种基于区块链分片的恶意节点检测方法
JP2014164554A (ja) 負荷分散判定システム
CN116112931A (zh) 一种基于共识机制信任聚合的终端信任评估方法及装置
Guo et al. Handling data skew at reduce stage in Spark by ReducePartition
CN112738090B (zh) 在边缘计算中基于绿色计算共识机制区块链的数据完整性检测方法
Son et al. Stochastic distributed data stream partitioning using task locality: design, implementation, and optimization
CN114428704A (zh) 全链路分布式监控的方法、装置、计算机设备和存储介质
Tong et al. Service reliability oriented modeling for the failure of cloud data center
CN111428277A (zh) 区块链数据的校验方法、装置及系统
CN117041264B (zh) 一种基于数据处理的区块链资源管理系统及方法
US20230418676A1 (en) Priority-based load shedding for computing systems

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