CN108829503A - 任务调度方法、装置、系统、介质和电子设备 - Google Patents
任务调度方法、装置、系统、介质和电子设备 Download PDFInfo
- Publication number
- CN108829503A CN108829503A CN201810681211.4A CN201810681211A CN108829503A CN 108829503 A CN108829503 A CN 108829503A CN 201810681211 A CN201810681211 A CN 201810681211A CN 108829503 A CN108829503 A CN 108829503A
- Authority
- CN
- China
- Prior art keywords
- task
- goal
- bit stream
- execution
- mission bit
- 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 54
- 240000008042 Zea mays Species 0.000 claims abstract description 54
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 claims abstract description 54
- 235000002017 Zea mays subsp mays Nutrition 0.000 claims abstract description 54
- 235000005822 corn Nutrition 0.000 claims abstract description 54
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 12
- 239000003999 initiator Substances 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000036541 health Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)
Abstract
本发明实施例提供一种任务调度方法、装置、系统、介质和电子设备。方法包括:接收需要调度的任务的任务信息,并为任务生成任务ID,且设置任务的任务状态为待执行状态;定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务;对于需要执行的目标任务,在目标任务的任务执行消息体上填写消息头信息,并依据目标任务的执行域名称编码,确定目标业务域,将目标任务发送至对应的目标业务域中的消息交换机;待目标任务发送完成后,依据目标任务的任务类型,按照与任务类型相对应的预设处理方法,更新目标任务。本发明实施例降低了开发人员的开发工作量。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种任务调度方法、装置、系统、介质和电子设备。
背景技术
根据任务的执行属性可将任务分为单次型任务和重复型任务。单次型任务指的是只需执行一次的任务,比如用户A在某个时刻给用户B发了一条祝福短信,短信发送成功,任务完成结束。重复型任务指的是根据预先设定的规则,重复多次执行某个任务,比如对于任务“体检中心每天早8点准时向其注册的会员发送健康养生信息”来说,该任务本身是一个重复型任务,但是系统会将该重复型任务自动拆解成多个单一任务来执行,如第一天创建任务(1),该任务(1)的执行时间为2018-5-22早上8点,执行间隔为24小时,那么在2018-5-22早上8点体检中心会向其注册的会员发送健康养生信息。该任务(1)完成之后,系统又会自动生成任务(2),该任务(2)的执行时间为2018-5-23早上8点,执行间隔为24小时,那么在2018-5-23早上8点体检中心会向其注册的会员发送健康养生信息。该任务(2)完成之后,系统又会自动生成任务(3),该任务(3)的执行时间为2018-5-24早上8点,执行间隔为24小时,以此类推。
目前的任务调度方法,针对不同业务场景下的不同任务,都需要由开发人员创建相应的任务开发代码,比如任务一:体检中心每天早8点准时向其注册的会员发送健康养生信息,任务二:每天下午3点准时向其注册的会员发送会员优惠活动信息,虽然任务一和任务二的不同点仅在于任务触发时间和任务具体内容不同,但却需要开发人员分别创建两套任务开发代码来分别执行任务一和任务二。而随着任务的增多,开发人员的工作量会越来越大。
发明内容
有鉴于此,本发明实施例提供一种任务调度方法、装置、系统、介质和电子设备,以降低开发人员的开发工作量。技术方案如下:
基于本发明实施例的一方面,本发明实施例提供一种任务调度方法,应用于任务调度装置,方法包括:
接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务;
对于确定的需要执行的目标任务,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;
待所述目标任务发送完成后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
可选地,所述按照与所述任务类型相对应的预设处理方法,更新所述目标任务包括:
当所述目标任务确定为单次型任务时,将所述目标任务的任务状态更新为已执行状态,并记录所述目标任务的执行时间;
当所述目标任务确定为重复型任务时,将所述目标任务的任务状态更新为已执行状态,记录所述目标任务的执行时间,并依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与所述目标任务的任务ID相同。
可选地,所述corn表达式包含所述目标任务与下一任务的间隔时间;所述依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务包括:
依据所述目标任务与下一任务的间隔时间,生成所述新的待执行任务的执行时间。
可选地,所述方法还包括:
依据所述新的待执行任务的执行时间和所述新的待执行任务的corn表达式,生成所述新的待执行任务与其下一任务的间隔时间。
可选地,所述依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务包括:
依据各任务的任务信息中的corn表达式中的执行时间,确定任务的执行时间在下次扫描时间之前的任务为需要执行的目标任务。
可选地,所述依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机包括:
依据所述目标任务的执行域名称编码,确定目标业务域;
确定所述目标业务域对应的消息交换机,以及与所述消息交换机对应的消息队列;
将所述目标任务发送至对应的消息交换机,并通过所述消息队列承载所述目标任务中的任务执行消息体。
基于本发明实施例的另一方面,本发明实施例提供一种任务调度装置,包括:任务接收模块、任务扫描模块、任务分发模块和任务更新模块,其中:
所述任务接收模块用于接收需要调度的任务的任务信息,并为所述任务生成任务ID,设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
所述任务扫描模块用于定时扫描所述任务接收模块中各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目的任务,并将所述目的任务的任务信息和任务ID发送至所述任务分发模块;
所述任务分发模块用于接收到所述任务扫描模块发送的目的任务的任务信息和任务ID后,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;以及将完成发送的目标任务的任务信息和任务ID发送至所述任务更新模块;
所述任务更新模块用于接收到所述任务分发模块发送的完成发送的目标任务的任务信息和任务ID后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
基于本发明实施例的再一方面,本发明实施例提供一种任务调度系统,,包括:
用于创建任务信息的任务发起方;
用于执行任务的任务执行域;
和位于所述任务发起方和所述任务执行域之间的任务调度装置,所述任务调度装置为前文所述的任务调度装置。
基于本发明实施例的再一方面,本发明实施例提供一种存储介质,其上存储有程序,所述程序被处理器执行时实现前文所述的任务调度方法。
基于本发明实施例的再一方面,本发明实施例提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行前文所述的任务调度方法。
本发明实施例提供的任务调度方法、装置、系统、介质和电子设备中,同时支持对单次型任务和重复型任务的处理。本发明实施例通过接收需要调度的任务的任务信息、扫描任务的任务信息、确定需要执行的目标任务、将目标任务发送至对应的目标业务域中的消息交换机、依据目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新目标任务,整套处理流程尤其适用于对场景相同但任务内容不同的任务进行调度,只需开发人员简单地修改某个任务的任务信息即可实现不同任务的调度。仍以任务一:体检中心每天早8点准时向其注册的会员发送健康养生信息,任务二:每天下午3点准时向其注册的会员发送会员优惠活动信息为例,本发明实施例只需开发人员简单地修改任务一的任务信息,即将任务的执行时间由每天早8点修改为每天下午3点,将任务执行消息体由健康养生信息修改为会员优惠活动信息即可实现任务二的调度,而整套任务的开发代码无需重新创建,这相比现有技术需要创建两套任务开发代码来分别执行任务一和任务二,大大减少了开发人员的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种任务调度方法的流程图;
图2为本发明实施例提供的一种任务调度装置的结构示意图;
图3为本发明实施例提供的一种任务调度系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种任务调度方法。如附图1和附图2所示,本发明实施例提供的任务调度方法具体应用于任务调度装置中,方法可以包括:
步骤101,接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态。
本发明实施例中,任务发起方可以通过不同的途径来创建不同任务的任务信息,其中任务信息至少包括任务类型、corn表达式、执行域名称编码和任务执行消息体。
其中任务类型包括单次型和重复型,单次型表示任务为单次型任务,重复型表示任务为重复型任务。一般的,重复型任务是由管理员在后台管理门户中的任务调度管理功能中生成,单次型任务由各业务产品在具体业务执行时采用调用任务调度中心的服务生成。
corn表达式包含任务的执行时间,对于重复型任务来说,其corn表达式中还包括任务的下次计划执行时间、间隔时间等信息。
执行域名称编码为执行任务的业务域的编码,根据执行域名称编码可以确定该任务的发送对象。
任务执行消息体为任务的具体内容,如对于“发送短信A”这一任务来说,任务执行消息体为该短信A的具体内容。
本发明实施例在接收到任务发起方发送的需要调度的任务的任务信息后,会为该任务生成一个用于标识该任务的任务ID,从而助于与其他任务进行区分,并将该任务的任务状态设置为待执行状态。
步骤102,定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务。
对于任务状态为待执行状态的各个任务,本发明实施例定时扫描各个任务的任务信息,并依据各个任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务。
本发明实施例会同时存在有多个任务状态为待执行状态的任务,但是每个任务的执行时间可能在下次扫描时间之前,也可能在下次扫描时间之后。由此,本发明实施例扫描各个处于待执行状态的任务的任务信息,根据各个任务的任务信息中的corn表达式中的执行时间,确定各个任务的执行时间,从而确定任务的执行时间在下次扫描时间之前的任务为需要执行的目标任务。
步骤103,对于确定的需要执行的目标任务,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机。
本发明实施例中,消息头信息可以包括目标任务的源IP地址等,用于标识目标任务的发送源信息。
具体地本发明实施例中,对于确定的需要执行的目标任务,本发明实施例在其任务执行消息体上填写消息头信息,并依据目标任务的执行域名称编码,确定目标业务域,进而将所述目标任务发送至对应的目标业务域中的消息交换机。
在实际应用中,每个业务域对应至少一台消息交换机,每台交换机又对应至少一个消息队列。本发明实施例基于医养集成平台建立了通用域、支撑域、核心域等三大模板的业务域。其中业务域提供任务执行的服务时便成为执行业务域。业务域在接收到队列中的消息后会根据任务类型,调用业务域不同的服务来完成相应任务。
因此本发明实施例在目标任务的任务执行消息体上填写消息头信息后,首先依据目标任务的执行域名称编码,确定目标业务域,进而确定目标业务域对应的消息交换机,以及消息交换机对应的消息队列。进而,将目标任务发送至对应的消息交换机后,会通过所述消息队列承载所述目标任务中的任务执行消息体。
当本发明实施例成功将目标任务发送至对应的目标业务域中的消息交换机后,继续执行步骤104。
步骤104,待所述目标任务发送完成后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
本发明实施例中,在确定目标任务已成功完成发送后,进一步依据所述目标任务的任务类型,按照与任务类型相对应的预设处理方法,更新所述目标任务。
其中,当所述目标任务的任务类型为单次型时,确定所述目标任务为单次型任务,此时将所述目标任务的任务状态更新为已执行状态,并记录所述目标任务的执行时间。当所述目标任务的任务类型为重复型时,确定所述目标任务为重复型任务,此时将所述目标任务的任务状态更新为已执行状态,记录所述目标任务的执行时间,并依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与所述目标任务的任务ID相同。
具体在本发明实施例中,在确定目标任务成功完成发送后,将该目标任务的任务状态更新为已执行状态,同时将该目标任务的执行时间记录到该目标任务的任务信息中。其中对于目标任务为重复型任务的情况而言,本发明实施例依据目标任务的任务信息中的corn表达式生成新的待执行任务后,将该生成的新的待执行任务的任务状态设置为待执行状态。
进一步地,对于生成的新的待执行任务,本发明实施例可以进一步依据所述目标任务与下一任务的间隔时间,生成该新的待执行任务的执行时间,以及依据所述新的待执行任务的执行时间和所述新的待执行任务的corn表达式,生成所述新的待执行任务与其下一任务的间隔时间。
举例来说,假设当前任务(简称为第一任务)为12点向用户A发送第一提醒消息,该第一任务的corn表达式包含该第一任务与下一任务(简称为第二任务)的间隔时间,如2小时。那么本发明实施例能够根据当前第一任务的执行时间12点,以及第一任务与第二任务的间隔时间2小时,生成第二任务的执行时间为14点。进一步,本发明实施例还可以依据该第二任务的执行时间14点和corn表达式,例如corn表达式为间隔时间每次推迟1小时,生成第二任务与其下一任务(简称为第三任务)的间隔时间,如3小时。
本发明实施例提供的任务调度方法,同时支持对单次型任务和重复型任务的处理。更具体地,本发明实施例通过接收需要调度的任务的任务信息、扫描任务的任务信息、确定需要执行的目标任务、将目标任务发送至对应的目标业务域中的消息交换机、依据目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新目标任务,整套处理流程尤其适用于对场景相同但任务内容不同的任务进行调度,只需开发人员简单地修改某个任务的任务信息即可实现不同任务的调度。以任务一:体检中心每天早8点准时向其注册的会员发送健康养生信息,任务二:每天下午3点准时向其注册的会员发送会员优惠活动信息为例,本发明实施例只需开发人员简单地修改任务一的任务信息,即将任务的执行时间由每天早8点修改为每天下午3点,将任务执行消息体由健康养生信息修改为会员优惠活动信息即可实现任务二的调度,而整套任务的开发代码无需重新创建,这相比现有技术需要创建两套任务开发代码来分别执行任务一和任务二,大大减少了开发人员的工作量。
本发明实施例提供的任务调度方法,对于重复型任务不需要开发人员参与,一旦任务设定完成后,能够自动生成下一单一任务,并自动扫描、执行。
且本发明实施例针对新增任务的场景,只需运维人员来设定基础的配置信息(如异步消息引擎MQ的交换机和队列信息)、执行域等信息,不再需要开发人员开发新的代码或者进行额外程序开发,大大减少了基于业务场景任务的定时调度程序开发以及带来的开发、测试、运维等各方面工作量。
基于前文本发明实施例提供的任务调度方法,本发明实施例还提供一种任务调度装置,如图2所示,其示出了本发明实施例提供的一种任务调度装置的结构示意图。本发明实施例提供的任务调度装置可以包括:任务接收模块10、任务扫描模块20、任务分发模块30和任务更新模块40。具体地,可以结合图3所示:
任务接收模块10用于接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体。
任务扫描模块20用于定时扫描任务接收模块10中各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目的任务,并将所述目的任务的任务信息和任务ID发送至任务分发模块30。
任务分发模块30用于接收到任务扫描模块20发送的目的任务的任务信息和任务ID后,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;以及将完成发送的目标任务的任务信息和任务ID发送至任务更新模块40。
任务更新模块40用于接收到任务分发模块30发送的完成发送的目标任务的任务信息和任务ID后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
本发明实施例提供的任务调度装置包括处理器和存储器,上述任务接收模块10、任务扫描模块20、任务分发模块30和任务更新模块40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现任务调度。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
图3示出了本发明实施例提供的一种任务调度系统,包括用于创建任务信息的任务发起方、用于执行任务的任务执行域,以及位于所述任务发起方和所述任务执行域之间的任务调度装置,所述任务调度装置即为本发明实施例图2所示的任务调度装置。
具体在本发明实施例中,对于需要调度的任务,任务发起方可以通过不同的途径来创建不同任务的任务信息,其中任务信息至少包括任务类型、corn表达式、执行域名称编码和任务执行消息体,进而任务发起方将创建好的各个任务以及任务信息发送至任务调度装置。
任务调度装置中的任务接收模块用于接收任务发起方发送的任务以及任务信息,并为接收到的各个任务生成一个用于标识该任务的任务ID,从而助于与其他任务进行区分,且任务接收模块进一步将各个任务的任务状态设置为待执行状态。
任务调度装置中的任务扫描模块定时扫描任务接收模块中各个任务的任务信息,并依据各个任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务。对于确定好的需要执行的目标任务,任务扫描模块将目标任务及其任务信息发送至任务调度装置中的任务分发模块。
任务调度装置中的任务分发模块接收到任务扫描模块发送的目标任务及其任务信息后,在各个目标任务的任务执行消息体上填写消息头信息,并依据目标任务的执行域名称编码,确定目标业务域,并进一步将目标任务发送至对应的目标业务域中的消息交换机。
任务执行域包括不同的业务域,每个业务域对应至少一台消息交换机,每台交换机又对应至少一个消息队列。具体地,本发明实施例基于医养集成平台建立了通用域、支撑域、核心域等三大模板的业务域。其中业务域提供任务执行的服务时便成为执行业务域。业务域在接收到队列中的消息后会根据任务类型,调用业务域不同的服务来完成相应任务。
当任务分发模块成功将目标任务发送至对应的目标业务域中的消息交换机后,将完成发送的目标任务的任务ID和任务信息发送至任务调度装置中的任务更新模块。
任务调度装置中的任务更新模块接收到目标任务的任务ID和任务信息后,可以确定该目标任务已成功完成发送,从而进一步依据目标任务的任务类型,按照与任务类型相对应的预设处理方法,更新所述目标任务。
具体地,任务更新模块首先依据任务信息中的任务类型确定目标任务为单次型还是重复型。当确定目标任务为单次型任务时,任务更新模块将任务接收模块中该目标任务的任务状态更新为已执行状态,并记录目标任务的执行时间;当确定目标任务为重复型任务时,任务更新模块将任务接收模块中该目标任务的任务状态更新为已执行状态,记录目标任务的执行时间,并依据目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与目标任务的任务ID相同,并进一步将生成的新的待执行任务发送至任务接收模块。
任务接收模块接收到该新的待执行任务后,将其任务状态设置为待执行状态,等待任务扫描模块的扫描。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述任务调度方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述任务调度方法。
本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务;
对于确定的需要执行的目标任务,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;
待所述目标任务发送完成后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
可选地,所述按照与所述任务类型相对应的预设处理方法,更新所述目标任务包括:
当所述目标任务确定为单次型任务时,将所述目标任务的任务状态更新为已执行状态,并记录所述目标任务的执行时间;
当所述目标任务确定为重复型任务时,将所述目标任务的任务状态更新为已执行状态,记录所述目标任务的执行时间,并依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与所述目标任务的任务ID相同。
可选地,所述corn表达式包含所述目标任务与下一任务的间隔时间;所述依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务包括:
依据所述目标任务与下一任务的间隔时间,生成所述新的待执行任务的执行时间。
可选地,所述方法还包括:
依据所述新的待执行任务的执行时间和所述新的待执行任务的corn表达式,生成所述新的待执行任务与其下一任务的间隔时间。
可选地,所述依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务包括:
依据各任务的任务信息中的corn表达式中的执行时间,确定任务的执行时间在下次扫描时间之前的任务为需要执行的目标任务。
可选地,所述依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机包括:
依据所述目标任务的执行域名称编码,确定目标业务域;
确定所述目标业务域对应的消息交换机,以及与所述消息交换机对应的消息队列;
将所述目标任务发送至对应的消息交换机,并通过所述消息队列承载所述目标任务中的任务执行消息体。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务;
对于确定的需要执行的目标任务,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;
待所述目标任务发送完成后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
可选地,所述按照与所述任务类型相对应的预设处理方法,更新所述目标任务包括:
当所述目标任务确定为单次型任务时,将所述目标任务的任务状态更新为已执行状态,并记录所述目标任务的执行时间;
当所述目标任务确定为重复型任务时,将所述目标任务的任务状态更新为已执行状态,记录所述目标任务的执行时间,并依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与所述目标任务的任务ID相同。
可选地,所述corn表达式包含所述目标任务与下一任务的间隔时间;所述依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务包括:
依据所述目标任务与下一任务的间隔时间,生成所述新的待执行任务的执行时间。
可选地,所述方法还包括:
依据所述新的待执行任务的执行时间和所述新的待执行任务的corn表达式,生成所述新的待执行任务与其下一任务的间隔时间。
可选地,所述依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务包括:
依据各任务的任务信息中的corn表达式中的执行时间,确定任务的执行时间在下次扫描时间之前的任务为需要执行的目标任务。
可选地,所述依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机包括:
依据所述目标任务的执行域名称编码,确定目标业务域;
确定所述目标业务域对应的消息交换机,以及与所述消息交换机对应的消息队列;
将所述目标任务发送至对应的消息交换机,并通过所述消息队列承载所述目标任务中的任务执行消息体。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种任务调度方法,应用于任务调度装置,其特征在于,方法包括:
接收需要调度的任务的任务信息,并为所述任务生成任务ID,且设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
定时扫描任务状态为待执行状态的各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务;
对于确定的需要执行的目标任务,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;
待所述目标任务发送完成后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
2.根据权利要求1所述的任务调度方法,其特征在于,所述按照与所述任务类型相对应的预设处理方法,更新所述目标任务包括:
当所述目标任务确定为单次型任务时,将所述目标任务的任务状态更新为已执行状态,并记录所述目标任务的执行时间;
当所述目标任务确定为重复型任务时,将所述目标任务的任务状态更新为已执行状态,记录所述目标任务的执行时间,并依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务,所述新的待执行任务的任务ID与所述目标任务的任务ID相同。
3.根据权利要求2所述的任务调度方法,其特征在于,所述corn表达式包含所述目标任务与下一任务的间隔时间;所述依据所述目标任务的任务信息中的corn表达式,生成新的待执行任务包括:
依据所述目标任务与下一任务的间隔时间,生成所述新的待执行任务的执行时间。
4.根据权利要求3所述的任务调度方法,其特征在于,所述方法还包括:
依据所述新的待执行任务的执行时间和所述新的待执行任务的corn表达式,生成所述新的待执行任务与其下一任务的间隔时间。
5.根据权利要求1-4任一项所述的任务调度方法,其特征在于,所述依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目标任务包括:
依据各任务的任务信息中的corn表达式中的执行时间,确定任务的执行时间在下次扫描时间之前的任务为需要执行的目标任务。
6.根据权利要求1-4任一项所述的任务调度方法,其特征在于,所述依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机包括:
依据所述目标任务的执行域名称编码,确定目标业务域;
确定所述目标业务域对应的消息交换机,以及与所述消息交换机对应的消息队列;
将所述目标任务发送至对应的消息交换机,并通过所述消息队列承载所述目标任务中的任务执行消息体。
7.一种任务调度装置,其特征在于,包括:任务接收模块、任务扫描模块、任务分发模块和任务更新模块,其中:
所述任务接收模块用于接收需要调度的任务的任务信息,并为所述任务生成任务ID,设置所述任务的任务状态为待执行状态;其中,所述任务信息包括任务类型、corn表达式、执行域名称编码和任务执行消息体;
所述任务扫描模块用于定时扫描所述任务接收模块中各任务的任务信息,依据各任务的任务信息中的corn表达式中的执行时间,确定需要执行的目的任务,并将所述目的任务的任务信息和任务ID发送至所述任务分发模块;
所述任务分发模块用于接收到所述任务扫描模块发送的目的任务的任务信息和任务ID后,在所述目标任务的任务执行消息体上填写消息头信息,并依据所述目标任务的执行域名称编码,确定目标业务域,将所述目标任务发送至对应的目标业务域中的消息交换机;以及将完成发送的目标任务的任务信息和任务ID发送至所述任务更新模块;
所述任务更新模块用于接收到所述任务分发模块发送的完成发送的目标任务的任务信息和任务ID后,依据所述目标任务的任务类型,按照与所述任务类型相对应的预设处理方法,更新所述目标任务。
8.一种任务调度系统,其特征在于,包括:
用于创建任务信息的任务发起方;
用于执行任务的任务执行域;
和位于所述任务发起方和所述任务执行域之间的任务调度装置,所述任务调度装置为前述权利要求7所述的任务调度装置。
9.一种存储介质,其特征在于,其上存储有程序,所述程序被处理器执行时实现权利要求1至6中任一项所述的任务调度方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681211.4A CN108829503A (zh) | 2018-06-27 | 2018-06-27 | 任务调度方法、装置、系统、介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681211.4A CN108829503A (zh) | 2018-06-27 | 2018-06-27 | 任务调度方法、装置、系统、介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108829503A true CN108829503A (zh) | 2018-11-16 |
Family
ID=64139075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810681211.4A Pending CN108829503A (zh) | 2018-06-27 | 2018-06-27 | 任务调度方法、装置、系统、介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829503A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN112506624A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 定时任务调度系统、方法及相应计算机设备和存储介质 |
CN113127225A (zh) * | 2020-01-16 | 2021-07-16 | 北京沃东天骏信息技术有限公司 | 一种数据处理任务的调度方法、装置和系统 |
CN113553120A (zh) * | 2021-06-30 | 2021-10-26 | 珠海豹趣科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
CN114339628A (zh) * | 2021-12-27 | 2022-04-12 | 中国农业银行股份有限公司 | 5g富媒体消息发送方法、设备、存储介质及产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150891A1 (en) * | 2007-12-06 | 2009-06-11 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
CN105100259A (zh) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种分布式定时任务执行方法和系统 |
CN105700943A (zh) * | 2015-12-31 | 2016-06-22 | 上海百事通信息技术股份有限公司 | 分布式任务调度方法及系统 |
CN106406993A (zh) * | 2016-09-06 | 2017-02-15 | 努比亚技术有限公司 | 一种定时任务管理方法和系统 |
CN106789362A (zh) * | 2017-02-20 | 2017-05-31 | 京信通信技术(广州)有限公司 | 一种设备管理方法及网管系统 |
CN106815066A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种定时任务调度方法、装置及系统 |
CN108132836A (zh) * | 2017-12-29 | 2018-06-08 | 北京奇艺世纪科技有限公司 | 一种任务分发方法、装置及电子设备 |
-
2018
- 2018-06-27 CN CN201810681211.4A patent/CN108829503A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150891A1 (en) * | 2007-12-06 | 2009-06-11 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
CN105100259A (zh) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种分布式定时任务执行方法和系统 |
CN106815066A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种定时任务调度方法、装置及系统 |
CN105700943A (zh) * | 2015-12-31 | 2016-06-22 | 上海百事通信息技术股份有限公司 | 分布式任务调度方法及系统 |
CN106406993A (zh) * | 2016-09-06 | 2017-02-15 | 努比亚技术有限公司 | 一种定时任务管理方法和系统 |
CN106789362A (zh) * | 2017-02-20 | 2017-05-31 | 京信通信技术(广州)有限公司 | 一种设备管理方法及网管系统 |
CN108132836A (zh) * | 2017-12-29 | 2018-06-08 | 北京奇艺世纪科技有限公司 | 一种任务分发方法、装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
于京 等: "《Linux操作系统》", 31 January 2010, 浙江科学技术出版社 * |
刘一田等: "多租户高可用并行任务调度框架", 《计算机系统应用》 * |
姜大庆 等: "《Linux系统与网络管理》", 28 February 2009, 中国铁道出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN109684063B (zh) * | 2018-12-26 | 2021-03-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN113127225A (zh) * | 2020-01-16 | 2021-07-16 | 北京沃东天骏信息技术有限公司 | 一种数据处理任务的调度方法、装置和系统 |
CN112506624A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 定时任务调度系统、方法及相应计算机设备和存储介质 |
CN113553120A (zh) * | 2021-06-30 | 2021-10-26 | 珠海豹趣科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
CN114339628A (zh) * | 2021-12-27 | 2022-04-12 | 中国农业银行股份有限公司 | 5g富媒体消息发送方法、设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829503A (zh) | 任务调度方法、装置、系统、介质和电子设备 | |
US11816616B2 (en) | Workflow scheduling and optimization tools | |
CN104391689B (zh) | 一种物联网应用的开发方法、中间件及PaaS平台 | |
US20190392369A1 (en) | Cognitive scheduling for cooperative tasks | |
EP2863345A1 (en) | System and method for multi-layered monitoring and control for dynamic situation handling for production support | |
CN107430528A (zh) | 机会性资源迁移以优化资源放置 | |
CN105897805A (zh) | 对多层架构的数据中心的资源进行跨层调度的方法和装置 | |
Lei et al. | A unified approach for location-allocation analysis: integrating GIS, distributed computing and spatial optimization | |
Erder et al. | Continuous architecture: sustainable architecture in an agile and cloud-centric world | |
EP3399476B1 (en) | Flow engine for building automated flows within a cloud based developmental platform | |
Da Silva et al. | A community roadmap for scientific workflows research and development | |
CN110489437A (zh) | 分布式事务处理方法、装置、计算机设备及存储介质 | |
Christidis et al. | Enabling serverless deployment of large-scale ai workloads | |
CN109582452A (zh) | 一种容器调度方法、调度装置及电子设备 | |
Meyer | Event-driven multi-agent simulation | |
CN108243012A (zh) | 在线计费系统ocs中计费应用处理系统、方法及装置 | |
Sundas et al. | An introduction of CloudSim simulation tool for modelling and scheduling | |
CN109522272A (zh) | 录音文件的存储方法、装置、系统、介质和电子设备 | |
Luo et al. | Large-scale ranking and selection using cloud computing | |
Rahmatulloh et al. | Event-Driven Architecture to Improve Performance and Scalability in Microservices-Based Systems | |
US10521811B2 (en) | Optimizing allocation of configuration elements | |
US20220092717A1 (en) | Peak period network capacity planning | |
CN109542920A (zh) | 一种数据传输方法、装置、介质和电子设备 | |
CN109684381A (zh) | 数据热度统计方法及装置 | |
Štefanič et al. | Quality of Service‐aware matchmaking for adaptive microservice‐based applications |
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: 20181116 |
|
RJ01 | Rejection of invention patent application after publication |