CN112346837A - 一种工业物联网下分布式定时器系统 - Google Patents

一种工业物联网下分布式定时器系统 Download PDF

Info

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
Application number
CN202011169126.3A
Other languages
English (en)
Inventor
刘滨
韩锦
潘正颐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changzhou Weiyizhi Technology Co Ltd
Original Assignee
Changzhou Weiyizhi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changzhou Weiyizhi Technology Co Ltd filed Critical Changzhou Weiyizhi Technology Co Ltd
Priority to CN202011169126.3A priority Critical patent/CN112346837A/zh
Publication of CN112346837A publication Critical patent/CN112346837A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/20Analytics; 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。
CN202011169126.3A 2020-10-28 2020-10-28 一种工业物联网下分布式定时器系统 Pending CN112346837A (zh)

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)

* Cited by examiner, † Cited by third party
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及线程锁的分布式定时任务调度方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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