CN101478558A - 一种p2p客户端数据发送管理算法 - Google Patents

一种p2p客户端数据发送管理算法 Download PDF

Info

Publication number
CN101478558A
CN101478558A CNA2008101113675A CN200810111367A CN101478558A CN 101478558 A CN101478558 A CN 101478558A CN A2008101113675 A CNA2008101113675 A CN A2008101113675A CN 200810111367 A CN200810111367 A CN 200810111367A CN 101478558 A CN101478558 A CN 101478558A
Authority
CN
China
Prior art keywords
client
data
network
uploading
ability
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.)
Granted
Application number
CNA2008101113675A
Other languages
English (en)
Other versions
CN101478558B (zh
Inventor
唐晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing NetEast Technologies Co., Ltd.
Original Assignee
BEIJING TELESTONE TECHNOLOGIES Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING TELESTONE TECHNOLOGIES Co Ltd filed Critical BEIJING TELESTONE TECHNOLOGIES Co Ltd
Priority to CN200810111367A priority Critical patent/CN101478558B/zh
Publication of CN101478558A publication Critical patent/CN101478558A/zh
Application granted granted Critical
Publication of CN101478558B publication Critical patent/CN101478558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出一种P2P客户端数据发送管理算法。该算法采用了以下方案:1.数据请求定义了优先级,保证紧急数据能够优先被发送;2.采用负反馈方式检测网络的上传能力,探测算法在接近网络上行最大能力时收敛,从而最大限度地利用了网络的上行带宽;3.周期性检测上行带宽情况,及时调整参数,增强了客户端抗抖动能力通过采用该算法,在不影响客户端下载能力的同时,最大限度利用了网络的上行带宽,使整个P2P生态环境得到优化,大大提高了用户的使用体验。

Description

一种P2P客户端数据发送管理算法
一、技术领域:
本发明涉及一种使因特网中P2P文件交换能充分利用自身网络资源的P2P客户端算法,适用于互联网P2P文件交换领域。
二、背景技术:
近年来,随着Internet的迅速发展,对等网络技术(peer to peer,简称P2P)已经逐渐成为各方关注的热门话题。P2P作为一种网络模型,其中所有的节点是对等的,这些对等的节点称为对等点。对等点之间通过直接互联共享信息资源、处理器资源、存储资源甚至高速缓存资源等,无需依赖集中式服务器或资源就可完成。与传统的C/S模式相比,该模式没有明显的客户端/服务器之分,P2P模式的任何一端都可以认为同时具有服务器和客户端的功能,这样,单台PC机在从多台机器接收数据流的同时也能向多台机器发送数据流。P2P下载和P2P视频点播直播是两种主要的P2P应用方式,它们充分利用了客户端的主机及网络资源,突破了传统C/S模式同时在线人数的瓶颈,同时传输一个文件的人数越多,速度反而越快。
由于客户端在下载数据的同时又给其它客户端上传数据,而众多客户端的网络能力又相对有限,所以客户端要同时连接大量其它的对等客户端同时进行数据传输,这必然造成用户端资源紧张,如果管理不好众多的上传数据连接,必将影响到用户的数据下载,尤其是会影响到P2P视频点播直播这样的实时性要求比较高的应用。如果单纯的降低用户本身的上传数据量,将会使整个P2P系统性能下降,不能体现P2P的优势。
基于以上背景,本发明提出一种P2P客户端的发送管理算法,这种方法的基本思想是在客户端发送队列中区分开数据优先级,以保证用户的实时下载请求及时发送出去,同时对客户端的发送能力进行负反馈测试,尽量提高客户端的上传带宽利用率。通过这种方法,一方面用户的下载请求可以被及时发出,保证了用户体验,另一方面客户端充分利用了自己的上传带宽,可以尽可能的为其它用户提供上传服务,使整个P2P系统更加有效。
三、发明内容:
a)发明目的
本发明的目的是提供一种可以使P2P用户的下载请求能及时发出,同时又能充分用户上传带宽的P2P客户端数据发送管理算法,使用这种方法后,能够保证P2P用户下载、点播以及直播的服务质量,同时充分利用客户端的上传带宽,提高整个P2P系统的有效性。
b)技术方案
本发明所述的客户端算法包括两个机制:P2P客户端发送队列的数据优先分级和P2P客户端发送能力的负反馈测试。其中P2P客户端发送队列数据优先分级,对客户端发送队列中的所有数据区分优先级,优先级高的数据先于优先级低的数据发送;P2P客户端发送能力的负反馈测试将可以获得P2P客户端的最大上传能力,充分利用客户端上传带宽提供上传服务。通过这两个机制的协调作用,可以达到P2P客户端下载及时性和充分上传服务的平衡。
P2P客户端发送队列的数据优先分级机制的使用包括如下步骤:
步骤1:对客户端发送数据进行分类,将其分为一般数据、下载请求、紧急请求。“紧急请求”指的是视频点播直播的数据下载请求;“下载请求”指除了视频点播直播这样的实时性要求高的下载请求外的一般P2P下载请求;“一般数据”包括除了以上两种以外的上传数据。对二种上传数据附加不同标志位U(urgent),0代表一般数据,1代表下载请求,2代表紧急请求。数字越大优先级越高。
步骤2:将欲发送的数据插入发送队列之中。插入规则如下:顺序扫描发送队列中的等待发送数据,将欲发送数据插入到扫描时发现的第一个优先级比欲发送数据低的数据之前。
步骤3:按照当前数据发送速度,在发送队列中从前往后顺序发送数据。
循环执行步骤2和步骤3。
下面举例说明将数据插入发送队列的方法和效果。
假设顺序产生优先级分别为1,0,2,1,0的5个数据包,逐一将这5个数据包插入发送队列,发送队列变化如下表1所示:
Figure A200810111367D00041
表1:将5个数据包插入发送队列
P2P客户端发送能力负反馈测试机制的使用包括如下步骤:
(由于每次发送的数据包大小固定,可以以单位时间内发送的数据包数量来表示数据发送速度,下面使用的对发送速度的表示和计算都是以数据包为单位。)
步骤1:假设ISP提供的网络接入的最大下行速度为v0,最大上行速度为v1,那么可设定初始发送速度为v2=v1/10,最大发送速度上限为v3=v0*2。设定最高发送速度上限v3的原因是可能本机发送能力很高,而ISP提供的网络接入不能提供相应的速度,所以可能测出来的最大发送速度不能满足。下面的步骤中增大发送速度的前提是增大后的速度要小于v3,否则设定增大后的发送速度v2=v3,继续测试。
步骤2:在探测周期内按设定的发送速度v2发送数据包。计算探测周期内收到的发送数据成功的callback数量。比较当前发送数据包数量与callback数量R。
步骤3:当callback数量等于发送数据包数量时,表明发送速度小于或等于上传最大速度,按指数增长方式增大v2,即设定v2=v1*2。
循环执行步骤2和步骤3,直至callback数量第一次小于发送数据包数量时执行步骤4。
步骤4:当callback数量第一次小于发送数据包数量时,表明发送速度大于上传最大速度,v2回退一步,即设定v2=v2/2。
步骤5:线性增加发送速度v2,即设定v2=v2+1。
循环执行步骤2和步骤5,直至callback数量再次小于发送数据包数量时执行步骤6。
步骤6:callback数量再次小于发送数据包数量,表明发送速度大于上传最大速度,v2回退一步,即设定v2=v2-1。
一次客户端发送能力负反馈测试结束,设定的v2即为可估计最大上传速度。
P2P客户端发送能力负反馈测试流程如下图1所示:
由于网络状态的不稳定以及用户使用网络的情况不同,经过一段时间按最大上传速度发送数据之后,有可能会造成客户端发送缓冲区累积很多数据等待发送。可以设定一个发送确认阈值,即发送出去的数据量与收到的的发送确认callback数量的最大差值M,当数据累积超过此值的时候,减小发送速度v2,包括如下步骤:
步骤1:设定发送速度v2=v2/2,按新的发送速度继续发送数据。记录发送出去的数据量与收到的发送确认callback数量的差值m。
步骤2:比较m与M。
如果m大于或等于M,则循环执行步骤1和步骤2直至m小于M为止,之后按之前所述方法线性增长v2,找到新的最大发送速度,然后按这个速度发送数据。
P2P客户端降低发送速度流程如下图2所示:
经过一定时间T的数据传送后,定时启动客户端发送能力负反馈测试,以当前发送速度为初始发送速度启动负反馈测试,找到新的最大上传速度,以保证上传带宽的合理利用。
特殊情况处理:
由于P2P视频点播和直播的数据请求是逐个发送的,所以P2P客户端发送数据时是在各条链路上逐条链路循环发送,每条链路逐个包发送,进而在进行负反馈测试时要考虑各条链路的发送情况。
链路质量的优劣可以用ISP提供的最大上行速度除以链路总条数得到的一个平均链路最大速度作为参数来衡量,假如得到的平均链路最大速度为v4,而测得的某条链路的上传速度小于v4/10,则可以判定该链路质量差。
如果大部分的链路质量都很好,只有少数质量差,而且在检测上行速度时同时参与测试的链路数量比较多,那么这些差的链路对于最后的计算结果影响较小,可以忽略这种微小的影响。如果同时参与测试的链路数比较少,那么需要处理这种对测试结果造成比较显著影响的情况。此次参与测试的链路刚好是质量差的链路,此时不能将这个链路的测试结果做为最终结果,需要对其他链路分别做测试,如果多数链路的质量测试情况都优于质量差的链路,则可以忽略差链路的测试结果,以优质链路的测试结果做为最终速度。如果所有参与测试的链路质量都比较差,那么即使客户端本身的网络情况较好,由于其所连接的都是链路差的节点,那么也只能以这个差的结果做为最终发送速度。
c)有益效果
使用本发明的算法一方面可以满足P2P客户端的实时性数据请求及时发出,从而保证下载、点播和直播的服务质量不被上传所影响;另一方面又尽可能的利用了P2P客户端的上传带宽,有效的提高了P2P系统的效率,从而使整个P2P系统的服务质量得到了提升。
四、附图说明
图1:P2P客户端发送能力负反馈测试流程
图2:P2P客户端降低发送速度流程
五、具体实现示例:
PPCDN系统客户端采用了该算法。
当客户端运行一段时间后,随着本地缓存数据的增加,其他客户端向其发出的数据请求逐渐增多,通过网络流量监测工具发现,上行流量逐渐增加,最后保持在一个稳定的水平。通过与下载速率进行对比发现,上行速率基本达到最大上传速率。
PPCDN客户端通过采用本算法,避免了在没有上行流量控制时出现的大量数据拥塞网络出口,造成数据请求无法正常发送的情况。同时通过对上行带宽的管理,客户端能够清楚地知道当前自己的上传能力,当自己的上传能力达到极限时,对于新来的数据请求可以及时通知对方自己目前无法提供服务,这样发出数据请求客户端能够迅速向其他客户端重新发出请求,从而快速取得需要的数据。

Claims (2)

1、一种P2P客户端数据发送管理算法,其特征如下:
1)数据请求分优先级,保证紧急数据的快速传输
2)上传能力探测负反馈机制,保证最大限度使用网络的上行带宽
3)周期性探测机制,提高客户端抗网络抖动能力。
2、根据权力要求1所述的一种P2P客户端数据发送管理算法,其特征是提高了客户端的数据上传能力,使整个P2P网络环境得到优化,明显改善了用户下载体验。
CN200810111367A 2008-05-29 2008-05-29 一种p2p客户端数据发送方法 Active CN101478558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810111367A CN101478558B (zh) 2008-05-29 2008-05-29 一种p2p客户端数据发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810111367A CN101478558B (zh) 2008-05-29 2008-05-29 一种p2p客户端数据发送方法

Publications (2)

Publication Number Publication Date
CN101478558A true CN101478558A (zh) 2009-07-08
CN101478558B CN101478558B (zh) 2012-08-29

Family

ID=40839190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810111367A Active CN101478558B (zh) 2008-05-29 2008-05-29 一种p2p客户端数据发送方法

Country Status (1)

Country Link
CN (1) CN101478558B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821311A (zh) * 2012-05-30 2012-12-12 浙江宇视科技有限公司 一种视频数据包优先级设置方法和装置
CN101800621B (zh) * 2010-01-12 2013-07-10 腾讯科技(深圳)有限公司 限制上传速度的方法和装置
CN103458295A (zh) * 2013-08-28 2013-12-18 小米科技有限责任公司 传输图片数据的方法、终端、机顶盒及系统
CN103873385A (zh) * 2012-12-18 2014-06-18 中国科学院声学研究所 一种基于反馈控制的p2p流媒体数据请求方法及系统
CN106257893A (zh) * 2016-08-11 2016-12-28 浪潮(北京)电子信息产业有限公司 存储服务器任务响应方法、客户端、服务器及系统
CN109257425A (zh) * 2018-09-25 2019-01-22 江苏斯菲尔电气股份有限公司 新型物联网网关及物联网网关工作方法
CN109361951A (zh) * 2018-10-30 2019-02-19 腾讯科技(深圳)有限公司 一种视频数据缓存方法、装置及用户终端
CN114722384A (zh) * 2022-06-02 2022-07-08 南京中成越科技有限公司 端对端远程通讯的风险数据传输处理方法、系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747255B2 (en) * 2003-03-26 2010-06-29 Sony Corporation System and method for dynamic bandwidth estimation of network links
CN1992602A (zh) * 2005-12-29 2007-07-04 盛趣信息技术(上海)有限公司 将基于p2p网络下载的多媒体文件实现实时播放方法
CN101022356A (zh) * 2006-02-16 2007-08-22 中兴通讯股份有限公司 一种abis接口带宽分配系统及方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800621B (zh) * 2010-01-12 2013-07-10 腾讯科技(深圳)有限公司 限制上传速度的方法和装置
CN102821311A (zh) * 2012-05-30 2012-12-12 浙江宇视科技有限公司 一种视频数据包优先级设置方法和装置
CN102821311B (zh) * 2012-05-30 2015-07-15 浙江宇视科技有限公司 一种视频数据包优先级设置方法和装置
CN103873385A (zh) * 2012-12-18 2014-06-18 中国科学院声学研究所 一种基于反馈控制的p2p流媒体数据请求方法及系统
CN103873385B (zh) * 2012-12-18 2017-02-15 中国科学院声学研究所 一种基于反馈控制的p2p流媒体数据请求方法及系统
CN103458295A (zh) * 2013-08-28 2013-12-18 小米科技有限责任公司 传输图片数据的方法、终端、机顶盒及系统
CN103458295B (zh) * 2013-08-28 2016-08-31 小米科技有限责任公司 传输图片数据的方法、终端、机顶盒及系统
CN106257893A (zh) * 2016-08-11 2016-12-28 浪潮(北京)电子信息产业有限公司 存储服务器任务响应方法、客户端、服务器及系统
CN109257425A (zh) * 2018-09-25 2019-01-22 江苏斯菲尔电气股份有限公司 新型物联网网关及物联网网关工作方法
CN109361951A (zh) * 2018-10-30 2019-02-19 腾讯科技(深圳)有限公司 一种视频数据缓存方法、装置及用户终端
CN114722384A (zh) * 2022-06-02 2022-07-08 南京中成越科技有限公司 端对端远程通讯的风险数据传输处理方法、系统
CN114722384B (zh) * 2022-06-02 2022-08-19 南京中成越科技有限公司 端对端远程通讯的风险数据传输处理方法、系统

Also Published As

Publication number Publication date
CN101478558B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN101478558B (zh) 一种p2p客户端数据发送方法
US8260951B2 (en) Rate-controllable peer-to-peer data stream routing
Pianese et al. Pulse, a flexible p2p live streaming system
Le Merrer et al. Peer to peer size estimation in large and dynamic networks: A comparative study
EP3447970B1 (en) Live broadcast system in peer-to-peer network and node management method
KR101231208B1 (ko) 피어링 제의 리스트를 제공하는 방법, p2p 네트워크를 형성하는 방법, p2p 어플리케이션 장치, p2p네트워크를 형성하는 단말 및 네트워크 장치
CN103945198A (zh) 一种控制视频监控系统流媒体路由的系统和方法
TW201210284A (en) Architecture and method for hybrid Peer To Peer/client-server data transmission
EP2044525A1 (en) Multi-party cooperative peer-to-peer video streaming
Yousef et al. Enabling adaptive bitrate algorithms in hybrid CDN/P2P networks
CN102025645A (zh) 一种用于在对等网络中进行数据调度的方法
Biskupski et al. High-bandwidth mesh-based overlay multicast in heterogeneous environments.
Bracciale et al. A push-based scheduling algorithm for large scale P2P live streaming
Hoong et al. Push-pull incentive-based P2P live media streaming system
Dubin et al. Multicast adaptive logic for Dynamic Adaptive Streaming over HTTP network
CN109905364B (zh) 一种基于sdn架构的流媒体数据包的传输方法及系统
Efthymiopoulou et al. Enabling QoS in peer to peer live streaming through dynamic bandwidth or playback rate control
Coelho et al. Versioning-aware and qoe-oriented strategy for adaptative bitrate streaming
Erman et al. On piece selection for streaming bittorrent
Cui et al. MM-ABR: an Enhanced ABR Algorithm with Multi-Metric Information for QUIC-based Video Streaming
Li et al. Research on real-time high reliable network file distribution technology
Wang et al. Modeling and analysis of a p2p-vod system based on stochastic network calculus
Hong et al. ISI: Integration of search and incentive strategy in p2p systems
Byun et al. A tracker-based P2P system for live multimedia streaming services
Yim Decentralized Media Streaming Infrastructure (DeMSI): A Peer-to-Peer Content Delivery Network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING NETEAST TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: BEIJING NETEAST TECHNOLOGIES CO., LTD.

Effective date: 20110812

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100190 HAIDIAN, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20110812

Address after: 100190 Beijing city Haidian District Zhongguancun two North 13, KYKY No. 1 building, 3 floor

Applicant after: Beijing NetEast Technologies Co., Ltd.

Address before: 100080, room 706-710712, Ying Zhi building, 49-3 Suzhou Street, Beijing, Haidian District

Applicant before: Beijing Telestone Technologies Co., Ltd.

DD01 Delivery of document by public notice

Addressee: Wang Chunping

Document name: Notification of Passing Examination on Formalities

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Lu Donglin

Inventor after: Chen Jiuqing

Inventor before: Tang Hui

Inventor before: The inventor has waived the right to be mentioned

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: TANG HUI REQUEST NOT TO RELEASE THE NAME TO: LU DONGLIN CHEN JIUQING

C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: P2P customer terminal data transmission management algorithm

Effective date of registration: 20161111

Granted publication date: 20120829

Pledgee: China Merchants Bank Beijing branch of the Universiade village Limited by Share Ltd

Pledgor: Beijing NetEast Technologies Co., Ltd.

Registration number: 2016990000971

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model