CN103731472B - 采用p2p技术下载文件的方法和系统、客户端 - Google Patents

采用p2p技术下载文件的方法和系统、客户端 Download PDF

Info

Publication number
CN103731472B
CN103731472B CN201310579282.0A CN201310579282A CN103731472B CN 103731472 B CN103731472 B CN 103731472B CN 201310579282 A CN201310579282 A CN 201310579282A CN 103731472 B CN103731472 B CN 103731472B
Authority
CN
China
Prior art keywords
servers
address
client
lists
address section
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.)
Expired - Fee Related
Application number
CN201310579282.0A
Other languages
English (en)
Other versions
CN103731472A (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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310579282.0A priority Critical patent/CN103731472B/zh
Priority claimed from CN 201110161087 external-priority patent/CN102223411B/zh
Publication of CN103731472A publication Critical patent/CN103731472A/zh
Application granted granted Critical
Publication of CN103731472B publication Critical patent/CN103731472B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种采用P2P技术下载文件的方法和系统、一种客户端,其中的方法具体包括:客户端向P2P系统发送携带文件资源信息的服务器查询请求;该客户端接收所述P2P系统返回的P2P服务器的IP列表;该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器,并依据所选择P2P服务器获取文件资源的种子信息;该客户端依据所述文件资源的种子信息,进行该文件资源的分享。本发明能够提高文件资源的共享效率和P2P下载效率。

Description

采用P2P技术下载文件的方法和系统、客户端
本发明专利申请是申请日为2011年6月15日、申请号为201110161087.7、名称为“采用P2P技术下载文件的方法和系统、客户端”的中国发明专利申请的分案申请。
技术领域
本发明涉及网络通信技术领域,特别是涉及一种采用P2P技术下载文件的方法和系统、一种客户端。
背景技术
P2P(点对点,Peer-to-Peer)技术是一种对等互联网络技术,在P2P网络中每个节点的地位都是对等的,既是服务器又是客户端,每个节点在享受其它节点提供的服务的同时,也在为其它节点提供服务。
由于P2P技术充分利用了各节点的计算能力,因而它在扩展性、扩展承保等方面存在极大的优势。近年来,文件共享、流媒体等各种基于P2P技术的互联网应用发展迅猛,P2P下载流量已占据全球互联网总数据流量的70%以上,P2P技术已成为宽带互联网重要的媒体交付技术。
现有采用P2P技术下载文件的方法,通常包括如下步骤:
步骤A1、客户端A开始针对某文件资源的下载任务;
步骤A2、客户端A得到P2P服务器的IP(网络之间互连的协议,Internet Protocol)列表;
步骤A3、依据所述P2P服务器的IP列表,客户端A随机选择其中一台P2P服务器进行登陆;
步骤A4、该客户端A向该台P2P服务器发送携带该文件资源信息的查询请求;
步骤A5、该台P2P服务器向客户端A返回该文件资源的种子节点;
步骤A6、客户端A与所述该文件资源的种子节点连接,进行该文件资源的分享。
但是,由于随机选择P2P服务器的缘故,下载同一文件资源的客户端容易登录到不同的P2P服务器上,这就使得客户端A与所连接种子节点的临近属性下降,使得客户端A与所连接种子节点之间的共享效率降低,表现在下载速度慢、连接时间长等,从而严重影响P2P下载效率。
特别地,对于升级,漏洞补丁修复等业务需求,可能会出现百万甚至千万个客户端集中采用P2P技术下载一个文件资源的情况,此时,客户端之间的共享效率更低,P2P下载效率更低。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高上述情形下的共享效率和P2P下载效率。
发明内容
本发明所要解决的技术问题是提供一种采用P2P技术下载文件的方法和系统、一种客户端,能够提高文件资源的共享效率和P2P下载效率。
为了解决上述问题,本发明公开了一种采用P2P技术下载文件的方法,包括:
客户端向P2P系统发送携带文件资源信息的服务器查询请求;
该客户端接收所述P2P系统返回的P2P服务器的IP列表;
该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器,并依据所选择P2P服务器获取文件资源的种子信息;
该客户端依据所述文件资源的种子信息,进行该文件资源的分享。
优选的,所述P2P服务器的IP列表中包括多个P2P服务器的IP地址;
所述该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器的步骤,包括:
从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
优选的,所述该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器的步骤,包括:
该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;
针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者。
优选的,所述针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者的步骤,包括:
对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;
依据所述取模结果,从所述排序结果中选择一者。
优选的,所述数字运算包括数字加密运算或者数字摘要运算。
优选的,所述文件资源信息包括文件资源的网页地址。
另一方面,本发明还提供了一种采用P2P技术下载文件的系统,包括客户端和P2P系统,所述P2P系统进一步包括P2P服务器,其中,
所述客户端,包括:
服务器查询模块,用于向所述P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块,用于接收所述P2P系统返回的P2P服务器的IP列表;
选择模块,用于根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;
种子信息获取模块,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块,用于依据所述文件资源的种子信息,进行该文件资源的分享;
所述P2P系统,还包括:
服务器查询处理模块,用于对所述服务器查询请求进行处理,得到相应的P2P服务器的IP列表,并返回给所述客户端。
优选的,所述P2P服务器的IP列表中包括多个P2P服务器的IP地址;
所述选择模块,包括:
第一查询子模块,用于从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
第二查询子模块,用于针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
选择子模块,用于依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
优选的,所述选择模块,包括:
第一选择子模块,用于该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;
第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者。
优选的,所述第二选择子模块,包括:
排序单元,用于对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
取整单元,用于对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
取模单元,用于计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;及
选择单元,用于依据所述取模结果,从所述排序结果中选择一者。
优选的,所述数字运算包括数字加密运算或者数字摘要运算。
另一方面,本发明还提供了一种客户端,包括:
服务器查询模块,用于向所述P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块,用于接收所述P2P系统返回的P2P服务器的IP列表;选择模块,用于从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;
种子信息获取模块,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块,用于依据所述文件资源的种子信息,进行该文件资源的分享。
与现有技术相比,本发明具有以下优点:
本发明的客户端在从P2P服务器的IP列表选择P2P服务器时,不是随机选择,而是根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;
一方面,由于客户端在下载文件资源的过程中,需要定时与P2P服务器交互共享该文件资源的提供客户端信息,所述网络连接最佳(例如,物理位置最临近且处于相同网络运营商的一个P2P服务器的就近接入)的接入策略,能够大大提高客户端与P2P服务器之间的交互速度,从而能够提高该文件资源的共享效率和P2P下载效率;
另一方面,由于本发明针对客户端所属IP地址段执行选择算法,使得P2P服务器的选择结果仅仅取决于客户端所属IP地址段,这样,具有相同IP地址段的不同客户端的选择结果是相同的,能够保证具有相同IP地址段的不同客户端登录到相同的P2P服务器;这样,本发明的客户端所选择P2P服务器具有的资源提供客户端之间同样具有最佳的网络连接(例如,属于相同的IP地址段,且处于相同网络运营商),所选择P2P服务器能够提供与欲下载客户端处于相同IP地址段和相同网络运营商的资源提供端也即种子节点;因此,能够大大提高欲下载客户端与所连接种子节点的临近属性,使得欲下载客户端与所连接种子节点之间的共享效率大大提高,从而大大提高P2P下载效率。
附图说明
图1是本发明一种采用P2P技术下载文件的方法实施例的流程图;
图2是本发明一种采用P2P技术下载文件的系统实施例的结构图;
图3是本发明一种客户端实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于:客户端在从P2P服务器的IP列表选择P2P服务器时,不是随机选择,而是遵循如下原则:
1、具有相同IP地址段的不同客户端选择相同的P2P服务器,使得所选择P2P服务器具有的资源提供客户端属于相同的IP地址段;
2、网络连接最佳的接入策略,例如,可以采取物理位置最临近且处于相同网络运营商的就近接入策略。
一方面,由于客户端在下载文件资源的过程中,需要定时与P2P服务器交互共享该文件资源的提供客户端信息,所述网络连接最佳的接入策略能够大大提高客户端与P2P服务器之间的交互速度,从而能够提高该文件资源的共享效率和P2P下载效率;
另一方面,由于所选择P2P服务器具有的资源提供客户端之间同样具有最佳的网络连接(例如,属于相同的IP地址段,且处于相同网络运营商);这样,在接收到客户端的种子查询请求时,能够提供与请求发起客户端处于相同IP地址段和相同网络运营商的资源提供端也即种子节点,因此,能够大大提高请求发起客户端与所连接种子节点的临近属性,使得请求发起客户端与所连接种子节点之间的共享效率大大提高,从而大大提高P2P下载效率。
参照图1,示出了本发明一种采用P2P技术下载文件的方法实施例的流程图,具体可以包括:
步骤101、客户端向P2P系统发送携带文件资源信息的服务器查询请求;
本发明可以适用于各种文件的下载,如视频文件、文档文件、程序文件等,本发明尤其适用于对于升级、漏洞补丁修复等热点文件的下载,以大大提高文件的共享效率和P2P下载效率。
在本发明的一种优选实施例中,所述文件资源信息可以包括文件资源的URL(网页地址,Uniform Resource Locator)。例如,用户欲通过BT(比特流,BitTorren)下载某视频文件,点击该视频文件的下载地址,则代表向BT系统发送了携带该视频文件的URL地址的服务器查询请求。
步骤102、该客户端接收所述P2P系统返回的P2P服务器的IP列表;
在实际中,可通过对所述服务器查询请求进行域名解析,得到相应的P2P服务器的IP列表;这里的域名解析可直接由P2P系统完成,也可由P2P请求域名解析服务器来完成,由于对所述服务器查询请求进行处理得到相应的P2P服务器的IP列表,属于本领域的公知常识,故在此不作赘述。
P2P服务器的IP列表的表现形式为IP的集合,如{116.21.170.34;116.227.24.132;117.88.214.74;121.10.105.151;121.10.105.151},集合中的元素一般以数组的形式进行存储。
步骤103、该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器,并依据所选择P2P服务器获取文件资源的种子信息;
因特网是全世界范围内的计算机联为一体而构成的通信网络的总称。为了通信的方便,给每一台计算机都事先分配一个标识地址也即IP地址。根据TCP/IP(传输控制协议/因特网互联协议,Transmission Control Protocol/Internet Protocol)规定,IP地址是由32位二进制数组成,而且在因特网范围内是唯一的。例如,某台联在因特网上的计算机的IP地址为:11010010 01001001 10001100 00000010
为了方便记忆,就将组成计算机的IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:210.73.140.2。
由于网络中包含的计算机有可能不一样多,有的网络可能含有较多的计算机,也有的网络包含较少的计算机,于是人们按照网络规模的大小,把32位地址信息设成三种定位的划分方式,这三种划分方法分别对应于A类、B类、C类IP地址段。
1.A类IP地址段
一个A类IP地址段是指,在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址段就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址段中网络的标识长度为7位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。
2.B类IP地址段
一个B类IP地址段是指,在IP地址的四段号码中,前两段号码为网络号码,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,每个网络所能容纳的计算机数为6万多台。
3.C类IP地址段
一个C类IP地址段是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址段中网络的标识长度为21位,主机标识的长度为8位,C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP的私有地址范围一般为:192.168.0.0~192.168.255.255;这样,如果一个客户端的IP地址为192.168.100.155,则认为其自身所属IP地址段为192.168.100.0。
关于从所述P2P服务器的IP列表中选择一台P2P服务器进行登陆,本发明可以提供如下方案:
方案一、
所述P2P服务器的IP列表中可以包括多个P2P服务器的IP地址;
此时,所述选择步骤可以进一步包括:
子步骤B1、从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库具体可以包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
在实际中,每个IP地址段对应的物理所在地和网络运营商可通过分析多个已知的IP地址的物理所在地信息得到;其中,已知的IP地址的物理所在地信息可通过各种方式获取,如网络用户资源提交,网络服务供应商提交等,本发明对已知的IP地址的物理所在地信息的获取方式不加以限制。
例如,如下为网通在全国各地的IP地址段示例:
60.0.0.0-60.10.255.255----河北
60.12.0.0-60.12.255.255----浙江
60.13.0.0-60.13.63.255----甘肃
60.13.128.0-60.13.255.255----新疆
60.16.0.0-60.23.255.255----辽宁
60.24.0.0-60.30.255.255----天津
60.31.0.0-60.31.255.255----内蒙古
60.208.0.0-60.217.255.255----山东
60.220.0.0-60.223.255.255----陕西
61.48.0.0-61.51.255.255----北京
61.52.0.0-61.54.255.255----河南
又如,如下为电信在全国各地的IP地址段示例:
61.129----上海
61.130----浙江
61.131----福建
61.132----江苏
61.133----山东
61.134----陕西
61.135----北京
子步骤B2、针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
子步骤B3、依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
在具体实现中,可采用二维列表来存储一个物理所在地到另一个物理所在地的距离,例如,北京到北京的距离为0,北京到天津的距离为137公里,北京到上海的距离为1088公里等。这样,可首先从所述P2P服务器的IP列表中选择处于相同网络运营商的一个或多个P2P服务器的IP地址,然后,再从中选择距离最短的一个P2P服务器的IP地址。
方案二、
在本发明的一种优选实施例中,所述选择步骤,可进一步包括:
子步骤C1、该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;
子步骤C2、针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者。
由于本优选实施例针对客户端所属IP地址段执行选择算法,使得子步骤C2的选择结果仅仅取决于客户端所属IP地址段,这样,具有相同IP地址段的不同客户端的选择结果是相同的,能够保证具有相同IP地址段的不同客户端选择相同的P2P服务器。
在本发明的另一种优选实施例中,所述子步骤C2可以进一步包括:
子步骤C21、对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
子步骤C22、对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
子步骤C23、计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;
子步骤C24、依据所述取模结果,从所述排序结果中选择一者。
例如,该客户端的IP地址段(61.133)处于山东电信,子步骤C1选择了M个山东电信的P2P服务器的IP地址;那么,子步骤C21可按从大到小或者从小到大对这M个IP地址进行排序,子步骤C22对61.133进行数字计算并进行取整运算得到N,子步骤C23进行N%M(取模运算)得到P,即选择排序后的M个IP地址中的第P个。
在本发明实施例中,优选的是,所述数字运算可以包括数字加密运算或者数字摘要运算。例如,数字加密运算可以进一步包括DES(对称算法,Data Encryption Standard),IDEA(国际数据加密算法,International Data Encryption Algorithm),DSA(数字摘要算法,Digital Signature Algorithm)等,所述数字摘要运算可以进一步包括SHA(安全Hash编码法,Secure Hash Algorithm),MD5(消息摘要算法第五版,Message DigestAlgorithm5)等。
需要说明的是,直接选择选择排序后的M个IP地址中的第P个属于选择算法的一个示例,实际上,在各客户端执行的选择算法相同的前提下,选择第P-1或P+1个都是可行的。
可以理解,除了除了数字加密运算和数字摘要运算外,本领域技术人员还可以根据实际需要,采用其它数字运算,本发明的宗旨是针对所属IP地址段执行选择算法,使得P2P服务器的的选择结果仅仅取决于客户端所属IP地址段,以保证具有相同IP地址段的不同客户端选择相同的P2P服务器;本发明并不会对具体的选择算法和数字运算加以限制。
在选择了一个P2P服务器后,可采用多种已有技术手段,获取文件资源的种子信息,例如,该客户端可首先向所选择P2P服务器发送携带该文件资源信息的种子查询请求,然后,接收所选择P2P服务器返回的文件资源的种子信息。可以理解,本领域技术人员可以根据实际需要,采用其它技术手段,本发明的宗旨是使得所选择P2P服务器具有的资源提供客户端之间具有最佳的网络连接(例如,属于相同的IP地址段,且处于相同网络运营商);这样,在接收到客户端的种子查询请求时,能够提供与请求发起客户端处于相同IP地址段和相同网络运营商的资源提供端也即种子节点,因此,能够大大提高请求发起客户端与所连接种子节点的临近属性,而不会对获取文件资源的种子信息的具体手段加以限制。
步骤104、该客户端依据所述文件资源的种子信息,进行该文件资源的分享。
为使本领域技术人员更好地理解本发明,以下通过一个具体的示例说明本发明采用P2P技术下载文件的详细过程,该示例涉及客户端A下载杀毒软件升级文件,具体可以包括:
步骤S1、客户端A向P2P系统发送服务器查询请求,该服务器查询请求携带有杀毒软件升级文件的URL地址;
步骤S2、P2P系统通过域名解析,得到与该服务器查询请求相应的P2P服务器的IP列表,并返回给客户端A;
步骤S3、客户端A接收所述P2P系统返回的P2P服务器的IP列表;
步骤S4、客户端A根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器进行登陆,具体可以包括:
子步骤S41、客户端A根据自身所属IP地址段,从所述P2P服务器的IP列表中选择了M个山东电信的P2P服务器的IP地址;
子步骤S42、客户端A按从大到小的顺序对这M个IP地址进行排序,得到排序结果;
子步骤S43、客户端A对自身所属IP地址段进行MD5计算,取MD5运算结果的最后四个字节,进行取整运算得到N;
子步骤S44、计算N%M得到到P;
子步骤S44、选择排序后的M个IP地址中的第P个,记该第P个P2P服务器为P2P服务器A;
假设与客户端A处于相同IP地址段的客户端B-客户端Z,也通过执行步骤S1-S4选择了P2P服务器A。
步骤S5、该客户端向P2P服务器A发送种子查询请求,该种子查询请求携带有该杀毒软件升级文件的URL地址;
步骤S6、P2P服务器A对所述种子查询请求进行处理,得到相应的杀毒软件升级文件的种子信息(例如,种子节点:客户端B-客户端H),并返回给客户端A;
步骤S7、客户端A与所述该杀毒软件升级文件的种子节点客户端B-客户端H连接,进行该杀毒软件升级文件的分享。
与前述方法实施例相应,本发明还提供了一种采用P2P技术下载文件的系统,参照图2,具体可以包括客户端201和P2P系统202,所述P2P系统202可以进一步包括P2P服务器221,其中,
所述客户端201,具体可以包括:
服务器查询模块211,用于向所述P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块212,用于接收所述P2P系统返回的P2P服务器的IP列表;
选择模块213,用于根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;
种子信息获取模块214,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块215,用于依据所述文件资源的种子信息,进行该文件资源的分享;
所述P2P系统202,还可以包括:
服务器查询处理模块222,用于对所述服务器查询请求进行处理,得到相应的P2P服务器的IP列表,并返回给所述客户端。
在本发明的一种优选实施例中,所述P2P服务器的IP列表中可以包括多个P2P服务器的IP地址;
相应地,所述选择模块213,可以进一步包括:
第一查询子模块,用于从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
第二查询子模块,用于针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
选择子模块,用于依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
在本发明的又一种优选实施例中,所述选择模块213,具体可以包括:
第一选择子模块,用于该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;
第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者。
在本发明实施例中优选的是,所述第二选择子模块,可以进一步包括:
排序单元,用于对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
取整单元,用于对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
取模单元,用于计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;及
选择单元,用于依据所述取模结果,从所述排序结果中选择一者。
在本发明实施例中优选的是,所述数字运算包括数字加密运算或者数字摘要运算。
在具体实现中,所述种子信息获取模块214可以进一步包括:
种子查询模块,用于向所选择P2P服务器发送携带该文件资源信息的种子查询请求;
种子接收模块,用于接收所选择P2P服务器返回的文件资源的种子信息;
相应地,所述P2P服务器221,可以进一步包括:
种子查询处理模块,用于对所述种子查询请求进行处理,得到相应的文件资源的种子信息,并返回给所述客户端。
本发明还提供了一种客户端实施例,参照图3,具体可以包括:
服务器查询模块301,用于向所述P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块302,用于接收所述P2P系统返回的P2P服务器的IP列表;
选择模块303,用于选择模块,用于根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;
种子信息获取模块304,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块305,用于依据所述文件资源的种子信息,进行该文件资源的分享。
在本发明的一种优选实施例中,所述P2P服务器的IP列表中可以包括多个P2P服务器的IP地址;
相应地,所述选择模块303,可以进一步包括:
第一查询子模块,用于从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
第二查询子模块,用于针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
选择子模块,用于依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
在本发明的又一种优选实施例中,所述选择模块303,具体可以包括:
第一选择子模块,用于该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;
第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者。
在本发明实施例中优选的是,所述第二选择子模块,可以进一步包括:
排序单元,用于对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
取整单元,用于对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
取模单元,用于计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;及
选择单元,用于依据所述取模结果,从所述排序结果中选择一者。
在本发明实施例中优选的是,所述数字运算包括数字加密运算或者数字摘要运算。
对于采用P2P技术下载文件的系统和客户端实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种采用P2P技术下载文件的方法和系统、一种客户端,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种采用P2P技术下载文件的方法,其特征在于,包括:
客户端向P2P系统发送携带文件资源信息的服务器查询请求;
该客户端接收所述P2P系统返回的P2P服务器的IP列表;所述P2P服务器的IP列表中包括多个P2P服务器的IP地址;其中,所述IP列表是通过所述P2P系统对所述服务器查询请求进行域名解析得到的;
该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器,并依据所选择P2P服务器获取文件资源的种子信息;所述该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器的步骤,包括:该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者;
该客户端依据所述文件资源的种子信息,进行该文件资源的分享;
其中,当该客户端与其他客户端具有相同的IP地址段时,该客户端选择的P2P服务器与所述其他客户端选择的P2P服务器相同。
2.如权利要求1所述的方法,其特征在于,
所述该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器的步骤,包括:
从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
3.如权利要求1所述的方法,其特征在于,所述针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者的步骤,包括:
对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;
依据所述取模结果,从所述排序结果中选择一者。
4.如权利要求3所述的方法,其特征在于,所述数字运算包括数字加密运算或者数字摘要运算。
5.如权利要求1所述的方法,其特征在于,所述文件资源信息包括文件资源的网页地址。
6.一种采用P2P技术下载文件的系统,其特征在于,包括客户端和P2P系统,所述P2P系统进一步包括P2P服务器,其中,
所述客户端,包括:
服务器查询模块,用于向所述P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块,用于接收所述P2P系统返回的P2P服务器的IP列表;所述P2P服务器的IP列表中包括多个P2P服务器的IP地址;其中,所述IP列表是通过所述P2P系统对所述服务器查询请求进行域名解析得到的;
选择模块,用于根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;所述选择模块,包括:第一选择子模块,用于该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者;
种子信息获取模块,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块,用于依据所述文件资源的种子信息,进行该文件资源的分享;
所述P2P系统,还包括:
服务器查询处理模块,用于对所述服务器查询请求进行处理,得到相应的P2P服务器的IP列表,并返回给所述客户端;
其中,当该客户端与其他客户端具有相同的IP地址段时,该客户端选择的P2P服务器与所述其他客户端选择的P2P服务器相同。
7.如权利要求6所述的系统,其特征在于,
所述选择模块,包括:
第一查询子模块,用于从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
第二查询子模块,用于针对所述P2P服务器的IP列表中各P2P服务器的IP地址,该客户端确定相应的所属IP地址段,并从所述IP地址段信息库中查询各所属IP地址段的物理所在地和网络运营商;
选择子模块,用于依据该客户端所属IP地址段和各P2P服务器的IP地址的物理所在地和网络运营商,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的一个P2P服务器的IP地址。
8.如权利要求6所述的系统,其特征在于,所述第二选择子模块,包括:
排序单元,用于对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;
取整单元,用于对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;
取模单元,用于计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;及
选择单元,用于依据所述取模结果,从所述排序结果中选择一者。
9.如权利要求8所述的系统,其特征在于,所述数字运算包括数字加密运算或者数字摘要运算。
10.一种客户端,其特征在于,包括:
服务器查询模块,用于向P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块,用于接收所述P2P系统返回的P2P服务器的IP列表;选择模块,用于从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器;所述选择模块,包括:第一选择子模块,用于该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址;第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者;其中,所述IP列表是通过所述P2P系统对所述服务器查询请求进行域名解析得到的;
种子信息获取模块,用于依据所选择P2P服务器获取文件资源的种子信息;及
下载模块,用于依据所述文件资源的种子信息,进行该文件资源的分享;
其中,当该客户端与其他客户端具有相同的IP地址段时,该客户端选择的P2P服务器与所述其他客户端选择的P2P服务器相同。
CN201310579282.0A 2011-06-15 2011-06-15 采用p2p技术下载文件的方法和系统、客户端 Expired - Fee Related CN103731472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310579282.0A CN103731472B (zh) 2011-06-15 2011-06-15 采用p2p技术下载文件的方法和系统、客户端

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310579282.0A CN103731472B (zh) 2011-06-15 2011-06-15 采用p2p技术下载文件的方法和系统、客户端
CN 201110161087 CN102223411B (zh) 2011-06-15 2011-06-15 采用p2p 技术下载文件的方法和系统、客户端

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN 201110161087 Division CN102223411B (zh) 2011-06-15 2011-06-15 采用p2p 技术下载文件的方法和系统、客户端

Publications (2)

Publication Number Publication Date
CN103731472A CN103731472A (zh) 2014-04-16
CN103731472B true CN103731472B (zh) 2018-01-16

Family

ID=50455395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310579282.0A Expired - Fee Related CN103731472B (zh) 2011-06-15 2011-06-15 采用p2p技术下载文件的方法和系统、客户端

Country Status (1)

Country Link
CN (1) CN103731472B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767840B (zh) * 2015-04-08 2018-06-12 北方信息控制集团有限公司 一种基于电话区号的ip地址分配方法及数据中心服务器
CN106487768A (zh) * 2015-08-31 2017-03-08 北京国双科技有限公司 一种文件共享方法及装置
CN106899640A (zh) * 2015-12-21 2017-06-27 北京奇虎科技有限公司 数据资源的获取方法与通信系统
CN106899641A (zh) * 2015-12-21 2017-06-27 北京奇虎科技有限公司 数据资源的获取方法、服务器、控制设备和通信系统
CN106100986A (zh) * 2016-07-25 2016-11-09 乐视控股(北京)有限公司 通信链路控制方法及装置
CN108696561B (zh) * 2017-04-11 2021-05-25 中国移动通信集团河北有限公司 资源推送的方法和装置
CN107517248B (zh) * 2017-08-09 2021-01-29 苏州驰声信息科技有限公司 基于sdk的网络连接方法及装置
US11122110B2 (en) 2019-06-11 2021-09-14 Advanced New Technologies Co., Ltd. Blockchain-based file processing method, apparatus, and device, and storage medium
CN110298194B (zh) * 2019-06-11 2024-02-02 创新先进技术有限公司 基于区块链的文件处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223411B (zh) * 2011-06-15 2013-12-25 奇智软件(北京)有限公司 采用p2p 技术下载文件的方法和系统、客户端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098272A (zh) * 2006-06-27 2008-01-02 腾讯科技(深圳)有限公司 P2p系统中的种子查询方法及p2p服务器
CN101771931A (zh) * 2008-12-26 2010-07-07 中国移动通信集团公司 P2p资源下载方法与识别装置
CN102025595A (zh) * 2009-09-22 2011-04-20 常诚 流量优化方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223411B (zh) * 2011-06-15 2013-12-25 奇智软件(北京)有限公司 采用p2p 技术下载文件的方法和系统、客户端

Also Published As

Publication number Publication date
CN103731472A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103731472B (zh) 采用p2p技术下载文件的方法和系统、客户端
CN102223411B (zh) 采用p2p 技术下载文件的方法和系统、客户端
US8037135B2 (en) Automatic distributed downloading
JP5514315B2 (ja) コンテンツ配信ネットワーク上のチャンク形式ダウンロード
US7904345B2 (en) Providing website hosting overage protection by transference to an overflow server
EP2266043B1 (en) Cache optimzation
CN101917488B (zh) 一种bt下载方法、装置及系统
US9525730B2 (en) Method and apparatus for processing server load balancing by using the result of hash function
US20160255042A1 (en) Network address resolution
CN108173774B (zh) 一种客户端的升级方法及系统
US8719430B2 (en) Method and device for reconstructing torrent content metadata
US20080243536A1 (en) Providing website hosting overage protection by storage on an independent data server
JP2005327291A (ja) 部分的複製を使用する、Webコンテンツの分散型ホスティング
CN102263828A (zh) 一种负载均衡分配方法及设备
WO2011085625A1 (zh) 一种软件安装包下载方法、系统及客户端
US20140359066A1 (en) System, method and device for offline downloading resource and computer storage medium
JP2016046809A (ja) コンテンツ中心ネットワークにおけるオールインワンコンテンツストリームについてのシステム及び方法
JP2016045944A (ja) 再構成可能なオールインワンコンテンツストリームについてのシステム及び方法
CN103685469B (zh) 基于p2p的文件下载方法和系统及客户端
US20020078461A1 (en) Incasting for downloading files on distributed networks
WO2008017502A1 (en) Content distribution network
CN110351364A (zh) 数据存储方法、设备及计算机可读存储介质
US20180302489A1 (en) Architecture for proactively providing bundled content items to client devices
CN109495319A (zh) Cdn节点的故障信息确定方法、装置及设备
CN106060155B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180116

CF01 Termination of patent right due to non-payment of annual fee