CN105450760A - 一种基于p2p的自适应资源下载方法 - Google Patents
一种基于p2p的自适应资源下载方法 Download PDFInfo
- Publication number
- CN105450760A CN105450760A CN201510878261.8A CN201510878261A CN105450760A CN 105450760 A CN105450760 A CN 105450760A CN 201510878261 A CN201510878261 A CN 201510878261A CN 105450760 A CN105450760 A CN 105450760A
- Authority
- CN
- China
- Prior art keywords
- service end
- network
- client
- network condition
- monitoring
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于P2P的自适应资源下载方法,其步骤如下:P2P客户端向P2P服务端请求资源;P2P服务端响应相应的P2P客户端,建立通信连接;P2P服务端利用网络状况监测模块实时监测本地的网络通信质量;P2P服务端周期性同其他P2P服务端进行消息交互,告知其他服务端本地的网络状况;P2P服务端根据自身的网络状况对P2P客户端给出通信建议,P2P客户端根据建议进行数据通信。本发明能够支持P2P网络环境下节点自适应选择代价优的节点进行数据通信可以充分利用资源被请求者的网络状况来主动为请求者提供下载建议,保证请求者能够得到更好的资源下载体验。
Description
技术领域
本发明涉及资源下载的技术领域,具体涉及一种基于P2P的自适应资源下载方法。
背景技术
近年来,P2P在互联网上得到了大量应用,同时聚集了大规模的用户群体,其能够充分利用网络边缘资源协同完成工作,使得用户能够更加快捷高效的获取所需要的应用资源。P2P资源下载的工作方式简述如下:首先资源请求者要去P2P网络中请求资源,一旦完成资源定位,即从资源节点中分段下载所需资源。需要说明的是:当资源定位后,请求节点会去各个资源节点上进行资源的分片下载,被请求者根据请求者的需求提供相应的资源。即使被请求者当前网络状况非常差,也必须提供传输,这样将会降低整体数据通信质量。
申请号为200810126223.7的中国专利申请公开了一种对等连接网络的数据调度方法和***,其中公开了一种P2P网络下的数据调度方法,可以实现请求端根据服务端的性能进行排序并从最优的服务端请求数据,而请求端每个周期会根据服务端的性能进行排序。该专利并未给出当周期内服务端的性能出现问题时的解决方案,此外,该专利方案将下载数据分为不同的周期,每个周期结束都会向所有的服务端发起初始请求,获取各个服务端的性能数据再进行排序,这一过程会使得下载一个文件会被分成多个周期,每个周期结束后会重新建立连接,这会极大降低用户体验。
发明内容
为了解决上述技术问题,本发明提供了一种基于P2P的自适应资源下载方法,能够支持P2P网络环境下节点自适应选择代价优的节点进行数据通信可以充分利用资源被请求者的网络状况来主动为请求者提供下载建议,保证请求者能够得到更好的资源下载体验。
为了达到上述目的,本发明的技术方案是:一种基于P2P的自适应资源下载方法,其步骤如下:
步骤1:P2P客户端向P2P服务端请求资源;
步骤2:P2P服务端响应相应的P2P客户端,建立通信连接;
步骤3:P2P服务端利用网络状况监测模块实时监测本地的网络通信质量;
步骤4:P2P服务端周期性同其他P2P服务端进行消息交互,告知其他服务端本地的网络状况;
步骤5:P2P服务端根据自身的网络状况对P2P客户端给出通信建议,P2P客户端根据建议进行数据通信。
所述P2P客户端向P2P服务端请求资源的方法是:P2P服务端与P2P客户端通过标准P2P协议中的Socket建立数据会话,开始传送数据。
所述P2P服务端设有网络状况监测模块和信令管理模块,网络状况监测统计模块和信令管理模块以LKM的形式动态加载在P2P服务端操作***内核态下,会伴随操作***自启动。
所述网络状况监测模块用于P2P服务端监测本地网络状况,并进行统计维护;网络状况监测模块包括网络监测单元,网络监测单元用于P2P服务端监测本地网络状况;所述信令管理模块信令管理模块用于P2P服务端周期性的交互各自的网络状况,实现各个服务端交互本地的网络通信代价,并根据本地网络代价对请求者发送建议消息;信令管理模块包括信令管理单元,信令管理单元用于P2P服务端通信过程中的消息维护。
所述网络状况监测模块通过统计本地的网络带宽、丢包率、抖动、延迟、负载监测本地的网络通信质量,统计结果以本地文件的形式进行存放。
所述信令管理模块利用标准的P2P协议进行周期性的信息交互实现P2P服务端各自网络状况的交互。
所述步骤5中,当P2P服务端监测本地通信性能没有出现问题时,继续与P2P客户端进行数据通信;当P2P服务端监测本地通信性能出现性能问题时,通过P2P协议的消息将重新连接的P2P服务端的信息,发送给请求资源的P2P客户端。
所述P2P服务端的信息包括服务端的节点ID和IP地址的信息,所述服务端的节点ID和IP地址填充在OPTION选项字段中。
本发明通过对各个服务端进行性能监测,且各个P2P服务端会周期性的交互各自的通信代价,当一个正在工作的P2P服务端出现问题时,会自适应的向P2P请求端推荐代价更优的P2P服务端进行重连,如果原始的P2P服务端工作状态一直平稳,整个的数据过程也不会出现重新连接的情况,且可以保证请求端一直与代价最优的P2P服务端进行通信连接。本发明能够支持P2P网络环境下节点自适应选择代价优的节点进行数据通信可以充分利用资源被请求者的网络状况来主动为请求者提供下载建议,保证请求者能够得到更好的资源下载体验。
附图说明
图1为本发明的流程图。
图2为基于P2P的自适应资源下载方法的示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种基于P2P的自适应资源下载方法,其步骤如下:
步骤1:P2P客户端向P2P服务端请求资源。
P2P客户端根据标准的P2P协议,将请求的资源ID发给P2P服务端。
步骤2:P2P服务端响应相应的P2P客户端,建立通信连接。
P2P服务端收到P2P客户端的资源请求消息后,根据请求的资源ID判断本地是否存储有该资源,如果有,则接受客户端的资源请求,并建立通信连接;否则,发出响应消息建议客户端去其他的P2P服务端上下载资源。P2P服务端与P2P客户端通过标准的P2P协议中的Socket建立数据会话,开始传送数据。
步骤3:P2P服务端利用网络状况监测模块实时监测本地的网络通信质量。
P2P服务端内均设有网络状况监测模块,网络状况监测模块用于P2P服务端监测本地网络状况,并进行统计维护。网络状况监测模块通过统计本地的网络带宽、丢包率、抖动、延迟、负载,统计结果可以以本地文件的形式进行存放,由于全部是文本类信息,所以不会过多占用服务端的存储空间。网络状况监测模块包括网络监测单元,网络监测单元用于P2P服务端监测本地网络状况。网络状况监测统计模块以LKM(LoadableKernelModule)的形式动态加载在P2P服务端操作***内核态下,会伴随操作***自启动,但是不需要改动原始的服务器操作***。网络状况监测统计模块一旦被加载后,就处于一直工作的状态,实时的对经过P2P服务端的数据包进行监测统计,从而监测本地的网络通信质量。
每个P2P服务端通过网络状况监测块进行加载,由于P2P服务端操作***本身可以获取带宽、丢包率、抖动等性能指标,网络状况监测块通过调用P2P服务端操作***提供的API接口可直接获取上述参数。需要说明的是,可以设定周期进行获取,比如1秒获取一次,获取后在本地进行保存,可以在本地以文本文件的形式进行存放。
步骤4:P2P服务端周期性同其他P2P服务端进行消息交互,告知其他服务端本地的网络状况。
每个P2P服务端均设有信令管理模块,信令管理模块用于P2P服务端周期性的交互各自的网络状况,实现各个P2P服务端交互本地的网络通信代价,并根据本地网络代价对请求者发送建议消息。信令管理模块包括信令管理单元,用于通信过程中的消息维护。标准的P2P协议中,各个节点是会周期性的进行消息交互,可以通过填充OPTION选项字段扩展其消息字段来填充服务端的网络状况。网络状况包括网络带宽、丢包率、抖动、延迟、负载等。
步骤5:P2P服务端根据自身的网络状况对P2P客户端给出通信建议,P2P客户端根据建议进行数据通信。
当P2P服务端监测本地通信性能没有出现问题时,继续与客户端进行数据通信。当原始的P2P服务端出现了性能问题时,通过P2P协议的消息发送给请求资源的P2P客户端,其中通过OPTION选项字段消息字段中填充P2P客户端需要重新连接的服务端的节点ID和IP地址。P2P客户端收到后,根据P2P服务端提供的节点ID和IP地址向新的服务端发起请求,新的服务端收到请求后进行响应,通信连接建立。
标准的P2P协议中,包括P2P客户端和P2P服务端的各个P2P节点会周期性的进行信息交互,且这些消息中已经提供了OPTION字段,用于第三方程序扩展P2P协议,本方案只需要扩展标准的P2P协议消息,在OPTION字段中添加推荐的服务端的节点ID和IP地址,然后发送给P2P客户端。根据标准的P2P协议规范,当被请求者所处网络环境比较恶劣时,会主动告知请求者其他某个节点也包含该段资源,且网络质量更好,这样,请求者会根据被请求者提供的节点信息重新请求资源。具体实现时,仅仅需要在P2P***中正常节点的交互信息中添加相应的选项字段即可,即节点将本地的当前网络状况放入该字段中通告其他节点。标准的P2P协议中进行消息交互的消息包含状态消息和数据消息,其中状态消息中提供了OPTION选项字段,本方案可以通过扩展OPTION选项字段将推荐的服务端的节点ID添加进去,客户端收到消息后,判断OPTION选项字段是否有数据,如果有,则提取出服务端的节点ID,并同新的服务端建立数据通信连接。每个P2P服务端在本地维护一张节点信息管理表,信息管理表存储在本地,可以以文本文件的形式进行存放。信息管理表的表项包括节点ID、节点IP地址、节点端口号、节点资源状态和节点网络状况。根据标准的P2P协议,各个节点是会周期性的进行消息交互,节点信息管理表会随着正常节点间的信息交互来进行更新实现各个服务端交互本地的网络通信代价。
实施实例:
如图2所示,P2P服务端1和P2P客户端实时的监测本地网络状况,P2P客户端向P2P服务端1请求资源,P2P服务端1查看本地网络状况出现问题,向P2P客户端建议通过服务端2请求资源从而进行资源的重定位,P2P客户端根据建议向P2P服务端2发起请求,P2P服务端2通过请求同P2P客户端建立网络通信连接,开始进行资源下载的数据传输。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于P2P的自适应资源下载方法,其特征在于,其步骤如下:
步骤1:P2P客户端向P2P服务端请求资源;
步骤2:P2P服务端响应相应的P2P客户端,建立通信连接;
步骤3:P2P服务端利用网络状况监测模块实时监测本地的网络通信质量;
步骤4:P2P服务端周期性同其他P2P服务端进行消息交互,告知其他服务端本地的网络状况;
步骤5:P2P服务端根据自身的网络状况对P2P客户端给出通信建议,P2P客户端根据建议进行数据通信。
2.根据权利要求1所述的基于P2P的自适应资源下载方法,其特征在于,所述P2P客户端向P2P服务端请求资源的方法是:P2P服务端与P2P客户端通过标准P2P协议中的Socket建立数据会话,开始传送数据。
3.根据权利要求1或2所述的基于P2P的自适应资源下载方法,其特征在于,所述P2P服务端设有网络状况监测模块和信令管理模块,网络状况监测统计模块和信令管理模块以LKM的形式动态加载在P2P服务端操作***内核态下,会伴随操作***自启动。
4.根据权利要求3所述的基于P2P的自适应资源下载方法,其特征在于,所述网络状况监测模块用于P2P服务端监测本地网络状况,并进行统计维护;网络状况监测模块包括网络监测单元,网络监测单元用于P2P服务端监测本地网络状况;所述信令管理模块信令管理模块用于P2P服务端周期性的交互各自的网络状况,实现各个服务端交互本地的网络通信代价,并根据本地网络代价对请求者发送建议消息;信令管理模块包括信令管理单元,信令管理单元用于P2P服务端通信过程中的消息维护。
5.根据权利要求4所述的基于P2P的自适应资源下载方法,其特征在于,所述网络状况监测模块通过统计本地的网络带宽、丢包率、抖动、延迟、负载监测本地的网络通信质量,统计结果以本地文件的形式进行存放。
6.根据权利要求4所述的基于P2P的自适应资源下载方法,其特征在于,所述信令管理模块利用标准的P2P协议进行周期性的信息交互实现P2P服务端各自网络状况的交互。
7.根据权利要求1所述的基于P2P的自适应资源下载方法,其特征在于,所述步骤5中,当P2P服务端监测本地通信性能没有出现问题时,继续与P2P客户端进行数据通信;当P2P服务端监测本地通信性能出现性能问题时,通过P2P协议的消息将重新连接的P2P服务端的信息,发送给请求资源的P2P客户端。
8.根据权利要求1所述的基于P2P的自适应资源下载方法,其特征在于,所述P2P服务端的信息包括服务端的节点ID和IP地址的信息,所述服务端的节点ID和IP地址填充在OPTION选项字段中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510878261.8A CN105450760A (zh) | 2015-12-04 | 2015-12-04 | 一种基于p2p的自适应资源下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510878261.8A CN105450760A (zh) | 2015-12-04 | 2015-12-04 | 一种基于p2p的自适应资源下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105450760A true CN105450760A (zh) | 2016-03-30 |
Family
ID=55560526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510878261.8A Pending CN105450760A (zh) | 2015-12-04 | 2015-12-04 | 一种基于p2p的自适应资源下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450760A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131505A (zh) * | 2019-12-31 | 2020-05-08 | 深圳市网心科技有限公司 | 基于p2p网络的数据传输方法、设备、***、装置及介质 |
CN111541732A (zh) * | 2020-03-06 | 2020-08-14 | 杜晓楠 | 在p2p网络中避免客户端无效占用连接资源的方法、计算机可读存储介质和p2p网络 |
CN114500665A (zh) * | 2021-12-28 | 2022-05-13 | 炫彩互动网络科技有限公司 | 自适应网络环境的文件分片下载方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136911A (zh) * | 2006-08-31 | 2008-03-05 | 腾讯科技(深圳)有限公司 | 一种采用p2p技术下载文件的方法和p2p下载*** |
CN101645918A (zh) * | 2009-03-20 | 2010-02-10 | 中国科学院声学研究所 | 一种p2p***中的节点间协作方法 |
CN101924778A (zh) * | 2009-06-10 | 2010-12-22 | ***通信集团公司 | P2p流媒体***、p2p用户设备及流媒体数据传送方法 |
CN103686946A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院声学研究所 | 一种异构无线网络中移动p2p节点的选择方法及*** |
-
2015
- 2015-12-04 CN CN201510878261.8A patent/CN105450760A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136911A (zh) * | 2006-08-31 | 2008-03-05 | 腾讯科技(深圳)有限公司 | 一种采用p2p技术下载文件的方法和p2p下载*** |
CN101645918A (zh) * | 2009-03-20 | 2010-02-10 | 中国科学院声学研究所 | 一种p2p***中的节点间协作方法 |
CN101924778A (zh) * | 2009-06-10 | 2010-12-22 | ***通信集团公司 | P2p流媒体***、p2p用户设备及流媒体数据传送方法 |
CN103686946A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院声学研究所 | 一种异构无线网络中移动p2p节点的选择方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131505A (zh) * | 2019-12-31 | 2020-05-08 | 深圳市网心科技有限公司 | 基于p2p网络的数据传输方法、设备、***、装置及介质 |
WO2021134928A1 (zh) * | 2019-12-31 | 2021-07-08 | 深圳市网心科技有限公司 | 基于p2p网络的数据传输方法、设备、***、装置及介质 |
CN111541732A (zh) * | 2020-03-06 | 2020-08-14 | 杜晓楠 | 在p2p网络中避免客户端无效占用连接资源的方法、计算机可读存储介质和p2p网络 |
CN111541732B (zh) * | 2020-03-06 | 2022-12-09 | 杜晓楠 | 在p2p网络中避免客户端无效占用连接资源的方法、计算机可读存储介质和p2p网络 |
CN114500665A (zh) * | 2021-12-28 | 2022-05-13 | 炫彩互动网络科技有限公司 | 自适应网络环境的文件分片下载方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CN102893556B (zh) | 用于源对等体基于容量的Diameter负载共享的方法、***和设备 | |
CN102045270B (zh) | 聊天服务器***、构建聊天服务器***的方法以及聊天*** | |
CN101183984B (zh) | 网管***、管理方法及设备 | |
EP2913978A1 (en) | Business scheduling method and apparatus and convergence device | |
CN101483604B (zh) | 资源列表发送方法、装置和*** | |
CN103888539B (zh) | P2p缓存的引导方法、装置及p2p缓存*** | |
CN106302230B (zh) | 一种数据传输方法及装置 | |
CN104580016A (zh) | 节点分配方法、装置及*** | |
CN105450760A (zh) | 一种基于p2p的自适应资源下载方法 | |
CN109194993B (zh) | 媒体文件分发方法及文件分发平台 | |
CN101702673A (zh) | 基于bs架构的负载均衡方法 | |
US20120215869A1 (en) | Multimedia Message Transmission Method and Apparatus Thereof, and Domain Name Server | |
CN105515844A (zh) | 一种提高软件定义网络可靠性的*** | |
CN105049543A (zh) | 智能路由器间穿越非对称nat进行p2p通信的***及方法 | |
CN107438098A (zh) | 一种动态内容分发方法及其*** | |
CN103414800A (zh) | 一种nat穿越中分布式中继服务器的分配和选择方法及*** | |
CN101471838B (zh) | 一种源切换的方法、***和设备 | |
CN101873248A (zh) | 一种p2p流媒体传输方法和装置 | |
CN104822140B (zh) | 一种数据查询的方法及网络通信*** | |
CN101471954A (zh) | 实现网络服务的方法、网络服务实体和智能网络*** | |
CN112788135A (zh) | 资源调度方法、设备及存储介质 | |
SG178407A1 (en) | Method and apparatus for constructing seed group in peer-to-peer application and method for using seed group | |
CN101854310A (zh) | 一种p2p控制装置及其实现方法 | |
CN105959369A (zh) | 对等网络的资源下载方法 |
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: 20160330 |