CN104836822A - 获取下载数据方法及装置、下载数据的方法及*** - Google Patents
获取下载数据方法及装置、下载数据的方法及*** Download PDFInfo
- Publication number
- CN104836822A CN104836822A CN201410046993.6A CN201410046993A CN104836822A CN 104836822 A CN104836822 A CN 104836822A CN 201410046993 A CN201410046993 A CN 201410046993A CN 104836822 A CN104836822 A CN 104836822A
- Authority
- CN
- China
- Prior art keywords
- resource
- data
- back end
- request
- node
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种获取下载数据的方法,包括:截获数据下载请求,提取所述数据下载请求中包含的下载地址;获取所述下载地址对应的资源摘要;查找与所述资源摘要对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中;将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述数据下载请求对应的终端。此外,还提供了一种获取下载数据的装置、下载数据的方法及***。上述获取下载数据的方法及装置能够提高终端设备下载数据的速度。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种获取下载数据的方法及装置、下载数据的方法及***。
背景技术
随着互联网技术的迅猛发展,现有的终端设备在有路由器的情况下,通常通过接入路由器上网。当终端设备通过路由器向互联网中的远程服务器请求下载数据时,路由器仅起到转发数据的作用。因此在路由器与远程服务器之间的链路不理想时,终端设备的下载速度很慢。
发明内容
基于此,有必要提供一种能够加快下载速度的获取下载数据的方法。
一种获取下载数据方法,包括:
截获数据下载请求,提取所述数据下载请求中包含的下载地址;
获取所述下载地址对应的资源摘要;
查找与所述资源摘要对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中;
将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述数据下载请求对应的终端。
此外,还有必要提供一种能够加快下载速度的获取下载数据的装置。
一种获取下载数据方法,包括:
请求拦截模块,用于截获数据下载请求,提取所述数据下载请求中包含的下载地址;
资源摘要获取模块,用于获取所述下载地址对应的资源摘要;
下载数据拉取模块,用于查找与所述资源摘要对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中;
下载数据下发模块,用于将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述数据下载请求对应的终端。
此外,还有必要提供一种能够加快下载速度的下载数据的方法。
一种下载数据的方法,所述方法包括:
终端设备向远程服务器发送数据下载请求;
网关节点截获所述终端设备的数据下载请求,提取所述数据下载请求中包含的下载地址,获取所述下载地址对应的资源摘要,根据所述资源摘要查找对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求;
所述数据节点接收所述节点下载请求,根据所述节点下载请求的资源摘要返回对应的资源片段至所述网关节点;
所述网关节点接收所述数据节点返回的资源片段并存储在缓存中,将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述终端设备。
此外,还有必要提供一种能够加快下载速度的下载数据的***。
一种下载数据的***,所述***包括终端设备、远程服务器、网关节点和数据节点,其中:
所述终端设备用于向所述远程服务器发送数据下载请求;
所述网关节点用于截获所述终端的数据下载请求,提取所述数据下载请求中包含的下载地址,获取所述下载地址对应的资源摘要,根据所述资源摘要查找对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求;
所述数据节点用于接收所述节点下载请求,根据所述节点下载请求的资源摘要返回对应的资源片段至所述网关节点;
所述网关节点用于接收所述数据节点返回的资源片段并存储在缓存中,将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述终端设备。
上述获取下载数据的方法及装置、下载数据的方法及***中,获取下载数据的方式并不是由数据下载请求中的下载地址对应的远程服务器进行下载,而是根据数据下载请求得到资源摘要后在预设的网络质量较好的数据节点上进行下载,也就是说即使与远程服务器的网络质量较差,仍然能够由数据节点上下载得到相应的下载资源,从而使得与远程服务器之间的链路质量不在是数据下载的瓶颈,提高了数据下载的速度。
附图说明
图1为一个实施例中获取下载数据的方法的流程图;
图2为一个实施例中数据下载***的拓扑结构示意图;
图3为一个实施例中获取下载数据的装置的结构示意图;
图4为另一个实施例中获取下载数据的装置的结构示意图;
图5为一个实施例中下载数据的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
在一个实施例中,如图1所示,提供了一种获取下载数据的方法,该方法可依赖于计算机程序,可运行于基于冯诺依曼体系的计算机***上。该计算机***可以是有线/无线路由器、USB无线路由器、随身wifi设备、wifi热点设备或其他具有网关功能的计算机设备。
该方法包括如下步骤:
步骤S102,截获数据下载请求,提取数据下载请求中包含的下载地址。
在本实施例中,如图2所示,终端设备10通过运行该获取下载数据的方法的装置20与远程服务器30连接。数据下载请求即为终端设备10发起的向远程服务器30请求数据的访问请求。
在本实施例中,数据下载请求中包含的下载地址的步骤还包括:通过代理自动配置(PAC,Proxy Auto Config)的方式将数据下载请求重定向。
重定向即为将网络请求重新定个方向转到其他位置,在本实施例中,可通过PAC(Proxy Auto Config,代理自动配置)对网络请求进行重定向。下载请求可为http(Hyper Text Transfer Protocol,超文本传送协议)请求或ftp(File TransferProtocol,文件传输协议)请求,下载地址可为url(Universal Resource Locator,统一资源定位符)链接或ed2k(eDonkey2000network)链接。
具体的,截获终端的数据下载请求,提取该请求中的下载地址,通过调用PAC中的FindProxyForURL(url,host)函数动态修改注册表,进而实现数据下载请求的重定向。
例如:
其中,url为数据下载请求中的下载地址,host为该url中的主机名。
FindProxyForURL函数有两种可能的字符串返回值,一是“DIRECT”,即对该下载请求不进行重定向,直接访问该下载请求中的url;另外就是“PROXY134.40.22.48:3128”,即对该下载请求进行重定向。其中,134.40.22.48为重定向的地址,3128为重定向的端口。
也就是说,如图2所示,运行该获取下载数据的方法的装置20可不将截获的数据下载请求转发给远程服务器30,而将该数据下载请求重定向到其本地,从而由该装置向终端设备返回对应的数据。
在本实施例中,截获数据下载请求的步骤还包括:截获网络访问请求,通过会话劫持提取网络访问请求包含的协议类型,判断协议类型是否为下载协议,若是,则网络访问请求为数据下载请求,执行提取数据下载请求中包含的下载地址的步骤。
会话劫持即获取截获的网络访问请求中的TCP/IP数据报文,提取其中的正文部分。若提取出的正文部分中包含“bt”、“ed2k”等关键字,则该网络访问请求即为数据下载请求。
步骤S104,获取下载地址对应的资源摘要。
资源摘要是根据资源的名称、大小等信息利用信息摘要算法计算出的哈希值,此哈希值可唯一标识该资源。信息摘要算法可为MD5(Message-DigestAlgorithm5)算法、哈希算法等。
具体的,可根据下载地址计算资源摘要,或者根据下载地址在资源服务器上进行查询,查找对应的资源摘要。
步骤106,查找与资源摘要对应的数据节点,向查找到的数据节点发起包含资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中。
数据节点可以是p2p(peer to peer)节点、p2sp(peer to server & peer)节点、缓存节点或CDN(Content Delivery Network,内容分发网络)节点。如图2所示,数据节点可以是与运行该获取下载数据的方法的装置20连接的且网络质量较好的服务器,该服务器上可缓存有与资源摘要对应的下载资源。
与资源摘要对应的数据节点可以有多个,每个数据节点上可分别存储资源摘要对应的下载资源的资源片段,该资源片段具有偏移量和片段长度。
例如,对于资源摘要dft2yre6thrh32gfdgh32,其对应的下载资源可能分布在4个数据节点A、B、C和D上,该下载资源可预先被按照预设的长度分成多个子数据块。例如,若该下载资源共有4mb大小,则可预先被按照4k的长度分成1024个子数据块,相应的,每个子数据块的子数据块标识即可表示为:
dft2yre6thrh32gfdgh3200001;
dft2yre6thrh32gfdgh3200002;
dft2yre6thrh32gfdgh3200003;
……
dft2yre6thrh32gfdgh3201024。
其中,符号为分隔符,00001和00002为子数据块的偏移量,将该1024个子数据块按照其偏移量的顺序排列即可得到完整的4mb的下载资源。
而A、B、C和D4个数据节点可存储不同的资源片段,每个资源片段可包含多个子数据块。例如:
A:dft2yre6thrh32gfdgh3200001~dft2yre6thrh32gfdgh3200333;
B:dft2yre6thrh32gfdgh3200023~dft2yre6thrh32gfdgh3200999;
C:dft2yre6thrh32gfdgh3200679~dft2yre6thrh32gfdgh3201024;
D:dft2yre6thrh32gfdgh3200444~dft2yre6thrh32gfdgh3201024;
也就是说对于该dft2yre6thrh32gfdgh32的下载资源,数据节点A上可存储偏移量在00001到00333的子数据块,B上可存储偏移量在00023到00999的子数据块,C上可存储偏移量在00679到01024的子数据块,D上可存储偏移量在00444到01024的子数据块。
在一个实施例中,查找与资源摘要对应的数据节点的步骤可包括:通过遍历邻居节点,向其发送资源摘要查找与资源摘要对应的数据节点。
在该实施例中,数据节点为p2p节点、缓存节点或CDN节点等,可根据p2p协议遍历邻居节点,向遍历到的邻居节点发送资源摘要,邻居节点根据资源摘要进行查询,若存在与该资源摘要对应的数据,则该邻居节点即为与资源摘要对应的数据节点。可预先在本地存储包含与其连接的多个数据节点的邻居节点列表,然后通过遍历该邻居节点列表查找与资源摘要对应的数据节点。优选的,可以深度搜索或广度搜索的方式遍历邻居节点,即可遍历与邻居节点连接的邻居节点。
在另一个实施例中,查找与资源摘要对应的数据节点的步骤还可包括:将资源摘要上传索引服务器,接收返回的资源索引;根据资源索引查找与资源摘要对应的数据节点。
在该实施例中,数据节点为p2sp节点等。如图2所示,可将资源摘要发送给p2sp网络中的索引服务器42(即p2sp中的server),索引服务器42通过查询即可得到与该资源摘要对应的多个p2sp节点。索引服务器即可根据每个p2sp节点上存储的下载资源的资源片段的片度长度和偏移量生成资源索引,然后返回。在接受到该资源索引后,即可根据该资源索引查找相应p2sp节点。
在查找到与资源摘要对应的数据节点的步骤之后,即可向查找到的数据节点发起包含资源摘要的节点下载请求的,接收返回的资源片段,并将其存储在缓存中。
如上例中,可向数据节点A请求偏移量在00001到00333的子数据块,向数据节点B请求00334到00888的子数据块,向数据节点C请求00889到01024的子数据块。由数据节点A、B、C下载得到上述子数据块之后即可存储在缓存中。
进一步的,还可获取接收的资源片段的偏移量和片段长度,并将其与对应的资源片段存储到缓存中。
也就是说,在下载过程中,可将由每个数据节点接收的资源片段的偏移量和片段长度记录下来,从而方便根据偏移量和片段长度拼接数据。如上例中,当记录的由数据节点A得到的资源片段为偏移量为0,长度为333×4kb的数据段,由数据节点B得到的资源片段为偏移量为333×4kb的数据段,则由数据节点A得到的资源片段与由数据节点B得到的资源片段为连续的资源片段,可拼接在一起得到完整的下载资源。
步骤108,将缓存中的资源片段整合,生成相应的数据下载响应并返回给与数据下载请求对应的终端。
在本实施例中,将缓存中的资源片段整合的步骤可包括:获取缓存中的资源片段的偏移量和片段长度,根据缓存中的资源片段的偏移量和片段长度将缓存中的资源片段连续排列整合。
如上例中,可将接收到的数据节点A返回的00001到00333的子数据块、数据节点B返回的00334到00888的子数据块和数据节点C返回的00889到01024的子数据块按照偏移量的顺序排列,即可在缓存中得到完整的4mb的下载资源。
需要说明的是,在本实施例中,可无需等待缓存中下载到全部4mb的下载资源在通过数据下载响应返回给终端设备,可按照接收到的子数据块的偏移量顺序通过数据下载响应返回给终端。例如,若已从数据节点A下载得到了00001至00200的子数据块,从数据节点B下载得到了00334到00400的子数据块,则无需等待00201到00333的子数据块以及00401到001024的子数据块下载完成,即可将00001到00200的子数据块从缓存中读取并返回给终端设备。
进一步的,在本实施例中,还可根据缓存中已存储的资源片段设置目标偏移量和目标片段长度;
根据目标偏移量和目标片段长度向下载地址请求数据,并将接收的资源片段存储到缓存中。
也就是说,不仅可向数据节点请求下载资源,还可向下载地址对应的远程服务器请求下载资源。
例如,在未向任何数据节点请求数据时,缓存中的资源片段数量为0,则可设置目标片段长度为100×4kb的数据,目标偏移量为924×4kb(即位于该4mb下载资源最末尾的400kb数据)。然后向下载地址对应的远程服务器发起数据下载请求,并通过断点续传机制设置偏移量为924×4kb,则远程服务器即可返回下载资源最末尾的400kb数据。
若该400kb数据下载完成后,通过数据节点仍只得到00001至00800的子数据块,即800×4kb的数据,则剩余偏移量为800×4kb,片段长度为100×4kb的下载资源未下载,则可再次设置目标偏移量为860×4kb,目标片段长度为40×4kb(即共160kb大小的数据),然后由下载地址对应的远程服务器下载该160kb大小的下载资源。
由下载地址对应的下载资源仍然具有相应的偏移量和片段长度,可根据前述的整合方法按照偏移量的顺序将缓存中的资源片段拼接,然后返回给终端设备。
进一步的,接收数据节点返回的资源片段的步骤还包括:获取数据节点的网络质量参数,将与数据节点对应的网络质量参数添加到预设的节点质量参考信息中,网络质量参数可包括下载速度和/或网络延时。
进一步的,向查找到的数据节点发起包含资源摘要的节点下载请求的步骤之前还包括:获取节点质量参考信息,根据所述节点质量参考信息对所述查找到的数据节点进行筛选。
如前例中,由数据节点A、B、C和D下载数据时,则可获取相应的下载速度和/或网络延时等信息,然后存储在预设的节点质量参考信息表中。再次由A、B、C和D下载数据时,则可根据节点质量参考信息表选择网络质量较优的数据节点下载数据。
如前例中,数据节点C和D均存储有00679~01024的子数据块,若数据节点D的网络质量高于数据节点C的网络质量,则由数据节点D下载该部分资源;若数据节点C的网络质量高于数据节点D的网络质量,则由数据节点C下载该部分资源。
在数据节点较多而并发节点下载请求的数量受到限制时(最大连接数限制),则可过滤掉部分网络质量较差的数据节点,仅从网络质量较优的数据节点中下载数据。
在一个实施例中,如图3所示,一种获取下载数据的装置,包括请求拦截模块102、资源摘要获取模块104、下载数据拉取模块106以及下载数据下发模块108,其中:
请求拦截模块102,用于截获数据下载请求,提取数据下载请求中包含的下载地址。
资源摘要获取模块104,用于获取下载地址对应的资源摘要。
下载数据拉取模块106,用于查找与资源摘要对应的数据节点,向查找到的数据节点发起包含资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中。
下载数据下发模块108,用于将缓存中的资源片段整合,生成相应的数据下载响应并返回给与数据下载请求对应的终端。
在本实施例中,请求拦截模块102还用于截获网络访问请求,通过会话劫持提取网络访问请求包含的协议类型,判断协议类型是否为下载协议,若是,则网络访问请求为数据下载请求,并提取数据下载请求中包含的下载地址。
在一个实施例中,下载数据拉取模块106还用于通过遍历邻居节点,向其发送资源摘要查找与资源摘要对应的数据节点。
在另一个实施例中,下载数据拉取模块106还用于将资源摘要上传索引服务器,接收返回的资源索引;根据资源索引查找与资源摘要对应的数据节点。
在一个实施例中,如图4所示,获取下载数据的装置还包括原始地址下载模块110,用于根据缓存中已存储的资源片段设置目标偏移量和目标片段长度;根据目标偏移量和目标片段长度向下载地址请求数据,并将接收的资源片段存储到缓存中。
在一个实施例中,下载数据拉取模块108还用于获取接收的资源片段的偏移量和片段长度,并将其与对应的资源片段存储到缓存中。
在一个实施例中,下载数据下发模块108还用于获取缓存中的资源片段的偏移量和片段长度,根据缓存中的资源片段的偏移量和片段长度将缓存中的资源片段连续排列整合。
在一个实施例中,如图4所示,获取下载数据的装置还包括节点质量记录模块112,用于获取数据节点的网络质量参数,将与数据节点对应的网络质量参数添加到预设的节点质量参考信息中,网络质量参数包括下载速度和/或网络延时。
在一个实施例中,如图4所示,获取下载数据的装置还包括数据节点筛选模块114,用于获取节点质量参考信息,根据节点质量参考信息对查找到的数据节点进行筛选。
在一个实施例中,请求拦截模块102还用于通过代理自动配置的方式将数据下载请求重定向。
在一个实施例中,如图5所示,一种下载数据的方法,包括:
步骤S202,终端设备向远程服务器发送数据下载请求。
步骤S204,网关节点截获终端设备的数据下载请求,提取数据下载请求中包含的下载地址,获取下载地址对应的资源摘要,根据资源摘要查找对应的数据节点,向查找到的数据节点发起包含资源摘要的节点下载请求。
步骤S206,数据节点接收节点下载请求,根据节点下载请求的资源摘要返回对应的资源片段至网关节点。
步骤S208,网关节点接收数据节点返回的资源片段并存储在缓存中,将缓存中的资源片段整合,生成相应的数据下载响应并返回给与终端设备。
在本实施例中,查找与资源摘要对应的数据节点的步骤还包括:
网关节点将资源摘要上传索引服务器;
索引服务器接收资源摘要,并查找与资源摘要对应的数据节点,返回对应的资源索引至网关节点;
网关节点接收返回的资源索引,根据资源索引查找与资源摘要对应的数据节点。
在本实施例中,方法还包括:
网关节点根据缓存中已存储的资源片段设置目标偏移量和目标片段长度,并根据目标偏移量和目标片段长度向下载地址对应的远程服务器发送数据请求;
远程服务器接收数据请求并返回对应的资源片段至网关节点;
网关节点接收资源片段并将其存储到缓存中。
在一个实施例中,如图2所示,一种下载数据的***,包括终端设备10、网关节点20、远程服务器30和数据节点40,其中:
终端设备10用于向远程服务器30发送数据下载请求。
网关节点20用于截获终端设备10的数据下载请求,提取数据下载请求中包含的下载地址,获取下载地址对应的资源摘要,根据资源摘要查找对应的数据节点40,向查找到的数据节点40发起包含资源摘要的节点下载请求。
数据节点40用于接收节点下载请求,根据节点下载请求的资源摘要返回对应的资源片段至网关节点20。
网关节点20用于接收数据节点40返回的资源片段并存储在缓存中,将缓存中的资源片段整合,生成相应的数据下载响应并返回给与终端设备10。
在本实施例中,下载数据的***还包括索引服务器42,其中:
网关节点20还用于将资源摘要上传索引服务器42。
索引服务器42用于接收资源摘要,并查找与资源摘要对应的数据节点40,返回对应的资源索引至网关节点20。
网关节点20还用于接收返回的资源索引,根据资源索引查找与资源摘要对应的数据节点40。
在本实施例中,网关节点20还用于根据缓存中已存储的资源片段设置目标偏移量和目标片段长度,并根据目标偏移量和目标片段长度向下载地址对应的远程服务器30发送数据请求。
远程服务器30用于接收数据请求并返回对应的资源片段至网关节点20。
网关节点20还用于接收资源片段并将其存储到缓存中。
上述获取下载数据的方法及装置、下载数据的方法及***中,获取下载数据的方式并不是由数据下载请求中的下载地址对应的远程服务器进行下载,而是根据数据下载请求得到资源摘要后在预设的网络质量较好的数据节点上进行下载,也就是说即使与远程服务器的网络质量较差,仍然能够由数据节点上下载得到相应的下载资源,从而使得与远程服务器之间的链路质量不在是数据下载的瓶颈,提高了数据下载的速度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (26)
1.一种获取下载数据的方法,所述方法包括:
截获数据下载请求,提取所述数据下载请求中包含的下载地址;
获取所述下载地址对应的资源摘要;
查找与所述资源摘要对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中;
将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述数据下载请求对应的终端。
2.根据权利要求1所述的获取下载数据的方法,其特征在于,所述截获数据下载请求的步骤包括:
截获网络访问请求,通过会话劫持提取所述网络访问请求包含的协议类型,判断所述协议类型是否为下载协议,若是,则所述网络访问请求为数据下载请求,执行提取所述数据下载请求中包含的下载地址的步骤。
3.根据权利要求1所述的获取下载数据的方法,其特征在于,所述查找与所述资源摘要对应的数据节点的步骤还包括:
通过遍历邻居节点,向其发送资源摘要查找与所述资源摘要对应的数据节点。
4.根据权利要求1所述的获取下载数据的方法,其特征在于,所述查找与所述资源摘要对应的数据节点的步骤还包括:
将所述资源摘要上传索引服务器,接收返回的资源索引;
根据所述资源索引查找与所述资源摘要对应的数据节点。
5.根据权利要求1所述的获取下载数据的方法,其特征在于,所述方法还包括:
根据所述缓存中已存储的资源片段设置目标偏移量和目标片段长度;
根据所述目标偏移量和目标片段长度向所述下载地址请求数据,并将接收的资源片段存储到缓存中。
6.根据权利要求1或5所述的获取下载数据的方法,其特征在于,所述将接收的资源片段存储到缓存中的步骤还包括:
获取接收的资源片段的偏移量和片段长度,并将其与对应的资源片段存储到缓存中。
7.根据权利要求6所述的获取下载数据的方法,其特征在于,所述将所述缓存中的资源片段整合的步骤包括:
获取所述缓存中的资源片段的偏移量和片段长度,根据所述缓存中的资源片段的偏移量和片段长度将所述缓存中的资源片段连续排列整合。
8.根据权利要求1所述的获取下载数据的方法,其特征在于,所述接收数据节点返回的资源片段的步骤还包括:
获取所述数据节点的网络质量参数,将所述与数据节点对应的网络质量参数添加到预设的节点质量参考信息中,所述网络质量参数包括下载速度和/或网络延时。
9.根据权利要求8所述的获取下载数据的方法,其特征在于,所述向查找到的数据节点发起包含所述资源摘要的节点下载请求的步骤之前,包括:
获取所述节点质量参考信息,根据所述节点质量参考信息对所述查找到的数据节点进行筛选。
10.根据权利要求1所述的获取下载数据的方法,其特征在于,所述截获数据下载请求的步骤还包括:
通过代理自动配置的方式将所述数据下载请求重定向。
11.一种获取下载数据的装置,其特征在于,包括:
请求拦截模块,用于截获数据下载请求,提取所述数据下载请求中包含的下载地址;
资源摘要获取模块,用于获取所述下载地址对应的资源摘要;
下载数据拉取模块,用于查找与所述资源摘要对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求,接收返回的资源片段并存储在缓存中;
下载数据下发模块,用于将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述数据下载请求对应的终端。
12.根据权利要求11所述的获取下载数据的装置,其特征在于,所述请求拦截模块还用于截获网络访问请求,通过会话劫持提取所述网络访问请求包含的协议类型,判断所述协议类型是否为下载协议,若是,则所述网络访问请求为数据下载请求,执行提取所述数据下载请求中包含的下载地址的步骤。
13.根据权利要求11所述的获取下载数据的装置,其特征在于,所述下载数据拉取模块还用于通过遍历邻居节点,向其发送资源摘要查找与所述资源摘要对应的数据节点。
14.根据权利要求11所述的获取下载数据的装置,其特征在于,所述下载数据拉取模块还用于将所述资源摘要上传索引服务器,接收返回的资源索引;根据所述资源索引查找与所述资源摘要对应的数据节点。
15.根据权利要求11所述的获取下载数据的装置,其特征在于,所述装置还包括原始地址下载模块,用于根据所述缓存中已存储的资源片段设置目标偏移量和目标片段长度;根据所述目标偏移量和目标片段长度向所述下载地址请求数据,并将接收的资源片段存储到缓存中。
16.根据权利要求11或15所述的获取下载数据的装置,其特征在于,所述下载数据拉取模块还用于获取接收的资源片段的偏移量和片段长度,并将其与对应的资源片段存储到缓存中。
17.根据权利要求16所述的获取下载数据的装置,其特征在于,所述下载数据下发模块还用于获取所述缓存中的资源片段的偏移量和片段长度,根据所述缓存中的资源片段的偏移量和片段长度将所述缓存中的资源片段连续排列整合。
18.根据权利要求11所述的获取下载数据的装置,其特征在于,所述装置还包括节点质量记录模块,用于获取所述数据节点的网络质量参数,将所述与数据节点对应的网络质量参数添加到预设的节点质量参考信息中,所述网络质量参数包括下载速度和/或网络延时。
19.根据权利要求18所述的获取下载数据的装置,其特征在于,所述装置还包括数据节点筛选模块,用于获取所述节点质量参考信息,根据所述节点质量参考信息对所述查找到的数据节点进行筛选。
20.根据权利要求11所述的获取下载数据的装置,其特征在于,所述请求拦截模块还用于通过代理自动配置的方式将所述数据下载请求重定向。
21.一种下载数据的方法,所述方法包括:
终端设备向远程服务器发送数据下载请求;
网关节点截获所述终端设备的数据下载请求,提取所述数据下载请求中包含的下载地址,获取所述下载地址对应的资源摘要,根据所述资源摘要查找对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求;
所述数据节点接收所述节点下载请求,根据所述节点下载请求的资源摘要返回对应的资源片段至所述网关节点;
所述网关节点接收所述数据节点返回的资源片段并存储在缓存中,将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述终端设备。
22.根据权利要求21所述的下载数据的方法,其特征在于,所述查找与所述资源摘要对应的数据节点的步骤还包括:
所述网关节点将所述资源摘要上传索引服务器;
所述索引服务器接收所述资源摘要,并查找与所述资源摘要对应的数据节点,返回对应的资源索引至所述网关节点;
所述网关节点接收返回的资源索引,根据所述资源索引查找与所述资源摘要对应的数据节点。
23.根据权利要求21所述的下载数据的方法,其特征在于,所述方法还包括:
所述网关节点根据所述缓存中已存储的资源片段设置目标偏移量和目标片段长度,并根据所述目标偏移量和目标片段长度向所述下载地址对应的远程服务器发送数据请求;
所述远程服务器接收所述数据请求并返回对应的资源片段至所述网关节点;
所述网关节点接收所述资源片段并将其存储到缓存中。
24.一种下载数据的***,其特征在于,所述***包括终端设备、远程服务器、网关节点和数据节点,其中:
所述终端设备用于向所述远程服务器发送数据下载请求;
所述网关节点用于截获所述终端的数据下载请求,提取所述数据下载请求中包含的下载地址,获取所述下载地址对应的资源摘要,根据所述资源摘要查找对应的数据节点,向查找到的数据节点发起包含所述资源摘要的节点下载请求;
所述数据节点用于接收所述节点下载请求,根据所述节点下载请求的资源摘要返回对应的资源片段至所述网关节点;
所述网关节点用于接收所述数据节点返回的资源片段并存储在缓存中,将所述缓存中的资源片段整合,生成相应的数据下载响应并返回给与所述终端设备。
25.根据权利要求24所述的下载数据的***,其特征在于,所述***还包括索引服务器,其中:
所述网关节点还用于将所述资源摘要上传索引服务器;
所述索引服务器用于接收所述资源摘要,并查找与所述资源摘要对应的数据节点,返回对应的资源索引至所述网关节点;
所述网关节点还用于接收返回的资源索引,根据所述资源索引查找与所述资源摘要对应的数据节点。
26.根据权利要求24所述的下载数据的***,其特征在于,所述网关节点还用于根据所述缓存中已存储的资源片段设置目标偏移量和目标片段长度,并根据所述目标偏移量和目标片段长度向所述下载地址对应的远程服务器发送数据请求;
所述远程服务器用于接收所述数据请求并返回对应的资源片段至所述网关节点;
所述网关节点还用于接收所述资源片段并将其存储到缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410046993.6A CN104836822B (zh) | 2014-02-10 | 2014-02-10 | 获取下载数据方法及装置、下载数据的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410046993.6A CN104836822B (zh) | 2014-02-10 | 2014-02-10 | 获取下载数据方法及装置、下载数据的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836822A true CN104836822A (zh) | 2015-08-12 |
CN104836822B CN104836822B (zh) | 2019-04-26 |
Family
ID=53814457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410046993.6A Active CN104836822B (zh) | 2014-02-10 | 2014-02-10 | 获取下载数据方法及装置、下载数据的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836822B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682125A (zh) * | 2017-11-13 | 2018-02-09 | 平安科技(深圳)有限公司 | 一种数据获取方法、装置、计算机设备及存储介质 |
CN108694181A (zh) * | 2017-04-06 | 2018-10-23 | 上海寒武纪信息科技有限公司 | 一种数据筛选装置和方法 |
CN109005232A (zh) * | 2018-08-10 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 容器镜像文件的下载方法、提供方法及设备 |
CN109104451A (zh) * | 2017-06-21 | 2018-12-28 | 阿里巴巴集团控股有限公司 | Docker镜像的下载方法及节点、Docker镜像的预热方法及节点 |
WO2020103585A1 (zh) * | 2018-11-19 | 2020-05-28 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN111698324A (zh) * | 2020-06-12 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
US11010338B2 (en) | 2017-04-06 | 2021-05-18 | Shanghai Cambricon Information Technology Co., Ltd | Data screening device and method |
CN114637528A (zh) * | 2022-05-07 | 2022-06-17 | 太平金融科技服务(上海)有限公司深圳分公司 | 资源更新方法、装置、计算机设备、存储介质和程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409706A (zh) * | 2007-10-09 | 2009-04-15 | 华为技术有限公司 | 一种边缘网络中的数据分发方法、数据分发***及相关设备 |
CN101924797A (zh) * | 2010-08-26 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 资源下载的处理方法、装置及*** |
CN102075561A (zh) * | 2010-11-29 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 一种网络资源下载方法,装置及*** |
CN103036969A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 用于提供文件下载地址的管理设备及方法 |
CN103036967A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载*** |
CN103248695A (zh) * | 2013-05-07 | 2013-08-14 | 北京奇虎科技有限公司 | 文件下载方法、***及cdn中的服务器节点 |
CN103379157A (zh) * | 2012-04-23 | 2013-10-30 | 上海聚力传媒技术有限公司 | 用于进行信息传输的方法、装置、设备和*** |
-
2014
- 2014-02-10 CN CN201410046993.6A patent/CN104836822B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409706A (zh) * | 2007-10-09 | 2009-04-15 | 华为技术有限公司 | 一种边缘网络中的数据分发方法、数据分发***及相关设备 |
CN101924797A (zh) * | 2010-08-26 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 资源下载的处理方法、装置及*** |
CN102075561A (zh) * | 2010-11-29 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 一种网络资源下载方法,装置及*** |
CN103379157A (zh) * | 2012-04-23 | 2013-10-30 | 上海聚力传媒技术有限公司 | 用于进行信息传输的方法、装置、设备和*** |
CN103036969A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 用于提供文件下载地址的管理设备及方法 |
CN103036967A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载*** |
CN103248695A (zh) * | 2013-05-07 | 2013-08-14 | 北京奇虎科技有限公司 | 文件下载方法、***及cdn中的服务器节点 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694181A (zh) * | 2017-04-06 | 2018-10-23 | 上海寒武纪信息科技有限公司 | 一种数据筛选装置和方法 |
US11010338B2 (en) | 2017-04-06 | 2021-05-18 | Shanghai Cambricon Information Technology Co., Ltd | Data screening device and method |
US11049002B2 (en) | 2017-04-06 | 2021-06-29 | Shanghai Cambricon Information Technology Co., Ltd | Neural network computation device and method |
US11551067B2 (en) | 2017-04-06 | 2023-01-10 | Shanghai Cambricon Information Technology Co., Ltd | Neural network processor and neural network computation method |
CN109104451A (zh) * | 2017-06-21 | 2018-12-28 | 阿里巴巴集团控股有限公司 | Docker镜像的下载方法及节点、Docker镜像的预热方法及节点 |
CN107682125A (zh) * | 2017-11-13 | 2018-02-09 | 平安科技(深圳)有限公司 | 一种数据获取方法、装置、计算机设备及存储介质 |
CN109005232A (zh) * | 2018-08-10 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 容器镜像文件的下载方法、提供方法及设备 |
WO2020103585A1 (zh) * | 2018-11-19 | 2020-05-28 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN111698324A (zh) * | 2020-06-12 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
CN111698324B (zh) * | 2020-06-12 | 2022-12-06 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
CN114637528A (zh) * | 2022-05-07 | 2022-06-17 | 太平金融科技服务(上海)有限公司深圳分公司 | 资源更新方法、装置、计算机设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN104836822B (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104836822A (zh) | 获取下载数据方法及装置、下载数据的方法及*** | |
US11758013B2 (en) | Methods and systems for caching data communications over computer networks | |
CN108259542B (zh) | 资源的传输方法和装置 | |
TWI444079B (zh) | 用於在應用層連結/聚合多個介面的方法、處理器、電腦程式產品及裝置 | |
US9930132B2 (en) | Content specific router caching | |
CN107025234B (zh) | 一种信息推送方法及缓存服务器 | |
US9609366B2 (en) | Digital television terminal, video file playing method and video file playing system | |
CN105760405A (zh) | 用于加载web页面的网络资源获取方法、缓存方法及装置 | |
WO2017080459A1 (zh) | 服务内容的缓存及提供方法、装置、***和存储介质 | |
RU2642833C2 (ru) | Способ и устройство для обеспечения медиаресурса | |
CN102664938A (zh) | 一种资源下载控制方法及装置 | |
WO2016062077A1 (zh) | 重定向到Web页面的方法及装置 | |
CN103001964A (zh) | 一种局域网环境下的缓存加速方法 | |
WO2017054578A1 (zh) | 一种报文转发方法、业务链代理装置及代理设备 | |
CN103139252A (zh) | 一种网络代理缓存加速的实现方法及其装置 | |
CN105227514A (zh) | 基于浏览器的文件传输处理方法和浏览器 | |
WO2017095801A1 (en) | Forwarding table compression | |
Phokeer et al. | On the potential of Google AMP to promote local content in developing regions | |
KR20140089035A (ko) | 콘텐츠 서버와 정보 중심 네트워크 서버 간의 연동을 위한 가상 파일 시스템 및 이의 동작 방법 | |
CN103532915A (zh) | 对浏览器书签进行查杀的方法及*** | |
CN107612831B (zh) | 一种访问源站的数据报文的传输方法及装置 | |
JP2013004995A (ja) | コンテンツ優先転送方法、コンテンツ優先転送プログラムおよびコンテンツ優先転送ゲートウェイ | |
US9350822B2 (en) | Distributed web object identification for web caching | |
US20160050292A1 (en) | Local web resource access | |
KR20160147861A (ko) | 정보 객체 획득 방법, 서버, 및 사용자 장비 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |