CN105955811A - 一种基于远程调用方式实现任务调度的***及方法 - Google Patents
一种基于远程调用方式实现任务调度的***及方法 Download PDFInfo
- Publication number
- CN105955811A CN105955811A CN201610291021.2A CN201610291021A CN105955811A CN 105955811 A CN105955811 A CN 105955811A CN 201610291021 A CN201610291021 A CN 201610291021A CN 105955811 A CN105955811 A CN 105955811A
- Authority
- CN
- China
- Prior art keywords
- task
- configuration
- scheduling
- file
- module
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于远程调用方式实现任务调度的***及方法,其中***包括用于创建多个不同类型线程的线程创建模块、用于从任务列表中扫描任务的扫描模块、用于进行任务调度的调度模块和用于调度成功后进行任务列表更新的更新模块;本发明将需要调度执行的任务保存到设置在数据库的任务列表中,通过调用远程应用***的远程服务单独启动调度任务程序,读取任务列表中的数据并根据配置文件中配置内容和算法来执行任务,将任务调度与应用***分离,可单独启停,易于管理且配置简单,程序可移植性好、可扩展性好,从而达到灵活、快速、高效的执行调度任务。
Description
技术领域
本发明主要涉及数据处理技术领域,具体涉及一种基于远程调用方式实现任务调度的***及方法。
背景技术
任务调度是***的重要组成部分,而对于实时***,任务调度直接影响其实时性能。一般执行任务调度会采用Java自带的java.util.Timer类、Quartz、spring3.0自带的定时任务来实现,但是以上三种定时调度都需要和应用集成在一起,启停都是一起启停,如果想单独管理任务调度十分不便。
发明内容
本发明所要解决的技术问题是提供一种基于远程调用方式实现任务调度的***及方法,将需要调度执行的任务保存到设置在数据库的任务列表中,通过调用远程应用***的远程服务单独启动调度任务程序,读取任务列表中的数据并根据配置文件中配置内容和算法来执行任务,从而达到灵活、快速、高效的执行调度任务。
本发明解决上述技术问题的技术方案如下:一种基于远程调用的方式实现任务调度的***,包括线程创建模块、扫描模块、调度模块和更新模块,
所述线程创建模块,用于创建多个不同类型的线程;
所述扫描模块,用于根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
所述调度模块,用于根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功,向更新模块发送更新指令,否则,根据失败预设值判断是否重新进行扫描和调度任务;
所述更新模块,用于根据更新指令来更新所述任务列表中该任务的记录。
任务调度:指基于给定时间点,给定时间间隔或者给定执行次数自动执行既定任务。
webservice:是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作***中实施运行,它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
本发明的有益效果是:将需要调度执行的任务保存到设置在数据库的任务列表中,通过调用远程应用***的远程服务单独启动调度任务程序,读取任务列表中的数据并根据配置文件中配置内容和算法来执行任务,将任务调度与应用***分离,可单独启停,易于管理且配置简单,程序可移植性好、可扩展性好,从而达到灵活、快速、高效的执行调度任务。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述调度模块中,若任务调度成功,则向更新模块发送更新指令,否则,判断失败次数是否达到失败预设值,如果未达到,则调用扫描模块继续扫描该任务,再执行该任务的调度,如果达到,则不再调用扫描模块扫描该任务。
采用上述进一步方案的有益效果是:保证了任务调度的稳定性。
进一步,所述调度模块中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
采用上述进一步方案的有益效果是:能够保证任务调度执行时稳定,不容易出错。
进一步,还包括配置文件修改模块,其用于根据当前的任务对配置文件进行修改,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
采用上述进一步方案的有益效果是:根据任务需求,可针对性的进行任务配置,利于实施不同的任务调度,易于执行和管理。
进一步,还包括启动文件修改模块,其用于根据当前的任务对启动文件进行修改,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
采用上述进一步方案的有益效果是:根据任务需求,可针对性的进行任务设置启动文件,利于实施不同的任务调度,易于执行和管理。
本发明解决上述技术问题的另一技术方案如下:一种基于远程调用的方式实现任务调度的方法,包括如下步骤:
步骤S1:创建多个不同类型的线程;
步骤S2:根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
步骤S3:根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功则执行步骤S4,否则,执行步骤S5;
步骤S4:更新所述任务列表中该任务的记录,执行步骤S6;
步骤S5:判断失败次数是否达到失败预设值,如果未达到,返回执行步骤S2,如果达到,则不再扫描该任务,执行步骤S6;
步骤S6:结束本次任务的调度。
所述步骤S3中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
进一步,在步骤S2后,还包括根据当前的任务对配置文件进行修改的步骤,其中,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
进一步,在步骤S2后,还包括根据当前的任务对启动文件进行修改的步骤,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
附图说明
图1为本发明信息处理***的模块框图;
图2为本发明信息处理方法的方法流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于远程调用方式实现任务调度的***,其特征在于,包括线程创建模块、扫描模块、调度模块和更新模块,
所述线程创建模块,用于创建多个不同类型的线程;
所述扫描模块,用于根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
所述调度模块,用于根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功,向更新模块发送更新指令,否则,根据失败预设值判断是否重新进行扫描和调度任务;
所述更新模块,用于根据更新指令来更新所述任务列表中该任务的记录。
任务调度:指基于给定时间点,给定时间间隔或者给定执行次数自动执行既定任务。
webservice:是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作***中实施运行,它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
具体的,任务列表可设置如下:
任务列表(TF_B_BATCH_TASK)
逻辑字段名 | 物理字段名 | 数据类型 | 空否 | 说明 |
任务单号 | TASK_ORDER_NO | varchar2(18) | NOT NULL | 任务单号 |
单子类型 | ORDER_TYPE | char(1) | NOT NULL | 任务单类型 |
任务类型 | TASK_TYPE | char(3) | NOT NULL | 任务类型 |
省 | PROVINCE_CODE | varchar2(10) | NOT NULL | |
市 | EPARCHY_CODE | varchar2(10) | NOT NULL | |
区县 | CITY_CODE | varchar2(10) | NULL | |
失败次数 | FAIL_NUM | number(5) | NULL | 调度失败次数 |
失败原因 | FAIL_RESON | varchar2(1024) | NULL | 记录调用失败原因 |
创建日期 | CREATE_DATE | date | NOT NULL | 任务创建日期 |
备注 | REMARK | varchar2(1024) | NULL |
所述调度模块中,若任务调度成功,则向更新模块发送更新指令,否则,判断失败次数是否达到失败预设值,如果未达到,则调用扫描模块继续扫描该任务,再执行该任务的调度,如果达到,则不再调用扫描模块扫描该任务。
所述调度模块中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
还包括配置文件修改模块,其用于根据当前的任务对配置文件进行修改,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
还包括启动文件修改模块,其用于根据当前的任务对启动文件进行修改,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
如图2所示,一种基于远程调用的方式实现任务调度的方法,包括如下步骤:
步骤S1:创建多个不同类型的线程;
步骤S2:根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
步骤S3:根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功则执行步骤S4,否则,执行步骤S5;
步骤S4:更新所述任务列表中该任务的记录,执行步骤S6;
步骤S5:判断失败次数是否达到失败预设值,如果未达到,返回执行步骤S2,如果达到,则不再扫描该任务,执行步骤S6;
步骤S6:结束本次任务的调度。
所述步骤S3中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
在步骤S2后,还包括根据当前的任务对配置文件进行修改的步骤,其中,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
在步骤S2后,还包括根据当前的任务对启动文件进行修改的步骤,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
本***及方法,将需要调度执行的任务保存到设置在数据库的任务列表中,通过调用远程应用***的远程服务单独启动调度任务程序,读取任务列表中的数据并根据配置文件中配置内容和算法来执行任务,从而达到灵活、快速、高效的执行调度任务。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于远程调用方式实现任务调度的***,其特征在于,包括线程创建模块、扫描模块、调度模块和更新模块,
所述线程创建模块,用于创建多个不同类型的线程;
所述扫描模块,用于根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
所述调度模块,用于根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功,向更新模块发送更新指令,否则,根据失败预设值判断是否重新进行扫描和调度任务;
所述更新模块,用于根据更新指令来更新所述任务列表中该任务的记录。
2.根据权利要求1所述的一种基于远程调用方式实现任务调度的***,其特征在于,所述调度模块中,若任务调度成功,则向更新模块发送更新指令,否则,判断失败次数是否达到失败预设值,如果未达到,则调用扫描模块继续扫描该任务,再执行该任务的调度,如果达到,则不再调用扫描模块扫描该任务。
3.根据权利要求1所述的一种基于远程调用方式实现任务调度的***,其特征在于,所述调度模块中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
4.根据权利要求1所述的一种基于远程调用方式实现任务调度的***, 其特征在于,还包括配置文件修改模块,其用于根据当前的任务对配置文件进行修改,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
5.根据权利要求1所述的一种基于远程调用方式实现任务调度的***,其特征在于,还包括启动文件修改模块,其用于根据当前的任务对启动文件进行修改,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
6.一种基于远程调用方式实现任务调度的方法,其特征在于,包括如下步骤:
步骤S1:创建多个不同类型的线程;
步骤S2:根据不同类型的线程从预设的多个任务列表中扫描对应的任务,多个所述任务列表分别对应保存在不同的数据库中;
步骤S3:根据配置文件和启动文件以及根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度,若任务调度成功则执行步骤S4,否则,执行步骤S5;
步骤S4:更新所述任务列表中该任务的记录,执行步骤S6;
步骤S5:判断失败次数是否达到失败预设值,如果未达到,返回执行步骤S2,如果达到,则不再扫描该任务,执行步骤S6;
步骤S6:结束本次任务的调度。
7.根据权利要求6所述的一种基于远程调用方式实现任务调度的方法,其特征在于,所述步骤S3中,根据配置文件设置该任务调度的数据库连接的配置、连接池参数的配置、失败预设值的配置和处理时间间隔的配置,以及根据启动文件设置该任务调度的任务启动文件路径和任务执行环境配置,再根据webservice服务方式调用远程应用***的远程服务来执行该任务的调度。
8.根据权利要求6所述的一种基于远程调用方式实现任务调度的方法,其特征在于,在步骤S2后,还包括根据当前的任务对配置文件进行修改的步骤,其中,对所述配置文件的修改包括修改数据库连接的配置、修改连接池参数的配置、修改失败预设值的配置和修改处理时间间隔的配置。
9.根据权利要求6所述的一种基于远程调用方式实现任务调度的方法,其特征在于,在步骤S2后,还包括根据当前的任务对启动文件进行修改的步骤,对所述启动文件的修改包括修改任务启动文件路径和修改任务执行环境配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610291021.2A CN105955811A (zh) | 2016-05-05 | 2016-05-05 | 一种基于远程调用方式实现任务调度的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610291021.2A CN105955811A (zh) | 2016-05-05 | 2016-05-05 | 一种基于远程调用方式实现任务调度的***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105955811A true CN105955811A (zh) | 2016-09-21 |
Family
ID=56913633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610291021.2A Pending CN105955811A (zh) | 2016-05-05 | 2016-05-05 | 一种基于远程调用方式实现任务调度的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955811A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789170A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 一种任务处理方法和装置 |
CN107479983A (zh) * | 2017-07-11 | 2017-12-15 | 核动力运行研究所 | 基于时域控制技术的变步长多程序同步计算***及方法 |
CN107621975A (zh) * | 2017-09-11 | 2018-01-23 | 中邮科通信技术股份有限公司 | 基于java timer高可用性的定时器逻辑实现方法 |
CN107844339A (zh) * | 2017-11-15 | 2018-03-27 | 湖北盛天网络技术股份有限公司 | 任务调度方法及插件和服务器 |
CN110609734A (zh) * | 2018-06-15 | 2019-12-24 | 北京京东尚科信息技术有限公司 | 定时任务调度的方法和装置 |
CN110688101A (zh) * | 2019-09-26 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种基于xxl-job实现分布式调度任务的方法及*** |
CN112069237A (zh) * | 2020-07-22 | 2020-12-11 | 北京思特奇信息技术股份有限公司 | 一种集群数据库连接池的管理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140053157A1 (en) * | 2012-08-16 | 2014-02-20 | Microsoft Corporation | Asynchronous execution flow |
CN103902360A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种调度业务的方法及定时服务器 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器***的分布式定时任务调度*** |
CN105302557A (zh) * | 2015-10-30 | 2016-02-03 | 北京奇虎科技有限公司 | 线程建立及处理的方法及装置 |
-
2016
- 2016-05-05 CN CN201610291021.2A patent/CN105955811A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140053157A1 (en) * | 2012-08-16 | 2014-02-20 | Microsoft Corporation | Asynchronous execution flow |
CN103902360A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种调度业务的方法及定时服务器 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器***的分布式定时任务调度*** |
CN105302557A (zh) * | 2015-10-30 | 2016-02-03 | 北京奇虎科技有限公司 | 线程建立及处理的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789170A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 一种任务处理方法和装置 |
CN107479983A (zh) * | 2017-07-11 | 2017-12-15 | 核动力运行研究所 | 基于时域控制技术的变步长多程序同步计算***及方法 |
CN107621975A (zh) * | 2017-09-11 | 2018-01-23 | 中邮科通信技术股份有限公司 | 基于java timer高可用性的定时器逻辑实现方法 |
CN107844339A (zh) * | 2017-11-15 | 2018-03-27 | 湖北盛天网络技术股份有限公司 | 任务调度方法及插件和服务器 |
CN110609734A (zh) * | 2018-06-15 | 2019-12-24 | 北京京东尚科信息技术有限公司 | 定时任务调度的方法和装置 |
CN110688101A (zh) * | 2019-09-26 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种基于xxl-job实现分布式调度任务的方法及*** |
CN112069237A (zh) * | 2020-07-22 | 2020-12-11 | 北京思特奇信息技术股份有限公司 | 一种集群数据库连接池的管理*** |
CN112069237B (zh) * | 2020-07-22 | 2023-12-05 | 北京思特奇信息技术股份有限公司 | 一种集群数据库连接池的管理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955811A (zh) | 一种基于远程调用方式实现任务调度的***及方法 | |
CN109597814A (zh) | 一种后台管理信息***的在线快速交付*** | |
CN107783975A (zh) | 分布式数据库同步处理的方法和装置 | |
CN104571026B (zh) | 全流程冶金制造执行***构建平台及构建方法 | |
CN110543328B (zh) | 基于Ambari的跨平台组件管理方法、***、终端及存储介质 | |
CN108549717A (zh) | 自动化部署运维Hadoop生态圈组件的方法及*** | |
CN101960439B (zh) | 客户端环境创建***和客户端环境创建方法 | |
CN101287189B (zh) | 一种终端显示方法、服务器及终端 | |
CN105260248B (zh) | 一种可动态调整的任务调度***和调度方法 | |
CN105159718B (zh) | 固件升级方法及装置 | |
CN101969399B (zh) | 客户端调用服务的路由方法及*** | |
EP2437527B1 (en) | Method and device for implementing intelligent group service of mobile virtual private network | |
CN110688212A (zh) | 基于quartz的定时管理方法及*** | |
CN111984371A (zh) | 一种流程编排服务调度和发布方法 | |
CN108255596A (zh) | 一种执行定时任务的方法及*** | |
CN110460670A (zh) | 一种基于Terraform及Ansible的应用集群架构自动化部署方法 | |
CN101286215A (zh) | 同时支持人工流和自动流的工作流引擎 | |
CN109067562A (zh) | 基于智能指针的动态配置更新方法及***、服务器及介质 | |
CN104410511A (zh) | 一种服务器管理方法及*** | |
US20090024424A1 (en) | System and method for dynamic linking of business processes | |
CN103530759A (zh) | 可自定义节假日的服务级别响应时间计时方法 | |
CN110515677A (zh) | 一种基于多云平台自定义定时任务的方法 | |
CN110956025A (zh) | 一种基于流程模板复用的方法 | |
CN115421847A (zh) | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 | |
CN105204892A (zh) | war包配置修改***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160921 |