CN107844339A - 任务调度方法及插件和服务器 - Google Patents

任务调度方法及插件和服务器 Download PDF

Info

Publication number
CN107844339A
CN107844339A CN201711127789.7A CN201711127789A CN107844339A CN 107844339 A CN107844339 A CN 107844339A CN 201711127789 A CN201711127789 A CN 201711127789A CN 107844339 A CN107844339 A CN 107844339A
Authority
CN
China
Prior art keywords
task
scheduling
application system
message
server
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.)
Granted
Application number
CN201711127789.7A
Other languages
English (en)
Other versions
CN107844339B (zh
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.)
HUBEI SHENGTIAN NETWORK TECHNOLOGY Co Ltd
Original Assignee
HUBEI SHENGTIAN NETWORK 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 HUBEI SHENGTIAN NETWORK TECHNOLOGY Co Ltd filed Critical HUBEI SHENGTIAN NETWORK TECHNOLOGY Co Ltd
Priority to CN201711127789.7A priority Critical patent/CN107844339B/zh
Publication of CN107844339A publication Critical patent/CN107844339A/zh
Application granted granted Critical
Publication of CN107844339B publication Critical patent/CN107844339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出任务调度方法及插件和服务器。方法包括:针对任一应用服务器上的任一应用系统,该应用系统上的任务调度插件与调度服务器建立连接;所述任务调度插件将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器;所述任务调度插件根据所述调度服务器提供的调度消息执行对应的任务,其中,所述调度消息为:所述调度服务器将所述任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在所述应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给所述任务调度插件的。本发明实现了对所有应用服务器上的所有应用系统的集中任务调度。

Description

