CN103037017A - 一种p2p数据被动分发方法及节点客户端 - Google Patents
一种p2p数据被动分发方法及节点客户端 Download PDFInfo
- Publication number
- CN103037017A CN103037017A CN2012105881980A CN201210588198A CN103037017A CN 103037017 A CN103037017 A CN 103037017A CN 2012105881980 A CN2012105881980 A CN 2012105881980A CN 201210588198 A CN201210588198 A CN 201210588198A CN 103037017 A CN103037017 A CN 103037017A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- message table
- section point
- data message
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一套P2P数据被动分发方法的技术方案。针对包含多个节点的P2P网络,首先通过中心服务器搜索节点的邻居节点并从这些邻居节点下载数据,从而建立节点的数据信息表;然后建立两节点之间的连接,目标节点向源节点发送数据的下载请求;判断请求的数据是否存在于源节点中;若是,则源点向目标节点传送所述数据,若否,则源节点告知目标节点所请求的数据不存在于源节点中。此外还根据上述技术方案提供了一种P2P网络中的节点客户端。
Description
技术领域
本发明涉及互联网中,信息交换、数据共享、数据分发等技术领域。更具体说,涉及一种P2P数据被动分发方法。
背景技术
随着互联网规模的不断扩大,Internet相关的信息技术获得了迅猛发展。然而,网络用户人数爆炸式增长造成的网络拥堵,日益成为制约互联网发展的瓶颈,因此,如何在提高网络内容服务质量的同时有效降低资源的消耗、提升用户体验,是互联网应用领域面临的主要问题之一。
为了克服互联网中采用的传统客户端/服务器结构存在的可扩展性差、易出现网络拥堵、资源有效利用率较低等缺点,对等计算(Peer-to-Peer,简称P2P,又被称为“点对点”)技术应运而生。P2P网络是基于共享的分布式网络,网络的参与者称为节点(即Peer),所有参与者的地位平等,节点既是客户端也是服务器。P2P节点之间通过一定的方式组织在一起,当节点请求资源时,通过一定的查找策略来定位拥有所请求资源的节点,并从中获取文件内容。P2P技术这种节点与节点之间直接链接并交换数据的方式,允许个人计算机之间直接进行资源和服务的共享,从而充分利用了节点之间的带宽资源,很大程度上缓解了网站后端服务器的流量压力,更好地实现了整个网络的负载均衡。鉴于P2P技术的以上特点和技术优势,其已被广泛用于电子商务、文件共享、网上直播、视频点播、网络广告、远程教育、远程医疗、视频会议等众多互联网领域的应用。
在P2P技术中,由源节点收到其它节点的请求后,被动地把数据分发给与自己建立连接的节点的方式,称为被动分发方式。然而目前的P2P数据分发,主要是通过中心服务器获得对方节点数据的索引信息,然后再通过查询邻居节点进行数据分发决策。这种使用中心服务器作为通讯的中间环节的方法,会造成中心服务器压力大、数据分发不及时等缺点,特别是当网络带宽有限、节点数目众多、数据请求频繁时,这一缺点就更加突出地暴露出来。例如,当某网站提供“春晚(直播)”节目在线视频播放服务或者“中国好声音”等高收视率节目网络视频点播服务时,很容易因短时间内发送请求的用户节点过多,造成中心服务器数据分发决策严重滞后,导致用户无法正常顺畅地观看节目。
发明内容
本发明要解决的技术问题是克服现有P2P数据分发方法存在的服务器压力大、数据分发不及时等缺点,使得通讯速度更快捷。
为实现上述的发明目的,本发明提出一套完整的P2P数据被动分发方法的技术方案,包括以下内容:
一种P2P数据被动分发方法,其特征在于具体包括以下内容:在一个至少包含第一节点和第二节点的P2P网络中,第一节点与第二节点建立连接;第一节点向第二节点发送数据的下载请求;第二节点通过查找存储于其中的第二数据信息表,判断请求的所述数据是否存在于第二节点中;若是,则第二节点向第一节点传送所述数据,若否,则第二节点告知第一节点所述数据不存在于第二节点中。
优选地,在所述第一节点与第二节点建立连接之前,还包括所述第一节点根据存储于其中的第一数据信息表,获知其所需下载的数据。
优选地,存储于节点中的所述数据信息表,其建立过程为:所述节点开始工作后,搜索其邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表。
优选地,将建立的所述节点的数据信息表存储在所述节点的内存中。
优选地,所述P2P网络中进一步包括中心服务器,所述搜索由所述中心服务器执行。
优选地,存储于节点中的所述数据信息表,包含存在于该节点中的数据的数据索引。
优选地,所述第一数据信息表具体包含存在于所述第一节点中的文件的各个文件块的索引。
优选地,所述第二数据信息表具体包含存在于所述第二节点中的文件的各个文件块的索引。
优选地,所述第二节点为源节点。
此外,为解决以上技术问题,本发明还提供了一种P2P网络中的节点客户端,该客户端具体包括:连接模块,其使得所述节点与所述P2P网络中的另一节点建立连接;下载请求发送模块,其将所述节点的数据下载请求发送给所述另一节点;判断模块,其根据所述另一节点中存储的数据信息表,判断请求的所述数据是否存在于所述另一节点中;执行模块,若判断模块的结果为是,其执行将所述数据从所述另一节点传送至所述节点的操作,若判断模块的结果为否,其告知所述节点所述数据不存在于所述另一节点中。
优选地,所述客户端还包括数据信息表建立模块,其当所述节点开始工作后,搜索所述节点的邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表。
优选地,所述客户端还包括内部存储器,其用于存储所述数据信息表建立模块建立的所述节点的数据信息表。
优选地,所述内部存储器中存储的数据信息表,包含存在于所述节点中的数据的数据索引。
优选地,所述下载请求发送模块根据存储在所述内部存储器中的所述节点的数据信息表,获知所述节点所需下载的数据。
优选地,所述搜索由中心服务器执行。
优选地,所述另一节点中存储的数据信息表,包含存在于所述另一节点中的数据的数据索引。
优选地,所述另一节点中存储的数据信息表中的数据索引,具体为存在于所述另一节点中的文件的各个文件块的索引。
在上述任一方案中优选的是,所述文件为视频文件,所述文件块为所述视频文件的一部分。
在上述任一方案中优选的是,所述数据索引为指向存储所述数据索引所对应的数据的指针。
本发明实现的上述方法和客户端,只有当源节点收到对方节点的具体数据请求时,才把对方需要的数据被动分发到对方。这种方法降低了服务器负载,同时提高了数据的实时分发速度以及减少了数据分发的冗余。由于数据信息分散交换,减少了信息通讯的中间环节,因此不但实现了根据需要分发数据,即满足按需原则,还达到让通讯速度更为快捷的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是作为本发明一个实施例的P2P网络示意图
图2是作为本发明一个实施例的P2P数据被动分发方法的示意图
图3是作为本发明一个实施例的P2P网络中的节点客户端的示意图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施方式进行详细说明。在此,实施说明用于解释本发明,但并不作为对本发明的限定。
图1所示为本发明实施例的典型P2P网络示意图,其描述了本发明的适用环境以及设计的理念,该实施例P2P网络包括一中心服务器、两个(但不局限于两个)P2P子网,以及在每个子网下的若干P2P节点。以其中一个P2P子网的两个节点A和B的为例,欲从节点B中获得节点A所需的数据,则结合图2所示的P2P数据被动分发方法的示意图,其内容具体包括:
S101,建立各节点的数据信息表。
具体而言,节点A开始工作后,通过中心服务器搜索节点A的邻居节点并从这些邻居节点下载数据,根据这些下载数据建立节点A的数据信息表,并将该数据信息表存储于节点A的内存中,所述数据信息表包括了节点A下载并存储在其中的数据的数据索引;同样的,节点B开始工作后,通过中心服务器搜索节点B的邻居节点并从这些邻居节点下载数据,根据这些下载数据建立节点B的数据信息表,并将该数据信息表存储于节点B的内存中,所述数据信息表包括了节点B下载并存储在其中的数据的数据索引。
S102,目标节点获知其所需下载的数据
具体而言,节点A根据存储于其中的数据信息表,获知节点A所需下载的数据。
S103,建立两节点之间的连接,目标节点向源节点发送数据的下载请求
具体而言,节点A与节点B建立连接,节点A根据已获知的所需下载的数据,向节点B发送数据的下载请求。
S104,判断请求的数据是否存在于源节点中。
具体而言,通过查找存储于节点B中的数据信息表中的数据索引,判断节点A请求的数据是否存在于节点B中,换句话说,就是判断节点B中是否存在节点A所需下载的数据。
S105,根据判断结果决定是否传送数据
具体而言,若判断的结果为是,也就是节点A所需下载的数据存在于节点B中,则节点B向节点A传送所述数据;若判断的结果为否,也就是节点A所需下载的数据不存在于节点B中,则节点B告知节点A所述数据不存在于节点B中。
一较佳实施例为:节点A的数据信息表中的数据索引,为存在于节点A中的文件的各个文件块的索引;节点B的数据信息表中的数据索引,为存在于节点B中的文件的各个文件块的索引。例如,一个Rmvb格式的网络视频文件由100个文件块组成,节点A已经下载了该视频文件的第1、3、7、10块,则其数据信息表的内容就是[1,3,7,10](其中“1”、“3、“7”、“10”分别为各视频文件块的数据索引);而节点B已下载了该视频文件的第1、2、9块,则其数据信息表的内容就是[1,2,9]。可见,节点A所需的数据为视频文件的第1~100块中除了第1、3、7、10块的所有文件快。当节点A根据已获知的所需下载的文件块,向节点B发送数据的下载请求时,通过判断,可知节点A所需的文件块2、9已存在于节点B中,因此节点B向节点A传送文件块2、9;而节点A所需的其它文件块不存在于节点B中,因此节点B告知节点A其所需的其它文件块不存在于节点B中。
另一较佳实施例为:所述数据索引为指向存储所述数据索引所对应的数据的指针。
此外,本发明还提供了一种P2P网络中的节点客户端,如图3所示,该客户端包括数据信息表建立模块、内部存储器、连接模块、下载请求发送模块、判断模块以及执行模块,其中:
当节点开始工作后,数据信息表建立模块通过中心服务器搜索所述节点的邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表;内部存储器存储所述数据信息表建立模块建立的所述节点的数据信息表;连接模块使得所述节点与所述P2P网络中的另一节点建立连接;下载请求发送模块将所述节点的数据下载请求发送给所述另一节点;判断模块根据所述另一节点中存储的数据信息表,判断请求的所述数据是否存在于所述另一节点中;若判断模块的结果为是,则执行模块执行将所述数据从所述另一节点传送至所述节点的操作,若判断模块的结果为否,则执行模块告知所述节点所述数据不存在于所述另一节点中。
一较佳实施例为:所述内部存储器中存储的数据信息表,包含存在于所述节点中的数据的数据索引;所述另一节点中存储的数据信息表,包含存在于所述另一节点中的数据的数据索引。
另一较佳实施例为:所述下载请求发送模块根据存储在所述内部存储器中的所述节点的数据信息表,获知所述节点所需下载的数据。
另一较佳实施例为:所述节点中存储的数据信息表中的数据索引,具体为存在于所述节点中的文件的各个文件块的索引;所述另一节点中存储的数据信息表中的数据索引,具体为存在于所述另一节点中的文件的各个文件块的索引。例如:所述文件为视频文件,所述文件块为所述视频文件的一部分。
另一较佳实施例为:所述数据索引为指向存储所述数据索引所对应的数据的指针。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种P2P数据被动分发方法,其特征在于具体包括以下内容:在一个至少包含第一节点和第二节点的P2P网络中,第一节点与第二节点建立连接;第一节点向第二节点发送数据的下载请求;第二节点通过查找存储于其中的第二数据信息表,判断请求的所述数据是否存在于第二节点中;若是,则第二节点向第一节点传送所述数据,若否,则第二节点告知第一节点所述数据不存在于第二节点中。
2.如权利要求1所述的方法,其特征在于,在所述第一节点与第二节点建立连接之前,还包括所述第一节点根据存储于其中的第一数据信息表,获知其所需下载的数据。
3.如权利要求1或2所述的方法,其特征在于,存储于节点中的所述数据信息表,其建立过程为:所述节点开始工作后,搜索其邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表。
4.如权利要求3所述的方法,其特征在于,将建立的所述节点的数据信息表存储在所述节点的内存中。
5.如权利要求4所述的方法,其特征在于,所述P2P网络中进一步包括中心服务器,所述搜索由所述中心服务器执行。
6.如权利要求1或2所述的方法,其特征在于,存储于节点中的所述数据信息表,包含存在于该节点中的数据的数据索引。
7.如权利要求2所述的方法,其特征在于,所述第一数据信息表具体包含存在于所述第一节点中的文件的各个文件块的索引。
8.如权利要求6所述的方法,其特征在于,所述第二数据信息表具体包含存在于所述第二节点中的文件的各个文件块的索引。
9.如权利要求7或8所述的方法,其特征在于:所述文件为视频文件,所述文件块为所述视频文件的一部分。
10.一种P2P网络中的节点客户端,该客户端具体包括:
连接模块,其使得所述节点与所述P2P网络中的另一节点建立连接;
下载请求发送模块,其将所述节点的数据下载请求发送给所述另一节点;
判断模块,其根据所述另一节点中存储的数据信息表,判断请求的所述数据是否存在于所述另一节点中;
执行模块,若判断模块的结果为是,其执行将所述数据从所述另一节点传送至所述节点的操作,若判断模块的结果为否,其告知所述节点所述数据不存在于所述另一节点中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105881980A CN103037017A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据被动分发方法及节点客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105881980A CN103037017A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据被动分发方法及节点客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103037017A true CN103037017A (zh) | 2013-04-10 |
Family
ID=48023487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105881980A Pending CN103037017A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据被动分发方法及节点客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103037017A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096632A1 (zh) * | 2013-12-26 | 2015-07-02 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载方法及装置 |
CN105187558A (zh) * | 2015-09-29 | 2015-12-23 | 青岛海信传媒网络技术有限公司 | 一种数据获取方法及节点设备 |
CN106921690A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种移动网络中分发数据的方法、装置和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150506A (zh) * | 2007-08-24 | 2008-03-26 | 华为技术有限公司 | 内容获取方法、装置和内容传输系统 |
CN101174955A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 共享内容传输方法和系统以及内容源端、内容接收端 |
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
US20110295981A1 (en) * | 2009-02-24 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Personalized Data Distribution Based on Peer-to-Peer Content Delivery |
CN102651758A (zh) * | 2011-02-28 | 2012-08-29 | 中兴通讯股份有限公司 | 一种p2p内容分发的方法和系统 |
-
2012
- 2012-12-31 CN CN2012105881980A patent/CN103037017A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174955A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 共享内容传输方法和系统以及内容源端、内容接收端 |
CN101150506A (zh) * | 2007-08-24 | 2008-03-26 | 华为技术有限公司 | 内容获取方法、装置和内容传输系统 |
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
US20110295981A1 (en) * | 2009-02-24 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Personalized Data Distribution Based on Peer-to-Peer Content Delivery |
CN102651758A (zh) * | 2011-02-28 | 2012-08-29 | 中兴通讯股份有限公司 | 一种p2p内容分发的方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096632A1 (zh) * | 2013-12-26 | 2015-07-02 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载方法及装置 |
CN105187558A (zh) * | 2015-09-29 | 2015-12-23 | 青岛海信传媒网络技术有限公司 | 一种数据获取方法及节点设备 |
CN106921690A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种移动网络中分发数据的方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103037015A (zh) | 一种p2p数据主动分发方法及节点客户端 | |
CN101567796B (zh) | 一种内容分片的多媒体网络及其业务方法 | |
CN102355448B (zh) | 云流媒体数据传输方法及系统 | |
EP3439239B1 (en) | Data transmission method and system based on peer-to-peer network | |
US9432452B2 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
KR101215993B1 (ko) | 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크 | |
CN103581245A (zh) | 一种内容分发网络内容分发的方法及系统 | |
CN101714987B (zh) | P2p播放方法及系统 | |
US8898266B2 (en) | Apparatus and method for setting role based on capability of terminal | |
CN102394899B (zh) | 提高文件下载速度的点播系统及方法 | |
CN101938508A (zh) | 对等网络流媒体直播系统中延时减小的方法和系统 | |
CN101841553A (zh) | 网络上请求资源的位置信息的方法、用户节点和服务器 | |
CN101355591A (zh) | 一种p2p网络及其调度方法 | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
CN104506537B (zh) | P2p系统节点选择方法 | |
CN102420864B (zh) | 一种面向海量数据的数据交换方法 | |
CN105450535A (zh) | 一种海量的cdn节点资源部署系统和方法 | |
CN100473007C (zh) | 内容交换网络 | |
CN104506929A (zh) | P2p系统混合数据调度方法 | |
CN101753603A (zh) | 一种p2p系统中提供媒体内容的方法、服务器及系统 | |
Kim et al. | Efficient peer-to-peer overlay networks for mobile IPTV services | |
CN103037017A (zh) | 一种p2p数据被动分发方法及节点客户端 | |
Goh et al. | A comparative study of tree-based and mesh-based overlay p2p media streaming | |
CN103179191A (zh) | P2p网络管控装置及p2p网络管控架构 | |
CN101668037B (zh) | 一种p2p网络的调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130410 |