一种任务调度方法及系统技术方案

技术编号:26689854 阅读:16 留言:0更新日期:2020-12-12 02:39
本申请公开了一种任务调度方法及系统,通过首先基于优先级顺序将存储至数据库的数据进行分级,之后在数据调取时,基于不同层级中的数据是否满足执行条件来调取该层级中的全部或部分数据,从而达到基于优先级顺序及执行条件作为对数据进行执行的先后顺序的条件,以满足同一层级中且满足执行条件的数据能够被同时调用并执行,提高了数据处理效率,避免了现有技术中列表中任务数量较多,部分任务需要等待较长的时间才能够被执行,导致的任务调度的效率较低的问题。

【技术实现步骤摘要】
一种任务调度方法及系统
本申请涉及调度领域,尤其涉及一种任务调度方法及系统。
技术介绍
银行、证券等公司每日运行的任务多,而且这些任务分别按照不同的周期计划执行,如:年、月、星期、交易日、自然日等,其中,交易日和自然日里又有按照休息与不休息来计划执行,不同的任务之间可能有依赖关系。目前的任务调度方法通常是把所有任务放在一个列表里,按照顺序依次判断每一个任务是否应该执行,并重复循环这个列表,每个任务被大量的重复判断,而对于列表中任务数量较多的系统,部分任务则需要等待较长的时间才能够被执行,这就导致任务调度的效率较低。
技术实现思路
有鉴于此,本申请提供一种任务调度方法及系统,其具体方案如下:一种任务调度方法,包括:读取数据库中存储的数据的状态,其中,所述数据分成至少两个层级被存储至所述数据库中,不同的层级对应不同的优先级顺序;基于所述数据库中存储的数据的状态及所述优先级顺序确定第一层级;确定所述第一层级中的数据是否均满足执行条件,将所述第一层级中满足执行条件的数据确定为第一组数据;调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态。进一步的,所述确定所述第一层级中的数据是否均满足执行条件,包括:确定所述第一层级中的每一个数据所依赖的数据是否完成的条件,若完整则所述数据满足依赖条件;和/或,确定所述第一层级中的每一个数据是否达到预设执行时段,若达到则所述数据满足时间条件。进一步的,还包括:基于所述数据库中状态更新后的数据及数据状态确定第二组数据,所述第二组数据至少包括与所述第一层级相邻的、且优先级顺序低于所述第一层级的层级中的数据,以及,所述第一层级的数据中除所述第一组数据之外的数据;确定所述第二组数据中的数据是否均满足执行条件,调取所述第二组数据中满足执行条件的数据并执行。进一步的,所述调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态,包括:分别同时调取所述第一组数据中的每一个数据,执行所述第一组数据中的每一个数据,得到执行结果;将所述执行结果中所述第一组数据中的每一个数据执行后的状态更新至所述数据库中,以使所述数据库中存储的数据为状态更新后的数据及数据状态。进一步的,所述确定所述第一层级中的数据是否满足执行条件,包括:确定所述第一层级中的数据的数量是否超过第一线程数;若所述第一层级中的数据的数量未超过所述第一线程数,则确定所述第一层级中的数据满足执行条件;若所述第一层级中的数据的数量超过第一线程数,则基于第一条件确定所述第一层级中未超过所述第一线程数的数据,以便调取确定的所述第一层级中未超过所述第一线程数的数据并执行。进一步的,还包括:在调取确定的所述第一层级中未超过所述第一线程数的数据并执行后,调取所述第一层级中除所述未超过所述第一线程数的数据之外的数据并执行。一种任务调度系统,包括:读取单元,用于读取数据库中存储的数据的状态,其中,所述数据分成至少两个层级被存储至所述数据库中,不同的层级对应不同的优先级顺序;第一确定单元,用于基于所述数据库中存储的数据的状态及所述优先级顺序确定第一层级;第二确定单元,用于确定所述第一层级中的数据是否均满足执行条件,将所述第一层级中满足执行条件的数据确定为第一组数据;执行单元,用于调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态。进一步的,所述第二确定单元用于:确定所述第一层级中的每一个数据所依赖的数据是否完成的条件,若完成则所述数据满足依赖条件;和/或,确定所述第一层级中的每一个数据是否达到预设执行时段,若达到则所述数据满足时间条件。进一步的,所述第一确定单元还用于:基于所述数据库中状态更新后的数据及数据状态确定第二组数据,所述第二组数据至少包括与所述第一层级相邻的、且优先级顺序低于所述第一层级的层级中的数据,以及,所述第一层级的数据中除所述第一组数据之外的数据;所述第二确定单元还用于:确定所述第二组数据中的数据是否均满足执行条件;所述执行单元还用于:调取所述第二组数据中满足执行条件的数据并执行。进一步的,所述第二确定单元用于:确定所述第一层级中的数据的数量是否超过第一线程数;若所述第一层级中的数据的数量未超过所述第一线程数,则确定所述第一层级中的数据满足执行条件;若所述第一层级中的数据的数量超过第一线程数,则基于第一条件确定所述第一层级中未超过所述第一线程数的数据,以便调取确定的所述第一层级中未超过所述第一线程数的数据并执行。从上述技术方案可以看出,本申请公开的任务调度方法及系统,读取数据库中存储的数据的状态,数据分成至少两个层级被存储至数据库中,不同的层级对应不同的优先级顺序,基于数据库中存储的数据的状态及优先级顺序确定第一层级,确定第一层级中的数据是否均满足执行条件,将第一层级中满足执行条件的数据确定为第一组数据,调取第一组数据并执行,确定执行结果,基于执行结果更新数据库中存储的数据的状态。本方案通过首先基于优先级顺序将存储至数据库的数据进行分级,之后在数据调取时,基于不同层级中的数据是否满足执行条件来调取该层级中的全部或部分数据,从而达到基于优先级顺序及执行条件作为对数据进行执行的先后顺序的条件,以满足同一层级中且满足执行条件的数据能够被同时调用并执行,提高了数据处理效率,避免了现有技术中列表中任务数量较多,部分任务需要等待较长的时间才能够被执行,导致的任务调度的效率较低的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种任务调度方法的流程图;图2为本申请实施例公开的一种任务调度方法的流程图;图3为本申请实施例公开的一种任务调度方法的流程图;图4为本申请实施例公开的一种任务调度系统的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请公开了一种任务调度方法,其流程图如图1所示,包括:步骤S11、读取数据库中存储的数据的状态,其中,数据分成至少两个层级被存储至数据库中,不同的层级对应不同的优先级顺序;步骤S12、基于数据库中存储的数据的状态及优先级顺序确定第一层级;步骤S13、确定第一本文档来自技高网...