任务调度方法及插件和服务器
技术领域
本发明涉及任务处理技术领域,尤其涉及任务调度方法及插件和服务器。
背景技术
对于计算机软件,特别是B/S(Browser/Server,浏览器/服务器)结构需要处理很多定时任务,比如:定时数据同步、定时数据统计等。现有的处理定时任务的通用技术是采用系统提供的原生类和方法,比如Java中的Timer就是一个定时器。
然而,Timer有如下不足:
各个应用系统都要用Timer定时器开发任务调度模块,这样就不能集中管理各个调度任务,同时任务调度以功能模块的方式存在于应用系统中,与项目耦合性太高。而且Timer定时器无法实现分布式,也没有完善的预警功能,也不能直观地查看任务执行情况。
发明内容
本发明提供任务调度方法及插件和服务器,以实现对所有应用服务器上的所有应用系统的集中任务调度。
本发明的技术方案是这样实现的:
一种任务调度方法,该方法包括:
针对任一应用服务器上的任一应用系统,该应用系统上的任务调度插件与调度服务器建立连接;
所述任务调度插件将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器;
所述任务调度插件根据所述调度服务器提供的调度消息执行对应的任务,
其中,所述调度消息为:所述调度服务器将所述任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在所述应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给所述任务调度插件的。
所述应用系统上的任务调度插件与调度服务器建立连接进一步包括:
所述应用系统启动时,加载所述任务调度插件,所述任务调度插件读取所述应用系统上配置的所述应用系统的各调度任务的类型及执行方法名。
所述任务调度插件将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器之后进一步包括:
调度服务器将接收到的所述应用系统的各调度任务的类型及执行方法名显示在自身界面上,并提示用户配置调度时间,保存用户配置的调度时间。
所述提示用户配置调度时间进一步包括:提示用户设置最长执行时间、最短执行时间、失败重试次数之一或任意组合;
且,所述任务调度插件根据所述调度服务器提供的调度消息执行对应的任务之后进一步包括:
所述任务调度插件将任务执行结果上报给调度服务器。
对于支持任务调度的任一应用系统,当任务调度插件安装到该应用系统上时,超级管理模块通知消息队列服务器针对该应用创建一消息队列;
所述应用系统上的任务调度插件与调度服务器建立连接进一步包括:
所述任务调度插件与消息队列服务器建立长Socket连接;
所述调度服务器在所述应用系统的任一调度任务的调度时间到来时进一步包括:
所述调度服务器针对所述应用系统对应的应用类型与消息队列服务器建立长Socket连接;
所述调度服务器将该调度任务的任务类型及执行方法名封装成调度消息提供给所述任务调度插件包括:
所述调度服务器将该调度任务的任务类型及执行方法名封装成调度消息,将该调度消息通过长Socket连接发送给消息队列服务器,消息队列服务器将所述调度消息放入针对所述应用系统对应的应用类型的消息队列,且,所述任务调度插件通过与所述消息队列服务器之间的长Socket连接监听到针对所述应用系统对应的应用类型的消息队列中有所述调度消息,则读取所述调度消息。
一种任务调度插件,位于任一应用服务器的任一应用系统上,该插件包括:
调度任务上报模块:在本插件与调度服务器建立连接后,将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器;
任务执行模块:根据所述调度服务器提供的调度消息执行对应的任务,其中,所述调度消息为:所述调度服务器将所述任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在所述应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成所述调度消息后提供给本任务执行模块的。
所述调度任务上报模块进一步用于,在所述应用系统启动后开始运行,并读取所述应用系统上配置的所述应用系统的各调度任务的类型及执行方法名。
所述调度任务上报模块进一步用于,在本插件与消息队列服务器之间建立长Socket连接;
所述任务执行模块通过如下方式获得所述调度服务器提供的调度消息:
通过本插件与所述消息队列服务器之间的长Socket连接监听到针对所述应用系统对应的应用类型的消息队列中有所述调度消息,则读取所述调度消息,其中,
所述调度服务器在所述应用系统的任一调度任务的调度时间到来时,针对所述应用系统对应的应用类型与消息队列服务器建立长Socket连接,消息队列服务器针对所述应用系统对应的应用类型创建一消息队列,且所述调度服务器将所述调度消息通过长Socket连接发送给消息队列服务器,消息队列服务器将所述调度消息放入针对所述应用系统对应的应用类型的消息队列。
一种调度服务器,包括:
调度任务维护模块:接收任一应用系统的任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名并保存到调度数据库中;
任务调度模块:在任一应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给该应用系统的任务调度插件。
所述调度任务维护模块进一步用于,
将接收到的所述应用系统的各调度任务的类型及执行方法名显示在自身界面上,并提示用户配置调度时间,将用户配置的调度时间保存到调度数据库中。
本发明通过应用系统上的任务调度插件将应用系统的各调度任务信息发送给调度服务器,调度服务器对所有应用系统的任务进行集中调度,实现了对所有应用服务器上的所有应用系统的集中任务调度。
附图说明
图1为本发明实施例提供的任务调度方法流程图;
图2为主调度服务器维护的调度页面的示意图;
图3为本发明实施例中提示用户配置的页面示意图;
图4为用户点击了图2所示的调度页面中的执行日志选项时,显示的执行日志页面示意图;
图5为用户点击了图2所示的调度页面中的调度日志选项时,显示的调度日志页面示意图;
图6为用户点击了图5所示的调度日志页面中的查看错误信息选项时,显示的错误信息页面示意图;
图7为本发明实施例提供的任务调度系统的架构图;
图8为本发明实施例提供的任务调度插件的结构示意图;
图9为本发明实施例提供的调度服务器的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的任务调度方法流程图,其具体步骤如下:
步骤100:对于支持任务调度的任一应用系统,当任务调度插件安装到该应用系统上时,该任务调度插件向超级管理模块申请针对该类应用系统的项目,超级管理模块为该类应用系统分配项目编号、名称和密码,同时通知消息队列服务器针对该项目创建一消息队列。
即消息队列可以项目编号标识。
在实际应用中,一类应用系统如:支付宝应用系统可能安装在多个应用服务器上,此时,超级管理员模块会为所有支付宝应用系统分配相同的项目编号、名称和密码,同时,针对所有支付宝应用系统只创建一个消息队列。
步骤101:预先设置多台服务器作为调度服务器,预先设置一台服务器作为管理服务器;管理服务器在所有调度服务器中选举一台作为主调度服务器,其他调度服务器作为备调度服务器。
主调度服务器的选举原则可任意设定,如:通过竞争选举,具体地,各调度服务器上配置有管理服务器的IP地址,各调度服务器启动后,会向管理服务器发送携带本调度服务器IP地址的竞争消息,管理服务器先收到谁的竞争消息,就将谁选举为主调度服务器。
管理服务器维护主调度服务器的实时状态:Up(正常)或Down(宕机),各备调度服务器监听管理服务器上维护的主调度服务器的实时状态,当监听到主调度服务器Down时,向管理服务器发送竞争消息,管理服务器先收到谁的竞争消息,就将谁选举为新的主调度服务器。
步骤102:预先在各应用服务器上的支持任务调度的各应用系统上配置管理服务器的IP地址、以及各调度任务的类型及执行方法名。
步骤103:对于支持任务调度的任一应用系统,该应用系统启动时,加载任务调度插件,任务调度插件读取该应用系统上配置的管理服务器的IP地址、以及该应用系统的各调度任务的类型及执行方法名。
步骤104:任务调度插件根据管理服务器的IP地址,向管理服务器获取主调度服务器的IP地址和消息队列服务器的IP地址,并根据主调度服务器的IP地址,与主调度服务器建立长Socket连接,根据消息队列服务器的IP地址,与消息队列服务器建立长Socket连接。
步骤105:任务调度插件通过长Socket连接,将应用系统所在的应用服务器的IP地址、应用系统的类型标识(如:项目编号)、以及该应用系统的各调度任务的类型及执行方法名发送给主调度服务器。
另外,任务调度插件在与主调度服务器建立长Socket连接后,会通过该长Socket连接周期性地向主调度服务器发送心跳消息,若主调度服务器在心跳周期到来时未收到任务调度插件发来的心跳消息,则可确认该任务调度插件所在的应用系统Down。
步骤106:主调度服务器将接收到的应用系统所在的应用服务器的IP地址、应用系统的类型标识(如:项目编号)、以及该应用系统的各调度任务的类型及执行方法名作为一条调度任务保存到调度数据库中。
其中,调度数据库是独立于各调度服务器的,即各调度服务器都可访问调度数据库。
需要说明的是,同一类型的应用系统可能存在于多个应用服务器上,而同一类型的应用系统其支持的调度任务都是相同的,对于同一类应用系统的同一类调度任务,对于某一次调度任务,只需要其中一个应用系统的任务调度插件执行即可,不需要所有应用系统的任务调度插件同时执行同一次调度任务。因此,本步骤106中,主调度服务器在接收到应用服务器的IP地址、应用系统的类型标识、以及该应用系统的各调度任务的类型及执行方法名时,先在调度数据库中已经保存的调度任务中查找该应用系统的类型标识,若查找到,则只将接收到的应用服务器的IP地址添加到调度数据库中对应的调度任务中即可,若未查找到,则将接收到的应用服务器的IP地址、应用系统的类型标识、以及该应用系统的各调度任务的类型及执行方法名作为一条新调度任务添加到调度数据库中。
步骤107:主调度服务器将接收到的应用系统的类型标识、以及该应用系统的各调度任务的类型、执行方法名显示在自身可视化界面上,并提示用户配置调度时间、方法参数等,并将用户设置的调度时间、方法参数等保存到调度数据库中对应的调度任务中。
用户还可设置:最长执行时间、最短执行时间、失败重试次数、重试时间间隔等。
步骤108:主调度服务器发现调度数据库中任一调度任务的调度时间到来,则针对该类应用系统与消息队列服务器建立长Socket连接,将该调度任务中的任务类型、方法名、方法参数等封装成调度消息,将该调度消息通过该类应用系统的长Socket连接发送给消息队列服务器,消息队列服务器将该调度消息放入该类应用系统的消息队列中,其中,调度消息的目的IP地址为执行该调度任务的应用系统所在的应用服务器的IP地址。
另外,若调度数据库中到达调度时刻的调度任务中包含多个应用服务器的IP地址,则说明该多个应用服务器上的应用系统都可执行该调度任务,则主调度服务器可查询该调度任务的执行日志,按照平均分配调度任务的原则,在可执行该调度任务的多个应用服务器中选择一个执行本次调度任务,将所选择的应用服务器的IP地址作为该调度任务对应的调度消息的目的IP地址。
另外,主调度服务器还会根据各个任务调度插件发来的心跳消息,维护各插件所在的应用系统的状态:Up或Down,则主调度服务器在按照平均分配调度任务的原则,在可执行该调度任务的多个应用服务器中选择一个执行本次调度任务时,还需要考虑可执行该调度任务的多个应用服务器中的应用系统的状态,只在应用系统Up的应用服务器中选择。
步骤109:各应用服务器上的各应用系统的任务调度插件通过与消息队列服务器之间的Socket端口监听本类应用系统的消息队列,当监听到消息队列中有新调度消息,且消息的目的IP地址为自身所在应用服务器的IP地址,读取该调度消息,从该调度消息中解析出任务类型和执行方法名、方法参数,然后通过调用该执行方法名对应的方法函数执行本次任务。
具体地,各应用服务器上的各应用系统的任务调度插件通过与消息队列服务器之间的Socket端口监听本类应用系统的消息队列,当监听到消息队列中有新调度消息时,则读取该调度消息,若调度消息的目的IP地址为本应用服务器的IP地址,则接收该调度消息;否则,拒绝该调度消息,该调度消息重新返回消息队列,以便后续被正确的应用服务器上的任务调度插件接收。
进一步地,任务调度插件可将任务执行结果(成功或失败)、任务执行时间等上报给主调度服务器。
若调度任务的内容中包含:最长执行时间、最短执行时间,则主调度服务器在接收到任务调度插件上报的任务执行时间时,若发现该任务执行时间大于最长执行时间或小于最短执行时间,则向相关人员发出预警。
若调度任务的内容中包含:失败重试次数、重试时间间隔等,则主调度服务器在接收到任务调度插件上报的执行失败消息时,根据失败重试次数和重试时间间隔,重新封装调度消息发送给消息队列服务器,以使得任务调度插件能重新从消息队列中获取到调度消息,从而重新执行调度任务。
另外,若任务执行失败,主调度服务器也可及时通知相关人员。
主调度服务器可将任务的执行日志(包括:任务ID、调度服务器IP地址等)、调度日志(任务ID、应用系统类型、任务类型、执行状态等)放入关系数据库中,以方便用户通过可视化界面查阅。
另外,在主调度服务器Down后,任务调度插件会接收不到主调度服务器的心跳消息,则任务调度插件会向管理服务器重新获取主调度服务器的IP地址,重新与新主调度服务器建立长Socket连接,从而保证了任务调度不中断。
图2为主调度服务器维护的调度页面的示意图,其中,项目名称即应用系统名称,服务器即支持该项目/应用系统的服务器。
图3为提示用户配置调度参数如:调度时间、最短执行时间、最长执行时间、失败重试次数、失败重试间隔、方法参数等的页面示意图。
图4为用户点击了图2所示的调度页面中的执行日志选项时,显示的执行日志页面示意图;
图5为用户点击了图2所示的调度页面中的调度日志选项时,显示的调度日志页面示意图;
图6为用户点击了图5所示的调度日志页面中的查看错误信息选项时,显示的错误信息页面示意图;
图7为本发明实施例提供的任务调度系统的架构图。
图8为本发明实施例提供的任务调度插件的结构示意图,该任务调度插件位于任一应用服务器的任一应用系统上,该插件主要包括:调度任务上报模块81和任务执行模块82,其中:
调度任务上报模块81:在本插件与调度服务器建立连接后,将自身所在应用系统的各调度任务的类型及执行方法名发送给调度服务器。
任务执行模块82:根据调度服务器提供的调度消息执行对应的任务,其中,调度消息为:调度服务器将调度任务上报模块81发来的本应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在本应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息后提供给本任务执行模块82的。
调度任务上报模块81进一步用于,在本应用系统启动后开始运行,并读取本应用系统上配置的各调度任务的类型及执行方法名。
调度任务上报模块81进一步用于,在本插件与消息队列服务器之间建立长Socket连接;且,任务执行模块82通过如下方式获得所述调度服务器提供的调度消息:通过本插件与消息队列服务器之间的长Socket连接监听到针对本应用系统对应的应用类型的消息队列中有调度消息,则读取该调度消息,其中,调度服务器在所述应用系统的任一调度任务的调度时间到来时,针对本应用系统对应的应用类型与消息队列服务器建立长Socket连接,消息队列服务器针对本应用系统对应的应用类型创建一消息队列,且调度服务器将调度消息通过针对本应用系统对应的应用类型的长Socket连接发送给消息队列服务器,消息队列服务器将调度消息放入针对本应用系统对应的应用类型的消息队列。
图9为本发明实施例提供的调度服务器的结构示意图,该调度服务器主要包括:调度任务维护模块91和任务调度模块92,其中:
调度任务维护模块91:接收任一应用系统的任务调度插件发来的该应用系统的各调度任务的类型及执行方法名并保存到调度数据库中。
任务调度模块92:在任一应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给该应用系统的任务调度插件。
调度任务维护模块91进一步用于,将接收到的应用系统的各调度任务的类型及执行方法名显示在自身界面上,并提示用户配置调度时间,将用户配置的调度时间保存到调度数据库中。
调度任务维护模块91进一步用于,在任一应用系统的任一调度任务的调度时间到来时,针对该应用系统对应的应用类型与消息队列服务器建立长Socket连接,以使得:消息队列服务器针对该应用系统对应的应用类型创建一消息队列;且,
任务调度模块92将该调度任务的任务类型及执行方法名封装成调度消息提供给该应用系统的任务调度插件包括:
调度服务器将该调度任务的任务类型及执行方法名封装成调度消息,将该调度消息通过针对该应用系统对应的应用类型的长Socket连接发送给消息队列服务器,以使得:消息队列服务器将该调度消息放入针对该应用系统对应的应用类型的消息队列,从而该应用系统的任务调度插件通过与消息队列服务器之间的长Socket连接监听到针对该应用系统对应的应用类型的消息队列中有调度消息,则读取该调度消息。
本发明的有益技术效果如下:
1、调度任务自动上报,无需手动添加;
2、分布式,高可用
根据实际业务需求可随时扩展调度服务器,一旦主调度服务器Down,会迅速切换到其他可用的调度服务器上;
3、任务智能分配
如果应用系统是多应用服务器部署,且调度任务繁多,调度服务器会根据各应用服务器的性能合理地将任务分配到各个服务器上执行,从而减轻应用系统的压力,保证应用系统正常运行。
4、预警、监控
一旦任务执行失败、超时或者调度服务器Down,超过了设定的重试次数之后,就会通过邮箱、短信等向项目负责人发出预警,保证任务一旦执行失败,相关技术人员能第一时间得到通知并排查问题,保证应用系统的正常运行。
5、可通过可视化界面实施查看任务执行状态
6、可查看任务执行历史,排查问题方便,传统的排查问题的方式就是查看业务服务器的运行日志,从而排查问题,通过任务调度后台,可以直观地看到任务执行失败的原因。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种任务调度方法,其特征在于,该方法包括:
针对任一应用服务器上的任一应用系统,该应用系统上的任务调度插件与调度服务器建立连接;
所述任务调度插件将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器;
所述任务调度插件根据所述调度服务器提供的调度消息执行对应的任务,
其中,所述调度消息为:所述调度服务器将所述任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在所述应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给所述任务调度插件的。
2.根据权利要求1所述的方法,其特征在于,所述应用系统上的任务调度插件与调度服务器建立连接进一步包括:
所述应用系统启动时,加载所述任务调度插件,所述任务调度插件读取所述应用系统上配置的所述应用系统的各调度任务的类型及执行方法名。
3.根据权利要求1所述的方法,其特征在于,所述任务调度插件将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器之后进一步包括:
调度服务器将接收到的所述应用系统的各调度任务的类型及执行方法名显示在自身界面上,并提示用户配置调度时间,保存用户配置的调度时间。
4.根据权利要求1所述的方法,其特征在于,所述提示用户配置调度时间进一步包括:提示用户设置最长执行时间、最短执行时间、失败重试次数之一或任意组合;
且,所述任务调度插件根据所述调度服务器提供的调度消息执行对应的任务之后进一步包括:
所述任务调度插件将任务执行结果上报给调度服务器。
5.根据权利要求1所述的方法,其特征在于,对于支持任务调度的任一应用系统,当任务调度插件安装到该应用系统上时,超级管理模块通知消息队列服务器针对该应用创建一消息队列;
所述应用系统上的任务调度插件与调度服务器建立连接进一步包括:
所述任务调度插件与消息队列服务器建立长Socket连接;
所述调度服务器在所述应用系统的任一调度任务的调度时间到来时进一步包括:
所述调度服务器针对所述应用系统对应的应用类型与消息队列服务器建立长Socket连接;
所述调度服务器将该调度任务的任务类型及执行方法名封装成调度消息提供给所述任务调度插件包括:
所述调度服务器将该调度任务的任务类型及执行方法名封装成调度消息,将该调度消息通过长Socket连接发送给消息队列服务器,消息队列服务器将所述调度消息放入针对所述应用系统对应的应用类型的消息队列,且,所述任务调度插件通过与所述消息队列服务器之间的长Socket连接监听到针对所述应用系统对应的应用类型的消息队列中有所述调度消息,则读取所述调度消息。
6.一种任务调度插件,位于任一应用服务器的任一应用系统上,其特征在于,该插件包括:
调度任务上报模块:在本插件与调度服务器建立连接后,将所述应用系统的各调度任务的类型及执行方法名发送给所述调度服务器;
任务执行模块:根据所述调度服务器提供的调度消息执行对应的任务,其中,所述调度消息为:所述调度服务器将所述任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名保存到调度数据库中,并在所述应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成所述调度消息后提供给本任务执行模块的。
7.根据权利要求6所述的插件,其特征在于,所述调度任务上报模块进一步用于,在所述应用系统启动后开始运行,并读取所述应用系统上配置的所述应用系统的各调度任务的类型及执行方法名。
8.根据权利要求6所述的插件,其特征在于,所述调度任务上报模块进一步用于,在本插件与消息队列服务器之间建立长Socket连接;
所述任务执行模块通过如下方式获得所述调度服务器提供的调度消息:
通过本插件与所述消息队列服务器之间的长Socket连接监听到针对所述应用系统对应的应用类型的消息队列中有所述调度消息,则读取所述调度消息,其中,
所述调度服务器在所述应用系统的任一调度任务的调度时间到来时,针对所述应用系统对应的应用类型与消息队列服务器建立长Socket连接,消息队列服务器针对所述应用系统对应的应用类型创建一消息队列,且所述调度服务器将所述调度消息通过长Socket连接发送给消息队列服务器,消息队列服务器将所述调度消息放入针对所述应用系统对应的应用类型的消息队列。
9.一种调度服务器,其特征在于,包括:
调度任务维护模块:接收任一应用系统的任务调度插件发来的所述应用系统的各调度任务的类型及执行方法名并保存到调度数据库中;
任务调度模块:在任一应用系统的任一调度任务的调度时间到来时,将该调度任务的任务类型及执行方法名封装成调度消息提供给该应用系统的任务调度插件。
10.根据权利要求9所述的调度服务器,其特征在于,所述调度任务维护模块进一步用于,
将接收到的所述应用系统的各调度任务的类型及执行方法名显示在自身界面上,并提示用户配置调度时间,将用户配置的调度时间保存到调度数据库中。
CN201711127789.7A 2017-11-15 2017-11-15 任务调度方法及插件和服务器 Active CN107844339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711127789.7A CN107844339B (zh) 2017-11-15 2017-11-15 任务调度方法及插件和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711127789.7A CN107844339B (zh) 2017-11-15 2017-11-15 任务调度方法及插件和服务器

