位图管理和节点集合查询的方法以及节点和索引服务器技术

技术编号:6849570 阅读:200 留言:0更新日期:2012-04-11 18:40
本申请提供了P2P系统中的位图管理和节点集合查询的方法,以及P2P节点和索引服务器。根据本申请的P2P系统中位图管理的方法可包括:节点采用布隆算法对已获取的、特定文件的子块集合进行编码以形成汇报信息;所述节点将所述汇报信息发送给索引服务器;以及所述索引服务器根据所述汇报信息,维护所述特定文件的位图信息。根据本申请,可降低节点与索引服务器交互的位图体量,减小保存在索引服务器处的位图信息的体量,以及降低索引服务器根据位图信息确定节点集合的计算开销,从而提高系统性能。

【技术实现步骤摘要】

本申请涉及P2P系统中的位图管理和节点集合查询的方法,以及P2P节点和索引服务器。
技术介绍
P2P (Peer-to-Peer,点对点)系统以其良好的可扩展性和健壮性,越来越多地应用于文件共享、传输等业务。在P2P系统中,包含有多个节点(peer)和索引服务器(tracker)。在索引服务器中,保存有与一个或多个文件中的各文件相关的节点列表 (peerlist)。针对一个特定文件的节点列表例如可包括该文件的标识、与该文件相关的节点的标识(例如节点的IP地址、端口等)。新加入P2P系统的节点可请求索引服务器提供与某个文件相关的节点列表,同时也可将自身的信息(例如IP地址、端口等的标识)提交给索引服务器。索引服务器根据节点的请求,向节点返回包含一个或多个邻居节点标识的节点列表。此处所谓的邻居节点,指的是可以向其它节点传输某个文件的节点。由于在P2P系统中共享和传输的文件通常具有较大体量,因此,可将一个文件划分成若干子块(chunk),以子块为单位进行文件分发。即,节点在成功下载至少一个完整子块的情况下,就能为其他需要该子块的节点提供上传服务。为此,节点可通过位图(bitmap) 来指示其已下载或缓存的子块信息。位图中的每一个比特都与一个子块对应。如果节点已下载或缓存某个子块,则位图中与该子块对应的比特可被置为“1”,否则,该比特被置为 “0”。由于传统的索引服务器所提供的是针对某个文件的节点列表,在子块机制引入后,对于需要下载该文件的某个或某些子块的节点而言,得到的节点列表中可能包含一些未保存或缓存有所需子块的节点。这时,为了能够确定适当节点以进行文件传输,节点之间需要进行位图交互来互相了解子块的保存或缓存情况。为此,根据索引服务器是否参与位图的交互,现有技术中提供了两种解决方案。在索引服务器不参与位图交互的方案中,由节点自身与所获得的节点列表中的节点进行位图交互。随着文件数据的不断传输,节点的位图被不断更新,因此节点之间需要进行频繁的位图交互,从而占用了有限的上载带宽,影响系统性能。在索引服务器参与位图交互的方案中,各节点可向索引服务器汇报其自身的位图。在请求节点请求索引服务器提供节点列表时,可在请求中指明其所需的子块。这样, 索引服务器可利用其所获得的位图信息,在向请求节点返回节点列表时进行有针对性的筛选。这种方案可降低整个P2P系统中的位图交互频率。但是,由于大量节点需要向少数索引服务器汇报位图信息,索引服务器需对每个声明拥有某文件的节点保存其位图信息,并且需对每个针对特定子块集合的节点的查询请求核对节点列表中各节点的位图,以确定各节点是否拥有给定子块,因此,如果每次交互的位图的体量、保存在索引服务器处的位图的体量、以及根据位图确定节点是否拥有给定子块的计算开销得不到控制,则会占用索引服务器的带宽资源、存储资源和计算资源,从而影响整个系统的性能。现有技术中已经提出,可采用差异编码算法来缩小每次交互的位图体量(参见 G. Deng、C. Li、C. Chen 禾口 Y.Zhang 的 A bitmap codingmethod for P2P streaming protocols (用于P2P流协议的位图编码方法)Jn Proc. of CAR 2009)。但是,这种方法仍然无法降低索引服务器保存位图信息体量的存储开销和根据位图信息筛选节点列表的计算开销。
技术实现思路
本申请的目的是提供一种至少能够部分改善上述现有技术中的缺陷的P2P系统中的位图管理和节点集合查询的方法,以及P2P节点和索引服务器。根据本申请的第一方面,提出了一种P2P系统中位图管理的方法,包括节点采用布隆算法对已获取的、特定文件的子块集合进行编码以形成汇报信息;所述节点将所述汇报信息发送给索引服务器;以及所述索引服务器根据所述汇报信息,维护所述特定文件的位图信息。根据本申请的另一方面,提出了一种P2P系统中节点集合查询的方法,其中,索引服务器保存有特定文件的位图信息,所述位图信息是通过布隆算法对节点已获取的、所述特定文件的子块集合编码而形成的,所述方法包括请求节点采用布隆算法对希望获得的、 所述特定文件的子块集合进行编码以形成请求信息;所述请求节点将所述请求信息发送给所述索引服务器;以及所述索引服务器根据所述请求信息和所述位图信息,选取节点集合发送给所述请求节点。根据本申请的又一方面,提出了一种P2P系统中节点集合查询的方法,包括汇报节点采用布隆算法对已获取的、特定文件的子块集合进行编码以形成汇报信息;所述汇报节点将所述汇报信息发送给索引服务器;所述索引服务器根据所述汇报信息,维护所述特定文件的位图信息;请求节点采用布隆算法对希望获得的、所述特定文件的子块集合进行编码以形成请求信息;所述请求节点将所述请求信息发送给所述索引服务器;以及所述索引服务器根据所述请求信息和所述位图信息,选取节点集合发送给所述请求节点。根据本申请的又一方面,提出了一种P2P节点,包括编码模块,采用布隆算法对包括特定文件的一个或多个子块的子块集合进行编码,以形成编码的信息;以及传输模块, 将所述编码的信息发送给索引服务器。根据本申请的又一方面,提出了一种P2P系统中的索引服务器,包括存储模块, 保存特定文件的位图信息,所述位图信息是通过布隆算法对节点已获取的、所述特定文件的子块集合编码而形成的;以及维护模块,根据接收自汇报节点的汇报信息,维护所述位图信息,其中,所述汇报信息是所述汇报节点采用布隆算法对已获取的、所述特定文件的子块集合进行编码而形成的。根据本申请的又一方面,提出了一种P2P系统中的索引服务器,包括存储模块, 保存特定文件的位图信息,所述位图信息是通过布隆算法对节点已获取的、所述特定文件的子块集合编码而形成的;选取模块,根据接收自请求节点的请求信息以及所述位图信息, 选取节点集合,其中,所述请求信息是所述请求节点采用布隆算法对希望获得的、所述特定文件的子块集合进行编码而形成的;以及传输模块,将所述节点集合发送给所述请求节点。根据本申请,可降低节点与索引服务器交互的位图体量,减小保存在索引服务器处的位图信息的体量,以及降低索引服务器根据位图信息确定节点集合的计算开销,从而提高系统性能。附图说明图1是根据本申请一个实施方案的P2P系统中位图管理的方法的流程图;图2是根据本申请另一实施方案的P2P系统中位图管理的方法的流程图;图3是根据本申请一个实施方案的P2P系统中节点集合查询的方法的流程图;图4是根据本申请另一实施方案的P2P系统中节点集合查询的方法的流程图;图5是显示根据本申请一个实施方案的P2P节点的框图;图6是显示根据本申请一个实施方案的P2P系统中的索引服务器的框图;图7是显示根据本申请另一实施方案的P2P系统中的索引服务器的框图;以及图8是显示根据本申请又一实施方案的P2P系统中的索引服务器的框图。具体实施例方式下面参照附图,对本申请的进行详细说明。为简明起见,本申请各实施方案的说明中,相同或类似的装置或步骤使用相同或相似的附图标记来表示。在本申请中,P2P系统可包括多个节点和一个或多个索引服务器。在P2P系统中, 可将一个文件划分成若干子块,以子块为单位进行文件分发。为了记录已下载或缓存的子块情况,各节点可通过位图来指示本文档来自技高网
...

【技术保护点】
1.一种P2P系统中位图管理的方法,包括:节点采用布隆算法对已获取的、特定文件的子块集合进行编码以形成汇报信息;所述节点将所述汇报信息发送给索引服务器;以及所述索引服务器根据所述汇报信息,维护所述特定文件的位图信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓灵莉张云飞彭晋
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1