发明名称 一种P2P客户端数据发送方法
摘要 本发明提出一种P2P客户端数据发送管理算法。该算法采用了以下方案:1、数据请求定义了优先级,保证紧急数据能够优先被发送;2、采用负反馈方式检测网络的上传能力,探测算法在接近网络上行最大能力时收敛,从而最大限度地利用了网络的上行带宽;3、周期性检测上行带宽情况,及时调整参数,增强了客户端抗抖动能力。通过采用该算法,在不影响客户端下载能力的同时,最大限度利用了网络的上行带宽,使整个P2P生态环境得到优化,大大提高了用户的使用体验。
申请公布号 CN101478558B 申请公布日期 2012.08.29
申请号 CN200810111367.5 申请日期 2008.05.29
申请人 北京东方网信科技股份有限公司 发明人 鲁冬林;陈九庆
分类号 H04L29/08(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京法思腾知识产权代理有限公司 11318 代理人 杨小蓉;高宇
主权项 一种P2P客户端数据发送方法,其步骤包括:1)数据请求分优先级的步骤,用于保证紧急数据的快速传输;该步骤通过P2P客户端发送队列的数据优先分级机制,对客户端发送队列中的所有数据区分优先级,优先级高的数据先于优先级低的数据发送;将客户端发送队列的数据按优先级由低到高分为一般数据、下载请求、紧急请求,其中,紧急请求指的是视频点播直播的数据下载请求;下载请求指除了视频点播直播这样的实时性要求高的下载请求外的一般P2P下载请求;一般数据包括除了以上两种以外的上传数据;2)上传能力探测负反馈的步骤,用于保证最大限度使用网络的上行带宽;该步骤通过P2P客户端发送能力负反馈测试机制,根据ISP提供的网络接入的最大下行速度v0和最大上行速度v1,设定初始发送速度v2=v1/10、和最大发送速度v3=v0*2,获得P2P客户端的最大上传能力,经过一定时间T的数据传送后,周期性探测当前发送速度,作为初始发送速度启动负反馈测试机制,找到新的最大上传速度,以保证上传带宽的合理利用;所述的步骤2)中的周期性探测,是在探测周期内按设定的发送速度v2发送数据包,并计算探测周期内收到的发送数据成功的callback数量,比较发送出去的数据量与收到的发送确认callback数量的差值m,和设定的作为发送确认阈值的当前发送数据包数量与callback数量R的最大差值M,以增加或减小发送速度v2;增大发送速度的前提是增大后的速度要小于v3,否则,设定增大后的发送速度v2=v3,继续测试;所述的周期性探测中,增加发送速度v2的子步骤包括:在探测周期内按设定的发送速度v2发送数据包,当callback数量等于发送数据包数量时,表明发送速度小于或等于上传最大速度,按指数增长方式增大v2,设定v2=v2*2;当callback数量第一次小于发送数据包数量时,表明发送速度大于上传最大速度,v2回退一步设定v2=v2/2,再线性增加发送速度v2,设定v2=v2+1,直至callback数量再次小于发送数据包数量时,表明发送速度大于上传最大速度,v2回退一步,设定v2=v2‑1;至此,一次客户端发送能力负反馈测试结束,设定的v2即为可估计的最大上传速度;所述的周期性探测中,减小发送速度v2的子步骤包括:当发送出去的数据量与收到的发送确认callback数量的差值m大于或等于发送出去的数据量与收到的的发送确认callback数量的最大差值M时,减小发送速度v2,设定发送速度v2=v2/2;再次记录发送出去的数据量与收到的发送确认callback数量的差值m,并与发送出去的数据量与收到的的发送确认callback数量的最大差值M比较;如果m大于或等于M,则再次减小发送速度v2,设定发送速度v2=v2/2,直至m小于M;然后,线性增加发送速度v2,设定v2=v2+1,直至callback数量再次小于发送数据包 数量时,表明发送速度大于上传最大速度,v2回退一步,设定v2=v2‑1;至此,一次客户端发送能力负反馈测试结束,设定的v2即为可估计的最大上传速度。
地址 100190 北京市海淀区中关村北二条13号中科科仪大厦1号楼3层