CN112346837A - 一种工业物联网下分布式定时器系统 - Google Patents
一种工业物联网下分布式定时器系统 Download PDFInfo
- Publication number
- CN112346837A CN112346837A CN202011169126.3A CN202011169126A CN112346837A CN 112346837 A CN112346837 A CN 112346837A CN 202011169126 A CN202011169126 A CN 202011169126A CN 112346837 A CN112346837 A CN 112346837A
- Authority
- CN
- China
- Prior art keywords
- admin
- job
- task
- scheduling
- job task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/20—Analytics; Diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种工业物联网下分布式定时器系统,包括若干Job Task和一调度中心,所述的调度中心为admin,所述的若干Job Task注册到admin中并由admin管理,所述的admin对已经注册过来的Job Task配置定时器触发的时间,admin统一管理任务调度平台上分散的若干Job Task,负责触发调度执行,并且提供任务管理平台;所述的分散的Job Task集群部署执行器,admin使用负载策略找到集群中的Job Task进行任务调度。该工业物联网下分布式定时器系统,单独部署定时任务,做到服务的高可用,实现负载策略和整个定时系统的健康检查。
Description
技术领域
本发明涉及工业物联网的技术领域,尤其是一种工业物联网下分布式定时器系统。
背景技术
目前,在工业物联网中,传统的定时器系统Quartz往往是单节点的服务,并且定时器系统与业务系统耦合在一起,这很难适用于工业物联网场景,定时任务有成百上千个,这种定时器系统不能做到高可用,也不能做到灵活扩展。
发明内容
本发明要解决的技术问题是:为了解决上述背景技术中存在的问题,提供一种工业物联网下分布式定时器系统,单独部署定时任务,做到服务的高可用,实现负载策略和整个定时系统的健康检查。
本发明解决其技术问题所采用的技术方案是:一种工业物联网下分布式定时器系统,包括若干Job Task和一调度中心,所述的调度中心为admin,所述的若干Job Task注册到admin中并由admin管理,所述的admin对已经注册过来的Job Task配置定时器触发的时间,admin统一管理任务调度平台上分散的若干Job Task,负责触发调度执行,并且提供任务管理平台;所述的分散的Job Task集群部署执行器,admin使用负载策略找到集群中的Job Task进行任务调度。
进一步具体地说,上述技术方案中,同一个Job Task可以部署在不同的机器JobTask的列表中,admin定时发送心跳给Job Task,以检测每台机器上Job Task是否可用。
进一步具体地说,上述技术方案中,所述的Job Task服务的剔除策略是:首先在admin系统中设置一个心跳等待的时间,然后admin发送心跳给Job Task,如果Job Task超过这个时间没有收到响应,admin则会把这个Job Task剔除,之后就不会使用这个Job Task来处理定时业务。
进一步具体地说,上述技术方案中,所述的admin底层通过Timer类的api使用配置的定时器触发的时间去调度具体的Job Task,并使用相应的负载均衡。
进一步具体地说,上述技术方案中,所述的admin记录每个Job Task执行的日志和每个Job Task任务调度的历史信息。
进一步具体地说,上述技术方案中,所述的每个Job Task执行的日志和每个JobTask任务调度的历史信息包括调度结果、执行结果、调度入参、调度机器以及Job Task。
进一步具体地说,上述技术方案中,所述的admin根据记录的Job Task的执行日志进行分析并产生报表。
进一步具体地说,上述技术方案中,所述的分析内容包括执行成功失败的次数、原因以及异常的类型。
进一步具体地说,上述技术方案中,每个Job Task都会配置admin的地址,当JobTask服务启动后就会注册到admin中。
进一步具体地说,上述技术方案中,当执行器集群部署时,提供路由策略;路由策略包括FIRST、LAST、ROUND、RANDOM、CONSISTENT_HASH、LEAST_FREQUENTLY_USED、LEAST_RECENTLY_USED、FAILOVER、BUSYOVER以及SHARDING_BROADCAST。
本发明的有益效果是:本发明提供的一种工业物联网下分布式定时器系统具有以下优点:
一、通过单独部署定时任务,解决了定时任务和其他业务逻辑的耦合;
二、通过定时任务服务集群部署,解决了传统的Quartz并发数低,做到了服务的高可用;
三、通过admin管理Job Task,实现了负载策略和整个定时系统的健康检查,以及调度日志和执行报表的分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的工作原理图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
见图1,本发明的一种工业物联网下分布式定时器系统,包括若干Job Task(调度任务)和一调度中心,调度中心为admin(公共平台),若干Job Task注册到admin中并由admin管理,admin统一管理任务调度平台上分散的若干Job Task,负责触发调度执行,并且提供任务管理平台。
将调度行为抽象形成调度中心,即admin(公共平台),而平台自身并不承担业务逻辑,调度中心负责发起调度请求。
在微服务架构的分布式系统中,将任务抽象成分散的Job Task,分散的Job Task构成一组集群,可以做到集群部署执行器,admin使用负载策略找到集群中的Job Task进行任务调度。Admin维护一组可用调度中心负责管理调度任务Job Task。
因此“调度模块”和“任务模块”完全解耦,“调度模块”进行任务调度时,将会解析不同的任务参数发起远程调用,调用各自的远程执行Job Task。这种调用模型类似RPC调用,调度中心提供调用代理的功能,而执行器提供远程服务的功能。
同一个Job Task可以部署在不同的机器Job Task的列表中,admin定时发送心跳给Job Task,以检测每台机器上Job Task是否可用。
Job Task服务的剔除策略是:首先在admin系统中设置一个心跳等待的时间,然后admin发送心跳给Job Task,如果Job Task超过这个时间没有收到响应,admin则会把这个Job Task剔除,之后就不会使用这个Job Task来处理定时业务。
admin触发调度执行,admin管理系统里可以对已经注册过来的Job Task配置定时器触发的时间,即Cron表达式进行任务调度触发。
admin底层通过Timer类的api使用配置的定时器触发的时间(Cron)去调度具体的Job Task,并使用相应的负载均衡。
在任务管理中,admin记录每个Job Task执行的日志和每个Job Task任务调度的历史信息。
每个Job Task执行的日志和每个Job Task任务调度的历史信息包括调度结果、执行结果、调度入参、调度机器以及Job Task等。
admin根据记录的Job Task的执行日志进行分析并产生报表。
分析内容包括执行成功失败的次数、原因以及异常的类型等报表分析。
Job Task是定时任务具体业务的参与者,处理具体的业务。
每个Job Task都会配置admin的地址,当Job Task服务启动后就会注册到admin中,并由admin管理。
Job Task负责接收调度中心的调度并执行,可直接集群部署执行器,也可以将执行器集成到现有业务项目中。
当执行器集群部署时,提供丰富的路由策略。
丰富的路由策略包括FIRST、LAST、ROUND、RANDOM、CONSISTENT_HASH、LEAST_FREQUENTLY_USED、LEAST_RECENTLY_USED、FAILOVER、BUSYOVER以及SHARDING_BROADCAST。
以上路由策略表达的意思具体如下:
FIRST(第一个):固定选择第一个机器;
LAST(最后一个):固定选择最后一个机器;
ROUND(轮询):按顺序选择一个机器;
举例:有订单服务集群实例:A,B,C,D......
第一次调用的是订单服务A,
第二次调用的订单服务B,
第三次调用的是订单服务C
......
RANDOM(随机):随机选择在线的机器;
CONSISTENT_HASH(一致性HASH):每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上;
LEAST_FREQUENTLY_USED(最不经常使用):使用频率最低的机器优先被选举;
LEAST_RECENTLY_USED(最近最久未使用):最久未使用的机器优先被选举;
FAILOVER(故障转移):按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度;
BUSYOVER(忙碌转移):按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度;
SHARDING_BROADCAST(分片广播):广播触发对应集群中所有机器执行一次任务,同时系统自动传递分片参数;可根据分片参数开发分片任务。
该工业物联网下分布式定时器系统,通过单独部署定时任务,解决了定时任务和其他业务逻辑的耦合;通过定时任务服务集群部署,解决了传统的Quartz并发数低,做到了服务的高可用;通过admin管理Job Task,实现了负载策略和整个定时系统的健康检查,以及调度日志和执行报表的分析。
以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种工业物联网下分布式定时器系统,其特征在于:包括若干Job Task和一调度中心,所述的调度中心为admin,所述的若干Job Task注册到admin中并由admin管理,所述的admin对已经注册过来的Job Task配置定时器触发的时间,admin统一管理任务调度平台上分散的若干Job Task,负责触发调度执行,并且提供任务管理平台;所述的分散的Job Task集群部署执行器,admin使用负载策略找到集群中的Job Task进行任务调度。
2.根据权利要求1所述的一种工业物联网下分布式定时器系统,其特征在于:同一个Job Task可以部署在不同的机器Job Task的列表中,admin定时发送心跳给Job Task,以检测每台机器上Job Task是否可用。
3.根据权利要求1或2所述的一种工业物联网下分布式定时器系统,其特征在于,所述的Job Task服务的剔除策略是:首先在admin系统中设置一个心跳等待的时间,然后admin发送心跳给Job Task,如果Job Task超过这个时间没有收到响应,admin则会把这个JobTask剔除,之后就不会使用这个Job Task来处理定时业务。
4.根据权利要求1所述的一种工业物联网下分布式定时器系统,其特征在于:所述的admin底层通过Timer类的api使用配置的定时器触发的时间去调度具体的Job Task,并使用相应的负载均衡。
5.根据权利要求1所述的一种工业物联网下分布式定时器系统,其特征在于:所述的admin记录每个Job Task执行的日志和每个Job Task任务调度的历史信息。
6.根据权利要求5述的一种工业物联网下分布式定时器系统,其特征在于:所述的每个Job Task执行的日志和每个Job Task任务调度的历史信息包括调度结果、执行结果、调度入参、调度机器以及Job Task。
7.根据权利要求5所述的一种工业物联网下分布式定时器系统,其特征在于:所述的admin根据记录的Job Task的执行日志进行分析并产生报表。
8.根据权利要求7所述的一种工业物联网下分布式定时器系统,其特征在于:所述的分析内容包括执行成功失败的次数、原因以及异常的类型。
9.根据权利要求1所述的一种工业物联网下分布式定时器系统,其特征在于:每个JobTask都会配置admin的地址,当Job Task服务启动后就会注册到admin中。
10.根据权利要求1所述的一种工业物联网下分布式定时器系统,其特征在于:当执行器集群部署时,提供路由策略;路由策略包括FIRST、LAST、ROUND、RANDOM、CONSISTENT_HASH、LEAST_FREQUENTLY_USED、LEAST_RECENTLY_USED、FAILOVER、BUSYOVER以及SHARDING_BROADCAST。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169126.3A CN112346837A (zh) | 2020-10-28 | 2020-10-28 | 一种工业物联网下分布式定时器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169126.3A CN112346837A (zh) | 2020-10-28 | 2020-10-28 | 一种工业物联网下分布式定时器系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346837A true CN112346837A (zh) | 2021-02-09 |
Family
ID=74358589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011169126.3A Pending CN112346837A (zh) | 2020-10-28 | 2020-10-28 | 一种工业物联网下分布式定时器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346837A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268300A1 (en) * | 2004-05-14 | 2005-12-01 | Microsoft Corporation | Distributed task scheduler for computing environments |
CN103259832A (zh) * | 2012-12-24 | 2013-08-21 | 中国科学院沈阳自动化研究所 | 实现动态负载平衡、故障诊断与转移的群集资源控制方法 |
CN105095008A (zh) * | 2015-08-25 | 2015-11-25 | 国电南瑞科技股份有限公司 | 一种适用于集群系统的分布式任务故障冗余方法 |
CN109408210A (zh) * | 2018-09-27 | 2019-03-01 | 北京车和家信息技术有限公司 | 分布式定时任务管理方法及系统 |
CN110555074A (zh) * | 2019-09-11 | 2019-12-10 | 山东浪潮商用系统有限公司 | 定时抽取和加工数据的方法、终端及计算机可读存储介质 |
CN110688101A (zh) * | 2019-09-26 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种基于xxl-job实现分布式调度任务的方法及系统 |
CN110798339A (zh) * | 2019-10-09 | 2020-02-14 | 国电南瑞科技股份有限公司 | 一种基于分布式任务调度框架的任务容灾方法 |
CN110888725A (zh) * | 2019-11-21 | 2020-03-17 | 北京明略软件系统有限公司 | 任务管理方法、装置、可读存储介质及电子设备 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
-
2020
- 2020-10-28 CN CN202011169126.3A patent/CN112346837A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268300A1 (en) * | 2004-05-14 | 2005-12-01 | Microsoft Corporation | Distributed task scheduler for computing environments |
CN103259832A (zh) * | 2012-12-24 | 2013-08-21 | 中国科学院沈阳自动化研究所 | 实现动态负载平衡、故障诊断与转移的群集资源控制方法 |
CN105095008A (zh) * | 2015-08-25 | 2015-11-25 | 国电南瑞科技股份有限公司 | 一种适用于集群系统的分布式任务故障冗余方法 |
CN109408210A (zh) * | 2018-09-27 | 2019-03-01 | 北京车和家信息技术有限公司 | 分布式定时任务管理方法及系统 |
CN110555074A (zh) * | 2019-09-11 | 2019-12-10 | 山东浪潮商用系统有限公司 | 定时抽取和加工数据的方法、终端及计算机可读存储介质 |
CN110688101A (zh) * | 2019-09-26 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种基于xxl-job实现分布式调度任务的方法及系统 |
CN110798339A (zh) * | 2019-10-09 | 2020-02-14 | 国电南瑞科技股份有限公司 | 一种基于分布式任务调度框架的任务容灾方法 |
CN110888725A (zh) * | 2019-11-21 | 2020-03-17 | 北京明略软件系统有限公司 | 任务管理方法、装置、可读存储介质及电子设备 |
CN111752696A (zh) * | 2020-06-25 | 2020-10-09 | 武汉众邦银行股份有限公司 | 一种基于rpc及线程锁的分布式定时任务调度方法 |
Non-Patent Citations (1)
Title |
---|
进击的阿黑: "《分布式任务调度平台 XXL-JOB》", 《HTTPS://WWW.JIANSHU.COM/P/E0B953184EB4》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958920B (zh) | 一种分布式任务调度方法及系统 | |
CN112000448A (zh) | 基于微服务架构的应用管理方法 | |
CN110888719A (zh) | 一种基于web服务的分布式任务调度系统及方法 | |
US20070299943A1 (en) | Ignoring redundant symptoms in modular self-healing systems | |
CN106789141B (zh) | 一种网关设备故障处理方法及装置 | |
CN111858001A (zh) | 一种基于服务于微服务架构系统的工作流处理方法 | |
CN107623731B (zh) | 一种任务调度方法、客户端、服务集群及系统 | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN110557416B (zh) | 一种多节点协同打块的方法及系统 | |
US20200092157A1 (en) | Method And System For Clustered Real-Time Correlation Of Trace Data Fragments Describing Distributed Transaction Executions | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN111831424A (zh) | 一种任务处理方法、系统及装置 | |
CN112231223A (zh) | 基于mqtt的分布式自动化软件测试方法及系统 | |
CN113535362A (zh) | 一种分布式调度系统架构和微服务工作流调度方法 | |
CN113965576B (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN113220480B (zh) | 分布式的数据任务跨云调度系统及方法 | |
CN117149396B (zh) | 一种集群故障转移方法及装置、设备及存储介质 | |
CN112346837A (zh) | 一种工业物联网下分布式定时器系统 | |
CN112380030A (zh) | 主任务处理方法、装置、服务器和存储介质 | |
CN111722917A (zh) | 性能测试任务的资源调度方法、装置和设备 | |
CN112817706A (zh) | 一种分布式任务调度系统和方法 | |
CN109634749B (zh) | 一种分布式统一调度方法及设备 | |
CN114710485A (zh) | 处理方法和处理装置 | |
CN116954871B (zh) | 异步分发任务数据链管理方法及系统 | |
CN110740151A (zh) | 一种微服务调整方法、装置、服务器及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210209 |
|
RJ01 | Rejection of invention patent application after publication |