一种相同异步任务瞬时处理方法、系统及存储介质技术方案

技术编号:35863035 阅读:18 留言:0更新日期:2022-12-07 10:53
本申请涉及计算机的技术领域,尤其是涉及一种相同异步任务瞬时处理方法、系统及存储介质,其包括获取异步任务及相应的任务标识,任务标识表征为代表该异步任务的唯一标识;判断在预设时间内是否存在与任务标识相对应的任务队列;若不存在,则根据任务标识创建一个任务队列并根据任务标识进行命名;将异步任务定义为初始异步任务,执行初始异步任务;若存在,则根据任务标识将异步任务放置在相应的任务队列中并保持静默状态,静默状态表征为处于任务队列中但不执行任务;获取初始异步任务的执行结果,将执行结果传入至任务队列中的所有静默状态的异步任务以作为执行结果。本申请具有提升异步任务执行效率的效果。提升异步任务执行效率的效果。提升异步任务执行效率的效果。

【技术实现步骤摘要】
一种相同异步任务瞬时处理方法、系统及存储介质


[0001]本申请涉及计算机的
,尤其是涉及一种相同异步任务瞬时处理方法、系统及存储介质。

技术介绍

[0002]通常,在单页应用中,页面中的数据是通过网页内的JavaScript脚本完成请求结构数据获取的。
[0003]而请求数据的过程通常包括:在网页中调用具体请求数据的函数;请求数据的函数内部调用通用请求函数;通用请求函数根据接口地址和携带参数发起具体网络请求。
[0004]网页端请求接口数据时都是异步过程,也就是上述的调用具体请求数据的函数、通用请求函数都属于异步任务,然而上述方法中,随着页面的增加、模块分散,导致在某些模块内会多次调用相同的异步任务,而这些模块又会同时加载这些相同的异步任务,以至于出现在页面初始化时,同一时段内多次调用相同的请求函数,导致发出相同的网络请求,异步任务执行效率较低。

技术实现思路

[0005]为了提升异步任务执行效率,本申请提供一种异步任务瞬时处理方法、系统及存储介质。
[0006]第一方面,本申请提供一种相同异步任务瞬时处理方法,采用如下的技术方案:一种相同异步任务瞬时处理方法,包括以下步骤:获取异步任务及相应的任务标识,所述任务标识表征为代表该异步任务的唯一标识;判断在预设时间内是否存在与所述任务标识相对应的任务队列;若不存在,则根据所述任务标识创建一个任务队列并根据所述任务标识进行命名;将所述异步任务定义为初始异步任务,执行所述初始异步任务;若存在,则根据所述任务标识将所述异步任务放置在相应的任务队列中并保持静默状态,所述静默状态表征为处于任务队列中但不执行任务;获取所述初始异步任务的执行结果,将所述执行结果传入至所述任务队列中的所有静默状态的异步任务以作为执行结果。
[0007]在其中的一些实施例中,所述异步任务还包括任务类型,所述任务类型包括第一任务类型,所述第一任务类型表征为该异步任务执行后需要继续进行操作,当获取异步任务后,还包括以下步骤:判断所述异步任务的任务类型是否属于第一任务类型;
若属于,则在所述异步任务执行后将经过执行后的异步任务进行返回以供用户操作。
[0008]在其中的一些实施例中,所述异步任务的任务类型还包括第二任务类型,所述第二任务类型表征为该异步任务无需等待结果,但同一时段中只能执行一次,当获取异步任务后,还包括以下步骤:判断所述异步任务的任务类型是否属于第二任务类型;若属于,则在该异步任务所在的任务队列皆执行完后,在预设时间内限制该任务队列内的异步任务的后续执行动作。
[0009]在其中的一些实施例中,当获取异步任务后,还包括:生成与所述初始异步任务相同的协同异步任务;将所述协同异步任务中的操作函数进行调用缓存,并将所述操作函数加入至所述任务队列中。
[0010]在其中的一些实施例中,将初始异步任务的执行结果传入任务队列中的所有静默状态的异步任务以作为执行结果后,还包括:获取所述异步任务的任务场景信息;若所述异步任务的任务场景信息为第一场景;则清空所述任务队列中的所有异步任务;删除所述任务队列;若所述异步任务的任务场景信息为第二场景;则清空所述任务队列中的所有异步任务;保留所述任务队列;其中,第一场景包括网页应用场景,第二场景表征为持续处理重复任务的场景。
[0011]在其中的一些实施例中,在执行所述初始异步任务时,还包括:若执行所述初始异步任务时出现异常,则选取所述任务队列中位于所述初始异步任务之后的一个异步任务并执行;若执行该异步任务时出现异常,则将所述任务队列中的所有所述异步任务定义为失败,且输出相应的报错信息;若执行该异步任务时未出现异常,则将该异步任务的执行结果传入至所述任务队列中的所有静默状态的异步任务以作为执行结果。
[0012]第二方面,本申请提供一种相同异步任务瞬时处理系统,采用如下的技术方案:一种相同异步任务瞬时处理系统,包括瞬时节流器,所述瞬时节流器用于获取异步任务及相应的任务标识,所述任务标识表征为代表该异步任务的唯一标识;还用于判断在预设时间内是否存在与所述任务标识相对应的任务队列;若不存在,则根据所述任务标识创建一个任务队列并根据所述任务标识进行命名;将所述异步任务定义为初始异步任务,执行所述初始异步任务;若存在,则根据所述任务标识将所述异步任务放置在相应的任务队列中并保持静默状态,所述静默状态表征为处于任务队列中但不执行任务;获取所述初始异步任务的执行结果,将所述执行结果传入至所述任务队列中的所有静默状态的异步任务以作为执行结果。
[0013]第三方面,本申请提供一种计算机存储介质,采用如下的技术方案:
一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的相同异步任务瞬时处理方法。
[0014]综上所述,本申请包括以下至少一种有益技术效果:1.通过设置一个瞬时节流器,当瞬时内有多个相同的异步任务需要执行时,只需要执行任务队列中最初的那个异步任务即可,并将这个初始异步任务的执行结果共享至队列内的所有异步任务作为这些相同异步任务的执行结果,这样只需要花费执行一个任务的时间,就可以得到队列内多个相同异步任务的执行结果,节省了其他任务执行的时间,提高了多个相同异步任务执行的效率;2.只需要在公共模块内的执行流程中,插入瞬时节流器及相应的程序,即可完成改造,显著降低了多模块改造的成本;3.不同于读取缓存的方法,本申请每次任务执行完成后,会删除任务队列,使得之后,相同的异步任务再次被执行时,依旧作为新任务执行,返回新的结果。
附图说明
[0015]图1是本申请实施例中异步任务瞬时处理方法的整体步骤示意图;图2是本申请实施例中异步任务瞬时处理方法的判断流程示意图。
具体实施方式
[0016]以下结合附图1

