基于模板的多任务异步下载方法、系统、设备及介质技术方案

技术编号:38546575 阅读:7 留言:0更新日期:2023-08-22 20:55
本发明专利技术提出了基于模板的多任务异步下载方法、系统、设备及介质,涉及程序开发技术领域;该方法包括:根据下载需求建立与下载需求对应的下载模板,根据下载模板建立相应的下载任务,将下载任务与历史下载记录进行匹配,若匹配结果为不存在相同任务,将下载任务切割分配为多个子任务;获取每个子任务中需求数据的下载状态和下载进度,当状态进度为下载完成时,根据需求数据和需求数据的大小生成预置文件类型的目标文件;解决了目前因为一个字段结果就需要修改代码进行重新上线和费时费力的问题,同时当多个用户在进行大数据量下载时,减少了当前下载系统的耗费时间,提升了用户的下载体验、提高了便捷性。提高了便捷性。提高了便捷性。

【技术实现步骤摘要】
基于模板的多任务异步下载方法、系统、设备及介质


[0001]本专利技术涉及程序开发
,具体而言,涉及基于模板的多任务异步下载方法、系统、设备及介质。

技术介绍

[0002]随着业务场景不断的变化,系统数据量的持续增加,业务数据的下载需求也随之发生变化,并产生了对数据下载条件以及结果的多样性的要求,使下载条件及结果不断发生变化,导致往往因为一个字段结果就需要修改代码重新进行上线,此种方式费时费力,造成了时间和人力成本的浪费;此外多个用户同时进行大量数据下载时,当前系统的耗费时间比较久,多任务同时下载时容易导致宕机,进而影响系统其他功能的使用,给用户带来很大不便。

技术实现思路

