著录项信息
专利名称 | 对等网络系统、建立对等网络系统的方法及相关装置 |
申请号 | CN200910238083.7 | 申请日期 | 2009-11-18 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-05-18 | 公开/公告号 | CN102065112A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;2;/;7;0;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中国移动通信集团公司 | 申请人地址 | 北京市西城区金融大街29号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国移动通信集团公司 | 当前权利人 | 中国移动通信集团公司 |
发明人 | 张云飞;郝甲东;彭晋;段晓东;魏冰 |
代理机构 | 北京同达信恒知识产权代理有限公司 | 代理人 | 郭润湘 |
摘要
本发明公开了一种对等网络系统、建立对等网络系统的方法及相关装置,用以解决现有对等网络可扩展性不高的问题。该系统包括:主用超级节点,包括用于在确定出自身所在簇中存在第二普通节点存储有对应的资源时,获得第二普通节点的路由信息的单元;在确定出自身所在簇中不存在存储有对应的资源的普通节点时,将搜索请求发送给其他主用超级节点,并将其他主用超级节点反馈的第三普通节点的路由信息作为获得的路由信息的单元;以及将获得的路由信息发送给发送搜索请求的第一普通节点或其他主用超级节点的单元;普通节点,用于向所在簇内的主用超级节点发送搜索请求,并从所在簇内的主用超级终端发送的路由信息对应的普通节点中获取要搜索的资源。
1.一种对等网络系统,其特征在于,包括至少两个簇,每个簇中包含一个主用超级节点和至少一个普通节点,其中:
主用超级节点,包括用于根据自身所在簇中的第一普通节点或其他主用超级节点发来的携带要搜索资源对应的标识的搜索请求,在确定出自身所在簇中存在第二普通节点存储有所述标识对应的资源时,获得所述第二普通节点的路由信息的单元;以及在确定出自身所在簇中不存在存储有所述标识对应的资源的普通节点时,将所述搜索请求发送给除发送所述搜索请求的主用超级节点之外的主用超级节点,并接收除发送所述搜索请求的主用超级节点之外的其他主用超级节点反馈的存储有所述标识对应的资源的第三普通节点的路由信息,作为获得的路由信息的单元;以及将获得的路由信息发送给发送所述搜索请求的第一普通节点或其他主用超级节点的单元;
普通节点,用于向自身所在簇内的主用超级节点发送携带要搜索的资源对应的标识的搜索请求,并从自身所在簇内的主用超级节点发送的路由信息对应的普通节点中获取要搜索的资源。
2.如权利要求1所述的对等网络系统,其特征在于,所述主用超级节点具体用于根据自身预先存储的所在簇内每个普通节点的路由信息与该普通节点存储的资源的标识的对应关系,将存储的资源的标识与搜索请求中携带的标识一致的普通节点作为存储有所述标识对应的资源的第二普通节点;以及在不存在普通节点存储的资源的标识与搜索请求中携带的标识一致时,确定自身所在簇中不存在存储有所述标识对应的资源的普通节点。
3.如权利要求1所述的对等网络系统,其特征在于,所述主用超级节点选择出除发送所述搜索请求的主用超级节点之外的一个主用超级节点,并将所述搜索请求发送给选择出的主用超级节点。
4.如权利要求3所述的对等网络系统,其特征在于,所述主用超级节点具体用于按照预定的哈希算法,对所述搜索请求中包含的资源的标识进行哈希运算,并从存储的分布式哈希表DHT路由表中选择出对应的标识与哈希运算结果最接近的第二主用超级节点,所述DHT路由表中包含除自身之外的其他主用超级节点的标识和对应的路由信息。
5.如权利要求1所述的对等网络系统,其特征在于,每个簇中还包括备用超级节点,用于定期地与同簇中的主用超级节点进行信息同步,以及在预定条件下,代替主用超级节点工作。
6.如权利要求5所述的对等网络系统,其特征在于,所述普通节点还用于定期地将自身存储的资源的标识、或/和自身性能参数的参数值上报给同簇中的主用超级节点;
所述主用超级节点还用于根据同簇中的普通节点上报的性能参数的参数值,在自身所在簇内选择出至少1个普通节点作为备用超级节点。
7.如权利要求6所述的对等网络系统,其特征在于,所述普通节点的性能参数包括在线时间、空闲存储空间、信息处理能力、网络带宽或网络稳定性。
8.一种建立如权利要求1所述的对等网络系统的方法,其特征在于,包括:
将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;
在后续其他新节点请求加入所述对等网络时,执行:
从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;
在选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则
将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。
9.如权利要求8所述的方法,其特征在于,在后续其他新节点加入所述对等网络时,从所述超级节点标识集合中选择出一个主用超级节点标识,具体包括:
基于预先存储的超级节点标识集合中每个节点的标识对应的主用超级节点的路由信息,确定所述新节点与超级节点标识集合中每个标识对应的主用超级节点的网络距离;以及
选择出一个主用超级节点的标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的网络距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的网络距离中最近的。
10.如权利要求8所述的方法,其特征在于,在后续其他新节点加入所述对等网络时,从所述超级节点标识集合中选择出一个主用超级节点标识,具体包括:
基于预先存储的超级节点标识集合中每个节点的标识对应的主用超级的位置信息,确定所述新节点与超级节点标识集合中每个标识对应的主用超级节点的地理距离;以及选择出一个主用超级节点的标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的地理距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的地理距离中最近的。
11.如权利要求8所述的方法,其特征在于,将所述新节点的标识加入超级节点标识集合之后,还包括确定该新节点中存储的DHT路由表。
12.如权利要求11所述的方法,其特征在于,确定该新节点中存储的DHT路由表,具体包括:
确定所述新节点的标识,并
获取超级节点标识集合中包含的主用超级节点的标识,以及
在获取的主用超级节点的标识中,选取与所述新节点的标识数值上最接近的至少两个其他主用超级节点,并在该新节点中保存选取的至少两个其他主用超级节点的标识和对应的路由信息。
13.如权利要求11所述的方法,其特征在于,在确定出该新节点中存储的DHT路由表之后,还包括:
修改超级节点标识集合中的部分标识对应的主用超级节点中存储的DHT路由表,所述部分标识对应的主用超级节点为所述新节点中存储的DHT路由表中包含的标识对应的主用超级节点。
14.如权利要求13所述的方法,其特征在于,修改所述部分标识对应的主用超级节点中存储的DHT路由表,具体包括:
在所述部分标识对应的主用超级节点中存储的DHT路由表中加入该新节点的标识和对应的路由信息。
15.如权利要求8至14中任一权利要求所述的方法,其特征在于,通过以下方式确定请求加入所述对等网络的新节点的标识:
获取所述新节点的IP地址,并
基于预定的哈希函数,对获取到的IP地址进行哈希运算,以及
将所述哈希运算的结果作为所述新节点的标识。
16.一种建立对等网络系统的方法,其特征在于,包括:
请求加入所述对等网络的新节点确定出自身是第一个请求加入所述对等网络系统的节点时,将自身作为第一个主用超级节点,将自身的标识加入超级节点标识集合;以及在确定出自身不是第一个请求加入所述对等网络系统的节点时,执行:
所述新节点从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;以及
在选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将自身作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。
17.一种主用超级节点设备,其特征在于,包括:
第一接收单元,用于接收所述主用超级节点设备所在簇中的第一普通节点或其他主用超级节点发来的包含要搜索资源对应的标识的搜索请求;
判断单元,用于判断所述主用超级节点设备所在簇中是否存在第二普通节点存储有第一接收单元接收到的搜索请求中包含的标识对应的资源;
第一获取单元,用于在判断单元判断出所述主用超级节点设备所在簇中存在第二普通节点存储有所述标识对应的资源时,获得所述第二普通节点的路由信息;
第二获取单元,用于在判断单元判断出所述主用超级节点设备所在簇中不存在存储有所述标识对应的资源的普通节点时,将所述搜索请求发送给除发送所述搜索请求的主用超级节点之外的主用超级节点,并接收除发送所述搜索请求的主用超级节点之外的其他主用超级节点反馈的存储有所述标识对应的资源的第三普通节点的路由信息,作为获得的路由信息;
发送单元,用于将第一获取单元或第二获取单元获得的路由信息发送给发送所述搜索请求的第一普通节点或其他主用超级节点。
18.如权利要求17所述的主用超级节点设备,其特征在于,所述第二获取单元具体包括:
选择子单元,用于选择出除发送所述搜索请求的主用超级节点之外的一个主用超级节点,所述搜索请求为第一接收单元接收到的搜索请求;
发送子单元,用于将第一接收单元接收到的搜索请求发送给选择子单元选择出的主用超级节点;
接收子单元,用于接收选择子单元选择出的主用超级节点根据发送子单元发送的搜索请求反馈的存储有所述标识对应的资源的第三普通节点的路由信息;
确定子单元,用于将接收子单元接收到的路由信息作为获得的路由信息。
19.如权利要求18所述的主用超级节点设备,其特征在于,所述选择子单元具体包括:
运算模块,用于按照预定的哈希算法,对接收单元接收到的所述搜索请求中包含的资源的标识进行哈希运算;
选择模块,用于从存储的DHT路由表中选择出对应的标识与运算模块的哈希运算结果最接近的第二主用超级节点,所述DHT路由表中包含除自身之外的其他主用超级节点的标识和对应的路由信息。
20.如权利要求17所述的主用超级节点设备,其特征在于,还包括:
第二接收单元,用于接收同簇中的普通节点定期上报的所述普通节点的性能参数的参数值;
选择单元,用于根据第二接收单元接收到的参数值,选择出至少一个普通节点作为备用超级节点。
21.一种普通节点设备,其特征在于,包括:
存储单元,用于存储同簇中的主用超级节点的路由信息;
发送单元,用于根据存储单元存储的路由信息,向同簇内的超级节点设备发送搜索请求,该搜索请求中包含要搜索的资源的标识;
接收单元,用于接收所述超级节点设备发来的与发送单元发送的搜索请求对应的存储有要搜索的资源的其他普通节点设备的路由信息;
下载单元,用于根据接收单元接收到的路由信息,从所述其他普通节点中下载要搜索的资源;
第二上报单元,用于定期地向同簇中的超级节点上报该普通节点设备预定性能参数的参数值。
22.一种建立对等网络系统的装置,其特征在于,包括:
第一确定单元,用于将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;
选择单元,用于在后续其他新节点加入所述对等网络时,执行:
从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;
第二确定单元,用于在选择单元选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则
将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。
23.一种节点设备,其特征在于,包括:
判断单元,用于判断所述节点设备是否为第一个请求加入对等网络系统的节点;
第一确定单元,用于在判断单元判断出所述节点设备为第一个请求加入所述对等网络系统的节点时,将自身作为第一个主用超级节点,将自身的标识加入超级节点标识集合;
选择单元,用于在判断单元判断出所述节点设备不是第一个请求加入所述对等网络系统的节点时,从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该节点设备的距离是超级节点标识集合中所有标识对应的各个超级节点与该节点设备的距离中最近的;
第二确定单元,用于在选择单元选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将自身作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则
将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。
对等网络系统、建立对等网络系统的方法及相关装置\n技术领域\n[0001] 本发明涉及网络技术领域,尤其涉及一种对等网络系统、建立对等网络系统的方法、一种对等网络系统中的普通节点设备、超级节点设备、一种建立对等网络系统的装置和一种节点设备。\n背景技术\n[0002] 随着网络技术和多媒体技术的快速发展,人们对网络数据的传输速度、网络性能等方面提出了越来越高的要求。由于网络用户数量的急剧增长,使用传统的客户端/服务器(C/S,Client/Server)方式构建的网络应用服务已经难以满足人们的要求。\n[0003] 为了解决上述问题,点对点(P2P,Peer-to-Peer)网络技术应运而生。点对点网络技术又被称为对等网络技术,该技术是一种用在不同的终端节点(或客户端)之间,不经过中继设备直接交换数据的技术。在对等网络中,终端节点可以直接连接其他的终端节点,而不需要连接到服务器上再进行浏览与下载。对等网络技术因为其具有负载均衡、自适应的特点而被广泛应用于流媒体传输等领域。\n[0004] 对等网络中常用的资源搜索方式主要有:基于中央目录服务器的对等网络搜索、泛洪(flooding)搜索和分布式哈希表搜索三种。\n[0005] 请参照附图1,为现有的基于中央目录服务器的资源搜索方式的示意图。每个终端节点都向中央目录服务器提交本地存储的资源(包括文档、流媒体视频、图片等)的目录,并由中央目录服务器编制资源索引,资源索引包含每个终端节点的路由信息(例如网络地址等)与该终端节点存储的资源的对应关系。终端节点在有资源需求时,向中央目录服务器发起搜索请求,中央目录服务器通过自身存储的资源索引获取存储有终端节点请求的资源的其他终端节点的路由信息,并将获取到的其他终端节点的路由信息反馈给发起搜索请求的终端节点。此后,资源下载或传输可以直接在发起搜索请求的终端节点和存储有资源的其他终端节点之间进行,无需中央目录服务器的参与。\n[0006] 请参照附图2,为泛洪搜索的示意图。在无结构对等网络中,由于不存在中央目录服务器,因而资源查找时采用基本方式为类似泛洪的盲目搜索。附图2中的每个终端节点接收到的其他终端节点发送的搜索请求后,在判断出自身并未存储有搜索请求所请求的资源时,都将上述接收到搜索请求发送给自身的所有邻居终端节点,并由邻居终端节点进一步发送给更多的间接邻居终端节点,直到找到存储有搜索请求所请求的资源的终端节点为止,或者达到系统允许的最大搜索跳数后以搜索失败告终。在找到存储有搜索请求所请求的资源的终端节点后,最初发送搜索请求的终端节点可以依据存储有所请求的资源的终端节点反馈的路由信息,直接从找到的存储有请求的资源的终端节点下载资源。例如,终端节点1为发送搜索请求的终端节点,终端节点4在接收到终端节点1发送的搜索请求后,判断出自身未存储有终端节点1请求的资源后,将搜索请求发送给自身的邻居终端节点5、6,恰好终端节点5存储有终端节点1请求的资源,终端节点1可以直接从终端节点5下载所需的资源。\n[0007] 请参照附图3,为结构化、完全分布式的对等网络的示意图,在此类对等网络中采用分布式哈希表(DHT,Distributed Hash Table)来确定资源的关键字以及来搜索资源。可以根据用户需求的资源的关键字来有目的性的确定存储有所需求的资源的终端节点的地址。每个终端节点除了保存存储资源之外,还保存有至少2个上行/下行邻居终端节点的标识、以及上行/下行邻居终端节点对应的路由信息。\n[0008] 在存储资源时,首先按照预定的哈希函数,对待存储文件的标识(例如文件名)进行哈希运算,获得待存储文件对应的键值,然后将该待存储文件存储到节点标识与该待存储文件对应的键值最为接近的终端节点中。\n[0009] 在其中一个终端节点因需要搜索资源而发起搜索请求时,首先按照预定的哈希函数,对所要搜索的文件的标识进行哈希运算,获得所要搜索的文件对应的键值,然后从邻居终端节点中选择出节点标识与所要搜索的文件对应的键值最为接近的其中一个邻居终端节点,并将搜索请求发送给选择出的邻居终端节点。\n[0010] 例如,请参照附图3,为完全分布式的对待网络的示意图。其中包含5个终端节点,分别为:节点标识为000500的终端节点1、节点标识为000800的终端节点2、节点标识为\n000200的终端节点3、节点标识为000120的终端节点4和节点标识为000060的终端节点\n5。终端节点1需要搜索一个键值为000080的文件时,首先比较自身的邻居终端节点,终端节点2和终端节点3的标识,比较结果为终端节点3的标识与所需搜索的文件对应的键值更为接近,则将携带有所需搜索的文件对应的键值的搜索请求发送给终端节点3,终端节点\n3接到搜索请求后,经过类似的比较和转发处理,最终到达终端节点5,终端节点5的标识与所需搜索的文件对应的键值最为接近,说明所需搜索的文件保存在终端节点5中,最终终端节点5将自身的路由信息反馈给终端节点1,终端节点1可以从终端节点5处获得所要搜索的资源。\n[0011] 在第一种搜索方式中,中央目录服务器需要承担所有编制目录索引、根据终端节点的搜索请求确定存储有对应资源的终端节点地址的工作,在对等网络中的终端节点过多时,中央目录服务器处理能力会成为搜索的瓶颈。并且,一旦中央目录服务器出现故障,整个对等网络将陷入瘫痪状态。\n[0012] 泛洪搜索虽然解决了基于中央目录服务器的对等网络搜索的上述问题,然而由于终端节点向自身所有的邻居终端节点转发搜索请求时的盲目性,会大量增加网络中的消息,在对等网络的规模过大、网络中包含的终端节点数量过多时,转发的搜索请求的数量将会急剧增多,严重的占用网络带宽,因此采用该搜索方式时,对等网络的可扩展性不佳。\n[0013] 基于DHT的搜索方式在网络情况不稳定,例如频繁有终端节点加入/或退出网络时,相关终端节点需要更新自身所存储的路由信息,因而存在维护成本较高的问题,因此也不适用于网络规模较大、频繁有终端节点加入/或退出网络的情况。\n发明内容\n[0014] 本发明实施例提供一种对等网络系统,用以解决现有技术中对等网络可扩展性不高的问题。\n[0015] 对应地,本发明实施例还提供了一种建立所述对等网络系统的方法、一种主用超级节点设备、一种普通节点设备、一种建立对等网络系统的装置。\n[0016] 本发明实施例提供的技术方案如下:\n[0017] 一种对等网络系统,包括至少两个簇,每个簇中包含一个主用超级节点和至少一个普通节点,其中:\n[0018] 主用超级节点,包括用于根据自身所在簇中的第一普通节点或其他主用超级节点发来的携带要搜索资源对应的标识的搜索请求,在确定出自身所在簇中存在第二普通节点存储有所述标识对应的资源时,获得所述第二普通节点的路由信息的单元;以及在确定出自身所在簇中不存在存储有所述标识对应的资源的普通节点时,将所述搜索请求发送给除发送所述搜索请求的主用超级节点之外的主用超级节点,并接收除发送所述搜索请求的主用超级节点之外的其他主用超级节点反馈的存储有所述标识对应的资源的第三普通节点的路由信息,作为获得的路由信息的单元;以及将获得的路由信息发送给发送所述搜索请求的第一普通节点或其他主用超级节点的单元;\n[0019] 普通节点,用于向自身所在簇内的主用超级节点发送携带要搜索的资源对应的标识的搜索请求,并从自身所在簇内的主用超级节点发送的路由信息对应的普通节点中获取要搜索的资源。\n[0020] 一种建立所述对等网络系统的方法,包括:\n[0021] 将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;\n[0022] 在后续其他新节点请求加入所述对等网络时,执行:\n[0023] 从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;\n[0024] 在选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0025] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0026] 一种主用超级节点设备,包括:\n[0027] 第一接收单元,用于接收所述主用超级节点设备所在簇中的第一普通节点或其他主用超级节点发来的包含要搜索资源对应的标识的搜索请求;\n[0028] 判断单元,用于判断所述主用超级节点设备所在簇中是否存在第二普通节点存储有第一接收单元接收到的搜索请求中包含的标识对应的资源;\n[0029] 第一获取单元,用于在判断单元判断出所述主用超级节点设备所在簇中存在第二普通节点存储有所述标识对应的资源时,获得所述第二普通节点的路由信息;\n[0030] 第二获取单元,用于在判断单元判断出所述主用超级节点设备所在簇中不存在存储有所述标识对应的资源的普通节点时,将所述搜索请求发送给除发送所述搜索请求的主用超级节点之外的主用超级节点,并接收除发送所述搜索请求的主用超级节点之外的其他主用超级节点反馈的存储有所述标识对应的资源的第三普通节点的路由信息,作为获得的路由信息;\n[0031] 发送单元,用于将第一获取单元或第二获取单元获得的路由信息发送给发送所述搜索请求的第一普通节点或其他主用超级节点。\n[0032] 一种普通节点设备,包括:\n[0033] 存储单元,用于存储同簇中的主用超级节点的路由信息;\n[0034] 发送单元,用于根据存储单元存储的路由信息,向同簇内的超级节点设备发送搜索请求,该搜索请求中包含要搜索的资源的标识;\n[0035] 接收单元,用于接收所述超级节点设备发来的与发送单元发送的搜索请求对应的存储有要搜索的资源的其他普通节点设备的路由信息;\n[0036] 下载单元,用于根据接收单元接收到的路由信息,从所述其他普通节点中下载要搜索的资源;\n[0037] 第二上报单元,用于定期地向同簇中的超级节点上报该普通节点设备预定性能参数的参数值。\n[0038] 一种建立对等网络系统的装置,包括:\n[0039] 第一确定单元,用于将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;\n[0040] 选择单元,用于在后续其他新节点加入所述对等网络时,执行:\n[0041] 从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;\n[0042] 第二确定单元,用于在选择单元选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0043] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0044] 一种节点设备,包括:\n[0045] 判断单元,用于判断所述节点设备是否为第一个请求加入对等网络系统的节点;\n[0046] 第一确定单元,用于在判断单元判断出所述节点设备为第一个请求加入所述对等网络系统的节点时,将自身作为第一个主用超级节点,将自身的标识加入超级节点标识集合;\n[0047] 选择单元,用于在判断单元判断出所述节点设备不是第一个请求加入所述对等网络系统的节点时,从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该节点设备的距离是超级节点标识集合中所有标识对应的各个超级节点与该节点设备的距离中最近的;\n[0048] 第二确定单元,用于在选择单元选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将自身作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0049] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0050] 本发明实施例提供了一种新颖结构的对等网络,该对等网络包括至少两个簇和至少一个注册服务器节点,其中每个所述簇中包含一个主用超级节点、以及至少一个普通节点;所述注册服务器节点,用于存储超级节点集合、以及超级节点集合中的每个主用超级节点的标识和对应的路由信息,所述超级节点集合包含每个簇中的主用超级节点。基于上述结构的对等网络,在进行资源搜索时,在簇内为类似于基于中央目录服务器的搜索方法,在簇间采用基于DHT路由表的搜索方法,避免了洪泛搜索大量增加网络中的消息、基于中央目录服务器的资源搜索存在的存在瓶颈问题,以及基于DHT路由表的搜索方法维护较为复杂的问题导致的对等网络扩展性不佳的问题。\n附图说明\n[0051] 图1为现有的基于中央目录服务器的资源搜索方式的示意图;\n[0052] 图2为现有的泛洪搜索的示意图;\n[0053] 图3为现有的基于DHT路由表进行资源搜索的示意图;\n[0054] 图4为本发明实施例提出的对等网络的结构示意图;\n[0055] 图5为基于附图4所示结构的对等网络,进行资源搜索的流程图;\n[0056] 图6为在附图4所示结构的对等网络中的每个簇中增加备用超级节点的示意图;\n[0057] 图7为本发明实施例提供的一种主用超级节点设备的结构示意图;\n[0058] 图8为本发明实施例提供的主用超级节点设备中第二获取单元的结构示意图;\n[0059] 图9为本发明实施例提供的改进的一种主用超级节点设备的结构示意图;\n[0060] 图10为本发明实施例提供的普通节点设备的结构示意图;\n[0061] 图11为本发明实施例提供的一种建立对等网络系统的装置的结构示意图;\n[0062] 图12为本发明实施例提供的一种节点设备的结构示意图。\n具体实施方式\n[0063] 由于现有的对等网络存在可扩展性不高的问题,本发明实施例提出新的结构的对等网络。该对等网络中包含至少一个注册服务器节点和至少两个簇,其中每个簇中包含有一个主用超级节点和若干普通节点,每个簇中的超级节点除了像现有的中央目录服务器一样存储有簇内各个普通节点的标识、路由信息和存储的资源的标识之外,还存储有相邻簇中的超级节点的标识、路由信息。\n[0064] 上述结构的对等网络在进行资源搜索时,采用基于中央目录服务器的搜索方式与基于DHT路由表的搜索方式相结合的一种搜索方式,具体为:\n[0065] 在进行资源搜索时,超级节点在接收到簇内的普通节点发送的搜索请求之后,首先判断簇内是否有其他普通节点存储有所请求的资源,在簇内没有普通节点存储有请求的资源时,向其他簇内的超级节点转发搜索请求,直到其他簇内有普通节点存储有请求的资源为止。\n[0066] 下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。\n[0067] 请参照附图4,为本发明实施例提出的一种对等网络系统的结构示意图,其中圆形为普通节点,方块为主用超级节点,以及一个注册服务器节点。\n[0068] 附图4中包含3个簇,每个簇中包含一个主用超级节点、以及至少一个普通节点peer,且针对每个簇,该簇中的主用超级节点存储有该簇中每个普通节点的标识、对应的路由信息和该普通节点存储的资源的标识信息、以及分布式哈希表DHT路由表,所述DHT路由表中包含其他簇中主用超级节点的标识和对应的路由信息,如相邻簇中主用超级节点的标识和对应的路由信息,其中路由信息可以为节点的IP地址、端口等信息。例如普通节点peerA1、peerA2和主用超级节点A构成簇A、普通节点peerB1、peerB2、peerB3和主用超级节点B构成簇B、peerC1、peerC2、peerC3和主用超级节点C构成簇C。在簇A中,主用超级节点A中存储有peerA1的标识、peerA1的路由信息和peerA1中存储的资源的标识、以及peerA2的标识、peerA2的路由信息和peerA2中存储的资源的标识,而peerA1、peerA2中都分别存储有同簇中的主用超级节点-主用超级节点A的路由信息。其他簇的情况类似,在这里不再赘述。\n[0069] 注册服务器节点超级节点标识集合,所述超级节点集合包含每个簇中的主用超级节点的标识。还可以存储超级节点标识集合中的每个超级节点的标识对应的主用超级节点的路由信息。注册服务器是用于在有新的终端节点加入对等网络时,为新的终端节点提供超级节点的信息的。\n[0070] 如附图4所示的对等网络系统是采用以下方式来建立的:\n[0071] 在第一个新节点请求加入对等网络时,将该新节点作为第一个主用超级节点,确定该第一个主用超级节点的标识,将所述第一个主用超级节点的标识加入超级节点标识集合、较佳地可以存储所述第一个主用超级节点的位置信息或路由信息。\n[0072] 在此后有新节点请求加入对等网络时,确定该新节点的标识,并从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的主用超级节点与该新节点的距离中最近的。\n[0073] 在上述距离为地理距离时,可以基于存储的超级节点标识集合中每个主用超级节点标识对应的超级节点的位置信息和该新节点的位置信息来确定超级节点标识集合中每个主用超级节点标识对应的超级节点与该新节点的地理距离,进而选取距离最近的超级节点;\n[0074] 在上述距离为地理距离时,可以基于存储的超级节点标识集合中每个主用超级节点标识对应的超级节点的路由信息和该新节点的路由信息来确定超级节点标识集合中每个主用超级节点标识对应的超级节点与该新节点的网络距离,进而选取距离最近的超级节点,所述网络距离为数据包往返时间和网络节点跳数的函数。新节点从注册服务器节点中获取超级节点集合中所有超级节点的标识和对应的路由信息,并基于各个超级节点的路由信息,进行网络报文往返时间测试,以确定该新节点与超级节点集合中每个超级节点的网络距离。\n[0075] 新节点选择出与该待新节点距离最近的超级节点后,判断选择出的超级节点与该待分配终端节点的距离是否小于第一预定阈值D;若是,将该新节点作为一个普通节点加入选择出的超级节点所在的簇,在选择出的超级节点中存储该待分配终端节点的标识和对应的路由信息;否则,将该待分配终端节点作为一个新簇中的主用超级节点,并将该待新节点的标识加入所述超级节点标识集合,并存储该待分配终端节点的标识和对应的路由信息,该待分配的终端节点建立自身的DHT路由表,并且直接相邻的簇中的超级节点修改自身的DHT路由表。\n[0076] 在新节点作为一个新簇中的主用超级节点时,可以采用以下方式来建立自身的DHT路由表:首先基于注册服务器节点所保存的超级节点标识集合中各个超级节点的路由信息,向所述超级节点标识集合中的超级节点发送用于获取超级节点的标识的消息,根据获取到的各个超级节点的标识,将标识与自身的标识数值上最接近的至少两个其他主用超级节点所在的簇作为相邻簇,并保存所述最接近的至少两个其他主用超级节点的标识和对应的路由信息;\n[0077] 也可以直接从注册服务器节点中获取其他主用超级节点的标识,选择出与自身的标识数值上最接近的至少两个其他主用超级节点所在的簇作为相邻簇,并保存所述最接近的至少两个其他主用超级节点的标识和对应的路由信息。\n[0078] 此后要求所述最接近的至少两个其他主用超级节点将自身作为其相邻簇中的超级节点,即要求找到的下行节点修改其上行节点的信息,将新的待分配终端节点作为其上行节点,保存该待分配终端节点的标识和路由信息;以及要求找到的上行节点修改其下行节点的信息,将该新节点作为其下行节点,保存该待分配终端节点的标识和路由信息。\n[0079] 以上是以请求加入网络的新节点为例,介绍建立或扩展对等网络系统的方法的,同样处理过程也可以由注册服务器来实现,具体如下:\n[0080] 注册服务器将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;\n[0081] 在后续其他新节点请求加入所述对等网络时,执行:\n[0082] 从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;\n[0083] 在选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0084] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0085] 在一个普通节点退出网络时,该普通节点所在簇中的主用超级节点应删除存储的该普通节点的标识、路由信息和存储的资源标识。\n[0086] 在一个主用超级节点退出网络时,该主用超级节点相邻的上行主用超级节点和下行主用超级节点应查找标识最接近的其他主用超级节点,以重新建立路由表;或者在对等网络中,所有主用超级节点除了保存上述直接相邻的上行/下行主用超级节点的标识和路由信息之外,还保存n跳之内的间接相邻的上行/下行主用超级节点的标识和路由信息,这样在直接相邻的主用超级节点退出网络时,可以直接尝试是否能连接上与退出网络的主用超级节点最接近的(1跳)的主用超级节点,连接成功的话,可以将与退出网络的主用超级节点最接近的(1跳)的主用超级节点作为更新后的直接相邻的上行/下行主用超级节点,据此修改路由表。\n[0087] 较佳地,请求加入的网络的新节点可以通过基于预定的哈希函数,对自身路由信息(例如IP地址、端口标识等)进行哈希运算,将哈希运算结果作为该终端节点的标识。也可以由注册服务器节点采用类似的方式来确定新加入的网络的待分配的终端节点的标识。\n[0088] 较佳地,为了保证一个簇的规模不会过大,即一个簇中普通节点的数量不会过多,还可以:在选择出的主用超级节点与该新节点的距离小于第一预定阈值D、且选择出的主用超级节点所在的簇中普通节点的数量不多于第二预定阈值G时,将该新节点加入选择出的主用超级节点所在的簇;在选择出的主用超级节点与该新节点的距离小于第一预定阈值D、且选择出的主用超级节点所在的簇中普通节点的数量多于第二预定阈值G时,将该新节点作为一个新簇中的主用超级节点,并将该新节点的标识加入所述超级节点标识集合。\n[0089] 除了网络距离、地理距离之外,还可以选择其他指标,例如报文往返时间、作为新节点加入簇的依据,在这里不再一一列举。\n[0090] 采用上述方式建立的对等网络系统,在有新节点加入或退出网络时,在该终端节点为普通节点时,只需该普通节点所在的簇中的超级节点修改存储的信息;只有在该终端节点为主用超级节点时,才需要相邻簇中的超级节点来修改存储的信息、以及在超级节点标识集合中去除该节点的标识,与现有技术中第3种完全分布式的对等网络相比较,简化了维护机制,在大多数终端节点加入或退出网络时,不会导致大量的终端节点修改所存储的信息。\n[0091] 请参照附图5,为基于附图4所示的对等网络系统,进行资源搜索过程的示意图,在进行资源搜索时,超级节点起索引服务器(tracker)的作用,具体搜索过程如下:\n[0092] 步骤51,PeerA1需要搜索一个资源标识为X的文件时,向同簇中的主用超级节点A发送搜索请求,所述搜索请求中包含所要搜索的资源的标识X;\n[0093] 步骤52,超级节点A根据存储的簇内每个普通节点的路由信息与存储的资源的标识的对应关系、接收到的搜索请求中包含的资源的标识,判断簇内是否有其他普通节点存储有标识为X的文件,若是,进行步骤53,否则进行步骤55;\n[0094] 步骤53,主用超级节点A在簇内有其他普通节点,例如peerA2存储有peerA1所搜索的资源时,即存储的资源的标识与搜索请求中包含的资源的标识一致时,将存储有资源标识为X的普通节点peerA2的路由信息发送给peerA1;\n[0095] 步骤54,peerA1就可以根据peerA2的路由信息从peerA2处获得要搜索的资源;\n[0096] 步骤55,主用超级节点A在簇内没有普通节点存储的资源的标识与所述搜索请求中包含的资源的标识一致时,将所述搜索请求发送给其他簇,例如相邻簇中的主用超级节点,例如主用超级节点B或超主用级节点C,进入步骤45;\n[0097] 步骤56,假定主用超级节点A将搜索请求发送给主用超级节点B后,主用超级节点B根据自身存储的簇B内每个普通节点的标识、路由信息与存储的资源的标识的对应关系、接收到的搜索请求中包含的资源的标识,判断出peerB1存储有peerA1要搜索的资源时,将peerB1的路由信息发送给主用超级节点A;\n[0098] 步骤57,主用超级节点A将接收到的所述相邻簇中的主用超级节点发来的存储有所要搜索的资源的普通节点peerB1的路由信息发送给peerA1;\n[0099] 步骤58,peerA1就可以根据peerB1的路由信息从peerB1处获得要搜索的资源。\n[0100] 较佳地,主用超级节点A采用以下方式从相邻的簇内的主用超级节点B、主用超级节点C中选择出转发搜索请求的一个主用超级节点:主用超级节点A按照预定的哈希算法,对所述搜索请求中包含的资源的标识X进行哈希运算,并从存储的DHT路由表中选择出对应的超级节点标识与哈希运算结果Y最接近的相邻簇中的主用超级节点B,以及根据选择出的主用超级节点B的路由信息,将所述搜索请求发送给选择出的主用超级节点B。\n[0101] 较佳地,在附图4所示的对等网络系统中,普通节点定期地将自身当前存储的资源的标识上报给簇内的主用超级节点,以便簇内的主用超级节点能够及时更新自身存储的簇中每个普通节点的标识、对应的路由信息和该普通节点存储的资源的标识信息。例如,peerA1、peerA2应定期地将自身当前存储的资源的标识上报给主用超级节点A。\n[0102] 较佳地,请参照附图6,为了提高附图4所示的对等网络系统的安全性,避免在一个簇中,因主用超级节点发生故障、或退出网络而导致簇内的普通节点无法进行资源搜索,每个簇中除了主用超级节点之外,还可以包含至少一个备用超级节点,备用超级节点中存储有与主用超级节点一致的信息,即该簇中每个普通节点路由信息与该普通节点存储的资源的标识的对应关系、以及分布式哈希表DHT路由表,所述DHT路由表中包含其他簇中超级节点的标识和对应的路由信息;并且该簇中的每个普通节点都存储有该簇中至少一个备用超级节点的标识和路由信息,以便在主用超级节点发生故障时,可以通过备用超级节点进行资源搜索。每个所述簇内的主用超级节点和备用超级节点周期性地进行信息同步,以保证所存储的信息的一致性。普通节点定期地将自身性能参数的参数值,性能参数包括在线时间、空闲存储空间、信息处理能力、网络稳定性等,以便主用超级节点根据簇内普通节点上报的上述性能参数的参数值从普通节点中选择出备用超级节点。在一个普通节点被选做备用超级节点之前,应提醒该普通节点的用户是否同意,因为作为备用超级节点会占用该普通节点的一部分存储空间和处理能力。除了主用超级节点发生故障之外,在其他一些预定情况下,例如主用超级节点的处理能力或存储空间下降超过移动阈值时,备用超级节点还可以主动的作为主用超级节点工作。\n[0103] 在存在备用超级节点的情况下,上述建立对等网络的方案中,注册服务器节点中存储的应是主用超级节点的标识和路由信息。\n[0104] 本发明实施例提出的对等网络所采用的上述搜索方式,是基于中央目录服务器的搜索方式与基于DHT路由表的搜索方式相结合的一种搜索方式,避免了洪泛搜索大量增加网络中的消息、占用大量网络带宽的弊端,同时只有每个簇内的普通节点搜索时依赖该簇内的超级节点(包括主用超级节点和备用超级节点),即使一个簇内的超级节点发生故障宕机,其他簇内的普通节点也不会受影响,很大程度上解决了现有的基于中央目录服务器的对等网络搜索存在瓶颈问题和安全性较差的问题、以及瓶颈问题引发的扩展性不佳的问题。\n[0105] 下面以P2P网络流媒体业务为例,介绍基于如附图4所示的对等网络系统进行资源搜索的过程:\n[0106] PeerA1需要搜索一个名为“新闻联播2009-7-1.rmvb”的视频文件,首先peerA1向主用超级节点A发送搜索请求,所述搜索请求中包含所要搜索的资源的名称“新闻联播\n2009-7-1.rmvb”。\n[0107] 主用超级节点A根据存储的簇内每个普通节点的标识、路由信息与存储的资源的标识的对应关系(如表1所示)、接收到的搜索请求中包含的资源的标识,判断簇内的其他普通节点是否存储有名称为“新闻联播2009-7-1.rmvb”的文件,若peerA2存储有该文件,将peerA2的路由信息反馈给peerA1;否则主用超级节点A按照预定的哈希算法,对要搜索的资源的名称“新闻联播2009-7-1.rmvb”进行哈希运算,得到哈希运算结果12,主用超级节点A存储的DHT路由表如表2所示。\n[0108] 表1主用超级节点A存储的簇内普通节点的信息\n[0109] \n普通节点名称 路由信息 存储的资源的标识 其他信息\nPeerA1 202.111.220.1 新闻联播2009-7-2.rmvb \nPeerA2 202.111.220.1 新闻联播2009-7-3.rmvb \n[0110] 表2主用超级节点A存储的相邻簇中主用超级节点的信息\n[0111] \n主用超级节点名称 标识 路由信息 其他信息\n主用超级节点B 11 202.111.222.1 \n主用超级节点C 20 202.111.222.20 \n[0112] 由于主用超级节点B的标识与哈希运算结果最为接近,主用超级节点A将搜索请求发给选择出的主用超级节点B。主用超级节点B根据自身存储的簇B内每个普通节点的标识、路由信息与存储的资源的标识的对应关系(如表3所示)、接收到的搜索请求中包含的资源的名称,判断出peerB1存储有peerA1要搜索的资源时,将peerB1的路由信息“202.111.230.1”发送给主用超级节点A。\n[0113] 表1主用超级节点B存储的簇内普通节点的信息\n[0114] \n普通节点名称 路由信息 存储的资源的标识 其他信息\nPeerB1 202.111.230.1 新闻联播2009-7-1.rmvb \nPeerB2 202.111.230.2 新闻联播2009-7-4.rmvb \nPeerB3 202.111.230.3 新闻联播2009-7-7.rmvb \n[0115] 主用超级节点A将接收到的peerB1的路由信息发送给peerA1,peerA1就可以根据peerB1的路由信息从peerB1处获得要搜索的资源。\n[0116] 下面以视频点播(VOD,Video On Demand)业务为例,介绍资源搜索的过程:\n[0117] 普通节点中存储的资源除了视频文件之外,也可以为视频文件中的分片或片段(chunk)。\n[0118] 在VOD系统中,当有新节点请求加入对等网络时,注册服务器RS首先判断提供节目源的视频服务器是否有足够的带宽用于为该新节点提供服务,在视频服务器没有足够的带宽用于为新节点提供服务时,将超级节点集合中的超级节点的路由信息提供给新节点。\n[0119] 新节点根据上述建立对等网络系统的方式中记载方案,根据与现有超级节点的距离、第一预定阈值D和第二预定阈值G来确定自身为一个已有簇中的普通节点,或是一个新簇中的主用超级节点。\n[0120] 在如附图4所示的对等网络系统中,主用超级节点A、主用超级节点B和主用超级节点C都分别存储有各自簇内的各普通节点的名称、对应的路由信息和存储的同一个视频文件“新闻联播2009-7-1.rmvb”中不同视频片段chunk的标识,视频片段的标识Seg[n]对应的视频片段是由开始时间和结束时间来确定的,例如Seg[n]=[00:01:25,00:03:25]是指视频文件在播放时,从第1分钟25秒到第3分钟25秒之间的视频信号对应的视频数据。\n[0121] 主用超级节点A存储的簇内普通节点的信息如表4所示。\n[0122] 表4主用超级节点A存储的簇内普通节点的信息\n[0123] \n普通节点名称 路由信息 存储的资源的标识 其他信息\nPeerA1 202.111.220.1 Seg[1]、Seg[3] \nPeerA2 202.111.220.1 Seg[3]、Seg[4] \n[0124] PeerA1需要搜索“新闻联播2009-7-1.rmvb”中的第2个视频片段Seg[2],首先peerA1向同簇中的主用超级节点A发送搜索请求,所述搜索请求中包含所要搜索的视频片段的标识Seg[2]。\n[0125] 主用超级节点A根据自身存储的簇A内的各普通节点的名称、对应的路由信息和存储的同一个视频文件“新闻联播2009-7-1.rmvb”中不同视频片段的标识,判断簇A内的其他普通节点是否存储有文件“新闻联播2009-7-1.rmvb”中的第2个视频片段Seg[2],若簇A中有其他普通节点存储有该视频片段时,将对应的路由信息反馈给peerA1,较佳地,如果有至少1个其他普通节点存储有视频片段Seg[2]时,可以将存储有视频片段Seg[2]的所有普通节点的路由信息列表提供给peerA1,由peerA1选择其中至少1个普通节点来获取第2个视频片段Seg[2];否则向相邻的簇中的主用超级节点转发搜索请求,具体过程与前一实施例类似,在这里不再赘述。\n[0126] 在peerA1从簇内其他普通节点,例如peerA2或其他簇中的普通节点,例如peerB1处获取到了“新闻联播2009-7-1.rmvb”中的第2个视频片段Seg[2]后,主用超级节点A应修改peerA1的相关记录中已存储的视频片段的标识,修改后的peerA1的相关信息如表5所示。\n[0127] 表5超级节点A存储的簇内普通节点的信息\n[0128] \n普通节点名称 路由信息 存储的资源的标识 其他信息\nPeerA1 202.111.220.1 Seg[1]、Seg[2]、Seg[3] \n[0129] 较佳地,在VOD系统中,各普通节点中存储的chunk变化较快,簇内的主用超级节点可以较为频繁地从普通节点处获取该普通节点存储的资源的标识,以便更新自身所存储的普通节点的信息。\n[0130] 较佳地,普通节点在需要下一个视频片段时,在向簇内的主用超级节点发送搜索请求之前,可以查询已建立下载连接的其他普通节点是否存储有需要的下一个视频片段,若已建立下载连接的普通节点存储有需要的下一个视频片段,则优先地从已建立下载连接的普通节点中下载下一个视频片段,而无需向簇内的超级节点发送搜索请求。\n[0131] 相应地,本发明实施例还提供了一种对等网络中的主用超级节点设备,如图7所示,该设备包括第一接收单元701、判断单元702、第一获取单元703、第二获取单元704和发送单元705,其中:\n[0132] 第一接收单元701,用于接收所述主用超级节点设备所在簇中的第一普通节点或其他主用超级节点发来的包含要搜索资源对应的标识的搜索请求;\n[0133] 判断单元702,用于判断所述主用超级节点设备所在簇中是否存在第二普通节点存储有第一接收单元701接收到的搜索请求中包含的标识对应的资源;\n[0134] 第一获取单元703,用于在判断单元702判断出所述主用超级节点设备所在簇中存在第二普通节点存储有所述标识对应的资源时,获得所述第二普通节点的路由信息;\n[0135] 第二获取单元704,用于在判断单元702判断出所述主用超级节点设备所在簇中不存在存储有所述标识对应的资源的普通节点时,将所述搜索请求发送给除发送所述搜索请求的主用超级节点之外的主用超级节点,并接收除发送所述搜索请求的主用超级节点之外的其他主用超级节点反馈的存储有所述标识对应的资源的第三普通节点的路由信息,作为获得的路由信息;\n[0136] 发送单元705,用于将第一获取单元703或第二获取单元704获得的路由信息发送给发送所述搜索请求的第一普通节点或其他主用超级节点。\n[0137] 具体地,上述判断单元702根据所述主用超级节点设备预先存储的所在簇内每个普通节点的路由信息与该普通节点存储的资源的标识的对应关系,将存储的资源的标识与搜索请求中携带的标识一致的普通节点作为存储有所述标识对应的资源的第二普通节点;\n以及\n[0138] 在不存在普通节点存储的资源的标识与搜索请求中携带的标识一致时,确定自身所在簇中不存在存储有所述标识对应的资源的普通节点。\n[0139] 较佳地,请参照附图8,第二获取单元704具体包括选择子单元801、发送子单元\n802、接收子单元803和确定子单元804,其中:\n[0140] 选择子单元801,用于选择出除发送所述搜索请求的主用超级节点之外的一个主用超级节点,所述搜索请求为第一接收单元接收到的搜索请求;\n[0141] 发送子单元802,用于将第一接收单元701接收到的搜索请求发送给选择子单元\n801选择出的主用超级节点;\n[0142] 接收子单元803,用于接收选择子单元801选择出的主用超级节点根据发送子单元802发送的搜索请求反馈的存储有所述标识对应的资源的第三普通节点的路由信息;\n[0143] 确定子单元804,用于将接收子单元803接收到的路由信息作为获得的路由信息。\n[0144] 较佳地,上述选择子单元801具体包括运算模块和选择模块,其中:\n[0145] 运算模块,用于按照预定的哈希算法,对接收单元接收到的所述搜索请求中包含的资源的标识进行哈希运算;\n[0146] 选择模块,用于从存储的DHT路由表中选择出对应的标识与运算模块的哈希运算结果最接近的第二主用超级节点,所述DHT路由表中包含除自身之外的其他主用超级节点的标识和对应的路由信息。\n[0147] 较佳地,请参照附图9,附图7中的主用超级节点设备还包括第二接收单元901和选择单元902,其中:\n[0148] 第二接收单元901,用于接收同簇中的普通节点定期上报的所述普通节点的性能参数的参数值;\n[0149] 选择单元902,用于根据第二接收单元901接收到的参数值,选择出至少一个普通节点作为备用超级节点。\n[0150] 较佳地,如附图9所述的主用超级节点设备还包括信息同步单元,用于定期地与选择单元选择出的备用超级节点进行信息同步。\n[0151] 请参照附图10,为本发明实施例提供的普通节点设备的结构示意图,该普通节点设备包括存储单元110、发送单元120、接收单元130和下载单元140,其中:\n[0152] 存储单元110,用于存储同簇中的主用超级节点的路由信息;\n[0153] 发送单元120,用于根据存储单元110存储的路由信息,向同簇内的超级节点设备发送搜索请求,该搜索请求中包含要搜索的资源的标识;\n[0154] 接收单元130,用于接收所述超级节点设备发来的与发送单元120发送的搜索请求对应的存储有要搜索的资源的其他普通节点设备的路由信息;\n[0155] 下载单元140,用于根据接收单元130接收到的路由信息,从所述其他普通节点中下载要搜索的资源。\n[0156] 较佳地,附图10中的普通节点设备还包括第一上报单元,用于定期地向同簇内的超级节点上报所述普通节点设备存储的资源的标识。\n[0157] 较佳地,附图10中的普通节点设备还包括第二上报单元,用于定期地向同簇中的超级节点上报该普通节点设备预定性能参数的参数值。\n[0158] 请参照附图11,为本发明实施例提供的一种建立对等网络系统的装置,该装置包括第一确定单元111、选择单元112和第二确定单元113,其中\n[0159] 第一确定单元111,用于将第一个请求加入所述对等网络的节点作为第一个主用超级节点,将所述节点的标识加入超级节点标识集合;\n[0160] 选择单元112,用于在后续其他新节点加入所述对等网络时,执行:\n[0161] 从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该新节点的距离是超级节点标识集合中所有标识对应的各个超级节点与该新节点的距离中最近的;\n[0162] 第二确定单元113,用于在选择单元112选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将该新节点作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0163] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0164] 附图11所示的建立对等网络系统的装置可以为方法实施例中的注册服务器。\n[0165] 请参照附图12,为本发明实施例提供的一种节点设备的结构示意图,该节点设备包括判断单元121、第一确定单元122、选择单元123和第二确定单元124,其中:\n[0166] 判断单元121,用于判断所述节点设备是否为第一个请求加入所述对等网络系统的节点;\n[0167] 第一确定单元122,用于在判断单元121判断出所述节点设备为第一个请求加入所述对等网络系统的节点时,将自身作为第一个主用超级节点,将自身的标识加入超级节点标识集合;\n[0168] 选择单元123,用于在判断单元121判断出所述节点设备不是第一个请求加入所述对等网络系统的节点时,从所述超级节点标识集合中选择出一个主用超级节点标识,所述选择出的主用超级节点标识对应的超级节点与该节点设备的距离是超级节点标识集合中所有标识对应的各个超级节点与该节点设备的距离中最近的;\n[0169] 第二确定单元124,用于在选择单元123选择出的主用超级节点标识对应的超级节点与该新节点的距离小于第一阈值、且选择出的主用超级节点标识对应的超级节点所在的簇中普通节点的数量不大于第二阈值时,将自身作为普通节点加入选择出的主用超级节点标识对应的超级节点所在的簇中;否则\n[0170] 将该新节点作为主用超级节点,将该新节点的标识加入超级节点标识集合。\n[0171] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
法律信息
- 2013-04-03
- 2011-07-20
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 200910238083.7
申请日: 2009.11.18
- 2011-05-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-03-26
|
2006-09-22
| | |
2
| |
2008-08-20
|
2008-02-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |