CN101753567A - 用于运营商主动参与的对等网络的资源共享方法 - Google Patents

用于运营商主动参与的对等网络的资源共享方法 Download PDF

Info

Publication number
CN101753567A
CN101753567A CN200910243768A CN200910243768A CN101753567A CN 101753567 A CN101753567 A CN 101753567A CN 200910243768 A CN200910243768 A CN 200910243768A CN 200910243768 A CN200910243768 A CN 200910243768A CN 101753567 A CN101753567 A CN 101753567A
Authority
CN
China
Prior art keywords
node
peer
file
query
resource
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
CN200910243768A
Other languages
English (en)
Other versions
CN101753567B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2009102437680A priority Critical patent/CN101753567B/zh
Publication of CN101753567A publication Critical patent/CN101753567A/zh
Application granted granted Critical
Publication of CN101753567B publication Critical patent/CN101753567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种用于P4P网络的资源发布方法,包括下列步骤:1)发布节点根据其所属的PID域和AS域,以及所发布资源文件的file-id,得出本次资源文件发布的Key值;2)计算Key值与所述发布节点的peer-id的异或距离;3)发布节点找出k个异或距离最接近的对等节点作为索引节点;所述发布节点向所述索引节点发送所述资源文件的发布消息。本发明还提供了相应的资源检索方法以及策略矩阵更新方法。本发明避免了单点失效问题;灵活性高、可扩展性好;同时还避免了热点资源被重复发布到相同位置而造成的瓶颈问题。

Description

用于运营商主动参与的对等网络的资源共享方法
技术领域
本发明涉及网络通信领域,具体地说,本发明涉及一种在运营商主动参与的对等网络的资源共享方法,包括资源发布方法、检索方法以及策略矩阵更新方法。
背景技术
对等网络(P2P)技术充分利用了边缘网络资源,具有代价分摊、扩展性强和可靠性高等优点。目前,P2P应用已经成为当今互联网中的主流应用之一,在实时流媒体方面,例如PPLive、PPStream、TVUPlayer等;在文件共享方面,例如BitTorrent(BT)、eMule、迅雷等。同客户端/服务器模式相比,采用P2P技术进行流媒体分发和文件共享,可以显著降低对服务器性能和带宽的依赖。然而,P2P应用还存在诸多问题,比如:P2P业务域间流量过大,运营商网络运营成本过高。德国互联网管理与分析公司ipoque的数据显示,P2P应用最高占到互联网流量的90%。
针对上述问题,Haiyong Xie等提出了一种运营商主动参与的对等网络(P4P)技术(参考“Haiyong Xie,Y.Richard Yang,Arvind Krishnamurthy,Yanbin Liu and Avi Silberschatz,P4P:Provider Portal for Applications,In:Proc.of the ACM SIGCOMM(SIGCOMM 2008),2008”)。P2P网络系统是随机选择一个对等节点进行资源共享,而P4P网络系统则利用网络拓扑数据来实现P2P连接中的最佳路由效率,从而智能地选择对等节点进行资源共享。
如图1所示,P4P对等网络系统中,网络运营商依据底层网络拓扑、拥塞状况、链路开销等信息将网络中的各个对等节点划分为不同的组称为PID域,每一个PID域都有一个标志符:PID号。同时,依据边界路由器信息还可以将网络划分为不同的自治域,每一个自治域都拥有一个标志符:AS号。另外,在运营商主动参与的结构化对等网络中,每一个运营商都会安放一台或多台服务器,这些服务器的种类包括:iTracker服务器和策略服务器。iTracker服务器用于搜集本运营商维护的网络的网络状态信息,网络状态信息包括:网络拓扑信息、路由信息、链路状况信息、费用信息等相关控制信息。不同运营商的iTracker服务器定期交互,以实现信息共享,从而使得各运营商都能够拥有整个网络的相关数据。策略服务器的主要作用是从本运营商的iTracker服务器中获取网络状态信息并由此计算出策略矩阵,策略矩阵将分发给网络中的终端节点,终端节点可以根据策略矩阵选择从哪些PID域和AS域中的对等节点下载自己需要的资源文件。不同运营商维护的策略服务器之间不需要相互通信,每一个策略服务器仅仅和本运营商的iTracker服务器进行交互。
要在P4P对等网络系统中实现资源共享,需要进行资源文件发布、资源文件检索和策略矩阵的更新和存储。
现有技术的P4P对等网络系统主要是指集中式P4P对等网络系统,所谓集中式P4P对等网络系统是指P2P应用商布设了资源服务器,所有节点的资源文件发布信息都存储在该服务器上,资源文件的检索也由该服务器协助节点完成。
集中式P4P对等网络系统资源文件的发布方法包括:发布节点从种子服务器或者通过关键字查找得到资源文件的种子文件,并根据种子文件计算资源文件标志符file-id。发布节点将file-id作为Key值,同时将节点标志符peer-id,IP地址,端口号填入Value值,将<Key,Value>的信息对发送给资源服务器,资源服务器收到发布信息后,根据节点的IP地址判断它所属的PID和AS,并且将<Key,Value>对中包含的信息连同PID和AS号一起记录和保存下来。
集中式P4P对等网络系统资源文件的检索方法包括:查询节点从种子服务器或者通过关键字查找得到资源文件的种子文件,并根据种子文件计算资源文件标志符file-id,查询节点将file-id作为查询请求消息中包含的Key,向资源服务器发送查询请求消息。资源服务器收到查询请求消息后,它会根据查询消息中包含的Key即file_id找到本机上缓存的该file_id对应的策略矩阵,从而计算出应该为该查询节点从不同的PID和AS组合中各回复多少个对等节点,并最终将选出的对等节点列表返回给查询节点。
集中式P4P对等网络系统策略矩阵的更新方法包括:由资源服务器维护所有资源文件的发布信息,当它发现某个资源文件的对等节点列表(即peer list)中节点数目变化超过一定门限值,则触发该资源文件对应的策略矩阵进行更新。所述更新方法如下:资源服务器检索本地缓存信息找到该资源文件在不同的PID和AS内的当前节点数目,获得该资源文件的节点数目向量,并把该节点数目向量上报策略服务器。策略服务器收到资源服务器发来的节点数目向量后,根据这个向量以及其它的一些P4P控制信息计算该资源文件的策略矩阵,当策略矩阵生成之后,策略服务器就把该策略矩阵发给资源服务器。
由上述描述可知,在集中式P4P对等网络系统中,资源服务器的存在,信息发布和信息查找都集中在资源服务器其上进行,此外,策略矩阵的更新也只需要在资源服务器和策略服务器之间进行交互。因此,这种集中式方案实现上的难度较小,然而,该方案中资源服务器的开销极大,并且存在单点失效的问题,这给P2P应用服务提供商带来沉重负担。而分布式结构化的网络则可以解决资源服务器开销过大和单点失效的问题。
分布式结构化网络中,不存在资源服务器,节点之间需要相互存储发布信息,每个资源的发布信息都被分布式地存放在一系列索引节点上,查找过程也必须由查询节点与这些索引节点进行交互,因此实现难度加大。此外,由于多个索引节点的存在,如果它们都和策略服务器进行交互,将显著加大策略服务器的开销,限制了网络的可扩展性。因此,迫切需要可用于构建分布式结构化P4P网络的资源发布、检索方法,以及策略矩阵更新方法。
发明内容
本发明的目的是提供一种用于运营商主动参与的分布式结构化对等网络系统的资源发布、检索方法,以及策略矩阵更新方法。
为实现上述发明目的,本发明提供了一种用于运营商主动参与的对等网络的资源发布方法,所述运营商主动参与的对等网络包括多个对等节点,每个对等节点都被划分进一个PID域和一个AS域,每个PID域具有一个PID号,每个AS域具有一个AS号;
如果一个对等节点需要发布信息宣称自己拥有某个资源文件,则对于该资源文件,所述对等节点是发布节点;
如果一个对等节点缓存了某个资源文件的发布信息,则对于该资源文件,所述对等节点是索引节点;
所述资源发布方法包括下列步骤:
1)为每个资源文件设置一个唯一的标识符file-id,为每个对等节点设置一个唯一的标识符peer-id;
2)进行资源文件发布,包括下列子步骤:
21)发布节点根据其所属的PID域和AS域,以及所发布资源文件的file-id,得出本次资源文件发布的Key值;每一个PID号、AS号和file-id组合对应于一个唯一的Key值;
22)计算Key值与所述发布节点的peer-id的异或距离;
23)发布节点找出k个异或距离最接近的对等节点作为索引节点;所述k个异或距离最接近的对等节点是其peer-id与所述发布节点peer-id的异或距离最接近于步骤22)所得的异或距离的k个对等节点,k至少为1;所述发布节点向所述索引节点发送所述资源文件的发布消息。
其中,所述步骤21)包括下列子步骤:
211)发布节点将其PID号、AS号和所发布资源文件的file-id拼接;
212)计算步骤211)拼接后的字符串的哈希值,将该哈希值作为本次资源文件发布的Key值。
其中,所述步骤23)包括下列子步骤:
231)将路由表以k桶的形式存储,所述k桶的第i项保存其peer-id到本节点peer-id的异或距离为大于等于2i小于2i+1的对等节点的路由信息,所述路由信息包括IP地址、端口号和peer-id;其中i为自然数;
232)根据步骤22)所得的异或距离,找到涵盖该异或距离的k桶项目;
233)发布节点首先向所述步骤232)中找到的k桶项目中的节点发送资源文件的发布消息;
234)收到发布消息的节点均为发布中间节点,每一个发布中间节点判断自己的路由表的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则将该文件发布中间节点确定为索引节点并通知所述发布节点,如果有更接近的节点,则该文件发布中间节点把这些更接近节点的信息回复给发布节点;
235)发布节点进一步向步骤234)确定的更接近Key值的节点发送资源发布消息,重新执行步骤234),直至所有文件发布中间节点均确认自己就是本次发布信息的索引节点;
236)在索引节点中缓存发布消息中携带的<Key,Value>形式的发布信息。
其中,预先设定递归时间或递归次数,在执行步骤234)和235)时,当达到所述递归时间或递归次数时,停止递归过程,并将当前的发布中间节点直接确认为索引节点,执行步骤236)。
其中,步骤234)和235)的递归过程结束后,当索引节点的个数超过预先设定的数目k时,由发布节点选出从中选出k个节点作为最终的索引节点。
为实现上述发明目的,本发明还提供了一种基于上述的资源发布方法的用于运营商主动参与的对等网络的资源检索方法,在所述对等网络中,如果一个对等节点需要寻找某个资源文件,则对于该资源文件,所述对等节点是查询节点;
所述资源检索方法包括下列步骤:
31)查询节点获取所查找的目标资源文件的种子文件,根据种子文件得到该目标资源文件的标识符file-id;
32)查询节点找到网络中所有的PID号和AS号的组合,对每一个PID和AS的组合,分别执行步骤33)到步骤37);
33)根据file-id、当前组合的PID号与AS号,计算出目标资源文件对应于当前组合的Key值,计算Key值的计算规则与所述步骤21)一致;
34)查询节点计算步骤33)所得Key值与自身peer-id的异或距离,并在查询节点的路由表中找到涵盖该异或距离的k桶项目,并在该k桶项目中定位m个节点,由查询节点向这m个节点发送查询请求消息;
35)收到查询请求消息均为查询中间节点,每一个查询中间节点会根据查询请求消息中包含的Key值判断自己是否为对应该Key值的索引节点,如判断为是,则转到步骤37),否则,判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则丢弃该查询请求消息,如果有更接近的节点,则该查询中间节点把这些更接近的节点的信息回复给查询节点;
36)查询节点向更接近的节点发送查询请求消息并重新执行步骤35);
37)索引节点收到查询请求消息后,将含有所述目标资源文件的对等节点的信息回复给查询节点;所述查询节点在收到含有所述目标资源文件的对等节点的信息后停止查询过程。
其中,所述步骤32)中,对于各个PID号和AS号的组合,并发执行所述步骤33)到步骤37)。
为实现上述发明目的,本发明还提供了一种基于上述的资源发布方法的用于运营商主动参与的对等网络的策略矩阵更新方法,
41)索引节点监测含有自己维护的发布信息中的资源文件的节点数目,当该节点数目的变化超过一定门限值时,该索引节点作为初始索引节点启动对该资源文件的策略矩阵更新过程;
42)初始索引节点查找出维护对应同一资源文件但具有不同key值的发布信息的同族索引节点;
43)初始索引节点从同族索引节点获取各个PID和AS组合中含有所述资源文件的节点数目,进而得到所述资源文件的节点数目向量;
44)初始索引节点将所述节点数目向量上报策略服务器;
45)策略服务器根据新的节点数目向量计算出对应于所述资源文件的新的策略矩阵。
其中,所述策略矩阵更新方法还包括下列步骤:
46)策略服务器将新的策略矩阵发送给初始索引节点;
47)初始索引节点更新策略矩阵,并将所述新的策略矩阵发送给所述同族索引节点;
48)所述同族索引节点更新策略矩阵。
10、根据权利要求9所述的策略矩阵更新方法,其特征在于,还包括下列步骤:
49)所述初始索引节点将新的策略矩阵发送给维护与该初始索引节点相同key值的发布信息的索引节点;所述同族索引节点将新的策略矩阵发送给维护与该同族索引节点key值相同发布信息的其它同族索引节点。
同现有集中式P4P对等网络系统相比,本发明具有下列技术效果:
1.在减少P2P业务域间流量、提高节点传输性能的同时,免除了P2P应用提供商部署资源服务器的开销;
2.发布信息分散存储避免了单点失效问题和服务器的性能瓶颈问题;
3.节点以分布式方式相连,灵活性高、可扩展性好;
4.将节点的位置信息(PID号和AS号)加入资源文件的Key值,使同一资源的索引节点位置分散,避免了热点资源被重复发布到相同位置而造成的瓶颈问题。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为运营商主动参与的对等网络的示例图;
图2为k桶结构示例图;
图3为存在种子服务器时节点资源发布的流程图;
图4为不存在种子服务器时节点资源发布的流程图;
图5为存在种子服务器时节点资源检索的流程图;
图6为不存在种子服务器时节点资源检索的流程图;
图7为策略矩阵的生成与发放的示例图。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。
为了便于描述和方便理解,将下文分为四个部分,分别是:本发明所涉及的分布式P4P网络系统及其功能实体的简介;资源发布方法;资源查询方法;策略矩阵更新方法。
一、分布式P4P网络系统及其功能实体的简介
在本发明的一个实施例中,P4P网络系统中的每一个节点都拥有一个唯一的节点标志符,记为peer-id;同时,网络中的每一个节点依据其在网络中的位置被划分到某一个PID域和某一个AS域内,因而节点还具有所属的PID号和AS号;此外,P4P网络系统中的每一个资源文件具有一个唯一的标志符,记为file-id,file-id通常可以根据资源文件的种子文件信息进行哈希值计算得到。
该实施例中,P4P网络系统中两个节点之间的距离定义为两个节点peer-id之间的异或距离。运营商主动参与的结构化对等网络中的每一个节点都维护一个k桶式的路由表。图2是k桶的一个实例,k桶中的第i项保存那些到本节点的距离为2i到2i+1之间的对等节点信息列表,这些信息包括<IP地址,端口号,peer-id>。对于比较大的i值,k桶的各项包含的列表中节点个数最多不超过k个,k是一个系统级别的冗余参数。在选择k值时,必须满足一个条件,那就是应当使任意k个节点在一定时间内都全部失效的可能性极很小,以满足P4P网络系统的鲁棒性要求。k桶中的节点按最后联系的时间排序,最久未联系的节点放在头部,最近联系的节点放在尾部。k桶的具体定义及其特点可参考“Petar Maymounkov andDavid Mazieres,Kademlia:A Peer-to-peer Information System Based on theXOR Metric,In:Proc.of the 1st International Workshop on Peer-to-PeerSystems(IPTPS 2002),2002”。
下面是对本发明中涉及的各个实体的功能的描述。
iTracker服务器:网络运营商维护的服务器,用于搜集网络的拓扑信息、路由信息、链路状况信息、费用信息等相关控制信息。
策略服务器:网络运营商维护的服务器,用于从本运营商的iTracker服务器中获取网络数据并由此计算出策略矩阵。
发布节点:需要发布信息宣称自己拥有某个资源文件的普通终端节点。
查询节点:需要发出查询消息寻找某个资源文件的普通终端节点。
索引节点:缓存资源文件发布信息的普通终端节点。
初始索引节点:如果一个索引节点发现自己维护的某个资源文件的发布信息中对等节点列表(peer list)含的节点数目变化超过一定门限值,则它需要请求策略服务器重新计算资源文件的策略矩阵,此时该索引节点就称为初始索引节点。
用于P4P网络系统的资源共享方法主要包括:资源发布方法、检索方法(即查询方法)以及策略矩阵更新方法。下面将分别描述这三个方法。
二、资源发布方法
运营商主动参与的分布式结构化对等网络(即分布式结构化P4P网络)可以在两种模式下工作:(1)存在种子服务器;(2)不存在种子服务器。本实施例中,资源发布和检索方法在两种模式下均可工作,其基本原理相同,在具体流程上略有差别。下面分别进行阐述。
根据本发明的一个实施例,提供了一种存在种子服务器时的节点资源发布方法,如图3所示,其具体流程如下:
S3.1:节点在开始一个资源文件下载任务后可以随时选择发布其拥有该资源文件的信息,在存在种子服务器的情况下,仅需要发布一类信息对,该信息对形式为<Key,Value>,即该资源文件的文件源信息;
S3.2:发布节点从种子服务器中得到该资源文件的种子文件,根据种子文件的内容(文件名、文件长度、文件内容的哈希值、其他信息)计算其哈希值,并将结果作为该资源文件的标志符file-id;
S3.3:发布节点通过查找本地的配置文件可以获得其所在的PID号和AS号;
S3.4:将file-id、PID号与AS号拼接起来并计算其哈希值,计算的结果就作为发布时的Key,同时发布信息的Value值包含节点的peer-id,IP地址,端口号,PID号,AS号以及资源文件的file_id等内容,形如<file_id,peer_id,IP Address,Port,PID,AS>;本步骤中,file-id、PID号与AS号的拼接规则可自行定义,只要使得每一个PID号、AS号和file-id组合对应于一个唯一的Key值即可;
S3.5:发布节点根据S3.4中得到的Key值,定位其peer-id与Key值最接近的k个节点作为本次发布的索引节点,然后向这些索引节点发送资源文件的发布消息。
在优选实施例中,步骤S3.5中对异或距离与Key值最接近的k个节点的定位可以通过递归法实现。所述递归法包括下列步骤:
S3.51计算Key值与发布节点peer-id的异或距离,将该异或距离称为文件发布距离;然后从发布节点的路由表中找到涵盖所述文件发布距离的k桶项目;例如当文件发布距离为9时(23≤9<23+1),其对应的k桶项目为第3项,当文件发布距离为27时(24≤16<24+1),其对应k桶项目为第4项。
S3.52在确定所对应的k桶项目后,发布节点向该k桶项目中的节点发送资源文件的发布消息。
S3.53每一个收到发布消息的节点(为方便描述,将收到发布消息的节点称为文件发布中间节点)判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则将该文件发布中间节点确定为索引节点并通知所述发布节点,如果有更接近的节点,则该文件发布中间节点把这些更接近节点的信息(包含peer-id、IP地址、端口号信息)回复给发布节点;
本步骤中,一个中间节点判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,可以先计算该中间节点peer-id与Key值的异或距离,然后找出对应于该异或距离的k桶项目(即涵盖该异或距离的k桶项目);再逐个计算该k桶项目中每个节点peer-id与Key值的异或距离,从而判断出k桶中是否存在peer-id比该中间节点更加接近Key值的节点,同时找出这些节点。本步骤中,先找到对应的k桶项目,可以有效地缩小查找范围,提高查找效率。
S3.54发布节点进一步向步骤3.53确定的更接近Key值的节点发送资源发布消息,重新执行步骤S3.53,直至所有文件发布中间节点均确认自己就是本次发布信息的索引节点。所有索引节点均缓存发布消息中携带的<Key,Value>形式的发布信息。
在停止递归过程后,会确定若干个索引节点,但索引节点的个数可能会超过k个,此时,可以由发布节点从中选出k个节点作为最终的索引节点。
由于发布节点所维护的k桶式路由表中并不涵盖P4P网络的所有节点。因此,使用递归法实现发布过程能够更好地定位其peer-id与Key值最接近的k个节点,从而便于查询节点准确地找到索引节点。
理论上,递归法可以准确的定位其peer-id与Key值最接近的k个节点,但是,有时系统对定位的准确性要求并不十分严格。为了节省时间和其它开销,也可以预先设定递归时间或递归次数,当达到该递归时间或递归次数时,停止递归过程,并将当前的文件发布中间节点直接确认为索引节点。进一步地,当此时索引节点的个数超过k个时,也可以由发布节点从中选出k个节点作为最终的索引节点。
根据本发明的另一个实施例,提供了一种不存在种子服务器时的节点资源发布方法,如图4所示,其具体流程如下:
S4.1:节点在开始一个资源文件下载任务后可以随时选择发布其拥有该资源文件的信息,此时需要发布两类形如<Key,Value>的信息对:关键字信息、文件源信息,将关键字信息记作<Key1,Value1>,文件源信息记作<Key2,Value2>;
S4.2:发布节点对要发布资源的名称和特征进行关键字提取,将资源的信息划分成一系列关键字(比如对于影片类型的资源文件提取的关键字包括影片名字、主要演员、影片类型等,对于图书类型的资源文件提取的关键字包括题目、作者、出版社等);
S4.3:计算关键字的哈希值,结果作为发布时的Key1,Value1中保存资源种子文件的信息(文件名、文件长度、文件内容的哈希值、其他信息),种子文件在节点准备发布该资源前已经通过关键字查找过程得到,发布关键字信息对<Key1,Value1>的目的是使得网络中的查询节点能够根据自己感兴趣的关键字查找到对应的种子文件,从而根据种子文件的内容进行下一步的查找;
S4.4:发布节点根据通过关键字查找得到的资源文件种子文件的内容(文件名、文件长度、文件内容的哈希值、其他信息)计算其哈希值,并将结果作为该资源文件的标志符file-id;
S4.5:发布节点通过查找本地的配置文件可以获得其所在的PID号和AS号;
S4.6:将file-id、PID号与AS号拼接起来并计算其哈希值,计算的结果就作为发布时的Key2(拼接规则可参照前文中步骤S3.4,这里不再赘述),同时发布信息的Value2值包含节点的peer-id,IP地址,端口号,PID号,AS号以及资源文件的file_id等内容,形如<file_id,peer_id,IP Address,Port,PID,AS>;
S4.7:发布节点根据S4.3和S4.6中得到的Key1和Key2的值,定位k个与Key1以及k个与Key2值最接近的节点(即所对应的k桶项目中的k个节点)作为关键字索引节点和文件索引节点,然后向这些节点发送资源文件的发布消息。
在优选实施例中,发送发布消息的过程可以采用递归法,下面简要描述该优选实施例所使用的递归法,其具体过程则与步骤S3.5的各子步骤基本一致,不再赘述。
首先,计算Key1与发布节点自身peer-id的异或距离,将该异或距离称为关键字发布距离,计算Key2与发布节点自身peer-id的异或距离,将该异或距离称为文件发布距离,然后分别找到与关键字发布距离和文件发布距离相对应的k桶项目;这里相对应的k桶项目是指涵盖所述发布距离的k桶项目,可参见前文中步骤S3.5的描述;所对应的k桶项目中的k个节点作为递归发布过程的初始的关键字或文件发布中间节点。
每一个收到发布消息的中间节点判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有这样的节点,则自己就是该发布信息的索引节点,如果有这样的更接近的节点,则该中间节点会把这些更接近节点的信息回复给发布节点,发布节点会进一步向这些更接近Key值的节点发送发布消息,最后由递归查找后得到的索引节点缓存发布消息中携带的<Key,Value>形式的发布信息;本步骤中,<Key,Value>包括关键字信息<Key1,Value1>和文件源信息<Key2,Value2>,二者的发布过程独立进行,并且它们不必存放在同样的一组k个节点上。
另外,类似于前文的步骤S3.5,本步骤中也可以通过设置递归时间和递归次数来停止递归过程,这是本领域技术人员易于理解的。
三、资源检索方法
根据本发明的一个实施例,提供了一种存在种子服务器时的节点资源检索方法,如图5所示,其具体流程如下:
S5.1:当节点需要下载一个资源文件时,它首先需要查找该资源文件的发布信息,从而找到拥有该资源文件的对等节点列表(peer list),在存在种子服务器的情况下,查询节点首先从种子服务器中获取该资源文件的种子文件;
S5.2:根据种子文件的内容(文件名、文件长度、文件内容的哈希值、其他信息)计算其哈希值,并将结果作为该资源文件的标志符file-id;
S5.3:查询节点启动并发查找过程,即读取配置文件找到网络中所有的PID和AS的组合,对每一个PID和AS的组合,并发执行S5.4到S5.9;
S5.4:将file-id、PID号与AS号拼接起来并计算其哈希值,计算的结果就作为查询请求消息中包含的Key(拼接规则与资源发布时的拼接规则一致),同时查询请求消息中还包含期望返回的对等节点总数以及查询节点本身的PID和AS;
S5.5:查询节点根据S5.4中得到的Key值,计算该Key值与自身peer-id的异或距离,从而找到相对应的k桶项目(相对应的k桶项目的含义可参照前文中步骤S3.5的描述,这里不再赘述);从找到的k桶项目中定位m个节点,然后向这m个节点发送资源文件的查询请求消息;
S5.6:采用递归法查找索引节点。每一个收到查询请求消息的中间节点根据查询请求消息中包含的Key值检索对应的缓存信息,如果找到Key值所对应的缓存信息,则确定自己就是索引节点并转到步骤S5.7,否则判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有这样的节点,则丢弃该查询请求消息,如果有这样的更接近的节点,则该中间节点会把这些更接近节点的信息回复给查询节点,查询节点会进一步向这些更接近Key值的节点发送查询请求消息;
S5.7:当索引节点收到查询请求消息后,它根据查询请求消息中包含的Key值对应的缓存信息获得了查询节点期望下载的资源文件的标志符,即file_id;
S5.8:索引节点根据file_id找到本机上缓存的该file_id对应的策略矩阵,索引节点根据查询请求消息中包含的PID号和AS号(对应策略矩阵的行)以及本地缓存的发布信息中包含的PID和AS号(即查询请求消息Key值对应的PID和AS号,对应策略矩阵的列)确定策略矩阵中对应的数据项,从而计算出应该为该查询节点回复多少个对等节点,对等节点的选择策略是:如果对等节点列表(peer list)中包含的节点个数不足需求数量,则全部返回,否则,随机选择指定个数的对等节点以达到负载均衡的目标;
S5.9:索引节点将选出的指定个数的对等节点回复给查询节点。
需要注意的是,虽然查询过程中也利用了递归法定位索引节点,但不同于发布过程,查询过程只需要找到一个索引节点即可,即只要查询节点收到了任何一个索引节点返回的指定个数的对等节点,就可以停止递归过程。
根据本发明的另一实施例,提供了一种不存在种子服务器时的节点资源检索方法,如图6所示,其具体流程如下:
S6.1:当节点需要下载一个资源文件时,它需要查找该资源文件的发布信息,从而找到拥有该资源文件的对等节点列表(peer list),在不存在种子服务器的情况下,查询节点需要经过两轮查询(关键字查询、文件源查询);
S6.2:查询节点提取需要查找的资源文件的关键字信息,并计算关键字的哈希值,计算的结果就作为第一轮关键字查询的Key1;
S6.3:查询节点根据S6.2中得到的Key1值,计算Key1值与自身peer-id的异或距离,从而找到相对应的k桶项目(相对应的k桶项目的含义可参照前文中步骤S3.5的描述,这里不再赘述),从找到的k桶项目中定位ml个与Key1值最接近的节点,然后向这些节点发送关键字查询请求消息;
S6.4:采用递归法查找索引节点。每一个收到查询请求消息的中间节点根据查询请求消息中包含的Key1值检索对应的缓存信息,如果找到与Key1值相应的缓存信息,则确定自己就是Key1值的索引节点,否则判断自己的k桶中是否包含peer-id比自己更加接近Key1值的节点,如果没有这样的节点,则丢弃该查询请求消息,如果有这样的更接近的节点,则该中间节点会把这些更接近节点的信息回复给查询节点,查询节点会进一步向这些更接近Key1值的节点发送查询请求消息,关键字查询请求消息最终将发送给缓存关键字发布信息的Key1值索引节点,这些索引节点会把含有该关键字的种子文件列表回复给查询节点,即当查询节点收到索引节点返回的种子文件列表时停止本步骤的递归过程;
S6.5:查询节点在收到的种子文件列表中找到自己感兴趣资源的种子文件,根据种子文件的内容(文件名、文件长度、文件内容的哈希值、其他信息)计算其哈希值,并将结果作为资源文件的标志符file-id;
S6.6:查询节点启动并发查找过程,即读取配置文件找到网络中所有的PID和AS的组合,对每一个PID和AS的组合,并发执行S6.7到S6.12;
S6.7:将file-id、PID号与AS号拼接起来并计算其哈希值,计算的结果就作为文件源查询请求消息中包含的Key2(拼接规则与资源发布时的拼接规则一致),同时查询请求消息中还包含期望返回的对等节点总数以及查询节点本身的PID和AS;
S6.8:查询节点根据S6.7中得到的Key2值,计算Key2值与自身peer-id的异或距离,从而找到相对应的k桶项目(相对应的k桶项目的含义可参照前文中步骤S3.5的描述,这里不再赘述),从找到的k桶项目中定位m2个节点,然后向这些节点发送文件源查询请求消息;
S6.9:采用递归法查找索引节点。每一个收到查询请求消息的中间节点会根据查询请求消息中包含的Key2值检索对应的缓存信息,如果找到与Key2值对应的缓存信息,则确定自己就是索引节点并转到步骤S6.10,否则判断自己的k桶中是否包含peer-id比自己更加接近Key2值的节点,如果没有这样的节点,则丢弃该查询请求消息,如果有这样的更接近的节点,则该中间节点会把这些更接近节点的信息回复给查询节点,查询节点会进一步向这些更接近Key2值的节点发送查询请求消息;
S6.10:当索引节点收到查询请求消息后,它根据查询请求消息中包含的Key2值对应的缓存信息获得了查询节点期望下载的资源文件的标志符,即file_id;
S6.11:索引节点根据file_id找到本机上缓存的该file_id对应的策略矩阵,索引节点根据查询请求消息中包含的PID号和AS号(对应策略矩阵的行)以及本地缓存的发布信息中包含的PID和AS号(即查询请求消息Key值对应的PID和AS号,对应策略矩阵的列)确定策略矩阵中对应的数据项,从而计算出应该为该查询节点回复多少个对等节点,对等节点的选择策略是:如果对等节点列表(peer list)中包含的节点个数不足需求数量,则全部返回,否则,随机选择指定个数的对等节点以达到负载均衡的目标;
S6.12:索引节点将选出的指定个数的对等节点回复给查询节点。
需要补充说明的是:节点为了能准确地发布信息,需要获知自己的PID和AS号。这个过程是节点通过查询获得的:不同的PID和AS所对应的IP地址范围被保存在一张表上。这张表被保存在运营商的一个服务器(例如iTracker)中,功能就是对每一个节点发来的查询请求,依据它的IP地址字段回复该节点所在的PID和AS。
为了减少服务器的压力,节点请求的次数不能太多。具体原则如下:每个节点在最初启动的时候发出一次查询请求,并把服务器回复的PID号和AS号保存在一个配置文件中。后续启动的时候,如果检测IP地址没有发生变化,那么就不会发出PID和AS的查询请求,而是从本地配置文件中读出该信息。如果IP地址发生了变化,则需要重新发出查询请求。
此外,服务器回复的PID和AS信息会有一定的时效,当超时事件发生后,节点也会重新向服务器发出查询请求。这样如果运营商改变了PID和AS的地址段划分,那么在一定时间之后,节点也会获得它当前正确的PID号和AS号。
四、策略矩阵更新方法
在运营商主动参与的结构化对等网络中,针对每一个资源文件,策略服务器都会计算一个策略矩阵,用来指导从属于某一个PID和AS内的查询节点应该分别从哪些PID和AS内下载资源文件。
为了计算每一个资源文件的策略矩阵,需要该资源文件的不同索引节点向策略服务器上传该资源文件的统计信息。在本发明中,提出了一种索引节点和策略服务器的交互方法。为了叙述方便,在下面的阐述中,只考虑索引节点向策略服务器提供一个参数:拥有资源文件的节点数目。其它统计信息参数也可以按照同样的方式在索引节点与策略服务器之间进行交互传递。
策略矩阵生成与发放的具体流程示例如图7中实线所示。在图7中假设存在两个PID和AS的组合,PID1+AS1和PID2+AS2。依据前述资源发布的流程介绍,每个资源文件的发布信息都会被发布到两组索引节点上,分别是以Key1=hash(file_id+PID1+AS1)和Key2=hash(file_id+PID2+AS2)做键值。如图7所示,某个资源的发布信息被发布到分别为Key1和Key2的两组索引节点上,每组各包含3个节点。
根据本发明的一个实施例,提供了一种策略矩阵更新方法,包括策略矩阵生成步骤与发放步骤。下面结合图7对该实施例的策略矩阵更新方法进行详细描述。
步骤1:如果某一个索引节点(如图7中PID1+AS1中央区域的Key1索引节点)发现自己维护的发布信息对应的某个资源文件的对等节点列表(peer list)中节点数目的变化超过一定门限值,则该索引节点(称之为初始索引节点)就需要重新触发该资源文件对应的策略矩阵的计算过程;首先,初始索引节点需要搜集该资源文件在不同的PID和AS内当前的节点数目。搜索本地缓存的的发布信息,初始索引节点很容易得到该资源文件在本地Key值所对应的PID和AS内的节点数目。而对于同一个资源文件在其它PID和AS内的节点数目,初始索引节点需要首先查找到该资源文件对应不同的PID和AS组合时的发布信息索引节点(为方便描述,将这种发布信息索引节点称为同族索引节点)。如图7所示,PID1+AS1中央区域的Key1索引节点为初始索引节点,那么从它的缓存信息[Key1,file_id,PID1,AS1,peer list]中很容易得出Key1是file_id、PID1、AS1拼接后的哈希值,因而该缓存信息中对等节点列表(peer list)里的节点数目就指明了在PID1和AS1内拥有资源文件的节点数目。为了向策略服务器上报计算策略矩阵必需的节点数目向量,初始索引节点还应该得到在PID2+AS2内拥有同一资源文件的当前节点数量,这就需要它查找到三个Key2索引节点(Key2索引节点是Key1索引节点的同族索引节点,它们都是同一资源文件的索引节点,区别在于Key值不同)中的某一个。具体的查找方法是,初始索引节点找到资源文件的file_id,然后对每一个PID和AS的组合,分别计算file_id、PID、AS拼接后的哈希值,如图7中,初始索引节点计算file_id、PID2、AS2拼接后的哈希值得到Key2,然后调用查询请求消息找到Key2的一个索引节点(图7中假设找到了PID2+AS2上方的Key2索引节点)。找到Key2索引节点后,初始索引节点向新找到的Key2索引节点发送节点数目请求消息,请求获得同一资源文件在PID2+AS2内的节点数量信息,节点数目请求消息的内容包含<Key2,file_id,PID2,AS2>等内容。
步骤2:Key2索引节点收到请求后,根据Key2值和file_id查找自己缓存的索引信息[Key2,file_id,PID2,AS2,peer list],确定该资源文件在PID2+AS2内对应的节点数目,然后向初始索引节点发送节点数目回复消息<Key2,file_id,NUM,PID2,AS2>。
步骤3:当初始索引节点收到同一个资源文件的所有PID和AS组合的索引节点发来的节点数目回复消息后,它就获得了该资源文件的节点数目向量,形如[NUM1,NUM2,…NUMn],其中NUMi表示PID+AS号排第i位的区域内拥有该资源文件的当前节点数量。接下来,初始索引节点需要向策略服务器上报这个向量,上报的数据形如<file_id,NUM1,NUM2,…NUMn>,其中file_id是该资源文件的标志符。
步骤4:当策略服务器收到初始索引节点发来的节点数目向量后,就可以根据这个向量以及其它的一些P4P控制信息计算该资源文件的策略矩阵,计算策略矩阵的方法可采用基于位置、节点数目、拥塞状况等多种方式,具体可参见“Haiyong Xie,Y.Richard Yang,Arvind Krishnamurthy,Yanbin Liu and Avi Silberschatz,P4P:Provider Portal for Applications,In:Proc.of the ACM SIGCOMM(SIGCOMM 2008),2008”。当策略矩阵生成之后,策略服务器就把该策略矩阵发给初始索引节点,策略矩阵中除了包含一个二维矩阵外,还包含相关的file_id,版本号等信息。
步骤5:初始索引节点收到策略服务器发来的策略矩阵后,它会根据策略矩阵中指明的file_id更新本地缓存的相关资源文件的策略矩阵。同时,初始索引节点还要把最新的策略矩阵向同一资源文件的其它相关PID和AS的索引节点进行转发。如图7中的初始索引节点为PID1+AS1中央区域的Key1索引节点,当它收到最新的策略矩阵后,它需要向某个Key2索引节点进行转发。在前期的节点数目搜集阶段,初始索引节点曾经跟某一个Key2索引节点进行过交互,因而初始索引节点可以首先尝试将策略矩阵传递给该Key2索引节点。如果该Key2索引节点不再可用,则初始索引节点可以借助于节点数目搜集阶段中使用过的相同的Key2索引节点发现过程找到其它当前可用的Key2索引节点。Key2索引节点收到初始索引节点发来的策略矩阵后,也会根据策略矩阵中指明的file_id更新本地缓存的相关资源文件的策略矩阵。
步骤6:已经拥有最新策略矩阵的索引节点(包括初始索引节点和通过跟初始索引节点交互获得了最新策略矩阵的其它索引节点)还需要把最新的策略矩阵向缓存相同Key值的其它索引节点散发(在图7中PID1+AS1中央区域的Key1索引节点向其它两个Key1索引节点散发,PID2+AS2上方的Key2索引节点向其它两个Key2索引节点散发)。散发过程可以利用结构化对等网络中缓存相同内容的索引节点间周期性的交互过程完成,也可以通过启动查找过程确定缓存相同内容的其它索引节点,然后显式发送更新消息来实现。
当索引节点收到其它节点(而非策略服务器)发来的策略矩阵后,它会根据版本号判断该策略矩阵是否比本地正在使用的相关资源文件的策略矩阵更加新,如果是,则替换本地的策略矩阵,否则,丢弃新收到的策略矩阵。
策略矩阵可以在相同资源的不同索引节点间相互传递,这些索引节点不仅包括缓存同一个Key值的索引节点,也包括缓存相同file_id的不同Key值的索引节点(如Key1和Key2索引节点之间相互传递)。当一个节点发现本地某一个资源的策略矩阵缺失或者即将过期时,它会首先尝试从其它索引节点中获取该资源文件的策略矩阵,而不是请求策略服务器重新计算。只有当索引节点维护的节点个数变化超过一定范围或者无法从其它索引节点获得更新的策略矩阵时,它才会重新请求策略服务器计算新的策略矩阵。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (13)

