CN112379987A - 任务调度方法、装置、可读介质以及设备 - Google Patents
任务调度方法、装置、可读介质以及设备 Download PDFInfo
- Publication number
- CN112379987A CN112379987A CN202011287195.4A CN202011287195A CN112379987A CN 112379987 A CN112379987 A CN 112379987A CN 202011287195 A CN202011287195 A CN 202011287195A CN 112379987 A CN112379987 A CN 112379987A
- Authority
- CN
- China
- Prior art keywords
- task
- task server
- server
- state
- executed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000004044 response Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 25
- 238000012216 screening Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/328—Computer systems status display
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种任务调度方法、装置、可读介质以及设备,该方法通过监测多个任务服务器的运行状态;其中,所述运行状态,包括:正常状态或故障状态;针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务;将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中,保障了处于故障状态的任务服务器中的任务能够被成功执行。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务调度方法、装置、可读介质以及设备。
背景技术
现有技术中,为了提高项目执行效率,通常将项目拆分成多个任务,然后将多个任务部署到多个任务服务器中,由多个任务服务器执行各自被分配到的任务。
然而,在多个任务服务器执行任务的过程中,当某个任务服务器出现异常时,该任务服务器中的任务就没有办法被顺利执行,进而影响了整个项目的执行效率。因此,在现有的任务服务器执行任务的过程中,需要在任务服务器在出现异常的情况下,能够保障该任务服务器内的任务被成功执行,以达到不影响整个项目的执行效率的目的。
发明内容
基于上述现有技术的不足,本申请提供了一种任务调度方法、装置、可读介质以及设备,以实现在任务服务器在出现异常的情况下,能够保障该任务服务器内的任务被成功执行,以达到不影响整个项目的执行效率的目的。
本申请第一方面公开了一种任务调度方法,包括:
监测多个任务服务器的运行状态;其中,所述运行状态,包括:正常状态或故障状态;
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务;
将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中。
可选地,在上述任务调度方法中,所述监测多个任务服务器的运行状态,包括:
针对每一个任务服务器,向所述任务服务器发送超文本传输协议HTTP请求;
若接收到所述任务服务器返回的响应消息,则将所述任务服务器的运行状态确定为正常状态;其中,所述任务服务器返回的响应消息由所述任务服务器响应所述HTTP请求得到、且携带有响应所述HTTP请求的任务服务器的标识信息;
若未接收到所述任务服务器返回的响应消息,则查看所述任务服务器中的任务数据库的通讯时间戳是否有更新;
若查看到所述任务服务器中的任务数据库的通讯时间戳有更新,则确定出所述任务服务器的运行状态为正常状态;
若查看到所述任务服务器中的任务数据库的通讯时间戳没有更新,则确定出所述任务服务器的运行状态为故障状态。
可选地,在上述任务调度方法中,所述针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务,包括:
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
可选地,在上述任务调度方法中,所述将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中,包括:
识别获取到的每一个所述未执行完成的任务所属的业务类别;
针对每一个业务类别,将识别结果为属于所述业务类别下的每一个所述未执行完成的任务,分配至至少一个处理所述业务类别、且处于所述正常状态的任务服务器中。
可选地,在上述任务调度方法中,所述针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务,包括:
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,确定出所述任务数据库中的每一个任务所对应的执行状态;
利用确定出的每一个任务所对应的执行状态,从所述任务数据库中的每一个任务中,筛选出所有未执行完成的任务,并对筛选出的所有未执行完成的任务进行获取。
本申请第二方面公开了一种任务调度装置,包括:
监测单元,用于监测多个任务服务器的运行状态;其中,所述运行状态,包括:正常状态或故障状态;
获取单元,用于针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务;
分配单元,用于将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中。
可选地,在上述任务调度装置中,所述监测单元,包括:
发送子单元,用于针对每一个任务服务器,向所述任务服务器发送超文本传输协议HTTP请求;
第一确定子单元,用于若接收到所述任务服务器返回的响应消息,则将所述任务服务器的运行状态确定为正常状态;其中,所述任务服务器返回的响应消息由所述任务服务器响应所述HTTP请求得到、且携带有响应所述HTTP请求的任务服务器的标识信息;
查看子单元,用于若未接收到所述任务服务器返回的响应消息,则查看所述任务服务器中的任务数据库的通讯时间戳是否有更新;
第二确定子单元,用于若查看到所述任务服务器中的任务数据库的通讯时间戳有更新,则确定出所述任务服务器的运行状态为正常状态;
第三确定子单元,用于若查看到所述任务服务器中的任务数据库的通讯时间戳没有更新,则确定出所述任务服务器的运行状态为故障状态。
可选地,在上述任务调度装置中,所述获取单元,包括:
扫描子单元,用于针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
可选地,在上述任务调度装置中,所述分配单元,包括:
识别子单元,用于识别获取到的每一个所述未执行完成的任务所属的业务类别;
分配子单元,用于针对每一个业务类别,将识别结果为属于所述业务类别下的每一个所述未执行完成的任务,分配至至少一个处理所述业务类别、且处于所述正常状态的任务服务器中。
可选地,在上述任务调度装置中,所述扫描子单元,包括:
第四确定子单元,用于针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,确定出所述任务数据库中的每一个任务所对应的执行状态;
筛选子单元,用于利用确定出的每一个任务所对应的执行状态,从所述任务数据库中的每一个任务中,筛选出所有未执行完成的任务,并对筛选出的所有未执行完成的任务进行获取。
本申请第三方面公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面中任一所述的方法。
本申请第四方面公开了一种设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
从上述技术方案可以看出,本申请实施例提出的任务调度方法中,通过监测多个任务服务器的运行状态,其中运行状态,包括:正常状态或故障状态。然后针对每一个任务服务器,若监测到任务服务器处于故障状态,则从任务服务器中获取所有未执行完成的任务,将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中的方式,保障了处于故障状态的任务服务器中的任务能够被成功执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提出的一种任务调度方法的流程示意图;
图2为本申请实施例提出的一种监测多个任务服务器的运行状态的方法的流程示意图;
图3为本申请实施例提出的一种获取未执行完成的任务的方法的流程示意图;
图4为本申请实施例提出的一种分配未执行完成的任务的方法的流程示意图;
图5为本申请实施例提出的一种任务调度装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本申请实施例提出了一种任务调度方法,包括:
S101、监测多个任务服务器的运行状态。
其中,运行状态,包括:正常状态或故障状态。任务服务器处于正常状态时,可以正常执行任务服务器自身的任务,而任务服务器处于故障状态时,则无法执行自身的任务。
执行步骤S101的过程中,可以是实时监测多个任务服务器的运行状态,也可以是按照预设的监测周期,对多个任务服务器的运行状态进行监测。而执行图1示出的实施例的设备,可以是某个任务服务器。该任务服务器执行步骤S101时,监测除自身之外的多个任务服务器的运行状态,而其他的任务服务器也可以各自监测除自身之外的多个任务服务器的运行状态,以使得当某个任务服务器处于故障状态时,可以被监测该任务服务器的任务服务器发现,进而及时采取措施。可选地,执行图1示出的实施例的设备,也可以是专门用于监测的一个或多个监测服务器。监测服务器专门监测多个任务服务器的任务状态。当使用多个监测服务器分别执行步骤S101时,在某个监测服务器出现故障无法正常进行监测时,即可通过其他正常监测的监测服务器保证步骤S101的顺利执行。
可选地,监测得到多个任务服务器当前的运行状态后,可以将任务服务器当前的运行状态进行记录存储,以便后续针对不同运行状态的任务服务器进行处理。
可选地,参阅图2,在本申请一具体实施例中,执行步骤S101的一种实施方式,包括:
S201、针对每一个任务服务器,向任务服务器发送超文本传输协议(HyperTextTransferProtocol,HTTP)请求。
其中,HTTP请求中携带有任务服务器的标识信息以及生成该HTTP请求的设备自身的标识信息。执行步骤S201的过程中,分别向每一个任务服务器发送HTTP请求,以通过是否能与任务服务器建立通讯,来确定每一个任务服务器的应用网络是否正常。任务服务器的运行状态为处于故障状态时,通常应用网络会处于故障状态,不能够与其他任务服务器建立通讯,进而也无法正常处理自身的任务。因此,执行步骤S201之后,可以通过HTTP请求是否被成功响应,来确定任务服务器的运行状态。
具体的,每个任务服务器上均存在有一个通讯检查接口,通过基于HTTP的统一资源定位系统(uniformresource locator,URL)探测任务服务器是否可正常通讯。
可选地,可以将需要监测的任务服务器的标识信息,存储在本地。在执行步骤S201的过程中,针对每一个任务服务器,利用该任务服务器的标识信息,生成与任务服务器对应的HTTP请求,然后向该任务服务器发送HTTP请求。任务服务器的标识信息可以是任务服务器的地址链接或者任务服务器的网址等。多个任务服务器的标识信息可以以表格的形式存储在本地,执行步骤S201的时候,可以对表格中的多个任务服务器的标识信息进行轮询,轮询到哪一个任务服务器,则使用该任务服务器的标识生成HTTP请求并进行发送。
S202、判断是否接收到任务服务器返回的响应消息。
其中,任务服务器返回的响应消息由任务服务器响应HTTP请求得到、且携带有响应HTTP请求的任务服务器的标识信息。若任务服务器的应用层网络没有故障,则会在接收到HTTP请求后,返回HTTP请求对应的响应消息。因此,可以通过判断是否接收到任务服务器返回的响应消息,来确定任务服务器的应用网络是否存在故障。如果接收到了任务服务器返回的响应消息,则说明任务服务器的应用网络没有问题,执行步骤S204。如果没有接收到响应消息,则说明任务服务器的应用网络可能存在故障,执行步骤S203。
具体的,执行步骤S202的过程可以是,预设定一个响应时长,然后在执行步骤S201之后,判断在预设的响应时长内是否有接收到返回的响应消息,如果接收到了,在执行步骤S204,如果没有接收到,则执行步骤S205。
S203、查看任务服务器中的任务数据库的通讯时间戳是否有更新。
由于步骤S202中已判断出未接收到响应消息,因此说明任务服务器的应用网络可能存在问题,需要查看任务服务器中的任务数据库的通讯时间戳是否有更新,进一步确定任务服务器是否确实处于故障状态,无法正常处理自身的任务。
具体的,任务服务器在执行任务的过程中,会向任务数据库读写任务相关数据。任务数据库中可以包括未完成的任务,正在执行的任务,已经已完成的任务,以及各自对应的通讯时间戳。若任务数据库中的通讯时间戳有更新,则说明任务服务器内有正常读写任务相关的数据,进而说明了任务服务器有正常执行任务,因此可以执行步骤S204确定出任务服务器的运行状态为正常状态。如果任务数据库中的通讯时间戳没有更新,则说明任务服务器内没有正常读写任务相关的数据,任务服务器内的任务的执行进程处于停滞状态,因此可以执行步骤S205确定出任务服务器的运行状态为故障状态。
可选地,可以预设一个更新时长,查看任务数据库的通讯时间戳与当前时间点之间的时长是否小于更新时长,如果小于更新时长,则说明任务数据库的通讯时间戳有更新,则执行步骤S204,如果大于或等于更新时长,则说明任务数据库的通讯时间戳没有更新,则执行步骤S205。
由于向任务服务器发送HTTP请求,并接收对应的响应消息所需耗费的处理时长非常短,可以快速监测出处于正常状态的任务服务器。而对于可能处于故障状态的任务服务器,则可以通过步骤S203做进一步的判断。
S204、将任务服务器的运行状态确定为正常状态。
若步骤S202确定出接收到任务服务器返回的响应消息,则可以认为任务服务器的应用网络正常,任务服务器的运行状态可确定为正常状态。而如果步骤S204确定出未接收到响应信息,但步骤S203查看到任务服务器中的任务数据库的通讯时间戳有更新,证明虽然任务服务器应用网络可能存在故障,但任务执行过程没有受到影响,任务服务器仍在正常执行任务,因此可以将任务服务器的运行状态确定为正常状态。
S205、确定出任务服务器的运行状态为故障状态。
由于既没有收到任务服务器所返回的响应消息,又查看到任务服务器中的任务数据库的通讯时间戳没有更新,这就说明了任务服务器的应用网络已经故障,且任务服务器自身的任务没有正常执行,处于停滞状态,因此可确定出任务服务器的运行状态为故障状态。
S102、针对每一个任务服务器,若监测到任务服务器处于故障状态,则从任务服务器中获取所有未执行完成的任务。
针对每一个任务服务器,如果监测到任务服务器处于故障状态,则说明该任务服务器无法正常执行自身的任务,因此需要从任务服务器中获取到所有未执行完成的任务,对所有未执行完成的任务进行后续处理,以保障所有需要执行的任务都能够被正常执行。
具体的,可以是先从任务服务器中获取到任务服务器中所有的任务,然后从中筛选出所有未执行完成的任务。也可以是先从任务服务器中确定有哪些任务处于未执行完成的状态,进而对所有未执行完成的任务进行获取。
可选地,在本申请一具体实施例中,执行步骤S102的一种实施方式,包括:
针对每一个任务服务器,若监测到任务服务器处于故障状态,则对任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
由于任务数据库中包括有所有任务服务器中的任务,因此针对每一个任务服务器,若监测到任务服务器处于故障状态,则可以通过扫描任务服务器中的任务数据库的方式,获取到任务服务器中所有未执行完成的任务。任务服务器中的任务数据库为任务服务器用于处理任务时使用的任务数据库。任务数据库中包括有该任务服务器自身的所有任务相关数据。通过扫描任务数据库,可以读取到任务服务器中的所有任务相关数据,进而能从中筛选出所有未执行完成的任务,并进行获取。
可选地,参阅图3,在本申请一具体实施例中,执行针对每一个任务服务器,若监测到任务服务器处于故障状态,则对任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务的一种实施方式,包括:
S301、针对每一个任务服务器,若监测到任务服务器处于故障状态,则对任务服务器中的任务数据库进行扫描,确定出任务数据库中的每一个任务所对应的执行状态。
任务数据库中包括有每一个任务相关数据,具体的,可以包括有么一个任务所对应的执行状态。因此,针对每一个任务服务器,若监测到任务服务器处于故障状态,可以对任务服务器中的任务数据库进行扫描,确定出任务数据库中的每一个任务所对应的执行状态。任务所对应的执行状态包括有:已执行完成或者未执行完成。
S302、利用确定出的每一个任务所对应的执行状态,从任务数据库中的每一个任务中,筛选出所有未执行完成的任务,并对筛选出的所有未执行完成的任务进行获取。
确定出每一个任务所对应的执行状态后,则从中筛选出未执行完成的任务,然后从任务数据库中获取到筛选出的所有未执行完成的任务。
具体的,任务数据库中除了包括有每一个任务对应的执行状态,还包括有每一个任务对应的标识,通过该任务的标识即可获取到任务。具体的任务对应对应的标识可以是任务的存储地址,或者任务的名称等等。
S103、将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中。
由于步骤S101中监测到了多个任务服务器的运行状态,因此可以从中确定出处于正常状态的任务服务器,进而将未执行完成的任务,分配到至少一个处于正常状态的任务服务器。
具体将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中的方式有很多,例如可以将所有未执行完成的任务均分到每一个处于正常状态的任务服务器中,也可以是根据每一个处于正常状态的任务服务器中当前未执行完成的任务数量进行分配。例如,可优先分配给当前未执行完成的任务数量最少的任务服务器。将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中的分配方式有很多,包括但不限于本申请实施例所提出的内容。
可选地,参阅图4,在本申请一具体实施例中,执行步骤S103的一种实施方式,包括:
S401、识别获取到的每一个未执行完成的任务所属的业务类别。
具体的,任务服务器中的任务数据库还包括有每一个未执行完成的任务所属的业务类别。通过扫描可获取到每一个未执行完成的任务所属的业务类别。可选地,识别到每一个未执行完成的任务所属的业务类别之后,可对所有未执行完成的任务,按照业务类别进行分类。业务类别可以包括交易类业务或查询类业务等。
S402、针对每一个业务类别,将识别结果为属于业务类别下的每一个未执行完成的任务,分配至至少一个处理业务类别、且处于正常状态的任务服务器中。
任务服务器为了提升任务处理效率,只处理某一类业务类别的任务。因此,在识别出每一个未执行完成的任务所属的业务类别后,需要针对每一个业务类别,将识别结果为属于业务类别下的每一个未执行完成的任务,分配至至少一个处理业务类别、且处于正常状态的任务服务器中,由处理该业务类别的任务服务器进行处理。
而将识别结果为属于业务类别下的每一个未执行完成的任务,分配至至少一个处理业务类别、且处于正常状态的任务服务器中的分配方式有很多,例如可以将属于业务类别下的每一个未执行完成的任务进行平均分配,分配方式的不同不影响本申请实施例的实现。
本申请实施例提出的任务调度方法中,通过监测多个任务服务器的运行状态,其中运行状态,包括:正常状态或故障状态。然后针对每一个任务服务器,若监测到任务服务器处于故障状态,则从任务服务器中获取所有未执行完成的任务,将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中的方式,保障了处于故障状态的任务服务器中的任务能够被成功执行。
参阅图5,基于上述本申请实施例提出的任务调度方法,本申请实施例对应公开了一种任务调度装置,包括:监测单元501、获取单元502、以及分配单元503。
监测单元501,用于监测多个任务服务器的运行状态。其中,运行状态,包括:正常状态或故障状态。
可选地,在本申请一具体实施例中,监测单元501,包括:发送子单元、第一确定子单元、查看子单元、第二确定子单元以及第三确定子单元。
发送子单元,用于针对每一个任务服务器,向任务服务器发送超文本传输协议HTTP请求。
第一确定子单元,用于若接收到任务服务器返回的响应消息,则将任务服务器的运行状态确定为正常状态。其中,任务服务器返回的响应消息由任务服务器响应HTTP请求得到、且携带有响应HTTP请求的任务服务器的标识信息。
查看子单元,用于若未接收到任务服务器返回的响应消息,则查看任务服务器中的任务数据库的通讯时间戳是否有更新。
第二确定子单元,用于若查看到任务服务器中的任务数据库的通讯时间戳有更新,则确定出任务服务器的运行状态为正常状态。
第三确定子单元,用于若查看到任务服务器中的任务数据库的通讯时间戳没有更新,则确定出任务服务器的运行状态为故障状态。
获取单元502,用于针对每一个任务服务器,若监测到任务服务器处于故障状态,则从任务服务器中获取所有未执行完成的任务。
可选地,在本申请一具体实施例中,获取单元502,包括:
扫描子单元,用于针对每一个任务服务器,若监测到任务服务器处于故障状态,则对任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
可选地,在本申请一具体实施例中,扫描子单元,包括:
第四确定子单元,用于针对每一个任务服务器,若监测到任务服务器处于故障状态,则对任务服务器中的任务数据库进行扫描,确定出任务数据库中的每一个任务所对应的执行状态。
筛选子单元,用于利用确定出的每一个任务所对应的执行状态,从任务数据库中的每一个任务中,筛选出所有未执行完成的任务,并对筛选出的所有未执行完成的任务进行获取。
分配单元503,用于将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中。
可选地,在本申请一具体实施例中,分配单元503,包括:识别子单元和分配子单元。
识别子单元,用于识别获取到的每一个未执行完成的任务所属的业务类别。
分配子单元,用于针对每一个业务类别,将识别结果为属于业务类别下的每一个未执行完成的任务,分配至至少一个处理业务类别、且处于正常状态的任务服务器中。
上述本申请实施例公开的任务调度装置中的各个单元具体的原理和执行过程,与上述本申请实施例公开的任务调度方法相同,可参见上述本申请实施例公开的任务调度方法中相应的部分,这里不再进行赘述。
本申请实施例提出的任务调度装置中,监测单元501通过监测多个任务服务器的运行状态,其中运行状态,包括:正常状态或故障状态。然后获取单元502针对每一个任务服务器,若监测到任务服务器处于故障状态,则从任务服务器中获取所有未执行完成的任务,分配单元503再将获取到的每一个未执行完成的任务,分配到至少一个处于正常状态的任务服务器中的方式,保障了处于故障状态的任务服务器中的任务能够被成功执行。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例提供的任务调度方法。
本申请实施例提供了一种设备,包括:一个或多个处理器,存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现以上各方法实施例提供的任务调度方法。
专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
监测多个任务服务器的运行状态;其中,所述运行状态,包括:正常状态或故障状态;
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务;
将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中。
2.根据权利要求1所述的方法,其特征在于,所述监测多个任务服务器的运行状态,包括:
针对每一个任务服务器,向所述任务服务器发送超文本传输协议HTTP请求;
若接收到所述任务服务器返回的响应消息,则将所述任务服务器的运行状态确定为正常状态;其中,所述任务服务器返回的响应消息由所述任务服务器响应所述HTTP请求得到、且携带有响应所述HTTP请求的任务服务器的标识信息;
若未接收到所述任务服务器返回的响应消息,则查看所述任务服务器中的任务数据库的通讯时间戳是否有更新;
若查看到所述任务服务器中的任务数据库的通讯时间戳有更新,则确定出所述任务服务器的运行状态为正常状态;
若查看到所述任务服务器中的任务数据库的通讯时间戳没有更新,则确定出所述任务服务器的运行状态为故障状态。
3.根据权利要求1所述的方法,其特征在于,所述针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务,包括:
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
4.根据权利要求1所述的方法,其特征在于,所述将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中,包括:
识别获取到的每一个所述未执行完成的任务所属的业务类别;
针对每一个业务类别,将识别结果为属于所述业务类别下的每一个所述未执行完成的任务,分配至至少一个处理所述业务类别、且处于所述正常状态的任务服务器中。
5.根据权利要求3所述的方法,其特征在于,所述针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务,包括:
针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,确定出所述任务数据库中的每一个任务所对应的执行状态;
利用确定出的每一个任务所对应的执行状态,从所述任务数据库中的每一个任务中,筛选出所有未执行完成的任务,并对筛选出的所有未执行完成的任务进行获取。
6.一种任务调度装置,其特征在于,包括:
监测单元,用于监测多个任务服务器的运行状态;其中,所述运行状态,包括:正常状态或故障状态;
获取单元,用于针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则从所述任务服务器中获取所有未执行完成的任务;
分配单元,用于将获取到的每一个所述未执行完成的任务,分配到至少一个处于所述正常状态的任务服务器中。
7.根据权利要求6所述的装置,其特征在于,所述监测单元,包括:
发送子单元,用于针对每一个任务服务器,向所述任务服务器发送超文本传输协议HTTP请求;
第一确定子单元,用于若接收到所述任务服务器返回的响应消息,则将所述任务服务器的运行状态确定为正常状态;其中,所述任务服务器返回的响应消息由所述任务服务器响应所述HTTP请求得到、且携带有响应所述HTTP请求的任务服务器的标识信息;
查看子单元,用于若未接收到所述任务服务器返回的响应消息,则查看所述任务服务器中的任务数据库的通讯时间戳是否有更新;
第二确定子单元,用于若查看到所述任务服务器中的任务数据库的通讯时间戳有更新,则确定出所述任务服务器的运行状态为正常状态;
第三确定子单元,用于若查看到所述任务服务器中的任务数据库的通讯时间戳没有更新,则确定出所述任务服务器的运行状态为故障状态。
8.根据权利要求6所述的装置,其特征在于,所述获取单元,包括:
扫描子单元,用于针对每一个所述任务服务器,若监测到所述任务服务器处于故障状态,则对所述任务服务器中的任务数据库进行扫描,得到所有未执行完成的任务。
9.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至5中任一所述的方法。
10.一种设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287195.4A CN112379987A (zh) | 2020-11-17 | 2020-11-17 | 任务调度方法、装置、可读介质以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287195.4A CN112379987A (zh) | 2020-11-17 | 2020-11-17 | 任务调度方法、装置、可读介质以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112379987A true CN112379987A (zh) | 2021-02-19 |
Family
ID=74585843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287195.4A Pending CN112379987A (zh) | 2020-11-17 | 2020-11-17 | 任务调度方法、装置、可读介质以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112379987A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1977509A (zh) * | 2004-06-29 | 2007-06-06 | 西门子公司 | 从服务器集中选择一个服务器的方法 |
CN101986659A (zh) * | 2010-10-27 | 2011-03-16 | 青岛普加智能信息有限公司 | 数据实时传输的方法及系统 |
CN102684936A (zh) * | 2011-03-11 | 2012-09-19 | 北京千橡网景科技发展有限公司 | 用于监测服务器的运行状态的方法、设备和系统 |
CN106227596A (zh) * | 2016-07-13 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 用于任务调度服务器的任务监控方法和装置 |
CN106330988A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种超文本传输请求的补发方法、装置及客户端 |
US9612927B1 (en) * | 2016-09-14 | 2017-04-04 | International Business Machines Corporation | Managing server processes with proxy files |
CN108566317A (zh) * | 2018-04-27 | 2018-09-21 | 深信服科技股份有限公司 | 业务监控方法、云服务器、存储介质及装置 |
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
CN111614501A (zh) * | 2020-05-25 | 2020-09-01 | 厦门二五八网络科技集团股份有限公司 | 一种监控方法及系统 |
-
2020
- 2020-11-17 CN CN202011287195.4A patent/CN112379987A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1977509A (zh) * | 2004-06-29 | 2007-06-06 | 西门子公司 | 从服务器集中选择一个服务器的方法 |
CN101986659A (zh) * | 2010-10-27 | 2011-03-16 | 青岛普加智能信息有限公司 | 数据实时传输的方法及系统 |
CN102684936A (zh) * | 2011-03-11 | 2012-09-19 | 北京千橡网景科技发展有限公司 | 用于监测服务器的运行状态的方法、设备和系统 |
CN106330988A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种超文本传输请求的补发方法、装置及客户端 |
CN106227596A (zh) * | 2016-07-13 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 用于任务调度服务器的任务监控方法和装置 |
US9612927B1 (en) * | 2016-09-14 | 2017-04-04 | International Business Machines Corporation | Managing server processes with proxy files |
CN108566317A (zh) * | 2018-04-27 | 2018-09-21 | 深信服科技股份有限公司 | 业务监控方法、云服务器、存储介质及装置 |
CN110895487A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 分布式任务调度系统 |
CN111614501A (zh) * | 2020-05-25 | 2020-09-01 | 厦门二五八网络科技集团股份有限公司 | 一种监控方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333249B (zh) | 一种业务服务系统及方法 | |
US9535749B2 (en) | Methods for managing work load bursts and devices thereof | |
CN109426510B (zh) | 软件处理方法、装置、电子设备及计算机可读存储介质 | |
CN112380072A (zh) | 多数据中心访问方法及系统 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN106789435B (zh) | 一种状态监控方法及其装置、数据中心及多活数据中心 | |
CN110430070B (zh) | 一种服务状态分析方法、装置、服务器、数据分析设备及介质 | |
CN113326104B (zh) | 一种虚拟机内部配置的修改方法、系统及装置 | |
CN112865993A (zh) | 分布式主从系统中从节点的切换方法和装置 | |
CN114153668A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN106648871B (zh) | 一种资源管理方法及系统 | |
CN117453357A (zh) | 节点任务调度方法、装置、计算机设备及存储介质 | |
CN112379987A (zh) | 任务调度方法、装置、可读介质以及设备 | |
CN112306871A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111309456B (zh) | 一种任务执行方法及系统 | |
CN108156061B (zh) | esb监控服务平台 | |
CN111913784A (zh) | 任务调度方法及装置、网元、存储介质 | |
CN107766232B (zh) | 一种插件管理方法及装置 | |
CN110928679B (zh) | 一种资源分配方法及装置 | |
CN110188008B (zh) | 作业调度主备切换方法、装置、计算机设备及存储介质 | |
CN110113187B (zh) | 一种配置更新方法、装置、配置服务器及配置系统 | |
CN108933803B (zh) | 前端设备、云存储服务器、流数据直存方法及系统 | |
CN109698764B (zh) | 一种域名解析系统配置更新方法和装置 | |
CN113703930A (zh) | 任务调度方法、装置及系统、计算机可读存储介质 | |
CN110868477A (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 |