2对本申请作进一步详细说明。
[0017]本申请实施例公开一种相同异步任务瞬时处理方法。
[0018]如图1和图2所示,一种相同异步任务瞬时处理方法包括:S100,获取异步任务及相应的任务标识。
[0019]异步任务指一个任务在执行时,会因为某一项未能立即完成的过程而导致其挂起,未来可再次激活并继续执行的任务。与之相反的为同步任务,同步任务指一个任务必须按照顺序执行到底,并在执行完后返回任务以结束。
[0020]本申请中的异步任务是使用的JavaScript语言中内置对象Promise 构造而成。
[0021]任务标识表征为代表该异步任务的唯一标识ID,且任务标识是与异步任务一同被用户自定义传入至瞬时节流器上的。
[0022]S200,判断在预设时间内是否存在与任务标识相对应的任务队列。
[0023]S300,若不存在,则根据任务标识创建一个任务队列并根据任务标识进行命名。
[0024]S400,将异步任务定义为初始异步任务,执行初始异步任务。
[0025]S500,若存在,则根据任务标识将异步任务放置在相应的任务队列中并保持静默状态。...

【技术保护点】

【技术特征摘要】
1.一种相同异步任务瞬时处理方法,其特征在于,包括以下步骤:获取异步任务及相应的任务标识,所述任务标识表征为代表该异步任务的唯一标识;判断在预设时间内是否存在与所述任务标识相对应的任务队列;若不存在,则根据所述任务标识创建一个任务队列并根据所述任务标识进行命名;将所述异步任务定义为初始异步任务并执行所述初始异步任务;若存在,则根据所述任务标识将所述异步任务放置在相应的任务队列中并保持静默状态,所述静默状态表征为处于任务队列中但不执行任务;获取所述初始异步任务的执行结果,将所述执行结果传入至所述任务队列中的所有静默状态的异步任务以作为执行结果。2.根据权利要求1所述的一种相同异步任务瞬时处理方法,其特征在于:所述异步任务还包括任务类型,所述任务类型包括第一任务类型,所述第一任务类型表征为该异步任务执行后需要继续进行操作,当获取异步任务后,还包括以下步骤:判断所述异步任务的任务类型是否属于第一任务类型;若属于,则在所述异步任务执行后将经过执行后的异步任务进行返回以供用户操作。3.根据权利要求2所述的一种相同异步任务瞬时处理方法,其特征在于:所述异步任务的任务类型还包括第二任务类型,所述第二任务类型表征为该异步任务无需等待结果,但同一时段中只能执行一次,当获取异步任务后,还包括以下步骤:判断所述异步任务的任务类型是否属于第二任务类型;若属于,则在该异步任务所在的任务队列皆执行完后,在预设时间内限制该任务队列内的异步任务的后续执行动作。4.根据权利要求1所述的一种相同异步任务瞬时处理方法,其特征在于:当获取异步任务后,还包括:生成与所述初始异步任务相同的协同异步任务;将所述协同异步任务中的操作函数进行调用缓存,并将所述操作函数加入至所述任务队列中。5.根据权利要求1所述的一种相同异步任务瞬时处理方法,其特征在于:将...

【专利技术属性】
技术研发人员:王翀
申请(专利权)人:杭州沧浪健康管理有限公司杭州联科美讯生物医药技术有限公司杭州丁香健康管理有限公司
类型:发明
国别省市:

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

1