CN103685469B - 基于p2p的文件下载方法和系统及客户端 - Google Patents
基于p2p的文件下载方法和系统及客户端 Download PDFInfo
- Publication number
- CN103685469B CN103685469B CN201310581231.1A CN201310581231A CN103685469B CN 103685469 B CN103685469 B CN 103685469B CN 201310581231 A CN201310581231 A CN 201310581231A CN 103685469 B CN103685469 B CN 103685469B
- Authority
- CN
- China
- Prior art keywords
- servers
- address
- client
- network operator
- affiliated
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种采用P2P技术下载文件的方法和系统、一种客户端,其中的方法具体包括:客户端向P2P系统发送携带文件资源信息的服务器查询请求;该客户端接收所述P2P系统返回的P2P服务器的IP列表;该客户端根据自身所属IP地址段,从所述P2P服务器的IP列表中选择网络连接最佳的一个P2P服务器,并依据所选择P2P服务器获取文件资源的种子信息;该客户端依据所述文件资源的种子信息,进行该文件资源的分享。本发明能够提高文件资源的共享效率和P2P下载效率。
Description
本发明专利申请是申请日为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 (9)
1.一种基于P2P的文件下载方法,其包括:
向P2P系统发送携带文件资源信息的服务器查询请求;
接收所述P2P系统返回的P2P服务器的IP列表;
从所述P2P服务器的IP列表中选择与客户端所属IP地址段的物理位置最临近且处于相同网络运营商的一个P2P服务器;其中,所述客户端与选择的一个P2P服务器处于相同的IP地址段;所述选择物理位置最临近且处于相同网络运营商的一个P2P服务器进一步包括:对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;对客户端所属IP地址段进行数字运算并取整,得到取整后的数字运算结果;计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;依据所述取模结果,从所述排序结果中选择一者;
从所选择的P2P服务器获取所需文件资源的种子信息;
依据所述文件资源的种子信息对该文件资源进行分享。
2.如权利要求1所述的方法,其中,所述从所述P2P服务器的IP列表中选择与客户端所属IP地址段的物理位置最临近且处于相同网络运营商的一个P2P服务器,进一步包括:
从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
从所述IP地址段信息库中查询所述P2P服务器的IP列表中各P2P服务器所属IP地址段的物理所在地和网络运营商;
比较查询到的客户端所属IP地址段的物理所在地和网络运营商与各P2P服务器所属IP地址段的物理所在地和网络运营商,并选择物理位置最临近且处于相同网络运营商的一个P2P服务器。
3.如权利要求1所述的方法,其中,所述数字运算包括数字加密运算或者数字摘要运算。
4.如权利要求1-3中任一项所述的方法,其中,所述文件资源信息包括文件资源的网页地址。
5.一种客户端,其包括:
服务器查询请求模块,适于向P2P系统发送携带文件资源信息的服务器查询请求;
IP列表接收模块,适于接收所述P2P系统返回的P2P服务器的IP列表;
选择模块,适于从所述P2P服务器的IP列表中选择与客户端所属IP地址段的物理位置最临近且处于相同网络运营商的一个P2P服务器;其中,所述客户端与所选择的一个P2P服务器处于相同的IP地址段;所述选择模块包括:第二选择子模块,用于针对客户端所属IP地址段执行选择算法,从所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址中选择一者;所述第二选择子模块包括:排序单元,用于对所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址进行排序,得到排序结果;取整单元,用于对该客户端所属IP地址段进行数字运算,并进行取整,得到取整后的数字运算结果;取模单元,用于计算所述取整后的数字运算结果对IP数目的取模结果,其中,所述IP数目为所述物理位置最临近且处于相同网络运营商的多个P2P服务器的IP地址的数目;及选择单元,用于依据所述取模结果,从所述排序结果中选择一者;
种子信息获取模块,适于从所选择的P2P服务器获取所需文件资源的种子信息;
下载模块,适于依据所述文件资源的种子信息对该文件资源进行分享。
6.如权利要求5所述的客户端,其中,所述选择模块还包括:
第一查询模块,适于从IP地址段信息库中查询客户端所属IP地址段的物理所在地和网络运营商,其中,所述IP地址段信息库包括多个IP地址段以及每个IP地址段对应的物理所在地和网络运营商;
第二查询模块,适于从所述IP地址段信息库中查询所述P2P服务器的IP列表中各P2P服务器所属IP地址段的物理所在地和网络运营商;
选择子模块,适于比较查询到的客户端所属IP地址段的物理所在地和网络运营商与各P2P服务器所属IP地址段的物理所在地和网络运营商,并选择物理位置最临近且处于相同网络运营商的一个P2P服务器。
7.如权利要求5所述的客户端,其中,所述数字运算包括数字加密运算或者数字摘要运算。
8.如权利要求5-7中任一项所述的客户端,其中,所述文件资源信息包括文件资源的网页地址。
9.一种基于P2P的文件下载系统,其包括如权利要求5-8中任一项所述的客户端和P2P系统,所述P2P系统进一步包括P2P服务器,其中,
所述P2P服务器适于对服务器查询请求进行处理以得到相应的P2P服务器的IP列表并将P2P服务器的IP列表返回给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310581231.1A CN103685469B (zh) | 2011-06-15 | 2011-06-15 | 基于p2p的文件下载方法和系统及客户端 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310581231.1A CN103685469B (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 |
---|---|
CN103685469A CN103685469A (zh) | 2014-03-26 |
CN103685469B true CN103685469B (zh) | 2017-06-23 |
Family
ID=50321744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310581231.1A Expired - Fee Related CN103685469B (zh) | 2011-06-15 | 2011-06-15 | 基于p2p的文件下载方法和系统及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685469B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871591A (zh) * | 2015-12-21 | 2016-08-17 | 乐视云计算有限公司 | 一种分发cdn地址的方法及装置 |
CN105871616A (zh) * | 2016-03-31 | 2016-08-17 | 北京奇艺世纪科技有限公司 | 一种服务节点选择方法及装置 |
CN109408109A (zh) * | 2018-10-23 | 2019-03-01 | 金蝶软件(中国)有限公司 | 一种软件配置方法及系统 |
CN110597540A (zh) * | 2019-09-16 | 2019-12-20 | 深圳怡化电脑股份有限公司 | 一种金融终端的版本更新方法、装置、服务器和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079766A (zh) * | 2006-06-30 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 构建半固定p2p网络的方法及其系统 |
CN101227460A (zh) * | 2007-01-19 | 2008-07-23 | 秦晨 | 分布式文件上传、下载方法及其装置和系统 |
CN101771931A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | P2p资源下载方法与识别装置 |
CN101854310A (zh) * | 2009-03-31 | 2010-10-06 | 工业和信息化部电信传输研究所 | 一种p2p控制装置及其实现方法 |
CN101938504A (zh) * | 2009-06-30 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | 集群服务器智能调度的方法及系统 |
-
2011
- 2011-06-15 CN CN201310581231.1A patent/CN103685469B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079766A (zh) * | 2006-06-30 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 构建半固定p2p网络的方法及其系统 |
CN101227460A (zh) * | 2007-01-19 | 2008-07-23 | 秦晨 | 分布式文件上传、下载方法及其装置和系统 |
CN101771931A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | P2p资源下载方法与识别装置 |
CN101854310A (zh) * | 2009-03-31 | 2010-10-06 | 工业和信息化部电信传输研究所 | 一种p2p控制装置及其实现方法 |
CN101938504A (zh) * | 2009-06-30 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | 集群服务器智能调度的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103685469A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103731472B (zh) | 采用p2p技术下载文件的方法和系统、客户端 | |
CN102223411B (zh) | 采用p2p 技术下载文件的方法和系统、客户端 | |
US11929978B2 (en) | Network address resolution | |
US20220407933A1 (en) | Locality based content distribution | |
US7904345B2 (en) | Providing website hosting overage protection by transference to an overflow server | |
US9525730B2 (en) | Method and apparatus for processing server load balancing by using the result of hash function | |
US20080243536A1 (en) | Providing website hosting overage protection by storage on an independent data server | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
CN104852934A (zh) | 基于前端调度实现流量分配的方法、装置和系统 | |
JP2005327291A (ja) | 部分的複製を使用する、Webコンテンツの分散型ホスティング | |
CN102067094A (zh) | 高速缓存优化 | |
WO2012054378A1 (en) | System and method for managing an internet domain based on the geographic location of an accessing user | |
CN103685469B (zh) | 基于p2p的文件下载方法和系统及客户端 | |
CN103248666A (zh) | 一种离线下载资源的系统、方法及装置 | |
CN102271165A (zh) | 互联网搜索资源的分享管理装置及方法 | |
CN110351364A (zh) | 数据存储方法、设备及计算机可读存储介质 | |
JP2016018561A (ja) | コンテンツ指向型ネットワークにおける並列のセキュアなコンテンツのブートストラッピングのためのシステムおよび方法 | |
CN110351276A (zh) | 数据处理方法、设备及计算机可读存储介质 | |
CN107003980B (zh) | 利用内容传送网络cdn操作的方法和计算机可读介质 | |
JP6280471B2 (ja) | 接続管理方法、プログラムおよび接続管理システム | |
US20100057837A1 (en) | Shared hosting using host name affinity | |
CN106060155B (zh) | P2p资源共享的方法及装置 | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
CN113382050A (zh) | 一种消息传输方法、系统、计算设备及存储介质 | |
JP5544524B2 (ja) | 分散処理システム、分散処理方法、負荷分散装置、負荷分散方法、及び、負荷分散プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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: 20170623 |
|
CF01 | Termination of patent right due to non-payment of annual fee |