一种资源文件的下载方法、装置、系统及路由器的制造方法

文档序号:7782214阅读:97来源:国知局
一种资源文件的下载方法、装置、系统及路由器的制造方法
【专利摘要】本发明提供一种资源文件的下载方法、装置、系统及路由器,属于互联网【技术领域】。所述下载方法应用于第一路由器中,所述第一路由器与一个或多个第二路由器通信连接,所述下载方法包括:检测到客户端对服务器中资源文件的下载请求;将所述资源文件划分成多个资源片段;将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段;从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。根据本发明,能够提高资源文件的下载速度。
【专利说明】一种资源文件的下载方法、装置、系统及路由器
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别涉及一种资源文件的下载方法、装置、系统及路由器。
【背景技术】
[0002]随着互联网的普及,互联网中的资源(例如音乐、图片、视频和软件)越来越丰富。用户设备一般通过路由器(用户接入设备)接入到互联网,路由器与广域网连接的接口称之为广域网接口,即通常所说的WAN 口。一方面,由于WAN 口的出口带宽(广域网带宽)是有限的,另一方面,由于很多资源服务器对每一客户端进行资源下载的速度进行了限制,这些都导致用户从互联网中下载资源的速度不够理想。
[0003]为了提高互联网资源的下载速度,现有技术提供的一种解决方案是在同一路由器上,采用增加广域网接口数量和增加广域网拨号的方式叠加带宽,以此来进行加速。例如,原有路由器连接I条4M ADSL线路,通过再增加I条4M ADSL线路,2条捆绑在一起,可以达到8M带宽。
[0004]但是,采用上述方案来进行网络资源的下载加速一方面会增加用户的成本,另一方面加速的效果仍然不够理想。

【发明内容】

[0005]有鉴于此,本发明的目的是提供一种资源文件的下载方法、装置、系统及路由器,以提高资源文件的下载速度。
[0006]为实现上述目的,本发明提供技术方案如下:
[0007]—种资源文件的下载方法,应用于第一路由器中,所述第一路由器与一个或多个第二路由器通信连接,所述下载方法包括:
[0008]检测到客户端对服务器中资源文件的下载请求;
[0009]将所述资源文件划分成多个资源片段;
[0010]将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段;
[0011]从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
[0012]上述的下载方法,其中,还包括:获取第二路由器提供的共享带宽信息;
[0013]所述将一个或多个资源片段的片段信息发送给所述第二路由器包括:根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。
[0014]上述的下载方法,其中,所述资源片段的片段信息包括:资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识。
[0015]上述的下载方法,其中:
[0016]所述第一路由器和所述第二路由器均具有公网IP地址,所述第一路由器与所述第二路由器通过公网IP地址建立通信连接;或者,
[0017]所述第一路由器和所述第二路由器之间组成一个P2P网络,所述第一路由器与所述第二路由器通过P2P网络建立通信连接;或者,
[0018]所述第一路由器和所述第二路由器位于同一个局域网内,所述第一路由器与所述第二路由器通过局域网建立通信连接。
[0019]一种资源文件的下载装置,应用于第一路由器中,所述第一路由器与一个或多个第二路由器通信连接,所述下载装置包括:
[0020]检测单元,用于检测到客户端对服务器中资源文件的下载请求;
[0021]划分单元,用于将所述资源文件划分成多个资源片段;
[0022]请求单元,用于将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段;
[0023]响应单元,用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
[0024]上述的下载装置,其中,还包括:获取单元,用于获取第二路由器提供的共享带宽信息;
[0025]所述请求单元进一步用于:根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。
[0026]上述的下载装置,其中,所述资源片段的片段信息包括:资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识。
[0027]—种路由器,包括上述的资源文件的下载装置。
[0028]一种资源文件的下载系统,包括第一路由器和与所述第一路由器通信连接的一个或多个第二路由器,其中:
[0029]所述第一路由器用于检测到客户端对服务器中资源文件的下载请求时,将所述资源文件划分成多个资源片段,并将一个或多个资源片段的片段信息发送给所述第二路由器;
[0030]所述第二路由器用于根据所述第一路由器发送的资源片段的片段信息,从所述服务器下载所述资源文件中的相应资源片段;
[0031]所述第一路由器还用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
[0032]上述的下载系统,其中:
[0033]所述第一路由器和所述第二路由器均具有公网IP地址,所述第一路由器与所述第二路由器通过公网IP地址建立通信连接;或者,
[0034]所述第一路由器和所述第二路由器之间组成一个P2P网络,所述第一路由器与所述第二路由器通过P2P网络建立通信连接;或者,
[0035]所述第一路由器和所述第二路由器位于同一个局域网内,所述第一路由器与所述第二路由器通过局域网建立通信连接。
[0036]根据本发明上述的一个或多个技术方案,通过多路由器互相共享链路带宽,并由多路由器协同完成同一个下载任务,如此,显著的提高了资源文件的下载速度。【专利附图】

【附图说明】
[0037]图1是根据现有技术的资源文件的下载方法示意图;
[0038]图2是根据本发明一个实施例的资源文件的下载系统的结构图;
[0039]图3是根据本发明一个实施例的资源文件的下载方法流程图;
[0040]图4是根据本发明一个实施例的资源文件的下载装置结构图。
【具体实施方式】
[0041]以下结合附图对本发明实施例进行详细描述。
[0042]首先对现有技术的资源文件的下载方法进行简单说明。参照图1,用户A需要从互联网服务器下载资源文件的时候,首先通过安装在用户设备(例如,个人电脑、智能手机和个人数字助理(PDA)等)中的客户端A向服务器发送资源下载请求,客户端A是通过路由器A接入到服务器的,因此,服务器会通过路由器A向客户端A发送资源文件的数据,且所述资源文件的所有数据都是通过路由器A发送到客户端A的。而路由器A的广域网带宽是有限的,并且,服务器还可能对客户端A进行资源下载的速度进行了限制,这些都导致客户端A下载资源文件的速度比较慢,从而影响用户体验。
[0043]实际上,路由器B和路由器C也都能够从所述服务器中下载资源文件。但根据现有的实现方案,在同一时刻,有可能路由器A的带宽几乎耗尽,但路由器B和路由器C的带宽却是空闲的。可以看出,目前情况下,仅仅有自己家的一台路由器参与工作。比如在上班时间,用户A在家下载高清电影,而作为邻居的用户B和用户C的路由器的带宽空闲,能不能有办法让用户A利用邻居的空闲带宽?
[0044]本发明实施例正是通过多路由器互相共享链路带宽,并由多路由器协同完成同一个下载任务,以此来提高资源文件的下载速度。也就是说,原来通过单台路由器完成的事情,现在通过多台路由器来协同完成。
[0045]图2是根据本发明一个实施例的资源文件的下载系统的结构图。参照图2,所述下载系统包括第一路由器(路由器A)和与所述第一路由器通信连接的一个或多个第二路由器(路由器B和路由器C),其中:
[0046]所述第一路由器用于检测到客户端对服务器中资源文件的下载请求时,将所述资源文件划分成多个资源片段(图中示出了η个,η为大于I的整数),并将一个或多个资源片段的片段信息发送给所述第二路由器;
[0047]所述第二路由器用于根据所述第一路由器发送的资源片段的片段信息,从所述服务器下载所述资源文件中的相应资源片段;
[0048]所述第一路由器还用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
[0049]其中,所述第一路由器和所述第二路由器可以通过多种方式实现通信连接,以下示例性地给出其中的三种方式。
[0050]方式一,所述第一路由器和所述第二路由器均具有公网IP地址,所述第一路由器与所述第二路由器通过公网IP地址建立通信连接。
[0051]方式二,所述第一路由器和所述第二路由器之间组成一个P2P网络,所述第一路由器与所述第二路由器通过P2P网络建立通信连接。[0052]方式三,所述第一路由器和所述第二路由器位于同一个局域网内,所述第一路由器与所述第二路由器通过局域网建立通信连接。
[0053]图3是根据本发明一个实施例的资源文件的下载方法流程图,所述下载方法应用于第一路由器(路由器A)中,所述第一路由器与一个或多个第二路由器(路由器B和路由器C)通信连接。参照图2和图3,所述下载方法可以包括:
[0054]步骤302,检测到客户端对服务器中资源文件的下载请求;
[0055]用户A需要从互联网服务器下载资源文件的时候,首先通过安装在用户设备(例如,个人电脑、智能手机和个人数字助理(PDA)等)中的客户端A向服务器发送资源下载请求,客户端A是通过路由器A接入到服务器的,因此,路由器A能够获取到客户端A与服务器之间的交互信息。路由器A检测到客户端A对服务器中资源文件的下载请求时,能够根据所述交互信息,获取到请求下载的资源文件的相关信息,例如,资源文件的下载地址(URL)、资源文件的标识、资源文件的大小等。
[0056]步骤304,将所述资源文件划分成多个资源片段;
[0057]路由器A获取到客户端A请求下载的资源文件的相关信息后,可以根据预定算法将所述资源文件划分成多个资源片段,每个资源片段的信息可以包括资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识等。其中,所述预定算法可以是平均算法,例如,假设资源文件的大小为1000M,则可以将该资源文件平均划分成100个资源片段,每个资源片段的大小为10M。当然,所述预定算法也可以是其他算法。
[0058]步骤306,将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段;
[0059]由于路由器A和路由器B和路由器C之间具有通信连接,因此,在进行资源文件的片段划分后,可以通知路由器B和路由器C协作下载其中的部分资源片段。其中,每个路由器负责下载多少个资源片段可以按照预定算法进行分配。例如,可以将所有的资源片段在所有路由器之间进行平均分摊,即路由器A、路由器B和路由器C各负责总片段数的三分之一。又例如,路由器A负责一定数量的资源片段,而路由器B和路由器C平均分摊剩余的资源片段。根据上面的例子,1000M的资源文件被划分成100个资源片段,则在一种实现方式中,路由器A可以自行下载其中的40个资源片段,而让路由器B和路由器C分别下载其中的30个资源片段。例如,路由器A下载前40个资源片段,将中间的30个资源片段的片段信息发送给路由器B,将最后的30个资源片段的片段信息发送给路由器C。则路由器B获取到片段信息后,根据所述片段信息,从服务器下载对应的30个资源片段并缓存在路由器B中;路由器C获取到片段信息后,根据所述片段信息,从服务器下载对应的30个资源片段并缓存在路由器C中。
[0060]步骤308,从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
[0061]在本步骤中,路由器A除了将自己直接从服务器下载的资源片段提供给客户端A之外,还从路由器B和路由器C获取它们从服务器下载并缓存的资源片段提供给客户端A。这样,就相当于3个路由器为客户端A从服务器并行下载资源文件,从而使得资源文件的下载速度得到了显著的提高。
[0062]由于每个路由器的广域网带宽可能并不相同,并且,各路由器对其他路由器开放的共享带宽也可能并不相同。因此,为充分利用各路由器的带宽,在本发明实施例的另一种实现方式中,第一路由器还获取第二路由器提供的共享带宽信息,并根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。其中,对于提供的共享带宽越多的第二路由器,其对应的预定数量也越大。在具体实现时,用户可以对自己的路由器进行共享带宽的设置,即设置本路由器能够提供多少共享带宽给其他路由器使用。例如,假设路由器B的带宽为SM,用户B对路由器B设置的共享带宽为4M,则路由器A可以利用路由器B的带宽为4M。
[0063]以下实施例是以客户端A从服务器下载资源文件为例进行说明。可以理解的是,客户端B与客户端C需要从服务器下载资源文件时,其也可以采用上述与客户端A类似的方法。
[0064]基于与上述下载方法的同一发明构思,本发明实施例还提供一种实现上述方法的装置。图4是根据本发明一个实施例的资源文件的下载装置结构图,所述下载装置应用于第一路由器中,所述第一路由器与一个或多个第二路由器通信连接。参照图4,所述下载装置可以包括检测单元42、划分单元44、请求单元46和响应单元48,其中:
[0065]检测单元42用于检测到客户端对服务器中资源文件的下载请求。检测单元42检测到客户端对服务器中资源文件的下载请求时,能够根据客户端与服务器之间的交互信息,获取到请求下载的资源文件的相关信息,例如,资源文件的下载地址(URL)、资源文件的标识、资源文件的大小等。
[0066]划分单元44用于将所述资源文件划分成多个资源片段。划分单元44可以根据预定算法将所述资源文件划分成多个资源片段,每个资源片段的信息可以包括资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识等。所述预定算法可以是平均算法或者其他算法。
[0067]请求单元46用于将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段。由于第一路由器与一个或多个第二路由器通信连接,因此,在进行资源文件的片段划分后,请求单元46可以通知第二路由器协作下载其中的部分资源片段。其中,每个路由器负责下载多少个资源片段可以按照预定算法进行分配。
[0068]响应单元48用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。响应单元48除了将自己直接从服务器下载的资源片段提供给客户端之外,还从一个或多个第二路由器获取它们从服务器下载并缓存的资源片段提供给客户端。这样,就相当于多个路由器为客户端从服务器并行下载资源文件,从而使得资源文件的下载速度得到了显著的提高。
[0069]由于每个路由器的广域网带宽可能并不相同,并且,各路由器对其他路由器开放的共享带宽也可能并不相同。因此,为充分利用各路由器的带宽,在本发明实施例的另一种实现方式中,所述下载装置还包括获取单元(图未示),用于获取第二路由器提供的共享带宽信息,此时,所述请求单元46进一步用于:根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。
[0070]其中,对于提供的共享带宽越多的第二路由器,其对应的预定数量也越大。在具体实现时,用户可以对自己的路由器进行共享带宽的设置,即设置本路由器能够提供多少共享带宽给其他路由器使用。
[0071]需要说明的是,对于上述下载装置实施例而言,由于其与下载方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0072]进一步,本发明实施例还提供一种路由器,所述路由器包括上述的资源文件的下载装置。
[0073]以下给出本发明的一个应用实例。
[0074]以一家庭用户在线观看高清视频为例子,参照图2,假设路由器A、路由器B和路由器C位于同一小区,它们相互之间能够进行通信,路由器A的广域网带宽为12M,其提供的共享带宽为8M,路由器B的广域网带宽为8M,其提供的共享带宽为4M,路由器B的广域网带宽为4M,其提供的共享带宽为2M。
[0075]客户端A发送下载资源文件的请求到服务器,客户端A是通过路由器A接入到服务器的,因此,路由器A能够获取到客户端A与服务器之间的交互信息。路由器A检测到客户端A对服务器中资源文件的下载请求时,能够根据所述交互信息,获取到请求下载的资源文件的相关信息,例如,资源文件的下载地址(URL)、资源文件的标识、资源文件的大小
坐寸ο
[0076]假设资源文件的大小为1000M,则路由器A可以将该资源文件平均划分成100个资源片段,每个资源片段的大小为10M。路由器A获取到自己的可利用的带宽为12M-8M=4M,路由器B的可利用带宽为4M,路由器C的可利用带宽为2M。则按照各路由器的可利用带宽进行分配,路由器A被分配40个资源片段,路由器B被分配40个资源片段,路由器C被分配20个资源片段。具体地,路由器A下载前40个资源片段,将中间的40个资源片段的片段信息发送给路由器B,将最后的20个资源片段的片段信息发送给路由器C。则路由器B获取到片段信息后,根据所述片段信息,从服务器下载对应的40个资源片段并缓存在路由器B中;路由器C获取到片段信息后,根据所述片段信息,从服务器下载对应的20个资源片段并缓存在路由器C中。
[0077]客户端A请求访问某一片段的时候,可以通过路由器A直接访问其中一台路由器中的缓存。例如,客户端请求访问第50个资源片段,则可以通过路由器A获取到路由器B中缓存的该资源片段。
[0078]综上所述,根据本发明实施例的一个或多个技术方案,通过多路由器互相共享链路带宽,并由多路由器协同完成同一个下载任务,如此,显著的提高了资源文件的下载速度。而且,在服务器端对每一客户端有速率限制或者服务端具有CDN分布、本地路由器LAN接入时,本发明实施例的技术效果应该最明显。
[0079]需要说明的是,在附图的流程图示出的步骤可以在诸如设置有一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。另外,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。[0080]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种资源文件的下载方法,应用于第一路由器中,其特征在于,所述第一路由器与一个或多个第二路由器通信连接,所述下载方法包括: 检测到客户端对服务器中资源文件的下载请求; 将所述资源文件划分成多个资源片段; 将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段; 从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
2.如权利要求1所述的下载方法,其特征在于,还包括:获取第二路由器提供的共享带宽信息; 所述将一个或多个资源片段的片段信息发送给所述第二路由器包括:根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。
3.如权利要求1所述的下载方法,其特征在于,所述资源片段的片段信息包括:资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识。
4.如权利要求1所述的下载方法,其特征在于: 所述第一路由器和所述第二路由器均具有公网IP地址,所述第一路由器与所述第二路由器通过公网IP地址建立通信连接;或者, 所述第一路由器和所述第二路由器之间组成一个P2P网络,所述第一路由器与所述第二路由器通过P2P网络建立通信连接;或者, 所述第一路由器和所述第二路由器位于同一个局域网内,所述第一路由器与所述第二路由器通过局域网建立通信连接。`
5.一种资源文件的下载装置,应用于第一路由器中,其特征在于,所述第一路由器与一个或多个第二路由器通信连接,所述下载装置包括: 检测单元,用于检测到客户端对服务器中资源文件的下载请求; 划分单元,用于将所述资源文件划分成多个资源片段; 请求单元,用于将一个或多个资源片段的片段信息发送给所述第二路由器,以请求所述第二路由器从所述服务器下载所述资源文件中的相应资源片段; 响应单元,用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
6.如权利要求5所述的下载装置,其特征在于,还包括:获取单元,用于获取第二路由器提供的共享带宽信息; 所述请求单元进一步用于:根据获取到的第二路由器的共享带宽信息,将预定数量的资源片段的片段信息发送给所述第二路由器。
7.如权利要求5所述的下载装置,其特征在于,所述资源片段的片段信息包括:资源文件的下载地址、资源文件标识、资源片段在所述资源文件中的标识。
8.—种路由器,其特征在于,包括权利要求5至7中任一项所述的资源文件的下载装置。
9.一种资源文件的下载系统,其特征在于,包括第一路由器和与所述第一路由器通信连接的一个或多个第二路由器,其中: 所述第一路由器用于检测到客户端对服务器中资源文件的下载请求时,将所述资源文件划分成多个资源片段,并将一个或多个资源片段的片段信息发送给所述第二路由器;所述第二路由器用于根据所述第一路由器发送的资源片段的片段信息,从所述服务器下载所述资源文件中的相应资源片段; 所述第一路由器还用于从所述第二路由器中下载资源片段,并将下载的资源片段提供给所述客户端。
10.如权利要求9所述的下载系统,其特征在于: 所述第一路由器和所述第二路由器均具有公网IP地址,所述第一路由器与所述第二路由器通过公网IP地址建立通信连接;或者, 所述第一路由器和所述第二路由器之间组成一个P2P网络,所述第一路由器与所述第二路由器通过P2P网络建立通信连接;或者, 所述第一路由器和所述第二路由器位于同一个局域网内,所述第一路由器与所述第二路由器通过局域网建立 通信连接。
【文档编号】H04L29/08GK103731487SQ201310730986
【公开日】2014年4月16日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】黄磊, 曾光, 马杰, 贺广涛 申请人:星云融创(北京)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1