CN104580305B - 网络上传调度和带宽检测方法、系统、客户端和服务器 - Google Patents
网络上传调度和带宽检测方法、系统、客户端和服务器 Download PDFInfo
- Publication number
- CN104580305B CN104580305B CN201310495159.0A CN201310495159A CN104580305B CN 104580305 B CN104580305 B CN 104580305B CN 201310495159 A CN201310495159 A CN 201310495159A CN 104580305 B CN104580305 B CN 104580305B
- Authority
- CN
- China
- Prior art keywords
- client
- upload
- channel
- speed
- bandwidth
- 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.)
- Active
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
-
- 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
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
-
- 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
-
- 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
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络上传调度和带宽检测方法、系统、客户端和服务器,其中网络上传调度的方法包括:客户端获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,配置请求中携带有本地配置信息、网络节点信息、上传/下载带宽;上传策略服务器根据配置请求,确定客户端的上传调度配置策略,并发送上传调度配置策略至客户端;客户端根据上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。本发明自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
Description
技术领域
本发明涉及到网络传输技术领域,特别涉及到网络上传调度和带宽检测方法、系统、客户端和服务器。
背景技术
“点对点”(Peer-to-Peer,P2P)技术,又被称为“对等”技术,是一种网络新技术,用户终端上的客户端从网络节点中的其他客户端下载资源,其下载速度依赖于网络节点中参与的客户端的计算能力和带宽。
“点对服务器和点”(Peer-to-Server&Peer,P2SP)技术,基于用户对服务器和用户机制,不但支持P2P技术,同时还通过检索数据库,把服务器资源和P2P资源整合到了一起,用户下载一个文件的时候,数据来源分为原始链接、P2P网络和第三方镜像的辅助源,P2SP系统会自动搜索其他资源,选择合适的资源进行加速,这使得P2SP在下载的稳定性和下载的速度上,比传统的P2P有了非常大的提高。
随着互联网的发展,P2P/P2SP技术在文件共享和下载方面得到了广泛的应用,各种P2P软件的应用占用了大量的带宽资源,占据了网络上的大部分流量,导致局域网及部分广域网络拥塞,影响到服务质量。
P2P/P2SP本身对网络最大的影响就是网络带宽问题,容易造成网络负荷较重,导致丢包等问题,影响P2P/P2SP传输效率。P2P软件一端的下载速度和另一端的上传速度密切相关,在非对称数字用户线环路中,上行带宽和下行带宽不对称,并且上行带宽明显小于下行带宽。当上传满载时,下载速度将变为理想速度的40%,所以P2P下载程序如果不控制上传速度,就会导致用户网速变慢,影响到用户终端上其他网络软件的上网速度,因此大多数用户会选择在没有下载任务的时候关闭P2P软件,或限制P2P软件上传速度。但是,在TCP/IP协议中规定,每一个数据报文,都需要有确认的回传,也就是说,在数据传输后,需要接收一个收到数据的确认回复,然后才能决定后续的传输速度,并决定是否重新传输遗失的数据,上行带宽中的一部分就是用来传输这些确认数据的。如果用户严格限制了上传速度,则会导致上行负载过大,影响确认数据的回传速度,进而影响到下载速度,这对非对称数字环路这种上行带宽远小于下载带宽的连接来说,影响尤为明显。
发明内容
本发明实施例提供一种网络上传调度和带宽检测方法、系统、客户端和服务器,能够有效提高P2P/P2SP网络上传效率。
本发明实施例提出一种网络上传调度的方法,包括步骤:
客户端获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
所述上传策略服务器根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端;
所述客户端根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本发明实施例还提出一种客户端实现网络上传调度的方法,包括步骤:
获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
接收所述上传策略服务器返回的上传调度配置策略,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本发明实施例还提出一种网络带宽检测的方法,包括步骤:
接收客户端发送的带宽检测请求;
向所述客户端返回带宽测速的URL集合;
接收并存储所述客户端记录的在测速时间段内的上传/下载带宽。
本发明实施例还提出一种上传策略服务器实现网络上传调度的方法,包括步骤:
接收客户端发送的配置请求,所述配置请求中携带有所述客户端获取的本地配置信息、网络节点信息、上传/下载带宽;
根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端。
本发明实施例还提出一种网络上传调度的系统,包括客户端和上传策略服务器,所述客户端包括上传控制模块,其中:
所述上传控制模块用于,获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至所述上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
所述上传策略服务器用于,根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端;
所述上传控制模块还用于,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本发明实施例还提出一种客户端,包括上传控制模块,所述上传控制模块用于:
获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
接收所述上传策略服务器返回的上传调度配置策略,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本发明实施例还提出一种带宽检测服务器,包括:
带宽检测请求接收模块,用于接收客户端发送的带宽检测请求;
测速URL发送模块,用于向所述客户端返回带宽测速的URL集合;
带宽存储模块,用于接收并存储所述客户端记录的在测速时间段内的上传/下载带宽。
本发明实施例还提出一种上传策略服务器,包括:
配置请求接收模块,用于接收客户端发送的配置请求,所述配置请求中携带有所述客户端获取的本地配置信息、网络节点信息、上传/下载带宽;
策略配置模块,用于根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端。
本发明实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
附图说明
图1为本发明网络上传调度的方法的第一实施例的流程图;
图2为本发明网络上传调度的方法的第二实施例的流程图;
图3为本发明网络上传调度的方法的第三实施例的流程图;
图4为本发明网络上传调度的方法的第四实施例的流程图;
图5为图4中确定非阻塞通道数量上限W的步骤流程图;
图6为图4中确定各个通道的积分值的步骤流程图;
图7为图4中确定M的步骤流程图;
图8为图4中确定N的步骤流程图;
图9为本发明客户端实现网络上传调度的方法的第一实施例的流程图;
图10为本发明客户端实现网络上传调度的方法的第二实施例的流程图;
图11为本发明网络带宽检测的方法的实施例的流程图;
图12为本发明上传策略服务器实现网络上传调度的方法的第一实施例的流程图;
图13为本发明上传策略服务器实现网络上传调度的方法的第二实施例的流程图;
图14为本发明上传策略服务器实现网络上传调度的方法的第三实施例的流程图;
图15为图14中确定非阻塞通道数量上限W的步骤流程图;
图16为图14中确定各个通道的积分值的步骤流程图;
图17为图14中确定M的步骤流程图;
图18为图14中确定N的步骤流程图;
图19为本发明网络上传调度的系统的第一实施例的结构示意图;
图20为本发明网络上传调度的系统的第二实施例的结构示意图;
图21为本发明客户端的第一实施例的结构示意图;
图22为本发明客户端的第二实施例的结构示意图;
图23为本发明带宽检测服务器的第一实施例的结构示意图;
图24为本发明带宽检测服务器的第二实施例的结构示意图;
图25为本发明上传策略服务器的第一实施例的结构示意图;
图26为本发明上传策略服务器的第二实施例的结构示意图;
图27为本发明上传策略服务器的第三实施例的结构示意图;
图28为发明实施例中P2SP网络的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明网络上传调度的方法的第一实施例的流程图。本实施例提到的网络上传调度的方法,包括:
步骤S10,客户端获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器;配置请求中携带有本地配置信息、网络节点信息、上传/下载带宽;
本实施例中,客户端具备常规的P2P/P2SP网络传输功能,包括:
(1)定期向跟踪服务器(Tracker服务器)汇报在线情况和本地拥有的资源信息;
(2)通过源URL向资源索引服务器查询多资源,包括多源URL集合、文件Hash及文件校验信息等,同时向Tracker服务器查询网络节点,即与本地客户端连接的对端客户端(Peer);
(3)向多源URL对应的资源服务器和Peer请求数据并下载数据;
(4)完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载速度、下载结果、文件大小,安全属性等信息。
为了使整个P2P/P2SP网络上传效率最大化,客户端在执行常规的上传/下载任务前,还向上传策略服务器请求获取上传调度配置策略。客户端发送的配置请求中包括了客户端收集的本地配置信息和网络节点信息。其中,本地配置信息可包括:用户对客户端的参数设置,例如,限速状况、上传和下载的上限速度、最大任务数、最大连接量等;客户端当前的网络类型,例如LAN、ADSL或Modem;本地IP地址等信息。网络节点信息可包括:与本地客户端连接的通道数量、对端服务器类型、对端服务器网络类型等。由于客户端的上传性能与本地带宽的大小密切相关,因此客户端将本地的上传/下载带宽作为配置策略的重要参数发送给上传策略服务器。客户端访问上传策略服务器需要携带的请求信息如下表:
步骤S20,上传策略服务器根据配置请求,确定客户端的上传调度配置策略,并发送上传调度配置策略至客户端;
本实施例在P2SP网络中增加了上传策略服务器,用于保存P2P上传调度控制的整体策略。上传策略服务器收集客户端上报的配置请求信息,根据配置请求中的本地网络配置信息和历史上传下载网络信息,制定合理的上传调度配置策略,包括各类控制参数,并且帮助P2SP网络中的客户端相互联通,尽可能发挥客户端P2P最佳的上传效率。P2P客户端同时承担客户端和服务器的角色,上传策略服务器在制定上传调度配置策略时,考虑客户端的网络链接和上传下载任务的情况,上传调度配置策略可包括限速策略和阻塞/非阻塞策略。P2P/P2SP网络中的每个客户端,都需尽可能的提高它自身的下载速度,为了尽可能提升下载速度,除了使用多源URL外,每个客户端从它可以连接的对端客户端处下载文件,并根据对端客户端提供的下载速率给予同等的上传回报。对于合作者,提供上传服务,对于不合作的,就阻塞对方。阻塞是一种临时拒绝的上传策略,虽然上传停止了,但是下载仍然继续。在阻塞停止的时候,连接并不需要重新建立。上传策略服务器端收到请求后,向客户端返回上传调度配置策略,包括对应的配置和关键信息,如下表:
步骤S30,客户端根据上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
客户端根据上传策略服务器提供的上传调度配置策略,重新配置本地的配置参数,例如,通常对一个客户端,纯上传的通道数量一般不超过200个,纯上传的文件数量不超过8个。即一个文件可以同时对多个通道提供上传,如果双方建立连接后,本地发现自己是纯上传并且文件数或者通道数超过了限制,那么将中断连接,对方就会收到上传超过最大限制的错误码。如果发现是同一内网的通道,那么上传有所放宽,纯上传的文件数量只要小于预设的数量个,都允许提供纯上传。
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图2所示,图2为本发明网络上传调度的方法的第二实施例的流程图。本实施例以图1所示实施例为基础,对步骤S10中客户端获取上传/下载带宽的步骤进行说明,包括:
步骤S11,客户端发送带宽查询请求至带宽检测服务器;
步骤S12,带宽检测服务器根据带宽查询请求,查询客户端的上传/下载带宽,并将客户端的上传/下载带宽返回给客户端。
本实施例在P2SP网络中增加了带宽检测服务器,带宽检测服务器给客户端提供查询本机的带宽的接口,为客户端查询本地的上传/下载带宽提供服务,进而获得用户上传或下载速度。其中,在步骤S10中客户端获取上传/下载带宽的步骤之前还包括带宽检测的步骤:
步骤S13,客户端发送带宽检测请求至带宽检测服务器;
步骤S14,带宽检测服务器向客户端返回带宽测速的URL集合;
步骤S15,客户端根据带宽测速的URL集合,执行上传和下载操作;
步骤S16,客户端记录测速时间段内的上传/下载带宽,并发送记录的上传/下载带宽至带宽检测服务器存储。
客户端定期向带宽检测服务器发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端将测速结果上报给带宽检测服务器,为客户端提供准确的上传和下载带宽,来为制定合理的上传调度配置策略提供准确的参数,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图3所示,图3为本发明网络上传调度的方法的第三实施例的流程图。本实施例以图1所示实施例为基础,对步骤S20中确定限速策略的步骤进行说明,包括:
步骤S211,从网络节点信息中提取客户端的下载状态,从本地配置信息中提取客户端的限速状态;
步骤S212,当客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则执行步骤S214;如果否,则执行步骤S213;
步骤S213,以用户设置的限速作为上传限速;
步骤S214,当客户端的限速状态为用户未限速时,判断客户端的下载状态;
步骤S215,当客户端的下载状态为空闲状态时,从上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
步骤S216,当客户端的下载状态为繁忙状态时,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在上传限速波峰值与上传限速波谷值之间交替。
本实施例中,依据用户下载任务时候的状态,分为空闲状态和繁忙状态两种,依据用户设置下载速度的状况,分为用户限速和未限速两种场景。
当客户端为空闲状态时,如果用户有设置限速(即设置的上传速度的上限值),则以用户设置的限速为准,但若用户设置的上传速度上限值过低,例如设置上传限速为1Byte/S,则认为设置的限速不合理,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则根据历史上传速度和空闲率来计算上传限速,其中,空闲率在TCP公网下载时通常取50%,在TPC内网下载时通常取80%,历史上传速度峰值是由客户端逐步统计出来的,统计客户端连接TCP公网时曾经到达过的最高上传速度值,缺省值为10×1024Byte/S,同时还设置一个上传限速区间,允许上传限速在区间[空闲上传限速最小值,空闲上传限速最大值]内浮动,上传限速区间的缺省值为[10×1024Byte/S,800×1024Byte/S]。
当客户端为繁忙状态时,如果用户有设置限速,则以用户设置的限速为准,若用户设置的上传速度上限值过低,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则采用波浪式限速法,计算上传限速波峰值和上传限速波谷值,控制上传限速在上传限速波峰值与上传限速波谷值之间轮番交替,即采用动态的上传限速。其中,上传限速波峰值选取繁忙时的上传速度最大值,缺省值为1024×1024Byte/S,波峰持续时间缺省值为3000毫秒,上传限速波谷值与历史上传速度峰值和繁忙率有关,繁忙率缺省值为80%,波谷持续时间缺省值为20000毫秒。
本实施例中,上传策略服务器根据客户端当前数据传输时的任务状态、用户设置的限速状态以及客户端历史上传/下载带宽状况,来制定动态的限速策略,能够更加充分考虑每个P2P节点自身的能力和网络环境状况,让全局P2P的性能得到最大的发挥。
如图4所示,图4为本发明网络上传调度的方法的第四实施例的流程图。本实施例以图1所示实施例为基础,对步骤S20中确定阻塞/非阻塞策略的步骤进行说明,包括:
步骤S221,从网络节点信息中,获取与客户端同一内网的通道,将与客户端同一内网的通道保持疏通;
本实施例中,上传策略服务器制定阻塞/非阻塞策略时,为避免网络节点中Peer因长时间等待而无法获得数据,优先考虑内网传输,对同一内网的通道默认非阻塞,即保持疏通,直接提供上传,能够有效的缩短网络节点启动下载所需的时间,有利于提高上传带宽的利用率和P2P文件分发性能。
步骤S222,根据网络节点信息确定非阻塞通道数量上限W;
步骤S223,从网络节点信息中,获取新通道数量;
新通道为新加入的通道,这些通道没有被设定过阻塞或非阻塞状态,也从未获得过上传或下载机会,反之则为老通道,为给新通道更多上传或选择的机会,通常新通道被疏通的机会是老通道的3倍。上传策略服务器在制定阻塞/非阻塞策略时,为了避免因为频繁的阻塞和疏通Peer造成的资源浪费,每隔一段时间计算一次哪个Peer需要被阻塞,例如每隔20秒计算一次,然后将这种阻塞和非阻塞状态保持到下一个20秒。
步骤S224,当新通道数量≥W×第一预设比率时,在与客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量≥W×第一预设比率时,说明新通道数量较多,在与客户端非同一内网的老通道中,将下载速度较大的通道保留下来,继续保持疏通,剩下的老通道为待替换淘汰的通道,需要与新通道一起,经过进一步的分析确认后,重新设定其阻塞或非阻塞状态。其中,第一预设比率的经验值为0.4,第一预设速度经验值为10K Byte/S。
步骤S225,当新通道数量<W×第一预设比率时,在与客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
当新通道数量<W×第一预设比率时,说明新通道数量较少,可多保留一部分老通道,在与客户端非同一内网的老通道中,选择下载速度较快的通道,继续保持疏通,剩下的老通道为待替换淘汰的通道,与新通道一起,重新设定其阻塞或非阻塞状态。其中,第二预设速度经验值为1K Byte/S,第二预设比率经验值为0.8。
上述待替换淘汰的通道数量作为待替换的非阻塞名额,待替换的非阻塞名额包括S+M+N。其中,S个名额给与客户端同一内网的通道,在新通道和老通道中,所有与客户端同一内网的通道都是默认非阻塞的,因此S就等于与客户端同一内网的通道的数量。
步骤S226,在与客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
M个名额给除S之外积分值最大的M个通道,即在新通道和待替换淘汰的老通道中,查找与客户端不在同一内网的通道,计算这些通道的积分值,获取积分值最大的M个通道。
步骤S227,在与客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
N个名额给除S+M之外,阻塞时间最长的N个通道,即在新通道和待替换淘汰的老通道中,除了与客户端同一内网的通道、以及与客户端不在同一内网的通道中M个积分值最大的通道之外,剩下的通道中保持阻塞状态时间最长的N个通道,由于新通道尚未设置阻塞或非阻塞状态,因此,这N个通道名额通常可认为是留给老通道的。
请一并参照图5,图5是对确定非阻塞通道数量上限W的步骤进行说明,步骤S222包括:
步骤S2221,从网络节点信息中获取任务数;
步骤S2222,确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]};
其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值,根据上述公式可知,W的最大值为A1,例如,A1=200,A2=40,A3=30,W=min{200,max[40,任务数×30]},当任务数为5时,W=150,当任务数为10时,W=200。
请一并参照图6,图6是对步骤S226中确定各个通道的积分值的步骤进行说明,包括:
步骤S2260,判断通道的类型;
步骤S2261,当通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;
其中,考虑到同类型客户端在数据传输过程中传输速度较快,非同类型客户端传输速度较慢,当通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当通道对应的对端客户端与本地的客户端类型不同时,B1=0.1。此外,为了照顾某些冷门资源的传输,当通道对应的对端客户端的任务资源数小于5时,B2=1,当通道对应的对端客户端的任务资源数大于或等于5时,B2=0;
步骤S2262,当通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;
其中,考虑到资源共享,以及在上传调度时,对于合作的客户端提供同等的上传回报,当通道对应的对端客户端中存储有本地所需资源时,B3=5,当通道对应的对端客户端中没有本地所需资源时,B3=0。
请一并参照图7,图7是对步骤S226中确定M的步骤进行说明,包括:
步骤S2263,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,X1=min[历史上传速度峰值,繁忙时上传速度最大值];
步骤S2264,从网络节点信息中提取客户端的下载状态;
步骤S2265,当客户端的下载状态为空闲状态时,X2=X1×空闲率;
步骤S2266,当客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
步骤S2267,从本地配置信息中提取用户设置的限速,在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
如果用户未限速,则X3=X2。
步骤S2268,当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
步骤S2269,当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_min缺省值为4个;M_step为步长,M_step缺省值为8×1024Byte/S;M_base为步长调整幅度,M_base缺省值为64×1024Byte/S。
请一并参照图8,图8是对步骤S227中确定N的步骤进行说明,包括:
步骤S2271,确定与客户端同一内网的通道数量为S;
步骤S2272,当新通道数量≥W×第一预设比率时,确定与客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
步骤S2273,当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
由于非阻塞通道数量上限为W,包括老通道中保留的通道数量(Y1或Y2)和待替换的非阻塞名额,其中待替换的非阻塞名额包括S个与客户端同一内网的通道、M个除S之外积分值最大的M个通道、N个除S+M之外阻塞时间最长的N个通道。因此,在上述实施例中已经得到,当新通道数量≥W×第一预设比率时,老通道中保留的通道数量为Y1,则W=Y1+S+M+N,当新通道数量<W×第一预设比率时,老通道中保留的通道数量为Y2,则W=Y2+S+M+N。通常情况下,N还可根据实际情况设定为与M存在倍率关系,例如,N取M/4,如此一来,在计算M和N时,更加简单方便。
本实施例中,上传阻塞对提高P2P上传性能是必要的,客户端如何向Peer请求数据以及如何处理来自其他Peer节点的请求策略是上调度的核心关键。Peer上传为所有下载者提供一致可靠的下载速率,并适当惩罚那些只下载而不上传的Peer。Peer对那些向它提供上传服务的Peer给予同样的回报,目的是希望在任何时候都有若干个连接正在进行着双向传输。通常每个Peer一直与固定数量的其它Peer保持疏通,使得TCP的拥塞控制性能可靠的饱和上传容量,尽量让整个系统的上传能力达到最大,严格的根据当前的下载速率来决定哪些Peer应该保持疏通,充分利用同一个局域网和ISP的节点,将P2P流量尽可能维持在局域网内部或者同一个ISP内部,减少跨ISP的网络流量,减少P2P流量对网络拥塞的影响,有效的缩短节点启动下载所需的时间,提高了上传带宽的利用率。
如图9所示,图9为本发明客户端实现网络上传调度的方法的第一实施例的流程图。本实施例提到的客户端实现网络上传调度的方法,包括:
步骤S40,获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,配置请求中携带有本地配置信息、网络节点信息、上传/下载带宽;
本实施例中,客户端具备常规的P2P/P2SP网络传输功能,包括:
(1)定期向跟踪服务器(Tracker服务器)汇报在线情况和本地拥有的资源信息;
(2)通过源URL向资源索引服务器查询多资源,包括多源URL集合、文件Hash及文件校验信息等,同时向Tracker服务器查询网络节点,即与本地客户端连接的对端客户端(Peer);
(3)向多源URL对应的资源服务器和Peer请求数据并下载数据;
(4)完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载速度、下载结果、文件大小,安全属性等信息。
为了使整个P2P/P2SP网络上传效率最大化,客户端在执行常规的上传/下载任务前,还向上传策略服务器请求获取上传调度配置策略。客户端发送的配置请求中包括了客户端收集的本地配置信息和网络节点信息。其中,本地配置信息可包括:用户对客户端的参数设置,例如,限速状况、上传和下载的上限速度、最大任务数、最大连接量等;客户端当前的网络类型,例如LAN、ADSL或Modem;本地IP地址等信息。网络节点信息可包括:与本地客户端连接的通道数量、对端服务器类型、对端服务器网络类型等。由于客户端的上传性能与本地带宽的大小密切相关,因此客户端将本地的上传/下载带宽作为配置策略的重要参数发送给上传策略服务器。
步骤S50,接收上传策略服务器返回的上传调度配置策略,根据上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
客户端根据上传策略服务器提供的上传调度配置策略,重新配置本地的配置参数,例如,通常对一个客户端,纯上传的通道数量一般不超过200个,纯上传的文件数量不超过8个。即一个文件可以同时对多个通道提供上传,如果双方建立连接后,本地发现自己是纯上传并且文件数或者通道数超过了限制,那么将中断连接,对方就会收到上传超过最大限制的错误码。如果发现是同一内网的通道,那么上传有所放宽,纯上传的文件数量只要小于预设的数量个,都允许提供纯上传。
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图10所示,图10为本发明客户端实现网络上传调度的方法的第二实施例的流程图。本实施例以图9所示实施例为基础,对步骤S40中客户端获取上传/下载带宽的步骤进行说明,包括:
步骤S41,发送带宽查询请求至带宽检测服务器;
步骤S42,接收带宽检测服务器返回的客户端的上传/下载带宽。
本实施例在P2SP网络中增加了带宽检测服务器,带宽检测服务器给客户端提供查询本机的带宽的接口,为客户端查询本地的上传/下载带宽提供服务,进而获得用户上传或下载速度。其中,在步骤S40中客户端获取上传/下载带宽的步骤之前还包括带宽检测的步骤:
步骤S43,发送带宽检测请求至带宽检测服务器;
步骤S44,接收带宽检测服务器返回的带宽测速的URL集合;
步骤S45,根据带宽测速的URL集合,执行上传和下载操作;
步骤S46,记录测速时间段内的上传/下载带宽,并发送记录的上传/下载带宽至带宽检测服务器存储。
客户端定期向带宽检测服务器发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端将测速结果上报给带宽检测服务器,为客户端提供准确的上传和下载带宽,来为制定合理的上传调度配置策略提供准确的参数,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图11所示,图11为本发明网络带宽检测的方法的实施例的流程图。本实施例提到的网络带宽检测的方法,包括:
步骤S61,接收客户端发送的带宽检测请求;
步骤S62,向客户端返回带宽测速的URL集合;
步骤S63,接收并存储客户端记录的在测速时间段内的上传/下载带宽。
本实施例在P2SP网络中增加了带宽检测服务器,客户端定期向带宽检测服务器发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端将测速结果上报给带宽检测服务器,供带宽检测服务器存储。其中,当客户端需要查询本地带宽时,带宽检测服务器还向客户端提供带宽查询服务,在步骤S63之后还包括带宽查询的步骤:
步骤S64,接收客户端发送的带宽查询请求;
步骤S65,根据带宽查询请求,查询客户端的上传/下载带宽,并将客户端的上传/下载带宽返回给客户端。
带宽检测服务器给客户端提供查询本机的带宽的接口,为客户端查询本地的上传/下载带宽提供服务,进而为客户端提供准确的上传和下载带宽,并为制定合理的上传调度配置策略提供准确的参数,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图12所示,图12为本发明上传策略服务器实现网络上传调度的方法的第一实施例的流程图。本实施例提到的上传策略服务器实现网络上传调度的方法,包括:
步骤S70,接收客户端发送的配置请求,配置请求中携带有客户端获取的本地配置信息、网络节点信息、上传/下载带宽;
本实施例中,客户端通过TCP协议向上传策略服务器报告Peer信息,客户端访问上传策略服务器需要携带的请求信息如下表:
步骤S80,根据配置请求,确定客户端的上传调度配置策略,并发送上传调度配置策略至客户端。
上传策略服务器收集客户端上报的配置请求信息,根据配置请求中的本地网络配置信息和历史上传下载网络信息,制定合理的上传调度配置策略,包括各类控制参数,并且帮助P2SP网络中的客户端相互联通,尽可能发挥客户端P2P最佳的上传效率。P2P客户端同时承担客户端和服务器的角色,上传策略服务器在制定上传调度配置策略时,考虑客户端的网络链接和上传下载任务的情况,上传调度配置策略可包括限速策略和阻塞/非阻塞策略。P2P/P2SP网络中的每个客户端,都需尽可能的提高它自身的下载速度,为了尽可能提升下载速度,除了使用多源URL外,每个客户端从它可以连接的对端客户端处下载文件,并根据对端客户端提供的下载速率给予同等的上传回报。对于合作者,提供上传服务,对于不合作的,就阻塞对方。阻塞是一种临时拒绝的上传策略,虽然上传停止了,但是下载仍然继续。在阻塞停止的时候,连接并不需要重新建立。上传策略服务器端收到请求后,向客户端返回上传调度配置策略,包括对应的配置和关键信息,如下表:
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图13所示,图13为本发明上传策略服务器实现网络上传调度的方法的第二实施例的流程图。本实施例以图12所示实施例为基础,在步骤S80中,上传调度配置策略包括限速策略和阻塞/非阻塞策略,其中,确定限速策略的步骤包括:
步骤S811,从网络节点信息中提取客户端的下载状态,从本地配置信息中提取客户端的限速状态;
步骤S812,当客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则执行步骤S814;如果否,则执行步骤S813;
步骤S813,以用户设置的限速作为上传限速;
步骤S814,当客户端的限速状态为用户未限速时,判断客户端的下载状态;
步骤S815,当客户端的下载状态为空闲状态时,从上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
步骤S816,当客户端的下载状态为繁忙状态时,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在上传限速波峰值与上传限速波谷值之间交替。
本实施例中,依据用户下载任务时候的状态,分为空闲状态和繁忙状态两种,依据用户设置下载速度的状况,分为用户限速和未限速两种场景。
当客户端为空闲状态时,如果用户有设置限速(即设置的上传速度的上限值),则以用户设置的限速为准,但若用户设置的上传速度上限值过低,例如设置上传限速为1Byte/S,则认为设置的限速不合理,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则根据历史上传速度和空闲率来计算上传限速,其中,空闲率在TCP公网下载时通常取50%,在TPC内网下载时通常取80%,历史上传速度峰值是由客户端逐步统计出来的,统计客户端连接TCP公网时曾经到达过的最高上传速度值,缺省值为10×1024Byte/S,同时还设置一个上传限速区间,允许上传限速在区间[空闲上传限速最小值,空闲上传限速最大值]内浮动,上传限速区间的缺省值为[10×1024Byte/S,800×1024Byte/S]。
当客户端为繁忙状态时,如果用户有设置限速,则以用户设置的限速为准,若用户设置的上传速度上限值过低,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则采用波浪式限速法,计算上传限速波峰值和上传限速波谷值,控制上传限速在上传限速波峰值与上传限速波谷值之间轮番交替,即采用动态的上传限速。其中,上传限速波峰值选取繁忙时的上传速度最大值,缺省值为1024×1024Byte/S,波峰持续时间缺省值为3000毫秒,上传限速波谷值与历史上传速度峰值和繁忙率有关,繁忙率缺省值为80%,波谷持续时间缺省值为20000毫秒。
本实施例中,上传策略服务器根据客户端当前数据传输时的任务状态、用户设置的限速状态以及客户端历史上传/下载带宽状况,来制定动态的限速策略,能够更加充分考虑每个P2P节点自身的能力和网络环境状况,让全局P2P的性能得到最大的发挥。
如图14所示,图14为本发明上传策略服务器实现网络上传调度的方法的第三实施例的流程图。本实施例以图12所示实施例为基础,对步骤S80中确定阻塞/非阻塞策略的步骤进行说明,包括:
步骤S821,从网络节点信息中,获取与客户端同一内网的通道,将与客户端同一内网的通道保持疏通;
本实施例中,上传策略服务器制定阻塞/非阻塞策略时,为避免网络节点中Peer因长时间等待而无法获得数据,优先考虑内网传输,对同一内网的通道默认非阻塞,即保持疏通,直接提供上传,能够有效的缩短网络节点启动下载所需的时间,有利于提高上传带宽的利用率和P2P文件分发性能。
步骤S822,根据网络节点信息确定非阻塞通道数量上限W;
步骤S823,从网络节点信息中,获取新通道数量;
新通道为新加入的通道,这些通道没有被设定过阻塞或非阻塞状态,也从未获得过上传或下载机会,反之则为老通道,为给新通道更多上传或选择的机会,通常新通道被疏通的机会是老通道的3倍。上传策略服务器在制定阻塞/非阻塞策略时,为了避免因为频繁的阻塞和疏通Peer造成的资源浪费,每隔一段时间计算一次哪个Peer需要被阻塞,例如每隔20秒计算一次,然后将这种阻塞和非阻塞状态保持到下一个20秒。
步骤S824,当新通道数量≥W×第一预设比率时,在与客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量≥W×第一预设比率时,说明新通道数量较多,在与客户端非同一内网的老通道中,将下载速度较大的通道保留下来,继续保持疏通,剩下的老通道为待替换淘汰的通道,需要与新通道一起,经过进一步的分析确认后,重新设定其阻塞或非阻塞状态。其中,第一预设比率的经验值为0.4,第一预设速度经验值为10K Byte/S。
步骤S825,当新通道数量<W×第一预设比率时,在与客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
当新通道数量<W×第一预设比率时,说明新通道数量较少,可多保留一部分老通道,在与客户端非同一内网的老通道中,选择下载速度较快的通道,继续保持疏通,剩下的老通道为待替换淘汰的通道,与新通道一起,重新设定其阻塞或非阻塞状态。其中,第二预设速度经验值为1K Byte/S,第二预设比率经验值为0.8。
上述待替换淘汰的通道数量作为待替换的非阻塞名额,待替换的非阻塞名额包括S+M+N。其中,S个名额给与客户端同一内网的通道,在新通道和老通道中,所有与客户端同一内网的通道都是默认非阻塞的,因此S就等于与客户端同一内网的通道的数量。
步骤S826,在与客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
M个名额给除S之外积分值最大的M个通道,即在新通道和待替换淘汰的老通道中,查找与客户端不在同一内网的通道,计算这些通道的积分值,获取积分值最大的M个通道。
步骤S827,在与客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
N个名额给除S+M之外,阻塞时间最长的N个通道,即在新通道和待替换淘汰的老通道中,除了与客户端同一内网的通道、以及与客户端不在同一内网的通道中M个积分值最大的通道之外,剩下的通道中保持阻塞状态时间最长的N个通道,由于新通道尚未设置阻塞或非阻塞状态,因此,这N个通道名额通常可认为是留给老通道的。
请一并参照图15,图15是对确定非阻塞通道数量上限W的步骤进行说明,步骤S822包括:
步骤S8221,从网络节点信息中获取任务数;
步骤S8222,确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]};
其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值,根据上述公式可知,W的最大值为A1,例如,A1=200,A2=40,A3=30,W=min{200,max[40,任务数×30]},当任务数为5时,W=150,当任务数为10时,W=200。
请一并参照图16,图16是对步骤S826中确定各个通道的积分值的步骤进行说明,包括:
步骤S8260,判断通道的类型;
步骤S8261,当通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;
其中,考虑到同类型客户端在数据传输过程中传输速度较快,非同类型客户端传输速度较慢,当通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当通道对应的对端客户端与本地的客户端类型不同时,B1=0.1。此外,为了照顾某些冷门资源的传输,当通道对应的对端客户端的任务资源数小于5时,B2=1,当通道对应的对端客户端的任务资源数大于或等于5时,B2=0。
步骤S8262,当通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;
其中,考虑到资源共享,以及在上传调度时,对于合作的客户端提供同等的上传回报,当通道对应的对端客户端中存储有本地所需资源时,B3=5,当通道对应的对端客户端中没有本地所需资源时,B3=0。
请一并参照图17,图17是对步骤S826中确定M的步骤进行说明,包括:
步骤S8263,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,X1=min[历史上传速度峰值,繁忙时上传速度最大值];
步骤S8264,从网络节点信息中提取客户端的下载状态;
步骤S8265,当客户端的下载状态为空闲状态时,X2=X1×空闲率;
步骤S8266,当客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
步骤S8267,从本地配置信息中提取用户设置的限速,在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
如果用户未限速,则X3=X2。
步骤S8268,当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
步骤S8269,当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_min缺省值为4个;M_step为步长,M_step缺省值为8×1024Byte/S;M_base为步长调整幅度,M_base缺省值为64×1024Byte/S。
请一并参照图18,图18是对步骤S827中确定N的步骤进行说明,包括:
步骤S8271,确定与客户端同一内网的通道数量为S;
步骤S8272,当新通道数量≥W×第一预设比率时,确定与客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
步骤S8273,当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
由于非阻塞通道数量上限为W,包括老通道中保留的通道数量(Y1或Y2)和待替换的非阻塞名额,其中待替换的非阻塞名额包括S个与客户端同一内网的通道、M个除S之外积分值最大的M个通道、N个除S+M之外阻塞时间最长的N个通道。因此,在上述实施例中已经得到,当新通道数量≥W×第一预设比率时,老通道中保留的通道数量为Y1,则W=Y1+S+M+N,当新通道数量<W×第一预设比率时,老通道中保留的通道数量为Y2,则W=Y2+S+M+N。通常情况下,N还可根据实际情况设定为与M存在倍率关系,例如,N取M/4,如此一来,在计算M和N时,更加简单方便。
本实施例中,上传阻塞对提高P2P上传性能是必要的,客户端如何向Peer请求数据以及如何处理来自其他Peer节点的请求策略是上调度的核心关键。Peer上传为所有下载者提供一致可靠的下载速率,并适当惩罚那些只下载而不上传的Peer。Peer对那些向它提供上传服务的Peer给予同样的回报,目的是希望在任何时候都有若干个连接正在进行着双向传输。通常每个Peer一直与固定数量的其它Peer保持疏通,使得TCP的拥塞控制性能可靠的饱和上传容量,尽量让整个系统的上传能力达到最大,严格的根据当前的下载速率来决定哪些Peer应该保持疏通,充分利用同一个局域网和ISP的节点,将P2P流量尽可能维持在局域网内部或者同一个ISP内部,减少跨ISP的网络流量,减少P2P流量对网络拥塞的影响,有效的缩短节点启动下载所需的时间,提高了上传带宽的利用率。
如图19所示,图19为本发明网络上传调度的系统的第一实施例的结构示意图。本实施例提到的网络上传调度的系统,包括客户端100和上传策略服务器200,客户端100包括上传控制模块110,其中:
上传控制模块110用于,获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器200,配置请求中携带有本地配置信息、网络节点信息、上传/下载带宽;
上传策略服务器200用于,根据配置请求,确定客户端100的上传调度配置策略,并发送上传调度配置策略至客户端100;
上传控制模块110还用于,根据上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本实施例中,客户端100具备常规的P2P/P2SP网络传输功能,包括:
(1)定期向跟踪服务器(Tracker服务器)汇报在线情况和本地拥有的资源信息;
(2)通过源URL向资源索引服务器查询多资源,包括多源URL集合、文件Hash及文件校验信息等,同时向Tracker服务器查询网络节点,即与本地客户端100连接的对端客户端100(Peer);
(3)向多源URL对应的资源服务器和Peer请求数据并下载数据;
(4)完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载速度、下载结果、文件大小,安全属性等信息。
为了使整个P2P/P2SP网络上传效率最大化,客户端100在执行常规的上传/下载任务前,还向上传策略服务器200请求获取上传调度配置策略。客户端100发送的配置请求中包括了客户端100收集的本地配置信息和网络节点信息。其中,本地配置信息可包括:用户对客户端100的参数设置,例如,限速状况、上传和下载的上限速度、最大任务数、最大连接量等;客户端100当前的网络类型,例如LAN、ADSL或Modem;本地IP地址等信息。网络节点信息可包括:与本地客户端100连接的通道数量、对端服务器类型、对端服务器网络类型等。由于客户端100的上传性能与本地带宽的大小密切相关,因此客户端100将本地的上传/下载带宽作为配置策略的重要参数发送给上传策略服务器200。客户端100访问上传策略服务器200需要携带的请求信息如下表:
请求信息名称 | 描述 |
Network tyPe | 网络连接类型: |
-1:未知;0:LAN;1:ADSL;2:Modem | |
Internal IP | 内部IP,PEER获取到的本机IP |
User Custom Down Limit | 用户当前设置的下载最大速度(单位:字节/秒) |
User Custom UP Limit | 用户当前设置的上传最大速度(单位:字节/秒) |
TCP Same NAT Down Max | TCP内网下载速度峰值(单位:字节/秒) |
TCP Same NAT UP Max | TCP内网上传速度峰值(单位:字节/秒) |
TCP Diff NAT Down Max | TCP公网下载速度峰值(单位:字节/秒) |
TCP Diff NAT UP Max | TCP公网上传速度峰值(单位:字节/秒) |
UDP Down Max | UDP下载速度峰值(单位:字节/秒) |
UDP UP Max | UDP上传速度峰值(单位:字节/秒) |
Busy UPload Interval | 从上一次上报以来下载有任务运行的时间(单位:毫秒) |
Busy UPload Bytes | 从上一次上报以来下载有任务上传的数据量(单位:字节) |
Idle UPload Interval | 从上一次上报以来下载空闲时运行的时间(单位:毫秒) |
Idle UPload Bytes | 从上一次上报以来下载空闲时上传的数据量(单位:字节) |
OnLineTime | 在线时长(秒) |
DownloadTime | 下载时长(秒) |
UPloadTime | 上传时长(秒) |
TotalReceiveBytes | 下载字节 |
TotalSendBytes | 上传字节 |
UPloadCount | 上传PEER数 |
PureUPloadCount | 纯上传PEER数 |
UPDownCount | 边下边传PEER数 |
本实施例在P2SP网络中增加了上传策略服务器200,用于保存P2P上传调度控制的整体策略。上传策略服务器200收集客户端100上报的配置请求信息,根据配置请求中的本地网络配置信息和历史上传下载网络信息,制定合理的上传调度配置策略,包括各类控制参数,并且帮助P2SP网络中的客户端100相互联通,尽可能发挥客户端100P2P最佳的上传效率。P2P客户端100同时承担客户端100和服务器的角色,上传策略服务器200在制定上传调度配置策略时,考虑客户端100的网络链接和上传下载任务的情况,上传调度配置策略可包括限速策略和阻塞/非阻塞策略。P2P/P2SP网络中的每个客户端100,都需尽可能的提高它自身的下载速度,为了尽可能提升下载速度,除了使用多源URL外,每个客户端100从它可以连接的对端客户端100处下载文件,并根据对端客户端100提供的下载速率给予同等的上传回报。对于合作者,提供上传服务,对于不合作的,就阻塞对方。阻塞是一种临时拒绝的上传策略,虽然上传停止了,但是下载仍然继续。在阻塞停止的时候,连接并不需要重新建立。上传策略服务器200端收到请求后,向客户端100返回上传调度配置策略,包括对应的配置和关键信息,如下表:
客户端100根据上传策略服务器200提供的上传调度配置策略,重新配置本地的配置参数,例如,通常对一个客户端100,纯上传的通道数量一般不超过200个,纯上传的文件数量不超过8个。即一个文件可以同时对多个通道提供上传,如果双方建立连接后,本地发现自己是纯上传并且文件数或者通道数超过了限制,那么将中断连接,对方就会收到上传超过最大限制的错误码。如果发现是同一内网的通道,那么上传有所放宽,纯上传的文件数量只要小于预设的数量个,都允许提供纯上传。
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端100的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图20所示,图20为本发明网络上传调度的系统的第二实施例的结构示意图。本实施例在图19所示实施例的基础上,增加了带宽检测服务器300,并且在客户端100中还增加了带宽测速模块120,其中:
带宽测速模块120用于,发送带宽查询请求至带宽检测服务器300;
带宽检测服务器300用于,根据带宽查询请求,查询客户端100的上传/下载带宽,并将客户端100的上传/下载带宽返回给客户端100。
本实施例在P2SP网络中增加了带宽检测服务器300,带宽检测服务器300给客户端100提供查询本机的带宽的接口,为客户端100查询本地的上传/下载带宽提供服务,进而获得用户上传或下载速度。
进一步的,在查询带宽前,采用以下模块进行带宽测速:
带宽测速模块120还用于,发送带宽检测请求至带宽检测服务器300;
带宽检测服务器300还用于,向客户端100返回带宽测速的URL集合;
带宽测速模块120还用于,根据带宽测速的URL集合,执行上传和下载操作;记录测速时间段内的上传/下载带宽,并发送记录的上传/下载带宽至带宽检测服务器300存储。
客户端100定期向带宽检测服务器300发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端100将测速结果上报给带宽检测服务器300,为客户端100提供准确的上传和下载带宽,来为制定合理的上传调度配置策略提供准确的参数,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
本发明实施例中,上传调度配置策略包括限速策略和阻塞/非阻塞策略。上传策略服务器200在确定限速策略时,用于:
从网络节点信息中提取客户端100的下载状态,从本地配置信息中提取客户端100的限速状态;
当客户端100的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照客户端100的限速状态为用户未限速确定上传限速;如果否,则以用户设置的限速作为上传限速;
当客户端100的限速状态为用户未限速时,判断客户端100的下载状态;
当客户端100的下载状态为空闲状态时,从上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当客户端100的下载状态为繁忙状态时,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在上传限速波峰值与上传限速波谷值之间交替。
本实施例中,依据用户下载任务时候的状态,分为空闲状态和繁忙状态两种,依据用户设置下载速度的状况,分为用户限速和未限速两种场景。
当客户端100为空闲状态时,如果用户有设置限速(即设置的上传速度的上限值),则以用户设置的限速为准,但若用户设置的上传速度上限值过低,例如设置上传限速为1Byte/S,则认为设置的限速不合理,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则根据历史上传速度和空闲率来计算上传限速,其中,空闲率在TCP公网下载时通常取50%,在TPC内网下载时通常取80%,历史上传速度峰值是由客户端100逐步统计出来的,统计客户端100连接TCP公网时曾经到达过的最高上传速度值,缺省值为10×1024Byte/S,同时还设置一个上传限速区间,允许上传限速在区间[空闲上传限速最小值,空闲上传限速最大值]内浮动,上传限速区间的缺省值为[10×1024Byte/S,800×1024Byte/S]。
当客户端100为繁忙状态时,如果用户有设置限速,则以用户设置的限速为准,若用户设置的上传速度上限值过低,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则采用波浪式限速法,计算上传限速波峰值和上传限速波谷值,控制上传限速在上传限速波峰值与上传限速波谷值之间轮番交替,即采用动态的上传限速。其中,上传限速波峰值选取繁忙时的上传速度最大值,缺省值为1024×1024Byte/S,波峰持续时间缺省值为3000毫秒,上传限速波谷值与历史上传速度峰值和繁忙率有关,繁忙率缺省值为80%,波谷持续时间缺省值为20000毫秒。
本实施例中,上传策略服务器200根据客户端100当前数据传输时的任务状态、用户设置的限速状态以及客户端100历史上传/下载带宽状况,来制定动态的限速策略,能够更加充分考虑每个P2P节点自身的能力和网络环境状况,让全局P2P的性能得到最大的发挥。
本发明实施例中,上传策略服务器200在确定阻塞/非阻塞策略时,用于:
从网络节点信息中,获取与客户端100同一内网的通道,将与客户端100同一内网的通道保持疏通;
根据网络节点信息确定非阻塞通道数量上限W;
从网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与客户端100非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与客户端100非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与客户端100非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与客户端100非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
本实施例中,上传策略服务器200制定阻塞/非阻塞策略时,为避免网络节点中Peer因长时间等待而无法获得数据,优先考虑内网传输,对同一内网的通道默认非阻塞,即保持疏通,直接提供上传,能够有效的缩短网络节点启动下载所需的时间,有利于提高上传带宽的利用率和P2P文件分发性能。
新通道为新加入的通道,这些通道没有被设定过阻塞或非阻塞状态,也从未获得过上传或下载机会,反之则为老通道,为给新通道更多上传或选择的机会,通常新通道被疏通的机会是老通道的3倍。上传策略服务器200在制定阻塞/非阻塞策略时,为了避免因为频繁的阻塞和疏通Peer造成的资源浪费,每隔一段时间计算一次哪个Peer需要被阻塞,例如每隔20秒计算一次,然后将这种阻塞和非阻塞状态保持到下一个20秒。
当新通道数量≥W×第一预设比率时,说明新通道数量较多,在与客户端100非同一内网的老通道中,将下载速度较大的通道保留下来,继续保持疏通,剩下的老通道为待替换淘汰的通道,需要与新通道一起,经过进一步的分析确认后,重新设定其阻塞或非阻塞状态。其中,第一预设比率的经验值为0.4,第一预设速度经验值为10K Byte/S。
当新通道数量<W×第一预设比率时,说明新通道数量较少,可多保留一部分老通道,在与客户端100非同一内网的老通道中,选择下载速度较快的通道,继续保持疏通,剩下的老通道为待替换淘汰的通道,与新通道一起,重新设定其阻塞或非阻塞状态。其中,第二预设速度经验值为1K Byte/S,第二预设比率经验值为0.8。
上述待替换淘汰的通道数量作为待替换的非阻塞名额,待替换的非阻塞名额包括S+M+N。其中,S个名额给与客户端100同一内网的通道,在新通道和老通道中,所有与客户端100同一内网的通道都是默认非阻塞的,因此S就等于与客户端100同一内网的通道的数量。M个名额给除S之外积分值最大的M个通道,即在新通道和待替换淘汰的老通道中,查找与客户端100不在同一内网的通道,计算这些通道的积分值,获取积分值最大的M个通道。N个名额给除S+M之外,阻塞时间最长的N个通道,即在新通道和待替换淘汰的老通道中,除了与客户端100同一内网的通道、以及与客户端100不在同一内网的通道中M个积分值最大的通道之外,剩下的通道中保持阻塞状态时间最长的N个通道,由于新通道尚未设置阻塞或非阻塞状态,因此,这N个通道名额通常可认为是留给老通道的。
进一步的,上传策略服务器200在确定非阻塞通道数量上限W时,还用于:
从网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]}。
其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值。根据上述公式可知,W的最大值为A1,例如,A1=200,A2=40,A3=30,W=min{200,max[40,任务数×30]},当任务数为5时,W=150,当任务数为10时,W=200。
进一步的,上传策略服务器200确定各个通道的积分值时,还用于:
当通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;
当通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5。
考虑到同类型客户端100在数据传输过程中传输速度较快,非同类型客户端100传输速度较慢,当通道对应的对端客户端100与本地的客户端100类型相同时,B1=0.5,当通道对应的对端客户端100与本地的客户端100类型不同时,B1=0.1。此外,为了照顾某些冷门资源的传输,当通道对应的对端客户端100的任务资源数小于5时,B2=1,当通道对应的对端客户端100的任务资源数大于或等于5时,B2=0。考虑到资源共享,以及在上传调度时,对于合作的客户端100提供同等的上传回报,当通道对应的对端客户端100中存储有本地所需资源时,B3=5,当通道对应的对端客户端100中没有本地所需资源时,B3=0。
进一步的,上传策略服务器200在确定M时,还用于:
从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从网络节点信息中提取客户端100的下载状态;
当客户端100的下载状态为空闲状态时,X2=X1×空闲率;
当客户端100的下载状态为繁忙状态时,X2=X1×繁忙率;
从本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_min缺省值为4个;M_step为步长,M_step缺省值为8×1024Byte/S;M_base为步长调整幅度,M_base缺省值为64×1024Byte/S。如果用户未限速,则X3=X2。
进一步的,上传策略服务器200确定N时,还用于:
确定与客户端100同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与客户端100非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
由于非阻塞通道数量上限为W,包括老通道中保留的通道数量(Y1或Y2)和待替换的非阻塞名额,其中待替换的非阻塞名额包括S个与客户端100同一内网的通道、M个除S之外积分值最大的M个通道、N个除S+M之外阻塞时间最长的N个通道。因此,在上述实施例中已经得到,当新通道数量≥W×第一预设比率时,老通道中保留的通道数量为Y1,则W=Y1+S+M+N,当新通道数量<W×第一预设比率时,老通道中保留的通道数量为Y2,则W=Y2+S+M+N。通常情况下,N还可根据实际情况设定为与M存在倍率关系,例如,N取M/4,如此一来,在计算M和N时,更加简单方便。
本实施例中,上传阻塞对提高P2P上传性能是必要的,客户端100如何向Peer请求数据以及如何处理来自其他Peer节点的请求策略是上调度的核心关键。Peer上传为所有下载者提供一致可靠的下载速率,并适当惩罚那些只下载而不上传的Peer。Peer对那些向它提供上传服务的Peer给予同样的回报,目的是希望在任何时候都有若干个连接正在进行着双向传输。通常每个Peer一直与固定数量的其它Peer保持疏通,使得TCP的拥塞控制性能可靠的饱和上传容量,尽量让整个系统的上传能力达到最大,严格的根据当前的下载速率来决定哪些Peer应该保持疏通,充分利用同一个局域网和ISP的节点,将P2P流量尽可能维持在局域网内部或者同一个ISP内部,减少跨ISP的网络流量,减少P2P流量对网络拥塞的影响,有效的缩短节点启动下载所需的时间,提高了上传带宽的利用率。
如图21所示,图21为本发明客户端的第一实施例的结构示意图。本实施例提到的客户端100,包括上传控制模块110,上传控制模块110用于:
获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器200,配置请求中携带有本地配置信息、网络节点信息、上传/下载带宽;
接收上传策略服务器200返回的上传调度配置策略,根据上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
本实施例中,客户端100具备常规的P2P/P2SP网络传输功能,包括:
(1)定期向跟踪服务器(Tracker服务器)汇报在线情况和本地拥有的资源信息;
(2)通过源URL向资源索引服务器查询多资源,包括多源URL集合、文件Hash及文件校验信息等,同时向Tracker服务器查询网络节点,即与本地客户端100连接的对端客户端100(Peer);
(3)向多源URL对应的资源服务器和Peer请求数据并下载数据;
(4)完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载速度、下载结果、文件大小,安全属性等信息。
为了使整个P2P/P2SP网络上传效率最大化,客户端100在执行常规的上传/下载任务前,还向上传策略服务器200请求获取上传调度配置策略。客户端100发送的配置请求中包括了客户端100收集的本地配置信息和网络节点信息。其中,本地配置信息可包括:用户对客户端100的参数设置,例如,限速状况、上传和下载的上限速度、最大任务数、最大连接量等;客户端100当前的网络类型,例如LAN、ADSL或Modem;本地IP地址等信息。网络节点信息可包括:与本地客户端100连接的通道数量、对端服务器类型、对端服务器网络类型等。由于客户端100的上传性能与本地带宽的大小密切相关,因此客户端100将本地的上传/下载带宽作为配置策略的重要参数发送给上传策略服务器200。
客户端100根据上传策略服务器200提供的上传调度配置策略,重新配置本地的配置参数,例如,通常对一个客户端100,纯上传的通道数量一般不超过200个,纯上传的文件数量不超过8个。即一个文件可以同时对多个通道提供上传,如果双方建立连接后,本地发现自己是纯上传并且文件数或者通道数超过了限制,那么将中断连接,对方就会收到上传超过最大限制的错误码。如果发现是同一内网的通道,那么上传有所放宽,纯上传的文件数量只要小于预设的数量个,都允许提供纯上传。
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端100的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图22所示,图22为本发明客户端的第二实施例的结构示意图。本实施例在图21所示实施例的基础上,增加了带宽测速模块120,用于:
发送带宽查询请求至带宽检测服务器300;
接收带宽检测服务器300返回的客户端100的上传/下载带宽。
本实施例在P2SP网络中增加了带宽检测服务器300,带宽检测服务器300给客户端100提供查询本机的带宽的接口,为客户端100查询本地的上传/下载带宽提供服务,进而获得用户上传或下载速度。
进一步的,带宽测速模块120还用于:
发送带宽检测请求至带宽检测服务器300;
接收带宽检测服务器300返回的带宽测速的URL集合;
根据带宽测速的URL集合,执行上传和下载操作;
记录测速时间段内的上传/下载带宽,并发送记录的上传/下载带宽至带宽检测服务器300存储。
客户端100定期向带宽检测服务器300发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端100将测速结果上报给带宽检测服务器300,为客户端100提供准确的上传和下载带宽,来为制定合理的上传调度配置策略提供准确的参数,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图23所示,图23为本发明带宽检测服务器的第一实施例的结构示意图。本实施例提到的带宽检测服务器300,包括:
带宽检测请求接收模块310,用于接收客户端100发送的带宽检测请求;
测速URL发送模块320,用于向客户端100返回带宽测速的URL集合;
带宽存储模块330,用于接收并存储客户端100记录的在测速时间段内的上传/下载带宽。
本实施例在P2SP网络中增加了带宽检测服务器300,客户端100定期向带宽检测服务器300发送带宽检测请求,向服务器请求测速URL链接,然后通过返回的链接执行上传与下载测试,确定上传/下载带宽,客户端100将测速结果上报给带宽检测服务器300,供带宽检测服务器300存储,为客户端100查询本地的上传/下载带宽提供服务,进而为客户端100提供准确的上传和下载带宽,并为制定合理的上传调度配置策略提供准确的参数,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图24所示,图24为本发明带宽检测服务器的第二实施例的结构示意图。本实施例在图23所示实施例的基础上,增加了带宽查询请求接收模块340和带宽查询模块350,其中:
带宽查询请求接收模块340,用于接收客户端100发送的带宽查询请求;
带宽查询模块350,用于根据带宽查询请求,查询客户端100的上传/下载带宽,并将客户端100的上传/下载带宽返回给客户端100。
本实施例中,带宽检测服务器300给客户端100提供查询本机的带宽的接口,当客户端100需要查询本地带宽时,为客户端100查询本地的上传/下载带宽提供服务,进而为客户端100提供准确的上传和下载带宽,并为制定合理的上传调度配置策略提供准确的参数,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,有效提高P2P/P2SP网络上传效率。
如图25所示,图25为本发明上传策略服务器的第一实施例的结构示意图。本实施例提到的上传策略服务器200,包括:
配置请求接收模块210,用于接收客户端100发送的配置请求,配置请求中携带有客户端100获取的本地配置信息、网络节点信息、上传/下载带宽;
策略配置模块220,用于根据配置请求,确定客户端100的上传调度配置策略,并发送上传调度配置策略至客户端100。
本实施例中,客户端100通过TCP协议向上传策略服务器200报告Peer信息,客户端100访问上传策略服务器200需要携带的请求信息如下表:
上传策略服务器200收集客户端100上报的配置请求信息,根据配置请求中的本地网络配置信息和历史上传下载网络信息,制定合理的上传调度配置策略,包括各类控制参数,并且帮助P2SP网络中的客户端100相互联通,尽可能发挥客户端100P2P最佳的上传效率。P2P客户端100同时承担客户端100和服务器的角色,上传策略服务器200在制定上传调度配置策略时,考虑客户端100的网络链接和上传下载任务的情况,上传调度配置策略可包括限速策略和阻塞/非阻塞策略。P2P/P2SP网络中的每个客户端100,都需尽可能的提高它自身的下载速度,为了尽可能提升下载速度,除了使用多源URL外,每个客户端100从它可以连接的对端客户端100处下载文件,并根据对端客户端100提供的下载速率给予同等的上传回报。对于合作者,提供上传服务,对于不合作的,就阻塞对方。阻塞是一种临时拒绝的上传策略,虽然上传停止了,但是下载仍然继续。在阻塞停止的时候,连接并不需要重新建立。上传策略服务器200端收到请求后,向客户端100返回上传调度配置策略,包括对应的配置和关键信息,如下表:
本实施例在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端100的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端100的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2P/P2SP网络上传效率。
如图26所示,图26为本发明上传策略服务器的第二实施例的结构示意图。本实施例以图25所示实施例为基础,其中,通过策略配置模块220确定的上传调度配置策略中,包括限速策略和阻塞/非阻塞策略,策略配置模块220在制定限速策略时,包括限速策略配置单元221,限速策略配置单元221用于:
从网络节点信息中提取客户端100的下载状态,从本地配置信息中提取客户端100的限速状态;
当客户端100的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照客户端100的限速状态为用户未限速确定上传限速;如果否,则以用户设置的限速作为上传限速;
当客户端100的限速状态为用户未限速时,判断客户端100的下载状态;
当客户端100的下载状态为空闲状态时,从上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当客户端100的下载状态为繁忙状态时,从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在上传限速波峰值与上传限速波谷值之间交替。
本实施例中,依据用户下载任务时候的状态,分为空闲状态和繁忙状态两种,依据用户设置下载速度的状况,分为用户限速和未限速两种场景。
当客户端100为空闲状态时,如果用户有设置限速(即设置的上传速度的上限值),则以用户设置的限速为准,但若用户设置的上传速度上限值过低,例如设置上传限速为1Byte/S,则认为设置的限速不合理,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则根据历史上传速度和空闲率来计算上传限速,其中,空闲率在TCP公网下载时通常取50%,在TPC内网下载时通常取80%,历史上传速度峰值是由客户端100逐步统计出来的,统计客户端100连接TCP公网时曾经到达过的最高上传速度值,缺省值为10×1024Byte/S,同时还设置一个上传限速区间,允许上传限速在区间[空闲上传限速最小值,空闲上传限速最大值]内浮动,上传限速区间的缺省值为[10×1024Byte/S,800×1024Byte/S]。
当客户端100为繁忙状态时,如果用户有设置限速,则以用户设置的限速为准,若用户设置的上传速度上限值过低,视为用户未限速,按照用户未限速处理;如果用户没有设置限速,则采用波浪式限速法,计算上传限速波峰值和上传限速波谷值,控制上传限速在上传限速波峰值与上传限速波谷值之间轮番交替,即采用动态的上传限速。其中,上传限速波峰值选取繁忙时的上传速度最大值,缺省值为1024×1024Byte/S,波峰持续时间缺省值为3000毫秒,上传限速波谷值与历史上传速度峰值和繁忙率有关,繁忙率缺省值为80%,波谷持续时间缺省值为20000毫秒。
本实施例中,上传策略服务器200根据客户端100当前数据传输时的任务状态、用户设置的限速状态以及客户端100历史上传/下载带宽状况,来制定动态的限速策略,能够更加充分考虑每个P2P节点自身的能力和网络环境状况,让全局P2P的性能得到最大的发挥。
如图27所示,图27为本发明上传策略服务器的第三实施例的结构示意图。本实施例以图25所示实施例为基础,策略配置模块220在制定阻塞/非阻塞策略时,包括阻塞/非阻塞策略配置单元222,阻塞/非阻塞策略配置单元222用于:
从网络节点信息中,获取与客户端100同一内网的通道,将与客户端100同一内网的通道保持疏通;
根据网络节点信息确定非阻塞通道数量上限W;
从网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与客户端100非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与客户端100非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与客户端100非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与客户端100非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
本实施例中,上传策略服务器200制定阻塞/非阻塞策略时,为避免网络节点中Peer因长时间等待而无法获得数据,优先考虑内网传输,对同一内网的通道默认非阻塞,即保持疏通,直接提供上传,能够有效的缩短网络节点启动下载所需的时间,有利于提高上传带宽的利用率和P2P文件分发性能。新通道为新加入的通道,这些通道没有被设定过阻塞或非阻塞状态,也从未获得过上传或下载机会,反之则为老通道,为给新通道更多上传或选择的机会,通常新通道被疏通的机会是老通道的3倍。上传策略服务器200在制定阻塞/非阻塞策略时,为了避免因为频繁的阻塞和疏通Peer造成的资源浪费,每隔一段时间计算一次哪个Peer需要被阻塞,例如每隔20秒计算一次,然后将这种阻塞和非阻塞状态保持到下一个20秒。
当新通道数量≥W×第一预设比率时,说明新通道数量较多,在与客户端100非同一内网的老通道中,将下载速度较大的通道保留下来,继续保持疏通,剩下的老通道为待替换淘汰的通道,需要与新通道一起,经过进一步的分析确认后,重新设定其阻塞或非阻塞状态。其中,第一预设比率的经验值为0.4,第一预设速度经验值为10K Byte/S。
当新通道数量<W×第一预设比率时,说明新通道数量较少,可多保留一部分老通道,在与客户端100非同一内网的老通道中,选择下载速度较快的通道,继续保持疏通,剩下的老通道为待替换淘汰的通道,与新通道一起,重新设定其阻塞或非阻塞状态。其中,第二预设速度经验值为1K Byte/S,第二预设比率经验值为0.8。
上述待替换淘汰的通道数量作为待替换的非阻塞名额,待替换的非阻塞名额包括S+M+N。其中,S个名额给与客户端100同一内网的通道,在新通道和老通道中,所有与客户端100同一内网的通道都是默认非阻塞的,因此S就等于与客户端100同一内网的通道的数量。M个名额给除S之外积分值最大的M个通道,即在新通道和待替换淘汰的老通道中,查找与客户端100不在同一内网的通道,计算这些通道的积分值,获取积分值最大的M个通道。N个名额给除S+M之外,阻塞时间最长的N个通道,即在新通道和待替换淘汰的老通道中,除了与客户端100同一内网的通道、以及与客户端100不在同一内网的通道中M个积分值最大的通道之外,剩下的通道中保持阻塞状态时间最长的N个通道,由于新通道尚未设置阻塞或非阻塞状态,因此,这N个通道名额通常可认为是留给老通道的。
进一步的,阻塞/非阻塞策略配置单元222在确定非阻塞通道数量上限W时,还用于:
从网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]}。
其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值,根据上述公式可知,W的最大值为A1,例如,A1=200,A2=40,A3=30,W=min{200,max[40,任务数×30]},当任务数为5时,W=150,当任务数为10时,W=200。
进一步的,阻塞/非阻塞策略配置单元222在确定各个通道的积分值时,还用于:
当通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;
当通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5。
本实施例中,考虑到同类型客户端100在数据传输过程中传输速度较快,非同类型客户端100传输速度较慢,当通道对应的对端客户端100与本地的客户端100类型相同时,B1=0.5,当通道对应的对端客户端100与本地的客户端100类型不同时,B1=0.1。此外,为了照顾某些冷门资源的传输,当通道对应的对端客户端100的任务资源数小于5时,B2=1,当通道对应的对端客户端100的任务资源数大于或等于5时,B2=0。考虑到资源共享,以及在上传调度时,对于合作的客户端100提供同等的上传回报,当通道对应的对端客户端100中存储有本地所需资源时,B3=5,当通道对应的对端客户端100中没有本地所需资源时,B3=0。
进一步的,阻塞/非阻塞策略配置单元222在确定M时,还用于:
从上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从网络节点信息中提取客户端100的下载状态;
当客户端100的下载状态为空闲状态时,X2=X1×空闲率;
当客户端100的下载状态为繁忙状态时,X2=X1×繁忙率;
从本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_min缺省值为4个;M_step为步长,M_step缺省值为8×1024Byte/S;M_base为步长调整幅度,M_base缺省值为64×1024Byte/S。如果用户未限速,则X3=X2。
进一步的,阻塞/非阻塞策略配置单元222在确定N时,还用于:
确定与客户端100同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与客户端100非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
由于非阻塞通道数量上限为W,包括老通道中保留的通道数量(Y1或Y2)和待替换的非阻塞名额,其中待替换的非阻塞名额包括S个与客户端100同一内网的通道、M个除S之外积分值最大的M个通道、N个除S+M之外阻塞时间最长的N个通道。因此,在上述实施例中已经得到,当新通道数量≥W×第一预设比率时,老通道中保留的通道数量为Y1,则W=Y1+S+M+N,当新通道数量<W×第一预设比率时,老通道中保留的通道数量为Y2,则W=Y2+S+M+N。通常情况下,N还可根据实际情况设定为与M存在倍率关系,例如,N取M/4,如此一来,在计算M和N时,更加简单方便。
本实施例中,上传阻塞对提高P2P上传性能是必要的,客户端100如何向Peer请求数据以及如何处理来自其他Peer节点的请求策略是上调度的核心关键。Peer上传为所有下载者提供一致可靠的下载速率,并适当惩罚那些只下载而不上传的Peer。Peer对那些向它提供上传服务的Peer给予同样的回报,目的是希望在任何时候都有若干个连接正在进行着双向传输。通常每个Peer一直与固定数量的其它Peer保持疏通,使得TCP的拥塞控制性能可靠的饱和上传容量,尽量让整个系统的上传能力达到最大,严格的根据当前的下载速率来决定哪些Peer应该保持疏通,充分利用同一个局域网和ISP的节点,将P2P流量尽可能维持在局域网内部或者同一个ISP内部,减少跨ISP的网络流量,减少P2P流量对网络拥塞的影响,有效的缩短节点启动下载所需的时间,提高了上传带宽的利用率。
参照图28,图28为发明实施例中P2SP网络的结构示意图。本发明实施例中的P2SP网络,除了包括常规的资源索引服务器400、跟踪服务器500、资源入库服务器600和统计服务器700外,还包括了上述图19和图20所示的网络上传调度的系统,即包括客户端100、上传策略服务器200和带宽检测服务器300,其具体结构和用途可参照上述实施例,在此不作赘述。由于采用了上述实施例中的网络上传调度的系统,本实施例的P2SP网络相对于传统的P2SP网络来说,在P2SP多源传输过程中,根据用户本地配置信息、当前的网络节点信息、上传/下载带宽等信息,制定上传调度配置策略,自适应的调整用户的上传带宽和网络节点的连接,使客户端的上传调度与P2P节点自身的服务能力和网络环境状况保持良好的兼容性,客户端的上传调度不再是固定不变的,能够更好的适应用户下载任务,有效提高P2SP网络上传效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、的方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、的方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、的方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (42)
1.一种网络上传调度的方法,其特征在于,包括步骤:
客户端获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
所述上传策略服务器根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端;
所述客户端根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
2.根据权利要求1所述的网络上传调度的方法,其特征在于,所述客户端获取上传/下载带宽的步骤包括:
所述客户端发送带宽查询请求至带宽检测服务器;
所述带宽检测服务器根据所述带宽查询请求,查询所述客户端的上传/下载带宽,并将所述客户端的上传/下载带宽返回给所述客户端。
3.根据权利要求2所述的网络上传调度的方法,其特征在于,所述客户端获取上传/下载带宽的步骤之前还包括:
所述客户端发送带宽检测请求至所述带宽检测服务器;
所述带宽检测服务器向所述客户端返回带宽测速的URL集合;
所述客户端根据所述带宽测速的URL集合,执行上传和下载操作;
所述客户端记录测速时间段内的上传/下载带宽,并发送记录的所述上传/下载带宽至所述带宽检测服务器存储。
4.根据权利要求1至3任一项所述的网络上传调度的方法,其特征在于,所述上传调度配置策略包括限速策略和阻塞/非阻塞策略。
5.根据权利要求4所述的网络上传调度的方法,其特征在于,确定所述限速策略的步骤包括:
从所述网络节点信息中提取所述客户端的下载状态,从所述本地配置信息中提取所述客户端的限速状态;
当所述客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照所述客户端的限速状态为用户未限速时的处理方式确定上传限速;如果否,则以用户设置的限速作为上传限速;
当所述客户端的限速状态为用户未限速时,判断所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,从所述上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当所述客户端的下载状态为繁忙状态时,从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在所述上传限速波峰值与上传限速波谷值之间交替。
6.根据权利要求4所述的网络上传调度的方法,其特征在于,确定所述阻塞/非阻塞策略的步骤包括:
从所述网络节点信息中,获取与所述客户端同一内网的通道,将与所述客户端同一内网的通道保持疏通;
根据所述网络节点信息确定非阻塞通道数量上限W;
从所述网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与所述客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与所述客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与所述客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与所述客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
7.根据权利要求6所述的网络上传调度的方法,其特征在于,确定非阻塞通道数量上限W的步骤包括:
从所述网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]},其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值。
8.根据权利要求6所述的网络上传调度的方法,其特征在于,确定M的步骤包括:
从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从所述网络节点信息中提取所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,X2=X1×空闲率;
当所述客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
从所述本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_step为步长,M_base为步长调整幅度。
9.根据权利要求8所述的网络上传调度的方法,其特征在于,确定N的步骤包括:
确定与所述客户端同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与所述客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
10.根据权利要求6所述的网络上传调度的方法,其特征在于,确定各个通道的积分值的步骤包括:
当所述通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当所述通道对应的对端客户端与本地的客户端类型不同时,B1=0.1;当所述通道对应的对端客户端的任务资源数小于5时,B2=1,当所述通道对应的对端客户端的任务资源数大于或等于5时,B2=0;
当所述通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端中存储有本地所需资源时,B3=5,当所述通道对应的对端客户端中没有本地所需资源时,B3=0。
11.一种客户端实现网络上传调度的方法,其特征在于,包括步骤:
获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
接收所述上传策略服务器返回的上传调度配置策略,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
12.根据权利要求11所述的客户端实现网络上传调度的方法,其特征在于,所述获取上传/下载带宽的步骤包括:
发送带宽查询请求至带宽检测服务器;
接收所述带宽检测服务器返回的所述客户端的上传/下载带宽。
13.根据权利要求12所述的客户端实现网络上传调度的方法,其特征在于,所述获取上传/下载带宽的步骤之前还包括:
发送带宽检测请求至所述带宽检测服务器;
接收所述带宽检测服务器返回的带宽测速的URL集合;
根据所述带宽测速的URL集合,执行上传和下载操作;
记录测速时间段内的上传/下载带宽,并发送记录的所述上传/下载带宽至所述带宽检测服务器存储。
14.一种上传策略服务器实现网络上传调度的方法,其特征在于,包括步骤:
接收客户端发送的配置请求,所述配置请求中携带有所述客户端获取的本地配置信息、网络节点信息、上传/下载带宽;
根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端。
15.根据权利要求14所述的上传策略服务器实现网络上传调度的方法,其特征在于,所述上传调度配置策略包括限速策略和阻塞/非阻塞策略。
16.根据权利要求15所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定所述限速策略的步骤包括:
从所述网络节点信息中提取所述客户端的下载状态,从所述本地配置信息中提取所述客户端的限速状态;
当所述客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照所述客户端的限速状态为用户未限速时的处理方式确定上传限速;如果否,则以用户设置的限速作为上传限速;
当所述客户端的限速状态为用户未限速时,判断所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,从所述上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当所述客户端的下载状态为繁忙状态时,从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在所述上传限速波峰值与上传限速波谷值之间交替。
17.根据权利要求15所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定所述阻塞/非阻塞策略的步骤包括:
从所述网络节点信息中,获取与所述客户端同一内网的通道,将与所述客户端同一内网的通道保持疏通;
根据所述网络节点信息确定非阻塞通道数量上限W;
从所述网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与所述客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与所述客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与所述客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与所述客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
18.根据权利要求17所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定非阻塞通道数量上限W的步骤包括:
从所述网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]},其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值。
19.根据权利要求17所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定M的步骤包括:
从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从所述网络节点信息中提取所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,X2=X1×空闲率;
当所述客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
从所述本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_step为步长,M_base为步长调整幅度。
20.根据权利要求19所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定N的步骤包括:
确定与所述客户端同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与所述客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
21.根据权利要求17所述的上传策略服务器实现网络上传调度的方法,其特征在于,确定各个通道的积分值的步骤包括:
当所述通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当所述通道对应的对端客户端与本地的客户端类型不同时,B1=0.1;当所述通道对应的对端客户端的任务资源数小于5时,B2=1,当所述通道对应的对端客户端的任务资源数大于或等于5时,B2=0;
当所述通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端中存储有本地所需资源时,B3=5,当所述通道对应的对端客户端中没有本地所需资源时,B3=0。
22.一种网络上传调度的系统,其特征在于,包括客户端和上传策略服务器,所述客户端包括上传控制模块,其中:
所述上传控制模块用于,获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至所述上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
所述上传策略服务器用于,根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端;
所述上传控制模块还用于,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
23.根据权利要求22所述的网络上传调度的系统,其特征在于,还包括带宽检测服务器,所述客户端还包括带宽测速模块,其中:
所述带宽测速模块用于,发送带宽查询请求至带宽检测服务器;
所述带宽检测服务器用于,根据所述带宽查询请求,查询所述客户端的上传/下载带宽,并将所述客户端的上传/下载带宽返回给所述客户端。
24.根据权利要求23所述的网络上传调度的系统,其特征在于,
所述带宽测速模块还用于,发送带宽检测请求至所述带宽检测服务器;
所述带宽检测服务器还用于,向所述客户端返回带宽测速的URL集合;
所述带宽测速模块还用于,根据所述带宽测速的URL集合,执行上传和下载操作;记录测速时间段内的上传/下载带宽,并发送记录的所述上传/下载带宽至所述带宽检测服务器存储。
25.根据权利要求22至24任一项所述的网络上传调度的系统,其特征在于,所述上传调度配置策略包括限速策略和阻塞/非阻塞策略。
26.根据权利要求25所述的网络上传调度的系统,其特征在于,所述上传策略服务器用于:
从所述网络节点信息中提取所述客户端的下载状态,从所述本地配置信息中提取所述客户端的限速状态;
当所述客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照所述客户端的限速状态为用户未限速时的处理方式确定上传限速;如果否,则以用户设置的限速作为上传限速;
当所述客户端的限速状态为用户未限速时,判断所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,从所述上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当所述客户端的下载状态为繁忙状态时,从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在所述上传限速波峰值与上传限速波谷值之间交替。
27.根据权利要求25所述的网络上传调度的系统,其特征在于,所述上传策略服务器用于:
从所述网络节点信息中,获取与所述客户端同一内网的通道,将与所述客户端同一内网的通道保持疏通;
根据所述网络节点信息确定非阻塞通道数量上限W;
从所述网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与所述客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与所述客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与所述客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与所述客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
28.根据权利要求27所述的网络上传调度的系统,其特征在于,所述上传策略服务器还用于:
从所述网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]},其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值。
29.根据权利要求27所述的网络上传调度的系统,其特征在于,所述上传策略服务器还用于:
从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从所述网络节点信息中提取所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,X2=X1×空闲率;
当所述客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
从所述本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_step为步长,M_base为步长调整幅度。
30.根据权利要求29所述的网络上传调度的系统,其特征在于,所述上传策略服务器还用于:
确定与所述客户端同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与所述客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
31.根据权利要求27所述的网络上传调度的系统,其特征在于,所述上传策略服务器还用于:
当所述通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当所述通道对应的对端客户端与本地的客户端类型不同时,B1=0.1;当所述通道对应的对端客户端的任务资源数小于5时,B2=1,当所述通道对应的对端客户端的任务资源数大于或等于5时,B2=0;
当所述通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端中存储有本地所需资源时,B3=5,当所述通道对应的对端客户端中没有本地所需资源时,B3=0。
32.一种客户端,其特征在于,包括上传控制模块,所述上传控制模块用于:
获取本地配置信息、网络节点信息、上传/下载带宽,并发送配置请求至上传策略服务器,所述配置请求中携带有所述本地配置信息、网络节点信息、上传/下载带宽;
接收所述上传策略服务器返回的上传调度配置策略,根据所述上传调度配置策略,调整上传带宽和网络节点的阻断/非阻断状态。
33.根据权利要求32所述的客户端,其特征在于,还包括带宽测速模块,用于:
发送带宽查询请求至带宽检测服务器;
接收所述带宽检测服务器返回的所述客户端的上传/下载带宽。
34.根据权利要求33所述的客户端,其特征在于,所述带宽测速模块还用于:
发送带宽检测请求至所述带宽检测服务器;
接收所述带宽检测服务器返回的带宽测速的URL集合;
根据所述带宽测速的URL集合,执行上传和下载操作;
记录测速时间段内的上传/下载带宽,并发送记录的所述上传/下载带宽至所述带宽检测服务器存储。
35.一种上传策略服务器,其特征在于,包括:
配置请求接收模块,用于接收客户端发送的配置请求,所述配置请求中携带有所述客户端获取的本地配置信息、网络节点信息、上传/下载带宽;
策略配置模块,用于根据所述配置请求,确定所述客户端的上传调度配置策略,并发送所述上传调度配置策略至客户端。
36.根据权利要求35所述的上传策略服务器,其特征在于,所述上传调度配置策略包括限速策略和阻塞/非阻塞策略。
37.根据权利要求36所述的上传策略服务器,其特征在于,所述策略配置模块包括限速策略配置单元,所述限速策略配置单元用于:
从所述网络节点信息中提取所述客户端的下载状态,从所述本地配置信息中提取所述客户端的限速状态;
当所述客户端的限速状态为用户限速时,判断用户设置的限速是否小于预设最小速度;如果是,则按照所述客户端的限速状态为用户未限速时的处理方式确定上传限速;如果否,则以用户设置的限速作为上传限速;
当所述客户端的限速状态为用户未限速时,判断所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,从所述上传/下载带宽中提取历史上传速度峰值,确定上传限速=历史上传速度峰值×空闲率;
当所述客户端的下载状态为繁忙状态时,从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值,确定上传限速波峰值=繁忙时上传速度最大值,上传限速波谷值=历史上传速度峰值×繁忙率,并按照预设的波峰持续时间和波谷持续时间,控制上传限速在所述上传限速波峰值与上传限速波谷值之间交替。
38.根据权利要求36所述的上传策略服务器,其特征在于,所述策略配置模块包括阻塞/非阻塞策略配置单元,所述阻塞/非阻塞策略配置单元用于:
从所述网络节点信息中,获取与所述客户端同一内网的通道,将与所述客户端同一内网的通道保持疏通;
根据所述网络节点信息确定非阻塞通道数量上限W;
从所述网络节点信息中,获取新通道数量;
当新通道数量≥W×第一预设比率时,在与所述客户端非同一内网的通道中,将下载速度大于或等于第一预设速度的通道保持疏通;
当新通道数量<W×第一预设比率时,在与所述客户端非同一内网的通道中,按照下载速度从大到小依次排列各个通道,将排列在前的T个通道中下载速度大于或等于第二预设速度的通道保持疏通,其中,T=W×第二预设比率;
在与所述客户端非同一内网的通道中,确定各个通道的积分值,并按照积分值从大到小依次排列各个通道,将排列在前的M个通道保持疏通;
在与所述客户端非同一内网的通道中,按照阻塞时间大到小依次排列各个通道,将排列在前的N个通道保持疏通。
39.根据权利要求38所述的上传策略服务器,其特征在于,所述阻塞/非阻塞策略配置单元还用于:
从所述网络节点信息中获取任务数;
确定非阻塞通道数量上限W=min{A1,max[A2,任务数×A3]},其中,A1为非阻塞通道数量上限经验值,A2为通道数量下限经验值,A3为任务数倍率经验值。
40.根据权利要求38所述的上传策略服务器,其特征在于,所述阻塞/非阻塞策略配置单元还用于:
从所述上传/下载带宽中提取历史上传速度峰值和繁忙时上传速度最大值;
X1=min[历史上传速度峰值,繁忙时上传速度最大值];
从所述网络节点信息中提取所述客户端的下载状态;
当所述客户端的下载状态为空闲状态时,X2=X1×空闲率;
当所述客户端的下载状态为繁忙状态时,X2=X1×繁忙率;
从所述本地配置信息中提取用户设置的限速;
在X2和用户设置的限速中的取最小值X3=min[X2,用户设置的限速];
当X3≥M_base时,M=M_min+[X3-M_base]/M_step;
当X3<M_base时,M=M_min;
其中,M_min为非阻塞通道数量上限的预设最小值,M_step为步长,M_base为步长调整幅度。
41.根据权利要求40所述的上传策略服务器,其特征在于,所述阻塞/非阻塞策略配置单元还用于:
确定与所述客户端同一内网的通道数量为S;
当新通道数量≥W×第一预设比率时,确定与所述客户端非同一内网的通道中下载速度大于或等于第一预设速度的通道数量为Y1,则N=W-S-Y1-M;
当新通道数量<W×第一预设比率时,确定排列在前的T个通道中下载速度大于或等于第二预设速度的通道数量为Y2,则N=W-S-Y2-M。
42.根据权利要求38所述的上传策略服务器,其特征在于,所述阻塞/非阻塞策略配置单元还用于:
当所述通道为纯上传通道时,积分值=当前采样的上传速度×B1+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端与本地的客户端类型相同时,B1=0.5,当所述通道对应的对端客户端与本地的客户端类型不同时,B1=0.1;当所述通道对应的对端客户端的任务资源数小于5时,B2=1,当所述通道对应的对端客户端的任务资源数大于或等于5时,B2=0;
当所述通道为同时下载和上传的通道时,积分值=当前采样的下载速度+B3+通道优先级系数×5+B2×5;其中,当所述通道对应的对端客户端中存储有本地所需资源时,B3=5,当所述通道对应的对端客户端中没有本地所需资源时,B3=0。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495159.0A CN104580305B (zh) | 2013-10-18 | 2013-10-18 | 网络上传调度和带宽检测方法、系统、客户端和服务器 |
PCT/CN2014/088374 WO2015055100A1 (en) | 2013-10-18 | 2014-10-11 | Peer-to-peer upload scheduling |
US15/130,431 US10455013B2 (en) | 2013-10-18 | 2016-04-15 | Peer-to-peer upload scheduling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495159.0A CN104580305B (zh) | 2013-10-18 | 2013-10-18 | 网络上传调度和带宽检测方法、系统、客户端和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580305A CN104580305A (zh) | 2015-04-29 |
CN104580305B true CN104580305B (zh) | 2018-11-06 |
Family
ID=52827660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495159.0A Active CN104580305B (zh) | 2013-10-18 | 2013-10-18 | 网络上传调度和带宽检测方法、系统、客户端和服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10455013B2 (zh) |
CN (1) | CN104580305B (zh) |
WO (1) | WO2015055100A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10116740B2 (en) * | 2013-12-27 | 2018-10-30 | Microsoft Technology Licensing, Llc | Peer-to-peer network prioritizing propagation of objects through the network |
US10148748B2 (en) * | 2015-02-26 | 2018-12-04 | Microsoft Technology Licensing, Llc | Co-locating peer devices for peer matching |
EP3073702B1 (en) * | 2015-03-27 | 2017-09-06 | Axis AB | Method and devices for negotiating bandwidth in a peer-to-peer network |
CN104935638B (zh) * | 2015-04-30 | 2018-03-09 | 重庆大学 | 一种基于阻塞切换服务器的p2p下载算法 |
CN106534912A (zh) * | 2015-09-11 | 2017-03-22 | 百度在线网络技术(北京)有限公司 | 音/视频流发布方法、流媒体服务器、发布端及流媒体系统 |
US10307909B1 (en) * | 2015-10-05 | 2019-06-04 | X Development Llc | Selectively uploading operational data generated by robot based on physical communication link attribute |
CN105631315B (zh) * | 2015-12-25 | 2021-03-09 | 北京奇虎科技有限公司 | 一种移动存储设备内文件的编辑方法和装置 |
JP6792365B2 (ja) * | 2016-07-22 | 2020-11-25 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | コンテンツ配信システム及び方法 |
CN107786614B (zh) * | 2016-08-30 | 2022-02-22 | 航天信息股份有限公司 | 一种tms应用下载自适应策略方法 |
CN107786615B (zh) * | 2016-08-30 | 2021-07-06 | 航天信息股份有限公司 | 一种tms应用下载自适应策略方法 |
US10848537B2 (en) * | 2016-11-15 | 2020-11-24 | Google Llc | Leveraging aggregated network statistics for enhancing quality and user experience for live video streaming from mobile devices |
CN108965358B (zh) * | 2017-05-19 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 应用在第一终端和服务器中的下载应用程序的方法和装置 |
US10667016B2 (en) * | 2017-06-19 | 2020-05-26 | Electronics And Telecommunications Research Institute | Peer and method for adjusting starting point of the peer |
CN107547629B (zh) * | 2017-07-20 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 客户端静态资源下载的方法、装置、电子设备和可读介质 |
US10637846B2 (en) * | 2017-08-30 | 2020-04-28 | Capital One Services, Llc | System and method for cloud-based analytics |
CN109428939B (zh) * | 2017-09-04 | 2023-06-30 | 上海仪电(集团)有限公司中央研究院 | 一种外挂式云端联动时空感知的传感系统 |
CN109525624B (zh) * | 2017-09-20 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 一种容器登录方法、装置及存储介质 |
CN109753849B (zh) * | 2017-11-03 | 2021-08-17 | 杭州海康威视数字技术股份有限公司 | 处理视频分析任务的方法和装置 |
CN109962947B (zh) * | 2017-12-22 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 一种对等网络中的任务分配方法及装置 |
CN110324392B (zh) * | 2018-03-30 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 一种带宽测量方法、装置、终端、服务器及存储介质 |
CN108683730B (zh) * | 2018-05-11 | 2021-08-06 | 深圳市网心科技有限公司 | 资源调度方法、业务服务器、客户终端、网络系统和介质 |
US11032367B2 (en) | 2018-07-16 | 2021-06-08 | Microsoft Technology Licensing, Llc | Long upload time detection and management |
CN111064681B (zh) * | 2018-10-16 | 2023-08-15 | 金山云(深圳)边缘计算科技有限公司 | 一种调度方法及系统 |
CN109660400B (zh) * | 2018-12-24 | 2021-06-25 | 思必驰科技股份有限公司 | 流控配置方法及系统 |
CN110445723B (zh) * | 2019-07-02 | 2022-05-27 | 网宿科技股份有限公司 | 一种网络数据调度方法及边缘节点 |
CN110677312B (zh) * | 2019-08-15 | 2023-07-25 | 北京百度网讯科技有限公司 | Sdk包的时延监测方法及系统、计算机设备与可读介质 |
CN110958140A (zh) * | 2019-11-21 | 2020-04-03 | 北京浪潮数据技术有限公司 | 一种存储服务器云备份上传带宽的限速方法、系统及装置 |
CN111614751A (zh) * | 2020-05-19 | 2020-09-01 | 上海鸿翼软件技术股份有限公司 | 一种企业内容管理系统的文件上传方法 |
CN112615757B (zh) * | 2020-12-11 | 2022-04-26 | 上海哔哩哔哩科技有限公司 | 内容分发网络链路评估方法及装置 |
CN114172892A (zh) * | 2021-11-29 | 2022-03-11 | 深圳依时货拉拉科技有限公司 | 文件上传方法和装置 |
CN115065676A (zh) * | 2022-05-17 | 2022-09-16 | 深圳市绿联科技股份有限公司 | 一种上传文件的方法、装置以及电子设备 |
CN115134277B (zh) * | 2022-06-24 | 2023-10-20 | 山东信通电子股份有限公司 | 一种动态调整网络连接数的宽带网络速率测试方法及设备 |
US20240048507A1 (en) * | 2022-08-08 | 2024-02-08 | Mediatek Inc. | Method for controlling download speed of normal traffic in the presence of high-priority traffic and associated network device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800621A (zh) * | 2010-01-12 | 2010-08-11 | 腾讯科技(深圳)有限公司 | 限制上传速度的方法和装置 |
CN102164157A (zh) * | 2010-02-24 | 2011-08-24 | 腾讯科技(深圳)有限公司 | 一种下载限速的方法和系统 |
CN102752370A (zh) * | 2012-06-05 | 2012-10-24 | 东莞市合昱计算机技术有限公司 | 一种多协议离线下载系统 |
CN102868566A (zh) * | 2011-07-05 | 2013-01-09 | 彭俊 | 网络设备远端测速的方法 |
CN103312824A (zh) * | 2013-07-10 | 2013-09-18 | 亿览在线网络技术(北京)有限公司 | 一种p2p网络智能调速方法、装置和系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007127401A2 (en) * | 2006-04-26 | 2007-11-08 | Bittorrent, Inc. | Peer-to-peer download and seed policy management |
WO2008002295A1 (en) * | 2006-06-27 | 2008-01-03 | Thomson Licensing | Performance aware peer-to-peer video-on-demand |
CN100488146C (zh) * | 2006-09-14 | 2009-05-13 | 华为技术有限公司 | 在p2p网络中建立点对点连接的方法及在p2p网络中的节点 |
US7895311B1 (en) * | 2006-11-17 | 2011-02-22 | Arthur W. Juenger | Content distribution systems |
US8639630B2 (en) * | 2008-02-15 | 2014-01-28 | Ddn Ip Holdings Limited | Distribution of digital content |
GB0802739D0 (en) * | 2008-02-15 | 2008-03-26 | Foreman Patrick J | Computer system and methods to support a Cloud Commerce community for authorised sharing of digtial content via a contolled peer-to-peer network |
US7743163B2 (en) * | 2008-04-30 | 2010-06-22 | Bally Gaming, Inc. | Download and data transfer gaming system |
US8281382B1 (en) * | 2008-06-30 | 2012-10-02 | Amazon Technologies, Inc. | Dynamic throttling systems and services |
US7925797B2 (en) * | 2008-07-03 | 2011-04-12 | Steelseries Hq | System and method for distributing user interface device configurations |
EP2148488A1 (en) * | 2008-07-24 | 2010-01-27 | Irdeto Access B.V. | Peer-to-peer content distribution |
US9003467B2 (en) * | 2008-10-09 | 2015-04-07 | Telefonaktiebolaget L M Ericsson (Publ) | Supporting functions for quality-assured P2P VoD services |
US8370520B2 (en) * | 2008-11-24 | 2013-02-05 | Juniper Networks, Inc. | Adaptive network content delivery system |
WO2011143094A2 (en) * | 2010-05-09 | 2011-11-17 | Citrix Systems, Inc. | Systems and methods for allocation of classes of service to network connections corresponding to virtual channels |
US8713592B2 (en) * | 2010-06-29 | 2014-04-29 | Google Inc. | Self-service channel marketplace |
US9008673B1 (en) * | 2010-07-02 | 2015-04-14 | Cellco Partnership | Data communication device with individual application bandwidth reporting and control |
US8838830B2 (en) * | 2010-10-12 | 2014-09-16 | Sap Portals Israel Ltd | Optimizing distributed computer networks |
WO2012158161A1 (en) * | 2011-05-17 | 2012-11-22 | Splendorstream, Llc | Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network |
US9660922B2 (en) * | 2012-03-23 | 2017-05-23 | Cisco Technology, Inc. | Network assisted rate shifting for adaptive bit rate streaming |
FR2989241B1 (fr) * | 2012-04-05 | 2018-01-26 | Easybroadcast | Procede de diffusion d'un contenu dans un reseau informatique. |
-
2013
- 2013-10-18 CN CN201310495159.0A patent/CN104580305B/zh active Active
-
2014
- 2014-10-11 WO PCT/CN2014/088374 patent/WO2015055100A1/en active Application Filing
-
2016
- 2016-04-15 US US15/130,431 patent/US10455013B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800621A (zh) * | 2010-01-12 | 2010-08-11 | 腾讯科技(深圳)有限公司 | 限制上传速度的方法和装置 |
CN102164157A (zh) * | 2010-02-24 | 2011-08-24 | 腾讯科技(深圳)有限公司 | 一种下载限速的方法和系统 |
CN102868566A (zh) * | 2011-07-05 | 2013-01-09 | 彭俊 | 网络设备远端测速的方法 |
CN102752370A (zh) * | 2012-06-05 | 2012-10-24 | 东莞市合昱计算机技术有限公司 | 一种多协议离线下载系统 |
CN103312824A (zh) * | 2013-07-10 | 2013-09-18 | 亿览在线网络技术(北京)有限公司 | 一种p2p网络智能调速方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160234303A1 (en) | 2016-08-11 |
CN104580305A (zh) | 2015-04-29 |
US10455013B2 (en) | 2019-10-22 |
WO2015055100A1 (en) | 2015-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580305B (zh) | 网络上传调度和带宽检测方法、系统、客户端和服务器 | |
Ren et al. | TopBT: A topology-aware and infrastructure-independent BitTorrent client | |
US9015323B2 (en) | Global server load balancing | |
EP1654838B1 (en) | System and method for selecting data providers | |
US8189489B2 (en) | Characterization of network path quality for network applications and services | |
EP1388073B1 (en) | Optimal route selection in a content delivery network | |
CN102045363B (zh) | 网络流量特征识别规则的建立方法、识别控制方法及装置 | |
CN105634992A (zh) | Cdn平台自适应带宽控制方法和系统 | |
Magharei et al. | ISP-friendly live P2P streaming | |
EP2939452B1 (en) | Service preferences for multiple-carrier-enabled devices | |
CN107409071A (zh) | 诊断测试 | |
CN107517136A (zh) | 心跳保活的实现方法、装置及系统 | |
US9468025B2 (en) | System and method for configuring device connections in an extended network environment | |
CN101465785A (zh) | 基于主动引导和重定向的p2p流量缓存系统 | |
CN106302230B (zh) | 一种数据传输方法及装置 | |
CN108234309A (zh) | 一种网络数据的传输方法 | |
Lehrieder et al. | Can p2p-users benefit from locality-awareness? | |
MX2010006847A (es) | Auto-configuración del protocolo de internet acuerdo de nivel de servicio de enrutador. | |
KR20160111723A (ko) | 데이터 전송률 향상을 위한 다중 연결 제어 방법 및 장치 | |
CN106878036A (zh) | 用于提高网络资源效率的方法、管理服务器和系统 | |
Masa et al. | Impact of request routing algorithms on the delivery performance of content delivery networks | |
EP2591588B1 (fr) | Accès à un réseau de noeuds répartis sur une architecture de communication a l'aide d'un serveur de topologie avec sélection multicritères | |
Ye et al. | HLAF: heterogeneous-latency adaptive forwarding strategy for peer-assisted video streaming in NDN | |
Liu et al. | Event-driven high-priority first data scheduling scheme for p2p vod streaming | |
Caviglione | Enabling cooperation of consumer devices through peer-to-peer overlays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210926 Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518044, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |