基于ZooKeeper的分布式定时任务分发处理方法及系统技术方案

技术编号:36540331 阅读:27 留言:0更新日期:2023-02-01 16:37
本发明专利技术提供了一种基于ZooKeeper的分布式定时任务分发处理方法及系统,包括:将服务与ZooKeeper模块连接;定时任务分发服务监听ZooKeeper模块在所述服务中获取所有存活的服务,并给所述存活的服务对应编号;获取所有待处理的任务,得到所述编号对应的任务集;将所述任务集对应编号映射任务处理器对应服务,并分发任务集到对应任务处理器中执行。本发明专利技术通过集中管理定时任务的触发以及分发让开发人员从定时任务,分布式锁的实现脱离出来,降低了开发难度,提升了开发效率。提升了开发效率。提升了开发效率。

【技术实现步骤摘要】
基于ZooKeeper的分布式定时任务分发处理方法及系统


[0001]本专利技术涉及计算机
,具体地,涉及一种基于ZooKeeper的分布式定时任务分发处理方法及系统。

技术介绍

[0002]ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
[0003]专利文献CN112433830A公开了一种基于ZooKeeper的分布式任务调度方法、系统及存储介质,该方法包括:利用调度中心服务器向ZooKeeper集群创建临时节点,其中,每个临时节点对应一个节点序号;利用调度中心服务器基于临时节点的节点序号进行选举,以从所有临时节点中选择一个临时节点来触发任务。
[0004]但是专利文献CN112433830A只能有一台服务器获得定时任务执行权,无法充分利用集群服务资源。
[0005]专利文献CN105100259A公开了一种分本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于ZooKeeper的分布式定时任务分发处理方法,其特征在于,包括:步骤S1:将服务与ZooKeeper模块连接;步骤S2:定时任务分发服务监听ZooKeeper模块,获取所述服务并处理后分发到对应的任务处理器中执行。2.根据权利要求1所述的基于ZooKeeper的分布式定时任务分发处理方法,其特征在于,所述步骤S2在独立的定时任务分发服务模块中处理,包括如下子步骤:步骤S2.1:在所述服务中获取所有存活的服务,并给所述存活的服务对应编号;步骤S2.2:获取所有待处理的任务,得到所述编号对应的任务集;步骤S2.3:将所述任务集对应编号映射任务处理器对应服务,并分发任务集到对应任务处理器中执行。3.根据权利要求1所述的基于ZooKeeper的分布式定时任务分发处理方法,其特征在于,所述任务处理器数量有一个或多个;所述任务处理器包含任务接收接口,所述任务接收接口能够接收处理定时任务分发服务模块分发的任务;能够根据不同业务类型的定时任务对接口进行实现;并根据不同的业务类型对任务处理器编码,使得定时任务与任务处理器一一对应匹配。4.根据权利要求2所述的基于ZooKeeper的分布式定时任务分发处理方法,其特征在于,步骤S2.2包括:步骤S2.2.1:获取所有待处理的任务,根据任务配置的任务周期,筛选当前任务中需处理的任务数;步骤S2.2.2:获取所有任务周期,计算下次最近任务周期触发时间T1,若无待处理任务或计算下次触发周期大于设定阈值T0,则定时任务分发服务下次触发周期为T0否则为T1。5.根据权利要求2所述的基于ZooKeeper的分布式定时任务分发处理方法,其特征在于,步骤S2.3包括:步骤S2.3.1:定时任务分发服务调用对应主服务任务接受接口;步骤S2.3.2:任务接收器获取任务集且遍历任务集,并根据业务类型代码分发到对应的任务处理器中处理;步骤S2.3.3:任务处理器处理对应的任务,并判断当前任务处理是否异常,若否,则更新数据库当前任务状态为处理完成;若是,则触发步骤S2.3.4;步骤S2.3.4:判断当前任务版本是否大于设定值,若是,则更新数据库当前任务状态为失败且不再进入下个任务周期;若否,则当前任务数据版本号加一,触发步骤S2.2在下个周期继续执行。6.一种基于Z...

【专利技术属性】
技术研发人员:吴炜东肖健郑少聪陈志强
申请(专利权)人:兴业数字金融服务上海股份有限公司
类型:发明
国别省市:

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

1