Publications (2)

Publication Number Publication Date
CN107844339A true CN107844339A (zh) 2018-03-27
CN107844339B CN107844339B (zh) 2021-07-30

Family

ID=61678921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711127789.7A Active CN107844339B (zh) 2017-11-15 2017-11-15 任务调度方法及插件和服务器

Country Status (1)

Country Link
CN (1) CN107844339B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558231A (zh) * 2018-11-26 2019-04-02 广州虎牙信息科技有限公司 分布式任务调度方法及计算机设备
CN109597681A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN111488181A (zh) * 2020-04-07 2020-08-04 广州虎牙科技有限公司 任务调度方法、装置、存储介质及服务器
CN112181610A (zh) * 2020-08-28 2021-01-05 深圳市优必选科技股份有限公司 一种任务处理系统

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090133026A1 (en) * 2007-11-20 2009-05-21 Aggarwal Vijay K Method and system to identify conflicts in scheduling data center changes to assets
CN102904746A (zh) * 2012-09-13 2013-01-30 曙光信息产业(北京)有限公司 基于消息机制的集群任务自调度系统与方法
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
CN104156265A (zh) * 2014-08-08 2014-11-19 乐得科技有限公司 定时任务的处理方法和处理装置
CN104407919A (zh) * 2014-12-15 2015-03-11 浪潮软件股份有限公司 一种数据处理任务调度系统及方法
CN104461562A (zh) * 2014-12-22 2015-03-25 山东中创软件商用中间件股份有限公司 一种任务创建的方法及系统
CN104536809A (zh) * 2014-11-26 2015-04-22 上海瀚之友信息技术服务有限公司 一种基于客户端、服务器系统的分布式定时任务调度系统
CN105119992A (zh) * 2015-08-24 2015-12-02 用友网络科技股份有限公司 分布式任务执行装置和方法
CN105610972A (zh) * 2016-02-01 2016-05-25 中博信息技术研究院有限公司 集群式的任务调派系统
CN105760221A (zh) * 2016-02-02 2016-07-13 中博信息技术研究院有限公司 分布式计算框架的任务调派系统
CN105955811A (zh) * 2016-05-05 2016-09-21 北京思特奇信息技术股份有限公司 一种基于远程调用方式实现任务调度的系统及方法
CN106095540A (zh) * 2016-05-31 2016-11-09 上海萌果信息科技有限公司 一种基于Quartz框架的任务流程处理方法
CN106406993A (zh) * 2016-09-06 2017-02-15 努比亚技术有限公司 一种定时任务管理方法和系统
CN107025134A (zh) * 2017-03-02 2017-08-08 北京三快在线科技有限公司 数据库服务系统及兼容多种数据库的方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090133026A1 (en) * 2007-11-20 2009-05-21 Aggarwal Vijay K Method and system to identify conflicts in scheduling data center changes to assets
CN102904746A (zh) * 2012-09-13 2013-01-30 曙光信息产业(北京)有限公司 基于消息机制的集群任务自调度系统与方法
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
CN104156265A (zh) * 2014-08-08 2014-11-19 乐得科技有限公司 定时任务的处理方法和处理装置
CN104536809A (zh) * 2014-11-26 2015-04-22 上海瀚之友信息技术服务有限公司 一种基于客户端、服务器系统的分布式定时任务调度系统
CN104407919A (zh) * 2014-12-15 2015-03-11 浪潮软件股份有限公司 一种数据处理任务调度系统及方法
CN104461562A (zh) * 2014-12-22 2015-03-25 山东中创软件商用中间件股份有限公司 一种任务创建的方法及系统
CN105119992A (zh) * 2015-08-24 2015-12-02 用友网络科技股份有限公司 分布式任务执行装置和方法
CN105610972A (zh) * 2016-02-01 2016-05-25 中博信息技术研究院有限公司 集群式的任务调派系统
CN105760221A (zh) * 2016-02-02 2016-07-13 中博信息技术研究院有限公司 分布式计算框架的任务调派系统
CN105955811A (zh) * 2016-05-05 2016-09-21 北京思特奇信息技术股份有限公司 一种基于远程调用方式实现任务调度的系统及方法
CN106095540A (zh) * 2016-05-31 2016-11-09 上海萌果信息科技有限公司 一种基于Quartz框架的任务流程处理方法
CN106406993A (zh) * 2016-09-06 2017-02-15 努比亚技术有限公司 一种定时任务管理方法和系统
CN107025134A (zh) * 2017-03-02 2017-08-08 北京三快在线科技有限公司 数据库服务系统及兼容多种数据库的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597681A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109597681B (zh) * 2018-10-22 2024-05-07 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109558231A (zh) * 2018-11-26 2019-04-02 广州虎牙信息科技有限公司 分布式任务调度方法及计算机设备
CN111488181A (zh) * 2020-04-07 2020-08-04 广州虎牙科技有限公司 任务调度方法、装置、存储介质及服务器
CN111488181B (zh) * 2020-04-07 2024-03-01 广州虎牙科技有限公司 任务调度方法、装置、存储介质及服务器
CN112181610A (zh) * 2020-08-28 2021-01-05 深圳市优必选科技股份有限公司 一种任务处理系统

