CN117950839A - 一种基于智能任务分配与执行的任务处理方法及装置 - Google Patents
一种基于智能任务分配与执行的任务处理方法及装置 Download PDFInfo
- Publication number
- CN117950839A CN117950839A CN202410210114.2A CN202410210114A CN117950839A CN 117950839 A CN117950839 A CN 117950839A CN 202410210114 A CN202410210114 A CN 202410210114A CN 117950839 A CN117950839 A CN 117950839A
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- execution
- tasks
- external
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000009825 accumulation Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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
技术领域
本发明涉及计算机科学和信息技术领域,尤其涉及一种基于智能任务分配与执行的任务处理方法及装置。
背景技术
任务管理系统包括任务的创建、分配、调度、执行和监控等方面,主要涉及如何有效地组织、分配和执行各种类型的任务,以满足不同应用和系统的需求。
任务管理系统中,经常出现多个任务可能会争夺有限的资源,导致资源竞争和性能瓶颈,这可能会导致任务执行效率低下和系统不稳定性。例如,任务队列A中存在10个任务,每个任务的执行时长较长,导致任务队列发生堆积。而任务队列B中存在2个任务,任务执行时长较短,任务执行完成后,队列处于空闲状态。任务队列A发生堆积,使任务管理系统的整体任务执行效率低下,严重时系统不稳定性增强,可能导致任务管理系统崩溃。
发明内容
本发明提供了一种基于智能任务分配与执行的任务处理方法及装置,能够提高任务管理系统的执行效率和稳定性。
第一方面,本发明提供了一种基于智能任务分配与执行的任务处理方法,该方法包括:获取外部任务数据,解析外部任务数据,确定外部任务数据的任务类型和任务配置信息;基于外部任务数据的任务类型,确定与任务类型对应的线程池;基于外部任务数据的任务配置信息,在线程池中,确定与任务配置信息对应的线程,通过线程对应的任务执行器,对外部任务数据进行处理。
在一种可能的实现方式中,通过线程对应的任务执行器,对外部任务数据进行处理,包括:基于外部任务数据生成目标任务;将目标任务发送至任务执行器的任务队列。
在一种可能的实现方式中,通过线程对应的任务执行器,对外部任务数据进行处理,还包括:获取任务执行器中多个任务引擎的任务执行情况;根据目标任务的任务类型,以及多个任务引擎的任务执行情况,确定目标任务引擎;基于目标任务引擎,处理目标任务,输出任务执行结果。
在一种可能的实现方式中,该任务处理方法还包括:获取各任务执行器的资源占用情况和任务执行进度;资源占用情况包括内存使用率和CPU负载率;基于各任务执行器的资源占用情况和任务执行进度,对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源;
在一种可能的实现方式中,该任务处理方法还包括:监测各线程池对应的任务队列中各任务的等待时长;基于各任务的等待时长,确定各任务队列是否发生堆积;若发生堆积,则获取各线程池的任务数量和等待时长;基于各线程池的任务数量和等待时长,确定空闲线程;空闲线程为任务数量小于第一阈值,且等待时长小于第二阈值的线程;将发生堆积的任务队列中的任务转移至空闲线程处理。
在一种可能的实现方式中,基于各线程池的任务数量和等待时长,确定空闲线程之后,还包括:若不存在空闲线程,则基于节点扩容机制,新增线程;将发生堆积的任务队列中的任务转移至新增线程处理。
在一种可能的实现方式中,所述基于节点扩容机制,新增线程,包括:获取任务处理系统中各节点的资源占用情况;基于所述各线程池的任务数量和等待时长,确定待转移任务的数量和待转移任务的资源消耗量;基于所述各节点的资源占用情况,以及待转移任务的数量和待转移任务的资源消耗量,确定扩容节点;基于扩容节点的资源占用情况,对待转移任务进行分配,确定各扩容节点的新增任务;基于各扩容节点的新增任务的任务类型和任务配置信息,新增线程。
第二方面,本发明实施例提供了一种基于智能任务分配与执行的任务处理装置,该任务处理装置包括:作业管理器,用于获取外部任务数据,解析外部任务数据,确定外部任务数据的任务类型和任务配置信息;基于外部任务数据的任务类型,确定与任务类型对应的线程池;基于外部任务数据的任务配置信息,在线程池中,确定与任务配置信息对应的线程;任务执行器,用于通过线程对应的任务执行器,对外部任务数据进行处理。
在一种可能的实现方式中,任务执行器,用于基于外部任务数据生成目标任务;将目标任务发送至任务执行器的任务队列。
在一种可能的实现方式中,任务执行器,还用于获取任务执行器中多个任务引擎的任务执行情况;根据目标任务的任务类型,以及多个任务引擎的任务执行情况,确定目标任务引擎;基于目标任务引擎,处理目标任务,输出任务执行结果。
在一种可能的实现方式中,作业管理器,还用于获取各任务执行器的资源占用情况和任务执行进度;资源占用情况包括内存使用率和CPU负载率;基于各任务执行器的资源占用情况和任务执行进度,对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源;
在一种可能的实现方式中,作业管理器,还用于监测各线程池对应的任务队列中各任务的等待时长;基于各任务的等待时长,确定各任务队列是否发生堆积;若发生堆积,则获取各线程池的任务数量和等待时长;基于各线程池的任务数量和等待时长,确定空闲线程;空闲线程为任务数量小于第一阈值,且等待时长小于第二阈值的线程;将发生堆积的任务队列中的任务转移至空闲线程处理。
在一种可能的实现方式中,作业管理器,还用于若不存在空闲线程,则基于节点扩容机制,新增线程;将发生堆积的任务队列中的任务转移至新增线程处理。
在一种可能的实现方式中,作业管理器,具体用于获取任务处理系统中各节点的资源占用情况;基于所述各线程池的任务数量和等待时长,确定待转移任务的数量和待转移任务的资源消耗量;基于所述各节点的资源占用情况,以及待转移任务的数量和待转移任务的资源消耗量,确定扩容节点;基于扩容节点的资源占用情况,对待转移任务进行分配,确定各扩容节点的新增任务;基于各扩容节点的新增任务的任务类型和任务配置信息,新增线程。
第三方面,本发明实施例提供了一种电子设备,该电子设备包括存储器和处理器,该存储器存储有计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序时执行如上述第一方面以及第一方面中任一种可能的实现方式所述方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面以及第一方面中任一种可能的实现方式所述方法的步骤。
本发明提供一种基于智能任务分配与执行的任务处理方法及装置,本发明通过外部任务数据的任务类型和任务配置信息,确定对应的线程池和线程,由于不同的业务类型对应不同的线程池,不同的任务配置信息对应线程池中不同的线程,实现了不同任务的分类处理,避免了任务队列中任务堆积,提高任务管理系统的执行效率和稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于智能任务分配与执行的任务处理系统的结构示意图;
图2是本发明实施例提供的一种作业管理器的结构示意图;
图3是本发明实施例提供的一种任务执行器的结构示意图;
图4是本发明实施例提供的一种基于智能任务分配与执行的任务处理方法的流程示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
在本发明的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选的还包括其他没有列出的步骤或模块,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图通过具体实施例来进行说明。
如背景技术所述,目前任务管理系统存在任务执行效率低下和系统不稳定性的问题。
此外,传统任务管理系统往往非常复杂,难以维护和管理。任务执行的不确定性和复杂性使得故障排查和性能调优变得困难。在高负载和高并发情况下,传统系统可能难以有效扩展,这可能导致系统无法满足不断增长的任务需求。传统任务管理系统可能无法有效地利用不同类型任务的资源,导致资源浪费和低效利用。
为解决上述技术问题,如图1所示,本发明实施例提供了一种基于智能任务分配与执行的任务处理系统。该任务处理系统包括作业管理器101、任务执行器102和数据库103。
作业管理器负责接收页面任务配置信息,数据持久化,以及管理任务执行器的状态;同时定频收集各任务执行器上资源信息(服务器资源信息、任务负载情况和共享资源冗余备份信息等)。
本发明采用模块化架构,将任务管理和执行过程分解为独立的模块,以简化系统结构和降低复杂性。独立资源部署:不同模块独立部署,不同模块可以分布在多个计算节点上,以实现分布式任务处理和资源管理,避免了资源竞争,提高了系统的稳定性和可靠性。智能任务管理:本发明引入了负载均衡策略,以确保任务在不同资源上的均衡分配和高性能执行,通过智能任务分配、负载均衡策略和资源优化,提高了任务管理的智能性和执行效率。高扩展性:发明中的高度可扩展性允许系统根据需求动态扩展,以适应不断变化的业务规模。高可用性和容错性:任务迁移策略和异常处理机制提高了系统的高可用性和容错性。
本发明旨在解决传统系统中任务执行过程中的资源竞争、性能瓶颈和复杂性管理等问题。通过独立资源部署、任务模块化处理、高扩展性和智能资源管理,本发明旨在优化任务执行的效率、稳定性和可维护性,适应不同业务需求的多样性,并提供高度可定制的解决方案。
如图2所示,作业管理器的整体交互流程为:外部任务数据到达任务配置器,配置器进行任务配置信息的解析以及持久化,同时负责任务启动后拉取数据库中任务发送至集中存储器的任务队列,负责处理任务消息的消息处理器会将任务拉取并且通过通讯器的通信层将任务提交到任务执行器上。任务结束后任务执行器将通过通讯器把任务结果发送回来,消息处理器收到消息后处理完任务结果集发送至集中存储器的完成任务队列。这时监控器将会做任务完成的监控,进行任务使用资源分析,同时监控器还会拉取消息处理器发给集中存储器的节点资源信息,监控器把获取到的资源信息进行节点状态评估等等。
作业管理器包括配置器、消息处理器、集中存储器、通讯器和监控器。
通讯器:此模块通过采用Netty作为通信框架,这个模块能够以异步、事件驱动的方式进行通信。这意味着系统可以在不阻塞主线程的情况下处理大量的通信请求,从而提高了系统的响应速度和吞吐量。同时,Netty提供了可靠的TCP/IP协议栈,确保了数据的可靠传输,防止数据丢失或损坏。
消息处理器:此模块内置了一个高度智能的消息处理器,负责接收来自task-actuator的请求消息并处理它们。这个处理器能够根据不同的消息类型执行不同的操作,如任务分发、状态更新等。它还支持异步处理,允许同时处理多个消息,从而提高了系统的并发性能。
配置器:此模块作为任务配置信息的接收者,可以从多个来源接收各种类型的任务配置信息。其次,它拥有智能解析能力,能够将这些信息解析为系统可理解和操作的格式,确保任务管理的高度灵活性。最重要的是,Configurator模块能够将解析后的任务配置信息持久化,以确保配置的持久性和可靠性。
监控器:这个模块通过先进的资源收集机制,主动探索、识别和收集系统中的各种资源。这些资源包括硬件资源(如CPU、内存、存储等)、网络资源、以及应用程序特定的资源(如数据库连接池、线程池等)。通过全面的资源收集,系统可以准确了解每个节点的资源状况,为任务调度和分配提供了坚实的基础。
除了资源的收集,监控器还实时监控资源的使用情况。它不仅仅关注静态资源配置,还能够感知资源的动态变化,如CPU负载、内存使用率等。通过实时监控,系统可以迅速检测到资源瓶颈或异常情况,采取相应的措施以维护系统的稳定性和性能。这个模块敏锐地捕捉到节点上下线事件,并进行高度智能的回调处理。节点的上线事件触发资源的重新分配和负载均衡,以确保系统充分利用资源。节点的下线事件则触发任务的迁移和重新调度,以维护系统的高可用性和容错性。这种自动化处理机制提高了系统的自愈能力。这个模块还支持自适应资源管理。它能够根据当前资源状况自动调整任务分配策略,以最大程度地利用可用资源。这种智能资源管理确保了系统能够在动态环境中实现最佳性能。
集中存储器:这个模块是系统的智能资源和状态管理中枢,通过集中管理共享资源和高速缓存状态信息,为整个系统提供了卓越的性能、可伸缩性和可靠性。其功能包括资源的集中管理、状态信息的高速缓存、智能数据管理、高可用性和容错性、分布式支持以及安全保护。这一模块的设计和功能注重高度优化,旨在提高系统的整体性能和效率,确保资源和状态的高效利用,同时保护敏感信息的安全性。
如图3所示,任务执行器的整体交互流程为:任务通过作业管理器提交到任务执行器,先是经过任务检查单元进行任务配置检查,通过检查后传递任务参数至任务生成单元进行任务包的构建,并将构建好的任务包提交到任务引擎管理单元等待任务调度。任务引擎管理单元将会根据任务类型以及任务执行情况选择一个最优的任务引擎进行执行,任务引擎负责执行完任务后通过回调器执行后续回调处理以及通知作业管理器。整体的执行链路日志基于本地可传输线程并配合注销日志框架进行记录。
任务执行器包括任务检查单元、任务生成单元、任务引擎管理单元、任务引擎、回调单元和跟踪日志。
任务检查单元:这个模块负责任务配置检查,其主要任务是对任务配置进行参数检查和各配置项的必传校验,以确保任务在执行前具备正确、完整的配置。这一模块具备高度智能的参数检查和验证机制,能够深入分析任务配置的各项参数。它还支持自定义校验规则,允许用户根据业务需求定义特定的校验规则。同时,模块还提供参数优化建议、异常处理和历史配置审计等高级功能,以提高任务执行的可靠性、性能和安全性。这个模块是系统的"智慧守门人"。
任务生成单元:这个模块其主要职责是将经过检查的任务配置转化为可执行的任务单元,以任务包的形式包含了任务的执行唯一标识、任务类型、具体执行单元、回调器等关键信息。这个模块采用高度智能的构建策略,具备高度可定制性,能够根据不同类型的任务和系统需求,构建最优化的执行单元,以提高任务的性能、可控性和管理性。同时,它支持异常处理和日志记录,确保任务执行的可靠性和稳定性。这个任务构建模块是系统中的关键组成部分,是系统的"任务工匠"。
任务引擎管理单元:这个模块主要负责处理包装好的任务包任务,智能分配任务给最优的任务引擎执行单元,并提供一系列高级任务监控机制,以保障任务执行的最佳性能和系统的高可用性。它具备智能任务分配、最优执行单元选择、任务执行状态监控、任务负载均衡、自动任务迁移、资源监控等多方面的高级功能,为任务执行提供了高度智能的指导和监控。任务引擎管理单元是系统的任务分配与监控中心,是系统的"任务指挥官"。
任务引擎:这个模块它的任务是执行任务包。在其内部,它巧妙地封装了多个执行线程池,这些线程池的资源和行为都根据任务类型和任务速度的不同特性进行智能化初始化和管理,以实现高度的任务执行效率和系统性能。主要包括:多线程池资源管理、多线程池资源管理、任务速度感知、任务队列管理、任务投递策略和高度可定制性等。
多线程池资源管理:这个模块内部封装了多个执行线程池,每个线程池都根据任务的类型和速度特性进行资源的智能分配和管理。这包括线程数、线程池队列大小、线程的优先级等资源参数的动态调整,以满足不同任务的需求。
多线程池资源管理:模块根据任务类型将任务分级处理,这样可以针对不同类型的任务进行有针对性的优化和调度。例如,IO密集型任务和计算密集型任务可以分配到不同的线程池,以避免互相干扰和提高执行效率。
任务速度感知:模块能够感知任务的速度特性,快速任务和慢速任务会被分配到不同的线程池。这种智能分级可确保任务的执行不会相互阻塞,提高了系统的响应速度和执行效率。
任务队列管理:除了线程池的管理,模块还对任务队列进行智能化管理。它可以根据队列长度和任务的执行时间来动态调整任务的排队顺序,确保高优先级任务能够快速执行。
任务投递策略:基于阈值设定,模块可以将执行较慢的任务投递到慢任务线程池,以避免任务积压和系统性能下降。这种策略保证了快速任务不会被长时间等待,提高了任务的可控性。
高度可定制性:这个模块具有高度可定制性,允许系统管理员根据不同任务类型和需求定义特定的执行策略和规则,以满足具体的业务场景需求。
如图4所示,本发明实施例提供了一种基于智能任务分配与执行的任务处理方法。该任务处理方法包括步骤S201-S205。
S201、获取外部任务数据。
S202、解析外部任务数据,确定外部任务数据的任务类型和任务配置信息。
S203、基于外部任务数据的任务类型,确定与任务类型对应的线程池。
S204、基于外部任务数据的任务配置信息,在线程池中,确定与任务配置信息对应的线程。
S205、通过线程对应的任务执行器,对外部任务数据进行处理。
作为一种可能的实现方式,本发明实施例可以基于外部任务数据生成目标任务;将目标任务发送至任务执行器的任务队列。
作为一种可能的实现方式,本发明实施例可以获取任务执行器中多个任务引擎的任务执行情况;根据目标任务的任务类型,以及多个任务引擎的任务执行情况,确定目标任务引擎;基于目标任务引擎,处理目标任务,输出任务执行结果。
本发明提供一种基于智能任务分配与执行的任务处理方法,通过外部任务数据的任务类型和任务配置信息,确定对应的线程池和线程,由于不同的业务类型对应不同的线程池,不同的任务配置信息对应线程池中不同的线程,实现了不同任务的分类处理,避免了任务队列中任务堆积,提高任务管理系统的执行效率和稳定性。
可选的,本发明实施例提供的基于智能任务分配与执行的任务处理方法,还包括步骤S301-S302。
S301、获取各任务执行器的资源占用情况和任务执行进度。
在一些实施例中,资源占用情况包括内存使用率和CPU负载率;
S302、基于各任务执行器的资源占用情况和任务执行进度,对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源。
如此一来,本发明可以监测各任务执行器的资源占用情况和任务执行进度,并对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源,实现了各任务执行间的负载均衡。
可选的,本发明实施例提供的基于智能任务分配与执行的任务处理方法,还包括步骤S401-S407。
S401、监测各线程池对应的任务队列中各任务的等待时长。
S402、基于各任务的等待时长,确定各任务队列是否发生堆积。
示例性的,若等待时长大于设定时长,则确定任务队列发生堆积。若等待时长小于等于设定时长,则确定任务队列未发生堆积。
S403、若发生堆积,则获取各线程池的任务数量和等待时长。
S404、基于各线程池的任务数量和等待时长,确定空闲线程。
在一些实施例中,空闲线程为任务数量小于第一阈值,且等待时长小于第二阈值的线程。
S405、将发生堆积的任务队列中的任务转移至空闲线程处理。
S406、若不存在空闲线程,则基于节点扩容机制,新增线程。
示例性的,步骤S406具体可以实现为步骤A1-A5。
A1、获取任务处理系统中各节点的资源占用情况。
A2、基于所述各线程池的任务数量和等待时长,确定待转移任务的数量和待转移任务的资源消耗量。
A3、基于所述各节点的资源占用情况,以及待转移任务的数量和待转移任务的资源消耗量,确定扩容节点。
A4、基于扩容节点的资源占用情况,对待转移任务进行分配,确定各扩容节点的新增任务。
A5、基于各扩容节点的新增任务的任务类型和任务配置信息,新增线程。
S407、将发生堆积的任务队列中的任务转移至新增线程处理。
如此一来,本发明实施例可以通过监控器对各线程中任务的等待时长进行监测,但等待时长较长时,确定任务队列发生堆积。并在发生堆积后,筛选出空间线程,由空闲线程处理发生堆积的任务队列中的任务,实现任务转移。当任务队列均发生堆积,不存在空闲线程时,本发明实施例通过新增线程实现堆积任务处理。在任务堆积时本发明实施例可以通过任务转移和新增线程实现任务快速处理,提高任务的执行效率。
本发明相对于现有技术具有以下的优点和效果:
1.独立资源部署和职责单一:本发明采用了独立资源部署和模块职责单一的架构。这意味着不同模块各自运行于独立的资源环境中,互不干扰。这一架构的优点在于:资源隔离:各模块之间的资源互相独立,避免了资源竞争和干扰,提高了系统的稳定性和可靠性。职责清晰:每个模块的职责单一明确,易于管理和维护。系统开发和维护成本降低,代码质量和可维护性提高。
2.高扩展性:本发明具备出色的高扩展性,不论是Job Manager还是TaskActuator都可以轻松扩展。这带来以下益处:系统灵活性:系统能够根据需求和负载情况动态扩展,以适应不断变化的业务要求。资源优化:扩展时能够根据具体需求分配资源,避免资源浪费和低效利用。横向扩展:系统能够在需要时水平扩展,以应对大规模任务处理和高并发需求,确保系统的高性能和可伸缩性。任务管理的高度智能化:通过模块化的架构和任务分配策略,本发明实现了任务管理的高度智能化。各模块能够智能地分析任务类型、速度和资源需求,从而更好地满足任务的不同需求。这提高了任务的执行效率和质量。系统的可维护性和可管理性:模块化和独立资源部署的架构使得系统更易于维护和管理。各模块之间的解耦合和单一职责原则有助于减少故障排查难度,提高了系统的可维护性。资源和性能优化:发明中的智能资源管理、任务分级处理和负载均衡策略有助于资源和性能的优化。系统能够更有效地利用可用资源,提供卓越的性能和响应速度。高可用性和容错性:独立资源部署和任务迁移策略提高了系统的容错性和高可用性。即使在资源故障或任务异常情况下,系统也能够继续运行,确保了业务的连续性。智能预警:在面对任务数据剧增的场景中发挥着至关重要的作用。当任务数据激增时,线程池的不均衡分配可能导致任务堆积排队的问题。为了应对这一挑战,我们引入了Task-actuator服务的Task-Engine-Manager,该管理器通过智能预警机制实时监测任务情况,并根据预设的最优阈值进行智能预警汇报。具体而言,Task-Engine-Manager在识别到线程池倾斜和任务堆积的情况下,会向JobManager发送智能预警信息。这一信息包含有关堆积任务的详细信息,同时请求任务转移以避免潜在的处理瓶颈。JobManager在接收到预警信息后,通过内容分析对任务进行分级处理,优先考虑转移加权任务,确保高优先级任务能够得到及时处理。在进行任务处理的同时,智能预警系统还会进行Task-actuator资源的实时分析。如果系统检测到资源不足的情况,系统将尝试自动触发Task-actuator节点的扩容机制,以确保足够的计算资源用于任务的处理。这一自动化的资源管理策略有效提高了系统的灵活性和处理能力。同时,为了及时通知相关人员并进行必要的人工干预,JobManager还会在预警发生时触发告警通知。这些通知通过各种用户自定义告警平台进行推送,确保相关人员能够迅速了解系统状态并采取适当的措施。这种智能预警策略在面对任务数据量剧增的情况下,极大地提高了平台的任务处理能力,确保系统运行的稳定性和高效性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
基于图1所示的一种基于智能任务分配与执行的任务处理装置。
作业管理器101,用于获取外部任务数据,解析外部任务数据,确定外部任务数据的任务类型和任务配置信息;基于外部任务数据的任务类型,确定与任务类型对应的线程池;基于外部任务数据的任务配置信息,在线程池中,确定与任务配置信息对应的线程。
任务执行器102,用于通过线程对应的任务执行器,对外部任务数据进行处理。
在一种可能的实现方式中,任务执行器102,用于基于外部任务数据生成目标任务;将目标任务发送至任务执行器的任务队列。
在一种可能的实现方式中,任务执行器102,还用于获取任务执行器中多个任务引擎的任务执行情况;根据目标任务的任务类型,以及多个任务引擎的任务执行情况,确定目标任务引擎;基于目标任务引擎,处理目标任务,输出任务执行结果。
在一种可能的实现方式中,作业管理器101,还用于获取各任务执行器的资源占用情况和任务执行进度;资源占用情况包括内存使用率和CPU负载率;基于各任务执行器的资源占用情况和任务执行进度,对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源;
在一种可能的实现方式中,作业管理器101,还用于监测各线程池对应的任务队列中各任务的等待时长;基于各任务的等待时长,确定各任务队列是否发生堆积;若发生堆积,则获取各线程池的任务数量和等待时长;基于各线程池的任务数量和等待时长,确定空闲线程;空闲线程为任务数量小于第一阈值,且等待时长小于第二阈值的线程;将发生堆积的任务队列中的任务转移至空闲线程处理。
在一种可能的实现方式中,作业管理器101,还用于若不存在空闲线程,则基于节点扩容机制,新增线程;将发生堆积的任务队列中的任务转移至新增线程处理。
图5是本发明实施例提供的一种电子设备的结构示意图。如图5所示,该实施例的电子设备500包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序503。所述处理器501执行所述计算机程序503时实现上述各方法实施例中的步骤,例如图4所示的步骤S201-S205。或者,所述处理器501执行所述计算机程序503时实现上述各装置实施例中各模块/单元的功能,例如,图1所示作业管理器101和任务执行器102的功能。
示例性的,所述计算机程序503可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序503在所述电子设备500中的执行过程。例如,所述计算机程序503可以被分割成图2所示作业管理器101和任务执行器102。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器502可以是所述电子设备500的内部存储单元,例如电子设备500的硬盘或内存。所述存储器502也可以是所述电子设备500的外部存储设备,例如所述电子设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器502还可以既包括所述电子设备500的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于智能任务分配与执行的任务处理方法,其特征在于,包括:
获取外部任务数据;
解析所述外部任务数据,确定所述外部任务数据的任务类型和任务配置信息;
基于所述外部任务数据的任务类型,确定与所述任务类型对应的线程池;
基于所述外部任务数据的任务配置信息,在所述线程池中,确定与所述任务配置信息对应的线程;
通过所述线程对应的任务执行器,对所述外部任务数据进行处理。
2.根据权利要求1所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述通过所述线程对应的任务执行器,对所述外部任务数据进行处理,包括:
基于所述外部任务数据生成目标任务;
将所述目标任务发送至所述任务执行器的任务队列。
3.根据权利要求1所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述通过所述线程对应的任务执行器,对所述外部任务数据进行处理,还包括:
获取所述任务执行器中多个任务引擎的任务执行情况;
根据所述目标任务的任务类型,以及多个任务引擎的任务执行情况,确定目标任务引擎;
基于所述目标任务引擎,处理所述目标任务,输出任务执行结果。
4.根据权利要求1所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述任务处理方法还包括:
获取各任务执行器的资源占用情况和任务执行进度;所述资源占用情况包括内存使用率和CPU负载率;
基于各任务执行器的资源占用情况和任务执行进度,对各任务执行器的占用资源进行调整,得到各任务执行器的目标资源。
5.根据权利要求1所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述任务处理方法还包括:
监测各线程池对应的任务队列中各任务的等待时长;
基于所述各任务的等待时长,确定各任务队列是否发生堆积;
若发生堆积,则获取各线程池的任务数量和等待时长;
基于所述各线程池的任务数量和等待时长,确定空闲线程;所述空闲线程为任务数量小于第一阈值,且等待时长小于第二阈值的线程;
将发生堆积的任务队列中的任务转移至所述空闲线程处理。
6.根据权利要求1所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述基于所述各线程池的任务数量和等待时长,确定空闲线程之后,还包括:
若不存在空闲线程,则基于节点扩容机制,新增线程;
将发生堆积的任务队列中的任务转移至所述新增线程处理。
7.根据权利要求6所述的基于智能任务分配与执行的任务处理方法,其特征在于,所述基于节点扩容机制,新增线程,包括:
获取任务处理系统中各节点的资源占用情况;
基于所述各线程池的任务数量和等待时长,确定待转移任务的数量和待转移任务的资源消耗量;
基于所述各节点的资源占用情况,以及待转移任务的数量和待转移任务的资源消耗量,确定扩容节点;
基于扩容节点的资源占用情况,对待转移任务进行分配,确定各扩容节点的新增任务;
基于各扩容节点的新增任务的任务类型和任务配置信息,新增线程。
8.一种基于智能任务分配与执行的任务处理装置,其特征在于,包括:
作业管理器,用于获取外部任务数据,解析所述外部任务数据,确定所述外部任务数据的任务类型和任务配置信息;基于所述外部任务数据的任务类型,确定与所述任务类型对应的线程池;基于所述外部任务数据的任务配置信息,在所述线程池中,确定与所述任务配置信息对应的线程;
任务执行器,用于通过所述线程对应的任务执行器,对所述外部任务数据进行处理。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,该存储器存储有计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序执行如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410210114.2A CN117950839A (zh) | 2024-02-26 | 2024-02-26 | 一种基于智能任务分配与执行的任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410210114.2A CN117950839A (zh) | 2024-02-26 | 2024-02-26 | 一种基于智能任务分配与执行的任务处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950839A true CN117950839A (zh) | 2024-04-30 |
Family
ID=90797885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410210114.2A Pending CN117950839A (zh) | 2024-02-26 | 2024-02-26 | 一种基于智能任务分配与执行的任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950839A (zh) |
-
2024
- 2024-02-26 CN CN202410210114.2A patent/CN117950839A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3072260B1 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
CA2780013C (en) | Cloud computing monitoring and management system | |
US8484348B2 (en) | Method and apparatus for facilitating fulfillment of web-service requests on a communication network | |
WO2023142054A1 (zh) | 一种面向容器微服务的性能监控告警方法及告警系统 | |
WO2018072687A1 (zh) | 一种资源调度的方法、装置和过滤式调度器 | |
CN109995669B (zh) | 分布式限流方法、装置、设备及可读存储介质 | |
CN109857558A (zh) | 一种数据流处理方法及系统 | |
CN109271243B (zh) | 一种集群任务管理系统 | |
CN102081554A (zh) | 云计算操作系统及其内核控制系统及方法 | |
CN111913784B (zh) | 任务调度方法及装置、网元、存储介质 | |
CN113596150B (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN106790706A (zh) | 一种数据资源优化的方法、平台及系统 | |
CN112698929B (zh) | 一种信息采集方法及装置 | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
Simoncelli et al. | Stream-monitoring with blockmon: convergence of network measurements and data analytics platforms | |
US12035156B2 (en) | Communication method and apparatus for plurality of administrative domains | |
CN111258760A (zh) | 一种平台管理方法、系统、装置及存储介质 | |
CN112307046A (zh) | 数据采集方法和装置、计算机可读存储介质、电子设备 | |
CN112039985A (zh) | 一种异构云管理方法及系统 | |
CN117950839A (zh) | 一种基于智能任务分配与执行的任务处理方法及装置 | |
CN111625414A (zh) | 一种数据转换整合软件的自动调度监控系统实现方法 | |
CN116719623A (zh) | 作业调度方法、作业结果处理方法及其装置 | |
CN113190347A (zh) | 一种边缘云系统及任务管理方法 | |
Liu et al. | Distributed ale in rfid middleware | |
WO2024020743A1 (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 |