一种多任务处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38751524 阅读:14 留言:0更新日期:2023-09-09 11:18
本发明专利技术实施例提供的一种多任务处理方法、装置、电子设备及存储介质,应用于信息技术领域,通过获取多个待执行任务和各待执行任务的超时时间;根据各待执行任务的超时时间从长到短的顺序对多个待执行任务进行排序,得到待执行任务序列;并行执行多个待执行任务,并根据待执行任务序列中各待执行任务的顺序,依次判断各待执行任务是否执行完毕;若执行完毕,则直接获取该待执行任务的执行结果;若未执行完毕,则当达到该待执行任务的超时时间时获取该待执行任务的执行结果。通过本申请实施例的方法,可以优先判断超时时间长的任务并获取执行结果,然后获取超时时间短的并获取执行结果,从而提高任务执行的成功率。从而提高任务执行的成功率。从而提高任务执行的成功率。

【技术实现步骤摘要】
一种多任务处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及信息
,特别是涉及一种多任务处理方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,在执行多个任务,且各任务间无关联时,往往选用异步并行处理的方式执行。并且在执行时,往往会对每一个任务设定对应的超时时间,并且各任务所设定的最大超时时间往往不一致。比如第三方接口调用,重要性高的接口设置的超时时间长,重要性低的接口设置的超时时间短。
[0003]然而,在异步并行处理时,一般是通过随机选取一个任务,以当前任务最大超时时间为等待时间,等待当前任务完成,处理完成或者处理超时后,选取下一个任务继续处理。通过该方法如果超时时间短的任务被优先选取,超时时间长的任务后选取,由于超时时间长的任务处理时间长于超时时间短的任务,这种情况下会导致超时时间长的任务正常完成,而超时时间短的任务不能正常完成。例如根据数据重要性A任务允许的超时时间设置为400ms,B任务允许的超时时间设置为200ms。假设A任务需要300ms才能获取数据,B任务也需要300ms才能获取到数据,如果B先获取数据结果,B处理时间超过200ms就会失败,而A又经过100ms拿到了数据结果,此时总处理时间为300ms,只有A成功。从而导致并行执行时任务执行的成功率低。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种多任务处理方法、装置、电子设备及存储介质,以实现提高并行执行时任务执行的成功率。具体技术方案如下:
[0005]在本专利技术实施的第一方面,首先提供了一种多任务处理方法,所述方法包括:
[0006]获取多个待执行任务和各待执行任务的超时时间;
[0007]根据各待执行任务的超时时间从长到短的顺序对所述多个待执行任务进行排序,得到待执行任务序列;
[0008]并行执行所述多个待执行任务,并根据所述待执行任务序列中各待执行任务的顺序,依次判断各所述待执行任务是否执行完毕;若执行完毕,则直接获取该待执行任务的执行结果;若未执行完毕,则当达到该待执行任务的超时时间时获取该待执行任务的执行结果。
[0009]在一种可能的实施方式中,所述判断各所述待执行任务是否执行完毕,包括:
[0010]比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;
[0011]若该待执行任务的已执行时间小于或等于该待执行任务的超时时间,则判断该待执行任务是否已执行完成。
[0012]在一种可能的实施方式中,所述当达到该待执行任务的超时时间时获取该待执行任务的执行结果,包括:
[0013]针对任一待执行任务,在获取所述待执行任务序列中该待执行任务的前一待执行任务的执行结果之后,计算该待执行任务的已执行时间,其中,所述已执行时间是指该待执行任务从开始执行时刻到当前时刻的时间差;
[0014]比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;
[0015]若该待执行任务的已执行时间大于该待执行任务的超时时间,则直接获取该待执行任务的执行结果,若无结果则抛弃该待执行任务;
[0016]若该待执行任务未执行完成则继续执行该待执行任务完成,直至该待执行任务的已执行时间不小于该待执行任务的超时时间为止。
[0017]在一种可能的实施方式中,在所述若该待执行任务未执行完成则继续执行该待执行任务完成,直至该待执行任务的已执行时间不小于该待执行任务的超时时间为止之后,所述方法还包括:
[0018]当该待执行任务的已执行时间不小于该待执行任务的超时时间时,响应于接收到的中断信号,判断该待执行任务是否执行完毕;
[0019]若未执行完毕,则抛弃该待执行任务。
[0020]在一种可能的实施方式中,所述并行执行所述多个待执行任务,包括:
[0021]将所述待执行任务序列和各待执行任务的超时时间,封装为异步封装对象future;
[0022]执行所述异步封装对象future,并获取各所述待执行任务的执行结果。
[0023]在本专利技术实施的第二方面,还提供了一种多任务处理装置,所述装置包括:
[0024]时间获取模块,用于获取多个待执行任务和各待执行任务的超时时间;
[0025]任务排序模块,用于根据各待执行任务的超时时间从长到短的顺序对所述多个待执行任务进行排序,得到待执行任务序列;
[0026]任务执行模块,用于并行执行所述多个待执行任务,并根据所述待执行任务序列中各待执行任务的顺序,依次判断各所述待执行任务是否执行完毕;若执行完毕,则直接获取该待执行任务的执行结果;若未执行完毕,则当达到该待执行任务的超时时间时获取该待执行任务的执行结果。
[0027]在一种可能的实施方式中,所述任务执行模块,包括:
[0028]时间比较子模块,用于比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;
[0029]任务判断子模块,用于若该待执行任务的已执行时间小于或等于该待执行任务的超时时间,则判断该待执行任务是否已执行完成。
[0030]在一种可能的实施方式中,所述任务执行模块,包括:
[0031]时间计算子模块,用于针对任一待执行任务,在获取所述待执行任务序列中该待执行任务的前一待执行任务的执行结果之后,计算该待执行任务的已执行时间,其中,所述已执行时间是指该待执行任务从开始执行时刻到当前时刻的时间差;
[0032]时间对比子模块,用于比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;
[0033]结果获取子模块,用于若该待执行任务的已执行时间大于该待执行任务的超时时间,则直接获取该待执行任务的执行结果,若无结果则抛弃该待执行任务;
[0034]时间判断子模块,用于若该待执行任务未执行完成则继续执行该待执行任务完成,直至该待执行任务的已执行时间不小于该待执行任务的超时时间为止。
[0035]在一种可能的实施方式中,所述装置还包括:
[0036]信号响应模块,用于当该待执行任务的已执行时间不小于该待执行任务的超时时间时,响应于接收到的中断信号,判断该待执行任务是否执行完毕;
[0037]任务抛弃模块,用于若未执行完毕,则抛弃该待执行任务。
[0038]在一种可能的实施方式中,所述任务执行模块,包括:
[0039]对象封装子模块,用于将所述待执行任务序列和各待执行任务的超时时间,封装为异步封装对象future;
[0040]封装执行子模块,用于执行所述异步封装对象future,并获取各所述待执行任务的执行结果。
[0041]在本专利技术实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0042]存储器,用于存放计算机程序;
[0043]处理器,用于执行存储器上所存放的程序时,实现上述任一所述的多任务处理方法。
[0044]在本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多任务处理方法,其特征在于,所述方法包括:获取多个待执行任务和各待执行任务的超时时间;根据各待执行任务的超时时间从长到短的顺序对所述多个待执行任务进行排序,得到待执行任务序列;并行执行所述多个待执行任务,并根据所述待执行任务序列中各待执行任务的顺序,依次判断各所述待执行任务是否执行完毕;若执行完毕,则直接获取该待执行任务的执行结果;若未执行完毕,则当达到该待执行任务的超时时间时获取该待执行任务的执行结果。2.根据权利要求1所述的方法,其特征在于,所述判断各所述待执行任务是否执行完毕,包括:比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;若该待执行任务的已执行时间小于或等于该待执行任务的超时时间,则判断该待执行任务是否已执行完成。3.根据权利要求1所述的方法,其特征在于,所述当达到该待执行任务的超时时间时获取该待执行任务的执行结果,包括:针对任一待执行任务,在获取所述待执行任务序列中该待执行任务的前一待执行任务的执行结果之后,计算该待执行任务的已执行时间,其中,所述已执行时间是指该待执行任务从开始执行时刻到当前时刻的时间差;比较该待执行任务的已执行时间和该待执行任务的超时时间的大小;若该待执行任务的已执行时间大于该待执行任务的超时时间,则直接获取该待执行任务的执行结果,若无结果则抛弃该待执行任务;若该待执行任务未执行完成则继续执行该待执行任务完成,直至该待执行任务的已执行时间不小于该待执行任务的超时时间为止。4.根据权利要求3所述的方法,其特征在于,在所述若该待执行任务未执行完成则继续执行该待执行任务完成,直至该待执行任务的已执行时间不小于该待执行任务的超时时间为止之后,所述方法还包括:当该待执行任务的已执行时间不小于该待执行任务的超时时间时,响应于接收到的中断信号,判断该待执行任务是否执行完毕;若未执行完毕,则抛弃该待执行任务。5.根据权利要求1所述的方法,其特征在于,所述并行执行所述多个待执行任务,包括:将所述待执行任务序列和各待执行任务的超时时间,封装为异步封装对象future;执行所述异步封装对象future,并获取各所述待执行任务的执行结果。6.一种多任...

【专利技术属性】
技术研发人员:皮基庆
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1