一种任务调度方法及装置制造方法及图纸

技术编号:24995414 阅读:50 留言:0更新日期:2020-07-24 17:58
本发明专利技术公开了一种任务调度方法及装置,其中方法为:获取调度框架中的第一适配器;通过所述第一适配器确定所述数据锁;通过所述第一适配器,获取所述数据锁的持有标识;若确定所述持有标识指示所述数据锁为空闲状态,则向所述目标数据库提交抢锁事务;所述抢锁事务用于抢占所述数据锁;若确定所述抢锁事务提交成功,则根据所述待调用数据,调度所述待调度任务。上述方法应用于金融科技(Fintech)时,通过获取调度框架中的第一适配器,获取所述数据锁的持有标识,预先判断数据锁是否被占用,因此可以通过调度框架中的第一适配器实现悲观锁的机制,可以使得金融系统同时满足高性能和高可靠性。

【技术实现步骤摘要】
一种任务调度方法及装置
本专利技术涉及金融科技(Fintech)领域中的数据库领域,尤其涉及一种任务调度方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求,金融机构的任务处理系统,都面临着大量的任务、海量的数据需要处理。对于金融机构的任务,一般通过调度框架来进行任务调度。举例来说,调度框架为Quartz。调度框架一个基本特性是:对于同一个任务,在任何一个触发时间窗口内,通过锁定该任务所用到的数据,有且只有一个应用实例可以执行该任务,从而可以防止相同任务在同一时间窗口内被重复执行而出错。但这种任务调度的互斥锁机制依赖于调度框架与关系型数据库的结合,本质上是通过关系型数据库的悲观锁机制锁定数据实现的。关系型数据库的横向扩展性差,当数据量较大时,又会导致任务调度的性能较差。而目前的新型数据库虽然可以横向扩展,但采用的是乐观锁机制,可能导致相同任务在同一时间窗口内被多个应用实例重复执行而出错,即可靠性较差。因此目前的本文档来自技高网...

【技术保护点】
1.一种任务调度方法,其特征在于,包括:/n获取调度框架中的第一适配器;所述第一适配器与所述目标数据库适配;所述第一适配器被设置于替换所述调度框架中的第二适配器;所述第二适配器与关系型数据库适配;所述第一适配器和所述第二适配器均用于抢占所述目标数据库中待调用数据的数据锁;所述数据锁用于锁定所述待调用数据;所述待调用数据是待调度任务所需的数据;/n通过所述第一适配器确定所述数据锁;/n通过所述第一适配器,获取所述数据锁的持有标识;所述持有标识用于指示所述数据锁为空闲状态或占用状态;/n若确定所述持有标识指示所述数据锁为空闲状态,则向所述目标数据库提交抢锁事务;所述抢锁事务用于抢占所述数据锁;/n...

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:
获取调度框架中的第一适配器;所述第一适配器与所述目标数据库适配;所述第一适配器被设置于替换所述调度框架中的第二适配器;所述第二适配器与关系型数据库适配;所述第一适配器和所述第二适配器均用于抢占所述目标数据库中待调用数据的数据锁;所述数据锁用于锁定所述待调用数据;所述待调用数据是待调度任务所需的数据;
通过所述第一适配器确定所述数据锁;
通过所述第一适配器,获取所述数据锁的持有标识;所述持有标识用于指示所述数据锁为空闲状态或占用状态;
若确定所述持有标识指示所述数据锁为空闲状态,则向所述目标数据库提交抢锁事务;所述抢锁事务用于抢占所述数据锁;
若确定所述抢锁事务提交成功,则根据所述待调用数据,调度所述待调度任务;所述抢锁事务提交成功表示所述持有标识指示所述数据锁为占用状态。


2.如权利要求1所述的方法,其特征在于,所述目标数据库在所述调度框架中对应第一锁记录;所述关系型数据库在所述调度框架中对应第二锁记录;所述通过所述第一适配器确定所述数据锁,包括:
通过所述第一适配器,根据所述待调度任务、所述待调用数据和所述第二锁记录,从所述第一锁记录中确定出所述数据锁;
所述通过所述第一适配器,获取所述数据锁的持有标识,包括:
通过所述第一适配器的互斥锁获取接口,从所述第一锁记录中获取所述持有标识;所述互斥锁获取接口中定义了所述目标数据库中所述数据锁的获取函数,所述获取函数中定义了所述数据锁的所述持有标识的机制。


3.如权利要求2所述的方法,其特征在于,所述通过所述第一适配器,根据所述待调度任务、所述待调用数据和所述第二锁记录,从所述第一锁记录中确定出所述数据锁,包括:
通过所述第一适配器确定所述待调度任务在所述调度框架中对应的调度器,以及从所述第二锁记录中确定所述待调用数据的第一锁;
通过所述第一适配器,根据所述调度器的名称与所述第一锁的名称,确定出所述待调用数据在所述第一锁记录中的第二锁的名称;所述第二锁为所述待调用数据的数据锁。


4.如权利要求2所述的方法,其特征在于,所述向所述目标数据库提交抢锁事务,包括:
通过所述互斥锁获取接口创建所述抢锁事务;所述抢锁事务用于将所述第一锁记录中所述持有标识的指示修改为:所述数据锁为占用状态;
通过所述互斥锁获取接口提交所述抢锁事务。


5.如权利要求1至4任一项所述的方法,其特征在于,所述获取所述数据锁的持有标识之后,还包括:
若所述持有标识指示所述数据锁为占用状态,或所述持有标识指示所述数据锁为空闲状态且所述抢锁事务提交失败,则确定截止本次获取到所述持有标识时所述持有标识已获取到的累计次数;
若所述持有标识已获取到的累计...

【专利技术属性】
技术研发人员:刘建波
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1