CN103812881B - 离线下载控制方法及装置 - Google Patents

离线下载控制方法及装置 Download PDF

Info

Publication number
CN103812881B
CN103812881B CN201210438459.0A CN201210438459A CN103812881B CN 103812881 B CN103812881 B CN 103812881B CN 201210438459 A CN201210438459 A CN 201210438459A CN 103812881 B CN103812881 B CN 103812881B
Authority
CN
China
Prior art keywords
offline
download
downloading task
file
information
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.)
Active
Application number
CN201210438459.0A
Other languages
English (en)
Other versions
CN103812881A (zh
Inventor
刘刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210438459.0A priority Critical patent/CN103812881B/zh
Publication of CN103812881A publication Critical patent/CN103812881A/zh
Application granted granted Critical
Publication of CN103812881B publication Critical patent/CN103812881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种离线下载控制方法,包括步骤:接收离线下载任务请求,根据所述离线下载任务请求获取相应的下载链接信息;以及获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载。本发明也公开一种离线下载控制装置。本发明能够有效减少热门文件下载的等待时间,提高离线下载的秒下比例;而且减少重复的离线下载任务数目,以提升离线下载效率。

Description

离线下载控制方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种离线下载控制方法及装置。
背景技术
目前主流下载协议包括Http(HyperText Transport Protocol,超文本传输协议)-url(统一资源定位器)、eMule、Bittorrent(简称BT)以及BT的另一种下载形式Magnet。为了保证下载效率,下载文件的调度上一般采用尽力模式(即尽快下载文件)。对于BT、eMule这种主要依靠P2P方式下载的协议而言,下载速度与下载文件的热门程度有着很大关系,下载文件能否最终下载完成与P2P网络有着很大的关系。若下载时找不到合适的下载资源,则无法正常下载,或许只能下载其中一部分数据。针对没有预期的下载资源(即下载文件属于冷门文件),出现一种云端订阅下载方式。
但是,采用云端订阅方式进行下载的方式存在一些问题:离线下载任务没有明显的热门度区分。目前是以离线下载任务请求的添加顺序依次发送至下载服务器集群进行下载。热门文件的离线下载任务无法优先完成。而且没有充分有效地使用下载服务器集群的资源,同时下载效率不高。
综上,亟需解决现有技术中所存在的技术问题。
发明内容
本发明的目的之一是提供一种离线下载控制方法,能够对离线下载任务进行热门度的区分,有效减少热门文件下载的等待时间,提高离线下载的秒下比例。
为实现上述的目的,本发明提供了一种离线下载控制方法,包括:接收离线下载任务请求;根据所述离线下载任务请求获取相应的下载链接信息;以及获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载。
进一步,在接收离线下载任务请求的步骤之后,进一步包括步骤:获取离线下载任务的频度信息;根据所述频度信息生成离线下载任务的优先级标识。
进一步,在获取离线下载任务的频度信息的步骤中,进一步包括步骤:根据离线下载任务对应下载文件的特征标识进行查询;根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加。
进一步,在接收离线下载任务请求的步骤之后,进一步包括步骤:查询是否存在已完成离线下载任务的下载文件,若有,则提供所述下载文件,否则,分发离线下载任务请求。
进一步,在获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载的步骤之后,进一步包括步骤:对已完成离线下载任务的下载文件生成哈希值信息;根据所述哈希值信息及所述下载链接信息,更新频度信息。
进一步,在根据生成的所述哈希值信息及下载链接信息以更新频度信息的步骤中,进一步包括步骤:判断不同的下载链接信息是否对应有相同下载文件,若有则将相同下载文件的离线下载任务进行合并。
为了解决上述问题,本发明还提供一种离线下载控制装置,包括:离线任务管理模块,用于接收离线下载任务请求;下载链接信息管理模块,用于根据所述离线下载任务请求获取相应的下载链接信息;以及离线任务调度模块,用于获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载。
进一步,所述离线下载控制装置进一步包括频度信息获取模块,用于获取离线下载任务的频度信息;优先级标识生成模块,用于根据所述频度信息生成离线下载任务的优先级标识。
进一步,所述频度信息获取模块进一步包括:查询单元,用于根据离线下载任务对应下载文件的特征标识进行查询;统计单元,用于根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加。
进一步,所述离线下载控制装置进一步包括离线任务查询模块,用于查询是否存在已完成离线下载任务的下载文件,若有,则提供所述下载文件,否则,分发离线下载任务请求。
进一步,所述离线下载控制装置进一步包括资源入库模块,用于对已完成离线下载任务的下载文件生成哈希值信息;频度信息更新模块,用于根据所述哈希值信息及所述下载链接信息,更新频度信息。
进一步,所述频度信息更新模块进一步包括频度信息合并单元,用于判断不同的下载链接信息是否对应有相同下载文件,若有则将相同下载文件的离线下载任务进行合并。
本发明的优点在于,通过本发明所述的离线下载控制方法及装置,对用户需求强烈的离线下载任务采用统计其频度信息的方式,进而提升离线任务的下载优先级,减少下载文件的等待时间,快速获取所需数据;对于不同下载链接而对应下载文件的哈希值信息相同的离线下载任务进行合并,有效减少重复下载的离线下载任务数目,这不仅提高下载能力,而且节省空闲资源,进而提升离线下载效率。
附图说明
图1A是本发明离线下载控制方法具体实施方式的流程示意图;
图1B是本发明离线下载控制方法具体实施方式的流程示意图;
图2是本发明离线下载控制方法的一实施例的架构示意图;
图3是本发明离线下载控制装置具体实施方式的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明方法及装置的具体实施方式做进一步详细说明。
本发明提出了一种离线下载控制方法及装置,通过在一预设定时间段内(比如30分钟内)对离线下载任务的频度信息进行统计,以调整离线下载任务的下载优先级,将正在处理或将要处理的离线下载任务的优先下载,进而加快热门文件的下载进度,减少热门文件下载的等待时间,提升下载效率和资源利用。
图1A和图1B所示是本发明一种离线下载控制方法具体实施方式的实施示意图。图1A表示步骤S110~步骤S140;图1B表示步骤S145~步骤S190。其中,所述离线下载控制方法应用于一服务器系统。所述服务器系统包括离线任务管理服务器、离线任务调度服务器、离线任务数据库、云存储服务器、频度信息获取服务器、离线下载服务器集群、资源入库服务器、资源索引数据库和统计服务器。所述离线下载控制方法包括步骤S110,接收离线下载任务请求;步骤S115,根据所述离线下载任务请求获取相应的下载链接信息;步骤S116,查询是否存在已完成离线下载任务的下载文件;步骤S120,获取离线下载任务的频度信息;步骤S125,根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加,对不同的离线下载任务加以区分;步骤S126,根据所述频度信息生成离线下载任务的优先级标识;步骤S130,获取所述离线下载任务的优先级标识,以将优先级标识大于阈值的离线下载任务优先进行调度;步骤S140,根据优先级标识以及离线下载任务对应的下载链接信息进行离线下载;步骤S145,存储已完成离线下载任务的下载文件,并提供给客户端下载;步骤S150,对已完成离线下载任务的下载文件生成哈希值信息;步骤S155,存储下载链接信息、下载文件的哈希值信息和下载文件的检验信息;步骤S160: 根据所述哈希值信息及所述下载链接信息更新频度信息;步骤S165:判断不同的下载链接信息是否对应有相同下载文件,若有则将相同下载文件的离线下载任务进行合并;以及步骤S190:统计离线下载过程中及完成离线下载任务后下载文件的各种信息,以供进一步分析。
以下对上述步骤做详细说明。
步骤S110:接收离线下载任务请求。
其中,离线下载任务包括基于Http-url下载协议的离线下载任务、基于eMule下载协议的离线下载任务以及基于BT下载协议的离线下载任务(或基于Magnet下载协议的离线下载任务)。当离线任务管理服务器接收到客户端提交的离线下载任务请求后,为每个独立的离线下载任务生成一唯一的标识编号。
步骤S115:根据所述离线下载任务请求获取相应的下载链接信息。
根据离线下载任务请求,获取离线下载任务的下载链接信息(或称原始下载链接信息),并写入离线任务数据库。其中所述下载链接信息根据不同的下载协议,所包含的信息也不同。比如,Http-url下载协议:url完整的、带有授权部分的普通统一资源标志符格式如下:协议://用户名@密码:子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志,从链接中获取文件名。eMule下载协议:eMule 支持且可以生成复杂的下载链接,通常比较典型的eMule下载链接如下,(1)基本eD2k 链接格式为ed2k://|file|<文件名称>|<文件大小>|<文件哈希值>|/ ;(2)eD2k 来源链接格式为ed2k://|file|<文件名称>|<文件大小>|<文件哈希值>|/|sources,<IP:端口>|/ 。ed2k是eDonkey和eMule专用的下载连接,包括3个部分用“|”隔开,分别是文件名、文件大小、文件哈希值(用于识别文件)。BT下载协议:在BT种子文件包含以下信息:(1)资源名称,若资源为目录树形式,则进一步包括目录树中每个文件的路径信息和文件名;(2)若资源为单个文件,则提供该文件的大小信息;若资源为目录树形式,则提供目录树中每个文件的大小信息;(3)对资源的实际文件以固定大小进行分块,对每一分块进行SHA1 哈希运算,进而获得若干特征值的集合;(4)BT种子文件的创建时间、制作者填写的注释、以及制作者的信息等,其中至少包括一个announce地址(与Internet上部署的一个Tracker服务器地址相对应)。Magnet协议:也称哈希分布。Magnet协议原理类似于电驴eMule,但不需要Tracker服务器。Magnet根据下载文件内容的哈希值信息生成一个独特的指纹。
步骤S116:查询是否存在已完成离线下载任务的下载文件。
步骤S116为可选步骤。根据下载链接信息在所述离线任务数据库中查询是否存在已完成离线下载任务的下载文件。所述离线任务数据库为一数据库,其可以设置在一服务器中,或设置在一用于记录数据关系的模块中。在所述离线任务数据库中存在一映射表,该映射表将下载链接信息与相应的下载文件(已完成离线下载任务的对应下载文件)的哈希值信息进行彼此关联映射,因此,若在离线任务数据库中查找到已完成离线下载任务的下载文件的映射记录,则可以以异步方式(比如短信或电邮)反馈一消息至客户端,使用户可以通过其专属会员服务器(为一种云存储服务器)进行秒下。秒下是指在离线下载过程中,云存储服务器已存在用户所需的下载文件,直接通知用户所需的下载文件已完成,不需要调度相关的离线下载任务至离线下载服务器集群进行再次下载。云存储服务器是一存储数据的服务器,后文有具体说明。若在离线任务数据库中未查找到相应的映射记录,则分发离线下载任务请求。并转至离线任务调度服务器。所述离线任务调度服务器为一用于调度离线下载任务的专用服务器。
步骤S120:获取离线下载任务的频度信息。
所述离线任务调度服务器在收到离线下载任务请求后获取离线下载任务的频度信息。进一步执行步骤S125以对频度信息进行统计。
步骤S125:根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加,对不同的离线下载任务加以区分。
步骤S125为可选步骤。通过频度信息获取服务器对每一个离线下载任务进行区分,并对其频度信息进行统计。所述频度信息获取服务器为一用于获取频度信息的服务器。每当用户提交一个不能秒下的离线下载任务时,需要在频度信息获取服务器中进行查询和统计。首先,根据离线下载任务对应下载文件的特征标识进行查询。在目前的主流下载协议中,对于eMule下载协议,通过对应下载文件的特征标识即指eMule下载链接本身包含唯一的Md4信息,以区分离线下载任务;对于Http下载协议,通过对应下载文件的特征标识即指Http下载链接,进而区分离线下载任务;对于BT下载协议,通过对应下载文件的特征标识即指BT种子文件的特征码和对应选择文件序号,以区分离线下载任务。在本发明具体实施方式中,在频度信息获取服务器中根据所添加离线下载任务建立一数据库。对于eMule离线下载任务,则用Md4信息作为主键。每添加一个eMule离线下载任务后,若查询到Md4信息一致,则对该离线下载任务的频度信息加1。同样,对于Http离线下载任务,则用url下载链接的哈希值信息作为主键,而对于BT离线下载任务,则用BT种子文件的特征码和选择文件序号作为主键,若查询到离线下载任务为相同时,则对离线下载任务的频度信息加1。
步骤S126:根据所述频度信息生成离线下载任务的优先级标识。
所述优先级标识是指离线下载的优先级别。当频度信息累加时,优先级标识所表示的离线下载的优先级别也相应增加。当优先级别至一阈值时,比如阈值设定为100,则表示该离线下载任务对应的下载文件属于热门文件(即下载优先级高)。
步骤S130:获取所述离线下载任务的优先级标识,以将优先级标识大于阈值的离线下载任务优先进行调度。
离线任务调度服务器在获取所述离线下载任务的优先级标识后,对离线下载任务重新进行排序调整,以将优先级标识大于预设阀值的离线下载任务优先发送至离线下载服务器集群。离线下载服务器集群为多个专门用于下载文件的服务器。在本发明具体实施中,可以将下载优先级高的离线下载任务分发至单独隔离的一离线下载服务器集群,以提高离线下载任务的执行效率。在将离线下载任务重新发送至新的离线下载服务器集群过程中,需考虑下载文件已完成的下载进度。若已完成下载的部分文件传输至新的下载机器的代价(主要是指传输时间)超过在新的离线下载服务器集群重新下载的代价,此时则不需要再传输至新的离线下载服务器集群并重新下载。为了简化和减少调度的复杂性,通常删除已完成下载的部分文件,并在新的空闲离线下载服务器集群上重新下载。通过上述步骤的操作,使下载优先级高的离线下载任务的优先调度充分发挥,提升热门文件的下载效率,同时使用户有更好的下载体验。
步骤S140:根据优先级标识以及离线下载任务对应的下载链接信息进行离线下载。
离线下载服务器集群接收到优先调度请求后,从离线任务数据库中获取离线下载任务对应的下载链接信息,进行离线任务下载。在完成下载后,将下载文件同步至云存储服务器,并将下载文件的哈希值信息传送至离线任务数据库,且将下载文件的哈希值信息、下载链接、文件大小等信息同步至资源入库服务器中。所述资源入库服务器为一服务器,用于在完成离线下载后,接收到下载文件的各种信息,后文有具体说明。
在离线下载过程中,离线下载服务器集群向离线任务调度服务器汇报下载进度和速度信息。在完成离线下载后,离线下载服务器集群为客户端取回下载文件提供服务支持,通过保留的带宽提供用户所需的下载文件。此外,离线下载服务器集群向离线任务调度服务器提供集群地址、磁盘空间以及CPU负载信息,以使离线任务调度服务器根据离线下载服务器的负载进行动态均衡的调度。
步骤S145,存储已完成离线下载任务的下载文件,并提供给客户端下载。
保存已完成离线下载任务的下载文件,并为客户端离线下载取回下载文件提供服务。
步骤S150:对已完成离线下载任务下载文件生成哈希值信息。
在离线下载服务器集群完成离线下载后,所述资源入库服务器接收到离线下载服务器集群所发送的下载文件的下载链接和对应下载文件的哈希值信息。
在本发明具体实施方式中,在步骤S150中可进一步包括步骤:接收客户端在完成下载新资源文件后提供相应下载链接及下载文件的哈希值信息。该步骤是在客户端以非多源下载方式(或称新资源方式)下载文件的情况下进行的。资源入库服务器在收到所述下载文件的哈希值信息后,将该信息以及对应的下载链接同步至离线任务服务器,以做进一步处理。
步骤S155:存储下载链接信息、下载文件的哈希值信息和下载文件的检验信息。
在此步骤中,将基于Http-url、eMule以及BT下载协议的下载链接、与所述下载链接呈映射关系的下载文件的哈希值信息以及下载文件的校验信息进行保存,保存在资源索引数据库中。所述资源索引数据库为一数据库;同时也保存下载文件的哈希值信息至多资源集合(即指基于Http-url、eMule以及BT下载协议的下载链接)的下载信息。此外,也可以为客户端提供多资源集合查询服务。当生成新资源的下载链接信息及对应下载文件的哈希值信息的映射记录时,通过资源入库服务器写入资源索引数据库中。
步骤S160:根据所述哈希值信息及所述下载链接信息更新频度信息。
当资源入库服务器将已完成离线下载任务的下载链接及其对应下载文件的哈希值信息同步至离线任务调度服务器后,所述离线任务调度服务器对接收到的各种信息做进一步处理。在本发明较佳实施方式中,步骤S160可进一步包括步骤S165:判断不同的下载链接信息是否有对应的相同下载文件,若有则将相同下载文件的离线下载任务进行合并。若发现不同的下载链接信息对应相同下载文件的哈希值信息时,则通过频度信息获取服务器将下载链接信息对应的离线下载任务进行合并,并更新相关离线下载任务的频度信息,同时对离线下载服务器集群发送指令,停止不必要的离线下载任务,删除相关的临时文件,释放离线下载服务器集群的磁盘空间,从而进一步提高调度效率和下载效率。若发现不同的下载链接信息没有相对应的相同下载文件的哈希值信息时,则通过频度信息获取服务器,对基于不同下载协议的离线下载任务进行分类处理。
步骤S190:统计离线下载过程中及完成离线下载任务后下载文件的各种信息,以供进一步分析。
在离线下载过程中及完成离线下载任务后,统计服务器对下载文件的各种信息,例如下载速度、下载时间、连通情况、下载结果以及文件大小等信息进行上报统计,并写成流水日志的方式以供后续统计分析。所述统计服务器为一服务器。
本发明所述的方法与现有方案相比,通过离线任务调度服务器以及频度信息获取服务器,对一定时间内所添加的离线下载任务进行频度统计,调整该离线下载任务的优先级别,使离线下载服务器集群优先下载热门文件(即下载优先级高)或提升这些文件的下载优先级,加快热门文件的下载进度,减少用户等待时间,同时即时合并不同链接对应的同样离线下载任务,提升离线下载服务器集群的下载效率和资源利用率。
下面提供本发明所述离线下载控制方法的一实施例,可参考图2及图1A和图1B所示。所述实施例应用于所述服务器系统中。具体实施步骤如下:
步骤S210,接收离线下载任务请求。
接收由客户端发出的离线下载任务请求。其中,离线下载任务包括基于Http-url下载协议的离线下载任务、基于eMule下载协议的离线下载任务以及基于BT下载协议的离线下载任务(或基于Magnet下载协议的离线下载任务)。当接收到客户端提交的离线下载任务请求后,为每个独立的离线下载任务生成一唯一的标识编号。
步骤S215,根据所述离线下载任务请求获取相应的下载链接信息。(图中未示)
根据离线下载任务请求,获取离线下载任务的下载链接信息(或称原始下载链接信息),并写入离线任务数据库。
步骤S216,查询是否存在已完成离线下载任务的下载文件。
根据下载链接信息在离线任务数据库中未找到相应的映射关系的记录,将离线下载任务请求发送至离线任务调度服务器。
步骤S220,获取离线下载任务的频度信息。
所述离线任务调度服务器在收到离线下载任务请求后获取离线下载任务的频度信息。
步骤S226,根据所述频度信息生成离线下载任务的优先级标识。(图中未示)
若所述频度信息对应的优先级标识超过阈值,则设定该离线下载任务对应的下载文件属于热门文件。
步骤S230,获取所述离线下载任务的优先级标识,以将优先级标识大于阈值的离线下载任务优先进行调度。
由于离线下载任务对应的下载文件属于热门文件,将该下载优先级高的离线下载任务优先进行调度,并优先将离线下载任务至离线下载服务器集群。
步骤S240,根据优先级标识以及离线下载任务对应的下载链接信息进行离线下载。
离线下载服务器集群接收到优先调度请求后,从离线任务数据库中获取离线下载任务对应的下载链接信息,进行离线任务下载。
步骤S245,存储已完成离线下载任务的下载文件,并提供给客户端下载。
在离线下载服务器集群完成下载后,将下载文件同步至云存储服务器。之后,用户可以通过客户端从云存储服务器取回已下载的下载文件。此外,用户通过P2P技术进行客户端与客户端之间的数据传输。
步骤S250,生成已完成离线下载任务的下载文件的哈希值信息。
在离线下载服务器集群完成离线下载后,资源入库服务器接收到离线下载服务器集群所生成的下载文件的下载链接和对应下载文件的哈希值信息。在本实施例中,资源入库服务器还接收到由客户端所发送的新资源下载文件的下载链接和对应下载文件的哈希值信息。
步骤S255,存储下载链接信息、下载文件的哈希值信息和下载文件的检验信息。
在此步骤中,资源索引数据库将基于Http-url、eMule以及BT下载协议的下载链接、与所述下载链接呈映射关系的下载文件的哈希值信息以及下载文件的校验信息进行保存;同时也保存下载文件的哈希值信息至多资源集合(即指基于Http-url、eMule以及BT下载协议的下载链接)的下载信息。
步骤S260: 根据所述哈希值信息及所述下载链接信息,对不同的下载链接信息对应相同下载文件的离线下载任务进行合并,并更新频度信息。
当资源入库服务器将已完成离线下载任务的下载链接及其对应下载文件的哈希值信息同步至离线任务调度服务器后,所述离线任务调度服务器对接收到的各种信息做进一步处理,并判断不同的下载链接信息是否有对应的相同下载文件。若发现不同的下载链接信息对应相同下载文件的哈希值信息时,则通过频度信息获取服务器将下载链接信息对应的离线下载任务进行合并,并进行更新相关离线下载任务的频度信息,同时对离线下载服务器集群发送指令,停止不必要的离线下载任务,删除相关的临时文件,释放离线下载服务器集群的磁盘空间,从而进一步提高调度效率和下载效率。
步骤S290:统计离线下载过程中及完成离线下载任务后下载文件的各种信息,以供进一步分析。
在离线下载过程中及完成离线下载任务后,统计服务器对下载文件的各种信息,例如下载速度、下载时间、连通情况、下载结果以及文件大小等信息进行上报统计,并写成流水日志的方式以供后续统计分析。
接下来结合附图3给出本发明所述离线下载控制装置的具体实施方式,包括:离线任务管理模块M310,用于接收离线下载任务请求;下载链接信息管理模块M320,用于根据所述离线下载任务请求获取相应的下载链接信息;离线任务调度模块M330,用于获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载。
其中,所述离线任务管理模块M310可设置在离线任务管理服务器中,用于接收离线下载任务请求。所述下载链接信息管理模块M320也可设置在离线任务管理服务器中。可选的,所述离线下载控制装置进一步包括离线任务查询模块M315,可设置在离线任务管理服务器中,用于查询是否存在已完成离线下载任务的下载文件,若有,则提供所述下载文件,否则,分发离线下载任务请求。
所述离线任务调度模块M330可以设置在离线任务调度服务器中,用于获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度,并优先发送离线下载任务至离线下载服务器集群。所述离线任务调度模块M330对于相同的离线下载任务请求进行过滤,同一个离线下载任务请求只向离线下载服务器集群发送一次。不同的用户可以共享同一个离线下载任务的下载进度信息。所述离线任务调度模块M330也用于接收离线下载服务器集群的节点的负载信息的上报,并根据所述离线下载服务器集群的节点的负载信息,动态地将离线下载任务调度至不同的离线下载服务器节点上执行具体的下载任务。另外,所述离线任务调度模块M330接收离线下载服务器集群发出的下载进度信息、速度信息的汇报,同时将下载进度信息向离线任务管理服务器同步汇报。
所述离线下载控制装置进一步包括频度信息获取模块M340和优先级标识生成模块M350。所述频度信息获取模块M340和优先级标识生成模块M350可设置在频度信息获取服务器中。所述频度信息获取模块M340用于获取离线下载任务的频度信息。在本发明较佳实施方式中,所述频度信息获取模块M340可进一步包括:查询单元M341,用于根据离线下载任务对应下载链接的哈希值进行查询;统计单元M342,用于根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加,对不同的离线下载任务加以区分。每当用户提交一个不能秒下的离线下载任务时,需要在频度信息获取服务器中进行查询和统计。首先,根据离线下载任务对应下载文件的特征标识进行查询。在目前的主流下载协议中,对于eMule下载协议,通过对应下载文件的特征标识即指eMule下载链接本身包含唯一的Md4信息,以区分离线下载任务;对于Http下载协议,通过对应下载文件的特征标识即指Http下载链接,进而区分离线下载任务;对于BT下载协议,通过对应下载文件的特征标识即指BT种子文件的特征码和对应选择文件序号,以区分离线下载任务。在本发明具体实施方式中,在频度信息获取服务器中根据所添加离线下载任务建立一数据库。对于eMule离线下载任务,则用Md4信息作为主键。每添加一个eMule离线下载任务后,若查询到Md4信息一致,则对该离线下载任务的频度信息加1。同样,对于Http离线下载任务,则用url下载链接的哈希值信息作为主键,而对于BT离线下载任务,则用BT种子文件的特征码和选择文件序号作为主键,若查询到离线下载任务为相同时,则对离线下载任务的频度信息加1。所述优先级标识生成模块M350用于当频度信息累加时,优先级标识所表示的离线下载的优先级别也相应增加。当优先级别至一阈值时,比如阈值设定为100,则表示该离线下载任务对应的下载文件属于热门文件(即下载优先级高)。
所述离线下载控制装置可进一步包括离线下载服务模块M360,可设置在离线下载服务器集群中,用于在收到优先调度请求后,根据离线下载任务对应的下载链接信息进行离线下载。在下载完成后,将下载文件同步至云存储服务器,将下载文件的哈希值信息传送至离线任务数据库,以及将下载文件的哈希值信息、下载链接、文件大小等信息同步至资源入库服务器。在离线下载过程中,向离线任务调度服务器汇报下载进度和速度信息。在完成离线下载后,为客户端取回下载文件提供服务支持,通过保留的带宽提供用户所需的下载文件。此外,离线下载服务模块M360向离线任务调度服务器提供集群地址、磁盘空间以及CPU负载信息,以使离线任务调度服务器根据离线下载服务器集群的负载进行动态均衡的调度。
所述离线下载控制装置可进一步包括云存储模块M365,可设置在云存储服务器中,用于存储已完成离线下载任务的下载文件,并提供给客户端下载。
所述离线下载控制装置进一步包括:资源入库模块M370,用于对已完成离线下载任务下载文件生成哈希值信息;以及频度信息更新模块M380,用于根据生成的所述哈希值信息及下载链接信息,更新频度信息。
所述资源入库模块M370可设置在资源入库服务器中,用于在离线下载服务器集群完成离线下载之后,接收到离线下载服务器集群发送的下载文件的下载链接和对应下载文件的哈希值信息。所述资源入库模块M370也接收客户端在完成下载新资源文件后提供相应下载链接及下载文件的哈希值信息。资源入库模块M370在接收到下载文件的哈希值信息后,将该信息以及对应的下载链接同步至离线任务服务器,以做进一步处理。
所述离线下载控制装置可进一步包括资源索引存储模块M377,可设置在资源索引数据库中,用于存储基于Http-url、eMule以及BT下载协议的下载链接、与所述下载链接呈映射关系的下载文件的哈希值信息以及下载文件的校验信息。所述资源索引存储模块M377也用于保存下载文件的哈希值信息至多资源集合(即指基于Http-url、eMule以及BT下载协议的下载链接)的下载信息。所述资源索引存储模块M377可以为客户端提供多资源集合查询服务。当新资源的下载链接信息及对应下载文件的哈希值信息的映射记录被上报时,通过资源入库服务器写入所述资源索引录入模块中。
所述频度信息更新模块M380可设置在离线任务调度服务器中,用于根据下载链接信息和哈希值信息,更新频度信息。在本发明较佳实施方式中,所述频度信息更新模块M380可进一步包括频度信息合并单元M385,用于判断不同的下载链接信息是否有对应的相同下载文件,若有则将相同下载文件的离线下载任务进行合并。即,所述频度信息合并单元M385当接收到资源入库服务器同步的下载链接及对应下载文件的哈希值信息后,将不同下载链接对应相同的离线下载任务进行合并,并对离线下载服务器集群发送指令,停止不必要的离线下载任务,删除相关的临时文件,释放离线下载服务器集群的磁盘空间,从而进一步提高调度效率和下载效率。若发现不同的下载链接信息没有相对应的相同下载文件的哈希值信息时,则对基于不同下载协议的离线下载任务进行分类处理。
所述离线下载控制装置进一步包括统计服务模块M390,可设置在统计服务器中,用于统计离线下载过程中及完成离线下载任务后下载文件的各种信息,例如下载速度、下载时间、连通情况、下载结果以及文件大小等,并保存为流水日志,以供进一步分析。
上文中所述的客户端用于在完成离线下载任务后,向统计服务器汇报本次离线下载任务的下载时间、下载速度、下载结果、文件大小、下载链接(包括不同的下载源)以及下载时间。在下载过程中,对完成的数据分片进行校验,若果发现数据分片错误,则向统计服务器上报。客户端可以向离线任务管理服务器提交离线下载任务,同时可查询下载进度信息。对于已完成的离线下载任务,通过P2SP方式取回,其中云端存储服务器作为一种稳定的下载源。对于不能采用多源下载方式的下载文件,在下载完成后获取下载文件的哈希值信息和校验信息,并将其与下载链接一起上报至资源入库服务器。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种离线下载控制方法,其特征在于,应用于服务器系统,包括:
接收离线下载任务请求;
根据所述离线下载任务请求获取相应的下载链接信息;以及
获取离线下载任务的频度信息;根据所述频度信息生成离线下载任务的优先级标识;
获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载;存储已完成离线下载任务的下载文件,并提供给客户端下载;当优先级标识至一阈值时,表示该离线下载任务对应的下载文件属于热门文件;
对已完成离线下载任务的下载文件生成哈希值信息;存储下载链接信息,下载文件的哈希值信息和下载文件的校验信息;根据所述哈希值信息及所述下载链接信息,更新频度信息;
在根据生成的所述哈希值信息及下载链接信息以更新频度信息的步骤中,进一步包括步骤:判断不同的下载链接信息是否对应有相同下载文件,若有,则将相同下载文件的离线下载任务进行合并,并更新相关离线下载任务的频度信息。
2.如权利要求1所述的离线下载控制方法,其特征在于,在获取离线下载任务的频度信息的步骤中,进一步包括步骤:
根据离线下载任务对应下载文件的特征标识进行查询;
根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加。
3.如权利要求1所述的离线下载控制方法,其特征在于,根据所述离线下载任务请求获取相应的下载链接信息的步骤之后,且在所述获取离线下载任务的频度信息的步骤之前,进一步包括步骤:
查询是否存在已完成离线下载任务的下载文件,若有,则提供所述下载文件,否则,分发离线下载任务请求。
4.一种离线下载控制装置,其特征在于,包括:
离线任务管理模块,用于接收离线下载任务请求;
下载链接信息管理模块,用于根据所述离线下载任务请求获取相应的下载链接信息;
频度信息获取模块,用于获取离线下载任务的频度信息;
优先级标识生成模块,用于根据所述频度信息生成离线下载任务的优先级标识;以及
离线任务调度模块,用于获取所述离线下载任务的优先级标识,将优先级标识大于阈值的离线下载任务优先进行调度下载;存储已完成离线下载任务的下载文件,并提供给客户端下载;当优先级标识至一阈值时,表示该离线下载任务对应的下载文件属于热门文件;
资源入库模块,用于对已完成离线下载任务的下载文件生成哈希值信息;存储下载链接信息,下载文件的哈希值信息和下载文件的校验信息;
频度信息更新模块,用于根据所述哈希值信息及所述下载链接信息,更新频度信息;所述频度信息更新模块进一步包括:频度信息合并单元,用于判断不同的下载链接信息是否对应有相同下载文件,若有则将相同下载文件的离线下载任务进行合并,并更新相关离线下载任务的频度信息。
5.如权利要求4所述的一种离线下载控制装置,其特征在于,所述频度信息获取模块进一步包括:
查询单元,用于根据离线下载任务对应下载文件的特征标识进行查询;
统计单元,用于根据查询结果对离线下载任务进行统计,对相同的离线下载任务的频度信息进行累加。
6.如权利要求5所述的一种离线下载控制装置,其特征在于,进一步包括:离线任务查询模块,用于查询是否存在已完成离线下载任务的下载文件,若有,则提供所述下载文件,否则,分发离线下载任务请求。
CN201210438459.0A 2012-11-06 2012-11-06 离线下载控制方法及装置 Active CN103812881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210438459.0A CN103812881B (zh) 2012-11-06 2012-11-06 离线下载控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210438459.0A CN103812881B (zh) 2012-11-06 2012-11-06 离线下载控制方法及装置

Publications (2)

Publication Number Publication Date
CN103812881A CN103812881A (zh) 2014-05-21
CN103812881B true CN103812881B (zh) 2018-06-22

Family

ID=50709081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210438459.0A Active CN103812881B (zh) 2012-11-06 2012-11-06 离线下载控制方法及装置

Country Status (1)

Country Link
CN (1) CN103812881B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731645A (zh) * 2015-03-19 2015-06-24 蔡树彬 一种任务调度方法和装置及数据下载方法和装置
CN105847437B (zh) * 2016-05-26 2022-12-27 北京科技大学 一种数据传输方法
CN106095458B (zh) * 2016-06-20 2018-12-11 腾讯科技(深圳)有限公司 一种应用程序中插件的管理方法和装置
CN106254561B (zh) * 2016-10-12 2019-12-17 上海安馨信息科技有限公司 一种网络资源文件的实时离线下载方法及系统
CN107959928B (zh) * 2016-10-17 2022-04-01 北京奇虎科技有限公司 移动终端中广告数据包的下载方法及下载装置
CN110968456B (zh) * 2018-09-30 2023-05-02 阿里巴巴集团控股有限公司 分布式存储系统中故障磁盘的处理方法及装置
CN109828984B (zh) * 2019-01-11 2021-06-08 北京明略软件系统有限公司 一种分析处理的方法、装置、计算机存储介质及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369280A (zh) * 2008-10-10 2009-02-18 深圳市茁壮网络技术有限公司 一种数字电视终端网页浏览的方法和装置
CN101668046A (zh) * 2009-10-13 2010-03-10 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN101719936A (zh) * 2009-12-09 2010-06-02 成都市华为赛门铁克科技有限公司 提供文件下载服务的方法、装置及缓存系统
CN101873348A (zh) * 2010-06-09 2010-10-27 清华大学 基于网络出口设备的云存储系统及其网络访问方法
CN101902346A (zh) * 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法
CN102238137A (zh) * 2010-04-27 2011-11-09 腾讯科技(深圳)有限公司 一种下载方法、系统和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369280A (zh) * 2008-10-10 2009-02-18 深圳市茁壮网络技术有限公司 一种数字电视终端网页浏览的方法和装置
CN101902346A (zh) * 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法
CN101668046A (zh) * 2009-10-13 2010-03-10 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN101719936A (zh) * 2009-12-09 2010-06-02 成都市华为赛门铁克科技有限公司 提供文件下载服务的方法、装置及缓存系统
CN102238137A (zh) * 2010-04-27 2011-11-09 腾讯科技(深圳)有限公司 一种下载方法、系统和装置
CN101873348A (zh) * 2010-06-09 2010-10-27 清华大学 基于网络出口设备的云存储系统及其网络访问方法

Also Published As

Publication number Publication date
CN103812881A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
CN103812881B (zh) 离线下载控制方法及装置
CN106031130B (zh) 具有边缘代理的内容传送网络架构
CN103731451B (zh) 一种文件上传的方法及系统
CN103108008B (zh) 一种下载文件的方法及文件下载系统
US8402137B2 (en) Content management
CN103812882B (zh) 一种文件传输的方法及系统
US9210235B2 (en) Client side cache management
CA2748688C (en) Multi-source transmission system and method of instant messaging file
US8280958B2 (en) List passing in a background file sharing network
EP2572495B1 (en) System and method for managing data delivery in a peer-to-peer network
US20080133706A1 (en) Mapping File Fragments to File Information and Tagging in a Segmented File Sharing System
CN103139241A (zh) 网络资源文件的离线下载系统和方法
US20180287920A1 (en) Intercepting application traffic monitor and analyzer
CN103220308B (zh) 一种文件下载方法、装置及系统
CN103369002B (zh) 一种资源下载的方法及系统
CN108881354A (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
CN103108009B (zh) 基于离线空间的文件共享方法及装置
Neves dos Santos et al. Cedo: Content-centric dissemination algorithm for delay-tolerant networks
CN103957269A (zh) 点对点p2p网络节点选择方法及点对点p2p重定向服务器
CN103248666A (zh) 一种离线下载资源的系统、方法及装置
CN105872856A (zh) 一种流媒体文件分发方法及系统
CN103457976B (zh) 数据下载方法和系统
CN103248636B (zh) 离线下载的系统及方法
CN103416027B (zh) 缓存优化的方法、缓存器和缓存优化的系统
KR101600717B1 (ko) P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant