一种p2p网络及其调度方法

文档序号:7925702阅读:158来源:国知局
专利名称:一种p2p网络及其调度方法
技术领域
本发明涉及流媒体技术,尤其涉及一种P2P网络及其调度方法。
背景技术
当前,P2P技术已经成为互联网的主要应用之一,P2P模式也成为许 多业务的首选模式,被广泛应用于文件共享、网络视频、网络电话等领域。 它的分布式资源共享和并行传输的特点,能为用户提供更多的资源、更高 的可用带宽以及更好的服务。
P2P应用按照它的体系架构,主要有三种模型(l)完全基于Server的 模型(Server-based),该模型是由服务器提供相连peer的名字索引以及网络 上所有的资源,同时,peer之间通信的建立也依赖于服务器的初始化。服 务器在系统中处于支配地位,类似于传统的C/S (即Client/Server)模型。 该模型的缺点是因为对中心服务器的依赖,容易造成访问"热点"、单点故 障以及法律问题;(2)部分基于Server的模型(w他-Server),通常,准备加入 网络的peer将自己已经登录的消息通知索弓I服务器,索引服务器建立已经 连接的peer名字的索引,其作用也仅仅是为正在加入的peer提供该索引, 而资源仍然分布式存放在各个peer上,peer间如何建立连接和通信由各 peer自主完成,索引服务器不再参与。该模式以提供文件的高速传输和实 时通信为主要目的,如早期的Napster、 Kazaa以及近期出现的Edoney、 eMule、 Skype等就属于部分基于Server模型的P2P技术架构。现有技术 中该模式存在效率不高和对内容源的控制困难的问题;(3)Serveriess模型 (non-Server)。此模型中,所有成员都是对等端,完全没有服务器的概念, peer动态地发现其连接的peer, peer之间的通信完全由自身完成而不需要 来自服务器的任何帮助,打破了 C/S模型的传统通信方式,也被称为纯P2P 模型。该模型在可以在某种规则下,将网络中的所有资源完全共享、快速 提供,同时支持每个peer的快速加入和退出。这种纯P2P模型容许用户自 己设定通信规则,建立具有特色的网络环境,其可以使得网络资源使用率 最大化,最优化系统性能。这类纯P2P系统包括Gnutella和Freenet, Myjxta 及国内的SNS社会网络,Nexter等。纯P2P模型可以提供近似的即插即用 特性,但其存在网络上peer之间如何彼此发现、并与之建立通信的难题。

