CN109636175A - 一种企业系统定时任务的自动处理方法 - Google Patents
一种企业系统定时任务的自动处理方法 Download PDFInfo
- Publication number
- CN109636175A CN109636175A CN201811495549.7A CN201811495549A CN109636175A CN 109636175 A CN109636175 A CN 109636175A CN 201811495549 A CN201811495549 A CN 201811495549A CN 109636175 A CN109636175 A CN 109636175A
- Authority
- CN
- China
- Prior art keywords
- task
- timed task
- timed
- information table
- processing method
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种企业系统定时任务的自动处理方法,包括:在前端设置定时任务计划表、进度排除日期表、任务流信息表、任务单元信息表;在后端取得定时任务计划表;依次判断定时任务计划表中的每条记录是否在发布状态,对不在发布状态的记录配置定时任务的触发周期、需要排除的特定日期和指定的触发任务,按照触发周期启动该定时任务,在执行指定的触发任务时,根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口;定期检查定时任务计划表的信息更新情况,更新新增的或变更的记录。与现有技术相比,本发明利用成熟的主流构架,可以保证系统的高效性和稳定性,不用重新建造“轮子”,也大大减少了系统的复杂性。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种企业系统定时任务的自动处理方法。
背景技术
在应用系统中,由于业务需求的经常变化,需要经常定制一些特殊周期、特定任务的后台处理,市面的软件或架构常常没有办法提供一套完整的令人完全满意的技术解决方案。很多软件不能提供特殊的时间周期定义,比如国内的节假日或一些企业内的突发假期,导致很多设备需要切换到手动模式由人工来进行手动操作;又比如新增的一些处理内容,经常要系统下线,然后发布,很可能造成一些处理的遗漏,对正常的生产流程带来风险。又或者为了满足以上需求直接完全自我重新开发,费时费力,而且因为自我构建的架构没有得到充分应用,可能对系统未来的运行效率和稳定性也会造成很大的风险。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种企业系统定时任务的自动处理方法。
本发明的目的可以通过以下技术方案来实现:
一种企业系统定时任务的自动处理方法,采用多线程架构,包括:
在前端设置定时任务计划表、进度排除日期表、任务流信息表、任务单元信息表,所述定时任务计划表中包括多条定时任务计划的记录;
在后端取得定时任务计划表;
依次判断定时任务计划表中的每条记录是否在发布状态,对不在发布状态的记录配置定时任务的触发周期、需要排除的特定日期和指定的触发任务,按照触发周期启动该定时任务,在执行指定的触发任务时,根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口;
定期检查定时任务计划表的信息更新情况,更新新增的或变更的记录,新增的记录启动新的线程执行。
优选的,所述定时任务的启动通过基于Actor模型的多线程架构实现。
优选的,所述定时任务的触发周期的配置通过Quartz框架实现。
优选的,所述根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口具体通过Spring Batch批处理框架实现。
优选的,所述更新变更的记录具体包括:变更的记录对应的旧的定时任务停止,根据变更的记录内容确定是否启动新的定时任务。
优选的,所述服务接口为RESTful软件架构的Web Service接口。
优选的,所述定时任务计划表中包含的属性有:任务进度ID、任务进度名称、进度描述、进度任务类型、设备组ID、开始日期、开始时间、结束日期、结束时间、时间进度配置、时间进度节假日类型、任务流ID、发布状态。
优选的,所述进度排除日期表中包含的属性有:任务进度ID、排除日期。
优选的,所述任务流信息表中包含的属性有:任务流ID、任务流描述、任务触发种类、执行日志标记、发布状态。
优选的,所述任务单元信息表中包含的属性有:子任务ID、任务流ID、任务单元ID、子任务描述、调用Method、调用接口、父子任务ID、父任务流转条件。
与现有技术相比,本发明具有以下优点:
1、利用成熟的主流架构Akka+Quartz+Spring Batch+RESTful,可以保证系统的高效性和稳定性,不用重新建造“轮子”,也大大减少了系统的复杂性。
2、可灵活的配置定时任务的时间周期定义,特别是需要特殊排除的日期。
3、任务流可以灵活的自定义复杂流程的任务单元,当不能重启平台的时候,可以通过增加一个Web Service服务,可以保证平台的在线部署。
附图说明
图1为本发明方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本申请提出一种企业系统定时任务的自动处理方法,采用多线程架构,包括:
在前端设置定时任务计划表、进度排除日期表、任务流信息表、任务单元信息表,定时任务计划表中包括多条定时任务计划的记录;
在后端取得定时任务计划表;
依次判断定时任务计划表中的每条记录是否在发布状态,对不在发布状态的记录配置定时任务的触发周期、需要排除的特定日期和指定的触发任务,按照触发周期启动该定时任务,在执行指定的触发任务时,根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口;
定期检查定时任务计划表的信息更新情况,更新新增的或变更的记录,新增的记录启动新的线程执行,变更的记录对应的旧的定时任务停止,根据变更的记录内容确定是否启动新的定时任务。
本实施例中,本方法采用了当前的主流技术Akka+Quartz+Spring Batch+RESTful技术。Akka是基于Actor模型的多线程架构,通过Akka灵活的多线程架构来生成启动一个一个定时任务,并监控定时任务的生命周期,并根据定时任务的增加修改或删除,来在线动态的调整多定时任务的状态;Quartz框架负责定时任务的触发周期的配置,即对定义的定时任务进行在线动态的时间周期的定义,并定时的发布任务流;Spring Batch批处理框架负责对定义的任务流按照流程执行制定的服务接口,本实施例中为Web Service服务接口;RESTful Web Service定义的任务可以是系统自己定义的RESTful Web Service接口,也可以是来自第三方的RESTful Web Service接口,增加的服务可单独部署,不用影响主系统的在线状态。
其中,定时任务计划表中包含的属性有:任务进度ID、任务进度名称、进度描述、进度任务类型、设备组ID、开始日期、开始时间、结束日期、结束时间、时间进度配置(内容为Quartz中定义的时间进度格式)、时间进度节假日类型、任务流ID、发布状态。
其中,进度排除日期表中包含的属性有:任务进度ID、排除日期。
其中,任务流信息表中包含的属性有:任务流ID、任务流描述、任务触发种类、执行日志标记、发布状态。
其中,任务单元信息表中包含的属性有:子任务ID、任务流ID、任务单元ID、子任务描述、调用Method、调用接口、父子任务ID、父任务流转条件
如图1所示,本实施中,本方法的具体实现过程包括以下步骤:
401、在Web服务器程序中设置定时任务计划表、进度排除日期表、任务流信息表、任务单元信息表;
402、通过Akka进程启动一个定时任务管理的Actor线程,取得定时任务计划表;
403、循环判断定时任务计划表的记录是否在发布状态,对不在发布状态的记录执行步骤404;
404、通过Quartz架构,配置定时任务的触发周期、需要排除的特定日期和指定的触发任务,然后启动定时任务;
405、通过Quartz架构机制,定时任务在步骤404中设置的时间节点被触发执行;
406、在定时任务处理中,根据任务计划表主键,查找相应的任务流信息表,然后执行步骤407;
407、调用Spring batch的实例,根据任务流信息表及子表任务单元信息表的内容,按顺序调用任务单元信息表中指定的RESTful的Web Service接口;
408、在Akka中的Actor主线程中定时执行步骤402,查看定时任务计划表的更新信息;
409、判断变更信息的定时任务计划表的记录是否在正在执行的定时任务队列里,若是,则执行步骤410,否则返回执行步骤402;
410、停止存在于正在执行的定时任务队列里的变更的定时任务记录的任务,然后返回执行步骤402。
Claims (10)
1.一种企业系统定时任务的自动处理方法,采用多线程架构,其特征在于,包括:
在前端设置定时任务计划表、进度排除日期表、任务流信息表、任务单元信息表,所述定时任务计划表中包括多条定时任务计划的记录;
在后端取得定时任务计划表;
依次判断定时任务计划表中的每条记录是否在发布状态,对不在发布状态的记录配置定时任务的触发周期、需要排除的特定日期和指定的触发任务,按照触发周期启动该定时任务,在执行指定的触发任务时,根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口;
定期检查定时任务计划表的信息更新情况,更新新增的或变更的记录,新增的记录启动新的线程执行。
2.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述定时任务的启动通过基于Actor模型的多线程架构实现。
3.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述定时任务的触发周期的配置通过Quartz框架实现。
4.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述根据任务流信息表的内容按顺序调用任务单元信息表中指定的服务接口具体通过SpringBatch批处理框架实现。
5.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述更新变更的记录具体包括:变更的记录对应的旧的定时任务停止,根据变更的记录内容确定是否启动新的定时任务。
6.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述服务接口为RESTful软件架构的Web Service接口。
7.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述定时任务计划表中包含的属性有:任务进度ID、任务进度名称、进度描述、进度任务类型、设备组ID、开始日期、开始时间、结束日期、结束时间、时间进度配置、时间进度节假日类型、任务流ID、发布状态。
8.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述进度排除日期表中包含的属性有:任务进度ID、排除日期。
9.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述任务流信息表中包含的属性有:任务流ID、任务流描述、任务触发种类、执行日志标记、发布状态。
10.根据权利要求1所述的一种企业系统定时任务的自动处理方法,其特征在于,所述任务单元信息表中包含的属性有:子任务ID、任务流ID、任务单元ID、子任务描述、调用Method、调用接口、父子任务ID、父任务流转条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495549.7A CN109636175A (zh) | 2018-12-07 | 2018-12-07 | 一种企业系统定时任务的自动处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495549.7A CN109636175A (zh) | 2018-12-07 | 2018-12-07 | 一种企业系统定时任务的自动处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109636175A true CN109636175A (zh) | 2019-04-16 |
Family
ID=66071988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811495549.7A Pending CN109636175A (zh) | 2018-12-07 | 2018-12-07 | 一种企业系统定时任务的自动处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636175A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221906A (zh) * | 2019-05-24 | 2019-09-10 | 吉首大学 | 一种Asp.Net运行定时任务的方法和系统 |
CN111580942A (zh) * | 2020-03-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 分布式系统定时任务的处理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336253A (ja) * | 1997-05-29 | 1998-12-18 | Nec Corp | 信号線監視装置 |
CN101887381A (zh) * | 2010-06-22 | 2010-11-17 | 北京伟库电子商务科技有限公司 | 基于Quartz框架的配置定时任务的方法和装置 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN106647945A (zh) * | 2016-12-15 | 2017-05-10 | 北京奇虎科技有限公司 | 可穿戴设备任务计划调整方法及设备 |
CN106775985A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 一种批处理任务调度方法及装置 |
-
2018
- 2018-12-07 CN CN201811495549.7A patent/CN109636175A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336253A (ja) * | 1997-05-29 | 1998-12-18 | Nec Corp | 信号線監視装置 |
CN101887381A (zh) * | 2010-06-22 | 2010-11-17 | 北京伟库电子商务科技有限公司 | 基于Quartz框架的配置定时任务的方法和装置 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN106647945A (zh) * | 2016-12-15 | 2017-05-10 | 北京奇虎科技有限公司 | 可穿戴设备任务计划调整方法及设备 |
CN106775985A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 一种批处理任务调度方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221906A (zh) * | 2019-05-24 | 2019-09-10 | 吉首大学 | 一种Asp.Net运行定时任务的方法和系统 |
CN111580942A (zh) * | 2020-03-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 分布式系统定时任务的处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503132B (zh) | 一种分布式事务管理方法及系统 | |
CN102592198B (zh) | 一种支持组合业务的工作流引擎 | |
CN113569987A (zh) | 模型训练方法和装置 | |
CN105719126B (zh) | 一种基于生命周期模型的互联网大数据任务调度的系统及方法 | |
TWI564805B (zh) | Can dynamically adjust the task scheduling system and scheduling methods | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN109634589A (zh) | 一种针对污水处理工艺自动实时报警任务的处理方法 | |
CN109636175A (zh) | 一种企业系统定时任务的自动处理方法 | |
CN111240935B (zh) | 一种自动化智能运维系统及运维方法 | |
CN112130869B (zh) | 一种ai平台镜像处理的方法和装置 | |
US20030212989A1 (en) | System and method for time compression during software testing | |
CN103197927B (zh) | 一种柔性工作流的实现方法及其系统 | |
CN116089027A (zh) | 一种基于jvm的非阻塞分布式计划任务调度方法 | |
CN115328626A (zh) | 一种支持流批一体的大数据引擎分布式任务调度方法 | |
CN112346842A (zh) | 一种基于有向无环图的工作流任务调度方法 | |
CN110019260B (zh) | 一种用户数据的更新方法及相关设备 | |
CN110334001A (zh) | 一种批量自动生成回声测试的方法和装置 | |
CN106886452B (zh) | 一种简化云化系统任务调度的方法 | |
CN113119127A (zh) | 一种rpa机器人的任务调度方法和系统 | |
CN110825507B (zh) | 一种支持多任务重跑的调度方法 | |
CN117370337A (zh) | 分区创建方法、装置、计算机设备和存储介质 | |
CN113568842B (zh) | 一种批量任务自动化测试方法及系统 | |
CN112256978B (zh) | 一种基于数据模型的数据处理方法、装置、介质 | |
CN109144486A (zh) | 一种无状态化的工作流程实现方法 | |
CN113238735A (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: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |