CN114968505A - 任务处理系统、方法、装置、设备、存储介质及程序产品 - Google Patents
任务处理系统、方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114968505A CN114968505A CN202110220289.8A CN202110220289A CN114968505A CN 114968505 A CN114968505 A CN 114968505A CN 202110220289 A CN202110220289 A CN 202110220289A CN 114968505 A CN114968505 A CN 114968505A
- Authority
- CN
- China
- Prior art keywords
- task
- component
- model
- target
- execution
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
Abstract
本申请提供了一种任务处理系统,包括:任务分发组件、以及多个任务执行组件;每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型;任务分发组件用于响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并依据目标任务类型及目标任务模型,查找相应的目标任务执行组件;在查找到相应的目标任务执行组件时,发送任务请求至目标任务执行组件;任务执行组件用于接收任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件;任务分发组件还用于接收并输出任务处理结果;通过本申请,能够满足模型计算需要较大计算资源的需求,提高资源的利用率,降低硬件设备成本。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种任务处理系统、方法、装置、电子设备、存储介质及计算机程序产品。
背景技术
随着人工智能的快速发展,越来越多的业务使用人工智能服务辅助工作以工作提升效率。在机器学习模型的计算资源调度方面,相关技术中,方案一是通过云计算技术动态申请新的虚拟机来实现每个机器学习模型的计算,即在使用时申请虚拟机资源,不用时释放虚拟机资源,但是该方案仅适合服务简单、能快速启动、计算资源消耗小的服务,而机器学习模型的计算往往需要较大的计算资源。方案二是将每个机器学习模型的计算服务容器化,即通过一台CPU机器启动一种机器学习模型的计算服务,如此则增加了硬件设备的成本。
发明内容
本申请实施例提供一种任务处理系统、方法、装置、电子设备、存储介质及计算机程序产品,能够满足模型计算需要较大计算资源的需求,提高资源的利用率,降低硬件设备成本。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种任务处理系统,包括:任务分发组件、以及多个任务执行组件;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;
所述任务分发组件,用于响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
以及,在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件;
所述任务执行组件,用于接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
所述任务分发组件,还用于接收并输出所述任务处理结果。
本申请实施例还提供一种任务处理方法,应用于包括多个任务执行组件的任务处理系统;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;所述方法包括:
响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件,以使
所述目标任务执行组件接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
接收并输出所述任务处理结果。
本申请实施例还提供一种任务处理装置,应用于包括多个任务执行组件的任务处理系统;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;所述装置包括:
获取模块,用于响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
查找模块,用于依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
发送模块,用于在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件,以使所述目标任务执行组件接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
输出模块,用于接收并输出所述任务处理结果。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的任务处理方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的任务处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的任务处理方法。
本申请实施例具有以下有益效果:
与相关技术中通过申请新的虚拟机来实现每个机器学习模型的计算、或者将每个机器学习模型的计算服务容器化相比,本申请实施例中提供一种包括任务分发组件、以及多个任务执行组件的任务处理系统,任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并获取目标任务模型所归属的目标任务类型,从而根据目标任务模型及目标任务类型从多个任务执行组件中查找到目标任务执行组件,以通过目标任务组件调用相应的目标任务模型执行任务处理,得到任务处理结果。
这里,当需要执行目标任务模型的任务处理时,可以从多个任务执行组件中选择相匹配目标任务执行组件来执行,由于每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型,如此满足了机器学习模型需要较大计算资源的需求,提高了资源的利用率,降低硬件设备成本。
附图说明
图1是本申请实施例提供的任务处理系统100的架构示意图;
图2是本申请实施例提供的任务处理方法的电子设备500的结构示意图;
图3是本申请实施例提供的任务处理系统中各组件之间的交互流程示意图;
图4是本申请实施例提供的任务处理系统的结构示意图;
图5是本申请实施例提供的任务分发组件的处理流程示意图一;
图6是本申请实施例提供的任务分发组件的处理流程示意图二;
图7是本申请实施例提供的任务执行组件的处理流程示意图一;
图8是本申请实施例提供的任务执行组件的处理流程示意图二;
图9是本申请实施例提供的任务协调组件的处理流程示意图一;
图10是本申请实施例提供的任务协调组件的处理流程示意图二;
图11是本申请实施例提供的任务处理方法的流程示意图;
图12是本申请实施例提供的任务处理装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的任务处理系统。参见图1,图1是本申请实施例提供的任务处理系统100的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。其中,任务分发组件、以及多个任务执行组件可以部署于该服务器200上。
终端(如终端400-1),用于响应于用户触发的针对目标任务模型的任务处理指令,发送针对目标任务模型的任务请求至服务器200;
服务器200,用于通过任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并依据目标任务类型及目标任务模型,从多个任务执行组件中查找相应的目标任务执行组件;在查找到相应的目标任务执行组件时,发送任务请求至目标任务执行组件。
服务器200,用于通过任务执行组件接收任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件;
服务器200,用于通过任务分发组件接收并输出任务处理结果。
在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端400-1)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端(如终端400-1)以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参见图2,图2是本申请实施例提供的任务处理方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的服务器为例,对实施本申请实施例的任务处理方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的任务处理装置可以采用软件方式实现,图2示出了存储在存储器550中的任务处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、查找模块5552、发送模块5553和输出模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的任务处理装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的任务处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的任务处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
接下来对本申请实施例提供的任务处理系统进行详细说明。本申请实施例提供的任务处理系统包括:任务分发组件、以及多个任务执行组件;其中,每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型。参见图3,图3是本申请实施例提供的任务处理系统中各组件之间的交互流程示意图,包括:
步骤101:任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型。
这里,每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型。该任务类型为任务执行组件所能实现的AI能力,比如语音识别能力、人脸检测识别能力、证件识别能力等,具体可以通过加载相应的任务模型(比如用于语音识别的卷积神经网络模型、用于语音识别的深度学习神经网络模型、用于人脸检测识别的残差神经网络模型等)实现。且在本申请实施例中,每种任务类型对应至少两个任务模型,多个任务执行组件可以对应相同的任务类型且拥有不同的任务模型。
在实际应用中,当用户想要执行目标任务模型的运行操作时,可以触发针对目标任务模型的任务请求。任务分发组件在启动后,实时监测是否接收到用户触发的针对目标任务模型的任务请求。当任务分发组件监测到针对目标任务模型的任务请求时,响应于该任务请求,获取该目标任务模型所归属的目标任务类型,即该目标任务模型在运行时所实现的AI能力,比如当目标任务模型为用于语音识别的卷积神经网络模型时,所归属的目标任务类型为语音识别类型,即目标任务模型能够实现语音识别能力。
在实际实施时,该针对目标任务模型的任务请求中可以携带目标任务模型的模型ID,还可以携带目标任务模型所归属的目标任务类型的类型ID。该任务请求所对应的任务可以是对任务模型的训练计算任务,也可以是通过训练完成的任务模型进行相应的模型预测,即该任务模型可以是构建的初始模型,也可以是训练完成的、用于预测应用的最终模型。
步骤102:依据目标任务类型及目标任务模型,从多个任务执行组件中查找相应的目标任务执行组件。
这里,任务分发组件在确定目标任务模型所归属的目标任务类型后,需要以及该目标任务类型以及目标任务模型,从任务处理系统中包含的多个任务执行组件中查找到用于处理该目标任务模型的目标任务执行组件。
在实际实施时,任务分发组件本地缓存了部分任务执行组件的执行组件信息,该执行组件信息包括任务执行组件所对应的任务类型、以及该任务类型所对应的任务模型,具体地该执行组件信息中可以记载任务执行组件所对应的任务类型的类型ID、以及相应任务类型对应的任务模型的模型ID。基于此,任务分发组件可以依据目标任务类型及目标任务模型,从本地存储的执行组件信息中查找相匹配的任务执行组件,将查找到的任务执行组件确定为目标任务执行组件。
在实际应用中,任务分发组件本地存储的执行组件信息可能不包含与目标任务类型及目标任务模型相匹配的任务执行组件,如此,在一些实施例中,本申请实施例提供的任务处理系统还包括任务协调组件;基于此,任务分发组件依据目标任务类型及目标任务模型,从本地存储的执行组件信息中查找相匹配的任务执行组件,并在本地存储的执行组件信息中未查找相匹配的任务执行组件时,发送组件查询请求至任务协调组件;任务协调组件依据组件查询请求,从多个任务执行组件中确定相应的目标任务执行组件。
这里,当任务分发组件在本地存储的执行组件信息中未查找与目标任务类型及目标任务模型相匹配的任务执行组件时,可以发送组件查询请求至任务协调组件,以通过任务协调组件基于组件查询请求从多个任务执行组件中确定相应的目标任务执行组件。具体的,组件查询请求中包含目标任务类型的类型ID、及目标任务模型的模型ID,当任务协调组件接收到任务分发组件发送的组件查询请求时,对该组件查询请求进行解析,得到组件查询请求包含的目标任务类型的类型ID、及目标任务模型的模型ID,从而基于目标任务类型的类型ID、及目标任务模型的模型ID,从多个任务组件信息中确定相应的目标任务执行组件。
在一些实施例中,任务协调组件中也可以存储有部分任务执行组件的执行组件信息,该任务协调组件中存储的执行组件信息可以比任务分发组件中存储的执行组件信息更为多,即存储有任务分发组件中未存储的任务执行组件的执行组件信息。基于此,任务协调组件在接收到组件查询请求时,可以先从本地中存储的执行组件信息中查找相匹配的任务执行组件,将查找到的任务执行组件确定为目标任务执行组件。
在一些实施例中,任务协调组件本地存储的执行组件信息可能不包含与目标任务类型及目标任务模型相匹配的任务执行组件,如此,当在本地存储的执行组件信息中未查找相匹配的任务执行组件时,还可以通过如下方式从多个任务组件信息中确定相应的目标任务执行组件:任务协调组件可通过如下任务协调组件获取多个任务执行组件的运行状态,根据运行状态及组件查询请求,选取相匹配的任务执行组件,并发送针对目标任务模型的模型加载指令至选取的任务执行组件;以及,在接收到模型加载成功的响应信息时,将选取的任务执行组件作为目标任务执行组件。
这里,任务协调组件可以获取多个任务执行组件的运行状态,比如任务执行组件的负载情况、已执行任务的任务数量等。从而根据多个任务执行组件的运行状态以及组件查询请求,选择相匹配的任务执行组件,比如可以基于查询请求中包含的目标任务类型的类型ID、及目标任务模型的模型ID,从多个任务执行组件中优先选择出与目标任务类型和目标任务模型相匹配的多个第一候选任务执行组件,然后根据各候选任务执行组件的运行状态,从多个第一候选任务执行组件中选择第二候选任务执行组件,比如可以选择负载较小、或者处于空闲状态的第一候选任务执行组件作为第二候选任务执行组件。
同时,任务协调组件将针对目标任务模型的模型加载指令发送至所选取的第二候选任务执行组件。第二候选任务执行组件接接收到任务协调组件发送的模型加载指令后,响应于模型加载指令,加载相应的目标任务模型。具体的,该模型加载指令可以携带目标任务模型的模型ID,还可以携带目标任务类型的类型ID,以便于任务执行组件加载目标任务模型。第二候选任务执行组件在加载成功目标任务模型时,可以发送模型加载成功的响应信息至任务协调组件。任务协调组件在接收到模型加载成功的响应信息时,将选取的第二候选任务执行组件作为目标任务执行组件。
在一些实施例中,任务协调组件还可同步选取的任务执行组件的执行组件信息至任务分发组件;任务分发组件更新自身存储的执行组件信息,以基于存储的执行组件信息,从多个任务执行组件中确定相应的目标任务执行组件。
这里,当任务协调组件基于上述实施例确定选取的目标任务执行组件后,将选取的目标任务执行组件的执行组件信息发送至各任务分发组件,以使各任务执行组件存储该目标任务执行组件的执行组件信息,以更新自身存储的执行组件信息。从而当任务执行组件接收到用户触发的针对目标任务的任务请求时,可以直接基于存储的执行组件信息,从多个任务执行组件中确定相应的目标任务执行组件,无需再次请求任务协调组件来查询,加快任务处理速度。
在一些实施例中,如果多个任务执行组件中存在至少两个相匹配的任务执行组件时,任务分发组件可通过如下方式确定目标任务执行组件:任务分发组件依据任务类型及任务模型,确定多个任务执行组件中存在至少两个相匹配的任务执行组件时,根据负载均衡策略,从至少两个相匹配的任务执行组件中选取一个作为目标任务执行组件。
这里,在实际应用中,若任务分发组件依据任务类型及任务模型,确定存在至少两个相匹配的任务执行组件时,则获取各任务执行组件的运行负荷,从而基于各任务执行组件的运行负荷,结合负载均衡策略,从至少两个相匹配的任务执行组件中选取一个作为目标任务执行组件。
步骤103:在查找到相应的目标任务执行组件时,发送任务请求至目标任务执行组件。
这里,任务分发组件在查找到目标任务执行组件时,向该目标任务执行组件发送任务请求,以请求相应的目标任务执行组件执行调用相应的任务模型进行处理。在实际实施时,该针对目标任务模型的任务请求中可以携带目标任务模型的模型ID,还可以携带目标任务模型所归属的目标任务类型的类型ID。
步骤104:任务执行组件接收任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件。
这里,任务执行组件接收到任务分发组件发送的任务请求后,基于任务请求中包含的目标任务模型的模型ID,调用相应的任务模型进行任务处理,得到任务处理结果,并将任务处理结果发送至任务分发组件。
步骤105:任务分发组件接收并输出任务处理结果。
这里,任务分发组件接收到目标执行组件发送的任务处理结果后,输出任务处理结果。
在一些实施例中,该任务处理系统中还可以包括展示组件,展示组件可以获取并展示至少一个任务执行组件的运行状态。
在实际应用中,用户需要在任务处理过程中,对任务执行组件的任务处理的情况、运行状态等进行了解,因此可以通过展示组件,在任务执行组件的任务处理过程中,获取各任务执行组件的运行状态并展示。
在一些实施例中,任务执行组件还检测自身加载的任务模型的运行负荷,当检测到运行负荷达到负荷阈值的任务模型时,发送资源协调请求至任务协调组件;任务协调组件依据资源协调请求,从多个任务执行组件中选取任务执行组件,并发送模型加载指令至选取的任务执行组件;其中,该资源协调请求,用于请求增加运行负荷达到负荷阈值的任务模型的计算资源;该模型加载指令,用于指示加载运行负荷达到负荷阈值的任务模型。
在实际应用中,任务执行组件在进行任务处理的过程中,还可检测自身加载的任务模型的运行负荷,判断检测到的任务模型的运行负荷是否达到负荷阈值,比如运行负载高、对于用户的任务请求的应答时间高延迟、用户任务请求堆积等,均表征运行负荷达到负荷阈值。当检测到运行负荷达到负荷阈值的任务模型时,发送资源协调请求至任务协调组件,以请求增加运行负荷达到负荷阈值的任务模型的计算资源,即增加运行负荷达到负荷阈值的任务模型的任务执行组件的数量。当任务协调组件接收到资源协调请求后,依据该资源协调请求,从多个任务执行组件中选取任务执行组件,比如选取负载较低或者空闲的任务执行组件,并向选取的任务执行组件发送模型加载指令,以指示选取的任务执行组件加载运行负荷达到负荷阈值的任务模型,从而增加运行负荷达到负荷阈值的任务模型的计算资源。
在一些实施例中,任务执行组件发送自身加载的任务模型的运行负荷至任务协调组件;任务协调组件确定任务模型的运行负荷在目标时间段内低于负荷阈值时,返回模型销毁指令至任务执行组件,以使任务执行组件进行任务模型的销毁处理。
在实际应用中,任务执行组件还可以将自身加载的任务模型的运行负荷(比如可用的任务类型、可用的模型、机器计算资源等信息)发送至任务协调组件,以供任务协调组件决策使用。具体的,当任务协调组件接收到任务执行组件发送的自身加载的任务模型的运行负荷后,对该任务模型的运行负荷在目标时间段是否低于负荷阈值进行判断。当确定任务模型的运行负荷在目标时间段内低于负荷阈值时,则返回模型销毁指令至任务执行组件,以使任务执行组件进行任务模型的销毁处理。当任务执行组件接收到模型销毁指令后,将所加载的任务模型进行销毁,以释放计算资源。
在一些实施例中,任务协调组件在确定任务模型的运行负荷在目标时间段内低于负荷阈值时,获取多个任务执行组件中存活的目标模型实例的数量;当确定目标模型实例的数量超过数量阈值时,返回模型销毁指令至任务执行组件。其中,目标模型实例为,运行负荷在目标时间段内低于负荷阈值的任务模型所对应的模型实例。
这里,在实际应用中,任务执行组件还可以将自身加载的任务模型的运行负荷(比如可用的任务类型、可用的模型、机器计算资源等信息)发送至任务协调组件,以供任务协调组件决策使用。具体的,当任务协调组件接收到任务执行组件发送的自身加载的任务模型的运行负荷后,对该任务模型的运行负荷在目标时间段是否低于负荷阈值进行判断。当确定任务模型的运行负荷在目标时间段内低于负荷阈值时,获取多个任务执行组件中存活的目标模型实例的数量,当确定目标模型实例的数量超过数量阈值时,则认为目标模型实例的数量过于多,所占用的计算资源多,此时则返回模型销毁指令至任务执行组件。当任务执行组件接收到模型销毁指令后,将所运行的目标模型实例进行销毁,以释放计算资源。
在一些实施例中,任务分发组件在未查找到相应的目标任务执行组件时,输出错误信息,该错误信息用于指示任务请求错误;以及,发送资源协调请求,以请求增加目标任务模型的计算资源。
这里,当任务分发组件未查找到用于处理目标任务模型的目标任务执行组件时,即任务分发组件在本地存储的执行组件信息中未查找到相应的目标任务执行组件、且任务协调组件依据任务分发组件的组件查询请求未查找到相应的目标任务执行组件时,则表征当前的任务处理系统中不存在能够处理目标任务模型的任务执行组件,此时任务分发组件输出错误信息,以指示任务请求错误,同时在该错误信息中还可包含错误原因;同时,任务分发组件还可以发送资源协调请求,以请求增加目标任务模型的计算资源。
应用本申请上述实施例,与相关技术中通过申请新的虚拟机来实现每个机器学习模型的计算、或者将每个机器学习模型的计算服务容器化相比,本申请实施例中提供一种包括任务分发组件、以及多个任务执行组件的任务处理系统,任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并获取目标任务模型所归属的目标任务类型,从而根据目标任务模型及目标任务类型从多个任务执行组件中查找到目标任务执行组件,以通过目标任务组件调用相应的目标任务模型执行任务处理,得到任务处理结果。这里,当需要执行目标任务模型的任务处理时,可以从多个任务执行组件中选择相匹配目标任务执行组件来执行,由于每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型,如此满足了机器学习模型需要较大资源的需求,提高了资源的利用率,降低硬件设备成本。
下面继续说明本申请实施例提供的任务处理系统。参见图4,图4是本申请实施例提供的任务处理系统的结构示意图。这里,构建一个AI能力的任务处理系统,该任务处理系统由任务分发组件、任务协调组件(包括一个主任务协调组件和多个从任务协调组件)、多个任务执行组件、分布式任务处理系统配置中心、以及任务处理系统控制台组成的集群。通过集群的方式来管理硬件服务器上运行的任务模型,提升系统可用性和硬件资源的利用率。其中,
任务分发组件:用于将用户的请求分发到正确的AI能力执行组件上,并返回最终的结果给用户,并检测任务量情况,及时通知主协调组件增删对应用户的计算资源。
任务执行组件:是运行AI能力的程序,包括语音识别、人脸检测识别、证件识别等,用于通过从协调组件将自身的能力、模型、运行状态等信息上报给主协调组件,供主协调组件用于决策计算资源分配。
任务协调组件:用于集群的信息搜集以及控制指令的执行,分为主协调组建和从协调组件,主协调组件由管理员指定或者从协调组件竞选产生。
分布式任务处理系统配置中心:用于主协调组件存储集群的配置信息、关键元信息等数据。
任务处理系统控制台:为管理员控制集群的地方,可进行命令下发、运行状态展示等。
参见图5,图5是本申请实施例提供的任务分发组件的处理流程示意图一。这里,任务分发组件用于将用户请求分发到任务执行组件上,步骤包括:
步骤201:启动任务分发组件。
步骤202:等待用户触发任务请求。
步骤203:判断是否接收到用户触发的针对目标任务模型的任务请求,若是,执行步骤204,若否,返回步骤202。
步骤204:基于任务请求,确定目标任务模型归属的目标任务类型,并依据目标任务类型及目标任务模型,本地查找相匹配的目标任务执行组件的服务地址。
步骤205:判断本地是否查找到相匹配的目标任务执行组件,若否,执行步骤206,若是,执行步骤212。
判断本地缓存中是否存在相应的AI执行组件的服务地址,若否,执行步骤206,若是,执行步骤。
步骤206:发送组件查询请求至任务协调组件,任务协调组件根据查询请求从本地查找相匹配的目标任务执行组件的服务地址;
步骤207:任务协调组件判断本地是否查找到相匹配的目标任务执行组件,若否,执行步骤208,若是,执行步骤212。
步骤208:任务协调组件根据多个任务执行组件的运行状态,选取合适的目标任务执行组件,并发送针对目标任务模型的模型加载指令至选取的目标任务执行组件。
步骤209:任务协调组件判断目标任务执行组件的目标任务模型是否加载成功,若否,执行步骤210,若是,执行步骤211。
步骤210:任务协调组件输出告警信息,并返回错误信息至任务分发组件,以指示任务请求错误,并返回步骤202。
步骤211:任务协调组件返回查找到的目标任务执行组件的服务地址,并发送更新目标任务模型的任务执行组件的服务地址的通知至其他任务执行组件。
步骤212:任务分发组件获取到目标任务执行组件的服务地址,并将任务请求发送至目标任务执行组件,以请求服务。
步骤213:目标任务执行组件接收任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件,同时返回步骤202。
继续参见图6,图6是本申请实施例提供的任务分发组件的处理流程示意图二。步骤包括:
步骤301:启动任务分发组件。
步骤302:定时检测当前任务分发组件的服务客户任务量和时延;
步骤303:判断是否存在高负载任务分发组件或者高延迟用户请求,若是,执行步骤304,若否,执行步骤302。
步骤304:任务分发组件请求任务协调组件追加该任务模型的计算资源。
接下来结合图5和图6对任务分发组件的处理流程进行详细说明,包括:
步骤(1.1)任务分发组件等待用户的任务请求,如有用户的任务请求,转步骤(1.2);统计当前任务模型的调用情况,如果当前某个用户的请求量较多,响应时延较长,转步骤(1.6);
步骤(1.2)接收到用户请求,根据用户请求的AI能力id、模型id,查找本地缓存的对应的AI执行组件地址,如果找到,转步骤(1.4),否则步骤(1.3);
步骤(1.3)添加当前尚未同步到任务分发组件的AI执行组件地址;
步骤(1.3.1)任务分发组件通过主协调组件查询AI能力id和模型id对应的AI执行组件的地址,如果主协调组件找到对应的执行组件地址,回复当前查询的任务分发组件,并通知其余的任务分发组件该AI能力和模型id的地址,然后转步骤(1.4),否则转步骤(1.3.2);
步骤(1.3.2)主协调组件根据用户请求的AI能力和模型id,根据当前集群运行状态查找合适的AI执行组件加载该模型,如果成功,回复当前查询的任务分发组件,并通知其余的任务分发组件更新该AI能力和模型id的地址,转步骤(1.4),否则转步骤(1.3.3);
步骤(1.3.3)如果加载模型出错,返回错误信息到任务分发组件用于告知用户具体原因,并将该错误日志添加到控制台系统告警,转步骤(1.5);
步骤(1.4)任务分发组件将当前任务经过负载均衡后发送到AI执行组件,收到结果后将任务返回用户,转步骤(1.1);
步骤(1.5)如果无法查找到服务,将错误信息回复给用户,请用户检查是否请求错误,转步骤(1.1);
步骤(1.6)任务分发组件请求主协调组件追加对应的AI能力和模型计算资源,完成后转步骤(1.1)。
参见图7,图7是本申请实施例提供的任务执行组件的处理流程示意图一。这里,AI执行组件是具体的AI能力运行程序,如语音识别功能、人脸识别对比功能等,可以加载AI模型提供AI能力,步骤包括:
步骤401:启动任务执行组件。
步骤402:等待用户触发任务请求。
步骤403:判断是否接收到请求,若是,执行步骤404,若否,返回步骤402。
步骤404:判断是否接收到的请求是否为用户触发的针对目标任务模型的任务请求,若是,执行步骤405,若否,执行步骤406。
步骤405:基于任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件,同时返回步骤402。
步骤406:响应于任务协调组件的控制指令,返回结果至任务协调组件,同时返回步骤402。
继续参见图8,图8是本申请实施例提供的任务执行组件的处理流程示意图二。步骤包括:
步骤501:启动任务执行组件。
步骤502:定期检查运行状态信息。
步骤503:判断是否存在高负载高延迟的任务模型,若是,执行步骤504,若否,执行步骤505。
步骤505:任务执行组件请求任务协调组件追加该任务模型的计算资源。
步骤506:上报运行状态信息至任务协调组件,同时返回步骤502。
接下来结合图7和图8对任务分发组件的处理流程进行详细说明,包括:
步骤(2.1)任务执行组件等待请求;定期上报当前任务执行组件的可用AI能力、模型、机器计算资源等信息到主任务协调组件,供主任务协调组件决策使用;如果检测到高负载、高延迟用户任务堆积,转步骤(2.5);
步骤(2.2)接收到请求,如果该请求是任务分发组件的针对任务模型的任务请求,转步骤(2.3);如果是主任务协调组件的指令请求,如模型加载、模型销毁等请求转步骤(2.4);
步骤(2.3)根据任务分发组件发送的任务请求中携带的模型id等字段,调用相应的任务模型进行服务;完成后转步骤(2.1);
步骤(2.4)根据主任务协调组件命令,根据模型id,加载或者销毁模型id在当前任务执行组件的服务;转步骤(2.1);
步骤(2.5)当任务执行组件高负荷时,可以请求主任务协调组件追加高负荷任务模型的计算资源,然后转步骤(2.1)。
参见图9,图9是本申请实施例提供的任务协调组件的处理流程示意图一。这里,任务协调组件在集群中担任控制者角色,有一个主协调组件以及多个从协调组件。主协调组件通过管理员指定,在运行中如果主协调组件异常退出,从协调组件发起竞选,得票多者担任主协调组件,之后管理员也可重新指定。步骤包括:
步骤601:启动任务协调组件。
步骤602:等待请求。
步骤603:判断请求是否为模型追加请求,若否,执行步骤604,若是,执行步骤608。
步骤604:判断请求是否为运行状态信息,若是,执行步骤605,若否,执行步骤606。
步骤605:保存任务执行组件上传的运行状态信息至任务处理系统的配置中心,并返回步骤602。
步骤606:判断请求是否为控制台下发的控制指令,若是,执行步骤607,若否,返回步骤602。
步骤607:执行控制台下发的控制指令。
步骤608:判断是否存在相同的模型追加请求,若是,返回步骤602,若否,执行步骤609。
步骤609:根据多个任务执行组件上报的运行状态信息,确定可用的任务执行组件。
步骤610:判断是否存在可用的任务执行组件,若否,执行步骤611,若是,执行步骤612。
步骤611:输出告警信息,并返回步骤602。
步骤612:发送模型加载指令至可用的任务执行组件。
步骤613:判断模型加载指令是否下发成功,若是,执行步骤614,若否,返回步骤609。
步骤614:更新该任务模型的任务执行组件的服务地址信息,并通知相关任务分发组件,返回步骤602。
继续参见图10,图10是本申请实施例提供的任务协调组件的处理流程示意图二。步骤包括:
步骤701:启动任务协调组件。
步骤702:定时检测处于低负荷的任务模型。
步骤703:判断是否存在低负荷的任务模型,若是,执行步骤704,若否,返回步骤702。
步骤704:获取该低负荷的任务模型在系统中的配置数量。
步骤705:查看该低负荷的任务模型在系统中的配置数量是否超过配置数量阈值,若是,执行步骤706,若是,返回步骤702。
步骤706:任务协调组件将该低负荷的任务模型所在任务执行组件从该任务模型的服务地址中删除,并通知任务分发组件更新该任务模型的模型服务地址。
步骤707:向该低负荷的任务模型的任务执行组件下发模型销毁指令,以使任务执行组件销毁该任务模型。
步骤708:判断任务执行组件的任务模型是否销毁成功,若否,执行步骤709,若是,返回步骤702。
步骤709:将该任务执行组件加入故障列表,并输出告警信息,返回步骤702。
接下来结合图9和图10对任务分发组件的处理流程进行详细说明,包括:
步骤(3.1)主任务协调组件等待请求;如果收到模型追加请求,转步骤(3.2);如果收到定期上报执行组件信息的请求,转步骤(3.3);如果收到控制台的控制命令,转步骤(3.4);定期运行评估程序,如果某任务模型长期低负荷运行,转步骤(3.5);
步骤(3.2)收到模型追加请求到任务执行组件时,如果已经有相同模型追加请求在执行中,则忽略当前模型追加请求转步骤(3.1);否则转步骤(3.2.1)
步骤(3.2.1)根据最近所有任务执行组件上报的运行情况,排除故障任务执行组件后,根据任务执行组件最近上报运行状态信息,确定当前资源占用最小的任务执行组件,如果无可用任务执行组件,发出告警,忽略当前请求转步骤(3.1);如有可用任务执行组件,下发模型加载指令到任务执行组件;如果成功,转步骤(3.2.3),否则转步骤(3.2.2);
步骤(3.2.2)如果下发给某个任务执行组件加载对应模型指令不成功,将该任务执行组件添加到故障列表中,发出告警信息,重新执行步骤(3.2.1);
步骤(3.2.3)下发模型加载指令到任务执行组件成功后,更新该AI能力和任务模型的服务地址,通知所有订阅该AI能力和任务模型的任务分发组件,更新服务地址;转步骤(3.1);
步骤(3.3)收到任务执行组件上传的运行状态信息后,更新保存到在配置中心,供后续主协调组件决策使用;转步骤(3.1);
步骤(3.4)收到控制台命令,转相应的命令处理流程来处理,包括但不限于添加新的模型id、请求当前运行状态、屏蔽某任务分发组件、执行组件等;转步骤(3.1);
步骤(3.5)后台程序检测到某执行组件中的某模型长期低负荷运行,如果当前该模型多活个数超过管理员配置的多活个数,则转步骤(3.5.1),否则转步骤(3.1)
步骤(3.5.1)主任务协调组件去掉该模型的服务地址,并通知所有任务分发组件更新地址信息,等所有任务分发组件更新完毕后,主任务协调组件通知该任务执行组件下线该模型,成功后转步骤(3.1);如果不成功,发出告警信息,将该任务执行组件添加到故障列表,转步骤(3.1)。
应用本申请上述实施例,根据AI具备多模型的特点,提供在集群中实时调整AI模型分布方法,最大化满足客户对实时、准确度、容错性要求,同时提升硬件利用效率。
接下来对本申请实施例提供的任务处理方法进行详细说明。本申请实施例提供的任务处理方法应用于包括任务分发组件、以及多个任务执行组件的任务处理系统;其中,每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型。参加图11,图11是本申请实施例提供的任务处理方法的流程示意图,本申请实施例提供的任务处理方法包括:
步骤801:任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并依据目标任务类型及目标任务模型,从多个任务执行组件中查找相应的目标任务执行组件。
这里,每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型。该任务类型为任务执行组件所能实现的AI能力,比如语音识别能力、人脸检测识别能力、证件识别能力等,具体可以通过加载相应的任务模型(比如用于语音识别的卷积神经网络模型、用于语音识别的深度学习神经网络模型、用于人脸检测识别的残差神经网络模型等)实现。且在本申请实施例中,每种任务类型对应至少两个任务模型,多个任务执行组件可以对应相同的任务类型且拥有不同的任务模型。
在实际应用中,当用户想要执行目标任务模型的运行操作时,可以触发针对目标任务模型的任务请求。任务分发组件在启动后,实时监测是否接收到用户触发的针对目标任务模型的任务请求。当任务分发组件监测到针对目标任务模型的任务请求时,响应于该任务请求,获取该目标任务模型所归属的目标任务类型,即该目标任务模型在运行时所实现的AI能力,比如当目标任务模型为用于语音识别的卷积神经网络模型时,所归属的目标任务类型为语音识别类型,即目标任务模型能够实现语音识别能力。
在实际实施时,该针对目标任务模型的任务请求中可以携带目标任务模型的模型ID,还可以携带目标任务模型所归属的目标任务类型的类型ID。
任务分发组件在确定目标任务模型所归属的目标任务类型后,需要以及该目标任务类型以及目标任务模型,从任务处理系统中包含的多个任务执行组件中查找到用于处理该目标任务模型的目标任务执行组件。
步骤802:在查找到相应的目标任务执行组件时,发送任务请求至目标任务执行组件,以使目标任务执行组件接收任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至任务分发组件。
这里,任务分发组件在查找到目标任务执行组件时,向该目标任务执行组件发送任务请求,以请求相应的目标任务执行组件执行调用相应的任务模型进行处理。在实际实施时,该针对目标任务模型的任务请求中可以携带目标任务模型的模型ID,还可以携带目标任务模型所归属的目标任务类型的类型ID。
任务执行组件接收到任务分发组件发送的任务请求后,基于任务请求中包含的目标任务模型的模型ID,调用相应的任务模型进行任务处理,得到任务处理结果,并将任务处理结果发送至任务分发组件。
步骤803:接收并输出任务处理结果。
这里,任务分发组件接收到目标执行组件发送的任务处理结果后,输出任务处理结果。
应用本申请上述实施例,与相关技术中通过申请新的虚拟机来实现每个机器学习模型的计算、或者将每个机器学习模型的计算服务容器化相比,本申请实施例中提供一种包括任务分发组件、以及多个任务执行组件的任务处理系统,任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并获取目标任务模型所归属的目标任务类型,从而根据目标任务模型及目标任务类型从多个任务执行组件中查找到目标任务执行组件,以通过目标任务组件调用相应的目标任务模型执行任务处理,得到任务处理结果。这里,当需要执行目标任务模型的任务处理时,可以从多个任务执行组件中选择相匹配目标任务执行组件来执行,由于每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型,如此满足了机器学习模型需要较大资源的需求,提高了资源的利用率,降低硬件设备成本。
下面继续说明本申请实施例提供的任务处理装置555,在一些实施例中,任务处理装置可采用软件模块的方式实现。参见图12,图12是本申请实施例提供的任务处理装置555的结构示意图,本申请实施例提供的任务处理装置555包括:
获取模块5551,用于响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
查找模块5552,用于依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
发送模块5553,用于在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件,以使所述目标任务执行组件接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
输出模块5554,用于接收并输出所述任务处理结果。
应用本申请上述实施例,与相关技术中通过申请新的虚拟机来实现每个机器学习模型的计算、或者将每个机器学习模型的计算服务容器化相比,本申请实施例中提供一种包括任务分发组件、以及多个任务执行组件的任务处理系统,任务分发组件响应于针对目标任务模型的任务请求,获取目标任务模型归属的目标任务类型,并获取目标任务模型所归属的目标任务类型,从而根据目标任务模型及目标任务类型从多个任务执行组件中查找到目标任务执行组件,以通过目标任务组件调用相应的目标任务模型执行任务处理,得到任务处理结果。这里,当需要执行目标任务模型的任务处理时,可以从多个任务执行组件中选择相匹配目标任务执行组件来执行,由于每个任务执行组件对应一种任务类型,每种任务类型对应至少两个任务模型,如此满足了机器学习模型需要较大资源的需求,提高了资源的利用率,降低硬件设备成本。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的任务处理方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的任务处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的任务处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种任务处理系统,其特征在于,所述系统包括:任务分发组件、以及多个任务执行组件;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;
所述任务分发组件,用于响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
以及,在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件;
所述目标任务执行组件,用于接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
所述任务分发组件,还用于接收并输出所述任务处理结果。
2.如权利要求1所述的系统,其特征在于,
所述任务分发组件,还用于依据所述目标任务类型及所述目标任务模型,确定多个所述任务执行组件中存在至少两个相匹配的任务执行组件时,
从所述至少两个相匹配的任务执行组件中选取一个作为所述目标任务执行组件。
3.如权利要求1所述的系统,其特征在于,所述系统还包括任务协调组件;
所述任务分发组件,还用于依据所述目标任务类型及所述目标任务模型,从本地存储的执行组件信息中查找相匹配的任务执行组件,并
在本地存储的执行组件信息中未查找相匹配的任务执行组件时,发送组件查询请求至所述任务协调组件;
所述任务协调组件,用于依据所述组件查询请求,从多个所述任务执行组件中确定相应的目标任务执行组件。
4.如权利要求3所述的系统,其特征在于,
所述任务协调组件,还用于获取多个所述任务执行组件的运行状态,根据所述运行状态及所述组件查询请求,选取相匹配的任务执行组件,并
发送针对所述目标任务模型的模型加载指令至选取的任务执行组件;
以及,在接收到模型加载成功的响应信息时,将选取的任务执行组件作为所述目标任务执行组件。
5.如权利要求1所述的系统,其特征在于,所述系统还包括任务协调组件;
所述任务执行组件,还用于检测自身加载的任务模型的运行负荷,当检测到运行负荷达到负荷阈值的任务模型时,发送资源协调请求;
其中,所述资源协调请求,用于请求增加所述运行负荷达到负荷阈值的任务模型的计算资源;
所述任务协调组件,用于依据所述资源协调请求,从多个所述任务执行组件中选取任务执行组件,并发送模型加载指令至选取的任务执行组件;
其中,所述模型加载指令,用于指示加载所述运行负荷达到负荷阈值的任务模型。
6.如权利要求5所述的系统,其特征在于,
所述任务协调组件,还用于同步所述选取的任务执行组件的执行组件信息至所述任务分发组件;
所述任务分发组件,还用于更新自身存储的执行组件信息,以基于存储的执行组件信息,从多个所述任务执行组件中确定相应的目标任务执行组件。
7.如权利要求1所述的系统,其特征在于,所述系统还包括任务协调组件;
所述任务执行组件,还用于发送自身加载的任务模型的运行负荷至所述任务协调组件;
所述任务协调组件,用于确定所述任务模型的运行负荷在目标时间段内低于负荷阈值时,返回模型销毁指令至所述任务执行组件,以使所述任务执行组件进行任务模型的销毁处理。
8.如权利要求7所述的系统,其特征在于,
所述任务协调组件,还用于在确定所述任务模型的运行负荷在目标时间段内低于负荷阈值时,获取多个所述任务执行组件中存活的目标模型实例的数量;
其中,所述目标模型实例为,所述运行负荷在目标时间段内低于负荷阈值的任务模型所对应的模型实例;
当确定所述目标模型实例的数量超过数量阈值时,返回所述模型销毁指令至所述任务执行组件。
9.如权利要求1所述的系统,其特征在于,
所述任务分发组件,还用于在未查找到相应的目标任务执行组件时,输出错误信息,所述错误信息用于指示任务请求错误;
以及,发送资源协调请求,以请求增加所述目标任务模型的计算资源。
10.如权利要求1所述的系统,其特征在于,所述系统还包括:
展示组件,用于获取并展示至少一个所述任务执行组件的运行状态。
11.一种任务处理方法,其特征在于,应用于包括多个任务执行组件的任务处理系统;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;所述方法包括:
响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件,以使
所述目标任务执行组件接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
接收并输出所述任务处理结果。
12.一种任务处理装置,其特征在于,应用于包括多个任务执行组件的任务处理系统;其中,每个所述任务执行组件对应一种任务类型,每种所述任务类型对应至少两个任务模型;所述装置包括:
获取模块,用于响应于针对目标任务模型的任务请求,获取所述目标任务模型归属的目标任务类型,并
查找模块,用于依据所述目标任务类型及所述目标任务模型,从多个所述任务执行组件中查找相应的目标任务执行组件;
发送模块,用于在查找到相应的目标任务执行组件时,发送所述任务请求至所述目标任务执行组件,以使所述目标任务执行组件接收所述任务分发组件发送的任务请求,调用相应的任务模型进行处理,并返回任务处理结果至所述任务分发组件;
输出模块,用于接收并输出所述任务处理结果。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求11所述的任务处理方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现权利要求11所述的任务处理方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求11所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220289.8A CN114968505A (zh) | 2021-02-26 | 2021-02-26 | 任务处理系统、方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220289.8A CN114968505A (zh) | 2021-02-26 | 2021-02-26 | 任务处理系统、方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968505A true CN114968505A (zh) | 2022-08-30 |
Family
ID=82973436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110220289.8A Pending CN114968505A (zh) | 2021-02-26 | 2021-02-26 | 任务处理系统、方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595154A (zh) * | 2023-07-14 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 任务处理方法以及自动问答方法 |
-
2021
- 2021-02-26 CN CN202110220289.8A patent/CN114968505A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595154A (zh) * | 2023-07-14 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 任务处理方法以及自动问答方法 |
CN116595154B (zh) * | 2023-07-14 | 2023-12-12 | 阿里巴巴(中国)有限公司 | 任务处理方法以及自动问答方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032140B2 (en) | Using a template to update a stack of resources | |
CA3000422C (en) | Workflow service using state transfer | |
CN107016480B (zh) | 任务调度方法、装置及系统 | |
US10838798B2 (en) | Processing system for performing predictive error resolution and dynamic system configuration control | |
US10884839B2 (en) | Processing system for performing predictive error resolution and dynamic system configuration control | |
CN108173840B (zh) | 基于云平台的智能物流终端集成系统 | |
CN104978172A (zh) | Sdn应用集成管理和控制的方法、系统及设备 | |
CN111475764B (zh) | 搜索引擎优化方法、装置、终端及存储介质 | |
CN113760180A (zh) | 存储资源管理方法、装置、设备及计算机可读存储介质 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN112231108A (zh) | 任务处理方法、装置、计算机可读存储介质及服务器 | |
CN114968505A (zh) | 任务处理系统、方法、装置、设备、存储介质及程序产品 | |
CN113157411A (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN113704204A (zh) | 数据文件处理方法、装置、电子设备及存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN116701356A (zh) | 数据迁移方法、装置、终端设备及存储介质 | |
EP3388943A1 (en) | Method and apparatus for managing events in a network that adopts event-driven programming framework | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN115033551A (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN103095786A (zh) | 在线业务请求识别方法、系统、服务器及在线服务器集群 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN112148420A (zh) | 基于容器技术的异常任务处理方法、服务器及云平台 | |
CN110321250B (zh) | 一种针对应用的容灾方法及装置 | |
CN115509643A (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 |