著录项信息
| 专利名称 | 离线下载系统和方法 |
| 申请号 | CN201210332219.2 | 申请日期 | 2012-09-10 |
| 法律状态 | 授权 | 申报国家 | 中国 |
| 公开/公告日 | 2014-03-26 | 公开/公告号 | CN103685367A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
| 申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
| 发明人 | 刘刚 |
| 代理机构 | 广州华进联合专利商标代理有限公司 | 代理人 | 何平;曾旻辉 |
摘要
一种离线下载系统,包括离线任务管理服务器、离线任务分发服务器和分布式离线下载服务器。离线任务管理服务器用于获取离线下载请求,离线下载请求中包括请求下载的客户端的IP地址和离线任务的原始下载链接。离线任务分发服务器用于根据IP地址查找到与客户端位于同一城域网内的分布式离线下载服务器,并将离线任务分发给查找到的分布式离线下载服务器。部署在城域网的网络出口处的分布式离线下载服务器根据离线任务的原始下载链接获取离线任务对应的数据内容并存储。由于离线取回数据内容不涉及到跨网络,因此,上述离线下载系统使得离线取回数据内容的效率提高且取回的数据内容的质量得到保障。此外,本发明还提供一种离线下载方法。
1.一种离线下载系统,其特征在于,包括:
离线任务管理服务器,用于获取离线下载请求,所述离线下载请求中包括请求离线下载的客户端的IP地址和离线任务的原始下载链接;
离线任务分发服务器,用于根据所述IP地址查找到与所述客户端位于同一城域网内的分布式离线下载服务器,并将所述离线任务分发给查找到的分布式离线下载服务器;
分布式离线下载服务器,部署在城域网的网络出口处,用于根据所述离线任务的原始下载链接获取所述离线任务对应的数据内容并存储;所述分布式离线下载服务器首先需向所述离线任务分发服务器注册,并提供注册信息;
所述离线下载系统还包括集中离线下载服务器群和云存储服务器,所述集中离线下载服务器群和云存储服务器均部署在互联网数据中心的机房;
所述离线任务分发服务器还用于若在所述客户端所在的城域网内未查找到分布式离线下载服务器和/或所述查找到的分布式离线下载服务器不满足下载条件,则将所述离线任务分发给所述集中离线下载服务器群;
所述集中离线下载服务器群用于根据所述原始下载链接获取所述离线任务对应的数据内容,并将所述数据内容存储于云存储服务器上。
2.根据权利要求1所述的离线下载系统,其特征在于,所述系统还包括:
数据返回模块,用于提供所述数据内容的取回地址。
3.根据权利要求2所述的离线下载系统,其特征在于,所述数据返回模块为多资源索引服务器,所述多资源索引服务器用于根据所述数据内容的哈希值和存储所述数据内容的分布式离线下载服务器的标识符生成所述数据内容的取回地址。
4.根据权利要求2所述的离线下载系统,其特征在于,所述离线任务管理服务器用于判断所述离线任务是否存在于预设的离线任务数据库中,若是,则调用所述数据返回模块提供所述数据内容的取回地址,否则,为所述离线任务生成唯一标识,并将所述离线任务的唯一标识与原始下载链接对应存储于所述离线任务数据库中。
5.根据权利要求4所述的离线下载系统,其特征在于,还包括分布式离线下载管理服务器,所述分布式离线下载管理服务器用于将所述数据内容的唯一索引与所述离线任务的唯一标识对应存储于所述离线任务数据库中。
6.根据权利要求4所述的离线下载系统,其特征在于,所述分布式下载服务器还用于当其存储空间低于阈值时,选取在预设时间段内向客户端提供次数最少的数据内容为冷门数据内容,并将所述冷门数据内容删除;
所述分布式离线下载管理服务器还用于删除所述离线任务数据库中与所述冷门数据内容对应的离线任务。
7.一种离线下载方法,包括以下步骤:
获取离线下载请求,所述离线下载请求中包括请求离线下载的客户端的IP地址和离线任务的原始下载链接;
根据所述IP地址查找到与所述客户端位于同一城域网内的部署于网络出口处的分布式离线下载服务器,并将所述离线任务分发给查找到的分布式离线下载服务器;
通过所述分布式离线下载服务器根据所述原始下载链接获取所述离线任务对应的数据内容,并存储;所述分布式离线下载服务器首先需进行注册,并提供注册信息;
若在所述客户端所在的城域网内未查找到分布式离线下载服务器和/或所述查找到的分布式离线下载服务器不满足下载条件,则将所述离线任务分发给集中离线下载服务器群;
通过所述集中离线下载服务器群根据所述原始下载链接获取所述离线任务对应的数据内容,并将所述数据内容存储于云存储服务器上;所述集中离线下载服务器群和云存储服务器均部署在互联网数据中心的机房。
8.根据权利要求7所述的离线下载方法,其特征在于,在所述根据所述原始下载链接获取所述离线任务对应的数据内容,并存储的步骤之后,所述方法还包括:
提供所述数据内容的取回地址。
9.根据权利要求8所述的离线下载方法,其特征在于,所述提供所述数据内容的取回地址的步骤为:
根据所述数据内容的哈希值和存储所述数据内容的分布式离线下载服务器的标识符生成所述数据内容的取回地址。
10.根据权利要求8所述的离线下载方法,其特征在于,在所述获取客户端请求下载离线任务的离线下载请求的步骤之后,所述方法还包括:
判断所述离线任务是否存在于预设的离线任务数据库中,若是,则提供所述数据内容的取回地址,否则,为所述离线任务生成唯一标识,并将所述离线任务的唯一标识与原始下载链接对应存储于所述离线任务数据库中。
11.根据权利要求10所述的离线下载方法,其特征在于,在所述根据所述原始下载链接获取所述离线任务对应的数据内容,并存储的步骤之后,所述方法还包括:
将所述数据内容的唯一索引与所述离线任务的唯一标识对应存储于所述离线任务数据库中。
12.根据权利要求10所述的离线下载方法,其特征在于,还包括:
当所述分布式下载服务器的存储空间低于阈值时,选取在预设时间段内向客户端提供次数最少的数据内容为冷门数据内容,并将所述冷门数据内容删除;
删除所述离线任务数据库中与所述冷门数据内容对应的离线任务。
离线下载系统和方法\n技术领域\n[0001] 本发明涉及互联网数据共享技术,特别是涉及一种离线下载的系统和方法。\n背景技术\n[0002] 离线下载本质是下载工具的服务器代替用户先行下载。比如某个资源是冷门资源,下载速度很慢,用户就得下很久。离线下载技术可以让服务器代替用户下载,而用户可以关掉下载工具或者机器。服务器端的离线下载机器将下载完成的数据内容存储于云存储服务器,用户可再从云存储服务器上高速下载数据内容到客户端。\n[0003] ISP即互联网服务提供商,是向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商。ISP包括大ISP(如中国电信、中国联通)和小ISP(如东方有线、创威宽带)。大ISP具有自己的骨干网,骨干网是用来连接多个局域网和地区网的高速网络链路。\n小ISP没有自己的骨干网,需要租借大ISP的骨干网。每个ISP包括多个城域网,城域网是在一个城市范围内所建立的计算机通信网,属宽带局域网。在大的ISP中,城域网一个重要作用是构成ISP的骨干网。IDC即互联网数据中心,用于在互联网上提供的各项增值服务,包括申请域名、租用虚拟主机空间、主机托管等业务的服务。IDC一般设于大ISP上。\n[0004] 传统的离线下载技术中,离线下载机器和云端存储服务器一般都集中部署于某个地方的IDC。国内提供互联网服务的供应商有多个,且国内各ISP之间存在互联互通的问题,而资源通常都在大的ISP上,IDC也一般位于大的ISP内。对于没有足够用户的小ISP,单靠P2P内部用户的节点难以形成有效的P2P规模。因此,在这类小ISP内部的网络用户通常需要骨干网跨越ISP网络获取数据内容。此外,由于网络分层的原因,即使资源在同一个大ISP中,也需要通过骨干网跨越城市访问另外一个城市或者区域的节点。\n[0005] 随着离线下载业务的发展,用户从云存储服务器获取数据内容的次数越来越频繁、数据量越来越大。受限于带宽,这会造成骨干网络的拥塞。同时,由于某些小ISP还会限制跨网流量。因此,容易造成数据传输受阻,使得离线取回数据内容的效率降低,且数据内容的质量无法保障。\n发明内容\n[0006] 基于此,有必要针对离线取回数据内容的效率降低,且数据内容的质量无法保障的问题,提供一种能提高离线取回数据内容的效率和数据内容质量的离线下载系统。\n[0007] 一种离线下载系统,包括:\n[0008] 离线任务管理服务器,用于获取离线下载请求,所述离线下载请求中包括请求离线下载的客户端的IP地址和离线任务的原始下载链接;\n[0009] 离线任务分发服务器,用于根据所述IP地址查找到与所述客户端位于同一城域网内的分布式离线下载服务器,并将所述离线任务分发给查找到的分布式离线下载服务器;\n[0010] 分布式离线下载服务器,部署在城域网的网络出口处,用于根据所述离线任务的原始下载链接获取所述离线任务对应的数据内容并存储。\n[0011] 此外,还提供一种能提高离线取回数据内容的效率和数据内容质量的离线下载方法。\n[0012] 一种离线下载方法,包括以下步骤:\n[0013] 获取离线下载请求,所述离线下载请求中包括请求离线下载的客户端的IP地址和离线任务的原始下载链接;\n[0014] 根据所述IP地址查找到与所述客户端位于同一城域网内的部署于网络出口处的分布式离线下载服务器,并将所述离线任务分发给查找到的分布式离线下载服务器;\n[0015] 通过所述分布式离线下载服务器根据所述原始下载链接获取所述离线任务对应的数据内容,并存储。\n[0016] 上述离线下载系统和方法,获取离线下载请求,离线下载请求中包括请求下载的客户端的IP地址和离线任务的原始下载链接。根据IP地址查找到与客户端位于同一城域网内的分布式离线下载服务器,并将离线任务分发给查找到的分布式离线下载服务器。部署在城域网的网络出口处的分布式离线下载服务器根据离线任务的原始下载链接获取离线任务对应的数据内容并存储。由于离线任务对应的数据内容存储于分布式离线下载服务器上,而分布式离线下载服务器与客户端位于同一个城域网内,因此,在离线取回数据内容时不需要经过骨干网到其他城域网内的节点上获取数据,避免堵塞骨干网,使得离线取回数据内容的效率提高。此外,由于城域网内部的网路情况相对于骨干网要流畅,且城域网内部之间的数据交换不涉及到跨网络流量,因此,可降低在数据内容取回过程中数据包丢失的可能,从而使得取回的数据内容的质量得到保障。\n附图说明\n[0017] 图1为一个实施例中离线下载系统的模块示意图;\n[0018] 图2为另一个实施例中离线下载系统的模块示意图;\n[0019] 图3为一个实施例中离线下载方法的流程图。\n具体实施方式\n[0020] 如图1所示,在一个实施例中,一种离线下载系统,包括离线任务管理服务器110、离线任务分发服务器120和分布式离线下载服务器130。其中:\n[0021] 离线任务管理服务器110用于获取离线下载请求,离线下载请求中包括请求下载的客户端的IP地址和离线任务的原始下载链接。\n[0022] 具体的,客户端连接在互联网中时会分配到一个IP地址,该IP地址用来标识客户端在互联网中的位置,通过分析该IP地址可得到客户端所在城域网。客户端在向离线任务管理服务器110发送离线下载请求时,将请求下载的离线任务的原始下载链接与本客户端的IP地址打包。离线任务管理服务器110在收到某一离线下载请求后,可通过解析该离线请求得到离线任务的原始下载链接以及发送该离线下载请求的客户端的IP地址。\n[0023] 进一步的,请求下载的离线任务可为视频、音频及文字等各种类型文件的下载任务。根据目前主流的下载协议,离线任务的原始下载链接可为Bt种子、eMule链接和URL链接中的至少一种。\n[0024] 离线任务分发服务器120用于根据IP地址查找到与客户端位于同一城域网内的分布式离线下载服务器130,并将离线任务分发给查找到的分布式离线下载服务器130。\n[0025] 在一个实施例中,分布式离线下载服务器130首先需向离线任务分发服务器120注册,并提供注册信息。注册信息包括分布式离线下载服务器130的IP地址、磁盘空间和CPU负载信息等。进一步的,离线任务分发服务器120还将向其进行注册过的分布式离线下载服务器130的IP地址存储于IP数据库中。\n[0026] 具体的,离线任务分发服务器120在收到离线任务管理服务器110递交的离线任务后,先将离线下载请求中包含的客户端的IP地址与IP数据库中存储的分布式离线下载服务器130的IP地址进行比对,查找到与客户端位于同一城域网内的分布式离线下载服务器\n130。进一步的,离线任务分发服务器120将离线任务的原始下载链接分发给查找到的分布式离线下载服务器130。\n[0027] 分布式离线下载服务器130部署在城域网的网络出口处,用于根据离线任务的原始下载链接获取离线任务对应的数据内容并存储。\n[0028] 具体的,相比于传统的离线下载服务器,分布式离线下载服务器130不集中部署于IDC机房,而是分布式的部署于各城域网的网络出口处。分布式离线下载服务器130用于根据离线任务的原始下载链接从互联网中获取离线任务对应的数据内容,并存储数据内容。\n进一步的,分布式离线下载服务器130可通过P2P、P2S或/和P2SP等方式从互联网中获取数据内容。由于分布式离线下载服务器130部署在城域网的出口,因此,客户端在取回数据内容时,不需要跨越城域网、避免占用骨干网的带宽。从而使得取回数据内容的效率提高、质量也得到保障。\n[0029] 在一个实施例中,离线下载系统还包括数据返回模块(图中未示出),数据返回模块用于提供数据内容的取回地址。\n[0030] 具体的,数据返回模块接收客户端请求下载数据内容的下载请求,下载请求中包含了所请求下载的数据内容对应的离线任务。在一个实施例中,数据返回模块为多资源索引服务器,多资源索引服务器用于用于根据数据内容的哈希值和存储数据内容的分布式离线下载服务器130的标识符生成数据内容的取回地址。\n[0031] 具体的,多资源索引服务器首先根据离线任务的原始下载链接获得离线任务的哈希值。进一步的,根据哈希值,查找到存储该离线任务对应的数据内容的分布式离线下载服务器130,并获取该分布式离线下载服务器130的标识符,具体在本实施例中该标识符为分布式离线下载服务器130的IP地址或域名。将得到的IP地址或域名与离线任务对应的数据内容的哈希值进行组合,并经过签名或加密处理,得到数据内容的取回地址。由于多资源索引服务器可从加密的网络链路中进行查询,因此能有效的防止取回地址被截获,安全性更好。\n[0032] 进一步的,多资源索引服务器还可先根据离线任务的原始下载链接查询得到离线任务对应的数据内容的哈希值。再根据哈希值在互联网中查找到存储有与该离线任务对应的数据内容的节点,并将查找到的节点的节点信息与取回地址一起返回给客户端。此外,当离线下载任务的原始下载链接为URL链接时,多资源索引服务器还可根据URL链接在互联网中查找,获得提供与该离线任务对应的数据内容下载服务的多源URL集合。因此,客户端便可在从分布式离线下载服务器130高速获取数据内容的同时,根据获得的节点信息进行P2P下载,以及根据获得的多源URL集合进行P2S下载。同时进行P2P下载和P2S下载可减小对分布式离线下载服务器130的依赖,提高数据内容取回成功的概率,并能进一步保证取回数据内容的质量。\n[0033] 需要指出的是,在其他实施例中,数据返回模块不限于为多资源所有服务器。分布式离线下载服务器130还可在存储数据内容时,生成数据内容的存储地址,并建立数据内容的存储地址与数据内容对应的离线任务的映射记录。数据返回模块在获取客户端下载请求后,通过查询映射记录查找到与下载请求中包含的离线任务对应的数据内容的存储地址,并将该存储地址作为取回地址返回给客户端。\n[0034] 在一个实施例中,离线任务管理服务器110用于判断离线任务是否存在于预设的离线任务数据库中,若是,则调用数据返回模块提供数据内容的取回地址,否则,为离线任务生成唯一标识,并将离线任务的唯一标识和原始下载链接对应存储于离线任务数据库中。\n[0035] 具体的,对于相同的离线任务,只需要下载一次,不同的客户端可共享同一个数据内容。离线任务管理服务器110在获得离线下载请求后,先判断是否已经存在相同的离线任务。具体的,离线任务管理服务器110在离线任务数据库中查找是否存在相同的原始下载链接。若是,则调用数据返回模块提供数据内容的取回地址,不用另外进行下载。从而提高获取数据内容的效率,并且节约下载资源。否则,离线任务管理服务器110为离线任务生成唯一标识,并将离线任务的唯一标识和原始下载链接对应存储于离线任务数据库中。进一步的,将离线任务传递到离线任务分发服务器120。\n[0036] 在一个实施例中,离线下载系统还包括分布式离线下载管理服务器140,分布式离线下载管理服务器140用于将数据内容的唯一索引与离线任务的唯一标识对应存储于离线任务数据库中。\n[0037] 具体在本实施例中,唯一索引为哈希值。离线任务下载完成后,分布式离线下载管理服务器140便对离线任务对应的数据内容进行哈希计算,得到离线任务对应的数据内容的哈希值。并将哈希值与离线任务的唯一标识对应存储于离线任务数据库中。从而在离线任务数据库,通过离线任务的唯一标识便可查找到与离线任务对应的数据内容的哈希值。\n[0038] 在本实施例中,数据返回模块可省略。当收到客户端的下载请求时,可通过离线任务管理服务器110在离线任务数据库中查询,获取与离线任务对应的数据内容的哈希值,通过哈希值查找到数据内容存储的分布式离线下载服务器130。进一步的,获取存储该数据内容的分布式离线下载服务器130的IP地址或域名。将得到的IP地址或域名与离线任务对应的数据内容的哈希值进行组合,并经过签名或加密处理,得到数据内容的取回地址。\n[0039] 在一个实施例中,分布式离线下载服务器130还用于当其的存储空间低于阈值时,选取在预设时间段内向客户端提供次数最少的数据内容为冷门数据内容,并将冷门数据内容删除。\n[0040] 具体的,分布式下载服务器130实时检测其存储空间,当存储空间小于预设的阈值时,分布式下载服务器130需要删除部分数据内容以留出足够的存储空间存储新下载的数据内容。本实施例中,分布式下载服务器130统计预设时间段内所有数据内容向客户端提供的次数,根据所需存储空间的大小,选取数据内容中向客户端提供次数最少的一个或多个作为冷门数据内容,并将冷门数据内容删除。\n[0041] 进一步的,分布式离线下载管理服务器140还用于删除离线任务数据库中与冷门数据内容对应的离线任务。\n[0042] 若下一次客户端请求下载的离线任务与冷门数据内容对应的离线任务相同,由于冷门数据内容对应的离线任务已从离线任务数据库中删除,故离线任务管理服务器110在离线任务数据库中查找不到与该离线任务相同的记录。因此,该离线任务需要重新分发并下载。\n[0043] 如图2所示,在另一个实施例中,上述离线下载系统还包括集中离线下载服务器群\n150和云存储服务器160。其中:\n[0044] 集中离线下载服务器群150和云存储服务器160均集中部署在互联网数据中心的机房。集中离线下载服务器群150用于根据原始下载链接获取离线任务对应的数据内容,并将数据内容存储于云存储服务器160上。进一步的,云存储服务器160可根据客户端的下载请求,向客户端提供数据内容。\n[0045] 本实施例中,离线任务分发服务器120还用于若在客户端所在的城域网内未查找到分布式离线下载服务器130和/或查找到的分布式离线下载服务器130不满足下载条件,则将离线任务分发给集中离线下载服务器群150。具体的,分布式离线下载服务器130不满足下载条件可以是分布式离线下载服务器130没有空闲、存储空间低于预设最小值和CPU负载高于预设最大值中的至少一种。\n[0046] 如图3所示,在一个实施例中,一种离线下载方法,包括步骤:\n[0047] 步骤S110,获取离线下载请求,离线下载请求中包括请求离线下载的客户端的IP地址和离线任务的原始下载链接。\n[0048] 具体的,客户端连接在互联网中时会分配到一个IP地址,该IP地址用来标识客户端在互联网中的位置,通过分析该IP地址可得到客户端所在城域网。客户端在发送离线下载请求时,将请求下载的离线任务的原始下载链接与本客户端的IP地址打包。在收到某一离线下载请求后,可通过解析该离线请求得到离线任务的原始下载链接以及发送该离线下载请求的客户端的IP地址。\n[0049] 进一步的,请求下载的离线任务可为视频、音频及文字等各种类型文件的下载任务。根据目前主流的下载协议,离线任务的原始下载链接可为Bt种子、eMule链接和URL链接中的至少一种。\n[0050] 步骤S120,根据IP地址查找到与客户端位于同一城域网内的部署于网络出口处的分布式离线下载服务器,并将离线任务分发给查找到的分布式离线下载服务器。\n[0051] 在一个实施例中,分布式离线下载服务器首先需进行注册,并提供注册信息。注册信息包括分布式离线下载服务器的IP地址、磁盘空间和CPU负载信息等。进一步的,将进行注册过的分布式离线下载服务器的IP地址存储于IP数据库中。\n[0052] 具体的,在收到离线下载请求后,先解析得到将离线下载请求中包含的客户端的IP地址,并将客户端的IP地址与IP数据库中存储的分布式离线下载服务器的IP地址进行比对,查找到与客户端位于同一城域网内的部署于网络出口处的分布式离线下载服务器。进一步的,将离线任务的原始下载链接分发给查找到的分布式离线下载服务器。\n[0053] 步骤S130,通过分布式离线下载服务器根据原始下载链接获取离线任务对应的数据内容,并存储。\n[0054] 具体的,相比于传统的离线下载服务器,分布式离线下载服务器不集中部署于IDC机房,而是分布式的部署于各城域网的网络出口处。分布式离线下载服务器根据离线任务的原始下载链接从互联网中获取离线任务对应的数据内容,并存储数据内容。进一步的,分布式离线下载服务器可通过P2P、P2S或/和P2SP等方式从互联网中获取数据内容。由于分布式离线下载服务器部署在城域网的出口,因此,客户端在取回数据内容时,不需要跨越城域网、避免占用骨干网的带宽。从而使得取回数据内容的效率提高、质量也得到保障。\n[0055] 在一个实施例中,在上述步骤S130之后,上述离线下载方法还包括:提供数据内容的取回地址。\n[0056] 具体的,接收客户端请求下载数据内容的下载请求,下载请求中包含了所请求下载的数据内容对应的离线任务。在一个实施例中,上述提供数据内容的取回地址的步骤为:\n根据数据内容的哈希值和存储数据内容的分布式离线下载服务器的标识符生成数据内容的取回地址。\n[0057] 具体的,首先根据离线任务的原始下载链接获得离线任务的哈希值。进一步的,根据哈希值,查找到存储该离线任务对应的数据内容的分布式离线下载服务器,并获取该分布式离线下载服务器的标识符,具体在本实施例中该标识符为分布式离线下载服务器的IP地址或域名。将得到的IP地址或域名与离线任务对应的数据内容的哈希值进行组合,并经过签名或加密处理,得到数据内容的取回地址。由于可从加密的网络链路中进行查询,因此能有效的防止取回地址被截获,安全性更好。\n[0058] 进一步的,还可先根据离线任务的原始下载链接查询得到离线任务对应的数据内容的哈希值。再根据哈希值在互联网中查找到存储有与该离线任务对应的数据内容的节点,并将查找到的节点的节点信息与取回地址一起返回给客户端。此外,当离线下载任务的原始下载链接为URL链接时,还可根据URL链接在互联网中查找,获得提供与该离线任务对应的数据内容下载服务的多源URL集合。因此,客户端便可在从分布式离线下载服务器高速获取数据内容的同时,根据获得的节点信息进行P2P下载,以及根据获得的多源URL集合进行P2S下载。同时进行P2P下载和P2S下载可减小对分布式离线下载服务器的依赖,提高数据内容取回成功的概率,并能进一步保证取回数据内容的质量。\n[0059] 需要指出的是,在其他实施例中,提供数据内容的取回地址不限于上述方式。分布式离线下载服务器还可在存储数据内容时,生成数据内容的存储地址,并建立数据内容的存储地址与数据内容对应的离线任务的映射记录。在获取客户端下载请求后,通过查询映射记录查找到与下载请求中包含的离线任务对应的数据内容的存储地址,并将该存储地址作为取回地址返回给客户端。\n[0060] 在一个实施例中,在上述步骤S110之后,上述离线下载方法还包括:判断离线任务是否存在于预设的离线任务数据库中,若是,则提供数据内容的取回地址,否则,为离线任务生成唯一标识,并将离线任务的唯一标识和原始下载链接对应存储于离线任务数据库中。\n[0061] 具体的,对于相同的离线任务,只需要下载一次,不同的客户端可共享同一个数据内容。在获得离线下载请求后,先判断是否已经存在相同的离线任务。具体的,在离线任务数据库中查找是否存在相同的原始下载链接。若是,则提供数据内容的取回地址,不用另外进行下载。从而提高获取数据内容的效率,并且节约下载资源。否则,为离线任务生成唯一标识,并将离线任务的唯一标识和原始下载链接对应存储于离线任务数据库中。\n[0062] 在一个实施例中,在上述步骤S130之后,上述离线下载方法还包括:将数据内容的唯一索引与离线任务的唯一标识对应存储于离线任务数据库中。\n[0063] 具体在本实施例中,唯一索引为哈希值。离线任务下载完成后,对离线任务对应的数据内容进行哈希计算,得到离线任务对应的数据内容的哈希值。并将哈希值与离线任务的唯一标识对应存储于离线任务数据库中。从而在离线任务数据库,通过离线任务的唯一标识便可查找到与离线任务对应的数据内容的哈希值。\n[0064] 在本实施例中,还可通过如下方式提供数据的内容的取回地址:当收到客户端的下载请求时,在离线任务数据库中查询,获取与离线任务对应的数据内容的哈希值,通过哈希值查找到数据内容存储的分布式离线下载服务器。进一步的,获取存储该数据内容的分布式离线下载服务器的IP地址或域名。将得到的IP地址或域名与离线任务对应的数据内容的哈希值进行组合,并经过签名或加密处理,得到数据内容的取回地址。\n[0065] 在一个实施例中,上述离线下载方法还包括:当分布式下载服务器的存储空间低于阈值时,选取在预设时间段内向客户端提供次数最少的数据内容为冷门数据内容,并将冷门数据内容删除。\n[0066] 具体的,分布式下载服务器实时检测其存储空间,当存储空间小于预设的阈值时,分布式下载服务器需要删除部分数据内容以留出足够的存储空间存储新下载的数据内容。\n本实施例中,分布式下载服务器统计预设时间段内所有数据内容向客户端提供的次数,根据所需存储空间的大小,选取数据内容中向客户端提供次数最少的一个或多个作为冷门数据内容,并将冷门数据内容删除。\n[0067] 进一步的,删除离线任务数据库中与冷门数据内容对应的离线任务。若下一次客户端请求下载的离线任务与冷门数据内容对应的离线任务相同,由于冷门数据内容对应的离线任务已从离线任务数据库中删除,故在离线任务数据库中查找不到与该离线任务相同的记录。因此,该离线任务需要重新分发并下载。\n[0068] 在另一个实施例中,在上述步骤S120之后,上述离线下载方法还包括:\n[0069] 若在客户端所在的城域网内未查找到分布式离线下载服务器和/或查找到的分布式离线下载服务器不满足下载条件,则将离线任务分发给集中离线下载服务器群。\n[0070] 通过集中离线下载服务器群根据原始下载链接获取离线任务对应的数据内容,并将数据内容存储于云存储服务器上。\n[0071] 具体的,集中离线下载服务器群和云存储服务器均集中部署在互联网数据中心的机房。集中离线下载服务器群可根据原始下载链接获取离线任务对应的数据内容,并将数据内容存储于云存储服务器上。进一步的,云存储服务器可根据客户端的下载请求,向客户端提供数据内容。\n[0072] 本实施例中,若在客户端所在的城域网内未查找到分布式离线下载服务器和/或查找到的分布式离线下载服务器不满足下载条件,则将离线任务分发给集中离线下载服务器群。具体的,分布式离线下载服务器不满足下载条件可以是分布式离线下载服务器没有空闲、存储空间低于预设最小值和CPU负载高于预设最大值中的至少一种。\n[0073] 上述离线下载系统和方法,获取离线下载请求,离线下载请求中包括请求下载的客户端的IP地址和离线任务的原始下载链接。根据IP地址查找到与客户端位于同一城域网内的分布式离线下载服务器,并将离线任务分发给查找到的分布式离线下载服务器。部署在城域网的网络出口处的分布式离线下载服务器根据离线任务的原始下载链接获取离线任务对应的数据内容并存储。由于离线任务对应的数据内容存储于分布式离线下载服务器上,而分布式离线下载服务器与客户端位于同一个城域网内,因此,在离线取回数据内容时不需要经过骨干网到其他城域网内的节点上获取数据,避免堵塞骨干网,使得离线取回数据内容的效率提高。此外,由于城域网内部的网路情况相对于骨干网要流畅,且城域网内部之间的数据交换不涉及到跨网络流量,因此,可降低在数据内容取回过程中数据包丢失的可能,从而使得取回的数据内容的质量得到保障。\n[0074] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。\n[0075] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
法律信息
- 2018-07-20
- 2015-04-22
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201210332219.2
申请日: 2012.09.10
- 2014-03-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-06-09
|
2009-11-30
| | |
2
| |
2007-09-05
|
2007-02-15
| | |
3
| |
2012-07-11
|
2011-12-31
| | |
4
| |
2012-03-21
|
2011-12-22
| | |
5
| |
2011-11-09
|
2010-04-27
| | |
6
| |
2012-03-28
|
2011-08-11
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |