首页> 中国专利> 基于节点服务能力的P2SP系统调度方法、设备和系统

基于节点服务能力的P2SP系统调度方法、设备和系统

摘要

本发明揭示了一种基于节点服务能力的P2SP系统调度方法、设备和系统,该方法包括步骤:节点服务能力评估策略服务器接收P2SP系统中各节点上报的负载信息;根据所述负载信息计算所述节点当前的服务能力,并上报Tracker服务器;供Tracker服务器根据所述节点当前的服务能力进行节点调度,并将节点调度的结果反馈所述节点。本发明提供的一种基于节点服务能力的P2SP系统调度方法、设备和系统,提高P2SP网络的整体性能。

著录项

  • 公开/公告号CN103327046A

    专利类型发明专利

  • 公开/公告日2013-09-25

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201210076550.2

  • 发明设计人 刘刚;

    申请日2012-03-21

  • 分类号H04L29/08(20060101);H04L29/06(20060101);

  • 代理机构44287 深圳市世纪恒程知识产权代理事务所;

  • 代理人胡海国

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2024-02-19 20:48:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-15

    授权

    授权

  • 2014-11-19

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120321

    实质审查的生效

  • 2013-09-25

    公开

    公开

说明书

技术领域

本发明涉及到通信领域,尤其涉及到一种基于节点服务能力的P2SP系 统调度方法、设备和系统。

背景技术

P2SP(Peer to Server&Peer,点对服务器和点)技术是一种网络新技术, 依赖网络中参与者的计算能力和带宽进行文件共享和下载,而不是依赖较 少的几台服务器。P2SP基于用户对服务器和用户机制,不同于P2P(Peer to  Peer,点对点)技术,也不同于P2S(Peer to Server,点对服务器)技术, 它不但支持P2P技术,同时还通过检索数据库把服务器资源和P2P资源整合 到了一起,用户下载一个文件时,自动搜索其他资源,选择合适的资源进 行加速,这使得P2SP在下载的稳定性和下载的速度上,比传统的P2P有了非 常大的提高。

在P2SP技术中,下载一个文件的数据来源分为原始链接、P2P网络、第 三方镜像的辅助源,然后通过完整文件的唯一标识(比如MD5或者SHA) 把文件统一串联起来。现在P2SP的系统架构如图1所示,下载一个文件需要 如下步骤:

节点95即下载客户端或服务器从互联网或者资源网站获取URL (Uniform/Universal Resource Locator,统一资源定位符)链接;

节点95以URL链接为入口,从资源服务器91查询多资源及文件Hash, 然后从Hash查询到的URL资源集合下载数据;

节点95下载完成后注册文件信息到Tracker服务器92,其他节点95可以 通过Tracker服务92查询到已经下载完成的节点95和正在下载的节点95;

其它下载节点95开始多源P2P下载,在各节点95之间相互交换数据;

下载完成以后将相关的统计信息上报给统计服务器93,完成P2SP下载 过程。

由此可见,节点95通过一个URL资源作为入口,在后台服务器的帮助 下,通过资源服务器91能够检索到一批URL资源,这批URL资源为客户端 或服务器的下载提供多种数据来源的入口,极大改善了客户端或服务器的 下载性能和启动下载的速度。

在现有P2SP系统中,由于各节点95存在高度异构性和动态性,各节点 95的上传带宽、并发连接数、单链接带宽限制和下载带宽限制都不一样。 Tracker服务器92在进行节点调度时,通常只考虑节点95所属的运营商、内 网和外网的特性来进行节点调度,索引下载同一个文件的所有节点95。当 节点95查询时,在所有当前在线的节点95中按照节点95加入顺序,依次挑 选节点95并下发,当所有节点95被挑选一轮的后,一轮调度就结束了。没 有考虑网络异构的特性,比如NAT(Network Address Translation,网络地址 转换)网络的节点95上传性能没有公网节点95的节点上传性能好,公网节 点95的联通性比内网节95点的联通性好(内网节点95通常需要辅助服务器 协助进行防火墙穿越才能相互通讯)。由此对P2SP网络的整体性能造成很大 的影响。

发明内容

本发明的主要目的为提供一种基于节点服务能力的P2SP系统调度方 法、设备和系统,提高P2SP网络的整体性能。

本发明提出一种基于节点服务能力的P2SP系统调度方法,包括步骤:

节点服务能力评估策略服务器接收P2SP系统中各节点上报的负载信 息;

根据所述负载信息计算所述节点当前的服务能力,并上报Tracker服务 器;供Tracker服务器根据所述节点当前的服务能力进行节点调度,并将节 点调度的结果反馈所述节点。

优选地,所述根据负载信息计算节点当前的服务能力具体为:

根据所述负载信息以及预设的节点评估模型计算节点当前的服务能 力。

优选地,所述节点评估模型为:

Rank=a*Uploadspeed+b*Downloadspeed+c*CurUpConnNum+d* CurDownConnNum+e*SigleConnBand;

其中,Rank为节点当前的服务能力,Uploadspeed为节点当前的平均上 传速度,Downspeed为节点当前的平均下载速度,CurUpConnNum为节点 当前的并发上传连接数量,CurDownConnNum为节点当前的并发下载连接 数量,SigleConnBand为节点当前单个链接支持的带宽,a、b、c、d、e分 别为Uploadspeed、Downspeed、CurUpConnNum、CurDownConnNum  SigleConnBand的权重。

优选地,所述方法还包括:

节点服务能力评估策略服务器根据节点下载的统计结果,修正所述a、 b、c、d、e所代表的权重值。

优选地,所述节点下载的统计结果为对节点的下载速度、下载时间、 下载结果、下载文件大小和/或连通时间统计得到的结果。

本发明还提出一种基于节点服务能力的P2SP系统调度方法,包括步骤:

Tracker服务器接收P2SP系统的节点服务能力评估策略服务器上报的 P2SP系统中各节点当前的服务能力;

根据所述节点当前的服务能力进行节点调度。

优选地,所述根据节点当前的服务能力进行节点调度包括:

生成一随机值Percent,0<=Percent<=1;

遍历各节点,当Percent’>=Percent时,Percent’所属的节点被选择,并 返回生成单元生成一随机值Percent,直到预设数量的节点被选择;其中, Percent’=SumPeerRank’/SumPeerRank; SumPeerRank’=Rank1+Rank2+…+Rankk,k为经过的节点数量, SumPeerRank=Rank1+Rank2+…+Rankn,n为总节点数量。

本发明还提出一种基于P2SP系统的节点服务能力评估策略服务器,包 括:

接收模块,用于接收P2SP系统中各节点上报的负载信息;

计算模块,用于根据所述负载信息计算所述节点当前的服务能力;

上报模块,用于上报P2SP系统的Tracker服务器,供所述Tracker服务 器根据所述节点当前的服务能力进行节点调度,并将节点调度的结果反馈 所述节点。

优选地,所述计算模块具体用于:

根据所述负载信息以及预设的节点评估模型计算节点当前的服务能 力。

优选地,所述节点评估模型为:

Rank=a*Uploadspeed+b*Downloadspeed+c*CurUpConnNum+d* CurDownConnNum+e*SigleConnBand;

其中,Rank为节点当前的服务能力,Uploadspeed为节点当前的平均上 传速度,Downspeed为节点当前的平均下载速度,CurUpConnNum为节点 当前的并发上传连接数量,CurDownConnNum为节点当前的并发下载连接 数量,SigleConnBand为节点当前单个链接支持的带宽,a、b、c、d、e分 别为Uploadspeed、Downspeed、CurUpConnNum、CurDownConnNum SigleConnBand的权重。

优选地,所述节点服务能力评估策略服务器还包括:

修正模块,用于根据节点下载的统计结果,修正所述a、b、c、d、e 所代表的权重值。

本发明还提出一种基于P2SP系统的Tracker服务器,包括:

接收模块,用于接收P2SP系统的节点服务能力评估策略服务器上报的 P2SP系统中各节点当前的服务能力;

调度模块,用于根据所述节点当前的服务能力进行节点调度。

优选地,所述调度模块包括:

生成单元,用于生成一随机值Percent,0<=Percent<=1;

遍历单元,用于遍历各节点,当Percent’>=Percent时,Percent’所属的 节点被选择,并返回生成单元生成一随机值Percent,直到预设数量的节点 被选择;其中,Percent’=SumPeerRank’/SumPeerRank; SumPeerRank’=Rank1+Rank2+…+Rankk,k为经过的节点数量, SumPeerRank=Rank1+Rank2+…+Rankn,n为总节点数量。