Also Published As

Publication number Publication date
CN107844339B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN107844339A (zh) 任务调度方法及插件和服务器
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
CN100536403C (zh) 一种通信网络智能巡检的方法及设备
CN105245373B (zh) 一种容器云平台系统的搭建及运行方法
CN103019866B (zh) 基于消息队列的分布式方法和系统
CN106502769A (zh) 分布式事务处理方法、装置及系统
CN109714192A (zh) 一种监控云平台的监控方法及系统
CN105760240A (zh) 分布式任务处理方法及装置
CN106406993A (zh) 一种定时任务管理方法和系统
CN108960857A (zh) 一种售后服务管理方法、系统和装置
CN108337275A (zh) 用于分发服务器的任务分发方法、装置以及设备
CN103259684A (zh) 互联网业务监控方法和系统
CN109117659A (zh) 一种多租户模式下的大数据安全隔离管理系统
CN106156939A (zh) 基于作业流的分布式调度系统及应用方法
JP2008217735A (ja) 障害解析システム、方法、及び、プログラム
CN105224441B (zh) 虚拟机信息采集装置、方法及虚拟机信息维护方法和系统
CN105868032A (zh) 一种支持多系统接入的报文处理系统及方法
US20130054735A1 (en) Wake-up server
CN108446172A (zh) 数据调取方法、装置、计算机设备和存储介质
CN109491895A (zh) 服务器压力测试方法及装置
CN108762932A (zh) 一种集群任务调度系统及处理方法
CN109558239A (zh) 一种任务调度方法、装置、系统、计算机设备和存储介质
KR20030064779A (ko) 이질적인 분배된 기업업무 통합객체의 중앙관리 시스템 및방법
CN101467132B (zh) 用于在通信网络中分配数据处理单元的方法和系统
CN105490849B (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
GR01 Patent grant
GR01 Patent grant