发明内容
有鉴于此,本发明的一个目的是为了克服现有技术的缺陷,提供一种
査询效率高的P2P网络。
本发明的另一个目的是提供一种基于该P2P网络的调度方法。
本发明的技术问题是通过以下技术方案实现的
一种P2P网络,包括索引服务器和媒体服务器,所述索引服务器用以 响应客户端的媒体内容査询请求并返回査询结果,所述媒体服务器用以存 储媒体内容并接受索引服务器的管理,所述索引服务器包括远程查询模块, 用于在缺失客户端査询内容时,向其他索弓I服务器发出査询请求并接收查 询结果。
所述远程査询模块包括DHT( Distributed Hash Table,分布式哈希表) 收发模块,用于通过DHT网络向其他索引服务器查询。
所述索引服务器还包括返回控制模块,用于控制查询返回的媒体服务 器或其他客户端地址列表,使得列表中同一网络内的其他客户端或媒体服 务器的位置要前于同一区域的其他媒体服务器或客户端。
所述索引服务器还包括缺失计数模块和复制触发模块,所述缺失计数 模块用于统计所述索弓I服务器对同一査询内容缺失的次数,该次数超过预 设阈值时,所述复制触发模块将触发所述索引服务器管理的媒体服务器就 所述同 一查询内容向其他媒体服务器发出内容请求并加以复制。
所述索引服务器还包括査询计数模块和负载均衡模块,所述查询计数 模块将累计同一媒体内容被请求査询的次数,该次数超过预设阈值时,所 述负载均衡模块将所述同 一 内容在所述索弓i服务器管理的多台媒体服务器 之间进行分发,后续发生的针对所述同一内容的多次查询请求将指定相异 的获得分发内容的媒体服务器响应。
一种P2P网络的调度方法,包括以下步骤A、客户端登录,返回索 引服务器地址;B、客户端向索引服务器査询请求内容所在的媒体服务器;
C、 索引服务器返回存在请求内容的媒体服务器和其他客户端的地址列表;
D、 客户端向存在请求内容的媒体服务器或其他客户端发送请求内容消息;
E、 媒体服务器或者其他客户端返回请求媒体内容;所述步骤C进一步包 括以下步骤Cl、若所述索引服务器存在所述客户端请求内容的媒体服务 器或其他客户端地址列表,直接返回该列表,转所述步骤D,否则执行以
下步骤;C2、所述索引服务器向其他索引服务器发出査询请求;C3、所述 索弓I服务器接收到其他索弓I服务器返回的地址列表并将其返回给所述客户 端。
所述步骤C2中的査询请求是通过DHT网络发出的。
所述步骤C的地址列表将按照同一网络之内的其他客户端或媒体服务 器要先于同一区域内的其他媒体服务器或客户端的顺序。
所述步骤C3进一步包括以下步骤C31、累计所请求查询内容的缺失 次数;C32、缺失次数超过预设阈值时,所述索引服务器触发其管理的媒 体服务器向其他索引服务器返回的媒体服务器进行数据复制。
所述步骤C1进一步包括以下步骤Cll、累计所请求査询内容的请求 次数;C12、请求次数超过预设阈值时,所述索引服务器将请求査询内容
在所述索引服务器管理的多台媒体服务器之间进行分发,后续发生的针对 所述同一内容的多次查询请求将指定相异的获得分发内容的媒体服务器响 应。
所述步骤A返回的是地理位置上较近的多个索引服务器地址,默认优 先选用最近的索引服务器,所述步骤B是向默认的索引服务器发送请求。
本发明与现有技术相比较的有益效果是
(1) 索引服务器之间通过DHT网络的査询,提高了 P2P网络的查询效
率;
(2) 返回结果列表顺序的控制,使得越靠近客户端的资源越在列表的 前面,有利于控制跨区流量;
(3) 缺失内容的复制,使得对频繁缺失的内容建立本地备份,提高查 询效率和减少跨区流量;
(4) 频繁请求内容的分发可以起到负载均衡的作用。


图1是本发明P2P网络索引服务器结构图; 图2是本发明P2P网络体系结构图; 图3是本发明方法信令流程图; 图4是本发明方法步骤流程图。
具体实施例方式
以下通过具体实施方式
并结合附图对本发明做进一步详细说明。如图1所示,本发明的一种P2P网络,包括索引服务器、媒体服务器。 客户端向索引服务器发出内容查询请求,索引服务器响应查询请求并返回 具有请求内容的媒体服务器或其他客户端列表,媒体服务器存储媒体内容。 索引服务器包括远程査询模块、返回控制模块、缺失计数模块、复制触发 模块、査询计数模块和负载均衡模块。远程查询模块是在索引服务器没有 相应内容资源列表时,向其他索引服务器发出査询请求并接收返回的查询 结果,远程查询模块中包括DHT收发模块,用于支持利用DHT网络对其 他索引服务器进行査询。返回控制模块用于控制査询返回得到的媒体服务 器列表顺序,使得列表中同一网络内的其他客户端或媒体服务器的位置要 前于同一区域的其他媒体服务器,这样客户端可优先选择访问同一网络内 的媒体服务器或其他客户端,避免产生较大的跨区网络流量。缺失计数模 块用于统计所述索引服务器对同一査询内容缺失的次数,该次数超过预设 阈值时,复制触发模块将触发媒体服务器就所述同一査询内容向其他媒体 服务器发出内容请求,使得这些内容在本地的媒体服务器上也有一个备份, 关于该媒体内容的请求就不再发生跨区流量问题。査询计数模块将统计同 一内容被请求的次数,该次数超过预设阈值时,负载均衡模块将所述同一 内容在所述索引服务器管理的多台媒体服务器之间进行分发,后续发生的 针对同一内容的多次请求将指定不同的媒体服务器响应,起到均衡负载的 作用。
本发明的网络体系结构如图2所示,其中虚线双向箭头表示信令消息 流,实线双向箭头表示数据、信令流。客户端n首先向EPG取得媒体标识, 然后向索引服务器发送査询请求,索引服务器搜索具有此媒体的内容的服 务器,并把其地址和其他客户端地址返回给该请求的客户端。索引服务器 在返回媒体服务器列表的时候,优先返回同一网络之内存在此客户端请求 数据的其他客户端或媒体服务器,然后是同一区域的其他的媒体服务器(补 偿服务器和其他客户端),这样可以有效地减少跨区域流量的产生。
应用上述P2P网络,本发明还提供了一种P2P网络的调度方法,如图 3所示,包括下列步骤
51、 客户端向索引服务器l发送请求消息;
52、 索引服务器1接收到客户端的请求之后,在本地查询客户端所需 的内容;
53、 如果本地査询成功,则立即返回媒体服务器l地址给客户端;
54、 客户端向媒体服务器l发送消息,请求所需的媒体内容;
55、 媒体服务器l返回客户端请求的数据,流程结束;
56、 如果本地索引服务器1上査询失败,则服务器会通过在索引服务 器之间的DHT网络在其他的索引服务器上査询;
57、 其他索引服务器n把査找到的媒体服务器地址返回本地索引服务
器l;
58、 再由本地索引服务器l返回给请求客户端;
59、 本地客户端获取到存在请求的媒体服务器地址之后,直接向远端
的媒体服务器发送请求消息;
SIO、远端媒体服务器n响应本地客户端所需的媒体内容,流程结束 图4描述了 P2P网络调度的方法步骤流程图,其中包含缺失内容复制
和频繁请求内容分发的流程。即在上述步骤S6中还进一步包括以下步骤
561、 判断本地索引服务器缺失内容的次数是否超过了预先设定的阈
值;
562、 没有超过阈值,转步骤S7;
563、 超过阈值,则触发本地媒体服务器向远端的媒体服务器获取媒 体内容。
本地索引服务器上没有客户端所需的媒体内容时,则到其他的索引服 务器査询,把结果反馈给客户端。如果在其他的索引服务器査到而在本地 的索引服务器上缺失多次,当累计的缺失次数达到预先设定的阀值时,说 明了此内容在本地为相对较热门的内容,则本地的索引服务器就会触发本 地的媒体服务器去远端媒体服务器下载此内容。由此,本地的客户端在以 后请求此内容的过程中,只会产生本地流量而不用去远端下载数据,减少 骨干网上的跨区域流量。
步骤S3进一步包括以下步骤
531、 判断请求该内容的次数是否超过预设阈值;
532、 若未超过阈值,直接返回媒体服务器1地址给客户端,转步骤
S4;
533、 若超过阈值,触发本地媒体服务器之间进行该内容分发。 通常是由于某个媒体内容,客户端请求的次数较多,片源较热,导致
超过预先设定的分发阀值,则会在本地区域内触发数据分发的操作,由此 可以在多个本地媒体服务器之间存有备份,在客户端请求此媒体的时候, 将分别由不同的媒体服务器响应,起到了负载均衡的作用。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种P2P网络,包括索引服务器和媒体服务器,所述索引服务器用以响应客户端的媒体内容查询请求并返回查询结果,所述媒体服务器用以存储媒体内容并接受索引服务器的管理,其特征在于所述索引服务器包括远程查询模块,用于在缺失客户端查询内容时,向其他索引服务器发出查询请求并接收查询结果。
2. 根据权利要求1所述的P2P网络,其特征在于所述远程査询模块包括DHT收发模块,用于通过DHT网络向其他索引服务器査 询。
3. 根据权利要求1中所述的P2P网络,其特征在于所述索引服务器还包括返回控制模块,用于控制査询返回的媒体服务器或其他客 户端地址列表,使得列表中同一网络内的其他客户端或媒体服务器 的位置要前于同一区域的其他媒体服务器或客户端。
4. 根据权利要求1一3中任意一项所述的P2P网络,其特征在于所述索引服务器还包括缺失计数模块和复制触发模块,所述缺失计数 模块用于统计所述索引服务器对同一査询内容缺失的次数,该次数 超过预设阈值时,所述复制触发模块将触发所述索引服务器管理的 媒体服务器就所述同一査询内容向其他媒体服务器发出内容请求 并加以复制。
5. 根据权利要求1一3中任意一项所述的P2P网络,其特征在于所述索引服务器还包括査询计数模块和负载均衡模块,所述査询计数 模块将累计同一媒体内容被请求査询的次数,该次数超过预设阈值 时,所述负载均衡模块将所述同 一 内容在所述索引服务器管理的多 台媒体服务器之间进行分发,后续发生的针对所述同一内容的多次 查询请求将指定相异的获得分发内容的媒体服务器响应。
6. —种P2P网络的调度方法,包括以下步骤A、 客户端登录,返回索引服务器地址;B、 客户端向索引服务器查询请求内容所在的媒体服务器;c、索引服务器返回存在请求内容的媒体服务器和其他客户端的地 址列表;D、客户端向存在请求内容的媒体服务器或其他客户端发送请求内容消息;E、媒体服务器或者其他客户端返回请求媒体内容;其特征在于所述步骤C进一步包括以下步骤Cl、若所述索引服务器存在所述客户端请求内容的媒体服务器或其他客户端地址列表,直接返回该列表,转所述步骤D,否则执行以下步骤;C2、所述索引服务器向其他索引服务器发出查询请求;C3、所述索引服务器接收到其他索引服务器返回的地址列表并将其返回给所述客户端。
7. 根据权利要求6所述的P2P网络调度方法,其特征在于所述步 骤C2中的查询请求是通过DHT网络发出的。
8. 根据权利要求6所述的P2P网络调度方法,其特征在于所述步 骤C的地址列表将按照同一网络之内的其他客户端或媒体服务器 要先于同一区域内的其他媒体服务器或客户端的顺序。
9. 根据权利要求6所述的P2P网络调度方法,其特征在于所述步 骤C3进一步包括以下步骤C31、累计所请求査询内容的缺失次数;C32、缺失次数超过预设阈值时,所述索引服务器触发其管理的媒 体服务器向其他索弓I服务器返回的媒体服务器进行数据复制。
10. 根据权利要求6所述的P2P网络调度方法,其特征在于所述步骤C1进一步包括以下步骤Cll、累计所请求査询内容的请求次数;C12、请求次数超过预设阈值时,所述索引服务器将请求査询内容在所述索弓I服务器管理的多台媒体服务器之间进行分发,后续发生 的针对所述同一内容的多次查询请求将指定相异的获得分发内容 的媒体服务器响应。
11. 根据权利要求7-11任意所述的P2P网络调度方法,其特征在于所述步骤A返回的是地理位置上较近的多个索引服务器地址,默 认优先选用最近的索引服务器,所述步骤B是向默认的索引服务器发送请求。
全文摘要
本发明公开了一种P2P网络,包括索引服务器和媒体服务器,所述索引服务器用以响应客户端的媒体内容查询请求并返回查询结果,所述媒体服务器用以存储媒体内容并接受索引服务器的管理,所述索引服务器包括远程查询模块,用于在缺失客户端查询内容时,向其他索引服务器发出查询请求并接收查询结果。本发明还公开了该P2P网络的调度方法。采用本发明可以提高查询效率,减少跨区域流量。
文档编号H04L29/08GK101355591SQ20081021621
公开日2009年1月28日 申请日期2008年9月12日 优先权日2008年9月12日
发明者邵济平 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1