本发明还提出一种P2SP系统,包括至少一Tracker服务器、节点服务 能力评估策略服务器以及多个节点,其中,

所述节点服务能力评估策略服务器,用于接收所述节点上报的负载信 息;以及根据所述负载信息计算所述节点当前的服务能力,并上报Tracker 服务器;

所述Tracker服务器,用于根据所述节点当前的服务能力进行节点调度, 并将节点调度的结果反馈所述节点。

优选地,所述节点服务能力评估策略服务器包括:

接收模块,用于接收P2SP系统中各节点上报的负载信息;

计算模块,用于根据所述负载信息计算所述节点当前的服务能力;

上报模块,用于上报P2SP系统的Tracker服务器,供所述Tracker服务 器根据所述节点当前的服务能力进行节点调度,并将节点调度的结果反馈 所述节点。

优选地,所述计算模块具体用于:

根据所述负载信息以及预设的节点评估模型计算节点当前的服务能 力。

优选地,所述节点评估模型为:

Rank=a*Uploadspeed+b*Downloadspeed+c*CurUpConnNum+d* CurDownConnNum+e*SigleConnBand;

其中,Rank为节点当前的服务能力,Uploadspeed为节点当前的平均上 传速度,Downspeed为节点当前的平均下载速度,CurUpConnNum为节点 当前的并发上传连接数量,CurDownConnNum为节点当前的并发下载连接 数量,SigleConnBand为节点当前单个链接支持的带宽,a、b、c、d、e分 别为Uploadspeed、Downspeed、CurUpConnNum、CurDownConnNum  SigleConnBand的权重。

优选地,所述节点服务能力评估策略服务器还包括:

修正模块,用于根据节点下载的统计结果,修正所述a、b、c、d、e 所代表的权重值。

优选地,所述Tracker服务器包括:

接收模块,用于接收P2SP系统的节点服务能力评估策略服务器上报的 P2SP系统中各节点当前的服务能力;

调度模块,用于根据所述节点当前的服务能力进行节点调度。

优选地,所述调度模块包括:

生成单元,用于生成一随机值Percent,0<=Percent<=1;

遍历单元,用于遍历各节点,当Percent’>=Percent时,Percent’所属的 节点被选择,并返回生成一随机值Percent,直到预设数量的节点被选择; 其中,Percent’=SumPeerRank’/SumPeerRank; SumPeerRank’=Rank1+Rank2+…+Rankk,k为经过的节点数量, SumPeerRank=Rank1+Rank2+…+Rankn,n为总节点数量。

本发明提出的一种基于节点服务能力的P2SP系统调度方法、设备和系 统,针对现有技术方案存在的问题,在P2SP下载系统中引入节点服务能力 评估模型,由于P2SP网络当中,每个节点的服务能力是不同的,比如上传 带宽、并发上传连接数、并发下载连接数、单链接带宽限制、下载带宽限 制等,都是不一样的。本实施例提出的在节点调度过程中根据节点实时负 载信息进行节点服务能力评估的模型,以及据此设计的P2SP下载系统中基 于节点服务能力大小按照概论进行节点调度的策略能充分利用节点的带宽 资源整体服务能力,减小节点启动延迟和数据传输延迟,保证节点下载的 服务质量,提升整个P2SP下载系统的P2P网络传输效率。

附图说明

图1为现有技术的P2SP系统的系统架构图;

图2为本发明基于节点服务能力的P2SP系统调度方法一实施例的流程 示意图;

图3为本发明基于节点服务能力的P2SP系统调度方法一实施例中节点 调度步骤的流程示意图;

图4为本发明基于节点服务能力的P2SP系统调度方法一实施例中节点 调度步骤的原理图;

图5为本发明又一基于节点服务能力的P2SP系统调度方法一实施例的 流程示意图;

图6为本发明节点服务能力评估策略服务器一实施例的结构示意图;

图7为本发明P2SP系统一实施例中Tracker服务器的结构示意图;

图8为本发明P2SP系统一实施例中Tracker服务器中调度模块的结构示 意图;

图9为本发明P2SP系统一实施例的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一 步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于 限定本发明。

本发明实施例针对现有技术方案存在的问题,在P2SP系统中引入了一 种在节点调度过程中评估各节点当前服务能力的方法,并根据此设计了 P2SP系统中基于节点服务能力大小按照概论进行节点调度的策略。服务能 力强的节点,被挑选的概率越大。通过此调度策略能充分利节点的带宽资 源整体服务能力、减小节点启动延迟和数据传输延迟,保证节点下载的服 务质量,提升整个P2SP下载系统的网络传输效率。

参照图2,提出本发明一种基于节点服务能力的P2SP系统调度方法一实 施例,用于P2SP系统中节点服务能力评估策略服务器,包括:

步骤S10、接收P2SP系统中各节点上报的负载信息;

P2SP系统中各节点即下载客户端或服务器定期向节点服务能力评估策 略服务器汇报在线情况、本地拥有的资源信息以及当前负载信息,该负载 信息包括上传速度、下载速度、上传和下载并发连接数目等信息。

步骤S11、根据所述负载信息计算所述节点当前的服务能力;

节点服务能力评估策略服务器根据所述负载信息计算节点当前的服务 能力,本实施例优选通过一预设的节点评估模型评估节点当前的服务能力, 并向Tracker服务器同步节点评估的结果。

节点服务能力的节点评估模型可以设计如下:

假设节点上报以下负载信息:

Uploadspeed:标识节点平均上传速度;

Downspeed:标识节点平均下载速度;

CurUpConnNum:标识节点当前的并发上传连接数目,比如通常建立1 个TCP通道为1个链接;

CurDownConnNum:标识节点当前的并发下载连接数目;

SigleConnBand:标识节点当前当个链接支持的带宽。

则节点评估模型为Rank=F(a,b,c,d,e)=a*Uploadspeed+b* Downspeed+c*CurUpConnNum  +d*CurDownConnNum+e* SigleConnBand。

节点选取的原则基于节点的Rank排名大小的概率,每次优先选择属于 同一个ISP(Internet Service Provider,互联网服务提供商)的Rank高的节点, 实际实现时,Rank随着节点上报的下载和上传的情况,会动态调整,比如 一个节点如果并发连接数超过一定数目,为了防止过载,可以降低其Rank。 上述节点评估模型的因素可以根据实际需要增加或删除,对每个决定Rank 的因素(Uploadspeed、Downspeed、CurUpConnNum、CurDownConnNum 和SigleConnBand)给一个权重值(a,b,c,d,e),在实际当中根据节点 调度结果下发和节点上报的平均下载速度不断调整各因素的权重值,增加 某个因素的权重或者降低另外一个因素的权重,最终确定一组稳定的参数。

步骤S12、上报Tracker服务器;供Tracker服务器根据所述节点当前的服 务能力进行节点调度,并将节点调度的结果反馈所述节点。

当Tracker服务器收到已注册的一节点的下载申请时,Tracker服务器根 据得到的网络内各节点当前的服务能力,进行节点调度,并将选择的拥有 资源的节点的IP地址列表反馈至提出申请的节点。

参照图3、节点调度策略为Tracker服务器对节点的选择过程,包括:

步骤S101、生成一随机值Percent,Percent是一个节点被挑选的概率。

任意生成2个随机整数[M,N];

R’=M+(int)((N-M)+1)*RandX/(Rand_Max+1);

P=R’-M;

Percent=(R’-M)/(N-M),0=<percent<=1。

步骤S102、每次进入节点选择区间就代表一次Peer的选择过程,用Rank 用来衡量节点服务能力的一个综合的值。如图4所示,Rank1到Rankn中,不 同长度的线段代表不同节点的能力的大小,线段越长代表节点的服务能力 越强,线段交接地方就是Percent′,随机生成的Percent均匀落在线段上的任意 一点,节点的选择的过程就是寻找Percent当前落在那个线段上,图4很直观 地得出,线段越长落在上面的可能性也越大,即该线段代表的节点被选择 的概率也大。

在进行选择的时候计算所有节点的总的服务能力 SumPeerRank=Rank1+Rank2+……+Rankn,n表示节点的总数目。在一次节 点选择时计算SumPeerRank′=Rank1+Randk2+……+Rankk,1<=k<=n,k表示 选择节点遍历过程中经过的节点数目,然后计算 Percent′=SumPeerRank′/SumPeerRank。每经过一个节点计算一次,首次出现 Percent′>=Percent的时候,标识为k的节点被选中。

步骤S103,判断选择节点的数量是否达到预设数量,是则结束节点调 度流程,否则返回步骤S101,进行下一个节点的选择。

申请下载的节点收到Tracker服务器反馈的节点集合后,向集合内节点 下载数据。下载过程中如发现下载到完成的数据分片,则进行校验,如发 现数据分片错误,向P2SP系统的统计服务器上报数据错误信息作为统计信 息。完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载 速度、下载结果、文件大小、下载的原始链接和不同URL源获取的下载速 度和下载时间等统计信息,并作为新的URL源,上报资源服务器进入资源 数据库。

统计服务器接受节点的下载完成和下载过程中URL下载速度、下载时 间、连通情况、下载结果、文件大小等统计信息的上报,并写成流水日志 的方式供后续统计分析。节点服务能力评估策略服务器按照统计服务器统 计分析的结果,修正节点评估模型相关的因素及各因素对应的权重。

本实施例针对现有技术方案存在的问题,在P2SP下载系统中引入节点 服务能力评估模型,由于P2SP网络当中,每个节点的服务能力是不同的, 比如上传带宽、并发上传连接数、并发下载连接数、单链接带宽限制、下 载带宽限制等,都是不一样的。本实施例提出的在节点调度过程中根据节 点实时负载信息进行节点服务能力评估的模型,以及据此设计的P2SP下载 系统中基于节点服务能力大小按照概论进行节点调度的策略能充分利用节 点的带宽资源整体服务能力,减小节点启动延迟和数据传输延迟,保证节 点下载的服务质量,提升整个P2SP下载系统的P2P网络传输效率。

参照图5,提出本发明一种基于节点服务能力的P2SP系统调度方法一实 施例,用于P2SP系统中Tracker服务器,包括:

步骤S50、接收P2SP系统的节点服务能力评估策略服务器上报的P2SP 系统中各节点当前的服务能力;

P2SP系统中各节点即下载客户端或服务器定期向节点服务能力评估策 略服务器汇报在线情况、本地拥有的资源信息以及当前负载信息,该负载 信息包括上传速度、下载速度、上传和下载并发连接数目等信息。节点服 务能力评估策略服务器按照预设的节点评估模型计算节点当前的服务能 力,并向Tracker服务器同步节点评估的结果。

步骤S51、根据所述节点当前的服务能力进行节点调度。

Tracker服务器接收节点服务能力评估策略服务器上报的P2SP系统中各 节点当前的服务能力Rank,当Tracker服务器收到已注册的一节点的下载申 请时,基于节点的Rank排名大小的概率,每次优先选择属于同一个ISP的 Rank高的节点。其对节点的选择过程如下:

生成一随机值Percent,Percent是一个节点被挑选的概率。

任意生成2个随机整数[M,N];

R’=M+(int)((N-M)+1)*RandX/(Rand_Max+1);

P=R’-M;

Percent=(R’-M)/(N-M),0=<percent<=1。

如图4所示,Rank1到Rankn中,不同长度的线段代表不同节点的能力的 大小,线段越长代表节点的服务能力越强,线段交接地方就是Percent′,随 机生成的Percent均匀落在线段上的任意一点,节点的选择的过程就是寻找 Percent当前落在那个线段上,图4很直观地得出,线段越长落在上面的可能 性也越大,即该线段代表的节点被选择的概率也大。

在进行选择的时候计算所有节点的总的服务能力 SumPeerRank=Rank1+Rank2+……+Rankn,n表示节点的总数目。在一次节 点选择时计算SumPeerRank′=Rank1+Randk2+……+Rankk,1<=k<=n,k表示 选择节点遍历过程中经过的节点数目,然后计算 Percent′=SumPeerRank′/SumPeerRank。每经过一个节点计算一次,首次出现 Percent′>=Percent的时候,标识为k的节点被选中。

再继续生成一随机值Percent,进行下一个节点的选择,直到预置数量 的节点被选择。申请下载的节点收到Tracker服务器反馈的节点集合后,向 集合内节点下载数据。

本实施例提出的基于节点服务能力大小按照概论进行节点调度的策 略,能充分利用节点的带宽资源整体服务能力,减小节点启动延迟和数据 传输延迟,保证节点下载的服务质量,提升整个P2SP下载系统的P2P网络传 输效率。

