联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

HASH GAME - Online Skill Game ET 300哈希值的分配方法及装置

发布时间:2025-07-12 18:52:46  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300哈希值的分配方法及装置

  本申请提供一种哈希值的分配方法及装置,涉及数据处理领域,能够为数据处理系统中的各个节点均匀的分配哈希值。该方法包括,服务器确定数据处理系统的环形哈希空间的大小M,以及数据处理系统中的节点的数量X,M和X均为正整数(M)X,服务器根据环形哈希空间的大小M,以及节点的数量X,确定哈希值序列,哈希值序列包括M个哈希值,哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布,a为整数,2a×X(M)服务器从哈希值序列中选择前X个哈希值,并将前X个哈希值分配给该X个节点。本申请用于哈希值的分配的过程中。

  [0008] 基于上述技术方案,服务器确定数据处理系统的环形哈希空间的M个哈希值,以及数据处理系统中的X个节点,服务器根据M个哈希值,以及X个节点,确定哈希值序列,哈希值序列包括M个哈希值,M个哈希值中的前2a×X个哈希值在环形哈希空间中均匀分布,a为整数,2a×X,M。这样,服务器只需根据环形哈希空间大小,以及真实节点数量,即可确定哈希值序列,大大降低了算法复杂度。同时,该哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布。这样服务器可以通过灵活调整X的值,保证为节点分配的哈希值尽可能的在环形哈希空间中均匀分布。因此,本申请实施例提供的哈希值的分配方法可以降低算法复杂度,并且保证为节点分配的哈希值在环形哈希空间中均匀分布。

  [0009] 第二方面,本申请提供一种哈希值的分配装置,该装置包括,处理单元,用于确定数据处理系统的环形哈希空间的大小M,以及数据处理系统中的节点的数量X,M和X均为正整数(M)X,处理单元,还用于根据环形哈希空间的大小M,以及节点的数量X,确定哈希值序列,哈希值序列包括M个哈希值,哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布,a为整数,2a×X(M)处理单元,还用于从哈希值序列中选择前X个哈希值,并将前X个哈希值分配给该X个节点。

  [0038] 如图1所示,服务器首先建立如图1所示的环形哈希空间。该环形哈希空间中包括10个哈希值,分别为0‑9。该10个哈希值均匀分布在环形哈希空间中。该数据处理系统中包括三个节点,这三个节点的网际互联协议(internet protocol,ip)地址分别为ip1 ,ip2以及ip3。服务器计算该三个ip地址对应的哈希值,并根据哈希值在环形哈希空间中的位置,将ip地址映射到环形哈希空间中。服务器将ip地址映射到环形哈希空间中的位置如图1中的ip1,ip2和ip3所示。其中,ip1对应的哈希值为0,ip2对应的哈希值为3,ip3对应的哈希值为7。

  [0041] 为了解决现有技术中实现哈希一致性时因为虚拟节点过多导致的算法实现较为复杂,且节点均匀分布的效果较差的问题。本申请实施例提供了一种哈希值的分配方法,服务器根据预先确定的环形哈希空间的大小M以及节点的数量X,确定一个哈希值序列。该哈希值序列包括M个哈希值,且满足哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布的条件。服务器从哈希值序列中选择前X个哈希值,并将前X个哈希值分配给该X个节点。这样,服务器只需根据环形哈希空间大小,以及真实节点数量,即可确定哈希值序列,大大降低了算法复杂度。同时,该哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布。这样服务器可以通过灵活调整X的值,保证哈希值尽可能的在环形哈希空间中均匀分布。

  [0053] 需要说明的是,该环形哈希空间的大小不能设置的过大,也不能设置的过小。如果环形哈希空间的大小设置的过大,将会增加生成哈希值序列是的算法的复杂度,造成服务器计算性能的浪费。如果环形哈希空间的大小设置的过小,将会导致服务器确定的待处理的数据的哈希值不能均匀的在环形哈希空间中分布。降低数据处理系统的负载均衡。并且,如果M的值设置的小于数据处理系统的最大节点数据K,将会导致服务器无法为数据处理系统的部分节点分配哈希值。其中,数据处理系统的最大节点数K,是数据处理系统中最大可扩容的节点数量,而不是数据处理系统中当前的节点数量。K为大于等于N的正整数。

  [0083] 基于上述技术方案,服务器确定数据处理系统的环形哈希空间的M个哈希值,以及数据处理系统中的X个节点,服务器根据M个哈希值,以及X个节点,确定哈希值序列,哈希值序列包括M个哈希值,M个哈希值中的前2a×X个哈希值在环形哈希空间中均匀分布,a为整数,2a×X,M。这样,服务器只需根据环形哈希空间大小,以及真实节点数量,即可确定哈希值序列,大大降低了算法复杂度。同时,该哈希值序列中的前2a×X个哈希值在环形哈希空间中均匀分布。这样服务器可以通过灵活调整X的值,保证为节点分配的哈希值尽可能的在环形哈希空间中均匀分布。因此,本申请实施例提供的哈希值的分配方法可以降低算法复杂度,并且保证为节点分配的哈希值在环形哈希空间中均匀分布。

  [0087] 可以理解的是,服务器为哈希值序列中已经分配给节点的哈希值设置第一标识,可以使服务器根据该第一标识即可确定该哈希值已经分配给数据处理系统中的节点。这样,当数据处理系统中增加了新的节点时,服务器可以跳过设置有第一标识的哈希值,直接从第一个未设置第一标识的哈希值开始分配。这样,可以避免服务器将已分配的哈希值又再次分配给其他节点,造成系统无法正常工作。同时,通过设置第一标识的方式,可以使服务器简单准确确定哈希值序列中的哈希值是否分配给数据处理系统中的节点。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: