CN103457972B - 一种p2p系统的节点信息处理方法和系统 - Google Patents

一种p2p系统的节点信息处理方法和系统 Download PDF

Info

Publication number
CN103457972B
CN103457972B CN201210177890.4A CN201210177890A CN103457972B CN 103457972 B CN103457972 B CN 103457972B CN 201210177890 A CN201210177890 A CN 201210177890A CN 103457972 B CN103457972 B CN 103457972B
Authority
CN
China
Prior art keywords
file
trackerapp
online
server
peer
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
Application number
CN201210177890.4A
Other languages
English (en)
Other versions
CN103457972A (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
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 CN201210177890.4A priority Critical patent/CN103457972B/zh
Publication of CN103457972A publication Critical patent/CN103457972A/zh
Application granted granted Critical
Publication of CN103457972B publication Critical patent/CN103457972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种P2P系统的节点信息处理方法和系统。该方法包括:根据用户对文件的需求程度确定热门文件,将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp;接收查询文件的在线Peer节点信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息。应用本发明能够提高P2P系统的稳定性。

Description

一种P2P系统的节点信息处理方法和系统
技术领域
本发明涉及网络技术领域,尤其涉及一种P2P系统的节点信息处理方法和系统。
背景技术
随着互联网业务的发展,对带宽的需求与日俱增,例如,大型网络游戏的安装包达到几十G,下载安装包需要较大的带宽,随着网页游戏内容和场景越来越复杂,通过浏览器加载的网页游戏也需要较大的带宽。
目前,在不增加服务器带宽投入的情况下,降低互联网业务服务提供商带宽消耗最有效的办法,是采用端对端(P2P)技术,让终端之间相互传递大部分数据。
P2P技术,又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是依赖较少几台服务器上的计算能力和带宽。参与节点之间是一种对等关系,节点在享受服务的同时,也为其他节点服务,他们共同组成了P2P网络。
在P2P网络中,如果对等节点(peer)除了包括用户计算机外,还包括服务器,则该P2P网络可以称为点对服务器和点(Peer to Server&Peer,P2SP)网络,也就是说P2SP网络还可以索引第三方服务器的资源。
目前,在P2P网络中,例如,在P2SP网络中,采用跟踪(Tracker)服务器实现P2P网络中节点信息的实时注册、在线心跳维持和节点索引信息的查询。Tracker服务器采用两层结构,包括前端接入服务器(TrackerConn)和后端逻辑服务器(TrackerApp)。其中,TrackerConn服务器设置有和客户端进行通讯的接口,负责接收客户端的下载请求,将客户端心跳和peer节点查询请求转发给后端的TrackerApp服务器;TrackerApp服务器负责索引对于每个文件当前有哪些peer节点在线、即有哪些peer节点已将下载或正在下载该文件,根据peer节点查询请求,选择相应的Peer节点,并将选择的peer节点通过TrackerConn服务器返回给客户端。
图1是目前的Tracker服务器架构图。
如图1所示,目前的Tracker服务器并行部署有多台TrackerConn服务器,每个TrackerConn服务器管理一些客户端节点,每个客户端节点只限跟一个TrackerConn服务器通信,根据TCP协议或UDP协议向TrackerConn服务器上报心跳信息、或发送节点查询请求。其中,每个TrackerConn服务器和每个TrackerApp服务器保持连接。
如图1所示,目前的Tracker服务器也部署有多个TrackerApp服务器,每个TrackerApp服务器负责索引一部分文件的在线peer节点信息,并提供更新和查询在线peer节点信息的功能。
具体地,每个TrackerApp服务器根据文件哈希(Hash)分段,索引一个Hash段的文件。例如,文件Hash的首字节取值范围是0-FF,转换为10进制数为0-255,如果Tracker服务器部署有4个TrackerApp服务器,则将文件Hash的首字节取值范围平均分为4段,根据文件Hash的首字节的取值所在的分段,每个TrackerApp服务器负责一个分段对应的文件的Peer节点索引信息,即负责其Hash首字节取值落在该分段的文件的Peer节点索引信息,并提供相应的Peer节点信息查询功能。
下面对现有技术中客户端与Tracker服务器之间的通信流程以及Tracker服务器的工作流程进行说明。
首先,客户端与Tracker服务器进行通信的第一步,是通过TCP方式或UDP方式,获取Tracker服务器的一个TrackerConn服务器的地址,以便客户端与该TrackerConn服务器进行通信。其中,Tracker服务器的各个TrackerConn服务器以轮询的方式,将其中一个TrackerConn服务器的地址发给客户端。
客户端与TrackerConn服务器的通信,包括向该TrackerConn服务器上报心跳消息、文件更新消息或文件下载请求等。
其中,TrackerConn服务器接收到客户端上报的心跳消息后,经过一个同步时间间隔,例如1分钟,再向TrackerApp服务器同步客户端的心跳消息,TrackerApp服务器根据客户端的心跳消息,更新在线Peer节点信息。
TrackerConn服务器接收客户端上报的文件更新消息,包括该客户端已添加新文件的消息、或已删除已有文件的消息等,文件更新消息中携带有已添加或已删除文件的Hash信息。TrackerConn服务器根据客户端上报的文件更新消息中携带的Hash信息所在的Hash分段,将该文件更新消息同步给负责该Hash分段的TrackerApp服务器,TrackerApp服务器根据该文件更新消息更新该文件的在线Peer节点信息。
TrackerConn服务器接收客户端上报的文件下载请求,根据客户端请求下载的文件的Hash值所在的Hash分段,向负责该Hash分段的TrackerApp服务器发送Peer节点查询请求,该Peer节点查询请求中携带有客户端请求下载的文件的Hash信息。TrackerApp服务器根据Peer节点查询请求中携带的文件Hash信息,查找对应的在线Peer节点列表,根据预定的选择方法,从该在线Peer节点列表中选择Peer节点信息,将选出的Peer节点信息通过TrackerConn服务器返回给客户端。
为了提高在线Peer节点信息的查询速度、减小TrackerApp服务器的负载压力,在实际运营中,还常常在TrackerConn服务器中设置缓存(Cache)模块,其中缓存有部分文件的部分在线Peer节点信息,其中缓存的每个文件的在线Peer节点信息的个数一般不大于30个。TrackerConn服务器接收到客户端的文件下载请求后,首先查询自身缓存模块中是否缓存有该文件的在线Peer节点信息,如果是,则直接从所述缓存模块中选取在线Peer节点信息返回给客户端。
在通常情况下,用户下载的内容文件Hash分布非常广泛,单个文件同时下载的并发人数只有几千,此时,图1所示的Tracker服务器工作得很好。但是在面对游戏或者系统软件补丁发布,短时间内单个文件有非常巨大下载需求时,例如,并发人数达到几万个,同时超过几十万个人共享同一个文件,此时请求下载的客户端很多,候选的peer节点也很多,图1所示的Tracker系统面对这种单个文件有大量客户端请求下载同一文件和大量Peer节点在线的场景,存在如下几个问题:
由于图1所示Tracker服务器依据文件Hash的首字节进行分段,每个TrackerApp服务器根据文件哈希(Hash)分段,索引一个Hash段的文件,因此,对于负责热门文件所在的Hash段的TrackerApp服务器,由于该TrackerApp服务器接收的Peer节点信息查询请求较多,候选的Peer节点信息也较多,因此很容易使得该TrackerApp服务器负载过高,无法提供正常的服务,而且,Peer节点的查询响应速度也较慢。
另外,当通过在TrackerConn服务器中设置Cache模块,来减轻TrackerApp服务器的负载压力时,由于Cache模块中缓存的Peer节点信息有限,因此将导致一段时间内从Cache模块中查询到的Peer节点信息也有限,此段时间内大量请求文件下载的客户端查询到的都是Cache模块中缓存的同一批Peer节点信息,导致该批Peer节点需要为大量的客户端提供服务,而其他Peer节点却可能出于空闲状态,一方面,该批Peer节点的服务能力无法保证,另一方面,Peer节点资源的利用效率也较低。
可见,现有的Tracker服务器在有热门文件需要下载的场景下,部分TrackerApp服务器的负载压力过大,P2P系统稳定性较差,而且Peer节点信息查询的响应速度也较慢。
发明内容
有鉴于此,本发明提供了一种P2P系统的节点信息处理方法和系统,以便提高P2P系统的稳定性。
本发明的技术方案具体是这样实现的:
一种P2P系统的节点信息处理方法,该方法包括:
根据用户对文件的需求程度确定热门文件,将每个热门文件的在线对等节点(Peer)信息注册到两个以上的后端逻辑服务器(TrackerApp);
接收查询文件的在线Peer节点信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息;
在客户端与在线Peer节点交互数据之前,接收所述在线Peer节点发来的文件在线Peer节点信息。
一种P2P系统的节点信息处理系统,该系统包括确定模块、注册模块和查询模块;
所述确定模块,用于根据用户对文件的需求程度确定热门文件;
所述注册模块,用于将每个热门文件的在线对等节点(Peer)信息注册到两个以上的后端逻辑服务器(TrackerApp);
所述查询模块,用于接收查询文件的在线Peer节点信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息,在客户端与在线Peer节点交互数据之前,接收所述在线Peer节点发来的文件在线Peer节点信息。
由上述技术方案可见,本发明根据用户对文件的需求程度确定热门文件,将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器上,在接收到查询文件的在线Peer节点信息的请求后,首先判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息。
可见,本发明通过对文件进行区别对待,对于热门文件,将其在线Peer节点信息注册到了两个以上的TrackerApp服务器上,因此,当查询热门文件的在线Peer节点信息时,可以由两个以上的TrackerApp服务器提供相应的在线Peer节点信息,与现有技术中针对所有的文件,都根据文件Hash分段,将文件的在线Peer节点信息仅注册到一个TrackerApp服务器,对于所有文件,都仅由一个TrackerApp服务器提供在线Peer节点信息相比,本发明能够使得P2P系统在有热门文件需要下载的场景下,能够避免部分TrackerApp服务器负载压力过大,提高P2P系统的稳定性,而且,由于本发明可以由多个TrackerApp服务器提供热门文件的在线Peer节点信息,因此,也能够提高Peer节点信息查询的响应速度。
附图说明
图1是目前的Tracker服务器架构图。
图2是本发明提供的P2P系统的节点信息处理方法流程图。
图3是本发明提供的P2P系统的节点信息处理系统组成示意图。
图4是本发明提供的P2P系统架构以及通信流程示意图。
具体实施方式
图2是本发明提供的P2P系统的节点信息处理方法流程图。
如图2所示,该流程包括:
步骤201,根据用户对文件的需求程度确定热门文件。
步骤202,将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器上。
步骤203,接收查询文件的在线Peer节点信息的请求。
步骤204,判断所述文件是否为热门文件,如果是热门文件,则执行步骤205,如果不是热门文件,执行步骤206。
步骤205,从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息,结束本流程。
步骤206,从注册了所述文件的在线Peer节点信息的TrackerApp服务器查询该文件的在线Peer节点信息,结束本流程。
图2所示方法中,根据用户对文件的需求程度确定热门文件的具体方法可以有多种,例如,接收客户端上报的文件下载信息,根据客户端上报的文件下载信息统计文件下载频率,根据统计出的文件下载频率确定热门文件,例如,判断某文件的文件下载频率是否大于预定阈值,如果大于,则判定该文件为热门文件,否则判定该文件不是热门文件;或者,也可以根据TrackerConn服务器上的文件注册频率确定热门文件,例如,判断某文件的文件注册频率是否大于预定阈值,如果大于,则判定该文件为热门文件,否则判定该文件不是热门文件。再例如,也可以根据用户习惯等预测某一文件是否为热门文件,例如可以预测某一系统软件的补丁文件为热门文件。
其中,在将热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器上时,也可以根据文件的下载频率或注册频率确定需要注册的TrackerApp服务器个数,热门文件的下载频率或注册频率越高,则注册的TrackerApp服务器个数越多。
图2所示方法中,TrackerApp服务器可以向TrackerConn服务器发送注册消息,所述注册消息包括所述TrackerApp服务器允许注册的文件信息,则所述将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器具体可以包括:TrackerConn服务器根据TrackerApp服务器的注册消息,将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器。
对于非热门文件,TrackerConn服务器也可以根据TrackerApp服务器的注册消息,将非热门文件的在线Peer节点信息注册到允许注册该非热门文件的在线Peer节点信息的TrackerApp服务器上。
其中,TrackerApp服务器允许注册的文件信息可以有多种形式,例如可以是允许注册的文件的Hash信息、或允许注册的文件的名称、或其他能够区分不同文件的唯一标识。
TrackerApp服务器可以有多种方法获知哪些文件是热门文件,从而在发给TrackerConn服务器的允许注册的文件信息中,携带热门文件信息。
例如,可以在潜在热门文件发布以前,将该潜在热门文件信息携带在两个以上的TrackerApp服务器发送的允许注册的文件信息中,例如,在游戏或系统软件补丁文件发布以前,可以确定该补丁文件为潜在热门文件,将该补丁文件的文件信息携带在第一TrackerApp服务器发送的允许注册的文件信息中、以及第二TrackerApp服务器发送的允许注册的文件信息中。
再例如,也可以通过在TrackerConn服务器中新增统计模块,利用该统计模块接收客户端上报的文件下载信息,根据客户端上报的文件下载信息统计文件下载频率,根据统计出的文件下载频率确定热门文件,或者,根据TrackerConn服务器上的文件注册频率确定热门文件。然后根据统计模块统计出的热门文件信息,配置两个以上的TrackerApp服务器允许注册该热门文件的在线Peer节点信息。
TrackerApp服务器也可以不用获知哪些文件是热门文件,即不用在发给TrackerConn服务器的允许注册的文件信息中携带热门文件信息,而是默认所有或若干个TrackerApp服务器允许注册任意热门文件的在线Peer节点信息、或由TrackerApp服务器在允许注册的文件信息中携带一标识,用于表示该TrackerApp服务器允许注册任意热门文件的在线Peer节点信息,则TrackerConn服务器可以将热门文件注册到允许注册任意热门文件的在线Peer节点信息的任意TrackerApp服务器上,并且记录将哪些热门文件的在线Peer节点信息注册到了哪些TrackerApp服务器上。
根据TrackerApp服务器的注册消息,将热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器的方法,便于实现对TrackerApp服务器的灵活配置和调度。
除了可以根据TrackerApp服务器的注册消息,将热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器以外,还可以一方面根据文件Hash信息分段,将文件的在线Peer节点信息注册到该文件的Hash值所在Hash分段对应的TrackerApp服务器,另一方面,对于热门文件,还将该热门文件的在线Peer节点信息注册到预设的若干个TrackerApp服务器上,并且记录每个TrackerApp服务器上都注册有哪些文件的在线Peer节点信息。
图2所示方法中,可以由TrackerConn服务器将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器,记录每个TrackerApp服务器上都注册有哪些文件的在线Peer节点信息,并且,也由TrackerConn服务器接收客户端发来的查询文件的在线Peer节点信息的请求,由该TrackerConn服务器判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息。
图2所示方法中,也可以将查询文件的在线Peer节点信息的功能从TrackerConn服务器上独立出来,由另一查询服务器(TrackerQuery)实现文件在线Peer节点信息的查询,即将客户端的注册信息(包括心跳信息、文件更新信息等)与客户端的在线Peer节点查询信息相隔离,二者走不同的服务器入口,从而进一步降低TrackerConn服务器的负载。
具体地,由前端接入服务器(TrackerConn)将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器,TrackerConn服务器将每个TrackerApp服务器上注册有哪些文件的在线Peer节点信息同步给查询服务器(TrackerQuery)。由TrackerQuery服务器接收查询文件的在线Peer节点信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息。
其中,当从注册了热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器时,为了保证选出的TrackerApp服务器是当前在线的TrackerApp服务器,本发明提出,TrackerQuery服务器根据TrackerApp服务器注册的心跳信息,确定在线的TrackerApp服务器,从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中,根据预定原则选择在线的TrackerApp服务器。
其中,所述预定原则可以有多种,典型地,可以随机选择在线的TrackerApp服务器、或根据负载均衡的原则选择TrackerApp服务器,或者根据发送查询请求的客户端与提供在线Peer节点信息的TrackerApp服务器属于同一地理区域的原则选择TrackerApp服务器。
为了进一步降低TrackerConn服务器和TrackerApp服务器的负载压力,提高系统的容错性,使得在TrackerConn服务器或TrackerApp服务器出现问题时,客户端仍然能够查询到有效的Peer节点信息,本发明还提出,客户端在与在线Peer节点交互数据之前,还可以接收所述在线Peer节点发来的文件在线Peer节点信息、和/或向所述在线Peer节点发送该客户端存储的文件在线Peer节点信息,实现在线Peer节点之间交互彼此的在线Peer节点信息。其中,当客户端主动提供文件的在线peer节点信息时,如果对方感兴趣,可以接受该在线Peer节点信息,如果不感兴趣,也可以直接拒绝接收该在线Peer节点信息。
根据本发明提供的上述方法,本发明还提供了一种P2P系统的节点信息处理系统,具体请参见图3。
图3是本发明提供的P2P系统的节点信息处理系统组成示意图。
如图3所示,该系统包括确定模块301、注册模块302和查询模块303。
确定模块301,用于根据用户对文件的需求程度确定热门文件。
注册模块302,用于将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器上。
查询模块303,用于接收查询文件的在线Peer节点信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中选择TrackerApp服务器,从选出的TrackerApp服务器查询该热门文件的在线peer节点信息。
其中的注册模块302可以位于TrackerConn服务器中,查询模块303可以位于TrackerQuery服务器中,注册模块302将每个TrackerApp服务器上注册有哪些文件的在线Peer节点信息同步给所述TrackerQuery服务器。
其中,TrackerQuery服务器可以根据TrackerApp服务器注册的心跳信息,确定在线的TrackerApp服务器,从注册了该热门文件的在线Peer节点信息的两个以上TrackerApp服务器中,根据预定原则选择在线的TrackerApp服务器,从而从选出的TrackerApp服务器查询热门文件的在线Peer节点信息。
其中,确定模块301具体可以包括统计模块。
所述统计模块,用于接收客户端上报的文件下载信息,根据客户端上报的文件下载信息统计文件下载频率,根据统计出的文件下载频率确定热门文件,或者,根据TrackerConn服务器上的文件注册频率确定热门文件。
其中,TrackerApp服务器可以向TrackerConn服务器发送注册消息,所述注册消息包括所述TrackerApp服务器允许注册的文件信息,TrackerConn服务器根据TrackerApp服务器的注册消息,将每个热门文件的在线Peer节点信息注册到两个以上的TrackerApp服务器。
客户端在与在线Peer节点交互数据之前,可以接收在线Peer节点发来的文件在线Peer节点信息、和/或向所述在线Peer节点发送该客户端存储的文件在线Peer节点信息。
另外,本发明提供的上述方法和系统中,不需要在TrackerConn服务器上设置缓存模块,而是直接从TrackerApp服务器上查询在线Peer节点信息,因此,能够有效利用所有的在线Peer节点信息,避免在一段时间内大量客户端共用少部分在线Peer节点信息的问题。
下面举一个具体的例子,对本发明提供的技术方案进行示例性说明,具体请参见图4。需要说明的是,图4所示例子并不用于限制本发明。
图4是本发明提供的P2P系统架构以及通信流程示意图。
如图4所示,该P2P系统包括下载客户端、TrackerConn服务器、TrackerApp服务器、TrackerQuery服务器和统计服务器。其中,TrackerQuery服务器和统计服务器是新增的服务器。
下面对上述P2P系统中的各个组成部分及其相互之间的通信流程进行详细介绍。
下载客户端,一方面定期向TrackerConn服务器上报该下载客户端的在线情况和本地拥有的资源信息,即向TrackerConn服务器注册心跳信息和本地的文件信息;另一方面,向TrackerQuery服务器查询文件的在线Peer节点信息;再一方面,作为从TrackerQuery服务器查询在线Peer节点信息的有益补充,还可以在和其他下载客户端交互数据之前,相互交互文件的在线Peer节点信息。下载客户端从查询到的Peer节点下载自己需要的数据分块,还可以在下载完成后,向统计服务器上报本次下载任务的文件信息、下载时间、下载速度、下载结果、文件大小、下载耗时等信息。
其中的TrackerConn服务器,向下载客户端提供其他TrackerConn服务器的列表,供下载客户端选择其进行接入的TrackerConn服务器;和通过该TrackerConn服务器接入的下载客户端维持节点心跳信息、添加或删除等文件注册信息的通信;根据下载客户端发来的文件注册信息,统计通过该TrackerConn服务器注册的文件的注册频率,根据文件的注册频率确定热门文件,并向多个TrackerApp服务器注册热门文件的在线Peer节点信息,同时记录注册对应列表,即在每个TrackerApp上都注册有哪些文件的在线Peer节点信息,并将注册对应列表同步给TrackerQuery服务器。
其中的TrackerApp服务器,接收TrackerConn服务器注册的在线Peer节点信息,存储文件的在线Peer节点信息列表;实现具体的在线Peer节点信息选择功能,从而为TrackerQuery服务器提供在线Peer节点查询服务;和TrackerQuery服务器之间维持心跳信息,主动向TrackerQuery服务器注册心跳信息。
其中的TrackerQuery服务器,接收下载客户端的在线Peer节点信息查询请求,根据TrackerConn同步的注册对应列表,向多个TrackerApp服务器中的任意TrackerApp服务器查询热门文件的在线Peer节点信息;接收TrackerApp服务器注册的心跳信息,如果根据心跳信息确定出某一TrackerApp服务器不在线,则不向该TrackerApp服务器发送在线Peer节点信息查询请求。
其中的统计服务器,接收下载客户端下载完成后或下载过程中上报的文件下载信息,包括下载的文件信息、下载速度、下载结果、下载耗时等信息,将下载客户端上报的文件下载信息写成流水日志,以供统计分析,例如,可以用于确定热门文件。
可见,本发明通过将热门文件的在线Peer节点信息注册到多个TrackerApp服务器上,使得可以从多个TrackerApp服务器查询热门文件的在线Peer节点信息,避免了现有技术中注册有热门文件的在线Peer节点信息的TrackerApp服务器负载压力过大的问题;另外,通过下载客户端之间交互在线Peer节点信息,也可以减轻对TrackerConn服务器和TrackerApp服务器的依赖,提高系统的整体容错性和可靠性,下载客户端在高峰时候能够获取更多有效的peer种子,实现高效下载客户端数据信息的传播;再者,通过直接从TrackerApp服务器获得在线Peer节点信息,可以避免现有技术中对缓存模块的依赖,提升查询到的peer种子总体的联通效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种P2P系统的节点信息处理方法,其特征在于,该方法包括:
根据用户对文件的需求程度确定热门文件;
将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp;
接收查询文件的在线对等节点Peer信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中选择后端逻辑服务器TrackerApp,从选出的后端逻辑服务器TrackerApp查询该热门文件的在线对等节点Peer信息;
在客户端与在线Peer节点交互数据之前,接收所述在线Peer节点发来的文件在线对等节点Peer信息;
所述方法进一步包括:
所述后端逻辑服务器TrackerApp向前端接入服务器TrackerConn发送注册消息,所述注册消息包括所述后端逻辑服务器TrackerApp允许注册的文件信息;
所述将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp包括:
所述前端接入服务器TrackerConn根据所述后端逻辑服务器TrackerApp发送的注册消息,将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp。
2.根据权利要求1所述的方法,其特征在于,根据用户对文件的需求程度确定热门文件包括:
接收客户端上报的文件下载信息,根据客户端上报的文件下载信息统计文件下载频率,根据统计出的文件下载频率确定热门文件;
或者,根据所述前端接入服务器TrackerConn上的文件注册频率确定热门文件。
3.根据权利要求1所述的方法,其特征在于,
由所述前端接入服务器TrackerConn将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp,所述前端接入服务器TrackerConn将每个后端逻辑服务器TrackerApp上注册有哪些文件的在线对等节点Peer信息同步给查询服务器TrackerQuery;
由查询服务器TrackerQuery接收查询文件的在线对等节点Peer信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中选择后端逻辑服务器TrackerApp,从选出的后端逻辑服务器TrackerApp查询该热门文件的在线对等节点Peer信息。
4.根据权利要求1所述的方法,其特征在于,从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中选择后端逻辑服务器TrackerApp包括:
查询服务器TrackerQuery根据后端逻辑服务器TrackerApp注册的心跳信息,确定在线的后端逻辑服务器TrackerApp,从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中,根据预定原则选择在线的后端逻辑服务器TrackerApp。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
客户端在与在线Peer节点交互数据之前,向所述在线Peer节点发送该客户端存储的文件在线对等节点Peer信息。
6.一种P2P系统的节点信息处理系统,其特征在,该系统包括确定模块、注册模块和查询模块;
所述确定模块,用于根据用户对文件的需求程度确定热门文件;
所述注册模块,用于将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp;
所述查询模块,用于接收查询文件的在线对等节点Peer信息的请求,判断所述文件是否为热门文件,如果是热门文件,则从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中选择后端逻辑服务器TrackerApp,从选出的后端逻辑服务器TrackerApp查询该热门文件的在线对等节点Peer信息,在客户端与在线Peer节点交互数据之前,接收所述在线Peer节点发来的文件在线对等节点Peer信息;
其中,所述后端逻辑服务器TrackerApp发送注册消息,所述注册消息包括所述后端逻辑服务器TrackerApp允许注册的文件信息;
所述注册模块根据所述后端逻辑服务器TrackerApp发送的注册消息,将每个热门文件的在线对等节点Peer信息注册到两个以上的后端逻辑服务器TrackerApp。
7.根据权利要求6所述的系统,其特征在于,所述确定模块包括统计模块;
所述统计模块,用于接收客户端上报的文件下载信息,根据客户端上报的文件下载信息统计文件下载频率,根据统计出的文件下载频率确定热门文件,或者,根据前端接入服务器TrackerConn上的文件注册频率确定热门文件。
8.根据权利要求6所述的系统,其特征在于,
所述注册模块位于前端接入服务器TrackerConn中,所述查询模块位于查询服务器TrackerQuery中,所述注册模块将每个后端逻辑服务器TrackerApp上注册有哪些文件的在线对等节点Peer信息同步给所述查询服务器TrackerQuery。
9.根据权利要求6所述的系统,其特征在于,
查询服务器TrackerQuery根据后端逻辑服务器TrackerApp注册的心跳信息,确定在线的后端逻辑服务器TrackerApp,从注册了该热门文件的在线对等节点Peer信息的两个以上后端逻辑服务器TrackerApp中,根据预定原则选择在线的后端逻辑服务器TrackerApp。
10.根据权利要求6所述的系统,其特征在于,
客户端在与在线Peer节点交互数据之前,向所述在线Peer节点发送该客户端存储的文件在线对等节点Peer信息。
CN201210177890.4A 2012-06-01 2012-06-01 一种p2p系统的节点信息处理方法和系统 Active CN103457972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210177890.4A CN103457972B (zh) 2012-06-01 2012-06-01 一种p2p系统的节点信息处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210177890.4A CN103457972B (zh) 2012-06-01 2012-06-01 一种p2p系统的节点信息处理方法和系统

Publications (2)

Publication Number Publication Date
CN103457972A CN103457972A (zh) 2013-12-18
CN103457972B true CN103457972B (zh) 2018-06-01

Family

ID=49739922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210177890.4A Active CN103457972B (zh) 2012-06-01 2012-06-01 一种p2p系统的节点信息处理方法和系统

Country Status (1)

Country Link
CN (1) CN103457972B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747043A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种cdn服务器调度方法、cdn控制中心及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645918A (zh) * 2009-03-20 2010-02-10 中国科学院声学研究所 一种p2p系统中的节点间协作方法
CN101854391A (zh) * 2010-05-25 2010-10-06 南京邮电大学 一种基于对等网络的阿瑞斯协议分析系统的实现方法
CN101854387A (zh) * 2010-05-14 2010-10-06 中国科学院计算技术研究所 分布式索引服务器架构下的p2p流量优化方法和系统
WO2011055976A2 (ko) * 2009-11-03 2011-05-12 (주)피스페이스 분산 저장 시스템에서 파일을 관리하는 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645918A (zh) * 2009-03-20 2010-02-10 中国科学院声学研究所 一种p2p系统中的节点间协作方法
WO2011055976A2 (ko) * 2009-11-03 2011-05-12 (주)피스페이스 분산 저장 시스템에서 파일을 관리하는 장치 및 방법
CN101854387A (zh) * 2010-05-14 2010-10-06 中国科学院计算技术研究所 分布式索引服务器架构下的p2p流量优化方法和系统
CN101854391A (zh) * 2010-05-25 2010-10-06 南京邮电大学 一种基于对等网络的阿瑞斯协议分析系统的实现方法

Also Published As

Publication number Publication date
CN103457972A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
US9037657B2 (en) Systems and methods for peer-to-peer bandwidth allocation
Su et al. Big data in mobile social networks: A QoE-oriented framework
WO2021213184A1 (zh) 一种基于分布式选举的端到端内容分发网络系统和分发方法
Zhang et al. Proactive workload management in hybrid cloud computing
US9065809B2 (en) Method and node for distributing electronic content in a content distribution network
CN100556129C (zh) 一种对等连接流媒体直播系统和装置
CN111277629A (zh) 一种基于高可用性的web高并发系统及方法
CN106919654A (zh) 一种基于Nginx的高可用MySQL数据库的实现方法
CN108881445B (zh) 一种雾计算中基于古诺博弈的协作缓存方法
CN104022911A (zh) 一种融合型内容分发网络的内容路由管理方法
CN101217565B (zh) 一种对等网络视频共享系统中分类检索的网络组织方法
CN104202386B (zh) 一种高并发量分布式文件系统及其二次负载均衡方法
Rawadi et al. Providing local cloud services to mobile devices with inter-cloudlet communication
Cong et al. An efficient server bandwidth costs decreased mechanism towards mobile devices in cloud-assisted P2P-VoD system
CN103457972B (zh) 一种p2p系统的节点信息处理方法和系统
CN103825922B (zh) 一种数据更新方法及web服务器
CN105516343B (zh) 一种网络动态自组织的文件共享实现方法
CN108418871A (zh) 一种云存储性能优化方法和系统
Jin et al. Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service
WO2023151338A1 (zh) 游戏画面的显示方法、存储介质和电子设备
CN105025042B (zh) 一种确定数据信息的方法及系统、代理服务器
CN109995838B (zh) 虚拟内容调度方法、装置、设备及计算机可读存储介质
Jiang et al. A replica placement algorithm for hybrid CDN-P2P architecture
Chen et al. Hypds: enabling a hybrid file transfer protocol and peer to peer content distribution system for remote sensing data
CN102006326A (zh) 一种p2p流媒体下载系统及方法

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