参照图6,提出本发明一种基于P2SP系统的节点服务能力评估策略服务 器100一实施例,包括:

接收模块10,用于接收P2SP系统中各节点上报的负载信息;

计算模块11,用于根据所述负载信息计算所述节点当前的服务能力;

上报模块12,用于上报P2SP系统的Tracker服务器,供所述Tracker 服务器根据所述节点当前的服务能力进行节点调度,并将节点调度的结果 反馈所述节点。

修正模块13,用于根据节点下载的统计结果,修正所述a、b、c、d、e。

P2SP系统中各节点即下载客户端或服务器定期向节点服务能力评估策 略服务器100的接收模块10汇报在线情况、本地拥有的资源信息以及当前负 载信息,该负载信息包括上传速度、下载速度、上传和下载并发连接数目 等信息。计算模块11按照上述负载信息计算节点当前的服务能力,并向 Tracker服务器同步节点评估的结果,优选地,计算模块11通过一预设的节 点评估模型评估节点当前的服务能力,节点服务能力的节点评估模型可以 设计如下:

假设节点上报以下负载信息:

Uploadspeed:标识节点平均上传速度;

Downspeed:标识节点平均下载速度;

CurUpConnNum:标识节点当前的并发上传连接数目,比如通常建立1 个TCP通道为1个链接;

CurDownConnNum:标识节点当前的并发下载连接数目;

SigleConnBand:标识节点当前当个链接支持的带宽。

则节点评估模型为Rank=F(a,b,c,d,e)=a*Uploadspeed+b* Downspeed+c*CurUpConnNum+d*CurDownConnNum+e* SigleConnBand。

Tracker服务器根据各节点的Rank排名大小的概率,每次优先选择属于 同一个ISP的Rank高的节点,实际实现时,Rank随着节点上报的下载和上传 的情况,会动态调整,比如一个节点如果并发连接数超过一定数目,为了 防止过载,可以降低其Rank。上述节点评估模型的因素可以根据实际需要 增加或删除,对每个决定Rank的因素(Uploadspeed、Downspeed、 CurUpConnNum、CurDownConnNum和SigleConnBand)给一个权重值(a, b,c,d,e),在实际当中根据节点调度结果下发和节点上报的平均下载速 度不断调整各因素的权重值,增加某个因素的权重或者降低另外一个因素 的权重,最终确定一组稳定的参数。

当Tracker服务器收到已注册的一节点的下载申请时,Tracker服务器根 据得到的网络内各节点当前的服务能力,进行节点调度,并将选择的拥有 资源的节点的IP地址列表反馈至提出申请的节点。

申请下载的节点收到Tracker服务器反馈的节点集合后,向集合内节点 下载数据。下载过程中如发现下载到完成的数据分片,则进行校验,如发 现数据分片错误,向P2SP系统的统计服务器上报数据错误信息作为统计信 息。完成下载任务后,向统计服务器汇报本次下载任务的下载时间、下载 速度、下载结果、文件大小、下载的原始链接和不同URL源获取的下载速 度和下载时间等统计信息。

统计服务器接受节点的下载完成和下载过程中URL下载速度、下载时 间、连通情况、下载结果、文件大小等统计信息的上报,并写成流水日志 的方式供后续统计分析。修正模块13按照统计服务器统计分析的结果,修 正节点评估模型相关的因素及各因素对应的权重。

本实施例针对现有技术方案存在的问题,在P2SP下载系统中引入节点 服务能力评估模型,由于P2SP网络当中,每个节点的服务能力是不同的, 比如上传带宽、并发上传连接数、并发下载连接数、单链接带宽限制、下 载带宽限制等,都是不一样的。本实施例提出的在节点调度过程中根据节 点实时负载信息进行节点服务能力评估的模型,可供Tracker服务器基于节 点服务能力大小充分利用节点的带宽资源整体服务能力,减小节点启动延 迟和数据传输延迟,保证节点下载的服务质量,提升整个P2SP下载系统的 P2P网络传输效率。

参照图7,提出本发明一种基于P2SP系统的Tracker服务器200一实施例, 包括:

接收模块21,用于接收P2SP系统的节点服务能力评估策略服务器上报 的P2SP系统中各节点当前的服务能力;

