一种p2sp多源下载系统的制作方法

文档序号:7985163阅读:8751来源:国知局
一种p2sp多源下载系统的制作方法
【专利摘要】本发明适用于网络通信领域,提供了一种P2SP多源下载系统,所述系统包括:多个跟踪接入服务器,用于定期上报自身的负载信息;以及跟踪接入管理服务器,用于根据所述多个跟踪接入服务器上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端。本发明根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。
【专利说明】—种P2SP多源下载系统
【技术领域】
[0001]本发明属于网络通信领域,尤其涉及一种P2SP多源下载系统。
【背景技术】
[0002]在点对服务器和点(Peer to Server&Peer,P2SP)多源下载系统中,通过P2SP方式分发大型文件,例如多媒体文件、游戏的升级包和补丁包等,能够有效降低服务器带宽消耗。
[0003]P2SP核心功能都是在跟踪(Tracker)服务器系统上实现的。现有的Tracker服务器系统如I图所示,系统采用两层架构,其中跟踪应用服务器(TraCker_app)负责维护索引文件的节点共享信息,处理查找节点的请求和节点选择算法的实现,跟踪接入服务器(Tracker_conn )负责接收下载客户端请求,缓冲存储一些中间的结果数据。
[0004]跟踪接入服务器可并行扩展部署多台,每个跟踪接入服务器管理一些客户端节点,每个客户端节点只跟一个跟踪接入服务器通信。跟踪接入服务器支持传输控制协议(Transmission Control Protocol, TCP)和用户数据报协议(User Datagram Protocol,UDP)。跟踪接入服务器接收处理客户端的上报、心跳、节点查询请求,每个跟踪接入服务器和每个跟踪应用服务器保持TCP长连接。
[0005]该系统的处理流程详述如下:
[0006]1.客户端从主跟踪接入服务器获取跟踪接入服务器列表;
[0007]客户端进入Tracker系统的第一步就是在UDP或TCP协议下,通过域名系统(Domain Name System, DNS)解析的方式访问到一台主跟踪接入服务器,然后从主跟踪接入服务器获取跟踪接入服务器列表,主跟踪接入服务器以轮询的方式把所有跟踪接入服务器其中一个的地址返回给客户端,客户端之后心跳和消息更新都在该跟踪接入服务器上操作。
[0008]2.节点上报、心跳;
[0009]节点第一次上报信息,视为该节点的登陆操作,跟踪接入服务器会生成一个会话标识(SessionID)返回给节点,节点以后每次上报、查询都必须带上该SessionID。同时生成一个跟SessionID相关的密钥(Key)返回给节点,之后节点与跟踪接入服务器的通信包需要用该Key加解密,防止协议泄密。
[0010]SessionID在各个跟踪接入服务器上生成的,只用来唯一标识节点。可以采取如下方法生成:每个跟踪接入服务器有一个进程编号,从O开始记。SessionID是32位整型,其中高6位表示跟踪接入服务器的编号,低26位表示节点信息在跟踪接入服务器里面节点数组的下标。
[0011]Tracker服务器系统分成两层结构,是为了降低节点心跳带来的压力,所以节点在跟踪接入服务器上心跳后,并不是马上同步到跟踪应用服务器,而是对跟踪接入服务器上每个节点设置一个同步时间间隔,例如lmin,达到时间后再同步。
[0012]3.节点添加/删除文件;[0013]节点添加/删除文件的同样采用TCP和UDP协议,只是在添加/删除文件的字段里包含文件的哈希(Hash)信息,Tracker服务器系统通过不同的命令选择处理。
[0014]目前在不增加服务器带宽投入的情况下,采用P2P技术是降低服务商带宽消耗最有效的办法。在上述应用场景中都涉及单个文件需要在短时间内被分发到大量的节点,P2P系统中就会有大量的查询节点种子和心跳的需求。此时Tracker服务器系统会存在很大的访问压力。
[0015]目前,节点通常采用DNS解析方法获取Tracker服务器的访问地址,然后再和对应的跟踪接入服务器保持通讯。当大量节点在线访问的时候,由于DNS解析是按照接入时延来选择主跟踪接入服务器,主跟踪接入服务器又是按照全随机的策略返回一个跟踪接入服务器的地址供客户端使用,导致系统中跟踪接入服务器的负载严重不均。
[0016]另外,在实际应用系统中,各跟踪接入服务器的硬件条件并不完全一致,随机的策略使得部分跟踪接入服务器负载非常高,其他跟踪接入服务器的负载却很低,导致资源利用非常不充分。
[0017]同时,如果某一台跟踪接入服务器出现故障,需要被替换时,鉴于DNS解析缓存的原因,客户端可能继续访问这些故障机器,若在发布高峰,跟踪接入服务器的工作异常会严重影响整个系统的效率。

【发明内容】

