一种节点管理方法及装置的制造方法_3

文档序号:9931370阅读:来源:国知局
果所属的哈希运算结果范围,确定该节点对应的虚拟节点;并且,由于每一个虚拟节点均拥有唯一对应的存储服务器,因此,根据确定的虚拟节点,即可确定该虚拟节点所对应的存储服务器标识;代理服务器将确定的存储服务器标识确定为上述节点对应的存储服务器标识
[0056]例如,参阅图4所示,环形数值空间上包含虚拟节点a?f,其中,虚拟节点a对应的哈希运算结果范围为【0,I】,虚拟节点b对应的哈希运算结果范围为(2,3】,虚拟节点c对应的哈希运算结果范围为(3,8),虚拟节点d对应的哈希运算结果范围为(1,2】,虚拟节点e对应的哈希运算结果范围为【8,9),虚拟节点f对应的哈希运算结果范围为【9,O),当节点I对应的哈希运算结果为4时,该哈希运算结果属于哈希运算结果范围(3,8),该哈希运算结果范围为虚拟节点c的范围(参阅图5所示),而虚拟节点c对应于存储服务器A,因此,节点I对应的存储服务器标识为存储服务器A的标识。
[0057]步骤230:代理服务器将节点的节点信息存储至确定的虚拟节点所属的存储服务器中。
[0058]本发明实施例中,存储服务器的属性信息还包括存储服务器的IPdnternetProtocol ;网际协议)地址和端口号;代理服务器将节点信息存储至存储服务器标识对应的存储服务器中的过程,具体包括:代理服务器根据存储服务器的标识对应的存储服务器的IP地址和端口号,将上述节点信息存储至上述存储服务器标识对应的存储服务器中。
[0059]基于上述技术方案,当代理服务器检测到任意一存储服务器的状态变化信息时,代理服务器根据至少一个存储服务器的状态变化信息,实时调整映射在环形数值空间的虚拟节点,并相应调整虚拟节点所属的存储服务器管理的节点;其中,状态变化信息包括删除存储服务器以及添加存储服务器。
[0060]具体的,当状态变化信息为删除存储服务器信息时,代理服务器从环形数值空间中删除上述任意一存储服务器的虚拟节点对应的点;针对该任意一存储服务器的每一个虚拟节点,确定存储至上述任意一存储服务器的节点信息对应的每一个节点,以及确定该节点在环形数值空间所在位置的下一个位置的虚拟节点,将该确定的虚拟节点作为该节点对应的虚拟节点,将该节点的节点信息存储至上述确定的虚拟节点所属的存储服务器中。
[0061]进一步的,当代理服务器为每一个虚拟节点配置相应的哈希运算结果范围时,若状态变化信息为删除存储服务器信息,则针对该任意一存储服务器的每一个虚拟节点,确定该虚拟节点对应的哈希运算结果范围;代理服务器将确定的哈希运算结果范围分配至环形数值空间上与该虚拟节点对应的点所相邻的点对应的虚拟节点;以及确定存储至上述任意一存储服务器的节点信息对应的每一个节点中哈希运算结果属于上述相邻的点对应的虚拟节点的范围的节点,将确定的节点的节点信息存储至上述相邻的点对应的虚拟节点所属的存储服务器中;其中,与删除的点所相邻的点,可以为以该删除的点为起点,按照顺时针方向的下一个点;或者,与删除的点所相邻的点,可以为以该删除的点为起点,按照逆时针方向的下一个点。
[0062]进一步的,代理服务器获取节点信息所存储的存储服务器发生变化的节点的标识,以及该节点标识对应的虚拟节点,并保存该节点的标识与该虚拟节点的映射关系。
[0063]例如,参阅图6所示,基于上述图4中举例,P2P系统中包含存储服务器A,存储服务器B,以及存储服务器C,代理服务器为存储服务器A配置3个虚拟节点(分别为虚拟节点
a、虚拟节点b和虚拟节点c),为存储服务器B配置2个虚拟节点(分别为虚拟节点d和虚拟节点e),为存储服务器C配置I个虚拟节点(虚拟节点f),且虚拟节点a对应的哈希运算结果范围为【0,1】,虚拟节点f对应的哈希运算结果范围为【9,0);当存储服务器C宕机时状态变化信息为删除存储服务器信息,此时,在环形数值空间中删除虚拟节点f对应的点,若在删除该存储服务器C宕机之前,节点2的节点信息存储在该存储服务器C中,即节点2对应的哈希运算结果属于虚拟节点f对应的哈希运算结果范围,当删除虚拟节点f对应的点后,代理服务器将哈希运算结果范围为【9,O)分配至于该虚拟节点f对应的点所相邻的点对应的虚拟节点a,此时,虚拟节点a对应的哈希运算结果范围为【0,I】和【9,0),而节点2对应的哈希运算结果将属于虚拟节点a对应的哈希运算结果范围,即将节点2的节点信息存储至虚拟节点a对应的存储服务器A,并在代理服务器中存储节点2与虚拟节点a之间的映射关系。
[0064]当状态变化信息为添加存储服务器信息时,代理服务器为上述任意一存储服务器配置虚拟节点;并根据配置的每一个虚拟节点对应的哈希运算结果,将每一个虚拟节点映射到环形数值空间上;针对该任意一存储服务器的每一个虚拟节点,确定该虚拟节点在环形数值空间上所在位置,将并获取该所在位置与上一个位置虚拟节点之间的节点标识;将获取的节点标识对应的节点信息存储至上述任意一存储服务器中。
[0065]进一步的,当代理服务器为每一个虚拟节点配置相应的哈希运算结果范围时,若状态变化信息为添加存储服务器信息,则代理服务器获取在环形数值空间上与该虚拟节点对应的点相邻的点对应的虚拟节点的哈希运算结果范围;从获取的哈希运算结果范围中为该虚拟节点配置相应的哈希运算结果范围,以及更新上述相邻的点对应的虚拟节点的哈希运算结果范围;代理服务器从该相邻点对应的虚拟节点对应的所有节点中,确定哈希运算结果属于上述虚拟节点对应的哈希运算结果范围的节点,将确定的节点的节点信息存储至上述任意一存储服务器中。
[0066]进一步的,代理服务器获取节点信息所存储的存储服务器发生变化的节点的标识,以及该节点标识对应的虚拟节点,并保存该节点的标识与该虚拟节点的映射关系。
[0067]例如,参阅图7所示,基于上述图4中举例,P2P系统中包含存储服务器A,存储服务器B,以及存储服务器C,代理服务器为存储服务器A配置3个虚拟节点(分别为虚拟节点a、虚拟节点b和虚拟节点c),为存储服务器B配置2个虚拟节点(分别为虚拟节点d和虚拟节点e),为存储服务器C配置I个虚拟节点(虚拟节点f);当在P2P系统中增加存储服务器D,为该存储服务器D配置的虚拟节点为g,该虚拟节点g对应的哈希运算结果为6,因此,将虚拟节点g映射到环形数值空间上,该虚拟节点g对应的哈希运算结果范围为【6,8),则此时虚拟节点c对应的哈希运算结果范围为(3,6),若存在节点3,该节点3对应的哈希运算结果为7,在添加存储服务器D之前,该节点3对应的哈希运算结果属于虚拟节点c,节点3的节点信息存储在存储服务器A中,并且代理服务器中保存有节点3与虚拟节点c之间的映射关系;当天际存储服务器D之后,该节点3对应的哈希运算结果属于虚拟节点g,此时,需要将节点3的节点信息存储至存储服务器D中;并且,代理服务器将本地保存的节点3与虚拟节点c之间的映射关系修改为节点3与虚拟节点g之间的映射关系。此外,代理服务器还还可以向存储服务器A发送节点信息删除通知,通知存储服务器A删除节点3的节点信息。
[0068]基于上述技术方案,参阅图8所示,本发明实施例提供一种节点信息管理装置,该装置包括配置单元80,映射单元81,确定单元82,以及存储单元83,其中:
[0069]配置单元80,用于分别根据每一个存储服务器的权重值,为该存储服务器配置相应数目的虚拟节点,并为每一个虚拟节点分配对应的唯一识别码;
[0070]映射单元81,用于对所述虚拟节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照预设规则映射到预设的环形数值空间;其中,所述环形数值空间为将预设数值范围内的所有数值按照预设排序规则进行排列后组成的线型空间首位相连后组成的空间;
[0071]确定单元8 2,用于当接收对节点进行管理的指令时,对所述节点的唯一识别码进行一致性哈希运算,将哈希运算结果按照所述预设规则映射到所述环形数值空间上,并根据所述节点对应的哈希运算结果在所述环形数值空间上的位置确定与所述节点对应的虚拟节点;
[0072]存储单元83,用于将所述节点的信息存储至确定的虚拟节点所属的存储服务器中。
[0073]可选的,所述配置单元80,具体用于:根据每一个所述存储服务器的处理能力,为其分配权重值;根据所述存储服务器的权重值,确定虚拟节点的数目;其中,所述虚拟节点的数目与所述权重值成正比;为所述存储服务器配置相应数目的虚拟节点。
[0074]可选的,所述配置单元80,具体用于:根据所述每一个虚拟节点所属的存储服务器的唯一识别码确定该虚拟节点的唯一识别码。
[0075]可选的,所述预设规则包括:从小到大顺时针或从小到大逆时针;所述映射单元81,具体用于:将所述哈希运算的结果按照从小到大的顺序排列,并顺时针或逆时针依次插入到环形数值空间的相应位置。
[0076]可选的,所述确定单元82,具体用于:确定所述节点对应的哈希运算结果在所述环形数值空间上的位置;确定环形数值空间上的该位
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1