System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及任务调度,尤其涉及一种任务处理方法、装置、设备及存储介质。
技术介绍
1、随着计算机技术以及互联网技术的发展,需要计算机设备处理的任务越来越多。不同任务的时间维度可能不同。这里的时间维度指的是任务执行时的时间间隔。例如,有的任务需要立即执行,有的任务需要2分钟执行一次,有的任务需要5分钟执行一次等。
2、目前,一般通过第三方的定时任务来获取任务,并通过该定时任务判断获取到的任务是否需要执行。
3、但是,上述实现方式中,一方面,需要在计算机设备中集成该第三方的定时任务相关的数据表,对本身的业务系统具有一定的侵入性,另一方面,该方式无法实现不同时间维度的任务之间的隔离,并且,无法实现任务的并发处理。
技术实现思路
1、本申请提供一种任务处理方法、装置、设备及存储介质,用以解决相关技术中进行任务处理时对业务系统具有侵入性、无法实现不同时间维度的任务之间的隔离以及无法实现任务的并发处理的技术问题。
2、第一方面,本申请提供了一种任务处理方法,包括:
3、确定多个任务槽位中的第一目标任务槽位;其中,每个任务槽位中包括的任务的时间维度相同,至少两个不同任务槽位中任务的时间维度不同;
4、获取所述第一目标任务槽位中的任务最小值;其中,所述任务最小值用于指示所述第一目标任务槽位包括的任务的执行时间中的最小值;
5、若所述任务最小值小于或者等于当前时间,则获取所述任务最小值对应的待处理任务,并将所述待处理任务发送至对应
6、若存在剩余任务槽位,则确定所述剩余任务槽位中新的所述第一目标任务槽位,返回执行“获取所述第一目标任务槽位中的任务最小值”的步骤,直至不存在剩余任务槽位;其中,所述剩余任务槽位为未被获取任务最小值的任务槽位。
7、第二方面,本申请还提供了一种任务处理装置,该装置包括:
8、第一确定模块,用于确定多个任务槽位中的第一目标任务槽位;其中,每个任务槽位中包括的任务的时间维度相同,至少两个不同任务槽位中任务的时间维度不同;
9、第一获取模块,用于获取所述第一目标任务槽位中的任务最小值;其中,所述任务最小值用于指示所述第一目标任务槽位包括的任务的执行时间中的最小值;
10、第二获取模块,用于若所述任务最小值小于或者等于当前时间,则获取所述任务最小值对应的待处理任务,并将所述待处理任务发送至对应的执行器处理;
11、第二确定模块,用于若存在剩余任务槽位,则确定所述剩余任务槽位中新的所述第一目标任务槽位,返回执行第一获取模块执行的步骤,直至不存在剩余任务槽位;其中,所述剩余任务槽位为未被获取任务最小值的任务槽位。
12、第三方面,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请中任一所述的任务处理方法。
13、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请中任一所述的任务处理方法。
14、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本申请中任一所述的任务处理方法。
15、本申请提供的技术方案中,任务处理方法包括:确定多个任务槽位中的第一目标任务槽位,其中,每个任务槽位中包括的任务的时间维度相同,至少两个不同任务槽位中任务的时间维度不同,获取第一目标任务槽位中的任务最小值,其中,任务最小值用于指示第一目标任务槽位包括的任务的执行时间中的最小值,若任务最小值小于或者等于当前时间,则获取任务最小值对应的待处理任务,并将待处理任务发送至对应的执行器处理,若存在剩余任务槽位,则确定剩余任务槽位中新的第一目标任务槽位,返回执行“获取第一目标任务槽位中的任务最小值”的步骤,直至不存在剩余任务槽位,其中,剩余任务槽位为未被获取任务最小值的任务槽位。其实现了以下技术效果:一方面,在任务处理过程中,不需要集成第三方的定时任务,对业务系统没有侵入性;另一方面,设置了任务槽位,每个任务槽位中包括的任务的时间维度相同,至少两个不同任务槽位中任务的时间维度不同,相当于通过任务槽位实现了对不同时间维度的任务的隔离;再一方面,每个待处理任务均对应有执行器,相当于各个待处理任务在对应的执行器中被并行处理,实现了任务的并发处理,提高了任务处理效率。
本文档来自技高网...【技术保护点】
1.一种任务处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述任务槽位包括:头结点以及任务队列,所述任务队列中的任务按照任务对应的执行时间升序排序,所述头结点用于指示所述任务最小值以及所述任务队列中任务的数量;
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定多个任务槽位中的第一目标任务槽位,包括:
5.根据权利要求4所述的方法,其特征在于,所述直至不存在剩余任务槽位之后,所述方法还包括:
6.根据权利要求2所述的方法,其特征在于,所述得到所述目标任务队列中的剩余任务之后,所述方法还包括:
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述根据所述待入队任务的执行时间,将所述待处理任务放置于所述第二目标任务槽位对应的任务队列中,包括:
9.根据权利要求8所述的方法,其特征在于,所述生成所述第二目标任务槽位的分片槽位,包括:
10.根
11.根据权利要求7所述的方法,其特征在于,所述根据所述待入队任务对应的时间维度,确定所述待入队任务对应的第二目标任务槽位,包括:
12.根据权利要求2所述的方法,其特征在于,所述将所述待处理任务发送至对应的执行器处理,包括:
13.根据权利要求2所述的方法,其特征在于,所述任务队列通过远程字典服务Redis中带分值的ZSet实现;其中,所述分值包括任务对应的执行时间。
14.一种任务处理装置,其特征在于,包括:
15.一种电子设备,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至13中任一项所述的任务处理方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至13中任一所述的任务处理方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1至13中任一项所述的任务处理方法。
...【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述任务槽位包括:头结点以及任务队列,所述任务队列中的任务按照任务对应的执行时间升序排序,所述头结点用于指示所述任务最小值以及所述任务队列中任务的数量;
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定多个任务槽位中的第一目标任务槽位,包括:
5.根据权利要求4所述的方法,其特征在于,所述直至不存在剩余任务槽位之后,所述方法还包括:
6.根据权利要求2所述的方法,其特征在于,所述得到所述目标任务队列中的剩余任务之后,所述方法还包括:
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述根据所述待入队任务的执行时间,将所述待处理任务放置于所述第二目标任务槽位对应的任务队列中,包括:
9.根据权利要求8所述的方法,其特征在于,所述生成所述第二目标任务槽位的分片槽位,包括:
10.根据权利要求7所述的方法,其特征在于,所述根据所...
【专利技术属性】
技术研发人员:冉光旭,李劭杰,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。