CN103257972A - 一种下载任务的处理方法及装置 - Google Patents

一种下载任务的处理方法及装置 Download PDF

Info

Publication number
CN103257972A
CN103257972A CN201210038357XA CN201210038357A CN103257972A CN 103257972 A CN103257972 A CN 103257972A CN 201210038357X A CN201210038357X A CN 201210038357XA CN 201210038357 A CN201210038357 A CN 201210038357A CN 103257972 A CN103257972 A CN 103257972A
Authority
CN
China
Prior art keywords
task
downloaded
download
enabled node
downloading
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
Application number
CN201210038357XA
Other languages
English (en)
Other versions
CN103257972B (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 CN201210038357.XA priority Critical patent/CN103257972B/zh
Publication of CN103257972A publication Critical patent/CN103257972A/zh
Application granted granted Critical
Publication of CN103257972B publication Critical patent/CN103257972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

一种下载任务的处理方法及装置,属于网络通讯技术领域。本发明的技术方案首先,在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;然后,根据下载请求通过保存的所述可用节点启动所述待下载任务。本发明实施例通过对下载任务的预处理,保证了下载任务的及时启动,并且在启动下载任务时可以及时的建立与可用节点的连接,提高了下载任务的启动速度。

Description

一种下载任务的处理方法及装置
技术领域
本发明涉及一种下载任务的处理方法及装置,属于网络通讯技术领域。
背景技术
现有的下载方法为了加快下载任务的速度,一般采用P2S(点对服务器,Peer to Server)或P2P(点对点,Peer to Peer)技术。其中,P2S技术是在任务启动时,先去查询软件后台查询指向同文件的其他下载链接,通过同时访问这些链接进行下载,来达到加速下载启动速度和下载速度的目的;而P2P技术的原理是点对点的数据交换,目前P2P的用户数量非常庞大,同一时刻也会有很多用户都在下载同样的文件,那么P2P就是将这些用户之间建立联系,共享已经下载的部分给他用户,从而提高下载速度。
但是P2S和P2P技术都是在下载任务启动时才开始查找可用节点,查找并与查找到的可用节点建立连接的过程需要耗费很长时间,特别是在多下载任务同时启动时该查找和连接过程更是非常慢,严重影响了下载任务的启动速度。
发明内容
本发明提供了一种下载任务的处理方法及装置,以解决现有技术中下载任务的启动速度慢的问题,为此本发明采用如下的技术方案:
一种下载任务的处理方法,包括:
在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;
根据下载请求通过保存的所述可用节点启动所述待下载任务。
一种下载任务的处理装置,所述装置为终端或服务器,包括:
获取保存模块,用于在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;
下载任务启动模块,用于根据下载请求通过保存的所述可用节点启动所述待下载任务。
本发明实施方式提供的技术方案将通过对下载任务的预处理,保证了下载任务的及时启动,并且在启动下载任务时可以及时的建立与可用节点的连接,提高了下载任务的启动速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述的一种下载任务的处理方法的流程示意图;
图2是本发明所述的预获取下载任务加速信息的基本流程示意图;
图3是本发明所述的加入预或之后,并且预查询成功时的下载任务启动流程示意图;
图4是本发明所述的采用P2S技术与P2P技术混合的下载方式的流程示意图;
图5是本发明所述的一种下载任务的处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施方式提供的一种下载任务的处理方法,包括获在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;根据下载请求通过保存的所述可用节点启动所述待下载任务。由于现有的下载方式无论采用P2S技术还是P2P技术,都存在任务启动时间较长的问题,因此本实施方式采用一种P2S与P2P混合的下载技术。首先,由于P2S技术能够加快启动时间,但是为了加入这个部分就需要搭建很庞大的后台,先将网络上所有的文件爬到后台服务器上,这需要一个较为长期的过程,才能建立起一套较为可用的P2S后台,而且建立连接是一个较为耗时的过程。因此本实施方式通过预获取P2S的加速资源,来减少这一段的时间,同时结合P2P技术,进一步减少下载任务的启动时间,下面结合说明书附图对本实施方式作具体说明,如图1所示,相应的下载任务的处理方法包括:
步骤11、在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点。
由于P2S技术是一种虽然投入很大,但却能非常大幅度加速下载的方法。其查询任务加速信息的时间,则依赖于当前的网络状态和下载软件后台的压力,如果这两个状态有一个不好,那么将会非常费时。而且如果当前任务没有加速资源时,还会造成对启动时间的浪费。因此本实施方式通过预获取P2S的加速资源,来减少这一段的时间。预获取下载任务加速信息的基本流程如图2所示,在任务开始前,就先从后台查询好任务的相关信息,比如当前可用的下载节点,其他可用的下载地址等等。
具体的,首先,在启动当前任务前,可以设定预定的规则,例如操作系统启动后自动启动下载程序,或者当用户启动下载软件后即使没有启动下载任务也对下载任务进行相应的处理。具体的处理可以包括:利用爬虫将网络上的文件下载到服务器并保存,并且计算每个文件的哈希Hash值,然后,建立具有相同Hash值的文件与不同下载链接的映射关系,并将相应的映射关系保存在本地。这样就完成了在P2S阶段对下载文件的处理,由于已经完成了对不同下载链接的映射关系的建立,使用户在启动下载任务时,可以直接通过映射关系中的下载链接下载相应的文件。对建立的映射关系可以建立相应的数据库进行管理,例如已建立的数据库可以如下表所示:
Figure BDA0000136927020000031
作为可选的,可以通过已建立的数据库获取待下载任务中的下载地址对应的其它下载链接,并通过所述下载链接筛选出可用节点,所述可用节点的下载链接为连接状态。一般适用于P2S技术。
作为可选的,若与正在下载任务连接的节点中存在与待下载任务文件的哈希Hash值相同的文件,则确定所述与正在下载任务连接的节点为待下载任务中的下载地址对应的可用节点。例如,下载任务ID为1的任务正在下载,待下载的任务ID为2,则查询与该下载任务1连接的节点中是否存在下载任务2对应文件Hash值相同的文件,若是,则确定与该下载任务1连接的节点为下载任务2的可用节点。一般适用于P2P技术,由于P2P技术需要对大量节点进行筛选,所以采用上述方法可以免去筛选节点的开销。
进一步,若查询到保存的可用节点连接中断,则删除该保存的可用节点。避免了该待下载任务启动时的连接造成网络资源的损耗。
作为可选的,如果当前有任务正在进行中,那么就可以应用小世界理论,从当前已经连接上的节点中查询其是否有本地未开始的任务的数据,如果有则将其记录下来。在任务启动时,通过这张表查询到当前可用的链接或节点,连接这些节点开始下载。而由于预查询的节点都是可用节点,那么当前用来连接的节点也都是可用节点,从而免去预查询需要筛选节点的开销。
步骤12、根据下载请求通过保存的所述可用节点启动所述待下载任务。
具体地,当终端开启该待下载任务时,即时的通过保存的所述可用节点开始下载所述待下载任务对应文件,其流程如图3所示。由于现有的P2S技术为了保证下载速度,需要先去查询软件后台查询指向同文件的其它下载链接,通过同时访问这些链接进行下载,来达到加速下载启动速度和下载速度的目的;而如果单独使用P2P技术,则需要花费大量时间寻找可用的下载节点,导致下载任务的平均下载时间大幅增长。通过步骤11的处理后,已经建立了与下载链接的映射关系,则能够保障下载任务刚开始时获得较快的下载速度。在下载刚开始的一段时间,可以结合P2P技术进一步提高下载速度,具体的下载流程如图4所示:下载任务开始时,向后台查询当前指向同文件的其他下载链接和包含同文件的节点,虽然下载任务刚开始时能够获得较快的下载速度,但随着下载的进行,下载速度会不同程度的下降,可以选择在下载任务刚开始至下载速度下降至初始速度的80%的时间内,通过P2P技术及Hash算法查找可用的P2P节点,并将可用的P2P节点作为可用的下载资源添加到下载任务中,下载过程中向可用的P2P节点请求数据,从而进一步提高下载速度,这样就实现了P2S技术与P2P技术的结合,不仅省略了在下载任务开始时查询可用节点的步骤,而且大幅减少了任务启动的时间。
上述方法还可以包括:步骤11是在终端开机时开始启动;或者,步骤11是在下载过程中存在待下载任务时开始启动。即上述一种下载任务的处理方法是在终端开机时启动,或在有待下载任务时启动。
一般除了开机自动启动,用户启动下载软件的目的就是为了下载程序,所以,可以在下载程序启动之后,马上开始预查询当前存在的下载任务的信息。如果此时需要下载的任务大于正在进行下载的任务,那么可以在任务下载中,预查询当前正在等待或者未开始的任务信息。由于在这种情况下很可能是多任务同时下载,所以当一个任务完成,另一个任务启动时才开始查询任务信息,那查询将会变得很慢,严重影响任务启动时间。此时在任务下载中预查询好任务信息,将会对减少任务启动时间更有帮助。
如果资源允许,在客户端中,可以将当前未开始的任务上传到服务器中,利用服务器的资源进行节点的筛选和处理。而当任务开始时,可以直接从服务器上获取已经整理好的所有信息,这样也可以加快任务启动的时间。
另外,由于除了P2P下载节点以外,其他加速资源如P2S,在网络上变化都不那么频繁,所以如果资源允许,也可以在任务停止或程序退出的时候,将任务的加速信息保存在本地,在下次启动的时候,直接使用来进行下载加速。
本发明的具体实施方式还提供了一种下载任务的处理装置,该装置可以为终端或服务器,如图5所示,包括:
获取保存模块51,用于在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点。
作为可选的,可以通过已建立的数据库获取待下载任务中的下载地址对应的其它下载链接,并通过所述下载链接筛选出可用节点,所述可用节点的下载链接为连接状态。
具体地,已建立的数据库,首先,利用爬虫将网络上的文件下载到服务器并保存,并且计算每个文件的哈希Hash,然后,建立具有相同Hash值的文件与不同下载链接的映射关系。例如已建立的数据库可以如下表所示:
Figure BDA0000136927020000051
作为可选的,若与正在下载任务连接的节点中存在与待下载任务文件的哈希Hash值相同的文件,则确定所述与正在下载任务连接的节点为待下载任务中的下载地址对应的可用节点。例如,下载任务ID为1的任务正在下载,待下载的任务ID为2,则查询与该下载任务1连接的节点中是否存在下载任务2对应文件Hash值相同的文件,若是,则确定与该下载任务1连接的节点为下载任务2的可用节点。
进一步,若查询到保存的可用节点连接中断,则删除该保存的可用节点。避免了该待下载任务启动时的连接造成网络资源的损耗。
下载任务启动模块52,用于根据下载请求通过保存的所述可用节点启动所述待下载任务。
具体地,当终端开启该待下载任务时,即时的通过保存的所述可用节点开始下载所述待下载任务对应文件。
上述方法还可以包括启动模块,用于在终端开机时启动所述获取保存模块41;或者,用于在有待下载任务时启动所述获取保存模块41。即上述一种下载任务的处理装置是在终端开机时启动,或在下载过程中存在待下载任务时启动。
上述装置中包含的各模块的处理功能的具体实现方式在之前的方法实施例中已经描述,在此不再重复描述。
值得注意的是,上述装置实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本发明实施例所述的一种下载任务的处理方法及装置,通过对下载任务的预处理,保证了下载任务的及时启动,并且在启动下载任务时可以及时的建立与可用节点的连接,提高了下载任务的启动速度。同时通过实时的删除该保存的但已连接中断的可用节点可以避免待下载任务启动时的连接造成网络资源的损耗。本发明实施例尤其适用于待下载任务多于正在下载任务时,以便当待下载任务开始时可以及时的建立连接进行下载。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种下载任务的处理方法,其特征在于,包括:
在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;
根据下载请求通过保存的所述可用节点启动所述待下载任务。
2.根据权利要求1所述的方法,其特征在于,所述获取待下载任务中的下载地址对应的可用节点,包括:
通过已建立的数据库获取待下载任务中的下载地址对应的其它下载链接,并通过所述下载链接筛选出可用节点,所述可用节点的下载链接为连接状态。
3.根据权利要求2所述的方法,其特征在于,所述已建立的数据库,包括:
利用爬虫将网络上的文件下载到服务器并保存,并且计算每个文件的哈希值,建立具有相同哈希值的文件与不同下载链接的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述获取待下载任务中的下载地址对应的可用节点,包括:
若与正在下载任务连接的节点中存在与待下载任务文件的哈希值相同的文件,则确定所述与正在下载任务连接的节点为待下载任务中的下载地址对应的可用节点。
5.根据权利要求1-4任一项所述的方法,其特征在于,该方法还包括:
所述获取待下载任务中的下载地址对应的可用节点的启动是在终端开机时;或者,所述获取待下载任务中的下载地址对应的可用节点的启动是在下载过程中存在下载任务时。
6.一种下载任务的处理装置,所述装置为终端或服务器,其特征在于,包括:
获取保存模块,用于在启动现在任务前,获取待所述下载任务中的下载地址对应的可用节点,并保存所述可用节点;
下载任务启动模块,用于根据下载请求通过保存的所述可用节点启动所述待下载任务。
7.根据权利要求6所述的装置,其特征在于,所述获取保存模块,用于通过已建立的数据库获取待下载任务中的下载地址对应的其它下载链接,并通过所述下载链接筛选出可用节点,所述可用节点的下载链接为连接状态。
8.根据权利要求7所述的装置,其特征在于,所述获取保存模块中所述已建立的数据库,包括:
利用爬虫将网络上的文件下载到服务器并保存,并且计算每个文件的哈希值,建立具有相同哈希值的文件与不同下载链接的映射关系。
9.根据权利要求6所述的装置,其特征在于,所述获取保存模块,用于若与正在下载任务连接的节点中存在与待下载任务文件的哈希值相同的文件,则确定所述与正在下载任务连接的节点为待下载任务中的下载地址对应的可用节点。
10.根据权利要求6-9任一项所述的装置,其特征在于,还包括:
启动模块,用于在终端开机时启动所述获取保存模块;或者,用于在下载过程中存在待下载任务时启动所述获取保存模块。
CN201210038357.XA 2012-02-20 2012-02-20 一种下载任务的处理方法及装置 Active CN103257972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210038357.XA CN103257972B (zh) 2012-02-20 2012-02-20 一种下载任务的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210038357.XA CN103257972B (zh) 2012-02-20 2012-02-20 一种下载任务的处理方法及装置

Publications (2)

Publication Number Publication Date
CN103257972A true CN103257972A (zh) 2013-08-21
CN103257972B CN103257972B (zh) 2017-12-15

Family

ID=48961901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210038357.XA Active CN103257972B (zh) 2012-02-20 2012-02-20 一种下载任务的处理方法及装置

Country Status (1)

Country Link
CN (1) CN103257972B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373428A (zh) * 2015-12-09 2016-03-02 北京奇虎科技有限公司 一种任务调度方法和系统
CN113766022A (zh) * 2021-09-03 2021-12-07 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质
CN113766022B (zh) * 2021-09-03 2024-05-14 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852101A (zh) * 2005-08-10 2006-10-25 华为技术有限公司 一种并行下载方法和终端
US20090006538A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Automatic Distributed Downloading
CN101764807A (zh) * 2009-12-16 2010-06-30 北京邮电大学 基于元搜索引擎的多源下载互联网资源的装置及方法
CN102185920A (zh) * 2011-05-10 2011-09-14 奇智软件(北京)有限公司 基于网络的下载方法和系统、终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852101A (zh) * 2005-08-10 2006-10-25 华为技术有限公司 一种并行下载方法和终端
US20090006538A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Automatic Distributed Downloading
CN101764807A (zh) * 2009-12-16 2010-06-30 北京邮电大学 基于元搜索引擎的多源下载互联网资源的装置及方法
CN102185920A (zh) * 2011-05-10 2011-09-14 奇智软件(北京)有限公司 基于网络的下载方法和系统、终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
博客园: "[缓存]迅雷下载的原理——P2SP加速技术", 《HTTP://WWW.CNBLOGS.COM/ERWIN/ARCHIVE/2009/07/24/1529809.HTML》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373428A (zh) * 2015-12-09 2016-03-02 北京奇虎科技有限公司 一种任务调度方法和系统
CN105373428B (zh) * 2015-12-09 2020-02-11 北京奇虎科技有限公司 一种任务调度方法和系统
CN113766022A (zh) * 2021-09-03 2021-12-07 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质
CN113766022B (zh) * 2021-09-03 2024-05-14 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN103257972B (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN109614226B (zh) 一种基于Kubernetes的有状态应用存储管理方法
CN110913015B (zh) 一种云手机app的分布式快捷安装方法、系统及介质
CN104488248B (zh) 一种文件同步方法、服务器及终端
WO2015117426A1 (zh) 文件管理方法及装置
CN102404387B (zh) 一种用于与其他节点进行信息同步的方法、装置和设备
CN106302632A (zh) 一种基础镜像的下载方法以及管理节点
CN103916479A (zh) 一种基于工作组文件的云同步局域网加速系统
CN101753404A (zh) 网络资源的下载方法
US20130297703A1 (en) Peer node and method for improved peer node selection
CN101984406A (zh) 一种通过无线局域网对终端进行升级的方法和系统
CN108259218B (zh) 一种ip地址分配方法和装置
CN104618136B (zh) 用于刀片服务器的配置管理方法和装置
CN102664938A (zh) 一种资源下载控制方法及装置
CN104935668A (zh) 分布式文件系统及其数据同步的方法
CN105447110A (zh) 一种数据库集群批量快速加载数据的方法及加载系统
CN103312489A (zh) 一种终端与服务器进行同步的方法和装置
CN112783646A (zh) 有状态应用容器化部署方法及装置
CN103546572A (zh) 一种云存储装置以及多云存储联网系统和方法
CN110990415A (zh) 数据处理方法、装置、电子设备及存储介质
CN109710586A (zh) 一种集群节点配置文件同步方法及装置
CN102790806B (zh) 一种基于http协议下载课件的方法及装置
CN103369002A (zh) 一种资源下载的方法及系统
CN110602232A (zh) 基于对等网络思想的终端系统版本下载方法、装置及系统
CN103257972A (zh) 一种下载任务的处理方法及装置
CN109240982B (zh) 文件分发方法及系统及存储介质

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