CN116614551B - 基于模板的多任务异步下载方法、系统、设备及介质 - Google Patents
基于模板的多任务异步下载方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116614551B CN116614551B CN202310868148.6A CN202310868148A CN116614551B CN 116614551 B CN116614551 B CN 116614551B CN 202310868148 A CN202310868148 A CN 202310868148A CN 116614551 B CN116614551 B CN 116614551B
- Authority
- CN
- China
- Prior art keywords
- downloading
- task
- data
- record
- download
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出了基于模板的多任务异步下载方法、系统、设备及介质,涉及程序开发技术领域;该方法包括:根据下载需求建立与下载需求对应的下载模板,根据下载模板建立相应的下载任务,将下载任务与历史下载记录进行匹配,若匹配结果为不存在相同任务,将下载任务切割分配为多个子任务;获取每个子任务中需求数据的下载状态和下载进度,当状态进度为下载完成时,根据需求数据和需求数据的大小生成预置文件类型的目标文件;解决了目前因为一个字段结果就需要修改代码进行重新上线和费时费力的问题,同时当多个用户在进行大数据量下载时,减少了当前下载系统的耗费时间,提升了用户的下载体验、提高了便捷性。
Description
技术领域
本发明涉及程序开发技术领域,具体而言,涉及基于模板的多任务异步下载方法、系统、设备及介质。
背景技术
随着业务场景不断的变化,系统数据量的持续增加,业务数据的下载需求也随之发生变化,并产生了对数据下载条件以及结果的多样性的要求,使下载条件及结果不断发生变化,导致往往因为一个字段结果就需要修改代码重新进行上线,此种方式费时费力,造成了时间和人力成本的浪费;此外多个用户同时进行大量数据下载时,当前系统的耗费时间比较久,多任务同时下载时容易导致宕机,进而影响系统其他功能的使用,给用户带来很大不便。
发明内容
本发明的目的在于提供基于模板的多任务异步下载方法、系统、设备及介质,以解决上述背景技术中存在的问题。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供了基于模板的多任务异步下载方法,包括以下步骤:
S1,获取用户的下载需求,建立与下载需求对应的下载模板;
S2,根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
S3,遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历史下载记录中是否存在与下载任务相同的历史下载任务;
S4,若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;
S5,获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;
S6,当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
本发明的有益效果是:解决了目前因为一个字段结果就需要修改代码进行重新上线和费时费力的问题,在时间上和人力成本上得到了节省;同时当多个用户在进行大数据量下载时,减少了当前下载系统的耗费时间,保证了当多任务同时下载时过程流畅、也避免了宕机,也不会影响下载系统其他功能的使用,提升了用户的下载体验、提高了便捷性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,上述历史下载记录包括本地记录和好友记录;
本地记录表征了用户自身以往的下载记录;好友记录表征了用户的好友列表中所有好友以往的下载记录。
采用上述进一步方案的有益效果是:在本地记录和好友记录中进行匹配查询,如果查询到存在相同并已经执行完成的任务,则在查询出的记录中直接下载,由此提高下载效率、降低服务器压力、以及减小数据库压力。
进一步,上述S5还包括,
根据每个子任务中需求数据的下载状态和下载进度,得到每个子任务中需求数据的数据条数;
根据每个子任务的数据条数,计算得到每个子任务的完成时间,并将所有子任务中最大的一个完成时间确定为下载任务的下载时间。
采用上述进一步方案的有益效果是:这样的好处是便于用户了解下载任务所需的时间。
进一步,上述将下载任务切割分配成子任务的数量通过影响因素确定,影响因素包括当前下载系统的配置参数、当前下载系统的下载队列、当前下载系统的服务器状态和下载队列的数据量中的至少一项。
进一步,上述对于下载任务中的多个子任务,每个子任务分别对应一条下载线程,并根据每个子任务对应的下载线程,得到每个子任务中需求数据的下载状态和下载进度。
采用上述进一步方案的有益效果是:一方面,使每个子任务单独的执行、互不影响,另一方面,便于分别计算每个线程的下载状态和下载进度,以获得下载任务的下载时间。
进一步,上述步骤S4之后还包括,
获取用户的加速需求,判断下载系统的服务器状态和下载线程的执行状态是否满足预设条件;
若满足预设条件,则将配置参数扩增到最大任务数,以实现下载任务的加速,其中,最大任务数表征了当前下载系统能够同时执行子任务的数量;若不满足预设条件,则按照获取加速需求前的速度继续执行每个子任务。
采用上述进一步方案的有益效果是:在满足预设条件时,可以提升每个子任务的下载速度,从而提升整个下载任务的下载速度,节省下载任务的执行时间。
进一步,上述步骤S4之后还包括,
获取用户终止下载任务的取消指令,并将与取消指令对应的下载任务进行保存。
采用上述进一步方案的有益效果是:为后续的下载提供便利,以提高后续下载的下载效率、降低服务器压力、以及减小数据库压力。
第二方面,本申请实施例提供了基于模板的多任务异步下载系统,包括:
获取模块,用于获取用户的下载需求,根据下载需求建立与下载需求对应的下载模板;
创建模块,用于根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
匹配模块,用于遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历史下载记录中是否存在与下载任务相同的历史下载任务;
执行模块,用于若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;
进度模块,用于获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;
文件生成模块,用于当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面中任一项的方法。
第四方面,本申请实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面中任一项的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中下载方法的方法流程图;
图2为本发明实施例中下载系统的连接框图;
图3为本发明实施例中电子设备的连接示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
实施例
第一方面,本申请实施例提供了基于模板的多任务异步下载方法,包括以下步骤:
S1,获取用户的下载需求,建立与下载需求对应的下载模板;
其中,用户在具有下载需求时,是基于下载系统来实现的,通过下载系统以及在下载系统上实施申请中的下载方式,以实现用户的下载需求并最终达到获取与下载需求最终的文件的目的。
具体地,下载模板主要是为需下载的数据提供查询基础,将需下载的数据与数据源的数据字段建立关系,并且在下载模板中也为需下载的数据提供结果字段信息,确定需下载的数据的执行条件、数据结果集、数据源提供方和数据源等。
S2,根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
其中,在下载模板创建完成后,根据下载需求来在下载系统中建立相应的下载任务,下载任务是下载系统根据下载模板来执行的程序,在执行完成后,以获得与下载需求对应的数据或文件;具体地,下载模板表征了下载任务的数据结果集(下载完成的条件)和数据源,还确定了下载任务的执行条件和数据源提供方。
S3,遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历史下载记录中是否存在与下载任务相同的历史下载任务;
其中,在下载任务建立完成后,首先从下载记录中查询,判断是否存在相同并已经执行完成的任务,如果查询到存在相同并已经执行完成的任务,则在查询出的下载记录中直接下载,从而来提高下载效率、降低服务器压力、以及减小数据库压力。
可选的,上述历史下载记录包括本地记录和好友记录;
本地记录表征了用户自身以往的下载记录;好友记录表征了用户的好友列表中所有好友以往的下载记录。
其中,历史下载记录是包括本地记录和好友记录,具体地,在当前的下载系统中,除了本地的下载记录,下载系统中还具有好友列表,并且下载系统中保存着好友列表中所有用户的下载记录;因此,在历史下载记录中对下载任务进行匹配查询时,即在本地记录和好友记录中进行匹配查询,如果查询到存在相同并已经执行完成的任务,则在查询出的记录中直接下载,由此提高下载效率、降低服务器压力、以及减小数据库压力。
S4,若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;
其中,通过在本地记录和好友记录对对下载任务进行匹配查询后,则获得匹配结果,匹配结果可以包括存在相同任务和不存在相同任务,当为存在相同任务时,即从历史下载记录中将与下载任务相同的任务进行下载即刻,以完成本次的下载需求,而为不存在相同任务时,即需要由下载源下载相应的数据。
可选的,上述将下载任务切割分配成子任务的数量通过影响因素确定,影响因素包括当前下载系统的配置参数、当前下载系统的下载队列、当前下载系统的服务器状态和下载队列的数据量中的至少一项。
其中,在下载任务建立完成对下载任务进行切割分配成子任务时,可以根据当前下载系统配置参数、当前下载任务的队列大小、当前下载任务的数据量大小和当前服务节点的服务器系统情况等,可以根据以上情况判断创建多少个子任务;需要说明的是,当下载任务出现异常时,则会进行二次重试,如果仍然失败,则取消当前的下载任务,返回且前的下载任务失败。
可选的,上述对于下载任务中的多个子任务,每个子任务分别对应一条下载线程,并根据每个子任务对应的下载线程,得到每个子任务中需求数据的下载状态和下载进度。
其中,根据上述情况判断并创建相应数量的子任务后,每个子任务在执行时分别对应一条单独的线程,一方面,使每个子任务单独的执行、互不影响,另一方面,便于分别计算每个线程的下载状态和下载进度,以获得下载任务的下载时间。
可选的,上述步骤S4之后还可以包括,
获取用户的加速需求,判断下载系统的服务器状态和下载线程的执行状态是否满足预设条件;
若满足预设条件,则将配置参数扩增到最大任务数,以实现下载任务的加速,其中,最大任务数表征了当前下载系统能够同时执行子任务的数量;若不满足预设条件,则按照获取加速需求前的速度继续执行每个子任务。
其中,当用户下载时觉得下载执行速度缓慢、下载进度缓慢时,则可以选择下载加速,加速指令出发后,下载系统会找到当前执行每个子任务的服务节点,并且通过下载任务的编号找到下载任务,通过计算当前下载系统服务器的内存使用情况、线程执行情况和占用情况进行判断,是否准许开启下载加速,如果准许开启下载加速,则将该下载任务的子任务扩增到下载配置里面配置的最大任务数,如果判断不允许则拒绝下载加速的请求。
具体地,下载执行队列(下载队列)是指下载系统允许执行的最大下载任务数量(最大任务数);例如,系统队列中目前有100个任务,但下载队列的长度为10,则可以同时执行10个子任务,其余90个任务在等待执行。
可选的,上述步骤S4之后还可以包括,
获取用户终止下载任务的取消指令,并将与取消指令对应的下载任务进行保存。
其中,当每个下载任务执行完成后,不仅需要将与执行完成的下载任务对应的目标文件进行存储,在下载任务执行过程中取消时,还需要对取消的下载任务进行保存,这样的好处是可以增加下载记录的数据量,为后续的下载提供便利,以提高后续下载的下载效率、降低服务器压力、以及减小数据库压力。
具体地,取消的下载任务和完成的下载任务可以通过回收站来存储,回收站主要用于存储用户取消的下载任务和前一月已完成的下载任务,下载系统可以定时任务自动触发,查找一个月前下载完成的下载任务数据移入到回收站中列表中,这样可以供用户二次使用,同时也减少了下载列表中的数据;用户取消的下载任务可以二次唤起,通过下载系统获取回收站的数据,将回收站的任务数据移动到下载任务的列表中进行重新进行下载,更加方便用户快速的创建好下载任务,更便捷的下载数据。
S5,获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;
其中,在每个子任务的执行过程中,通过获得每个子任务的下载状态和进度,从而获得下载任务的状态和进度,状态进度包括下载完成和下载未完成,并且可以看到下载需要的时长。
可选的,上述S5还包括,
根据每个子任务中需求数据的下载状态和下载进度,得到每个子任务中需求数据的数据条数;
根据每个子任务的数据条数,计算得到每个子任务的完成时间,并将所有子任务中最大的一个完成时间确定为下载任务的下载时间。
其中,每个子任务在执行时都是从数据源中获取相关的数据,根据子任务的详情可以得到每个子任务中需求数据的数据条数,由此可以获得每个子任务的完成时间。
具体地,每个子任务的完成时间可以通过以下方式计算,即:完成时间=选择推荐字段预估时间或未选择推荐字段预估时间*数据条数/10000,其中,选择推荐字段预估时间或未选择推荐字段预估时间为已知。
S6,当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
具体地,状态进度为下载完成时,则生成与下载需要对应的目标文件,并完成本次下载任务的执行;其中,预置文件类型可以包括xls格式、xlsx格式和csv格式三种,下载系统根据用户下载数据量(需求数据)的大小来进行判断生成哪种文件更为合适,同时用户也可以通过下载系统自行选择核实的文件类型。
第二方面,本申请实施例提供了基于模板的多任务异步下载系统,包括:
获取模块,用于获取用户的下载需求,根据下载需求建立与下载需求对应的下载模板;
获取模块,用于获取用户的下载需求,根据下载需求建立与下载需求对应的下载模板;
创建模块,用于根据下载模板建立相应的下载任务,下载模板中存储有表示下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
匹配模块,用于遍历历史下载记录,将下载任务与历史下载记录进行比对,判断历史下载记录中是否存在与下载任务相同的历史下载任务;
执行模块,用于若历史下载记录中存在与下载任务相同的历史下载任务,则从历史下载记录中将与下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若历史下载记录中不存在与下载任务相同的历史下载任务,则将下载任务切割分配为多个子任务,并从数据源中下载与每个子任务对应的需求数据;
进度模块,用于获取每个子任务中需求数据的下载状态和下载进度,并根据数据结果集、下载状态和下载进度,判断下载任务的状态进度,状态进度包括下载完成和下载未完成;
可选的,所述进度模块可以包括:
进度子模块,用于根据每个子任务中需求数据的下载状态和下载进度,得到每个子任务中需求数据的数据条数;
时间子模块,用于根据每个子任务的数据条数,计算得到每个子任务的完成时间,并将所有子任务中最大的一个完成时间确定为下载任务的下载时间。
文件生成模块,用于当状态进度为下载未完成时,继续执行下载未完成的子任务,直至状态进度为下载完成;当状态进度为下载完成时,根据需求数据和需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
可选的,上述系统还可以包括加速模块,加速模块可以包括:
加速指令获取模块,用于获取用户的加速需求,判断下载系统的服务器状态和下载线程的执行状态是否满足预设条件;
加速判断实施模块,用于若满足预设条件,则将配置参数扩增到最大任务数,以实现下载任务的加速,其中,最大任务数表征了当前下载系统能够同时执行子任务的数量;若不满足预设条件,则按照获取加速需求前的速度继续执行每个子任务。
可选的,上述系统还可以包括:
回收站模块,用于获取用户终止下载任务的取消指令,并将与取消指令对应的下载任务进行保存。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面中任一项的方法。
第四方面,本申请实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面中任一项的方法。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (9)
1.基于模板的多任务异步下载方法,其特征在于,包括以下步骤:
S1,获取用户的下载需求,建立与所述下载需求对应的下载模板;
S2,根据所述下载模板建立相应的下载任务,所述下载模板中存储有表示所述下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
S3,遍历历史下载记录,将所述下载任务与所述历史下载记录进行比对,判断所述历史下载记录中是否存在与所述下载任务相同的历史下载任务;所述历史下载记录包括本地记录和好友记录;
所述本地记录表征了用户自身以往的下载记录;所述好友记录表征了用户的好友列表中所有好友以往的下载记录;
S4,若所述历史下载记录中存在与所述下载任务相同的历史下载任务,则从所述历史下载记录中将与所述下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若所述历史下载记录中不存在与所述下载任务相同的历史下载任务,则将所述下载任务切割分配为多个子任务,并从所述数据源中下载与每个所述子任务对应的需求数据;根据上述情况判断并创建需求数量的子任务后,每个子任务在执行时分别对应一条单独的线程;
S5,获取每个所述子任务中需求数据的下载状态和下载进度,并根据所述数据结果集、下载状态和下载进度,判断所述下载任务的状态进度,所述状态进度包括下载完成和下载未完成;
S6,当所述状态进度为下载未完成时,继续执行下载未完成的所述子任务,直至所述状态进度为下载完成;当所述状态进度为下载完成时,根据所述需求数据和所述需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
2.根据权利要求1所述的基于模板的多任务异步下载方法,其特征在于,所述S5还包括,
根据每个所述子任务中需求数据的下载状态和下载进度,得到每个所述子任务中需求数据的数据条数;
根据每个所述子任务中需求数据的数据条数,计算得到每个所述子任务的完成时间,并将所有所述子任务中最大的一个完成时间确定为所述下载任务的下载时间。
3.根据权利要求2所述的基于模板的多任务异步下载方法,其特征在于,将所述下载任务切割分配成子任务的数量由影响因素确定,所述影响因素包括当前下载系统的配置参数、当前下载系统的下载队列、当前下载系统的服务器状态和下载队列的数据量中的至少一项。
4.根据权利要求3所述的基于模板的多任务异步下载方法,其特征在于,对于所述下载任务中的多个子任务,每个所述子任务分别对应一条下载线程,并根据每个所述子任务对应的下载线程,得到每个所述子任务中需求数据的下载状态和下载进度。
5.根据权利要求4所述的基于模板的多任务异步下载方法,其特征在于,所述步骤S4之后还包括,
获取用户的加速需求,判断下载系统的服务器状态和下载线程的执行状态是否满足预设条件;
若满足所述预设条件,则将所述配置参数扩增到最大任务数,以实现所述下载任务的加速,其中,最大任务数表征了当前下载系统能够同时执行子任务的数量;若不满足所述预设条件,则按照获取加速需求前的速度继续执行每个所述子任务。
6.根据权利要求1所述的基于模板的多任务异步下载方法,其特征在于,所述步骤S4之后还包括,
获取用户终止下载任务的取消指令,并将与所述取消指令对应的下载任务进行保存。
7.基于模板的多任务异步下载系统,其特征在于,包括:
获取模块,用于获取用户的下载需求,根据所述下载需求建立与所述下载需求对应的下载模板;
创建模块,用于根据所述下载模板建立相应的下载任务,所述下载模板中存储有表示所述下载任务完成下载的数据结果集和下载任务中下载数据的数据源;
匹配模块,用于遍历历史下载记录,将所述下载任务与所述历史下载记录进行比对,判断所述历史下载记录中是否存在与所述下载任务相同的历史下载任务;所述历史下载记录包括本地记录和好友记录;
所述本地记录表征了用户自身以往的下载记录;所述好友记录表征了用户的好友列表中所有好友以往的下载记录;执行模块,用于若所述历史下载记录中存在与所述下载任务相同的历史下载任务,则从所述历史下载记录中将与所述下载任务相同的历史下载任务进行下载,并完成本次的下载需求;若所述历史下载记录中不存在与所述下载任务相同的历史下载任务,则将所述下载任务切割分配为多个子任务,并从数据源中下载与每个所述子任务对应的需求数据;根据上述情况判断并创建需求数量的子任务后,每个子任务在执行时分别对应一条单独的线程;
进度模块,用于获取每个所述子任务中需求数据的下载状态和下载进度,并根据所述数据结果集、下载状态和下载进度,判断所述下载任务的状态进度,所述状态进度包括下载完成和下载未完成;
文件生成模块,用于当所述状态进度为下载未完成时,继续执行下载未完成的所述子任务,直至所述状态进度为下载完成;当所述状态进度为下载完成时,根据所述需求数据和所述需求数据的大小生成预设文件类型的目标文件,并完成本次的下载需求。
8.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现权利要求1-6中任一项所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868148.6A CN116614551B (zh) | 2023-07-17 | 2023-07-17 | 基于模板的多任务异步下载方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868148.6A CN116614551B (zh) | 2023-07-17 | 2023-07-17 | 基于模板的多任务异步下载方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116614551A CN116614551A (zh) | 2023-08-18 |
CN116614551B true CN116614551B (zh) | 2023-09-22 |
Family
ID=87678539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310868148.6A Active CN116614551B (zh) | 2023-07-17 | 2023-07-17 | 基于模板的多任务异步下载方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116614551B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834671A (zh) * | 2015-03-25 | 2015-08-12 | 中国科学院地理科学与资源研究所 | 文献元数据的并行下载方法及装置 |
CN105389366A (zh) * | 2015-11-10 | 2016-03-09 | 中国建设银行股份有限公司 | 一种大数据量报表查询方法和系统 |
CN106161524A (zh) * | 2015-04-03 | 2016-11-23 | 中国移动通信集团上海有限公司 | 一种基于分布式资源节点的资源下载方法及装置 |
CN107729564A (zh) * | 2017-11-13 | 2018-02-23 | 北京众荟信息技术股份有限公司 | 一种分布式的聚焦网络爬虫网页爬取方法及系统 |
CN109861966A (zh) * | 2018-12-06 | 2019-06-07 | 北京达佳互联信息技术有限公司 | 处理状态事件的方法、装置、终端及存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
WO2021238796A1 (zh) * | 2020-05-26 | 2021-12-02 | 苏宁易购集团股份有限公司 | 下载任务异步处理方法、装置、系统和存储介质 |
CN114666319A (zh) * | 2022-03-02 | 2022-06-24 | 北京百度网讯科技有限公司 | 数据下载方法、装置、电子设备和可读存储介质 |
CN115037738A (zh) * | 2022-05-26 | 2022-09-09 | 浪潮金融信息技术有限公司 | 一种基于协程处理的文件下载方法、系统及介质 |
CN116366634A (zh) * | 2023-03-30 | 2023-06-30 | 北京沃东天骏信息技术有限公司 | 一种文件下载方法、装置、终端、源服务器及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230153147A1 (en) * | 2021-11-15 | 2023-05-18 | International Business Machines Corporation | Ad-hoc proxy for batch processing task |
-
2023
- 2023-07-17 CN CN202310868148.6A patent/CN116614551B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834671A (zh) * | 2015-03-25 | 2015-08-12 | 中国科学院地理科学与资源研究所 | 文献元数据的并行下载方法及装置 |
CN106161524A (zh) * | 2015-04-03 | 2016-11-23 | 中国移动通信集团上海有限公司 | 一种基于分布式资源节点的资源下载方法及装置 |
CN105389366A (zh) * | 2015-11-10 | 2016-03-09 | 中国建设银行股份有限公司 | 一种大数据量报表查询方法和系统 |
CN107729564A (zh) * | 2017-11-13 | 2018-02-23 | 北京众荟信息技术股份有限公司 | 一种分布式的聚焦网络爬虫网页爬取方法及系统 |
CN109861966A (zh) * | 2018-12-06 | 2019-06-07 | 北京达佳互联信息技术有限公司 | 处理状态事件的方法、装置、终端及存储介质 |
CN111125174A (zh) * | 2019-12-06 | 2020-05-08 | 东软集团股份有限公司 | 数据导出方法、装置、存储介质、电子设备 |
WO2021238796A1 (zh) * | 2020-05-26 | 2021-12-02 | 苏宁易购集团股份有限公司 | 下载任务异步处理方法、装置、系统和存储介质 |
CN114666319A (zh) * | 2022-03-02 | 2022-06-24 | 北京百度网讯科技有限公司 | 数据下载方法、装置、电子设备和可读存储介质 |
CN115037738A (zh) * | 2022-05-26 | 2022-09-09 | 浪潮金融信息技术有限公司 | 一种基于协程处理的文件下载方法、系统及介质 |
CN116366634A (zh) * | 2023-03-30 | 2023-06-30 | 北京沃东天骏信息技术有限公司 | 一种文件下载方法、装置、终端、源服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116614551A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10922743B1 (en) | Adaptive performance of actions associated with custom user interface controls | |
CN110019330B (zh) | 信息输出方法和装置 | |
CN111736950B (zh) | 一种虚拟机的加速器资源添加方法及相关装置 | |
CN116614551B (zh) | 基于模板的多任务异步下载方法、系统、设备及介质 | |
CN111950831A (zh) | 一种订单指派的方法、装置、可读存储介质和电子设备 | |
CN113010012A (zh) | 车载娱乐系统中虚拟角色的配置方法和计算机存储介质 | |
CN107678839B (zh) | 基于优先级的客户跟进方法、系统及可读存储介质 | |
CN113434119B (zh) | 一种基于流程控制的业务处理方法及其装置 | |
CN107741885B (zh) | 基于cs架构的事务与业务关联方法、关联系统 | |
CN107169845B (zh) | 一种商户属性查询方法、装置及服务器 | |
EP1011045B1 (en) | Object-oriented job scheduler | |
WO2016132344A2 (en) | System and method for transportation scheduling and planning | |
CN112182054A (zh) | 一种车辆竞品数据处理方法、系统、设备及存储介质 | |
CN116562764A (zh) | 仓储任务管理方法、系统及存储介质 | |
CN114723376B (zh) | 引导配送客户端处理运单的方法及装置、运单处理方法 | |
CN116760647B (zh) | 基于参数自适应的多方安全计算方法、系统和存储介质 | |
CN117217644B (zh) | 一种物流作业任务的资源分配方法及装置 | |
CN113965900B (zh) | 流量资源动态扩容的方法、装置、计算设备及存储介质 | |
US9330079B1 (en) | Systems and methods for blocking data management for distributed content delivery for interactive documents | |
CN116176568A (zh) | 一种泊车路线的存储方法、装置、电子设备及存储介质 | |
CN117217678A (zh) | 一种医疗器械服务项目管理方法及系统 | |
CN108037981B (zh) | 一种附件管理方法及装置 | |
CN114418196A (zh) | 车辆调度仿真方法、装置及系统 | |
CN117952493A (zh) | 物流数据分析方法、装置、电子设备及存储介质 | |
CN117808250A (zh) | 一种装备的节拍设计方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |