一种文件下载的方法、服务器、下载端和系统的制作方法

文档序号:7720016阅读:146来源:国知局
专利名称:一种文件下载的方法、服务器、下载端和系统的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种文件下载的方法、服务器、下载端和 系统。
背景技术
目前,文件下载已成互联网的主要应用之一,随着各类待下载文件如游戏软件、其 它应用软件所占空间越来越大,文件下载已成为占用服务器带宽最多的应用之一。软件企 业和组织不得不为文件的下载支付昂贵的硬件成本和带宽成本。传统文件下载方式主要是通过URL登录下载服务器中对应的网页页面,从网页页 面提供的待下载文件的链接地址处直接从下载服务器中下载待下载的文件。但此种方式下 载速度慢、占用较高的服务器带宽。为了解决传统文件下载方式中存在的问题,人们开始使用P2P (Peer-to-Peer,对 等网络)方式下载文件,目前主要有以下两种P2P方式下载文件的方法第一种、使用多源下载工具从下载服务器中下载待下载的文件,例如,通过 URL (Uniform Resource Locator,统一资源定位符)登录下载服务器中对应的网页页面,使 用迅雷或旋风等多源下载工具从该网页页面提供的待下载文件的链接地址处下载待下载 文件。第二种、使用Bt (Bit torrent,文件分发协议)或Emule (电驴)文件共享系统从 参与的所有客户端中下载待下载文件。在实现本发明的过程中,发明人发现现有P2P下载方式至少存在以下问题在上述第一种方法中多源下载工具占用较高的服务器带宽,并且多源下载工具 容量较大,在下载之前要先安装多源下载工具,占用了用户资源。在上述第二种方法中无法保证下载速度,并且在下载之前也要先安装Bt或 Emule文件共享系统,占用了用户资源。

发明内容
为了在下载文件时,减少对服务器带宽和用户资源的占用以及提高下载速度,本 发明实施例提供了一种文件下载的方法、服务器、下载端和系统。所述技术方案如下一种文件下载的方法,所述方法包括P2P服务器接收待下载文件的文件名;所述P2P服务器根据所述文件名,获取下载信息,并返回所述下载信息给下载端, 所述下载信息包括所述待下载文件至少包括的片段总数、正在下载所述待下载文件的Peer 和所述Peer中存储的所述待下载文件包括的片号;所述下载端根据所述待下载文件包括的片段总数和所述Peer中存储的所述待下 载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所述待 下载文件。
一种服务器,所述服务器包括接收模块,用于接收待下载文件的文件名;获取模块,用于根据所述文件名,获取下载信息,所述下载信息至少包括所述待下 载文件包括的片段总数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下 载文件包括的片号;发送模块,用于发送所述下载信息给下载端。一种下载端,所述下载端包括接收模块,用于接收下载信息,所述下载信息至少包括所述待下载文件包括的片 段总数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文件包括的片 号;下载模块,用于根据所述待下载文件包括的片段总数和所述Peer中存储的所述 待下载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所 述待下载文件。一种文件下载的系统,所述系统包括下载端和P2P服务器;所述P2P服务器,用于接收待下载文件的文件名;根据所述文件名,获取下载信 息,并返回所述下载信息给下载端,所述下载信息至少包括所述待下载文件包括的片段总 数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文件包括的片号;所述下载端,用于根据所述待下载文件包括的片段总数和所述Peer中存储的所 述待下载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载 所述待下载文件。通过P2P服务器接收待下载文件的文件名,根据文件名,获取下载信息,并返回该 下载信息给下载端,下载端从下载服务器和下载信息包括的正在下载待下载文件的Peer 中下载待下载文件。其中,由于下载端直接下载文件,从而减少占用用户资源;由于从下载 服务器和Peer中同时下载文件,所以减少占用下载服务器的带宽资源并提高下载速度。


图1是本发明实施例1提供的一种文件下载的方法流程图;图2是本发明实施例1提供的一种P2P网络架构示意图;图3是本发明实施例1提供的一种文件下载的方法详细流程图;图4是本发明实施例2提供的一种服务器的示意图;图5是本发明实施例3提供的一种下载端的示意图;图6是本发明实施例4提供的一种文件下载的系统框图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。实施例1如图1所示,本发明实施例提供了一种文件下载的方法,包括步骤101 :P2P服务器接收待下载文件的文件名;
步骤102 :P2P服务器根据接收的文件名,获取下载信息,并返回该下载信息给下 载端,其中,该下载信息至少包括待下载文件包括的片段总数、正在下载待下载文件的Peer 和该Peer中存储的待下载文件包括的片号;步骤103 下载端根据待下载文件包括的片段总数和该Peer中存储的待下载文件 包括的片号,从下载服务器和正在下载待下载文件的Peer中下载待下载文件。其中,下载端可以为P2P网络中的某个Peer或运行在某个Peer中的下载程序等, 每个下载端都有对应的一个Peer,所以下载端下载文件实质上就是下载端对应的Peer在 下载文件。在本发明实施例中,P2P服务器接收待下载文件的文件名,根据文件名,获取下载 信息,并返回该下载信息给下载端,下载端从下载服务器和下载信息包括的正在下载待下 载文件的Peer中下载待下载文件。其中,由于下载端直接下载文件,从而减少占用用户资 源;由于从下载服务器和Peer中同时下载文件,所以减少占用下载服务器的带宽资源并提 高下载速度。为了对上述方法进行详细说明,请参见图2,为本发明实施例提供的一种P2P网络 架构示意图,包括下载服务器、P2P服务器和Peer (分别为PeerA、PeerB和PeerC)。其中, 下载服务器用于存储文件;P2P服务器用于存储文件名与片段总数的对应关系以及Peer与 文件信息的对应关系,文件由片段组成,且每个片段都有自身的片号。基于上述图2所提供的P2P网络架构,参见图3,本发明实施例提供的方法的详细 过程,具体包括步骤201 下载端从待下载文件的下载地址中获取待下载文件的文件名,并将获 取的文件名发送给P2P服务器;其中,待下载文件的下载地址中包含有待下载文件的文件名,具体地,下载端从待 下载文件的下载地址中读取文件名,并将该文件名发送给P2P服务器。其中,下载端可以从下载服务器获取待下载文件的下载地址。例如,以PeerA为下 载端为例进行说明,下载端从下载服务器中获取待下载文件的下载地址IP3,其中,IP3为 "www.文件3. com",且在IP3中包含有待下载文件的文件名即文件3,从IP3中读取文件3, 并将文件3发送给P2P服务器。步骤202 :P2P服务器接收待下载文件的文件名,查找待下载文件包括的片段总 数,并返回给下载端;具体地,P2P服务器接收待下载文件的文件名,根据该文件名,从自身存储的文件 名与片段总数的对应关系中查找出待下载文件包括的片段总数,并将待下载文件包括的片 段总数返回给下载端。其中,文件名与片段总数的对应关系中的每条记录用于表示某个文件与该文件包 括的所有片段的总数,如表1所示的文件名与片段总数的对应关系,表1的第二行表示的含 义为文件1和该文件1包括所有片段总数3,即文件1包括三个片段。文件名和片段总数的 对应关系是运营商事先建立的,包括下载服务器中的每个文件的文件名和其包括的片段总 数的对应关系。表 权利要求
1.一种文件下载的方法,其特征在于,所述方法包括P2P服务器接收待下载文件的文件名;所述P2P服务器根据所述文件名,获取下载信息,并返回所述下载信息给下载端,所述 下载信息至少包括所述待下载文件包括的片段总数、正在下载所述待下载文件的Peer和 所述Peer中存储的所述待下载文件包括的片号;所述下载端根据所述待下载文件包括的片段总数和所述Peer中存储的所述待下载文 件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所述待下载 文件。
2.如权利要求1所述的方法,其特征在于,所述P2P服务器根据所述文件名,获取下载 信息,具体包括根据所述文件名,查找所述待下载文件包括的片段总数和正在下载所述待下载文件的 所有Peer ;从所述查找的所有Peer中选择一个所述正在下载所述待下载文件的Peer,获取所述 Peer中存储所述待下载文件包括的片号。
3.如权利要求2所述的方法,其特征在于,所述根据所述文件名,查找所述待下载文件 包括的片段总数和正在下载所述待下载文件的所有Peer,具体包括根据所述文件名,从文件名与片段总数的对应关系中,查找对应的片段总数;根据所述文件名,从Peer与文件信息的对应关系中,查找对应的所有Peer。
4.如权利要求1所述的方法,其特征在于,所述下载端根据所述待下载文件包括的片 段总数和所述Peer中存储的所述待下载文件包括的片号,从下载服务器和所述正在下载 所述待下载文件的Peer中下载所述待下载文件,具体包括根据所述片段总数,确定所述待下载文件包括的所有片号;从所述待下载文件包括的所有片号中,选择一个还未下载的片号,将所述片号作为第 一待下载片号,从所述下载服务器中下载所述第一待下载片号的片段;从所述Peer中存储的所述待下载文件包括的片号中,选择一个还未下载的片号,将所 述片号作为第二待下载片号,从所述Peer中下载所述第二待下载片号的片段。
5.如权利要求1-4任意权利要求所述的方法,其特征在于,当所述下载端下载所述待 下载文件时,所述方法还包括所述下载端向所述P2P服务器上报所述待下载文件的文件名和正在下载的片段的片号;相应地,所述P2P服务器判断Peer与文件信息的对应关系中是否存在包括所述下载端对应的 Peer和所述文件名的对应关系,如果否,存储所述下载端对应的Peer、所述上报的文件名 和所述上报的片号;如果是,将所述上报的片号存储在所述对应关系中。
6.如权利要求1-4任意权利要求所述的方法,其特征在于,当所述下载端下载完所述 待下载文件时,所述方法还包括所述下载端向所述P2P服务器上报所述待下载文件的文件名和结束信息;相应地,所述P2P服务器根据所述结束信息,将包括所述下载端对应的Peer和所述文件名的对应关系删除。
7.如权利要求1-4任意权利要求所述的方法,其特征在于,所述下载端为下载器。
8.如权利要求7所述的方法,其特征在于,在P2P服务器接收待下载文件的文件名前, 还包括执行所述下载器。
9.如权利要求8所述的方法,其特征在于,在执行所述下载器前,先从所述下载服务器 下载所述下载器至需下载待下载文件的Peer。
10.一种服务器,其特征在于,所述服务器包括 接收模块,用于接收待下载文件的文件名;获取模块,用于根据所述文件名,获取下载信息,所述下载信息至少包括所述待下载文 件包括的片段总数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文 件包括的片号;发送模块,用于发送所述下载信息给下载端。
11.如权利要求10所述的服务器,其特征在于,所述获取模块具体包括查找单元,用于根据所述文件名,查找所述待下载文件包括的片段总数和正在下载所 述待下载文件的所有Peer;选择单元,用于从所述查找的所有Peer中选择一个所述正在下载所述待下载文件的 Peer,获取所述Peer中存储所述待下载文件包括的片号。
12.如权利要求11所述的服务器,其特征在于,所述查找单元具体包括第一查找子单元,用于根据所述文件名,从文件名与片段总数的对应关系中,查找对应 的片段总数;第二查找子单元,用于根据所述文件名,从Peer与文件信息的对应关系中,查找对应 的所有Peer。
13.如权利要求10-12任意权利要求所述的服务器,其特征在于,所述服务器还包括 第一存储模块,用于当下载端上报所述待下载文件的文件名和正在下载的片段的片号时,判断Peer与文件信息的对应关系中是否存在包括所述下载端对应的Peer和所述文件 名的对应关系,如果否,存储所述下载端对应的Peer、所述上报的文件名和所述上报的片 号;如果是,将所述上报的片号存储在所述对应关系中。
14.如权利要求10-12任意权利要求所述的服务器,其特征在于,所述服务器还包括 第一删除模块,用于当下载端上报所述待下载文件的文件名和结束信息时,根据所述结束信息,将包括所述下载端对应的Peer和所述文件名的对应关系删除。
15.一种下载端,其特征在于,所述下载端包括接收模块,用于接收下载信息,所述下载信息至少包括所述待下载文件包括的片段总 数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文件包括的片号;下载模块,用于根据所述待下载文件包括的片段总数和所述Peer中存储的所述待下 载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所述待 下载文件。
16.如权利要求15所述的下载端,其特征在于,所述下载模块具体包括 确定单元,用于根据所述片段总数,确定所述待下载文件包括的所有片号;第一下载单元,用于从所述待下载文件包括的所有片号中,选择一个还未下载的片号,将所述片号作为第一待下载片号,从所述下载服务器中下载所述第一待下载片号的片段;第二下载单元,用于从所述Peer中存储的所述待下载文件包括的片号中,选择一个还 未下载的片号,将所述片号作为第二待下载片号,从所述Peer中下载所述第二待下载片号 的片段。
17.如权利要求15或16所述的下载端,其特征在于,所述下载端还包括第一上报模块,用于当正在下载所述待下载文件时,向P2P服务器上报所述待下载文 件的文件名和正在下载的片段的片号。
18.如权利要求15或16所述的下载端,其特征在于,所述下载端还包括第二上报模块,用于当下载完所述待下载文件时,向P2P服务器上报所述待下载文件 的文件名和结束信息。
19.一种文件下载的系统,其特征在于,所述系统包括下载端和P2P服务器;所述P2P服务器,用于接收待下载文件的文件名;根据所述文件名,获取下载信息,并 返回所述下载信息给所述下载端,所述下载信息至少包括所述待下载文件包括的片段总 数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文件包括的片号;所述下载端,用于根据所述待下载文件包括的片段总数和所述Peer中存储的所述待 下载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所述 待下载文件。
全文摘要
本发明公开了一种文件下载的方法、服务器、下载端和系统,属于网络通信技术领域。所述方法包括P2P服务器接收待下载文件的文件名;所述P2P服务器根据所述文件名,获取下载信息,并返回所述下载信息给下载端,所述下载信息至少包括所述待下载文件包括的片段总数、正在下载所述待下载文件的Peer和所述Peer中存储的所述待下载文件包括的片号;所述下载端根据所述待下载文件包括的片段总数和所述Peer中存储的所述待下载文件包括的片号,从下载服务器和所述正在下载所述待下载文件的Peer中下载所述待下载文件。所述系统包括P2P服务器和下载端。本发明能够在下载文件时,减少对服务器带宽和用户资源的占用以及提高下载速度。
文档编号H04L29/08GK102055786SQ200910237450
公开日2011年5月11日 申请日期2009年11月6日 优先权日2009年11月6日
发明者王志华, 邵颖哲 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1