CN103795766A - 一种p2sp多源下载系统 - Google Patents

一种p2sp多源下载系统 Download PDF

Info

Publication number
CN103795766A
CN103795766A CN201210433548.6A CN201210433548A CN103795766A CN 103795766 A CN103795766 A CN 103795766A CN 201210433548 A CN201210433548 A CN 201210433548A CN 103795766 A CN103795766 A CN 103795766A
Authority
CN
China
Prior art keywords
server
access
tracks
access server
tracking
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
CN201210433548.6A
Other languages
English (en)
Other versions
CN103795766B (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210433548.6A priority Critical patent/CN103795766B/zh
Publication of CN103795766A publication Critical patent/CN103795766A/zh
Application granted granted Critical
Publication of CN103795766B publication Critical patent/CN103795766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明适用于网络通信领域,提供了一种P2SP多源下载系统,所述系统包括:多个跟踪接入服务器,用于定期上报自身的负载信息;以及跟踪接入管理服务器,用于根据所述多个跟踪接入服务器上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端。本发明根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。

Description

一种P2SP多源下载系统
技术领域
本发明属于网络通信领域,尤其涉及一种P2SP多源下载系统。
背景技术
在点对服务器和点(Peer to Server&Peer,P2SP)多源下载系统中,通过P2SP方式分发大型文件,例如多媒体文件、游戏的升级包和补丁包等,能够有效降低服务器带宽消耗。
P2SP核心功能都是在跟踪(Tracker)服务器系统上实现的。现有的Tracker服务器系统如1图所示,系统采用两层架构,其中跟踪应用服务器(Tracker_app)负责维护索引文件的节点共享信息,处理查找节点的请求和节点选择算法的实现,跟踪接入服务器(Tracker_conn)负责接收下载客户端请求,缓冲存储一些中间的结果数据。
跟踪接入服务器可并行扩展部署多台,每个跟踪接入服务器管理一些客户端节点,每个客户端节点只跟一个跟踪接入服务器通信。跟踪接入服务器支持传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(UserDatagram Protocol,UDP)。跟踪接入服务器接收处理客户端的上报、心跳、节点查询请求,每个跟踪接入服务器和每个跟踪应用服务器保持TCP长连接。
该系统的处理流程详述如下:
1.客户端从主跟踪接入服务器获取跟踪接入服务器列表;
客户端进入Tracker系统的第一步就是在UDP或TCP协议下,通过域名系统(Domain Name System,DNS)解析的方式访问到一台主跟踪接入服务器,然后从主跟踪接入服务器获取跟踪接入服务器列表,主跟踪接入服务器以轮询的方式把所有跟踪接入服务器其中一个的地址返回给客户端,客户端之后心跳和消息更新都在该跟踪接入服务器上操作。
2.节点上报、心跳;
节点第一次上报信息,视为该节点的登陆操作,跟踪接入服务器会生成一个会话标识(SessionID)返回给节点,节点以后每次上报、查询都必须带上该SessionID。同时生成一个跟SessionID相关的密钥(Key)返回给节点,之后节点与跟踪接入服务器的通信包需要用该Key加解密,防止协议泄密。
SessionID在各个跟踪接入服务器上生成的,只用来唯一标识节点。可以采取如下方法生成:每个跟踪接入服务器有一个进程编号,从0开始记。SessionID是32位整型,其中高6位表示跟踪接入服务器的编号,低26位表示节点信息在跟踪接入服务器里面节点数组的下标。
Tracker服务器系统分成两层结构,是为了降低节点心跳带来的压力,所以节点在跟踪接入服务器上心跳后,并不是马上同步到跟踪应用服务器,而是对跟踪接入服务器上每个节点设置一个同步时间间隔,例如1min,达到时间后再同步。
3.节点添加/删除文件;
节点添加/删除文件的同样采用TCP和UDP协议,只是在添加/删除文件的字段里包含文件的哈希(Hash)信息,Tracker服务器系统通过不同的命令选择处理。
目前在不增加服务器带宽投入的情况下,采用P2P技术是降低服务商带宽消耗最有效的办法。在上述应用场景中都涉及单个文件需要在短时间内被分发到大量的节点,P2P系统中就会有大量的查询节点种子和心跳的需求。此时Tracker服务器系统会存在很大的访问压力。
目前,节点通常采用DNS解析方法获取Tracker服务器的访问地址,然后再和对应的跟踪接入服务器保持通讯。当大量节点在线访问的时候,由于DNS解析是按照接入时延来选择主跟踪接入服务器,主跟踪接入服务器又是按照全随机的策略返回一个跟踪接入服务器的地址供客户端使用,导致系统中跟踪接入服务器的负载严重不均。
另外,在实际应用系统中,各跟踪接入服务器的硬件条件并不完全一致,随机的策略使得部分跟踪接入服务器负载非常高,其他跟踪接入服务器的负载却很低,导致资源利用非常不充分。
同时,如果某一台跟踪接入服务器出现故障,需要被替换时,鉴于DNS解析缓存的原因,客户端可能继续访问这些故障机器,若在发布高峰,跟踪接入服务器的工作异常会严重影响整个系统的效率。
发明内容
本发明实施例提供一种P2SP多源下载系统,旨在解决当前P2SP下载系统中跟踪接入服务器的负载不均衡,导致资源利用不充分,影响系统效率的问题。
本发明实施例是这样实现的,一种P2SP多源下载系统,包括:
多个跟踪接入服务器,用于定期上报自身的负载信息;以及
跟踪接入管理服务器,用于根据所述多个跟踪接入服务器上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端。
本发明实施例根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。
附图说明
图1是现有技术提供的Tacker服务器系统的架构图;
图2是本发明实施例提供的P2SP多源下载系统的结构图;
图3是本发明实施例提供的P2SP多源下载系统的业务流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例在P2SP多源下载系统中配置跟踪接入管理服务器,根据跟踪接入服务器的负载情况,动态实现跟踪接入服务器的负载均衡。
图2是本发明实施例提供的P2SP多源下载系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
跟踪接入服务器21定期向跟踪接入管理服务器22上报自身的负载信息。
作为本发明的一个实施例,跟踪接入服务器21上报的负载信息包括:
当前跟踪接入服务器的节点在线人数OnlineNum;
当前跟踪接入服务器的CPU负载Cpu;以及
请求数Requst。
作为本发明的一个实施例,对于Linux操作系统CPU负载可以有2种不同的获取方法:
第一种方法是通过分析内存文件系统对于服务器进程下载的统计信息,例如/proc/pid/stat进程状态获取。具体为分别获取时间点T1、T2进程的(user+system)状态,通过算出用户态时间和核心态时间总和的变化值Delta,然后通过Delta/(T1-T2)计算。
第二种方法是通过/proc/stat+/proc/pid/stat方法,分别获取时间点T1、T2的CPU状态,包括(user+system+nice+idle+iowait+irq+softirq),算出各个时间的Delta值,1-idle/total就是CPU的利用率,然后通过/proc/pid/stat数据,获取进程在哪个CPU上,从而得到该CPU的负载Cpu。
请求数Requst包括与客户端心跳的数目及查询种子的请求数目之和,因为这两项是与跟踪接入服务器的负载最相关的因素。实际应用时也可以考虑其他因素,例如删除、注册文件的请求数目。
作为发明的一个实施例,跟踪接入服务器的总负载TrackerLoad具体计算公式为:
TrackerLoad=OnlineNum*a+Cpu*b+Requst*c。
其中,a,b,c分别是OnlineNum,Cpu,Requst三者的权重系数。
权重使用梯度方式,即在不同的梯度下,三者的权重不一样,Cpu是影响负载最主要的因素,Cpu越高,其权重也越大;同样在线人数越大,其权重也越大。其中OnlineNum、Cpu在各阶段的负载是变化的,超过了一定的阈值,其权重将变得非常大,而在阈值范围内,作用则较小。
作为本发明的一个优选实施例,除了按照负载情况来选择跟踪接入服务器外,还可以增加一部分辅助策略,例如:
a.当跟踪接入服务器上报的CPU利用率率大于一定阈值时,例如设为95%,则直接剔除,且不允许注册和返回给客户端;
b.Delta过大不信任,即CPU下降速度过快,可以设为大于20%,进行数据去噪,防止机器抖动影响结果,此类情况可能发生在意外进程重启时。
c.剔除超时不注册的跟踪接入服务器,例如服务器出现故障,或者负载过大,无法发送持续的上报协议。
跟踪接入管理服务器22根据跟踪接入服务器21上报的负载信息,选择合适的跟踪接入服务器的地址和端口返回给请求接入的客户端25。
在本发明实施例中,跟踪接入管理服务器22接受跟踪接入服务器21的注册,与跟踪接入服务器21保持定期的心跳,同时接收跟踪接入服务器21上报的负载信息,按照上述负载选择算法和辅助策略挑选合适的跟踪接入服务器返回给客户端25作为接入服务器。同时,与客户端25保持通讯,为客户端25提供跟踪接入服务器的接入导航服务。
在本发明实施例中,当前跟踪接入服务器的负载越高,被选中的概率越小。
作为本发明的一个优选实施例,为了解决跟踪接入管理服务器22的单点故障问题,避免跟踪接入管理服务器22出现故障影响系统的运行,配置跟踪接入管理备份服务器23同步备份跟踪接入管理服务器22的数据和信息。跟踪接入管理服务器22定期将内存的当前跟踪接入服务器列表配置信息和分组访问跟踪应用服务器的配置信息同步给跟踪接入管理备份服务器23,在跟踪接入管理服务器22出现故障的时候接管跟踪接入管理服务器22的工作。
在本发明实施例中,跟踪接入管理服务器22维护跟踪接入服务器21访问跟踪应用服务器24的分组配置信息,并且将分组配置信息返回给跟踪接入服务器21的查询请求,这样新增的跟踪接入服务器只需简单向跟踪接入管理服务器24进行注册,即可快速扩容上线。若需扩容跟踪应用服务器,也只要修改跟踪接入管理服务器的配置即可。
作为本发明的一个实施例,在跟踪接入服务器21中配置跟踪应用服务器信息获取单元211,从跟踪接入管理服务器22定期获取访问跟踪应用服务器24的分组策略和地址信息。在跟踪接入管理服务器22中配置跟踪应用服务器配置信息维护单元221,维护跟踪接入服务器21访问跟踪应用服务器24的分组配置信息,并且将配置信息返回给请求查询的跟踪接入服务器21。
客户端25定期向跟踪接入服务器21汇报在线情况和本地拥有的资源信息,同时向跟踪接入服务器21查询节点信息。跟踪接入服务器21和客户端25维持节点上报、心跳、添加/删除文件的通讯。
在本发明实施例中,客户端25通过DNS解析配置获取跟踪接入管理服务器22的地址,向跟踪接入管理服务器22发起接入请求,然后从跟踪接入管理服务器22返回的结果中获取到相应的跟踪接入服务器的地址和端口。
跟踪应用服务器24接受跟踪接入服务器21的节点信息注册同步,维持某一个文件在线节点的信息列表,实现具体节点的选择算法和策略,为跟踪接入服务器21提供节点查询服务。
统计服务器26接收客户端25的下载完成和下载过程中节点下载速度、下载时间、连通情况、下载结果、文件大小等信息的上报,并写成流水日志的方式供后续统计分析。
图3是本发明实施例提供的P2SP多源下载系统的业务流程图,详述如下:
1.客户端通过DNS解析接入跟踪接入管理服务器,查询跟踪接入服务器地址。
2.跟踪接入管理服务器实时收集跟踪接入服务器的负载信息。
3.跟踪接入管理服务器计算跟踪接入服务器的实际负载,或者参考响应的辅助策略,返回合适的跟踪接入服务器的IP地址和端口给客户端,并将信息同步给跟踪接入管理备份服务器。
此外,跟踪接入管理服务器还负责维护跟踪接入服务器访问跟踪应用服务器的分组策略和地址信息,并且定期将配置信息返回给跟踪接入服务器。
4.客户端向跟踪接入服务器上报在线情况和本地拥有的资源信息,并查询节点信息、保持心跳。
5.跟踪接入服务器访问跟踪应用服务器,查询候选节点。
6.下载任务结束后,客户端向统计服务器上报本次下载任务的下载时间、下载速度、下载结果、文件大小、下载时间等信息,统计服务器以日志形式保存以上内容供后续统计分析。
本发明实施例根据跟踪接入服务器的负载情况,实现跟踪服务器的动态负载均衡,可以充分利用系统的硬件资源,减少设备投入,增加了系统的效率,并可以应对突发情况,提高系统整体的容错性和稳定性。同时,实现了跟踪应用服务器的快速扩容,减少了系统的运营维护操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

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多源下载系统,其特征在于,所述跟踪接入服务器还包括:
跟踪应用服务器信息获取单元,用于从所述跟踪接入管理服务器定期获取访问跟踪应用服务器的分组策略和地址信息;
所述跟踪接入管理服务器还包括:
跟踪应用服务器配置信息维护单元,用于维护跟踪接入服务器访问跟踪应用服务器的分组配置信息,并且将所述配置信息返回给请求查询的跟踪接入服务器。
CN201210433548.6A 2012-11-02 2012-11-02 一种p2sp多源下载系统 Active CN103795766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210433548.6A CN103795766B (zh) 2012-11-02 2012-11-02 一种p2sp多源下载系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210433548.6A CN103795766B (zh) 2012-11-02 2012-11-02 一种p2sp多源下载系统

Publications (2)

Publication Number Publication Date
CN103795766A true CN103795766A (zh) 2014-05-14
CN103795766B CN103795766B (zh) 2018-11-23

Family

ID=50671044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210433548.6A Active CN103795766B (zh) 2012-11-02 2012-11-02 一种p2sp多源下载系统

Country Status (1)

Country Link
CN (1) CN103795766B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021248A (zh) * 2015-09-16 2016-10-12 展视网(北京)科技有限公司 一种元搜索引擎相关的视频文件下载系统及方法
CN107204861A (zh) * 2017-07-27 2017-09-26 郑州云海信息技术有限公司 一种服务器集群事件处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036741A1 (en) * 2004-08-10 2006-02-16 Nokia Corporation Method of managing a connection release, corresponding system and device
CN101115016A (zh) * 2007-08-23 2008-01-30 创新科存储技术(深圳)有限公司 一种实现应用服务器负载均衡的方法及系统
CN101119359A (zh) * 2006-08-01 2008-02-06 中兴通讯股份有限公司 基于策略的服务负载均衡方法
CN101938504A (zh) * 2009-06-30 2011-01-05 深圳市融创天下科技发展有限公司 集群服务器智能调度的方法及系统
CN102223419A (zh) * 2011-07-05 2011-10-19 北京邮电大学 面向网络化操作系统的虚拟资源动态反馈均衡分配机制

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036741A1 (en) * 2004-08-10 2006-02-16 Nokia Corporation Method of managing a connection release, corresponding system and device
CN101119359A (zh) * 2006-08-01 2008-02-06 中兴通讯股份有限公司 基于策略的服务负载均衡方法
CN101115016A (zh) * 2007-08-23 2008-01-30 创新科存储技术(深圳)有限公司 一种实现应用服务器负载均衡的方法及系统
CN101938504A (zh) * 2009-06-30 2011-01-05 深圳市融创天下科技发展有限公司 集群服务器智能调度的方法及系统
CN102223419A (zh) * 2011-07-05 2011-10-19 北京邮电大学 面向网络化操作系统的虚拟资源动态反馈均衡分配机制

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021248A (zh) * 2015-09-16 2016-10-12 展视网(北京)科技有限公司 一种元搜索引擎相关的视频文件下载系统及方法
CN107204861A (zh) * 2017-07-27 2017-09-26 郑州云海信息技术有限公司 一种服务器集群事件处理方法

Also Published As

Publication number Publication date
CN103795766B (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
US10733029B2 (en) Movement of services across clusters
US10691716B2 (en) Dynamic partitioning techniques for data streams
US10795905B2 (en) Data stream ingestion and persistence techniques
JP6510112B2 (ja) データストリーム取り込み及び永続性ポリシ
US9794135B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US10635644B2 (en) Partition-based data stream processing framework
US9276959B2 (en) Client-configurable security options for data streams
Zhang et al. Proactive workload management in hybrid cloud computing
CN104065568A (zh) 一种Web服务器集群的路由方法
US11075984B1 (en) Workload management at streaming data service supporting persistent connections for reads
US9860317B1 (en) Throughput throttling for distributed file storage services with varying connection characteristics
US20130007253A1 (en) Method, system and corresponding device for load balancing
US10346367B1 (en) Load shedding techniques for distributed services with persistent client connections to ensure quality of service
CN106959820B (zh) 一种数据提取方法和系统
US10708379B1 (en) Dynamic proxy for databases
Gill et al. Dynamic cost-aware re-replication and rebalancing strategy in cloud system
Zacheilas et al. Dynamic load balancing techniques for distributed complex event processing systems
Henze et al. Practical data compliance for cloud storage
Makris et al. Load balancing for minimizing the average response time of get operations in distributed key-value stores
CN103795766A (zh) 一种p2sp多源下载系统
EP3685567B1 (en) Load shedding of traffic based on current load state of target capacity
Chaabouni et al. Reducing costs in the personal cloud: Is bittorrent a better bet?
US11256440B2 (en) Method and distributed storage system for aggregating statistics
CN109831502A (zh) 新型网站云虚拟主机架构
Séguin et al. Towards elasticity in distributed file systems

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
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.