CN117707737A - 一种任务调度优化方法、装置、设备及其存储介质 - Google Patents
一种任务调度优化方法、装置、设备及其存储介质 Download PDFInfo
- Publication number
- CN117707737A CN117707737A CN202410028730.6A CN202410028730A CN117707737A CN 117707737 A CN117707737 A CN 117707737A CN 202410028730 A CN202410028730 A CN 202410028730A CN 117707737 A CN117707737 A CN 117707737A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- tasks
- processing
- consumers
- 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 55
- 238000005457 optimization Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 253
- 238000012544 monitoring process Methods 0.000 claims abstract description 72
- 230000002159 abnormal effect Effects 0.000 claims abstract description 48
- 238000004458 analytical method Methods 0.000 claims description 42
- 230000005856 abnormality Effects 0.000 claims description 13
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000007726 management method Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 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
- 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
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- 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/5021—Priority
-
- 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/547—Messaging middleware
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例属于金融科技技术领域,应用于金融业务任务调度优化场景中,涉及一种任务调度优化方法、装置、设备及其存储介质,结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据分配结果进行任务处理;实时监测;若识别出当前正在处理任务为执行异常状态,则启动异常处理组件对目标任务消费者进行异常处理;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
Description
技术领域
本申请涉及金融科技技术领域,应用于金融业务任务调度优化场景中,尤其涉及一种任务调度优化方法、装置、设备及其存储介质。
背景技术
随着互联网的飞速发展,各行各业都在依托互联网寻求行业突破点,近年来,金融行业也正在围绕着互联网进行线上业务拓展。由于金融行业涉及的业务量和数据量较大,尤其是在批量金融任务下,对于任务调度的要求越来越高。
例如,批量的保险订单审核任务、批量的股票交易任务等。现有的任务调度框架仍然存在许多需要改进和完善的地方,特别是在任务处理速度、安全性和稳定性上,依然存在任务调度和任务分发效率不高和资源使用不均衡的问题。
发明内容
本申请实施例的目的在于提出一种任务调度优化方法、装置、设备及其存储介质,以解决现有技术存在任务调度和任务分发效率不高和资源使用不均衡的问题。
为了解决上述技术问题,本申请实施例提供任务调度优化方法,采用了如下所述的技术方案:
一种任务调度优化方法,包括下述步骤:
步骤201,获取批量待处理任务;
步骤202,根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内;
步骤203,启动目标分布式系统内的若干个任务消费者;
步骤204,结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者;
步骤205,根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理;
步骤206,通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态;
步骤207,若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理;
步骤208,判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值;
步骤209,若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208;
步骤210,若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
进一步的,在执行所述根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内的步骤之前,所述方法还包括:
根据预设的任务配置文件,解析出所述批量待处理任务中所有待处理任务分别对应的处理优先级,其中,所述任务配置文件中包含了所有待处理任务间的执行依赖关系;
识别预先在所述定时扫描组件内构建的若干个消息队列;
根据所述处理优先级,分别设置所述若干个消息队列中可添加的待处理任务的处理优先级;
所述根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内的步骤,具体包括:
采用循环识别方式识别所述批量待处理任务中所有待处理任务分别对应的处理优先级;
根据识别结果和所述若干个消息队列中可添加的待处理任务的处理优先级,采用循环添加方式将相同处理优先级的待处理任务添加到相应的消息队列中;
直到所述批量待处理任务中所有待处理任务都被添加到相应的消息队列中,则完成将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内。
进一步的,在执行所述结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者的步骤之前,所述方法还包括:
根据所述若干个消息队列中可添加的待处理任务的处理优先级,为所述若干个消息队列设置消息推送策略,其中,所述消息推送策略,具体为:处理优先级高的消息队列先向所述若干个任务消费者进行消息推送,直到处理优先级高的消息队列消息推送完毕,再对处理优先级低的消息队列进行消息推送;
所述结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者的步骤,具体包括:
步骤401,根据所述消息推送策略,从所述若干个消息队列中筛选出处理优先级最高的消息队列作为当前消息队列;
步骤402,采用循环方式为所述当前消息队列中所有待处理任务分配所述若干个任务消费者的区别标识信息,获得第一分配结果;
步骤403,通过所述定时扫描组件,按照先进先出原则为所述当前消息队列中所有待处理任务分配处理时间,获得第二分配结果;
步骤404,根据所述第一分配结果和所述第二分配结果,确定所述当前消息队列中所有待处理任务分别对应的任务消费者和处理时间;
步骤405,通过比较方式,选择下一级处理优先级对应的消息队列作为当前消息队列,并重复执行步骤402至步骤405;
步骤406,直到通过比较方式,无法选择出下一级处理优先级对应的消息队列,停止重复执行,获得所述若干个消息队列中所有待处理任务分别对应的任务消费者和处理时间。
进一步的,在执行所述根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理的步骤之前,所述方法还包括:
根据预设的资源使用监测组件,实时监测所述若干个任务消费者的资源使用情况,获得资源使用情况实时监测结果,其中,所述预设的资源使用监测组件包括基于Prometheus或者Grafana的资源使用监测组件;
基于预设的资源使用情况限制阈值和所述资源使用情况实时监测结果,判断是否存在任务消费者的资源使用情况超过所述资源使用情况限制阈值;
若存在任务消费者的资源使用情况超过所述资源使用情况限制阈值,则根据所述任务消费者的区别标识信息识别出所述任务消费者对应的所有待处理任务,并采用累加时长的方式,调整所述任务消费者对应的所有待处理任务的处理时间。
进一步的,所述任务状态管理组件包括任务状态监测组件和任务状态记录组件,所述通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果的步骤,具体包括:
根据所述任务状态监测组件,实时监测所述所有待处理任务的任务状态信息,其中,所述任务状态监测组件包括基于Prometheus或者Grafana的任务状态监测组件;
基于所述任务状态记录组件,实时记录所述所有待处理任务的任务状态信息,获得任务状态监测结果,其中,所述任务状态记录组件为基于redis的任务状态记录组件。
进一步的,所述判断在经过预设的时间间隔阈值后,异常处理是否完毕的步骤,具体包括:
在经过所述时间间隔阈值后,获取当前系统时间点下对应的任务状态监测结果;
根据所述当前系统时间点下对应的任务状态监测结果,识别所述目标分析任务的当前任务状态;
若所述目标分析任务的当前任务状态为执行异常状态,则异常未处理完毕;
若所述目标分析任务的当前任务状态为执行中状态或者执行完毕状态,则异常处理完毕。
进一步的,在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之前,所述方法还包括:
根据异常处理结果,对所述目标分析任务进行异常类型归类;
识别出所述目标分析任务,并将所述目标分析任务添加到预设的执行重试表单中;
在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之后,所述方法还包括:
判断当前系统时间点是否达到预设的执行重试时间点;
若所述当前系统时间点已达到预设的执行重试时间点,则获取所述执行重试表单中的目标执行重试任务,并根据所述目标执行重试任务对应的任务消费者的区别标识信息将所述目标执行重试任务发送给目标任务消费者进行执行重试。
为了解决上述技术问题,本申请实施例还提供任务调度优化装置,采用了如下所述的技术方案:
一种任务调度优化装置,包括:
待处理任务获取模块,用于获取批量待处理任务;
待处理任务队列化模块,用于根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内;
任务消费者启动模块,用于启动目标分布式系统内的若干个任务消费者;
任务消费分配模块,用于结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者;
任务处理模块,用于根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理;
实时监测模块,用于通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态;
异常识别及处理模块,用于若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理;
异常处理结果判断模块,用于判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值;
第一后续处理模块,用于若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208;
第二后续处理模块,用于若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的任务调度优化方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的任务调度优化方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例所述任务调度优化方法,通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的任务调度优化方法的一个实施例的流程图;
图3是图2所示步骤202的一个具体实施例的流程图;
图4是图2所示步骤204的一个具体实施例的流程图;
图5是根据本申请的任务调度优化装置的一个实施例的结构示意图;
图6是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的任务调度优化方法一般由服务器/终端设备执行,相应地,任务调度优化装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的任务调度优化方法的一个实施例的流程图。所述的任务调度优化方法,包括以下步骤:
步骤201,获取批量待处理任务。
本实施例中,所述批量待处理任务为金融业务系统中的批量待处理任务,例如批量的保险订单审核任务、批量的股票交易任务等。
步骤202,根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内。
本实施例中,在执行所述根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内的步骤之前,所述方法还包括:根据预设的任务配置文件,解析出所述批量待处理任务中所有待处理任务分别对应的处理优先级,其中,所述任务配置文件中包含了所有待处理任务间的执行依赖关系;识别预先在所述定时扫描组件内构建的若干个消息队列;根据所述处理优先级,分别设置所述若干个消息队列中可添加的待处理任务的处理优先级。
由于所述任务配置文件中包含了所有待处理任务间的执行依赖关系,因此,可以根据所述执行依赖关系设置所有待处理任务的处理优先级,所述分别设置所述若干个消息队列中可添加的待处理任务的处理优先级,具体的,每个消息队列中仅添加同一个处理优先级的待处理任务,避免了多个处理优先级的待处理任务处于同一个消息队列中,容易涉及到任务等待阻塞等问题导致任务执行耗时较长。
继续参考图3,图3是图2所示步骤202的一个具体实施例的流程图,包括:
步骤301,采用循环识别方式识别所述批量待处理任务中所有待处理任务分别对应的处理优先级;
步骤302,根据识别结果和所述若干个消息队列中可添加的待处理任务的处理优先级,采用循环添加方式将相同处理优先级的待处理任务添加到相应的消息队列中;
步骤303,直到所述批量待处理任务中所有待处理任务都被添加到相应的消息队列中,则完成将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内。
通过在所述定时扫描组件内构建若干个消息队列,使得每个消息队列中添加同一个处理优先级的待处理任务,采用定时扫描组件,结合后续的若干个任务消费者可以同时处理多个相同处理优先级的任务,能够实现对批量待处理任务进行多线程处理,任务分发效率更高。将多个相同处理优先级的待处理任务投递给多个任务消费者进行并行处理,大幅提高了任务分发效率,缩短了任务执行时间。
步骤203,启动目标分布式系统内的若干个任务消费者。
步骤204,结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者。
本实施例中,在执行所述结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者的步骤之前,所述方法还包括:根据所述若干个消息队列中可添加的待处理任务的处理优先级,为所述若干个消息队列设置消息推送策略,其中,所述消息推送策略,具体为:处理优先级高的消息队列先向所述若干个任务消费者进行消息推送,直到处理优先级高的消息队列消息推送完毕,再对处理优先级低的消息队列进行消息推送。
通过所述消息推送策略,会优先处理优先级更高的待处理任务,确保任务调度更加稳定。
继续参考图4,图4是图2所示步骤204的一个具体实施例的流程图,包括:
步骤401,根据所述消息推送策略,从所述若干个消息队列中筛选出处理优先级最高的消息队列作为当前消息队列;
步骤402,采用循环方式为所述当前消息队列中所有待处理任务分配所述若干个任务消费者的区别标识信息,获得第一分配结果;
步骤403,通过所述定时扫描组件,按照先进先出原则为所述当前消息队列中所有待处理任务分配处理时间,获得第二分配结果;
步骤404,根据所述第一分配结果和所述第二分配结果,确定所述当前消息队列中所有待处理任务分别对应的任务消费者和处理时间;
步骤405,通过比较方式,选择下一级处理优先级对应的消息队列作为当前消息队列,并重复执行步骤402至步骤405;
步骤406,直到通过比较方式,无法选择出下一级处理优先级对应的消息队列,停止重复执行,获得所述若干个消息队列中所有待处理任务分别对应的任务消费者和处理时间。
根据消息队列对应的处理优先级,从最高处理优先级至最低处理优先级,并按照队列的先进先出原则,分别设置所有待处理任务的处理时间和相应的任务消费者,便于在后续实际执行时,直接根据所述定时扫描组件,获得达到处理时间的待处理任务,并将所述待处理任务发送给相应的任务消费者进行任务处理,即保证了任务调度的稳定性,也保证了并行进行任务处理,提高了批量任务的处理效率。
步骤205,根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理。
本实施例中,在执行所述根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理的步骤之前,所述方法还包括:根据预设的资源使用监测组件,实时监测所述若干个任务消费者的资源使用情况,获得资源使用情况实时监测结果,其中,所述预设的资源使用监测组件包括基于Prometheus或者Grafana的资源使用监测组件;基于预设的资源使用情况限制阈值和所述资源使用情况实时监测结果,判断是否存在任务消费者的资源使用情况超过所述资源使用情况限制阈值;若存在任务消费者的资源使用情况超过所述资源使用情况限制阈值,则根据所述任务消费者的区别标识信息识别出所述任务消费者对应的所有待处理任务,并采用累加时长的方式,调整所述任务消费者对应的所有待处理任务的处理时间。
通过预设的资源使用监测组件,在监测到存在任务消费者的资源使用情况超过所述资源使用情况限制阈值,采用累加时长的方式,调整所述任务消费者对应的所有待处理任务的处理时间,实质上是通过延迟待处理任务加入目标任务消费者,保证任务调度的稳定性。
本实施例中,所述根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理的步骤,由于步骤204中已经根据所述消息推送策略,设置了所有待处理任务分别对应的任务消费者和处理时间,而所述消息推送策略,具体为:处理优先级高的消息队列先向所述若干个任务消费者进行消息推送,直到处理优先级高的消息队列消息推送完毕,再对处理优先级低的消息队列进行消息推送,因此,进行任务处理的具体处理方式为,假设存在4个消息队列A、B、C和D,且消息队列对应的待处理任务的处理优先级分别不同,且在处理优先级上A>B>C>D,先根据消息队列A中的待处理任务对应的处理时间和任务消费者,处理完消息队列A中的待处理任务,然后再依次处理消息队列B、C、D中的待处理任务,即保证了对不同处理优先级的任务根据优先级分开执行,也保证了对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率且保证了任务调度稳定性。
步骤206,通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态。
本实施例中,所述任务状态管理组件包括任务状态监测组件和任务状态记录组件。
本实施例中,所述通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果的步骤,具体包括:根据所述任务状态监测组件,实时监测所述所有待处理任务的任务状态信息,其中,所述任务状态监测组件包括基于Prometheus或者Grafana的任务状态监测组件;基于所述任务状态记录组件,实时记录所述所有待处理任务的任务状态信息,获得任务状态监测结果,其中,所述任务状态记录组件为基于redis的任务状态记录组件。
步骤207,若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理。
步骤208,判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值。
本实施例中,所述判断在经过预设的时间间隔阈值后,异常处理是否完毕的步骤,具体包括:在经过所述时间间隔阈值后,获取当前系统时间点下对应的任务状态监测结果;根据所述当前系统时间点下对应的任务状态监测结果,识别所述目标分析任务的当前任务状态;若所述目标分析任务的当前任务状态为执行异常状态,则异常未处理完毕;若所述目标分析任务的当前任务状态为执行中状态或者执行完毕状态,则异常处理完毕。
步骤209,若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208。
本实施例中,在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之前,所述方法还包括:根据异常处理结果,对所述目标分析任务进行异常类型归类;识别出所述目标分析任务,并将所述目标分析任务添加到预设的执行重试表单中;
本实施例中,在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之后,所述方法还包括:判断当前系统时间点是否达到预设的执行重试时间点;若所述当前系统时间点已达到预设的执行重试时间点,则获取所述执行重试表单中的目标执行重试任务,并根据所述目标执行重试任务对应的任务消费者的区别标识信息将所述目标执行重试任务发送给目标任务消费者进行执行重试。
通过设置异常处理和执行重试,可以在任务处理出现异常情况时进行有效的异常处理和重试处理,确保任务处理的高可靠性和高可用性。
步骤210,若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
本实施例中,实质上是在经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,即剔除掉所述出现异常的任务消费者;然后,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,重新执行步骤204至步骤208,是对当前的所有待处理任务重新根据当前的若干个任务消费者进行处理时间和任务消费者分配,之后再在任务执行时进行监测。保证了在存在任务消费者出现异常时,快速灵活的进行任务调度调整,使得资源分配快速调整为均匀状态。
本申请通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大任务调度优化技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
进一步参考图5,作为对上述图2所示方法的实现,本申请提供了任务调度优化装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的任务调度优化装置500包括:待处理任务获取模块501、待处理任务队列化模块502、任务消费者启动模块503、任务消费分配模块504、任务处理模块505、实时监测模块506、异常识别及处理模块507、异常处理结果判断模块508、第一后续处理模块509和第二后续处理模块510。其中:
待处理任务获取模块501,用于获取批量待处理任务;
待处理任务队列化模块502,用于根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内;
任务消费者启动模块503,用于启动目标分布式系统内的若干个任务消费者;
任务消费分配模块504,用于结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者;
任务处理模块505,用于根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理;
实时监测模块506,用于通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态;
异常识别及处理模块507,用于若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理;
异常处理结果判断模块508,用于判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值;
第一后续处理模块509,用于若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208;
第二后续处理模块510,用于若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
本申请通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图6,图6为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器6a、处理器6b、网络接口6c。需要指出的是,图中仅示出了具有组件6a-6c的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field -Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器6a至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器6a可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器6a也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器6a还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器6a通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如一种任务调度优化方法的计算机可读指令等。此外,所述存储器6a还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器6b在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他任务调度优化芯片。该处理器6b通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器6b用于运行所述存储器6a中存储的计算机可读指令或者处理数据,例如运行所述任务调度优化方法的计算机可读指令。
所述网络接口6c可包括无线网络接口或有线网络接口,该网络接口6c通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,属于金融科技技术领域,应用于金融业务任务调度优化场景中。本申请通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被处理器执行,以使所述处理器执行如上述的任务调度优化方法的步骤。
本实施例提出的计算机可读存储介质,属于金融科技技术领域,应用于金融业务任务调度优化场景中。本申请通过获取批量待处理任务;根据所有待处理任务分别对应的处理优先级,将批量待处理任务以消息队列形式添加到预设的定时扫描组件内;启动目标分布式系统内的若干个任务消费者;结合定时扫描组件和若干个任务消费者的区别标识信息为消息队列中所有待处理任务分别分配处理时间和任务消费者;根据区别标识信息在相应的处理时间将所有待处理任务分别分配给对应的目标任务消费者进行任务处理;实时监测所有待处理任务对应的任务状态信息;若识别出当前正在处理任务为执行异常状态,则将当前正在处理任务作为目标分析任务,识别目标分析任务对应的任务消费者,在对应的消费组件内启动预设的异常处理组件进行异常处理;判断在经过预设的时间间隔阈值后,异常处理是否完毕;并根据异常处理结果进行任务调度调整。采用定时扫描组件和消息队列,实现了对不同处理优先级的任务根据优先级分开执行,对相同处理优先级的任务采用若干个任务消费者进行并行处理,提高了任务分发效率也保证了任务调度稳定性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种任务调度优化方法,其特征在于,包括下述步骤:
步骤201,获取批量待处理任务;
步骤202,根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内;
步骤203,启动目标分布式系统内的若干个任务消费者;
步骤204,结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者;
步骤205,根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理;
步骤206,通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态;
步骤207,若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理;
步骤208,判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值;
步骤209,若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208;
步骤210,若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
2.根据权利要求1所述的任务调度优化方法,其特征在于,在执行所述根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内的步骤之前,所述方法还包括:
根据预设的任务配置文件,解析出所述批量待处理任务中所有待处理任务分别对应的处理优先级,其中,所述任务配置文件中包含了所有待处理任务间的执行依赖关系;
识别预先在所述定时扫描组件内构建的若干个消息队列;
根据所述处理优先级,分别设置所述若干个消息队列中可添加的待处理任务的处理优先级;
所述根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内的步骤,具体包括:
采用循环识别方式识别所述批量待处理任务中所有待处理任务分别对应的处理优先级;
根据识别结果和所述若干个消息队列中可添加的待处理任务的处理优先级,采用循环添加方式将相同处理优先级的待处理任务添加到相应的消息队列中;
直到所述批量待处理任务中所有待处理任务都被添加到相应的消息队列中,则完成将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内。
3.根据权利要求2所述的任务调度优化方法,其特征在于,在执行所述结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者的步骤之前,所述方法还包括:
根据所述若干个消息队列中可添加的待处理任务的处理优先级,为所述若干个消息队列设置消息推送策略,其中,所述消息推送策略,具体为:处理优先级高的消息队列先向所述若干个任务消费者进行消息推送,直到处理优先级高的消息队列消息推送完毕,再对处理优先级低的消息队列进行消息推送;
所述结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者的步骤,具体包括:
步骤401,根据所述消息推送策略,从所述若干个消息队列中筛选出处理优先级最高的消息队列作为当前消息队列;
步骤402,采用循环方式为所述当前消息队列中所有待处理任务分配所述若干个任务消费者的区别标识信息,获得第一分配结果;
步骤403,通过所述定时扫描组件,按照先进先出原则为所述当前消息队列中所有待处理任务分配处理时间,获得第二分配结果;
步骤404,根据所述第一分配结果和所述第二分配结果,确定所述当前消息队列中所有待处理任务分别对应的任务消费者和处理时间;
步骤405,通过比较方式,选择下一级处理优先级对应的消息队列作为当前消息队列,并重复执行步骤402至步骤405;
步骤406,直到通过比较方式,无法选择出下一级处理优先级对应的消息队列,停止重复执行,获得所述若干个消息队列中所有待处理任务分别对应的任务消费者和处理时间。
4.根据权利要求1所述的任务调度优化方法,其特征在于,在执行所述根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理的步骤之前,所述方法还包括:
根据预设的资源使用监测组件,实时监测所述若干个任务消费者的资源使用情况,获得资源使用情况实时监测结果,其中,所述预设的资源使用监测组件包括基于Prometheus或者Grafana的资源使用监测组件;
基于预设的资源使用情况限制阈值和所述资源使用情况实时监测结果,判断是否存在任务消费者的资源使用情况超过所述资源使用情况限制阈值;
若存在任务消费者的资源使用情况超过所述资源使用情况限制阈值,则根据所述任务消费者的区别标识信息识别出所述任务消费者对应的所有待处理任务,并采用累加时长的方式,调整所述任务消费者对应的所有待处理任务的处理时间。
5.根据权利要求1所述的任务调度优化方法,其特征在于,所述任务状态管理组件包括任务状态监测组件和任务状态记录组件,所述通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果的步骤,具体包括:
根据所述任务状态监测组件,实时监测所述所有待处理任务的任务状态信息,其中,所述任务状态监测组件包括基于Prometheus或者Grafana的任务状态监测组件;
基于所述任务状态记录组件,实时记录所述所有待处理任务的任务状态信息,获得任务状态监测结果,其中,所述任务状态记录组件为基于redis的任务状态记录组件。
6.根据权利要求1所述的任务调度优化方法,其特征在于,所述判断在经过预设的时间间隔阈值后,异常处理是否完毕的步骤,具体包括:
在经过所述时间间隔阈值后,获取当前系统时间点下对应的任务状态监测结果;
根据所述当前系统时间点下对应的任务状态监测结果,识别所述目标分析任务的当前任务状态;
若所述目标分析任务的当前任务状态为执行异常状态,则异常未处理完毕;
若所述目标分析任务的当前任务状态为执行中状态或者执行完毕状态,则异常处理完毕。
7.根据权利要求1或6所述的任务调度优化方法,其特征在于,在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之前,所述方法还包括:
根据异常处理结果,对所述目标分析任务进行异常类型归类;
识别出所述目标分析任务,并将所述目标分析任务添加到预设的执行重试表单中;
在执行所述若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208的步骤之后,所述方法还包括:
判断当前系统时间点是否达到预设的执行重试时间点;
若所述当前系统时间点已达到预设的执行重试时间点,则获取所述执行重试表单中的目标执行重试任务,并根据所述目标执行重试任务对应的任务消费者的区别标识信息将所述目标执行重试任务发送给目标任务消费者进行执行重试。
8.一种任务调度优化装置,其特征在于,包括:
待处理任务获取模块,用于获取批量待处理任务;
待处理任务队列化模块,用于根据所述批量待处理任务中所有待处理任务分别对应的处理优先级,将所述批量待处理任务以消息队列形式添加到预设的定时扫描组件内;
任务消费者启动模块,用于启动目标分布式系统内的若干个任务消费者;
任务消费分配模块,用于结合所述定时扫描组件和所述若干个任务消费者的区别标识信息为所述消息队列中所有待处理任务分别分配处理时间和任务消费者;
任务处理模块,用于根据所述区别标识信息在相应的处理时间将所述所有待处理任务分别分配给对应的目标任务消费者进行任务处理;
实时监测模块,用于通过预设的任务状态管理组件,实时监测所述所有待处理任务对应的任务状态信息,获得任务状态监测结果,其中,所述任务状态信息包括等待执行状态、开始执行状态、执行中状态、执行完毕状态、执行异常状态;
异常识别及处理模块,用于若通过所述任务状态监测结果识别出当前正在处理任务为执行异常状态,则将所述当前正在处理任务作为目标分析任务,识别所述目标分析任务对应的任务消费者,并在所述任务消费者对应的消费组件内启动预设的异常处理组件进行异常处理;
异常处理结果判断模块,用于判断在经过预设的时间间隔阈值后,异常处理是否完毕,其中,所述预设的时间间隔阈值为系统当前时间点与所述任务消息者将要执行的目标待处理任务的处理时间点的差值;
第一后续处理模块,用于若经过预设的时间间隔阈值后,异常处理完毕,则继续执行步骤205至步骤208;
第二后续处理模块,用于若经过预设的时间间隔阈值后,异常未处理完毕,则将所述任务消费者之外的其他任务消费者更新为所述若干个任务消费者,将所有处于等待执行状态的待处理任务更新为所述所有待处理任务,并继续执行步骤204至步骤208。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的任务调度优化方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的任务调度优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410028730.6A CN117707737A (zh) | 2024-01-05 | 2024-01-05 | 一种任务调度优化方法、装置、设备及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410028730.6A CN117707737A (zh) | 2024-01-05 | 2024-01-05 | 一种任务调度优化方法、装置、设备及其存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707737A true CN117707737A (zh) | 2024-03-15 |
Family
ID=90157147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410028730.6A Pending CN117707737A (zh) | 2024-01-05 | 2024-01-05 | 一种任务调度优化方法、装置、设备及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707737A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118277067A (zh) * | 2024-06-03 | 2024-07-02 | 济南浪潮数据技术有限公司 | 轮询器管理方法、设备、介质及计算机程序产品 |
-
2024
- 2024-01-05 CN CN202410028730.6A patent/CN117707737A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118277067A (zh) * | 2024-06-03 | 2024-07-02 | 济南浪潮数据技术有限公司 | 轮询器管理方法、设备、介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4113299A2 (en) | Task processing method and device, and electronic device | |
CN117707737A (zh) | 一种任务调度优化方法、装置、设备及其存储介质 | |
CN112506619A (zh) | 作业处理方法、装置、电子设备、存储介质和程序产品 | |
CN117395253A (zh) | 一种负载均衡方法、装置、设备及其存储介质 | |
CN113242301B (zh) | 真实服务器的选定方法、装置、计算机设备及存储介质 | |
CN117271121A (zh) | 一种任务处理进度控制方法、装置、设备及其存储介质 | |
CN117319400A (zh) | 一种服务处理节点调整方法、装置、设备及其存储介质 | |
CN117271122A (zh) | 基于cpu和gpu分离的任务处理方法、装置、设备及存储介质 | |
CN117094729A (zh) | 请求处理方法、装置、计算机设备及存储介质 | |
CN117252362A (zh) | 基于人工智能的调度方法、装置、计算机设备及存储介质 | |
CN116821493A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN116483425A (zh) | 微服务灰度发版方法、装置、设备及其存储介质 | |
CN114221964B (zh) | 一种访问请求处理方法、装置、计算机设备及存储介质 | |
CN110825342A (zh) | 存储调度器件和用于处理信息的系统、方法及装置 | |
CN114064403A (zh) | 一种任务延迟分析处理方法和装置 | |
CN112052077B (zh) | 软件任务管理的方法、装置、设备、介质 | |
CN115237725A (zh) | 任务智能调度方法、装置、计算机设备及存储介质 | |
CN117851055A (zh) | 一种任务调度方法、装置、设备及其存储介质 | |
CN115314404B (zh) | 服务优化方法、装置、计算机设备及存储介质 | |
CN117806951A (zh) | 应用于测试用例分布式运行的智能调度方法及相关设备 | |
CN117827320A (zh) | 一种服务执行方法、装置、设备及其存储介质 | |
CN116755966A (zh) | 基于分域模式的redis客户端性能监测方法及其相关设备 | |
CN117827988A (zh) | 一种数据仓库优化方法、装置、设备及其存储介质 | |
CN116382873A (zh) | 一种导出中心的任务调度方法、装置、设备及存储介质 | |
CN117112383A (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 |