调度模块22,用于根据所述节点当前的服务能力进行节点调度。

参照图8,所述调度模块22包括:

生成单元221,用于生成一随机值Percent,0<=Percent<=1;

遍历单元222,用于遍历各节点,当Percent’>=Percent时,Percent’所 属的节点被选择,并返回生成单元生成一随机值Percent,直到预设数量的 节点被选择;其中,Percent’=SumPeerRank’/SumPeerRank; SumPeerRank’=Rank1+Rank2+…+Rankk,k为经过的节点数量, SumPeerRank=Rank1+Rank2+…+Rankn,n为总节点数量。

P2SP系统中各节点即下载客户端或服务器定期向节点服务能力评估策 略服务器汇报在线情况、本地拥有的资源信息以及当前负载信息,该负载 信息包括上传速度、下载速度、上传和下载并发连接数目等信息。节点服 务能力评估策略服务器按照预设的节点评估模型计算节点当前的服务能 力,并向Tracker服务器同步节点评估的结果。

接收模块21接收节点服务能力评估策略服务器上报的P2SP系统中各节 点当前的服务能力Rank,当Tracker服务器收到已注册的一节点的下载申请 时,由调度模块22基于节点的Rank排名大小的概率,每次优先选择属于同 一个ISP的Rank高的节点。

调度模块22对节点的选择过程如下:

生成单元221生成一随机值Percent,Percent是一个节点被挑选的概率。

任意生成2个随机整数[M,N];

R’=M+(int)((N-M)+1)*RandX/(Rand_Max+1);

P=R’-M;

Percent=(R’-M)/(N-M),0=<percent<=1。

如图4所示,Rank1到Rankn中,不同长度的线段代表不同节点的能力的 大小,线段越长代表节点的服务能力越强,线段交接地方就是Percent′,随 机生成的Percent均匀落在线段上的任意一点,节点的选择的过程就是寻找 Percent当前落在那个线段上,图4很直观地得出,线段越长落在上面的可能 性也越大,即该线段代表的节点被选择的概率也大。

在进行选择的时候计算所有节点的总的服务能力 SumPeerRank=Rank1+Rank2+……+Rankn,n表示节点的总数目。在一次节点 选择时计算SumPeerRank′=Rank1+Randk2+……+Rankk,1<=k<=n,k表示选 择节点遍历过程中经过的节点数目,然后计算 Percent′=SumPeerRank′/SumPeerRank。每经过一个节点计算一次,首次出现 Percent′>=Percent的时候,标识为k的节点被选中。

返回生成单元221生成一随机值Percent,进行下一个节点的选择,直到 预置数量的节点被选择。申请下载的节点收到Tracker服务器反馈的节点集 合后,向集合内节点下载数据。

本实施例提出的Tracker服务器200基于节点服务能力大小按照概论进 行节点调度的策略,能充分利用节点的带宽资源整体服务能力,减小节点 启动延迟和数据传输延迟,保证节点下载的服务质量,提升整个P2SP下载 系统的P2P网络传输效率。

参照图9,提出本发明一种P2SP系统,包括至少一Tracker服务器200、 节点服务能力评估策略服务器100、统计服务器300、资源服务器400以及 多个节点500,其中,节点服务能力评估策略服务器100用于接收P2SP系 统中各节点500上报的负载信息;以及根据预置的节点评估模型计算所述 节点500当前的服务能力,并上报Tracker服务器200;Tracker服务器200 用于根据所述节点500当前的服务能力进行节点调度,统计服务器300用 于接受节点500的下载完成和下载过程中URL下载速度、下载时间、连通 情况、下载结果、文件大小等统计信息的上报,并写成流水日志的方式供 后续统计分析。资源服务器400用于接收节点500通过URL作为索引的入 口查询文件Hash和多URL资源集合;以及提供文件分片校验信息,供下 载节点校验下载数据的有效性。

本实施例中节点服务能力评估策略服务器100的结构和工作原理同图6 所示之节点服务能力评估策略服务器100,Tracker服务器200的结构和工作 原理同图7或图8所示之Tracker服务器200,此处不再重复叙述。

需要注意的是,在实际应用中,节点服务能力评估策略服务器100可以 和统计服务器300、资源服务器400或Tracker服务器200中任一一个设置在同 一服务器上。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直 接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范 围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号