CN1937557A - 结构化对等网络***及其负载查询、转移及资源查找方法 - Google Patents

结构化对等网络***及其负载查询、转移及资源查找方法 Download PDF

Info

Publication number
CN1937557A
CN1937557A CN 200610122064 CN200610122064A CN1937557A CN 1937557 A CN1937557 A CN 1937557A CN 200610122064 CN200610122064 CN 200610122064 CN 200610122064 A CN200610122064 A CN 200610122064A CN 1937557 A CN1937557 A CN 1937557A
Authority
CN
China
Prior art keywords
load
node
peer
information
structured
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.)
Granted
Application number
CN 200610122064
Other languages
English (en)
Other versions
CN100496004C (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.)
Huawei Technologies Co Ltd
Shanghai Jiaotong University
Original Assignee
Huawei Technologies Co Ltd
Shanghai Jiaotong University
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 Huawei Technologies Co Ltd, Shanghai Jiaotong University filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101220644A priority Critical patent/CN100496004C/zh
Publication of CN1937557A publication Critical patent/CN1937557A/zh
Application granted granted Critical
Publication of CN100496004C publication Critical patent/CN100496004C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种可保证负载均衡的结构化对等网络***及其负载查询、转移及资源查找方法,所述节点设备主要包括存储单元、负载转移处理单元以及资源查找单元。本发明通过在结构化对等网络***的各个节点设备存储该对等网络***负载信息,当某个节点设备的负载过高时,根据所述对等网络***负载信息选择一个负载较轻的节点设备,并将该过高的负载转移到所述负载较轻的节点设备,从而可保证***保持负载均衡。本发明与结构化对等网络***中采用何种哈希算法没有关系,只要***中存在负载分配不均,就可以应用本发明实现负载均衡。

Description

结构化对等网络***及其负载查询、转移及资源查找方法
技术领域
本发明涉及对等网络(Peer-to-Peer,P2P)技术领域,更具体的说,本发明涉及一种保证负载均衡的结构化对等网络***及其负载查询、转移及资源查找方法。
背景技术
对等网络是目前非常热门的应用技术,所谓对等网络是指一种分布式网络***,在这种网络中,所有的节点都是对等的。通常,依照节点信息存储与搜索方式的不同,诸多P2P网络可以分为2大类:结构化(Structured)对等网络与非结构化(Unstructured)对等网络***。在非结构化的P2P***中,每个节点存储自身的信息或信息的索引(如指针和IP地址),而在结构化P2P网络***中,每个节点只存储特定的信息或特定信息的索引。
通常,结构化的对等网络通过哈希的方法来决定每个对象的存储地址,因此,一但出现某个哈希键值对应的对象比较多的情况,***就会出现局部负载不均衡的现象,例如基于位置敏感哈希的结构化环状对等网络***,由于其对象集合本身分布不均匀,经过位置敏感的哈希函数运算以后的哈希值集合保留了原先的分布不均匀;即使是均匀分布的对象集合,经过位置敏感的哈希运算以后,仍然会由于这些函数本身的某些特性带来新的分布不均衡问题,导致对等网络***中局部负载过重。
为了解决对等网络***中的负载不均衡问题,现有技术中采用了一种负载相关的节点加入机制,其考虑将新加入的节点加入到***负载重的区域以帮助减轻负载不均衡的状况,即节点加入的时候参考其加入的节点区域附近节点的负载信息,如果附近有负载较重的节点,则考虑加入到距离负载较重的节点近的地方以分担该负载重的节点的一部分负载。
但该种方法存在如下缺陷:
首先,如果在负载过重的时候没有节点加入,则***就没有办法解决负载不均衡的问题;
其次,如果在一段连续的节点区域内已经有了节点,并且它们的负载均过重,即使有新的节点加入***,也无法帮助它们解决负载过重的问题;
再次,把节点都加到高负载区域,由于节点会不断上下线,则对象会不停的在节点之间转来转去,导致高负载区域的不稳定。
因此,需要一种更加合理的负载均衡方法,可以将节点的加入/退出给***带来的影响降到最低。
发明内容
本发明解决的技术问题是提供一种可保证负载均衡的结构化对等网络***及其负载查询、转移及资源查找方法,以减轻节点的加入/退出给***带来的影响,保持***稳定。
为解决上述问题,本发明的一种结构化对等网络***的节点设备,主要包括有:
存储单元:存储有对等网络***路由信息、对等网络***负载信息以及负载转移记录信息;
负载转移处理单元:根据所述对等网络***负载信息选定目标负载转移节点设备并向所述选定的目标负载转移节点设备转移本节点设备超重的负载;
资源查找单元:根据所述对等网络***路由信息以及所述负载转移记录信息进行资源查找。
另外,还包括更新处理单元:定期更新所述存储单元存储的对等网络***负载信息。
可选地,所述对等网络***采用Chord环,所述对等网络***负载信息为按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的节点标识区域的负载空裕的节点集合及其负载能力。
可选地,所述对等网络***采用平衡二叉树,所述对等网络***负载信息为按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
可选地,所述负载转移处理单元具体包括:
确定单元:根据所述结构化对等网络***负载信息确定目标负载转移节点设备;
查询单元:查询所述确定的目标负载转移节点设备是否可以接受负载转移;
转移单元:若查询结果为是,则向所述确定的目标负载转移节点设备转移负载。
其中,所述确定单元确定的目标负载转移节点设备为负载空裕节点集合中选择的负载最轻的一个节点设备或随机选择的一个或多个节点设备。
相应的,本发明的一种结构化对等网络***,包括多个节点设备,所述节点设备包括有:
存储单元:存储有对等网络***路由信息、对等网络***负载信息以及负载转移记录信息;
负载转移处理单元:根据所述对等网络***负载信息选定目标负载转移节点设备并向所述选定的目标负载转移节点设备转移本节点设备超重的负载;
资源查找单元:根据所述对等网络***路由信息以及所述负载转移记录信息进行资源查找。
另外,所述节点设备还包括更新处理单元:定期更新所述存储单元存储的对等网络***负载信息。
可选地,所述对等网络***采用Chord环,所述对等网络***负载信息为按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的节点标识区域的负载空裕的节点集合及其负载能力。
可选地,所述对等网络***采用平衡二叉树,所述对等网络***负载信息为按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
其中,所述负载转移处理单元包括:
确定单元:根据所述结构化对等网络***负载信息确定目标负载转移节点设备;
查询单元:查询所述确定的目标负载转移节点设备是否可以接受负载转移;
转移单元:若查询结果为是,则向所述确定的目标负载转移节点设备转移负载。
其中,所述确定单元确定的目标负载转移节点设备为负载空裕节点集合中选择的负载最轻的一个或多个节点设备或者随机选择的一个或多个节点设备。
相应地,本发明的一种结构化对等网络***中节点设备负载更新的方法,所述结构化对等网络***包括多个节点设备,各个节点设备中存储有按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力的***负载信息,主要包括如下步骤:
按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
按照查询结果更新各个条目的节点标识区域的负载空裕节点集合及其负载能力。
其中,所述按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力包括:
询问各个条目的节点标识区域所指的节点该节点标识区域中负载空裕节点及其负载能力;
各个条目的节点标识区域所指的节点设备查询本节点设备的***负载信息返回所述节点标识区域中的负载空裕节点及其负载能力信息。
相应地,本发明的一种结构化对等网络***中节点设备负载更新的方法,所述结构化对等网络***包括多个节点设备,各个节点设备中存储有按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力的***负载信息,主要包括如下步骤:
按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力;
按照查询结果更新各个条目的子树区域的负载空裕节点集合及其负载能力。
其中,所述按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力包括:
询问各个条目的子树区域所指的节点该子树区域中负载空裕节点及其负载能力;
各个条目的子树区域所指的节点设备查询本节点设备的***负载信息返回所述子树区域中的负载空裕节点及其负载能力信息。
相应地,本发明的一种结构化对等网络***中节点设备的负载转移方法,所述结构化对等网络***包括多个节点设备,各个节点设备存储有所述结构化对等网络***负载信息,主要包括如下步骤:
检查到本节点设备负载过重,查询结构化对等网络***负载信息确定目标负载转移节点设备;
将本节点设备过重的负载转移到确定的目标负载转移节点设备。
其中,将本节点设备的负载转移到确定的目标负载转移节点设备之前还包括:
查询目标负载转移节点设备是否可以接受转移负载,若是,则执行将本节点设备的负载转移到确定的目标负载转移节点设备,否则,则等待更新结构化对等网络***负载信息后重新发起转移。
其中,所述确定的目标负载转移节点设备为负载空裕节点设备集合中负载最轻的一个或多个节点设备或者负载空裕节点设备集合中随机选择的一个或多个节点设备。
相应地,本发明的一种结构化对等网络***中资源查找方法,所述结构化对等网络***包括多个节点设备,各个节点设备存储有所述结构化对等网络***负载信息和负载转移记录信息,主要包括如下步骤:
按照***路由信息确定资源所在的目标节点设备;
判断所述目标节点设备的资源是否发生转移,若判断结果为是,则根据资源负载转移记录信息确定资源转移存放的节点设备,否则,确定所述目标节点设备为资源存放节点设备。
与现有技术相比,本发明具有以下有益效果:
本发明中通过在结构化对等网络***的各个节点设备存储该对等网络***负载信息,当某个节点设备的负载过高时,根据所述对等网络***负载信息选择一个负载较轻的节点设备,并将该过高的负载转移到所述负载较轻的节点设备,从而可保证***保持负载均衡。本发明与结构化对等网络***中采用何种哈希算法没有关系,只要***中存在负载分配不均,就可以应用本发明实现负载均衡。
附图说明
图1是本发明负载均衡方法的原理示意图;
图2是本发明结构化对等网络***中的节点设备中与负载相关的功能组成示意图;
图3是本发明负载转移处理单元的一种实现示意图;
图4是本发明基于Chord环存储收集***负载信息的示意图;
图5是本发明基于平衡二叉树结构存储收集***负载信息的示意图。
具体实施方式
参考图1,本发明核心在于在结构化对等网络***的各个节点设备存储该对等网络***负载信息,当某个节点设备的负载过高时,根据所述对等网络***负载信息选择一个负载较轻的节点设备,并将该过高的负载转移到所述负载较轻的节点设备,从而可保证***保持负载均衡,本发明由于将节点加入/退出机制和负载平衡机制解耦,避免了负载相关的节点加入机制的天生缺陷,可实现对等网络***的负载均衡,下面详细进行说明。
参考图2,该图是本发明与负载相关的结构化对等网络***中的节点设备的组成示意图。
如图示,本发明中结构化对等网络***中的节点设备包括有:存储单元11、负载转移处理单元12以及资源查找单元13,其中
存储单元11,本发明中所述存储单元11存储有本节点设备的对等网络***路由信息以及本节点设备的对等网络***负载信息,为便于查询在存储单元中还可以存储负载转移记录信息;
负载转移处理单元12,本发明中所述负载转移处理单元12可根据所述对等网络***负载信息选定节点设备并向所述选定的节点设备转移本节点设备超重的负载;
作为一个具体的实现,参考图3,所述负载转移处理单元12可包括:
确定单元121,所述确定单元121主要用于根据所述结构化对等网络***负载信息确定目标负载转移节点设备;
查询单元122,所述查询单元122主要用于查询所述确定的目标负载转移节点设备是否可以接受负载转移;
转移单元123,所述转移单元123主要用于在查询结果为是时,向所述确定的目标负载转移节点设备转移负载。
资源查找单元13,本发明中所述资源查找单元13可根据所述对等网络***路由信息进行资源查找,另外,需要说明的,若存储单元11中存储有负载转移记录信息时,本发明中所述资源查找单元13还可结合***路由信息以及负载转移记录信息进行资源查找,即本发明进行资源查找时,当按照***路由信息确定资源所在的目标节点设备后,还可判断所述目标节点设备的资源是否发生转移,若判断结果为是,则根据资源负载转移记录信息确定资源存放的节点设备,否则,确定所述目标节点即为资源存放节点设备。
另外,本发明中还可包括更新处理单元14,本发明中所述更新处理单元14可定期更新所述存储单元11存储的对等网络***负载信息,具体实现时可采用不同的更新策略,这里不再赘述。
通过上述各个节点设备可组成本发明的结构化对等网络***,本发明的结构化对等网络***,包括多个节点设备,所述节点设备的组成结构如图2所示,这里不再赘述。
需要说明的,本发明中***负载信息可采用各种形式存储,但需保证在分布式***中进行负载转移时,需要尽可能减少转移的开销;并且充分考虑到以后查询工作的便利。
下面以基于Chord环的路由算法的***负载信息存储的实施例进行说明。
本实施例中基于Chord环的路由机制进行***负载信息的存储,在Chord环中,***路由信息以***路由表的形式存储,其原理如下:
在一个用m位二进制代码表示节点ID的Chord环中,一共可以容纳2m个节点。节点加入***时,首先随机取一个数(0~2m之间)作为其ID,然后加入到***,如果该ID没有节点占用,则顺利加入;若该ID已有节点占用,则找到该ID后面最小的空余ID加入。当***中第一个节点加入时,它的***路由表内所有的条目都指向它自己,这样在***中所有的节点都维护好各自的***路由表的情况下,如果有一个新节点P加入,该节点的***路由表构建方法为:生成m条路由表条目,第i条条目对应ID在[p+2i-1,p+2i)范围内节点编号最小的节点ID;如果该范围内ID没有被节点占用,则记录比这个编号更大的节点中编号最小的节点ID。例如在图4中,8号节点的第6条路由表条目(即i=6的条目)就表明[8+25,8+26)范围中,即[40,72)范围中编号最小的节点是48号。而第1条路由条目(i=1的条目)就表明[9,10)范围中间没有节点,并且14号节点是编号比9大的节点中最小的节点。在Chord环中,节点会不断地上下线,因此每个节点设备都要不断地检查自己的***路由表中的每条路由表条目信息是否正确,从而使整个***正常运转。
当一个节点i想要联系节点j的时候,它首先查看j在路由表的哪个区域中,然后联系对应的节点。以图4为例,如果节点8想要联系节点51,可发现51号落在第6条***路由表的区域,因此先去联系48;再由48号节点根据相同的策略和48号节点本身记录的***路由表进而找到51号节点进行数据交换。
在Chord环中,存储的对象采用一致性哈希函数(如SHA1)将对象变换为一个整数,然后把这个对象存放在以该整数位ID的节点上。如果该节点不存在***中,那么就存放在比这个ID大的编号最小的节点上。以图4为例,哈希值在[9,13)范围内的对象都被存放在14号节点上,基于此以及前述的路由策略,可以保证所有的对象都能很快被找到。
本实施例中***负载信息收集及存储采用依附于Chord的路由机制形式,通过每个节点设备维护一张***负载表来收集和记录***的整体负载状况(即***负载信息)。具体的,***负载信息为按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力。
而具体的***负载信息更新方法如下:
首先,按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
每个节点记[log n]条条目的***负载表,***初始化时这些条目都为空。节点p的第i条条目记录的是[p+2i-1,p+2i)区间内负载最轻的节点标识以及该节点的负载能力。该信息通过询问***路由表中所指该节点标识区域内的节点而得。具体的询问对象是询问***路由表中第i条条目所指节点;询问的内容是从该节点开始(包括该节点)后2i-1-1个节点范围内负载较轻的节点及其负载能力,当一个节点收到查询负载的请求以后,通过查阅自己的***负载表前i-1条条目即可回复该查询;这样发起更新的节点设备即可按照查询结果更新各个条目的节点标识区域的负载空裕节点集合及其负载能力。
实现上述的更新,作为一种具体的实现,本发明中所述更新处理单元可包括:
负载查询处理单元:按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的节点标识区域的负载空裕的节点集合及其负载能力。
如果某个范围没有节点,那么***负载表中对应得条目为空。这样的***负载表可以让每个节点都能知道整个网络中负载最轻或较轻的节点是谁,以便在节点超过负载能力时向其转移一部分负载。
以图4所示对等网络为例,***负载表初始化的时候,会首先创建和***路由表相同数量的条目,每条条目都置空。然后,每个节点开始定期更新这些条目。以8号节点为例,其路由表第1、2、3、4、5、6条条目分别记录区间[9,10)、[10,12)、[12,16)、[16,24)、[24,40)、[40,72)内的负载最轻的节点设备编号及可负载能力。这些信息是通过8号节点设备定期更新的时候,询问得到的信息。以第3条为例,8号节点发现***路由表中,路由信息指向14号节点,于是8号节点设备询问14号节点设备:从14号节点设备开始(包括14号节点设备),以及后面3个节点设备的范围中载最轻或较轻的负载空裕节点集合及其负载能力,14号节点设备收到这样的询问以后,比较自己的负载情况以及它的***负载表中间的前两条条目的***负载情况,将负载空裕节点集合及其负载能力的信息返回给8号节点。8号节点的其它条目通过类似的询问同样可以得到,这里不再赘述,同样的原理,对等网络***中的每个节点设备也都是通过这样的询问来维护自己的***负载表,这样的好处在于,每个节点只需要维护很少量的信息就可以知道整个***中的负载的大致情况。
另外,本发明中还可存储负载转移记录信息(本实施例中以***转移表的形式存储),***转移表记录了所有应该存放在一个节点上的对象的实际存储情况。以8号节点为例,由于***中没有5、6、7号节点存在,8号节点实际应该负责哈希值在5-8区间的所有对象。因此,8号节点可能会出现负载过重,因此它做出决策将哈希值为5的100个对象都转移到48号节点上去;将哈希值为6、7的120个对象转移到51号节点上去。
下面以基于平衡二叉树结构的路由算法的***负载信息存储的实施例进行说明。
平衡二叉树结构特点在于:叶子节点代表具体的节点;中间的分叉节点以及树的根则是抽象节点。如图5所示,黑色实体节点表示已经加入***的节点,空白节点表示还没有节点加入的***预留位置。节点加入的时候首先随机取一个ID,如果该位置没有节点,则加入到该位置;否则向右寻找一个最近的空位加入,每一个节点构造路由表是从底部往上一层一层的子树构造,每次都向右找一棵相像的树,然后寻找对应的节点,如果找不到,则找右侧编号最小的节点。以节点7为例,第0条路由表对应向上0层的子树,往右找到相像的节点是8号,将其记录在***路由表中;第1条路由表对应向上1层的子树,往右找到相像的节点是9号,由于9号节点还未加入,则向右找到节点11,将11记录在***路由表中;第2条路由表对应向上2层的子树,往右找到相像的节点11号,由于11号节点存在,则记录在***路由表中。第2条路由表对应向上三层的子树,往右找到相像的节点15号,由于15号节点不存在,则向右(越界后返回0)找到节点2,记录在***路由表中。其它节点(如2和5)的***路由表都可采用同样的方法得到,这里不再赘述。
在存储对象时,和Chord环类似,每个对象经过哈希运算后存放在对应的节点上。如果节点不存在,则存放在右侧最近的节点上。如图5中,键值为0,1,2,15的对象都存放在节点2上,键值为3,4,5的对象存放在节点5上,键值为6,7的对象存放在节点7上。
本实施例中***负载表存储以及信息收集类似Chord环,所不同的是,每一条记录的含义略有变化。本实施例的***负载表中,记录的信息是从路由表一条记录的对应节点开始到下条路由表对应的节点结束(不包括该节点)(即子树范围内)中间负载较轻的节点集合,即各个节点设备中存储有按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力的***负载信息,以7号节点为例,第1,2,3,4条***负载表(第一列信息分别为0,1,2,3)对应的含义分别是在[8,9),[9,11),[11,15),{15,0,1,2,3,4,5,6}的范围里负载空裕的节点集合及其负载能力的***负载信息。
本实施例中***负载表的更新依然通过询问机制去更新,每个节点收到询问以后的处理方式和在Chord环中一样。
其具体的***负载信息更新方法如下:
首先,按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力;即询问各个条目的子树区域所指的节点该子树区域中负载空裕节点及其负载能力;然后各个条目的子树区域所指的节点设备查询本节点设备的***负载信息返回所述子树区域中的负载空裕节点及其负载能力信息。
最后,按照查询结果更新各个条目的子树区域的负载空裕节点集合及其负载能力。
实现上述的更新,作为一种具体的实现,本发明中所述更新处理单元可包括:
负载查询处理单元:按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
本发明中根据存储的***负载信息即可进行负载转移,即当一个节点设备检查到本节点设备负载过重时,其首先查询自己的***负载表确定目标负载转移节点设备,所述确定的目标负载转移节点设备为负载空裕节点设备集合中负载最轻的一个或多个节点设备或者负载空裕节点设备集合中随机选择的一个或多个节点设备。
在确定目标负载转移节点设备后,即可将本节点设备过重的负载转移到确定的目标负载转移节点设备。在转移复杂时,***优先考虑哈希值相等或相似的负载,将哈希值在一个值域(或者相等)的所有负载一起转移,同时将转移情况记录到该节点的***负载转移表内。这样既可以使查询的时候不必依次检查所有的项目,也使***负载转移表中的记录数目保持相对较小的范围内。在具体进行负载转移时,待转移的高负载节点设备首先询问目标负载转移节点设备是否可以接受待转移的负载;如果可以接受,则将负载转移给目标负载转移节点设备;如果不能接受,则说明所知的***负载信息已经过时;需要更新***负载信息后继续进行负载转移。如果很长时间都没有发现可以接纳这些负载的节点设备,则说明整个***的负载都已经占满,须补充***资源,例如:扩充节点。
基于上述的转移机制以及转移记录信息,在查询一个存储在***中的资源时,只须按照原来的哈希方法首先计算得到该对象的哈希值,然后找到相对应的目标节点设备。在未发生负载转移的情况下,该对象就存放在该目标节点设备上。在发生负载转移的情况下,该对象存放的位置可以通过查找负载转移记录信息获得。在查询哈希值在一定范围内的对象时,和查找单个对象类似,只需找到该哈希值范围内的所有对象既可。
需要说明的,可能出现一种极端情况,既***中同时出现很多个节点设备都超负载了,此时它们都会尝试向***中负载最轻的节点设备转移负载。为此,可采用如下方式,首先,在更新***负载表时,一旦遇到多个具有相同负载能力的节点设备同时是***中最空闲的节点设备时,则随机记录一个节点,从而可以达到一定的分流效果。其次,是在***负载信息表中,每一条目(即每一个***节点标识区域)多记录几个较空闲的节点设备以及它们的负载情况。也就是说不仅仅记录一个负载最轻的节点设备;而是记录负载较轻的多个节点集合。这样可以有更多负载转移的目标节点设备可供选择。最后,在选择负载转移的目标节点设备的时候,可采取比较中庸的策略,不是往***负载最轻的节点设备转移;而是在记录在该节点的***负载表中所有节点设备中所有可以承受准备转移负载的节点设备中随机挑选一个或多个节点设备进行负载转移,这样同样可以较好的避免出现挤兑的情况。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (20)

1、一种结构化对等网络***的节点设备,其特征在于,包括有:
存储单元:存储有对等网络***路由信息、对等网络***负载信息以及负载转移记录信息;
负载转移处理单元:根据所述对等网络***负载信息选定目标负载转移节点设备并向所述选定的目标负载转移节点设备转移本节点设备超重的负载;
资源查找单元:根据所述对等网络***路由信息以及所述负载转移记录信息进行资源查找。
2、根据权利要求1所述的结构化对等网络***的节点设备,其特征在于,还包括更新处理单元:定期更新所述存储单元存储的对等网络***负载信息。
3、根据权利要求2所述的结构化对等网络***的节点设备,其特征在于,所述对等网络***采用Chord环,所述对等网络***负载信息为按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的节点标识区域的负载空裕的节点集合及其负载能力。
4、根据权利要求2所述的结构化对等网络***的节点设备,其特征在于,所述对等网络***采用平衡二叉树,所述对等网络***负载信息为按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
5、根据权利要求1-4任一项所述的结构化对等网络***的节点设备,其特征在于,所述负载转移处理单元具体包括:
确定单元:根据所述结构化对等网络***负载信息确定目标负载转移节点设备;
查询单元:查询所述确定的目标负载转移节点设备是否可以接受负载转移;
转移单元:若查询结果为是,则向所述确定的目标负载转移节点设备转移负载。
6、根据权利要求5所述的结构化对等网络***的节点设备,其特征在于,所述确定单元确定的目标负载转移节点设备为负载空裕节点集合中选择的负载最轻的一个节点设备或随机选择的一个或多个节点设备。
7、一种结构化对等网络***,包括多个节点设备,其特征在于,所述节点设备包括有:
存储单元:存储有对等网络***路由信息、对等网络***负载信息以及负载转移记录信息;
负载转移处理单元:根据所述对等网络***负载信息选定目标负载转移节点设备并向所述选定的目标负载转移节点设备转移本节点设备超重的负载;
资源查找单元:根据所述对等网络***路由信息以及所述负载转移记录信息进行资源查找。
8、根据权利要求7所述的结构化对等网络***,其特征在于,还包括更新处理单元:定期更新所述存储单元存储的对等网络***负载信息。
9、根据权利要求8所述的结构化对等网络***,其特征在于,所述对等网络***采用Chord环,所述对等网络***负载信息为按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的节点标识区域的负载空裕的节点集合及其负载能力。
10、根据权利要求8所述的结构化对等网络***,其特征在于,所述对等网络***采用平衡二叉树,所述对等网络***负载信息为按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力;
所述更新处理单元包括:
负载查询处理单元:按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
更新单元:根据所述负载查询处理单元的查询结果更新***负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
11、根据权利要求7-10任一项所述的结构化对等网络***,其特征在于,所述负载转移处理单元包括:
确定单元:根据所述结构化对等网络***负载信息确定目标负载转移节点设备;
查询单元:查询所述确定的目标负载转移节点设备是否可以接受负载转移;
转移单元:若查询结果为是,则向所述确定的目标负载转移节点设备转移负载。
12、根据权利要求11所述的结构化对等网络***的节点设备,其特征在于,所述确定单元确定的目标负载转移节点设备为负载空裕节点集合中选择的负载最轻的一个或多个节点设备或者随机选择的一个或多个节点设备。
13、一种结构化对等网络***中节点设备负载更新的方法,所述结构化对等网络***包括多个节点设备,各个节点设备中存储有按照Chord环***路由信息的各个条目的节点标识区域分别对应存储的各个节点标识区域的负载空裕的节点集合及其负载能力的***负载信息,其特征在于,包括:
按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;
按照查询结果更新各个条目的节点标识区域的负载空裕节点集合及其负载能力。
14、根据权利要求13所述的结构化对等网络***中节点设备负载更新方法,其特征在于,所述按照各个条目的节点标识区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力包括:
询问各个条目的节点标识区域所指的节点该节点标识区域中负载空裕节点及其负载能力;
各个条目的节点标识区域所指的节点设备查询本节点设备的***负载信息返回所述节点标识区域中的负载空裕节点及其负载能力信息。
15、一种结构化对等网络***中节点设备负载更新的方法,所述结构化对等网络***包括多个节点设备,各个节点设备中存储有按照平衡二叉树***路由信息的各个条目的子树区域分别对应存储的各个子树区域的负载空裕的节点集合及其负载能力的***负载信息,其特征在于,包括:
按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力;
按照查询结果更新各个条目的子树区域的负载空裕节点集合及其负载能力。
16、根据权利要求15所述的结构化对等网络***中节点设备负载更新方法,其特征在于,所述按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力包括:
询问各个条目的子树区域所指的节点该子树区域中负载空裕节点及其负载能力;
各个条目的子树区域所指的节点设备查询本节点设备的***负载信息返回所述子树区域中的负载空裕节点及其负载能力信息。
17、一种结构化对等网络***中节点设备的负载转移方法,所述结构化对等网络***包括多个节点设备,各个节点设备存储有所述结构化对等网络***负载信息,其特征在于,包括:
检查到本节点设备负载过重,查询结构化对等网络***负载信息确定目标负载转移节点设备;
将本节点设备过重的负载转移到确定的目标负载转移节点设备。
18、根据权利要求17所述的结构化对等网络***中节点设备的负载转移方法,其特征在于,将本节点设备的负载转移到确定的目标负载转移节点设备之前还包括:
查询目标负载转移节点设备是否可以接受转移负载,若是,则执行将本节点设备的负载转移到确定的目标负载转移节点设备,否则,则等待更新结构化对等网络***负载信息后重新发起转移。
19、根据权利要求17或18所述的结构化对等网络***中节点设备的负载转移方法,其特征在于,所述确定的目标负载转移节点设备为负载空裕节点设备集合中负载最轻的一个或多个节点设备或者负载空裕节点设备集合中随机选择的一个或多个节点设备。
20、一种结构化对等网络***中资源查找方法,所述结构化对等网络***包括多个节点设备,各个节点设备存储有所述结构化对等网络***负载信息和负载转移记录信息,其特征在于,包括:
按照***路由信息确定资源所在的目标节点设备;
判断所述目标节点设备的资源是否发生转移,若判断结果为是,则根据资源负载转移记录信息确定资源转移存放的节点设备,否则,确定所述目标节点设备为资源存放节点设备。
CNB2006101220644A 2006-09-05 2006-09-05 结构化对等网络***及其负载查询、转移及资源查找方法 Expired - Fee Related CN100496004C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101220644A CN100496004C (zh) 2006-09-05 2006-09-05 结构化对等网络***及其负载查询、转移及资源查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101220644A CN100496004C (zh) 2006-09-05 2006-09-05 结构化对等网络***及其负载查询、转移及资源查找方法

Publications (2)

Publication Number Publication Date
CN1937557A true CN1937557A (zh) 2007-03-28
CN100496004C CN100496004C (zh) 2009-06-03

Family

ID=37954837

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101220644A Expired - Fee Related CN100496004C (zh) 2006-09-05 2006-09-05 结构化对等网络***及其负载查询、转移及资源查找方法

Country Status (1)

Country Link
CN (1) CN100496004C (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134959A1 (fr) * 2007-05-08 2008-11-13 Huawei Technologies Co., Ltd. Procédé et système pour réaliser un équilibrage de charge dans un réseau à commutation par paquets
CN101834897A (zh) * 2010-04-23 2010-09-15 哈尔滨工程大学 一种dht网络负载均衡装置及虚节点划分的方法
CN101355473B (zh) * 2007-07-27 2010-09-22 华为技术有限公司 移动自组网资源发布与查找方法及移动自组网络节点设备
CN101414962B (zh) * 2007-10-19 2011-01-05 华为技术有限公司 实现负载均衡的方法和节点
CN101977162A (zh) * 2010-12-03 2011-02-16 电子科技大学 一种高速网络的负载均衡方法
CN101286920B (zh) * 2008-05-15 2011-04-20 华中科技大学 一种有结构对等网络的可扩展资源查找方法
CN101399738B (zh) * 2007-09-28 2011-04-20 华为技术有限公司 提供下载推荐服务的方法、结构化对等网络和其中的节点
CN101098308B (zh) * 2007-06-26 2012-04-25 华为技术有限公司 网络中节点负载分担的方法及***
CN102970349A (zh) * 2012-11-02 2013-03-13 上海交通大学 一种dht网络的存储负载均衡方法
CN103108019A (zh) * 2011-10-17 2013-05-15 株式会社日立制作所 服务提供***
CN103188164A (zh) * 2011-12-31 2013-07-03 ***通信集团云南有限公司 基于升级客户节点分流对等节点负载的方法、装置及***
CN103841185A (zh) * 2014-02-24 2014-06-04 北京二六三企业通信有限公司 负载均衡方法和装置
US8914501B2 (en) 2009-12-31 2014-12-16 Huawei Technologies Co., Ltd. Method, apparatus, and system for scheduling distributed buffer resources
CN104219163A (zh) * 2014-08-28 2014-12-17 杭州天宽科技有限公司 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法
US9232476B1 (en) 2014-06-11 2016-01-05 Empire Technology Development Llc Task management across low-power wireless communications
CN104202349B (zh) * 2009-12-31 2016-04-13 华为技术有限公司 分布式缓存资源调度的方法、装置及***
WO2017000142A1 (zh) * 2015-06-29 2017-01-05 华为技术有限公司 一种p-cscf负载管理方法及pgw
CN109347758A (zh) * 2018-08-30 2019-02-15 赛尔网络有限公司 一种报文压缩的方法、设备、***和介质
CN111245842A (zh) * 2020-01-14 2020-06-05 深圳市恒悦创客空间有限公司 一种园区情报处理方法
CN112532754A (zh) * 2021-02-08 2021-03-19 浙江学海教育科技有限公司 校网文件快速服务方法和***

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134959A1 (fr) * 2007-05-08 2008-11-13 Huawei Technologies Co., Ltd. Procédé et système pour réaliser un équilibrage de charge dans un réseau à commutation par paquets
CN101098308B (zh) * 2007-06-26 2012-04-25 华为技术有限公司 网络中节点负载分担的方法及***
CN101355473B (zh) * 2007-07-27 2010-09-22 华为技术有限公司 移动自组网资源发布与查找方法及移动自组网络节点设备
CN101399738B (zh) * 2007-09-28 2011-04-20 华为技术有限公司 提供下载推荐服务的方法、结构化对等网络和其中的节点
CN101414962B (zh) * 2007-10-19 2011-01-05 华为技术有限公司 实现负载均衡的方法和节点
CN101286920B (zh) * 2008-05-15 2011-04-20 华中科技大学 一种有结构对等网络的可扩展资源查找方法
CN104202349B (zh) * 2009-12-31 2016-04-13 华为技术有限公司 分布式缓存资源调度的方法、装置及***
US8914501B2 (en) 2009-12-31 2014-12-16 Huawei Technologies Co., Ltd. Method, apparatus, and system for scheduling distributed buffer resources
CN101834897A (zh) * 2010-04-23 2010-09-15 哈尔滨工程大学 一种dht网络负载均衡装置及虚节点划分的方法
CN101834897B (zh) * 2010-04-23 2012-10-31 哈尔滨工程大学 一种dht网络负载均衡装置及虚节点划分的方法
CN101977162A (zh) * 2010-12-03 2011-02-16 电子科技大学 一种高速网络的负载均衡方法
CN101977162B (zh) * 2010-12-03 2012-01-18 电子科技大学 一种高速网络的负载均衡方法
CN103108019A (zh) * 2011-10-17 2013-05-15 株式会社日立制作所 服务提供***
CN103188164A (zh) * 2011-12-31 2013-07-03 ***通信集团云南有限公司 基于升级客户节点分流对等节点负载的方法、装置及***
CN103188164B (zh) * 2011-12-31 2016-01-27 ***通信集团云南有限公司 基于升级客户节点分流对等节点负载的方法、装置及***
CN102970349B (zh) * 2012-11-02 2015-11-25 上海交通大学 一种dht网络的存储负载均衡方法
CN102970349A (zh) * 2012-11-02 2013-03-13 上海交通大学 一种dht网络的存储负载均衡方法
CN103841185B (zh) * 2014-02-24 2017-05-17 北京二六三企业通信有限公司 负载均衡方法和装置
CN103841185A (zh) * 2014-02-24 2014-06-04 北京二六三企业通信有限公司 负载均衡方法和装置
US9232476B1 (en) 2014-06-11 2016-01-05 Empire Technology Development Llc Task management across low-power wireless communications
US10285133B2 (en) 2014-06-11 2019-05-07 Empire Technology Development Llc Task management across low-power wireless communications
US9485736B2 (en) 2014-06-11 2016-11-01 Empire Technology Development Llc Task management across low-power wireless communications
US9900841B2 (en) 2014-06-11 2018-02-20 Empire Technology Development Llc Task management across low-power wireless communications
CN104219163B (zh) * 2014-08-28 2016-08-17 杭州天宽科技有限公司 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法
CN104219163A (zh) * 2014-08-28 2014-12-17 杭州天宽科技有限公司 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法
CN106464693A (zh) * 2015-06-29 2017-02-22 华为技术有限公司 一种p‑cscf负载管理方法及pgw
WO2017000142A1 (zh) * 2015-06-29 2017-01-05 华为技术有限公司 一种p-cscf负载管理方法及pgw
CN106464693B (zh) * 2015-06-29 2019-09-20 华为技术有限公司 一种p-cscf负载管理方法及pgw
CN109347758A (zh) * 2018-08-30 2019-02-15 赛尔网络有限公司 一种报文压缩的方法、设备、***和介质
CN111245842A (zh) * 2020-01-14 2020-06-05 深圳市恒悦创客空间有限公司 一种园区情报处理方法
CN112532754A (zh) * 2021-02-08 2021-03-19 浙江学海教育科技有限公司 校网文件快速服务方法和***
CN112532754B (zh) * 2021-02-08 2021-07-16 浙江学海教育科技有限公司 校网文件快速服务方法和***

Also Published As

Publication number Publication date
CN100496004C (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
CN100496004C (zh) 结构化对等网络***及其负载查询、转移及资源查找方法
CN100591028C (zh) 一种基于集中服务的分布式对等网络的实现方法及***
CN106255967B (zh) 分布式存储***中的命名空间管理
Cai et al. A peer-to-peer replica location service based on a distributed hash table
CN102487397B (zh) 基于节点底层安全等级的数据存储和路由方法、及节点
Karger et al. Simple efficient load-balancing algorithms for peer-to-peer systems
CN110417883B (zh) 一种应用于区块链的点对点网络结构的设计方法
Korzun et al. Hierarchical architectures in structured peer-to-peer overlay networks
CN106775446A (zh) 基于固态硬盘加速的分布式文件***小文件访问方法
Hauswirth et al. An overlay network for resource discovery in grids
CN105577806B (zh) 一种分布式缓存方法及***
CN101753405A (zh) 集群服务器内存管理方法及其***
CN102013991A (zh) 自动扩容的方法、管理设备及***
CN101399765B (zh) 降低对等网络中热点节点负荷的方法和***
Li et al. Ssw: A small-world-based overlay for peer-to-peer search
CN101645831B (zh) 一种p2p***中的节点组织方法
US7623511B2 (en) Device and method for retrieving/storing electronic data in a system with a plurality of data processing units
Xu et al. Adaptive and scalable load balancing for metadata server cluster in cloud-scale file systems
CN101414962B (zh) 实现负载均衡的方法和节点
EP1926276B1 (en) Load balancing in a peer-to-peer system
CN101917475B (zh) 一种基于p2p模式的psrd普适服务资源发现方法
CN107547657A (zh) 一种基于云存储***中单点数据编号的方法、装置以及存储介质
CN101360055B (zh) 具有常数跳路由特性的p2p网络信息资源定位方法
Abraham et al. Skip B-trees
CN102739707B (zh) 一种分布式关键字表网络及对其进行操作的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090603

Termination date: 20200905