【技术保护点】
1.一种任务调度方法,其特征在于,包括:/n读取数据库中存储的数据的状态,其中,所述数据分成至少两个层级被存储至所述数据库中,不同的层级对应不同的优先级顺序;/n基于所述数据库中存储的数据的状态及所述优先级顺序确定第一层级;/n确定所述第一层级中的数据是否均满足执行条件,将所述第一层级中满足执行条件的数据确定为第一组数据;/n调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态。/n

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:
读取数据库中存储的数据的状态,其中,所述数据分成至少两个层级被存储至所述数据库中,不同的层级对应不同的优先级顺序;
基于所述数据库中存储的数据的状态及所述优先级顺序确定第一层级;
确定所述第一层级中的数据是否均满足执行条件,将所述第一层级中满足执行条件的数据确定为第一组数据;
调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态。


2.根据权利要求1所述的方法,其特征在于,所述确定所述第一层级中的数据是否均满足执行条件,包括:
确定所述第一层级中的每一个数据所依赖的数据是否完成的条件,若完整则所述数据满足依赖条件;
和/或,
确定所述第一层级中的每一个数据是否达到预设执行时段,若达到则所述数据满足时间条件。


3.根据权利要求1所述的方法,其特征在于,还包括:
基于所述数据库中状态更新后的数据及数据状态确定第二组数据,所述第二组数据至少包括与所述第一层级相邻的、且优先级顺序低于所述第一层级的层级中的数据,以及,所述第一层级的数据中除所述第一组数据之外的数据;
确定所述第二组数据中的数据是否均满足执行条件,调取所述第二组数据中满足执行条件的数据并执行。


4.根据权利要求1所述的方法,其特征在于,所述调取所述第一组数据并执行,确定执行结果,基于所述执行结果更新所述数据库中存储的数据的状态,包括:
分别同时调取所述第一组数据中的每一个数据,执行所述第一组数据中的每一个数据,得到执行结果;
将所述执行结果中所述第一组数据中的每一个数据执行后的状态更新至所述数据库中,以使所述数据库中存储的数据为状态更新后的数据及数据状态。


5.根据权利要求4所述的方法,其特征在于,所述确定所述第一层级中的数据是否满足执行条件,包括:
确定所述第一层级中的数据的数量是否超过第一线程数;
若所述第一层级中的数据的数量未超过所述第一线程数,则确定所述第一层级中的数据满足执行条件;
若所述第一层级中的数据的数量超过第一线程数,则基于第一条件确定所述第一层级中未超过所述第一线程数的数据,以便调...

【专利技术属性】
技术研发人员:张露春肖义薛净远
申请(专利权)人:上海金仕达软件科技有限公司
类型:发明
国别省市:上海;31

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

1