CN103037015A - 一种p2p数据主动分发方法及节点客户端 - Google Patents
一种p2p数据主动分发方法及节点客户端 Download PDFInfo
- Publication number
- CN103037015A CN103037015A CN2012105874987A CN201210587498A CN103037015A CN 103037015 A CN103037015 A CN 103037015A CN 2012105874987 A CN2012105874987 A CN 2012105874987A CN 201210587498 A CN201210587498 A CN 201210587498A CN 103037015 A CN103037015 A CN 103037015A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- message table
- data message
- section point
- 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
Abstract
本发明提出一套P2P数据主动分发方法的技术方案。针对包含多个节点的P2P网络,首先通过中心服务器搜索节点的邻居节点并从这些邻居节点下载数据,从而建立节点的数据信息表;然后建立两节点之间的连接,源节点主动将其存储的数据信息表中的数据索引依次发送给目标节点;判断源节点发送的数据索引所对应的数据是否已存在于目标节点中;若是,则拒绝源节点传送该数据至目标节点,若否,则允许源节点传送该数据至目标节点。此外还根据上述技术方案提供了一种P2P网络中的节点客户端。
Description
技术领域
本发明涉及互联网中,信息交换、数据共享、数据分发等技术领域。更具体说,涉及一种P2P数据主动分发方法。
背景技术
随着互联网规模的不断扩大,Internet相关的信息技术获得了迅猛发展。然而,网络用户人数爆炸式增长造成的网络拥堵,日益成为制约互联网发展的瓶颈,因此,如何在提高网络内容服务质量的同时有效降低资源的消耗、提升用户体验,是互联网应用领域面临的主要问题之一。
为了克服互联网中采用的传统客户端/服务器结构存在的可扩展性差、易出现网络拥堵、资源有效利用率较低等缺点,对等计算(Peer-to-Peer,简称P2P,又被称为“点对点”)技术应运而生。P2P网络是基于共享的分布式网络,网络的参与者称为节点(即Peer),所有参与者的地位平等,节点既是客户端也是服务器。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的为例,欲将源节点A中的数据传送到节点B中,则结合图2所示的P2P数据主动分发方法的示意图,其内容具体包括:
S101,建立各节点的数据信息表。
具体而言,节点A开始工作后,通过中心服务器搜索节点A的邻居节点并从这些邻居节点下载数据,根据这些下载数据建立节点A的数据信息表,并将该数据信息表存储于节点A的内存中,所述数据信息表包括了节点A下载并存储在其中的数据的数据索引;同样的,节点B开始工作后,通过中心服务器搜索节点B的邻居节点并从这些邻居节点下载数据,根据这些下载数据建立节点B的数据信息表,并将该数据信息表存储于节点B的内存中,所述数据信息表包括了节点B下载并存储在其中的数据的数据索引。
S102,建立两节点之间的连接,源节点发送数据索引至目标节点。
具体而言,节点A与节点B建立连接,并主动将其存储的数据信息表中的数据索引依次发送给节点B。
S103,判断源节点发送的数据索引所对应的数据是否已存在于目标节点中。
具体而言,节点B接收到节点A的数据信息表中的数据索引后,根据节点B存储的数据信息表,判断节点A的数据信息表中的数据索引所对应的数据是否已存在于节点B中,换句话说,就是判断节点A中的哪些数据已存在于节点B中,哪些数据不存在于节点B中。
S104,若判断结果为是/否,则拒绝/允许源节点传送该数据至目标节点。
具体而言,若判断的结果为是,也就是节点A中的某数据已存在于节点B中,则拒绝节点A传送该数据至节点B;若判断的结果为否,也就是节点A中的某数据不存在于节点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主动将其存储的数据信息表中的数据索引依次发送给节点B时,通过判断,视频文件的第1块已存在于节点B中,第3、7、10块不存在于节点B中,因此拒绝节点A传送文件快1至节点B,同时允许节点A传送数据块3、7、10至节点B。
另一较佳实施例为:所述数据索引为指向存储所述数据索引所对应的数据的指针。
此外,本发明还提供了一种P2P网络中的节点客户端,如图3所示,该客户端包括数据信息表建立模块、内部存储器、连接模块、数据信息表发送模块、判断模块以及执行模块,其中:
当节点开始工作后,数据信息表建立模块通过中心服务器搜索所述节点的邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表;内部存储器存储所述数据信息表建立模块建立的所述节点的数据信息表;连接模块使得所述节点与所述P2P网络中的另一节点建立连接;数据信息表发送模块将所述节点中存储的数据信息表中的数据索引依次发送给所述另一节点;判断模块根据所述另一节点中存储的数据信息表,判断所述节点中存储的数据信息表中的数据索引所对应的数据是否已存在于所述另一节点中;若判断模块的结果为是,则执行模块不执行将所述数据从所述节点传送至所述另一节点的操作,若判断模块的结果为否,则执行模块执行将所述数据从所述节点传送至所述另一节点的操作。
另一较佳实施例为:所述节点中存储的数据信息表中的数据索引,具体为存在于所述节点中的文件的各个文件块的索引;所述另一节点中存储的数据信息表中的数据索引,具体为存在于所述另一节点中的文件的各个文件块的索引。例如:所述文件为视频文件,所述文件块为所述视频文件的一部分。
另一较佳实施例为:所述数据索引为指向存储所述数据索引所对应的数据的指针。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种P2P数据主动分发方法,其特征在于具体包括以下内容:在一个至少包含第一节点和第二节点的P2P网络中,第一节点与第二节点建立连接;第一节点将其存储的第一数据信息表中的数据索引依次发送给第二节点;第二节点根据其存储的第二数据信息表,判断接收的所述第一数据信息表中的数据索引所对应的数据是否已存在于第二节点中;若是,则拒绝第一节点传送所述数据至第二节点,若否,则允许第一节点传送所述数据至第二节点。
2.如权利要求1所述的方法,其特征在于,存储于节点中的所述数据信息表,其建立过程为:所述节点开始工作后,搜索其邻居节点并从这些邻居节点下载数据,根据所述下载数据建立所述节点的数据信息表。
3.如权利要求2所述的方法,其特征在于,将建立的所述节点的数据信息表存储在所述节点的内存中。
4.如权利要求2或3所述的方法,其特征在于所述P2P网络中进一步包括中心服务器,所述搜索由所述中心服务器执行。
5.如权利要求1所述的方法,其特征在于,所述第一数据信息表中的数据索引,具体为存在于所述第一节点中的文件的各个文件块的索引。
6.如权利要求5所述的方法,其特征在于,所述第二数据信息表中的数据索引,具体为存在于所述第二节点中的文件的各个文件块的索引。
7.如权利要求5或6所述的方法,其特征在于:所述文件为视频文件,所述文件块为所述视频文件的一部分。
8.如权利要求1所述的方法,其特征在于,所述数据索引为指向存储所述数据索引所对应的数据的指针。
9.如权利要求1所述的方法,其特征在于所述第一节点为源节点。
10.一种P2P网络中的节点客户端,该客户端具体包括:
连接模块,其使得所述节点与所述P2P网络中的另一节点建立连接;
数据信息表发送模块,其将所述节点中存储的数据信息表中的数据索引依次发送给所述另一节点;
判断模块,其根据所述另一节点中存储的数据信息表,判断所述节点中存储的数据信息表中的数据索引所对应的数据是否已存在于所述另一节点中;
执行模块,若判断模块的结果为是,其不执行将所述数据从所述节点传送至所述另一节点的操作,若判断模块的结果为否,其执行所述操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105874987A CN103037015A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据主动分发方法及节点客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105874987A CN103037015A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据主动分发方法及节点客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103037015A true CN103037015A (zh) | 2013-04-10 |
Family
ID=48023485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105874987A Pending CN103037015A (zh) | 2012-12-31 | 2012-12-31 | 一种p2p数据主动分发方法及节点客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103037015A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312574A (zh) * | 2013-06-28 | 2013-09-18 | 北京奇艺世纪科技有限公司 | 点对点网络中节点的交互方法和装置 |
CN104753983A (zh) * | 2013-12-26 | 2015-07-01 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载决策的调整方法及装置 |
WO2015096632A1 (zh) * | 2013-12-26 | 2015-07-02 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载方法及装置 |
CN105099900A (zh) * | 2014-09-09 | 2015-11-25 | 航天恒星科技有限公司 | 一种数据传输方法及装置 |
CN105187558A (zh) * | 2015-09-29 | 2015-12-23 | 青岛海信传媒网络技术有限公司 | 一种数据获取方法及节点设备 |
CN107707519A (zh) * | 2017-07-10 | 2018-02-16 | 贵州白山云科技有限公司 | 一种流媒体传输方法、装置和系统 |
CN110765092A (zh) * | 2019-09-20 | 2020-02-07 | 北京三快在线科技有限公司 | 分布式搜索系统、索引分发方法及存储介质 |
CN112734982A (zh) * | 2021-01-15 | 2021-04-30 | 北京小马慧行科技有限公司 | 无人车驾驶行为数据的存储方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764275A (zh) * | 2005-09-23 | 2006-04-26 | 杨国宇 | 构造复合对等网络,平衡数码内容的多点传输方法 |
CN101345690A (zh) * | 2007-07-12 | 2009-01-14 | 中国电信股份有限公司 | 电信级p2p网络的内容分级存储及传送方法 |
CN101697553A (zh) * | 2009-10-12 | 2010-04-21 | 中国科学院计算技术研究所 | P2p环境下的数据传输方法 |
US20110295981A1 (en) * | 2009-02-24 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Personalized Data Distribution Based on Peer-to-Peer Content Delivery |
-
2012
- 2012-12-31 CN CN2012105874987A patent/CN103037015A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764275A (zh) * | 2005-09-23 | 2006-04-26 | 杨国宇 | 构造复合对等网络,平衡数码内容的多点传输方法 |
CN101345690A (zh) * | 2007-07-12 | 2009-01-14 | 中国电信股份有限公司 | 电信级p2p网络的内容分级存储及传送方法 |
US20110295981A1 (en) * | 2009-02-24 | 2011-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Personalized Data Distribution Based on Peer-to-Peer Content Delivery |
CN101697553A (zh) * | 2009-10-12 | 2010-04-21 | 中国科学院计算技术研究所 | P2p环境下的数据传输方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312574A (zh) * | 2013-06-28 | 2013-09-18 | 北京奇艺世纪科技有限公司 | 点对点网络中节点的交互方法和装置 |
CN104753983A (zh) * | 2013-12-26 | 2015-07-01 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载决策的调整方法及装置 |
WO2015096632A1 (zh) * | 2013-12-26 | 2015-07-02 | 乐视网信息技术(北京)股份有限公司 | 一种数据下载方法及装置 |
CN105099900A (zh) * | 2014-09-09 | 2015-11-25 | 航天恒星科技有限公司 | 一种数据传输方法及装置 |
CN105099900B (zh) * | 2014-09-09 | 2018-10-30 | 航天恒星科技有限公司 | 一种数据传输方法及装置 |
CN105187558A (zh) * | 2015-09-29 | 2015-12-23 | 青岛海信传媒网络技术有限公司 | 一种数据获取方法及节点设备 |
CN107707519A (zh) * | 2017-07-10 | 2018-02-16 | 贵州白山云科技有限公司 | 一种流媒体传输方法、装置和系统 |
CN110765092A (zh) * | 2019-09-20 | 2020-02-07 | 北京三快在线科技有限公司 | 分布式搜索系统、索引分发方法及存储介质 |
CN112734982A (zh) * | 2021-01-15 | 2021-04-30 | 北京小马慧行科技有限公司 | 无人车驾驶行为数据的存储方法和系统 |
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) | 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크 | |
EP2288085B1 (en) | P2p based method, device and system for playing media | |
CN101714987B (zh) | P2p播放方法及系统 | |
CN102065112A (zh) | 对等网络系统、建立对等网络系统的方法及相关装置 | |
CN102394899B (zh) | 提高文件下载速度的点播系统及方法 | |
CN102137163A (zh) | 一种多媒体文件共享系统及其共享多媒体文件的方法 | |
CN101355591A (zh) | 一种p2p网络及其调度方法 | |
CN101841553A (zh) | 网络上请求资源的位置信息的方法、用户节点和服务器 | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
CN101753603A (zh) | 一种p2p系统中提供媒体内容的方法、服务器及系统 | |
CN105450535A (zh) | 一种海量的cdn节点资源部署系统和方法 | |
CN104506537A (zh) | P2p系统节点选择方法 | |
CN104506929A (zh) | P2p系统混合数据调度方法 | |
Kim et al. | Efficient neighbor selection through connection switching for P2P live streaming | |
Kim et al. | Efficient peer-to-peer overlay networks for mobile IPTV services | |
CN102780710A (zh) | 基于内容分发网络的节点调度方法 | |
CN103037017A (zh) | 一种p2p数据被动分发方法及节点客户端 | |
CN107800567B (zh) | 一种混合模式的p2p流媒体网络拓扑模型的建立方法 | |
CN102035894B (zh) | 一种基于距离的状态同步方法 | |
Miguel et al. | Resource-constrained P2P streaming overlay construction for efficient joining under flash crowds |
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 |