CN111488181A - 任务调度方法、装置、存储介质及服务器 - Google Patents

任务调度方法、装置、存储介质及服务器 Download PDF

Info

Publication number
CN111488181A
CN111488181A CN202010268631.7A CN202010268631A CN111488181A CN 111488181 A CN111488181 A CN 111488181A CN 202010268631 A CN202010268631 A CN 202010268631A CN 111488181 A CN111488181 A CN 111488181A
Authority
CN
China
Prior art keywords
task
processed
target machine
plug
parameter information
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
CN202010268631.7A
Other languages
English (en)
Other versions
CN111488181B (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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010268631.7A priority Critical patent/CN111488181B/zh
Publication of CN111488181A publication Critical patent/CN111488181A/zh
Application granted granted Critical
Publication of CN111488181B publication Critical patent/CN111488181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种任务调度方法、装置、存储介质及服务器,所述任务调度方法包括:获取用户输入的待处理任务的任务参数信息;当待处理任务满足任务执行条件时,选择待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据任务参数信息从目录文件中查询所述待处理任务对应的插件;控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。本发明实现了对系统中任务的插件化处理,无需反复编辑每个任务的配置文件,降低了代码的处理难度,便于用户使用。

Description

任务调度方法、装置、存储介质及服务器
技术领域
本发明涉及任务调度技术领域,具体而言,本发明涉及一种任务调度方法、装置、存储介质及服务器。
背景技术
任务调度往往是分布式系统的核心功能,在分布式系统的实际使用中,一个系统中通常会有多个业务需要定时触发,在现有的技术方案中,每一次触发都要指定任务调度方案和配置文件。然而随着系统的不断庞大,在需要定义多个任务时,每个任务都需要定义配置文件、定义代码启动读取配置文件、定义任务及启动任务,操作繁琐,不便于用户使用。
发明内容
本发明的目的旨在提供一种任务调度方法,以解决当前任务调度过程操作繁琐,不便于用户使用的技术问题。
本发明提供的一种任务调度方法,包括:
获取用户输入的待处理任务的任务参数信息;
当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
在一实施例中,所述控制目标机器执行待处理任务的插件的步骤,包括:
从任务参数信息提取出用户设置的待处理任务的脚本类型;
将待处理任务包装成所述脚本类型的目标脚本,将所述目标脚本下发至所述目标机器的插件中。
在一实施例中,所述当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器的步骤,包括:
当所述待处理任务预先设置的定时时间到达或所述待处理任务依赖的任务完成时,根据所述任务参数信息选择指定接口机组的目标机器。
在一实施例中,所述目标机器为该指定接口机组中当前内存利用率最低的机器。
在一实施例中,选择所述待处理任务指定接口机组的目标机器之前,还包括:
定时检测主调度引擎服务器是否存活;
当主调度引擎服务器挂掉时,将备调度引擎服务器变更为主调度引擎服务器,利用备调度引擎服务器将待处理任务重新调度至指定接口机组的目标机器中。
在一实施例中,所述接收目标机器反馈的待处理任务的处理状态的步骤,包括:
定时检测待处理任务的进程;
当进程结束时,接收目标机器反馈的任务已完成的状态码;
否则控制目标机器重新执行待处理任务的插件。
在一实施例中,所述接收目标机器反馈的待处理任务的处理状态之后,还包括:
利用关系型数据库管理系统更新待处理任务的处理状态。
在一实施例中,所述将待处理任务的任务参数信息下发至目标机器的目录文件中的步骤,包括:
将待处理任务的任务参数信息通过调度系统的原生通道下发至目标机器的目录文件中;其中,所述原生通道为调度系统自带的安全外壳协议通道。
在一实施例中,所述任务调度方法还包括:
接收用户发起的扩展插件请求;
将待扩展插件配置在指定接口机组的各个机器中。
本发明提供的一种任务调度装置,包括:
获取模块,用于获取用户输入的待处理任务的任务参数信息;
选择模块,用于当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
下发模块,用于将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
控制模块,用于控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
本发明提供的一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任意一项所述的任务调度方法。
本发明提供的一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任意一项所述的任务调度方法。
相对于现有技术,本发明具有以下优势:
本发明提供的任务调度方法,通过获取用户输入的待处理任务的任务参数信息,当待处理任务满足任务执行条件时,选择待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中,然后将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件,最后控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态,从而实现了对系统中任务的插件化处理,用户只需要在客户端中输入待处理任务的任务参数信息,即可调用相应目标机器的插件处理该任务,无需反复编辑每个任务的配置文件,降低了代码的处理难度,便于用户使用。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明任务调度方法一种实施例的流程框图;
图2为本发明任务调度系统的结构示意图;
图3为本发明用户输入任务参数信息的界面示意图;
图4为本发明任务调度装置一种实施例的模块框图;
图5为本发明一个实施例的服务器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,本发明提供了一种任务调度方法,以主调度引擎服务器为执行主体,用于解决当前需要定义多个任务时,每个任务都需要定义配置文件、定义代码启动读取配置文件、定义任务及启动任务,操作繁琐,不便于用户使用的问题。所述任务调度方法包括:
S11、获取用户输入的待处理任务的任务参数信息;
如图2所示,本发明提供的任务调度系统包括web前台、主调度引擎服务器、备调度引擎服务器和一个或多个执行接口机组。所述web前台用于用户输入待处理任务的任务参数信息。在一实施例中,如图3所示,所述任务参数信息可包括任务类型、任务插件或任务属性,所述任务类型可包括基础任务、导入任务、导出任务及高级任务中的至少一种。当然,用户在web前台还可输入任务的定时时间、任务在哪个执行接口机组中执行及任务运行的代码,如shell任务,则对应运行的代码为shell代码。
所述执行接口机组与主调度引擎服务器连接,且包括一个或多个机器,主调度引擎服务器可以通过发送调度指令对多个机器进行任务调度。各执行接口机组的机器均可以部署在服务器中。作为优选实施例,不同的执行接口机组的机器可以部署在不同的服务器中,并且主调度引擎服务器可以部署在不同于执行接口机组的一个独立的服务器中,也可以和其中一个执行接口机组部署在同一个服务器中,执行接口机组的机器可以运行一个或多个任务。
S12、当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
本发明可将各种任务类型的任务开发成任务插件,可预先部署在各执行接口机组的机器的指定目录上。当待处理任务满足任务执行条件时,如定时时间达到时,则选择所述待处理任务指定接口机组的目标机器。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,则到达该时间时,选择响铃任务对应的目标机器执行响铃插件。
S13、将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
本发明的主调度引擎服务器接收用户输入的任务参数信息后,将待处理任务的任务参数信息下发写入目标机器的指定格式目录文件中,如/data/instances/${taskId}/${taskDate}/param。从而使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件。
S14、控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
本发明将任务插件化,插件预先存放到各机器的指定目录,主调度引擎服务器只需要发任务相关的任务参数信息至目标机器,即可控制目标机器执行待处理任务的插件,从而节省流量。在任务处理过程中,主调度引擎服务器实时接收目标机器反馈的待处理任务的处理状态,如任务完成的状态,以监控任务的处理过程。
本发明提供的任务调度方法,通过获取用户输入的待处理任务的任务参数信息,当待处理任务满足任务执行条件时,选择待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中,然后将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件,最后控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态,从而实现了对系统中任务的插件化处理,用户只需要在客户端中输入待处理任务的任务参数信息,即可调用相应目标机器的插件处理该任务,无需反复编辑每个任务的配置文件,降低了代码的处理难度,便于用户使用。
在一实施例中,在步骤S14中,所述控制目标机器执行待处理任务的插件的步骤,可具体包括:
从任务参数信息提取出用户设置的待处理任务的脚本类型;
将待处理任务包装成所述脚本类型的目标脚本,将所述目标脚本下发至所述目标机器的插件中。
本实施例可根据用户选择的脚本类型把用户相应的任务包装成后台可执行的脚本类型的目标脚本,如shell脚本,并将目标脚本下发至目标机器的插件中。如任务的插件是/data/plugins/Shell.jar,则后台执行的shell脚本包装形式如下:
首先把/data/instances/${taskId}/${taskDate}/syn.sh这段代码包装成可同步执行的shell脚本,把任务参数信息发送至Shell.jar的任务插件;再把syn.sh包装成可后台执行的shell脚本,从而便于目标机器方便、快速地执行任务脚本。
优选地,每个任务的脚本类型相同,从而使得目标机器只需定义一份代码来读取和解析一种类型或格式的文件即可,提高了任务调度定义过程的统一性,进一步降低了代码的复杂程度,提高了系统的扩展性。
在一实施例中,在步骤S12中,所述当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器的步骤,可具体包括:
当所述待处理任务预先设置的定时时间到达或所述待处理任务依赖的任务完成时,根据所述任务参数信息选择指定接口机组的目标机器。
本发明可设置待处理任务的执行条件,例如设置任务处理时间或任务在哪个任务之后处理,当待处理任务预先设置的定时时间到达或待处理任务依赖的任务完成时,根据所述任务参数信息选择指定接口机组的目标机器。具体地,比如待处理任务需要在A任务处理完成后才可执行时,则当A任务处理完毕后,根据用户输入的任务参数信息,选择相应的目标机器执行待处理任务。
在一实施例中,所述目标机器为该指定接口机组中当前内存利用率最低的机器。
本实施例选出任务指定的接口机组中最为空闲的一台机器作为目标机器,利用目标机器执行待处理任务。例如,可计算接口机组中各机器当前的内存利用率,选取内存利用率最小且小于90%的机器作为目标机器。其中,内存利用率为cpu当前使用的负载值与cpu总负载值的比值。
因执行接口机组有多台机器,通过选取最为空闲的一台机器处理任务,使整个任务调度系统均衡负载,不会出现某个机器负载过高而挂掉的现象。即使任务在运行过程中,万一机器因不明原因挂掉,主调度引擎服务器还可以重新将任务调度至接口机组中其他的最为空闲的机器运行。
在一实施例中,在步骤S12中,选择所述待处理任务指定接口机组的目标机器之前,还可包括:
定时检测主调度引擎服务器是否存活;
当主调度引擎服务器挂掉时,将备调度引擎服务器变更为主调度引擎服务器,利用备调度引擎服务器将待处理任务重新调度至指定接口机组的目标机器中。
在本实施例中,备调度引擎服务器可定时去判断主调度引擎服务器是否还存活,若不存活,则将备调度引擎服务器变更为主调度引擎服务器,并通过关系型数据库管理系统mysql中的状态信息,恢复已挂掉的调度现场,继续完成任务调度工作。当主调度引擎服务器挂掉的时候,因任务是后台可执行的shell脚本形式,因此不会干扰任务的继续正常运行。
在一实施例中,所述接收目标机器反馈的待处理任务的处理状态的步骤,包括:
定时检测待处理任务的进程;
当进程结束时,接收目标机器反馈的任务已完成的状态码;
否则控制目标机器重新执行待处理任务的插件。
本发明可定时检测任务的进程id,当进程结束时,接收目标机器反馈的任务已完成的状态码,根据状态码判断进程是否还存在,状态码大于0表示任务还在运行中,否则进程已结束。若进程已结束,则表明任务已完成,否则任务执行失败,此时控制目标机器重新执行待处理任务的插件,以保证任务的及时完成。
在一实施例中,所述接收目标机器反馈的待处理任务的处理状态之后,还可包括:
利用关系型数据库管理系统更新待处理任务的处理状态。
本实施例可利用关系型数据库管理系统mysql保存该任务的状态信息,如运行状态、执行任务对应目标机器的IP,并利用关系型数据库管理系统mysql及时更新任务状态:成功或失败的状态。
在一实施例中,所述将待处理任务的任务参数信息下发至目标机器的目录文件中的步骤,可具体包括:
将待处理任务的任务参数信息通过调度系统的原生通道下发至目标机器的目录文件中;其中,所述原生通道为调度系统自带的安全外壳协议通道。
以linux系统为例,本实施例可直接使用linux系统原生的ssh(Secure ShellProtocol,安全外壳协议通道)通道,Linux系统本身会保持自己服务的健壮性,而且已经经过多年验证。执行接口机组的机器不需要另外开发worker进程来接收主调度引擎服务器的信息,直接使用Linux系统原生的ssh服务通信,从而节省流量。
在一实施例中,所述任务调度方法还可包括:
接收用户发起的扩展插件请求;
将待扩展插件配置在指定接口机组的各个机器中。
本实施例将调度过程插件化,扩展新插件时,只需要将插件部署至各执行接口机组的机器即可,不需要改动主调度引擎服务器中的调度逻辑代码。对于不同的业务场景,用户仅需要根据调度过程中需要修改的部分创建相应的用户自定义插件,并将该插件插入指定的接口,即可以使用用户自定义插件来执行任务调度,从而可以满足该业务场景下的调度需求,并且在满足用户个性化调度需求的同时还可以降低用户的开发成本。
具体的,主调度引擎服务器可以响应于用户的插件插入请求,在指定接口机组的各个机器中插入用户自定义插件,用户自定义插件用于实现与调度相关的用户自定义功能。
如图4所示,本发明提供的一种任务调度装置,一种本实施例中,包括获取模块11、选择模块12、下发模块13和控制模块14。其中,
获取模块11,用于获取用户输入的待处理任务的任务参数信息;
如图2所示,本发明提供的任务调度系统包括web前台、主调度引擎服务器、备调度引擎服务器和一个或多个执行接口机组。所述web前台用于用户输入待处理任务的任务参数信息。在一实施例中,如图3所示,所述任务参数信息可包括任务类型、任务插件或任务属性,所述任务类型可包括基础任务、导入任务、导出任务及高级任务中的至少一种。当然,用户在web前台还可输入任务的定时时间、任务在哪个执行接口机组中执行及任务运行的代码,如shell任务,则对应运行的代码为shell代码。
所述执行接口机组与主调度引擎服务器连接,且包括一个或多个机器,主调度引擎服务器可以通过发送调度指令对多个机器进行任务调度。各执行接口机组的机器均可以部署在服务器中。作为优选实施例,不同的执行接口机组的机器可以部署在不同的服务器中,并且主调度引擎服务器可以部署在不同于执行接口机组的一个独立的服务器中,也可以和其中一个执行接口机组部署在同一个服务器中,执行接口机组的机器可以运行一个或多个任务。
选择模块12,用于当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
本发明可将各种任务类型的任务开发成任务插件,可预先部署在各执行接口机组的机器的指定目录上。当待处理任务满足任务执行条件时,如定时时间达到时,则选择所述待处理任务指定接口机组的目标机器。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,则到达该时间时,选择响铃任务对应的目标机器执行响铃插件。
下发模块13,用于将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
本发明的主调度引擎服务器接收用户输入的任务参数信息后,将待处理任务的任务参数信息下发写入目标机器的指定格式目录文件中,如/data/instances/${taskId}/${taskDate}/param。从而使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件。
控制模块14,用于控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
本发明将任务插件化,插件预先存放到各机器的指定目录,主调度引擎服务器只需要发任务相关的任务参数信息至目标机器,即可控制目标机器执行待处理任务的插件,从而节省流量。在任务处理过程中,主调度引擎服务器实时接收目标机器反馈的待处理任务的处理状态,如任务完成的状态,以监控任务的处理过程。
本发明提供的任务调度装置,通过获取用户输入的待处理任务的任务参数信息,当待处理任务满足任务执行条件时,选择待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中,然后将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件,最后控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态,从而实现了对系统中任务的插件化处理,用户只需要在客户端中输入待处理任务的任务参数信息,即可调用相应目标机器的插件处理该任务,无需反复编辑每个任务的配置文件,降低了代码的处理难度,便于用户使用。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明提供的一种存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行时实现上述任意一项技术方案所述的任务调度方法。
其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本发明提供的一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项技术方案所述的任务调度方法。
图5为本发明服务器的结构示意图,包括处理器520、存储装置530、输入单元540以及显示单元550等器件。本领域技术人员可以理解,图5示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置530可用于存储应用程序510以及各功能模块,处理器520运行存储在存储装置530的应用程序510,从而执行设备的各种功能应用以及任务调度。存储装置530可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储装置包括但不限于这些类型的存储装置。本发明所公开的存储装置530只作为例子而非作为限定。
输入单元540用于接收信号的输入,以及用户输入的访问请求。输入单元540可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元550可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元550可采用液晶显示器、有机发光二极管等形式。处理器520是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置530内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,服务器包括一个或多个处理器520,以及一个或多个存储装置530,一个或多个应用程序510,其中所述一个或多个应用程序510被存储在存储装置530中并被配置为由所述一个或多个处理器520执行,所述一个或多个应用程序510配置用于执行以上实施例所述的任务调度方法。
综上所述,本发明的最大有益效果在于:
本发明提供的任务调度方法、装置、存储介质及服务器,通过获取用户输入的待处理任务的任务参数信息,当待处理任务满足任务执行条件时,选择待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中,然后将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件,最后控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态,从而实现了对系统中任务的插件化处理,用户只需要在客户端中输入待处理任务的任务参数信息,即可调用相应目标机器的插件处理该任务,无需反复编辑每个任务的配置文件,降低了代码的处理难度,便于用户使用。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种任务调度方法,其特征在于,包括:
获取用户输入的待处理任务的任务参数信息;
当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
2.根据权利要求1所述的任务调度方法,其特征在于,所述控制目标机器执行待处理任务的插件的步骤,包括:
从任务参数信息提取出用户设置的待处理任务的脚本类型;
将待处理任务包装成所述脚本类型的目标脚本,将所述目标脚本下发至所述目标机器的插件中。
3.根据权利要求1所述的任务调度方法,其特征在于,所述当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器的步骤,包括:
当所述待处理任务预先设置的定时时间到达或所述待处理任务依赖的任务完成时,根据所述任务参数信息选择指定接口机组的目标机器。
4.根据权利要求3所述的任务调度方法,其特征在于,所述目标机器为该指定接口机组中当前内存利用率最低的机器。
5.根据权利要求1所述的任务调度方法,其特征在于,选择所述待处理任务指定接口机组的目标机器之前,还包括:
定时检测主调度引擎服务器是否存活;
当主调度引擎服务器挂掉时,将备调度引擎服务器变更为主调度引擎服务器,利用备调度引擎服务器将待处理任务重新调度至指定接口机组的目标机器中。
6.根据权利要求1所述的任务调度方法,其特征在于,所述接收目标机器反馈的待处理任务的处理状态的步骤,包括:
定时检测待处理任务的进程;
当进程结束时,接收目标机器反馈的任务已完成的状态码;
否则控制目标机器重新执行待处理任务的插件。
7.根据权利要求1所述的任务调度方法,其特征在于,所述接收目标机器反馈的待处理任务的处理状态之后,还包括:
利用关系型数据库管理系统更新待处理任务的处理状态。
8.根据权利要求1所述的任务调度方法,其特征在于,所述将待处理任务的任务参数信息下发至目标机器的目录文件中的步骤,包括:
将待处理任务的任务参数信息通过调度系统的原生通道下发至目标机器的目录文件中;其中,所述原生通道为调度系统自带的安全外壳协议通道。
9.根据权利要求1所述的任务调度方法,其特征在于,还包括:
接收用户发起的扩展插件请求;
将待扩展插件配置在指定接口机组的各个机器中。
10.一种任务调度装置,其特征在于,包括:
获取模块,用于获取用户输入的待处理任务的任务参数信息;
选择模块,用于当所述待处理任务满足任务执行条件时,选择所述待处理任务指定接口机组的目标机器;其中,各种任务类型的任务封装为独立的插件,并配置在各接口机组的机器中;
下发模块,用于将待处理任务的任务参数信息下发至目标机器的目录文件中,以使目标机器根据所述任务参数信息从目录文件中查询所述待处理任务对应的插件;
控制模块,用于控制目标机器执行待处理任务的插件,并接收目标机器反馈的待处理任务的处理状态。
11.一种存储介质,其上存储有计算机程序,其特征在于:
所述计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的任务调度方法。
12.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任意一项所述的任务调度方法。
CN202010268631.7A 2020-04-07 2020-04-07 任务调度方法、装置、存储介质及服务器 Active CN111488181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010268631.7A CN111488181B (zh) 2020-04-07 2020-04-07 任务调度方法、装置、存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010268631.7A CN111488181B (zh) 2020-04-07 2020-04-07 任务调度方法、装置、存储介质及服务器

Publications (2)

Publication Number Publication Date
CN111488181A true CN111488181A (zh) 2020-08-04
CN111488181B CN111488181B (zh) 2024-03-01

Family

ID=71794690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010268631.7A Active CN111488181B (zh) 2020-04-07 2020-04-07 任务调度方法、装置、存储介质及服务器

Country Status (1)

Country Link
CN (1) CN111488181B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039963A (zh) * 2020-08-21 2020-12-04 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN112905339A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 任务调度执行方法、装置及系统
CN113485816A (zh) * 2021-07-30 2021-10-08 平安普惠企业管理有限公司 定时调度任务的部署方法、装置、设备及存储介质
CN115672756A (zh) * 2022-11-15 2023-02-03 艾信智慧医疗科技发展(苏州)有限公司 一种医用箱式物流分拣系统异常情况处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246555A (zh) * 2013-05-03 2013-08-14 深圳中兴网信科技有限公司 任务调度装置和任务调度方法
CN106874047A (zh) * 2017-01-25 2017-06-20 广东神马搜索科技有限公司 分布式系统调度方法、装置及分布式系统
CN106888256A (zh) * 2017-02-21 2017-06-23 广州神马移动信息科技有限公司 分布式监控系统及其监控和调度方法与装置
CN107844339A (zh) * 2017-11-15 2018-03-27 湖北盛天网络技术股份有限公司 任务调度方法及插件和服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246555A (zh) * 2013-05-03 2013-08-14 深圳中兴网信科技有限公司 任务调度装置和任务调度方法
CN106874047A (zh) * 2017-01-25 2017-06-20 广东神马搜索科技有限公司 分布式系统调度方法、装置及分布式系统
CN106888256A (zh) * 2017-02-21 2017-06-23 广州神马移动信息科技有限公司 分布式监控系统及其监控和调度方法与装置
CN107844339A (zh) * 2017-11-15 2018-03-27 湖北盛天网络技术股份有限公司 任务调度方法及插件和服务器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039963A (zh) * 2020-08-21 2020-12-04 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN112039963B (zh) * 2020-08-21 2023-04-07 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN112905339A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 任务调度执行方法、装置及系统
CN112905339B (zh) * 2021-02-08 2024-02-13 中国工商银行股份有限公司 任务调度执行方法、装置及系统
CN113485816A (zh) * 2021-07-30 2021-10-08 平安普惠企业管理有限公司 定时调度任务的部署方法、装置、设备及存储介质
CN113485816B (zh) * 2021-07-30 2024-01-30 深圳市鹿驰科技有限公司 定时调度任务的部署方法、装置、设备及存储介质
CN115672756A (zh) * 2022-11-15 2023-02-03 艾信智慧医疗科技发展(苏州)有限公司 一种医用箱式物流分拣系统异常情况处理方法

Also Published As

Publication number Publication date
CN111488181B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN111488181A (zh) 任务调度方法、装置、存储介质及服务器
US11659020B2 (en) Method and system for real-time modeling of communication, virtualization and transaction execution related topological aspects of monitored software applications and hardware entities
CN109086986B (zh) 作业调度方法及装置
CN110768833A (zh) 基于kubernetes的应用编排部署方法及装置
JP2019523462A (ja) マルチタスクスケジューリング方法、システム、アプリケーションサーバ及びコンピュータの読み取り可能な記憶媒体
CN104360878B (zh) 一种应用软件部署的方法及装置
CA2812525A1 (en) Virtual server control system and program
CN102006332A (zh) 一种软件升级的方法和系统
US10362097B1 (en) Processing an operation with a plurality of processing steps
CN115292026B (zh) 容器集群的管理方法、装置、设备及计算机可读存储介质
WO2009089746A1 (fr) Procédé, dispositif et système de réalisation d'une tâche dans un environnement de grappes
CN114880100A (zh) 容器动态调度方法、装置、计算机设备和存储介质
CN110471750A (zh) 定时任务控制方法、装置、介质和计算机设备
CN108646577B (zh) 一种客户端运行管理方法及客户端
CN103036975A (zh) 虚拟机控制方法及装置
CN117311990A (zh) 资源调整方法、装置、电子设备、存储介质及训练平台
CN113596077A (zh) 程序下载方法、装置、计算机设备和存储介质
CN112306640A (zh) 容器分配方法及其装置、设备、介质
CN104809021B (zh) 多重作业环境服务的管理系统及管理方法
CN104090805B (zh) 一种更新终端操作系统的方法、设备及系统
CN110753090A (zh) 服务器集群的任务执行方法、装置、计算机设备及存储介质
WO2004090660A2 (en) Controlling usage of system resources by a network manager
CN115309457A (zh) 应用实例的重启方法、装置、电子设备及可读存储介质
JP4366576B2 (ja) プログラマブルコントローラ用機器
CN107220101A (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