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

文档序号:7967838阅读:196来源:国知局
专利名称:结构化对等网络系统及其负载查询、转移及资源查找方法
技术领域
本发明涉及对等网络(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环中一样。
其具体的系统负载信息更新方法如下首先,按照各个条目的子树区域分别查询各个子树区域中负载空裕节点集合及其负载能力;即询问各个条目的子树区域所指的节点该子树区域中负载空裕节点及其负载能力;然后各个条目的子树区域所指的节点设备查询本节点设备的系统负载信息返回所述子树区域中的负载空裕节点及其负载能力信息。
最后,按照查询结果更新各个条目的子树区域的负载空裕节点集合及其负载能力。
实现上述的更新,作为一种具体的实现,本发明中所述更新处理单元可包括负载查询处理单元按照各个条目的子树区域分别查询各个节点标识区域中负载空裕节点集合及其负载能力;更新单元根据所述负载查询处理单元的查询结果更新系统负载信息的各个条目的子树区域的负载空裕的节点集合及其负载能力。
本发明中根据存储的系统负载信息即可进行负载转移,即当一个节点设备检查到本节点设备负载过重时,其首先查询自己的系统负载表确定目标负载转移节点设备,所述确定的目标负载转移节点设备为负载空裕节点设备集合中负载最轻的一个或多个节点设备或者负载空裕节点设备集合中随机选择的一个或多个节点设备。
在确定目标负载转移节点设备后,即可将本节点设备过重的负载转移到确定的目标负载转移节点设备。在转移复杂时,系统优先考虑哈希值相等或相似的负载,将哈希值在一个值域(或者相等)的所有负载一起转移,同时将转移情况记录到该节点的系统负载转移表内。这样既可以使查询的时候不必依次检查所有的项目,也使系统负载转移表中的记录数目保持相对较小的范围内。在具体进行负载转移时,待转移的高负载节点设备首先询问目标负载转移节点设备是否可以接受待转移的负载;如果可以接受,则将负载转移给目标负载转移节点设备;如果不能接受,则说明所知的系统负载信息已经过时;需要更新系统负载信息后继续进行负载转移。如果很长时间都没有发现可以接纳这些负载的节点设备,则说明整个系统的负载都已经占满,须补充系统资源,例如扩充节点。
基于上述的转移机制以及转移记录信息,在查询一个存储在系统中的资源时,只须按照原来的哈希方法首先计算得到该对象的哈希值,然后找到相对应的目标节点设备。在未发生负载转移的情况下,该对象就存放在该目标节点设备上。在发生负载转移的情况下,该对象存放的位置可以通过查找负载转移记录信息获得。在查询哈希值在一定范围内的对象时,和查找单个对象类似,只需找到该哈希值范围内的所有对象既可。
需要说明的,可能出现一种极端情况,既系统中同时出现很多个节点设备都超负载了,此时它们都会尝试向系统中负载最轻的节点设备转移负载。为此,可采用如下方式,首先,在更新系统负载表时,一旦遇到多个具有相同负载能力的节点设备同时是系统中最空闲的节点设备时,则随机记录一个节点,从而可以达到一定的分流效果。其次,是在系统负载信息表中,每一条目(即每一个系统节点标识区域)多记录几个较空闲的节点设备以及它们的负载情况。也就是说不仅仅记录一个负载最轻的节点设备;而是记录负载较轻的多个节点集合。这样可以有更多负载转移的目标节点设备可供选择。最后,在选择负载转移的目标节点设备的时候,可采取比较中庸的策略,不是往系统负载最轻的节点设备转移;而是在记录在该节点的系统负载表中所有节点设备中所有可以承受准备转移负载的节点设备中随机挑选一个或多个节点设备进行负载转移,这样同样可以较好的避免出现挤兑的情况。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
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.一种结构化对等网络系统中资源查找方法,所述结构化对等网络系统包括多个节点设备,各个节点设备存储有所述结构化对等网络系统负载信息和负载转移记录信息,其特征在于,包括按照系统路由信息确定资源所在的目标节点设备;判断所述目标节点设备的资源是否发生转移,若判断结果为是,则根据资源负载转移记录信息确定资源转移存放的节点设备,否则,确定所述目标节点设备为资源存放节点设备。
全文摘要
本发明提供一种可保证负载均衡的结构化对等网络系统及其负载查询、转移及资源查找方法,所述节点设备主要包括存储单元、负载转移处理单元以及资源查找单元。本发明通过在结构化对等网络系统的各个节点设备存储该对等网络系统负载信息,当某个节点设备的负载过高时,根据所述对等网络系统负载信息选择一个负载较轻的节点设备,并将该过高的负载转移到所述负载较轻的节点设备,从而可保证系统保持负载均衡。本发明与结构化对等网络系统中采用何种哈希算法没有关系,只要系统中存在负载分配不均,就可以应用本发明实现负载均衡。
文档编号H04L12/46GK1937557SQ20061012206
公开日2007年3月28日 申请日期2006年9月5日 优先权日2006年9月5日
发明者韩定一, 沈霆, 俞勇, 朱贤, 吕晓雨 申请人:华为技术有限公司, 上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1