CN116302384A - 一种任务调度方法、装置、电子设备及存储介质 - Google Patents
一种任务调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116302384A CN116302384A CN202211552236.7A CN202211552236A CN116302384A CN 116302384 A CN116302384 A CN 116302384A CN 202211552236 A CN202211552236 A CN 202211552236A CN 116302384 A CN116302384 A CN 116302384A
- Authority
- CN
- China
- Prior art keywords
- task
- message
- target
- information
- client
- 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
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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4875—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本公开提供一种任务调度方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:配置待处理任务的任务信息;利用预设的任务调度算法,对待处理任务的任务信息进行调度处理,生成消息队列消息;响应于客户端的消息获取请求,将消息队列消息发送至客户端,并接收客户端返回的消息提示;根据消息提示,将客户端的应用类型与消息队列消息的任务类型比较处理;将第一比较结果下发至客户端,以使客户端根据第一比较结果和消息队列消息处理与消息队列消息对应的目标任务。本公开提供的实施例既避免了客户端单点问题,又能保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种任务调度方法、装置、电子设备及存储介质。
背景技术
在相关技术中,在每个系统中单独部署分布式定时任务框架的定时任务时,任务不能够被统一管理,通常需要对系统进行分布式处理,一般情况下都是单机执行方式,存在客户端单点问题;另外,每个有任务配置的系统都需要接入轻量级框架,没有实现和任务调度系统进行解藕,导致任务不能够被统一管理。
因此,在微服务部署环境下部署繁琐,维护困难,任务配置不统一,开发比较繁琐,尤其多机器部署时更加困难。
发明内容
有鉴于此,本公开提供一种任务调度方法、装置、电子设备及存储介质,首先通过统一的配置任务,再利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
第一方面,本公开实施例提供一种任务调度方法,应用于服务器端,包括:
配置待处理任务的任务信息;
利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;
根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
优选地,根据本公开实施例提供的一种任务调度方法,
所述任务信息至少包括:配置信息表;
所述待处理任务至少包括:新增任务;
所述配置待处理任务的任务信息,包括:
根据预设的任务配置需求,分别配置每一所述新增任务的字段信息;
对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
优选地,根据本公开实施例提供的一种任务调度方法,
所述利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息,包括:
从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息;
利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息。
优选地,根据本公开实施例提供的一种任务调度方法,
所述字段信息包括:字段以及字段的数据;
所述从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息,包括:
在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据;
判断所述目标字段的所述目标数据是否达到预设数据条件;
若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
优选地,根据本公开实施例提供的一种任务调度方法,
所述目标数据至少包括以下之一:执行时间数据、任务状态数据;
所述预设数据条件对应的预设数据至少包括以下之一:实时时间数据、预设状态数据;
所述判断所述目标字段的所述目标数据是否达到预设数据条件,包括:
判断所述实时时间数据是否大于所述目标字段的所述执行时间数据,且所述目标字段的所述任务状态数据是否与所述预设状态数据相同。
优选地,根据本公开实施例提供的一种任务调度方法,
所述服务器端预存有多个待调度机器,每一所述待调度机器存储有对应的机器序列号;
所述利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息,包括:
获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据;
基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息;
将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理;
若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
优选地,根据本公开实施例提供的一种任务调度方法,
在所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务的步骤之后,所述方法包括:
对所述目标任务的所述执行版本号数据所对应的第一版本号进行更新,得到与所述目标任务对应的第二版本号;
将所述目标任务的所述第二版本号存储于所述数据库中。
第二方面,本公开实施例提供一种任务调度方法,应用于客户端,包括:
向服务器端发送消息获取请求;
接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
优选地,根据本公开实施例提供的一种任务调度方法,
在向所述服务器端发送消息提示的步骤之后,所述方法包括:
接收所述服务器端下发的所述应用类型和所述任务类型不同的第二比较结果;
根据所述第二比较结果,将与所述第二比较结果对应的消息队列消息存储于待匹配消息队列。
第三方面,本公开实施例提供一种任务调度装置,应用于服务器端,所述任务调度装置包括:
任务配置模块,用于配置待处理任务的任务信息;
任务调度模块,用于利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
发送消息队列消息模块,用于响应于客户端的消息获取请求将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;
比较模块,用于根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
任务触达模块,用于将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
第四方面,本公开实施例提供一种任务调度装置,应用于客户端,所述任务调度装置包括:
发送消息请求模块,用于向服务器端发送消息获取请求;
接收消息队列消息模块,用于接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
接收第一比较结果模块,用于接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
处理目标任务模块,用于根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
第五方面,本公开实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述任务调度方法的步骤。
第六方面,本公开实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述任务调度方法的步骤。
第七方面,本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述任务调度方法的步骤。
本公开提供的一种任务调度方法、装置、电子设备及存储介质,分别应用于服务器端和客户端,包括:通过配置待处理任务的任务信息;利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的一种应用于服务器端的任务调度方法的流程示意图之一;
图2是本公开提供的图1中步骤S100的流程示意图;
图3是本公开提供的图1中步骤S200的流程示意图;
图4是本公开提供的图3中步骤S310的流程示意图;
图5是本公开提供的图3中步骤S320的流程示意图;
图6是本公开提供的一种应用于客户端的任务调度方法的流程示意图之一;
图7是本公开提供的在图6中步骤S620之后的应用于客户端的任务调度方法流程示意图之二;
图8是本公开提供的解析目标消息队列消息的流程示意图之一;
图9是本公开提供的解析目标消息队列消息的流程示意图之二;
图10是本公开提供的应用一种任务调度方法的流程示意图之二;
图11是本公开提供的一种应用于服务器端的任务调度装置的结构示意图;
图12是本公开提供的一种应用于客户端的任务调度装置的结构示意图;
图13是本公开提供的电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
下面结合图1-图13描述本公开实施例提供的一种任务调度方法、装置、电子设备及存储介质,其能够通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
其具体通过如下实施例进行说明,首先描述本公开实施例中的一种任务调度方法。
如图1所示,其为本公开实施例提供的应用于服务器端的一种任务调度方法的实施流程示意图,一种任务调度方法可以包括但不限于步骤S100至S500。
S100,配置待处理任务的任务信息;
S200,利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
S300,响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接受所述客户端返回的消息提示;
S400,根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
S500,将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
在一些实施例的步骤S100中,配置待处理任务的任务信息。
需要说明的是,待处理任务至少包括新增任务,任务信息至少包括:配置信息表。
可以理解的是,配置待处理任务的任务信息其具体执行步骤可以为:首先根据预设的任务配置需求,分别配置每一所述新增任务的字段信息,再对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
在一些实施例的步骤S200中,利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息。
可以理解的是,在执行完步骤S100配置待处理任务的任务信息的步骤之后,其具体执行步骤可以为:首先在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据,判断所述目标字段的所述目标数据是否达到预设数据条件,若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
再获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据,基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息,将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理,若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
在一些实施例的步骤S300中,响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示。
可以理解的是,在执行完步骤S200利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息的步骤之后,其具体执行步骤可以为:客户端首先向服务器端发出消息获取请求,服务器端再根据客户端的消息获取请求,将通过步骤S200得到的消息队列消息发送至客户端,客户端在接收到服务器端发送的消息队列消息之后,根据消息队列消息向所述客户端返回消息提示。
需要说明的是,消息提示说明客户端已经接收到服务器端发送的消息队列消息。
在一些实施例的步骤S400中,根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理。
可以理解的是,在执行完步骤S300响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示的步骤之后,其具体执行步骤可以为:首先对消息队列消息进行解析处理,得到消息队列消息对应的任务类型,再将消息队列消息对应的任务类型和客户端对应的任务类型进行比较处理,以根据比较结果处理消息队列消息对应的目标任务。
在一些实施例的步骤S500中,将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
可以理解的是,在执行完步骤S400根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理的步骤之后,其具体执行步骤可以为:服务器端将应用类型和所述任务类型相同的第一比较结果下发至所述客户端,使得客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务,从而实现任务配置和处理的异步解耦。
需要说明的是,在执行完步骤S400根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理的步骤之后,所述方法还可以包括:服务器端向客户端下发所述应用类型和所述任务类型不同的第二比较结果,使得所述客户端根据所述第二比较结果,将与所述第二比较结果对应的消息队列消息存储于待匹配消息队列。
进一步需要说明的是,待匹配消息队列为客户端的消息队列,用于存储所述第二比较结果对应的消息队列消息。
通过上述实施例,能够通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
在一些实施例中,参考图2所示,步骤S100还可以包括但不限于步骤S210至S220。
S210,根据预设的任务配置需求,分别配置每一所述新增任务的字段信息;
S220,对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
在一些实施例的步骤S210中,根据预设的任务配置需求,分别配置每一所述新增任务的字段信息。
可以理解的是,根据预设的任务配置需求,分别配置每一所述新增任务的字段信息。
新增任务的字段信息至少可以包括但不限于:任务名称、执行时间、执行频率、执行频率单位、消息队列topic、任务分类标识、系统标识、创建时间、修改时间、任务状态。
对一个新增任务的字段信息进行配置的示例如下:
新增任务T1,开始时的执行时间为2023-01-01 12:00:00,执行频率为60,执行频率单位为分钟,消息队列topic为消息队列A,任务状态为启动,创建时间为2022-08-11 12:00:00,系统标识为系统1,修改时间:无。
那么新增任务T1的执行时间分别为2023-01-01 12:00:00、2023-01-01 13:00:00、2023-01-01 14:00:00等,直至任务状态为暂停或停止。
需要说明的是,每个新增任务仅在首次配置时需要指定开始的执行时间,后续执行时间即为上次执行时间+执行频率(执行频率单位)。
任务状态可以包括但不限于:正常、暂停、已删除。
通常只有正常状态的待处理任务能够被扫描触发被执行条件。
消息队列topic为,当待处理任务达到执行时间后,在消息触达时需要将待处理任务对应的执行消息发送到对应的消息队列topic中。
待处理任务的执行频率间隔最少为1分钟,以避免执行机一种高负荷运行导致宕机。
执行频率单位可以包括但不限于以下几种,比如:执行频率单位表示值1对应执行频率单位为分,执行频率单位表示值2对应执行频率单位为时,执行频率单位表示值3对应执行频率单位为天,执行频率单位表示值4对应执行频率单位为月,执行频率单位表示值5对应执行频率单位为周,执行频率单位表示值6对应执行频率单位为年。
进一步地,每个新增任务的字段信息和对应的数据都存储在预设的数据库中,预设的数据库可以包括但不限于:MySQL。
在一些实施例的步骤S220中,对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
可以理解的是,在执行完步骤S210根据预设的任务配置需求,分别配置每一所述新增任务的字段信息的步骤之后,其具体执行步骤可以为:将配置完成的多个新增任务对应的字段信息进行对照组合处理,生成配置信息表,并将配置信息表存储于数据库中。数据库可以包括但不限于:MySQL。
在一些实施例中,参考图3所示,步骤S200还可以包括但不限于步骤S310至S320。
S310,从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息;
S320,对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
在一些实施例的步骤S310中,从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息。
可以理解的是,其具体执行步骤可以为:首先,在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据,判断所述目标字段的所述目标数据是否达到预设数据条件,若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
在一些实施例的步骤S320中,利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息。
可以理解的是,在执行完步骤S310从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息的步骤之后,其具体执行步骤可以为:首先获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据,基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息,将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理,若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
在一些实施例中,参考图4所示,步骤S310还可以包括但不限于步骤S410至S430。
S410,在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据;
S420,判断所述目标字段的所述目标数据是否达到预设数据条件;
S430,若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
在一些实施例的步骤S410中,在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据。
需要说明的是,字段信息包括:字段以及字段的数据,一并存储于数据库中。
可以理解的是,预设时间周期比如为10秒,即每10秒钟,从数据库中查询每一个待处理任务的目标字段所对应的数据。
在本公开的一些实施例中,目标字段可以包括但不限于:任务状态和执行时间字段。
进一步地,目标字段对应的数据即为目标数据,目标数据至少包括以下之一:执行时间数据、任务状态数据。
在一些实施例的步骤S420中,判断所述目标字段的所述目标数据是否达到预设数据条件。
可以理解的是,在执行完步骤S410在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据的步骤之后,其具体执行步骤可以为:判断所述实时时间数据是否大于所述目标字段的所述执行时间数据,且所述目标字段的所述任务状态数据是否与所述预设状态数据相同。
在一些实施例的步骤S430中,若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
可以理解的是,在执行完步骤S420判断所述目标字段的所述目标数据是否达到预设数据条件的步骤之后,其具体执行步骤可以为:如果目标字段的目标数据达到预设数据条件,则标识出与目标数据对应的待处理任务作为目标任务,再根据标识出的目标任务,从任务信息中筛选出目标任务信息。
需要说明的是,只有在目标字段的所述目标数据达到预设数据条件的情况下,意味着存在有可执行的目标任务,则才能触发任务调度流程,否则将不存在可执行的目标任务,不触发任务调度流程。
在一些实施例中,所述目标数据至少包括以下之一:执行时间数据、任务状态数据;
所述预设数据条件对应的预设数据至少包括以下之一:实时时间数据、预设状态数据;
所述判断所述目标字段的所述目标数据是否达到预设数据条件,包括:
判断所述实时时间数据是否大于所述目标字段的所述执行时间数据,且所述目标字段的所述任务状态数据是否与所述预设状态数据相同。
可以理解的是,判断当前系统的实时时间数据是否大于存储于数据库中的目标字段的执行时间数据,比如,当前系统实时时间数据为12点,而目标字段的执行时间数据为11点半,当前目标字段的执行时间数据小于实时实时数据,且对应的任务状态数据与预设状态数据相同,此时则触发任务调度流程。
进一步地,预设状态数据为正常的任务状态。
在一些实施例中,参考图5所示,步骤S320还可以包括但不限于步骤S510至S540。
S510,获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据;
S520,基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息;
S530,将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理;
S540,若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
在一些实施例的步骤S510中,获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据。
可以理解的是,可以利用远程字典服务(Redis,Remote Dictionary Server)获取目标任务的执行版本号数据。
需要说明的是,Redis(Remote Dictionary Server,远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
并获取分布式应用程序协同服务组件中的节点注册信息数据,
ZooKeeper(分布式应用程序协同服务组件)是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等,目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,其包含一个简单的原语集,提供Java和C的接口。
当待调度机器启动时会在ZooKeeper上面的对应主节点下注册临时节点信息,待调度机器启动成功后保证节点信息正常,当待调度机器被停止或者宕机时,临时节点则被删除。
每次在任务分配时会根据当前主节点下的子节点数量确定当前可执行机存活数量,每个子节点中存储有当前待调度机器的机器序列号。
在一些实施例的步骤S520中,基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息。
可以理解的是,在执行完步骤S510获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据的步骤之后,其具体执行步骤可以为:基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号。
比如目标任务对应的执行版本号数据为8,节点注册信息数据为5,则利用执行版本号数据对节点注册信息数据进行取余计算,得到的余数即为目标序列号,8对5取余为3,因此,目标序列号为3,对应地,根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器,利用目标机器调度所述目标任务的所述目标任务信息。
在一些实施例的步骤S530中,将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理。
可以理解的是,在执行完步骤S520基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器的步骤之后,其具体执行步骤可以为:将目标序列号与待调度机器的机器序列号进行比较处理,以确定出目标序列号对应的目标机器。
在一些实施例的步骤S540中,若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
可以理解的是,在执行完步骤S530将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理的步骤之后,其具体执行步骤可以为:如果目标序列号与机器序列号相同,则利用与目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
在一些实施例中,在所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务的步骤之后,所述方法包括:
对所述目标任务的所述执行版本号数据所对应的第一版本号进行更新,得到与所述目标任务对应的第二版本号;
将所述目标任务的所述第二版本号存储于所述数据库中。
可以理解的是,在对目标任务的执行版本号数据所对应的第一版本号进行更新,得到与目标任务对应的第二版本号,将目标任务的第二版本号存储于数据库中。
比如,目标任务的执行版本号数据对应的第一版本号为8,那么在目标任务被执行后,在后端系统中,对其进行更新处理,将第一版本号8更新为第二版本号9,并将第二版本后存储于数据库中,作为该目标任务的最新执行版本号数据,以用于下次进行计算。
本公开提供的一种任务调度方法,应用于服务器端,通过配置待处理任务的任务信息;利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
如图6所示,其为本公开实施例提供的应用于客户端的一种任务调度方法的实施流程示意图之一,一种任务调度方法可以包括但不限于步骤S610至S630。
S610,向服务器端发送消息获取请求;
S620,接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
S630,接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
S640,根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
在一些实施例的步骤S610中,向服务器端发送消息获取请求。可以理解的是,客户端向服务器端发送消息获取请求,以获取消息队列消息。
在一些实施例的步骤S620中,接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的。
可以理解的是,在执行完步骤S610向服务器端发送消息获取请求的步骤之后,其具体执行步骤可以为:客户端接收所述服务器端根据所述消息获取请求反馈的消息队列消息。
其中,消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的。此处的消息队列消息与步骤S200中的消息队列消息相同,此处不再赘述。
在客户端接收到服务器端发送的消息队列消息之后,客户端还向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理。
在一些实施例的步骤S630中,接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果。
可以理解的是,在执行完步骤S620接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理的步骤之后,其具体执行步骤可以为:客户端接收服务器端下发的所述应用类型和所述任务类型相同的第一比较结果,以根据第一比较结果和述消息队列消息处理与所述消息队列消息对应的目标任务。
在一些实施例的步骤S640中,根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
可以理解的是,在执行完步骤S630接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果的步骤之后,其具体执行步骤可以为:根据第一比较结果和消息队列消息处理与所述消息队列消息对应的目标任务,具体通过预设获取方式获取与所述消息队列消息对应的所述目标任务并执行。
在一些实施例中,参考图7所示,在步骤S620之后,应用于客户端的任务调度方法还可以包括但不限于步骤S710至S720。
S710,接收所述服务器端下发的所述应用类型和所述任务类型不同的第二比较结果;
S720,根据所述第二比较结果,将与所述第二比较结果对应的消息队列消息存储于待匹配消息队列。
在一些实施例的步骤S710中,客户端接收所述服务器端下发的所述应用类型和所述任务类型不同的第二比较结果,以根据第二比较结果,处理对应的消息队列消息。
在一些实施例的步骤S720中,客户端根据步骤S710得到的应用类型和所述任务类型不同的第二比较结果,将与第二比较结果对应的消息队列消息存储于待匹配消息队列中,以便在新增客户端时,优先从待匹配消息队列中,找到任务类型和客户端的应用类型相同的消息队列消息,从而处理待匹配消息队列中的消息队列消息。
在本公开的一些实施例中,解析目标消息队列消息,以确定目标任务的任务类型,参照图8所示,对目标消息队列消息A进行消息解析处理,得到目标消息队列消息A中包括多个任务类型消息,任务类型消息至少包括但不限于任务类型消息M、任务类型消息N、任务类型消息P。
当然地,参照图9所示,对目标消息队列消息B进行消息解析处理,得到目标消息队列消息B中仅包括一个任务类型消息Q。
在本公开的一些实施例中,通过预设获取方式获取所述目标任务并执行。
可以理解的是,若目标任务的任务类型和客户端的应用类型相同,则通过预设获取方式获取目标任务,并执行目标任务。
参照图8所示,如果客户端的应用类型为M,则其通过预设获取方式获取M目标任务,并执行M目标任务。
如果客户端的应用类型为N,那么在其与任务类型消息M比对之后,不相同,则继续匹配任务类型消息N,匹配成功则执行对应任务类型的目标任务。
任务类型的划分方式可以根据实际情况进行选择性设定。以电商领域为例,可以根据处理该待处理任务的客户端的类型,将任务类型划分为订单类任务、报价类任务、支付类任务等。以银行领域为例,可以根据处理该待处理任务的申请人类型,将任务类型划分为个人业务类任务、公司业务类任务等。
每个客户端仅处理对应类型的待处理任务,一方面能够提高任务处理的时效,另一方面能够避免同一个待处理任务被重复执行。
需要说明的是,预设获取方式获取目标任务,可以为通过匹配成功的任务类型消息,向服务器端发出调用请求,根据服务器反馈的调用许可,向存储有目标任务的数据库调用目标任务,以执行目标任务。
本公开提供的一种任务调度方法,应用于客户端,通过向服务器端发送消息获取请求;接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
在一些实施例中,参考图10所示,为应用一种任务调度方法的流程示意图之二,其具体实施例如下:
首先,在服务器端,对待处理任务进行配置,将配置得到的任务信息和待处理任务均存储于数据库中,首先从待处理任务中确定出目标任务,在利用任务调度模块预设的任务调度算法,对目标任务的目标任务信息进行调度处理,确定出待调度执行机中的目标机器,再利用目标机器对目标任务信息进行分发处理,分发至消息队列中,得到目标消息队列消息。客户端再向服务器端发送消息提示,使得服务器端将将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,客户端应用类型和所述任务类型相同的第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务,更具体的为通过预设获取方式获取与所述消息队列消息对应的所述目标任务并执行。从而既能保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
下面对本公开提供的一种任务调度装置进行描述,下文描述的一种任务调度装置与上文描述的一种任务调度方法可相互对应参照。
参照图11所示,一种任务调度装置,应用于服务器端,所述任务调度装置包括:
任务配置模块1110,用于配置待处理任务的任务信息;
任务调度模块1111,用于利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
发送消息队列消息模块1112,用于响应于客户端的消息获取请求将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;
比较模块1113,用于根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
任务触达模块1114,用于将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
可选地,根据本公开提供的一种任务调度装置,
所述任务信息至少包括:配置信息表;
所述待处理任务至少包括:新增任务;
任务配置模块1110,用于根据预设的任务配置需求,分别配置每一所述新增任务的字段信息;
对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
可选地,根据本公开提供的一种任务调度装置,任务调度模块1111,用于从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息;
利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息。
可选地,根据本公开提供的一种任务调度装置,所述字段信息包括:字段以及字段的数据;任务调度模块1111,用于所述从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息,包括:
在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据;
判断所述目标字段的所述目标数据是否达到预设数据条件;
若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
可选地,根据本公开提供的一种任务调度装置,所述目标数据至少包括以下之一:执行时间数据、任务状态数据;
所述预设数据条件对应的预设数据至少包括以下之一:实时时间数据、预设状态数据;
任务调度模块1111,用于判断所述实时时间数据是否大于所述目标字段的所述执行时间数据,且所述目标字段的所述任务状态数据是否与所述预设状态数据相同。
可选地,根据本公开提供的一种任务调度装置,所述服务器端预存有多个待调度机器,每一所述待调度机器存储有对应的机器序列号;
任务调度模块1111,用于获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据;
基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息;
将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理;
若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
可选地,根据本公开提供的一种任务调度装置,在执行完任务触达模块1114之后,还用于对所述目标任务的所述执行版本号数据所对应的第一版本号进行更新,得到与所述目标任务对应的第二版本号;
将所述目标任务的所述第二版本号存储于所述数据库中。
本公开提供的一种任务调度装置,应用于服务器端,通过配置待处理任务的任务信息;利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
参照图12所示,一种任务调度装置,应用于客户端,所述任务调度装置包括:
发送消息请求模块1210,用于向服务器端发送消息获取请求;
接收消息队列消息模块1211,用于接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
接收第一比较结果模块1212,用于接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
处理目标任务模块1213,用于根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
可选地,根据本公开提供的一种任务调度装置,在接收消息队列消息模块1211之后,用于接收所述服务器端下发的所述应用类型和所述任务类型不同的第二比较结果;
根据所述第二比较结果,将与所述第二比较结果对应的消息队列消息存储于待匹配消息队列。
本公开提供的一种任务调度装置,应用于客户端,通过向服务器端发送消息获取请求;接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。通过统一的配置任务,利用任务调度算法来控制任务调度,既避免了客户端单点问题,保证任务的实效性和可靠性,而且维护方便,部署简单,并能够实现任务配置和处理的异步解耦。
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行一种任务调度方法,应用于服务器端,该方法包括:配置待处理任务的任务信息;利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务;
或执行一种任务调度方法,应用于客户端,该方法包括:向服务器端发送消息获取请求;接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的一种任务调度方法,应用于服务器端,该方法包括:响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务;
或执行一种任务调度方法,应用于客户端,该方法包括:向服务器端发送消息获取请求;接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的一种任务调度方法,应用于服务器端,该方法包括:响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务;
或执行一种任务调度方法,应用于客户端,该方法包括:向服务器端发送消息获取请求;接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
Claims (14)
1.一种任务调度方法,其特征在于,应用于服务器端,包括:
配置待处理任务的任务信息;
利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;
根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
2.根据权利要求1所述的一种任务调度方法,其特征在于,
所述任务信息至少包括:配置信息表;
所述待处理任务至少包括:新增任务;
所述配置待处理任务的任务信息,包括:
根据预设的任务配置需求,分别配置每一所述新增任务的字段信息;
对配置完成的多个所述新增任务所对应的所述字段信息进行组合处理,生成所述配置信息表并将所述配置信息表存储于预设的数据库中。
3.根据权利要求2所述的一种任务调度方法,其特征在于,
所述利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息,包括:
从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息;
利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息。
4.根据权利要求3所述的一种任务调度方法,其特征在于,所述字段信息包括:字段以及字段的数据;
所述从所述待处理任务中筛选出所述目标任务,并对应地从所述任务信息中筛选出目标任务信息,包括:
在预设时间周期内,查询每一所述待处理任务的目标字段所对应的目标数据;
判断所述目标字段的所述目标数据是否达到预设数据条件;
若所述目标字段的所述目标数据达到所述预设数据条件,则标识出与所述目标数据对应的所述待处理任务为所述目标任务;并根据标识出的所述目标任务,从所述任务信息中筛选出所述目标任务信息。
5.根据权利要求4所述的一种任务调度方法,其特征在于,
所述目标数据至少包括以下之一:执行时间数据、任务状态数据;
所述预设数据条件对应的预设数据至少包括以下之一:实时时间数据、预设状态数据;
所述判断所述目标字段的所述目标数据是否达到预设数据条件,包括:
判断所述实时时间数据是否大于所述目标字段的所述执行时间数据,且所述目标字段的所述任务状态数据是否与所述预设状态数据相同。
6.根据权利要求3所述的一种任务调度方法,其特征在于,所述服务器端预存有多个待调度机器,每一所述待调度机器存储有对应的机器序列号;
所述利用所述任务调度算法,对所述目标任务对应的所述目标任务信息进行调度处理,生成与所述目标任务信息对应的目标消息队列消息,包括:
获取所述目标任务的执行版本号数据,并获取分布式应用程序协同服务组件中的节点注册信息数据;
基于所述任务调度算法,对所述执行版本号数据和所述节点注册信息数据进行计算处理,得到目标序列号,并根据目标序列号从所述待调度机器中确定出与所述目标序列号对应的目标机器;其中,所述目标机器用于调度所述目标任务的所述目标任务信息;
将所述目标序列号与所述待调度机器的所述机器序列号进行比较处理;
若所述目标序列号与所述机器序列号相同,则利用与所述目标序列号对应的所述目标机器,调度所述目标任务的所述目标任务信息,并生成与所述目标任务信息对应的所述目标消息队列消息。
7.根据权利要求6所述的一种任务调度方法,其特征在于,
在所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务的步骤之后,所述方法包括:
对所述目标任务的所述执行版本号数据所对应的第一版本号进行更新,得到与所述目标任务对应的第二版本号;
将所述目标任务的所述第二版本号存储于所述数据库中。
8.一种任务调度方法,其特征在于,应用于客户端,包括:
向服务器端发送消息获取请求;
接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
9.根据权利要求8所述的一种任务调度方法,其特征在于,
在向所述服务器端发送消息提示的步骤之后,所述方法包括:
接收所述服务器端下发的所述应用类型和所述任务类型不同的第二比较结果;
根据所述第二比较结果,将与所述第二比较结果对应的消息队列消息存储于待匹配消息队列。
10.一种任务调度装置,其特征在于,应用于服务器端,所述任务调度装置包括:
任务配置模块,用于配置待处理任务的任务信息;
任务调度模块,用于利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理,生成与所述任务信息对应的消息队列消息;
发送消息队列消息模块,用于响应于客户端的消息获取请求,将所述消息队列消息发送至所述客户端,并接收所述客户端返回的消息提示;
比较模块,用于根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;
任务触达模块,用于将所述应用类型和所述任务类型相同的第一比较结果下发至所述客户端,以使所述客户端根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
11.一种任务调度装置,其特征在于,应用于客户端,所述任务调度装置包括:
发送消息请求模块,用于向服务器端发送消息获取请求;
接收消息队列消息模块,用于接收所述服务器端根据所述消息获取请求反馈的消息队列消息,并向所述服务器端发送消息提示,以使所述服务器端根据所述消息提示,将所述客户端对应的应用类型与所述消息队列消息对应的任务类型进行比较处理;其中,所述消息队列消息是所述服务器端通过配置待处理任务的任务信息,并利用预设的任务调度算法,对所述待处理任务的所述任务信息进行调度处理生成的;
接收第一比较结果模块,用于接收所述服务器端下发的所述应用类型和所述任务类型相同的第一比较结果;
处理目标任务模块,用于根据所述第一比较结果和所述消息队列消息处理与所述消息队列消息对应的目标任务。
12.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述一种任务调度方法的步骤。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述一种任务调度方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述一种任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552236.7A CN116302384A (zh) | 2022-12-05 | 2022-12-05 | 一种任务调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552236.7A CN116302384A (zh) | 2022-12-05 | 2022-12-05 | 一种任务调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302384A true CN116302384A (zh) | 2023-06-23 |
Family
ID=86813775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552236.7A Pending CN116302384A (zh) | 2022-12-05 | 2022-12-05 | 一种任务调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302384A (zh) |
-
2022
- 2022-12-05 CN CN202211552236.7A patent/CN116302384A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111866191B (zh) | 消息事件的分发方法、分发平台、系统及服务器 | |
CN109245988A (zh) | 监控邮件自动发送方法、系统、计算机设备和存储介质 | |
CN110673938B (zh) | 任务处理方法、系统、服务器及存储介质 | |
CN108932157B (zh) | 分布式处理任务的方法、系统、电子设备和可读介质 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
US20070294672A1 (en) | Support apparatus, program, information processing system and suport method | |
CN111596932B (zh) | 一种镜像文件生成方法、装置和计算机可读存储介质 | |
CN111143382A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN113220435A (zh) | 任务处理方法及相关产品 | |
CN110659261A (zh) | 一种数据挖掘模型发布方法及模型和模型服务管理方法 | |
CN114144761A (zh) | 发布系统、推送方法、应用设备、接收装置及服务管理设备 | |
CA3065729A1 (en) | Business rules processing framework | |
CN114416883A (zh) | 区块链轻节点数据同步方法、装置、设备及可读存储介质 | |
CN116233283B (zh) | 一种设备通信协议的动态扩展和热插拔方法 | |
CN113076186A (zh) | 任务处理的方法、装置、电子设备和存储介质 | |
CN102741829B (zh) | 用于移动业务对象的基于消息的同步方法及其系统 | |
CN116302384A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN111339055A (zh) | 大数据集群扩容方法及装置 | |
CN113268272B (zh) | 基于私有云的应用交付方法、装置及系统 | |
CN111582996B (zh) | 业务信息的展示方法及装置 | |
CN112860292A (zh) | 一种基于应用的配置管理方法及装置 | |
CN112187916A (zh) | 一种跨系统的数据同步方法与装置 | |
CN115018509A (zh) | 一种对象的处理方法、装置、电子设备及存储介质 | |
CN114610343A (zh) | 一种应用功能实现方法、装置、计算机设备及存储介质 | |
US11277473B1 (en) | Coordinating breaking changes in automatic data exchange |
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 |