1.一种用于运营商主动参与的对等网络的资源发布方法,包括下列步骤:
1)发布节点根据其所属的PID域和AS域,以及所发布资源文件的file-id,得出本次资源文件发布的Key值;
2)计算Key值与所述发布节点的peer-id的异或距离;
3)发布节点找出k个异或距离最接近的对等节点作为索引节点;所述k个异或距离最接近的对等节点是其peer-id与所述发布节点peer-id的异或距离最接近于步骤2)所得的异或距离的k个对等节点,k至少为1;所述发布节点向所述索引节点发送所述资源文件的发布消息。
2.根据权利要求1所述的资源发布方法,其特征在于,所述步骤1)中,每一个PID号、AS号和file-id组合对应于一个唯一的Key值。
3.根据权利要求1所述的资源发布方法,其特征在于,所述步骤1)包括下列子步骤:
11)发布节点将其PID号、AS号和所发布资源文件的file-id拼接;
12)计算步骤11)拼接后的字符串的哈希值,将该哈希值作为本次资源文件发布的Key值。
4.根据权利要求1所述的资源发布方法,其特征在于,所述步骤3)包括下列子步骤:
31)将路由表以k桶的形式存储,所述k桶的第i项保存其peer-id到本节点peer-id的异或距离为大于等于21小于2i+1的对等节点的路由信息,所述路由信息包括IP地址、端口号和peer-id;其中i为自然数;
32)根据步骤2)所得的异或距离,找到涵盖该异或距离的k桶项目;
33)发布节点首先向所述步骤32)中找到的k桶项目中的节点发送资源文件的发布消息;
34)收到发布消息的节点均为发布中间节点,每一个发布中间节点判断自己的路由表的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则将该文件发布中间节点确定为索引节点并通知所述发布节点,如果有更接近的节点,则该文件发布中间节点把这些更接近节点的信息回复给发布节点;
35)发布节点进一步向步骤34)确定的更接近Key值的节点发送资源发布消息,重新执行步骤34),直至所有文件发布中间节点均确认自己就是本次发布信息的索引节点;
36)在索引节点中缓存发布消息中携带的<Key,Value>形式的发布信息。
5.根据权利要求4所述的资源发布方法,其特征在于,预先设定递归时间或递归次数,在执行步骤34)和35)时,当达到所述递归时间或递归次数时,停止递归过程,并将当前的发布中间节点直接确认为索引节点,执行步骤36)。
6.根据权利要求4或5所述的资源发布方法,其特征在于,步骤34)和35)的递归过程结束后,当索引节点的个数超过预先设定的数目k时,由发布节点选出从中选出k个节点作为最终的索引节点。
7.根据权利要求1所述的资源发布方法,其特征在于,在不存在种子服务器时,所述步骤1)之前还执行关键字信息发布步骤,所述关键字信息发布步骤包括下列子步骤:
a)发布节点根据所述资源文件的关键字得出Key1值;
b)计算Key值与所述发布节点的peer-id的异或距离;
c)发布节点找出k个异或距离最接近的对等节点作为关键字索引节点;所述k个异或距离最接近的对等节点是其peer-id与所述发布节点peer-id的异或距离最接近于步骤b)所得的异或距离的k个对等节点,k至少为1;所述发布节点向所述关键字索引节点发送所述资源文件的关键字发布消息,所述关键字发布消息中含有所述资源文件的种子文件。
8.一种基于权利要求1所述的资源发布方法的用于运营商主动参与的对等网络的资源检索方法,所述资源检索方法包括下列步骤:
41)查询节点获取所查找的目标资源文件的种子文件,根据种子文件得到该目标资源文件的标识符file-id;
42)查询节点找到网络中所有的PID号和AS号的组合,对每一个PID和AS的组合,分别执行步骤43)到步骤47);
43)根据file-id、当前组合的PID号与AS号,计算出目标资源文件对应于当前组合的Key值,计算Key值的计算规则与所述步骤1)一致;
44)查询节点计算步骤43)所得Key值与自身peer-id的异或距离,并在查询节点的路由表中找到涵盖该异或距离的k桶项目,并在该k桶项目中定位m个节点,由查询节点向这m个节点发送查询请求消息;
45)收到查询请求消息均为查询中间节点,每一个查询中间节点会根据查询请求消息中包含的Key值判断自己是否为对应该Key值的索引节点,如判断为是,则转到步骤47),否则,判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则丢弃该查询请求消息,如果有更接近的节点,则该查询中间节点把这些更接近的节点的信息回复给查询节点;
46)查询节点向更接近的节点发送查询请求消息并重新执行步骤45);
47)索引节点收到查询请求消息后,将含有所述目标资源文件的对等节点的信息回复给查询节点;所述查询节点在收到含有所述目标资源文件的对等节点的信息后停止查询过程。
9.根据权利要求8所述的资源检索方法,其特征在于,所述步骤42)中,对于各个PID号和AS号的组合,并发执行所述步骤43)到步骤47)。
10.一种基于权利要求7所述的资源发布方法的资源检索方法,其特征在于,所述资源检索方法包括下列步骤:
41)查询节点获取所查找的目标资源文件的种子文件,根据种子文件得到该目标资源文件的标识符file-id;
42)查询节点找到网络中所有的PID号和AS号的组合,对每一个PID和AS的组合,分别执行步骤43)到步骤47);
43)根据file-id、当前组合的PID号与AS号,计算出目标资源文件对应于当前组合的Key值,计算Key值的计算规则与所述步骤1)一致;
44)查询节点计算步骤43)所得Key值与自身peer-id的异或距离,并在查询节点的路由表中找到涵盖该异或距离的k桶项目,并在该k桶项目中定位m个节点,由查询节点向这m个节点发送查询请求消息;
45)收到查询请求消息均为查询中间节点,每一个查询中间节点会根据查询请求消息中包含的Key值判断自己是否为对应该Key值的索引节点,如判断为是,则转到步骤47),否则,判断自己的k桶中是否包含peer-id比自己更加接近Key值的节点,如果没有更接近的节点,则丢弃该查询请求消息,如果有更接近的节点,则该查询中间节点把这些更接近的节点的信息回复给查询节点;
46)查询节点向更接近的节点发送查询请求消息并重新执行步骤45);
47)索引节点收到查询请求消息后,将含有所述目标资源文件的对等节点的信息回复给查询节点;所述查询节点在收到含有所述目标资源文件的对等节点的信息后停止查询过程;
在不存在种子服务器时,所述步骤41)还包括下列子步骤:
411)根据目标资源文件的关键字得出Key1值;
412)计算Key1值与所述查询节点peer-id的异或距离;
413)在查询节点的路由表中找到涵盖步骤412)所得出的异或距离的k桶项目,并在该k桶项目中定位m1个节点,由查询节点向这m1个节点发送关键字查询请求消息;
414)收到关键字查询请求消息均为关键字查询中间节点,每一个关键字查询中间节点根据关键字查询请求消息中包含的Key1值判断自己是否为对应该Key1值的关键字索引节点,如判断为是,则转到步骤416),否则,判断自己的k桶中是否包含peer-id比自己更加接近Key1值的节点,如果没有更接近的节点,则丢弃该关键字查询请求消息,如果有更接近的节点,则该关键字查询中间节点把这些更接近的节点的信息回复给查询节点;
415)查询节点向更接近的节点发送关键字查询请求消息并重新执行步骤414);
416)关键字索引节点收到查询请求消息后,将含有所述目标资源文件的种子文件回复给查询节点;所述查询节点在收到所述目标资源文件的种子文件后停止查询过程。
11.一种基于权利要求1所述的资源发布方法的用于运营商主动参与的对等网络的策略矩阵更新方法,
51)索引节点监测含有自己维护的发布信息中的资源文件的节点数目,当该节点数目的变化超过一定门限值时,该索引节点作为初始索引节点启动对该资源文件的策略矩阵更新过程;
52)初始索引节点查找出维护对应同一资源文件但具有不同key值的发布信息的同族索引节点;
53)初始索引节点从同族索引节点获取各个PID和AS组合中含有所述资源文件的节点数目,进而得到所述资源文件的节点数目向量;
54)初始索引节点将所述节点数目向量上报策略服务器;
55)策略服务器根据新的节点数目向量计算出对应于所述资源文件的新的策略矩阵。
12.根据权利要求11所述的策略矩阵更新方法,其特征在于,还包括下列步骤:
56)策略服务器将新的策略矩阵发送给初始索引节点;
57)初始索引节点更新策略矩阵,并将所述新的策略矩阵发送给所述同族索引节点;
58)所述同族索引节点更新策略矩阵。
13.根据权利要求11所述的策略矩阵更新方法,其特征在于,还包括下列步骤:
59)所述初始索引节点将新的策略矩阵发送给维护与该初始索引节点相同key值的发布信息的索引节点;所述同族索引节点将新的策略矩阵发送给维护与该同族索引节点key值相同发布信息的其它同族索引节点。
CN2009102437680A 2009-12-25 2009-12-25 用于运营商主动参与的对等网络的资源共享方法 Active CN101753567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102437680A CN101753567B (zh) 2009-12-25 2009-12-25 用于运营商主动参与的对等网络的资源共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102437680A CN101753567B (zh) 2009-12-25 2009-12-25 用于运营商主动参与的对等网络的资源共享方法