[0018]本发明实施例提供一种P2SP多源下载系统,旨在解决当前P2SP下载系统中跟踪接入服务器的负载不均衡,导致资源利用不充分,影响系统效率的问题。
[0019]本发明实施例是这样实现的,一种P2SP多源下载系统,包括:
[0020]多个跟踪接入服务器,用于定期上报自身的负载信息;以及
[0021]跟踪接入管理服务器,用于根据所述多个跟踪接入服务器上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端。
[0022]本发明实施例根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。
【专利附图】

【附图说明】
[0023]图1是现有技术提供的Tacker服务器系统的架构图;
[0024]图2是本发明实施例提供的P2SP多源下载系统的结构图;
[0025]图3是本发明实施例提供的P2SP多源下载系统的业务流程图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]本发明实施例在P2SP多源下载系统中配置跟踪接入管理服务器,根据跟踪接入服务器的负载情况,动态实现跟踪接入服务器的负载均衡。[0028]图2是本发明实施例提供的P2SP多源下载系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
[0029]跟踪接入服务器21定期向跟踪接入管理服务器22上报自身的负载信息。
[0030]作为本发明的一个实施例,跟踪接入服务器21上报的负载信息包括:
[0031]当前跟踪接入服务器的节点在线人数OnlineNum;
[0032]当前跟踪接入服务器的CPU负载Cpu ;以及
[0033]请求数Requst。
[0034]作为本发明的一个实施例,对于Linux操作系统CPU负载可以有2种不同的获取方法:
[0035]第一种方法是通过分析内存文件系统对于服务器进程下载的统计信息,例如/proc/pid/stat进程状态获取。具体为分别获取时间点T1、T2进程的(user+system)状态,通过算出用户态时间和核心态时间总和的变化值Delta,然后通过Delta/ (T1-T2)计算。
[0036]第二种方法是通过/proc/stat+/proc/pid/stat方法,分别获取时间点Tl、T2的CPU 状态,包括(user+system+nice+idle+iowait+irq+softirq),算出各个时间的 Delta值,Ι-1dle/total就是CPU的利用率,然后通过/proc/pid/stat数据,获取进程在哪个CPU上,从而得到该CPU的负载Cpu。
[0037]请求数Requst包括与客户端心跳的数目及查询种子的请求数目之和,因为这两项是与跟踪接入服务器的负载最相关的因素。实际应用时也可以考虑其他因素,例如删除、注册文件的请求数目。
[0038]作为发明的一个实施例,跟踪接入服务器的总负载TrackerLoad具体计算公式为:
[0039]TrackerLoad=OnlineNum*a+Cpu*b+Requst*c。
[0040]其中,a, b, c分别是OnlineNum, Cpu, Requst三者的权重系数。
[0041]权重使用梯度方式,即在不同的梯度下,三者的权重不一样,Cpu是影响负载最主要的因素,Cpu越高,其权重也越大;同样在线人数越大,其权重也越大。其中OnlineNum、Cpu在各阶段的负载是变化的,超过了一定的阈值,其权重将变得非常大,而在阈值范围内,作用则较小。
[0042]作为本发明的一个优选实施例,除了按照负载情况来选择跟踪接入服务器外,还可以增加一部分辅助策略,例如:
[0043]a.当跟踪接入服务器上报的CPU利用率率大于一定阈值时,例如设为95%,则直接剔除,且不允许注册和返回给客户端;
[0044]b.Delta过大不信任,即CPU下降速度过快,可以设为大于20%,进行数据去噪,防止机器抖动影响结果,此类情况可能发生在意外进程重启时。
[0045]c.剔除超时不注册的跟踪接入服务器,例如服务器出现故障,或者负载过大,无法发送持续的上报协议。
[0046]跟踪接入管理服务器22根据跟踪接入服务器21上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端25。
[0047]在本发明实施例中,跟踪接入管理服务器22接受跟踪接入服务器21的注册,与跟踪接入服务器21保持定期的心跳,同时接收跟踪接入服务器21上报的负载信息,按照上述负载选择算法和辅助策略挑选合适的跟踪接入服务器返回给客户端25作为接入服务器。同时,与客户端25保持通讯,为客户端25提供跟踪接入服务器的接入导航服务。
[0048]在本发明实施例中,当前跟踪接入服务器的负载越高,被选中的概率越小。
[0049]作为本发明的一个优选实施例,为了解决跟踪接入管理服务器22的单点故障问题,避免跟踪接入管理服务器22出现故障影响系统的运行,配置跟踪接入管理备份服务器23同步备份跟踪接入管理服务器22的数据和信息。跟踪接入管理服务器22定期将内存的当前跟踪接入服务器列表配置信息和分组访问跟踪应用服务器的配置信息同步给跟踪接入管理备份服务器23,在跟踪接入管理服务器22出现故障的时候接管跟踪接入管理服务器22的工作。
[0050]在本发明实施例中,跟踪接入管理服务器22维护跟踪接入服务器21访问跟踪应用服务器24的分组配置信息,并且将分组配置信息返回给跟踪接入服务器21的查询请求,这样新增的跟踪接入服务器只需简单向跟踪接入管理服务器24进行注册,即可快速扩容上线。若需扩容跟踪应用服务器,也只要修改跟踪接入管理服务器的配置即可。
[0051]作为本发明的一个实施例,在跟踪接入服务器21中配置跟踪应用服务器信息获取单元211,从跟踪接入管理服务器22定期获取访问跟踪应用服务器24的分组策略和地址信息。在跟踪接入管理服务器22中配置跟踪应用服务器配置信息维护单元221,维护跟踪接入服务器21访问跟踪应用服务器24的分组配置信息,并且将配置信息返回给请求查询的跟踪接入服务器21。
[0052]客户端25定期向跟踪接入服务器21汇报在线情况和本地拥有的资源信息,同时向跟踪接入服务器21查询节点信息。跟踪接入服务器21和客户端25维持节点上报、心跳、添加/删除文件的通讯。
[0053]在本发明实施例中,客户端25通过DNS解析配置获取跟踪接入管理服务器22的地址,向跟踪接入管理服务器22发起接入请求,然后从跟踪接入管理服务器22返回的结果中获取到相应的跟踪接入服务器的地址和端口。
[0054]跟踪应用服务器24接受跟踪接入服务器21的节点信息注册同步,维持某一个文件在线节点的信息列表,实现具体节点的选择算法和策略,为跟踪接入服务器21提供节点查询服务。
[0055]统计服务器26接收客户端25的下载完成和下载过程中节点下载速度、下载时间、连通情况、下载结果、文件大小等信息的上报,并写成流水日志的方式供后续统计分析。
[0056]图3是本发明实施例提供的P2SP多源下载系统的业务流程图,详述如下:
[0057]1.客户端通过DNS解析接入跟踪接入管理服务器,查询跟踪接入服务器地址。
[0058]2.跟踪接入管理服务器实时收集跟踪接入服务器的负载信息。
[0059]3.跟踪接入管理服务器计算跟踪接入服务器的实际负载,或者参考响应的辅助策略,返回合适的跟踪接入服务器的IP地址和端口给客户端,并将信息同步给跟踪接入管理备份服务器。
[0060]此外,跟踪接入管理服务器还负责维护跟踪接入服务器访问跟踪应用服务器的分组策略和地址信息,并且定期将配置信息返回给跟踪接入服务器。
[0061]4.客户端向跟踪接入服务器上报在线情况和本地拥有的资源信息,并查询节点信息、保持心跳。[0062]5.跟踪接入服务器访问跟踪应用服务器,查询候选节点。
[0063]6.下载任务结束后,客户端向统计服务器上报本次下载任务的下载时间、下载速度、下载结果、文件大小、下载时间等信息,统计服务器以日志形式保存以上内容供后续统计分析。
[0064]本发明实施例根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。同时,实现了跟踪应用服务器的快速扩容,减少了系统的运营维护操作。
[0065]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种P2SP多源下载系统,其特征在于,所述系统包括: 多个跟踪接入服务器,用于定期上报自身的负载信息;以及 跟踪接入管理服务器,用于根据所述多个跟踪接入服务器上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端。
2.如权利要求1所述的P2SP多源下载系统,其特征在于,所述负载信息包括CPU负载、在线人数和请求数。
3.如权利要求2所述的P2SP多源下载系统,其特征在于,所述跟踪接入管理服务器根据以下公式选择合适的跟踪接入服务器的地址和端口:
TrackerLoad=OnlineNum^a+Cpu^b+Requst^c ; 其中,TrackerLoad为当前跟踪接入服务器的负载,当前跟踪接入服务器的负载越高,被选中的概率越小; OnlineNum为当前跟踪接入服务器的节点在线人数; Cpu为当前跟踪接入服务器的CPU负载; Requst为请求数,为与客户端心跳的数目及查询种子的请求数目之和; a、b、c分别为OnlineNum、Cpu和Requst的权重系数。
4.如权利要求3所述的P2SP多源下载系统,其特征在于,当出现如下情况时,所述跟踪接入管理服务器将相应的跟踪接入服务器剔除: 跟踪接入服务器上报的CPU使用率率大于设定阈值时;或者 跟踪接入服务器超时未注册。
5.如权利要求1所述的P2SP多源下载系统,其特征在于,所述系统还包括: 跟踪接入管理备份服务器,用于同步备份所述跟踪接入管理服务器的数据和信息。
6.如权利要求1所述的P2SP多源下载系统,其特征在于,所述跟踪接入服务器还包括: 跟踪应用服务器信息获取单元,用于从所述跟踪接入管理服务器定期获取访问跟踪应用服务器的分组策略和地址信息; 所述跟踪接入管理服务器还包括: 跟踪应用服务器配置信息维护单元,用于维护跟踪接入服务器访问跟踪应用服务器的分组配置信息,并且将所述配置信息返回给请求查询的跟踪接入服务器。
【文档编号】H04L29/08GK103795766SQ201210433548
【公开日】2014年5月14日 申请日期:2012年11月2日 优先权日:2012年11月2日
【发明者】刘刚 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1