[发明专利]一种基于去中心化作业任务的分布式高并发调度系统在审
申请号: | 202210669827.6 | 申请日: | 2022-06-14 |
公开(公告)号: | CN115061814A | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 钱苏晋;熊江舟;吴志勇;饶涛;邓亮戈 | 申请(专利权)人: | 北京恒泰实达科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 于国强 |
地址: | 100194 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中心 化作 任务 分布式 并发 调度 系统 | ||
本发明公开了一种基于去中心化作业任务的分布式高并发调度系统,包括,分布式消息队列;节点;节点包括调度器和执行器;内存数据库;用于作为缓存使用;节点发送数据至指定的分布式消息队列中,供其他节点消费,进而实现与其他节点的数据交互通信;对于发送的重要数据,自动保存在内存数据库中,以便提高数据持久化效率。优点是:实现调度器的可水平扩展,实现其分布式功能,保证每一个调度器都在执行调度任务,所有节点中有且仅有一个调度器节点在工作;尽最大可能的利用服务器提升性能。
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种基于去中心化作业任务的分布式高并发调度系统。
背景技术
xxl-job是一款分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
xxl-job采用中心化管理方案,主要通过MySQL管理各种定时任务信息,当到了定时任务的触发时间,就把任务信息从数据库中拉进内存,对任务执行器发起触发请求。这个任务执行器,既可以是bean、groovy脚本、python脚本等,也可以是外部的http接口。
xxl-job包括如下中药特性:
(1)、简单易用;支持通过Web页面对任务进行CRUD操作,操作简单,布署方便,易于维护。
(2)弹性扩容缩容;一旦有新执行器机器上限或者下线,下次调度时将会重新分配任务。
(3)故障转移;任务路由策略选择“故障转移”情况下,如果执行器集群中某一台机器故障,将会自动Failover切换到一台正常的执行器发送调度请求。
(4)一致性;调度中心通过DB锁保证集群分布式调度的一致性,依次调度任务只会触发一次执行。
(5)任务失败重试;支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试,其中分片任务支持分片粒度的失败重试。
(6)阻塞处理策略;调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度。
(7)任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式。
但是,该技术主要应用于低并发的中小级业务系统,用于保证任务的准确性和可靠性;针对大并发或大数据场景,则xxl-job存在以下缺点:
(1)必须依赖关系数据库;xxl-job需要依赖关系型数据库(如mysql、postgresql),如实现作业的存储,如通过数据库锁保证一致性等;因此在大并发时,随时作业增多,执行器节点水平扩增,会增大数据库的压力,因此并发量会有一定上限。
(2)调度器不支持高性能集群;xxl-job调度中心采用中心化布署,支持多节点部署,但其同一时刻只允许只有一个调度节点触发任务的调度工作,无法实现调度中心集群的优势,只是单纯实现了调度器高可用。
(3)Ack机制影响性能;xxl-job支持对作业执行结果的跟踪与监视,虽保证作业执行的可靠性,但是大大降低其性能。
发明内容
本发明的目的在于提供一种基于去中心化作业任务的分布式高并发调度系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于去中心化作业任务的分布式高并发调度系统,包括,
分布式消息队列;用于实现包括心跳、作业全量加载、作业全量同步、作业分派和作业调度在内的数据交互;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京恒泰实达科技股份有限公司,未经北京恒泰实达科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210669827.6/2.html,转载请声明来源钻瓜专利网。