Publications (2)

Publication Number Publication Date
CN101753567A true CN101753567A (zh) 2010-06-23
CN101753567B CN101753567B (zh) 2013-04-17

Family

ID=42479970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102437680A Active CN101753567B (zh) 2009-12-25 2009-12-25 用于运营商主动参与的对等网络的资源共享方法

Country Status (1)

Country Link
CN (1) CN101753567B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969458A (zh) * 2010-11-26 2011-02-09 西安电子科技大学 支持层次化网络拓扑的p2p流量优化方法
CN102611752A (zh) * 2012-03-21 2012-07-25 南京邮电大学 一种电信运营商参与对等计算技术的监管服务器的实现方法
CN103167029A (zh) * 2013-03-06 2013-06-19 中国科学院计算技术研究所 一种eMule网络上特定资源的发现方法和装置
CN103379132A (zh) * 2012-04-13 2013-10-30 中兴通讯股份有限公司 一种移动终端及其收到推送后的处理方法
CN105959312A (zh) * 2016-07-04 2016-09-21 合网络技术(北京)有限公司 网络设备的分级方法及装置
CN110012102A (zh) * 2019-04-11 2019-07-12 湖南快乐阳光互动娱乐传媒有限公司 基于热门视频预推送的p2p主动做种方法及系统
CN112954080A (zh) * 2021-04-13 2021-06-11 苏州知微安全科技有限公司 一种中继路由金字塔数据存储方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442496B (zh) * 2008-12-17 2010-10-27 南京邮电大学 一种校园网格数据传输服务中数据索引方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969458A (zh) * 2010-11-26 2011-02-09 西安电子科技大学 支持层次化网络拓扑的p2p流量优化方法
CN101969458B (zh) * 2010-11-26 2012-12-26 西安电子科技大学 支持层次化网络拓扑的p2p流量优化方法
CN102611752A (zh) * 2012-03-21 2012-07-25 南京邮电大学 一种电信运营商参与对等计算技术的监管服务器的实现方法
CN103379132A (zh) * 2012-04-13 2013-10-30 中兴通讯股份有限公司 一种移动终端及其收到推送后的处理方法
CN103379132B (zh) * 2012-04-13 2016-03-30 中兴通讯股份有限公司 一种移动终端及其收到推送后的处理方法
CN103167029A (zh) * 2013-03-06 2013-06-19 中国科学院计算技术研究所 一种eMule网络上特定资源的发现方法和装置
CN103167029B (zh) * 2013-03-06 2016-08-03 中国科学院计算技术研究所 一种eMule网络上特定资源的发现方法和装置
CN105959312A (zh) * 2016-07-04 2016-09-21 合网络技术(北京)有限公司 网络设备的分级方法及装置
CN110012102A (zh) * 2019-04-11 2019-07-12 湖南快乐阳光互动娱乐传媒有限公司 基于热门视频预推送的p2p主动做种方法及系统
CN112954080A (zh) * 2021-04-13 2021-06-11 苏州知微安全科技有限公司 一种中继路由金字塔数据存储方法及装置

Also Published As

Publication number Publication date
CN101753567B (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
CN101753567B (zh) 用于运营商主动参与的对等网络的资源共享方法
CN101102250B (zh) 用于自组织网络的分布式散列机制
US9160571B2 (en) Requesting a service from a multicast network
CN101447937A (zh) 一种基于路径划分与多分布目录的快速数据定位方法
CN101345628B (zh) 源节点选择方法
CN103069781B (zh) 用于分布式哈希表中的内容的对等业务局域化
CN101594316B (zh) 一种分布式网络的管理方法、内容查询方法、系统及装置
JP2009193250A (ja) 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム
Li et al. A semantics-based routing scheme for grid resource discovery
Picone et al. Proactive neighbor localization based on distributed geographic table
CN100536422C (zh) 对等网络及其网络资源查询方法
JP2012531765A (ja) P2pネットワークのノード情報を提供するサーバ、方法、およびシステム
Cherbal et al. A survey of DHT solutions in fixed and mobile networks
Cui et al. Efficient skyline computation in structured peer-to-peer systems
Yan et al. Efficient event-based resource discovery
Kawadia et al. Slinky: An adaptive protocol for content access in disruption-tolerant ad hoc networks
CN101626336A (zh) 一种利用信任机制提高p2p覆盖网络交互性能的方法
Lazaro et al. Decentralized resource discovery mechanisms for distributed computing in peer-to-peer environments
JP4923115B2 (ja) 自己組織型分散オーバーレイ・ネットワークにおいてオブジェクトへの参照を分散させる方法、コンピュータプログラム、及びノード、並びに自己組織型分散オーバーレイ・ネットワーク
Sharifi et al. A popularity-based query scheme in P2P networks using adaptive gossip sampling
Singh et al. Finger forwarding scheme to reduce lookup cost in structured P2P networks
Li et al. Semantic overlay network for grid resource discovery
KR101224827B1 (ko) Dacon 을 이용한 네트워크 시스템 및 네트워크 연결방법
JP4795277B2 (ja) データ管理システム、データ検索方法およびデータ管理装置
Stiller et al. 17. Peer-to-Peer Search and Scalability

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