[0003]本专利技术的目的在于提供基于模板的多任务异步下载方法、系统、设备及介质,以解决上述
技术介绍
中存在的问题。
[0004]本专利技术的实施例是这样实现的:第一方面,本申请实施例提供了基于模板的多任务异步下载方法,包括以下步骤:S1,获取用户的下载需求,建立与下载需求对应的下载模板;S2,根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;S3,遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历史下载记录中是否存在与下载任务相同的历史下载任务;S4,若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;S5,获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;S6,当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
[0005]本专利技术的有益效果是:解决了目前因为一个字段结果就需要修改代码进行重新上线和费时费力的问题,在时间上和人力成本上得到了节省;同时当多个用户在进行大数据量下载时,减少了当前下载系统的耗费时间,保证了当多任务同时下载时过程流畅、也避免了宕机,也不会影响下载系统其他功能的使用,提升了用户的下载体验、提高了便捷性。
[0006]在上述技术方案的基础上,本专利技术还可以做如下改进。
[0007]进一步,上述历史下载记录包括本地记录和好友记录;本地记录表征了用户自身以往的下载记录;好友记录表征了用户的好友列表中所有好友以往的下载记录。
[0008]采用上述进一步方案的有益效果是:在本地记录和好友记录中进行匹配查询,如果查询到存在相同并已经执行完成的任务,则在查询出的记录中直接下载,由此提高下载效率、降低服务器压力、以及减小数据库压力。
[0009]进一步,上述S5还包括,根据每个子任务中需求数据的下载状态和下载进度,得到每个子任务中需求数据的数据条数;根据每个子任务的数据条数,计算得到每个子任务的完成时间,并将所有子任务中最大的一个完成时间确定为下载任务的下载时间。
[0010]采用上述进一步方案的有益效果是:这样的好处是便于用户了解下载任务所需的时间。
[0011]进一步,上述将下载任务切割分配成子任务的数量通过影响因素确定,影响因素包括当前下载系统的配置参数、当前下载系统的下载队列、当前下载系统的服务器状态和下载队列的数据量中的至少一项。
[0012]进一步,上述对于下载任务中的多个子任务,每个子任务分别对应一条下载线程,并根据每个子任务对应的下载线程,得到每个子任务中需求数据的下载状态和下载进度。
[0013]采用上述进一步方案的有益效果是:一方面,使每个子任务单独的执行、互不影响,另一方面,便于分别计算每个线程的下载状态和下载进度,以获得下载任务的下载时间。
[0014]进一步,上述步骤S4之后还包括,获取用户的加速需求,判断下载系统的服务器状态和下载线程的执行状态是否满足预设条件;若满足预设条件,则将配置参数扩增到最大任务数,以实现下载任务的加速,其中,最大任务数表征了当前下载系统能够同时执行子任务的数量;若不满足预设条件,则按照获取加速需求前的速度继续执行每个子任务。
[0015]采用上述进一步方案的有益效果是:在满足预设条件时,可以提升每个子任务的下载速度,从而提升整个下载任务的下载速度,节省下载任务的执行时间。
[0016]进一步,上述步骤S4之后还包括,获取用户终止下载任务的取消指令,并将与取消指令对应的下载任务进行保存。
[0017]采用上述进一步方案的有益效果是:为后续的下载提供便利,以提高后续下载的下载效率、降低服务器压力、以及减小数据库压力。
[0018]第二方面,本申请实施例提供了基于模板的多任务异步下载系统,包括:获取模块,用于获取用户的下载需求,根据下载需求建立与下载需求对应的下载模板;创建模块,用于根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;匹配模块,用于遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历
史下载记录中是否存在与下载任务相同的历史下载任务;执行模块,用于若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;进度模块,用于获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;文件生成模块,用于当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
[0019]第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面中任一项的方法。
[0020]第四方面,本申请实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面中任一项的方法。
附图说明
[0021]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0022]图1为本专利技术实施例中下载方法的方法流程图;图2为本专利技术实施例中下载系统的连接框图;图3为本专利技术实施例中电子设备的连接示意图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于模板的多任务异步下载方法,其特征在于,包括以下步骤:S1,获取用户的下载需求,建立与所述下载需求对应的下载模板;S2,根据所述下载模板建立相应的下载任务,所述下载模板中存储有表示所述下载任务完成下载的数据结果集和下载任务中下载数据的数据源;S3,遍历历史下载记录,将所述下载任务与所述历史下载记录进行比对,判断所述历史下载记录中是否存在与所述下载任务相同的历史下载任务;S4,若所述历史下载记录中存在与所述下载任务相同的历史下载任务,则从所述历史下载记录中将与所述下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若所述历史下载记录中不存在与所述下载任务相同的历史下载任务,则将所述下载任务切割分配为多个子任务,并从数据源中下载与每个所述子任务对应的需求数据;S5,获取每个所述子任务中需求数据的下载状态和下载进度,并根据所述数据结果集、下载状态和下载进度,判断所述下载任务的状态进度,所述状态进度包括下载完成和下载未完成;S6,当所述状态进度为下载未完成时,继续执行下载未完成的所述子任务,直至所述状态进度为下载完成;当所述状态进度为下载完成时,根据所述需求数据和所述需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。2.根据权利要求1所述的基于模板的多任务异步下载方法,其特征在于,所述历史下载记录包括本地记录和好友记录;所述本地记录表征了用户自身以往的下载记录;所述好友记录表征了用户的好友列表中所有好友以往的下载记录。3.根据权利要求2所述的基于模板的多任务异步下载方法,其特征在于,所述S5还包括,根据每个所述子任务中需求数据的下载状态和下载进度,得到每个所述子任务中需求数据的数据条数;根据每个所述子任务中需求数据的数据条数,计算得到每个所述子任务的完成时间,并将所有所述子任务中最大的一个完成时间确定为所述下载任务的下载时间。4.根据权利要求3所述的基于模板的多任务异步下载方法,其特征在于,将所述下载任务切割分配成子任务的数量由影响因素确定,所述影响因素包括当前下载系统的配置参数、当前下载系统的下载队列、当前下载系统的服务器状态和下载队列的数据量中的至少一项。5.根据权利要求4所述的基于模板的多任务异步下载方法,其特征在于,对于所述下载任务中的多个子任务,每个所述子任务分别对应一条下载线程,并根据每个所述子任务对应的下载线程,得到每个所述子任务中需求数据的下载状态和下载进度。6.根据...

【专利技术属性】
技术研发人员:武祥安许雯郝晓亮
申请(专利权)人:北京海科融通支付服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1