【技术实现步骤摘要】
分布式任务调度方法、装置、计算机设备和存储介质
[0001]本申请涉及大数据
,特别是涉及一种分布式任务调度方法
、
装置
、
计算机设备
、
存储介质和计算机程序产品
。
技术介绍
[0002]在分布式系统通常都要求在相同的分布式集群中的各个服务器节点是无状态的,可以独立
、
并行地处理相同业务逻辑的任务,其中,银行系统中的批处理是一个典型的应用场景
。
批处理场景要求在较短的时间窗口内完成数以千万甚至上亿的账户数据,这些账户的处理逻辑都是相同的,但由于数量巨大
、
复杂度高,靠单一机器很难满足时间要求,需要一个集群的多个服务器同时处理
。
[0003]当前针对上述场景的解决方案是使用消息队列的中间件产品,将需要处理的数据封装成一个个消息放到队列中,由消费者集群进行处理;消息队列中间件产品包括
ActiveMQ、RabbitMQ、RocketMQ、Kafka。
[0004]然而,无论 ...
【技术保护点】
【技术特征摘要】
1.
一种分布式任务调度方法,其特征在于,所述方法包括:获取任务实例表;所述任务实例表用于记录分布式集群的待分配任务和所述分布式集群中各节点的待处理任务;所述待分配任务包括尚未分配执行节点的任务,所述待处理任务包括已分配至节点且尚未被执行的任务;根据任务实例表,确定分布式集群中各节点的当前任务数;所述当前任务数包括所述待处理任务的数量;根据各所述节点的当前任务数,派发各所述待分配任务至在线节点中的目标节点;所述在线节点为所述分布式集群中处于在线状态的节点;将派发完成的所述待分配任务更新为所述待处理任务
。2.
根据权利要求1所述的方法,其特征在于,所述根据各所述节点的当前任务数,派发各所述待分配任务至在线节点中的目标节点,包括:根据各所述节点的当前任务数,确定任务派发规则;所述任务派发规则用于保证派发后各节点的任务数量趋于一致;根据所述任务派发规则,派发各所述待分配任务至所述目标节点
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:创建各节点的任务扫描线程;根据所述任务扫描线程扫描更新后的所述任务实例表,确定各节点的所述待处理任务;将所述待处理任务添加至对应节点的任务处理线程池中;按照所述任务处理线程池中的预设任务执行顺序,执行所述待处理任务
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:创建各节点的心跳线程;所述心跳线程用于在预设时间产生心跳信号;汇总各节点的所述心跳信号,得到集群节点注册表;所述集群节点注册表用于记录各节点的活跃状态;将所述集群节点注册表中所述活跃状态为所述在线状态的节点,确定为所述在线节点
。5.
根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述集群节点注册表,确定所述活跃状态为下线状态的节点;将所述下线状态的节点的所述待处理任务初始化为所述待分配任务
。6.
根据权利要求3所述的方法,其特征在于,所述方法还包括:获取所述分布式集群针对各任务的任务需求参数;根据所述任务需求参数进行任务生产,将生产得到的任务作为所述待分配任务记录在所述任务实例表中;所述执行所述待处理任务,包括:根据所述任务需求参数调用执行任务所需的资源数据;利用所述资源数据执行所述待处理任务
。7.
根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述待处理任务执行之前,对所述待处理任务施加数据库事务锁;所述数据库事务锁用于保证任务的状态在任务执行过程中不被更改;
在所述待处理任务执行之后,解除所述数据库事务锁
。8.
一种分布式任务调度装置,其特征在于,所述装置包括:任务实例表获取模块,用于获取任务实例表;所述任务实例表用于记录分布式集群的待分配任务和所述分布式集群中各节点的待处理任务;所述待分配任务包括尚未分配执行节点的任务,所述待处理任务包括已分配至节点且尚未被执行的任务;当前任务数确定模块,用于根据任务实例表,确定分布式集群中各节点的当前任务数;所述当前任务数包括所述待处理任务的数量;任务派发模块,用于根据各所述节点的当前任务数,派发各所述待分配任务至在线节点中的目标节点;所述在线节点为所述分布...
【专利技术属性】
技术研发人员:陈南鹏,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。