CN114185661A - 一种任务处理方法、装置、设备以及存储介质 - Google Patents

一种任务处理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN114185661A
CN114185661A CN202111507278.4A CN202111507278A CN114185661A CN 114185661 A CN114185661 A CN 114185661A CN 202111507278 A CN202111507278 A CN 202111507278A CN 114185661 A CN114185661 A CN 114185661A
Authority
CN
China
Prior art keywords
task
physical machine
processed
tasks
physical machines
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
Application number
CN202111507278.4A
Other languages
English (en)
Inventor
刘江
黄杰
白宇
彭亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111507278.4A priority Critical patent/CN114185661A/zh
Publication of CN114185661A publication Critical patent/CN114185661A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

本公开提供了一种任务处理方法、装置、设备以及存储介质,涉及自动驾驶技术领域,尤其涉及高精地图技术领域,可用于电子地图的生产场景。具体实现方案为:确定待处理任务的资源需求信息,待处理任务例如是高精地图数据处理任务;根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机;控制所述目标物理机执行所述待处理任务。能够在执行任务的过程中,提高物理机调度的合理性,进而保证物理机资源的合理利用。

Description

一种任务处理方法、装置、设备以及存储介质
技术领域
本公开涉及自动驾驶技术领域,尤其涉及高精地图技术领域,可用于电子地图的生产场景。
背景技术
高精地图也称高精度地图,是自动驾驶汽车使用。高精地图,拥有精确的车辆位置信息和丰富的道路元素数据信息,可以帮助汽车预知路面复杂信息,如坡度、曲率、航向等,更好地规避潜在的风险。高精地图的生产过程所对应的各种任务。由于不同任务需要处理的数据量和执行速度需求不同,执行任务的物理机所提供的资源的规格也不尽相同,因此,如何合理的利用物理机所提供的资源来执行任务至关重要。
发明内容
本公开提供了一种任务处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种任务处理方法,包括:
确定待处理任务的资源需求信息;
根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机;
控制所述目标物理机执行所述待处理任务。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开任一实施例的任务处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开任一实施例的任务处理方法。
根据本公开的技术,能够在执行任务的过程中,提高物理机调度的合理性,进而保证物理机资源的合理利用。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1A是根据本公开实施例提供的一种任务处理方法的流程图;
图1B是根据本公开实施例提供的一种任务处理系统的架构图;
图2是根据本公开实施例提供的一种任务处理方法的流程图;
图3A是根据本公开实施例提供的一种任务处理方法的流程图;
图3B是根据本公开实施例提供的原始任务的有向无环图;
图4是根据本公开实施例提供的一种任务处理装置的结构示意图;
图5是用来实现本公开实施例的任务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1A是根据本公开实施例提供的一种任务处理方法的流程图,图1B是根据本公开实施例提供的一种任务处理系统的架构图。本公开实施例适用于调度物理机集群中的物理机来执行任务的情况。该任务处理方法可以由调度设备与物理机集群中的各物理机交互完成。其中,所谓调度设备可以是为任务执行提供物理机资源调度服务的设备。所谓物理机集群可以包括多个能够提供资源来执行任务的物理机。对于任意物理机而言,其可以不执行任务,也可以只执行一个任务或同时执行多个任务,具体可以基于调度设备的控制来执行相应的任务。
具体的,该方法可以由集成于调度设备中的任务处理装置来执行,该装置可以采用软件和/或硬件的方式实现。如图1A-1B所示,本实施例提供的任务处理方法可以包括:
S101,确定待处理任务的资源需求信息。
其中,待处理任务可以是当前需要执行的任务。本实施例中的待处理任务可以是任意需要借助物理机提供的资源来运行的任务。例如,可以是电子地图生产过程中所涉及的高精地图数据处理任务,如分类特征提取任务、特征融合建模任务和地图渲染任务等。
所谓资源可以是执行任务所需的硬件环境资源,例如,可以包括但不限于:磁盘资源、内存资源和处理器资源等。其中,处理器资源又可以进一步包括:中央处理(centralprocessing unit,CPU)资源和图形处理器(central processing unit,GPU)资源等。磁盘资源用于在执行任务的过程中存储数据,内存资源用于提供运行内存。资源需求信息可以是待处理任务运行过程中所需要占用的资源的相关信息,例如,可以包括但不限于占用资源的种类和大小等。
可选的,如图1B所示,在本实施例中,任务平台在有任务需要处理时,会将任务(如待处理任务)下发给调度设备的任务管理模块,该任务管理模块在接收到该待处理任务后可以将该待处理任务传输至资源需求确定模块,由资源需求确定模块来确定待处理任务的资源需求信息,即确定执行该待处理任务时,该任务所需占用的物理机的内存、磁盘和处理器的种类和大小等。资源需求确定模块会将其确定的待处理任务的资源需求信息反馈至任务管理模块。
可选的,本实施例确定待处理任务的资源需求信息的方式有很多,对此不进行限定。
一种可实施方式为:预先设置各类型任务对应的资源需求信息,此时可以将待处理任务所属任务类型对应的资源需求信息,作为该待处理任务的资源需求信息。
另一种可实施方式为:对待处理任务历史运行过程中使用的资源情况进行综合分析(如求均值分析处理),来确定待处理任务本次运行过程的资源需求信息。
另一种可实施方式为:任务平台在向调度设备下发待处理任务时,一并发送了该待处理任务的资源需求信息。例如,任务平台向调度设备下发包含待处理任务及其资源需求信息的任务处理请求。此时可以直接从任务平台下发的任务处理请求中获取待处理任务的资源需求信息。
S102,根据资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从候选物理机中选择目标物理机。
其中,本实施例中提供资源执行任务的物理机集群中的每台物理机都可作为候选物理机。本实施例中的候选物理机的数量通常为多个。候选物理机的资源剩余信息可以是候选物理机当前剩余的资源信息,具体的,可以是除去当前处理中任务所占用的资源外,剩余的磁盘、内存和处理器的资源信息。所谓处理中任务可以是指候选物理机当前正在处理的任务。目标物理机可以是从候选物理机中选出的用于执行本次任务平台下发的待处理任务的候选物理机。
可选的,如图1B所示,在本实施例中,各候选物理机会实时向调度设备的资源管理模块上报其资源剩余信息和处理中任务的任务数量。此时,调度设备中的物理机调度模块可以从任务管理模块中获取到待处理任务的资源需求信息,从资源管理模块中获取物理机集群中的各候选物理机实时上报的资源剩余信息和处理中任务的任务数量,进而基于资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,来从候选物理机中选择目标物理机。
可选的,本实施例根据资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,基于预设的调度策略来从候选物理机中选择目标物理机。其中,该预设调度策略可以有很多,对此本进行限定。例如,一种调度策略可以是在保证剩余资源满足资源需求的前提下,尽可能将待处理任务分配到处理中任务多的候选物理机中;另一种调度策略可以是在保证剩余资源满足资源需求的前提下,基于处理中任务的任务数量,尽可能保证各候选物理机处理中任务的任务数量的均衡性。
具体的,基于预设的调度策略从候选物理机中选择目标物理机的方式也有很多,对此不进行限定。一种可实施方式为:将资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量输入到预先训练的资源调度模型中,该模型即可基于输入信息按照预设的调度策略进行分析,进而输出最适合执行该待处理任务的目标物理机。另一种可实施方式为:先根据资源需求信息和候选物理机上报的剩余资源信息,从各候选物理机中筛选出能够满足该资源需求信息的初筛选物理机;进而再结合各初筛选物理机的处理中任务的任务数量,基于预设的调度策略,从候选物理机中选择目标物理机。
S103,控制目标物理机执行待处理任务。
可选的,如图1B所示,调度设备中的物理机调度模块在确定出执行本次待处理任务的目标物理机后,可以通过任务执行控制模块来控制目标物理机执行该待处理任务。具体的,任务执行控制模块可以将待处理任务及其对应的资源需求信息传输至目标物理机,以使目标物理机基于该资源需求信息在本地申请对应的资源来执行该待处理任务。
可选的,目标物理机在执行待处理任务的过程中,可以实时或定时向调度设备(如调度设备的任务执行控制模块)来反馈任务执行情况。如在执行任务的过程中反馈任务执行是否异常,若任务执行异常,还可以反馈异常阶段和异常原因,在任务执行完毕后,反馈最终的任务执行结果。
可选的,目标物理机在执行待处理任务的过程中,还需要更新其资源剩余信息和处理中任务的任务数量,上报给调度设备的资源管理模块。
需要说明的是,若本实施例接收到任务平台下发的待处理任务为多个时,可以是基于每个待处理任务依次执行上述S101-S103的操作,已完成对多个待处理任务的处理。
本公开实施例的方案,在接收到待处理任务时,先确定待处理任务的资源需求信息,再结合候选物理机上报的剩余资源信息及其处理中任务的任务数量,从候选物理机中调度目标物理机来执行待处理任务。本方案在为任务调度物理机时,不但考虑到物理机的剩余资源信息,还考虑了物理机处理中的任务数量,以提高物理机调度的合理性,进而保证物理机资源的合理利用。
可选的,在本实施例中,确定待处理任务的资源需求信息的另一种可实施方式还可以是:通过资源预估模型,确定待处理任务的资源需求信息。其中,资源预估模型可以是基于各类型任务历史运行过程中使用的资源情况,采用回归算法,训练的深度学习模型。具体的,可以将待处理任务输入到该资源预估模型中,该模型即可解析该待处理任务所属类型,并输出其对应的资源需求信息。通过深度学习模型来预测待处理任务的资源需求信息,提高了资源需求信息的精准性,为后续基于该资源需求信息合理调度目标物理机提供了保证。
可选的,对于一些重要任务,可能需要内网物理机集群来执行,但内网物理机无法使用现有的主流容器服务(如k8s服务)来隔离资源执行待处理任务。针对此问题,本实施例的调度设备在控制目标物理机执行待处理任务时,可以是控制目标物理机根据资源需求信息,为待处理任务分配执行资源和执行进程,并基于执行进程在执行资源内处理待处理任务。具体的,调度设备可以控制目标物理机执行如下操作:先根据待处理任务的资源需求信息,在本地剩余资源中申请需要使用的资源,再采用进程创建算法(如vfork算法)为该待处理任务创建一个执行进程,采用资源限定算法(如rlimit算法)将申请的资源单独隔离出来,作为执行资源,进而在该执行资源内使用该执行进程来处理该待处理任务。以达到内网物理机集群无法使用容器服务的情况下,也能够实现隔离资源执行任务。为内网物理机充分利用其资源并行执行多任务提供了新的解决方案。
图2是根据本公开实施例提供的一种任务处理方法的流程图。本公开实施例在上述实施例的基础上,进一步对如何根据资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从候选物理机中选择目标物理机进行详细解释说明,如图2所示,本实施例提供的任务处理方法可以包括:
S201,确定待处理任务的资源需求信息。
S202,根据候选物理机上报的资源剩余信息,对候选物理机进行分组。
可选的,本实施例根据候选物理机上报的资源剩余信息,对候选物理机进行分组的策略有很多,对此本实施例不进行限定。
一种可实施方式为:预先根据资源规格和资源大小范围将不同规格和大小的资源划分为多个等级。此时可以针对每一候选物理机,根据其上报的资源剩余信息,判断其与哪个等级的资源规格和大小匹配,则将该等级作为该候选物理机所属等级,进而将属于同一等级的各候选物理机作为一组。
另一种可实施方式为:对各候选物理机上报的资源剩余信息进行统计,确定各物理机的运行能力,例如,内存和磁盘容量越大,处理器配置规格越高的物理机的运行能力越强。根据各物理机的运行能力,将运行能力相近的物理机作为一组。
S203,根据资源需求信息,选择至少一组候选物理机,作为可用物理机。
其中,可用物理机可以是基于候选物理机的资源剩余信息从候选物理机中初步筛选的一部分比较适合执行待处理任务的物理机。
可选的,本实施例可以从分组后的各组候选物理机中,选择可用物理机的方式有很多,对此不进行限定。
一种可实施方式为:从各组候选物理机中,选择剩余资源信息与待处理任务的资源需求信息最为接近的至少一组候选物理机,作为可用物理机。
另一种可实施方式为:从各组候选物理机中,选择剩余资源信息满足待处理任务的资源需求信息的可选组;再分析每个可选组中包含的物理机数量,将数量较多的至少一组可选组中所包含的候选物理机作为可用物理机。
S204,根据可用物理机上报的处理中任务的任务数量,从可用物理机中选择目标物理机。
可选的,本实施例可以根据初步筛选出的各可用物理机上报的处理中的任务数量,来从可用物理机中选择最终执行待处理任务的目标物理机。其中选择目标物理机的方式有很多,对此本实施例不进行限定。
一种可实施方式:从可用物理机中,选择处理中任务的任务数量最多的可用物理机,作为目标物理机。该可实施方式采取的策略是对于待处理任务,尽可能的将其分配到处理中任务的任务数量多的物理机中,以提高物理机集群中正在执行任务的各物理机的资源能够得到充分的利用。同时无需物理机集群中的所有物理机都同时工作,在降低物理机集群功耗的同时,还能预留出资源充足的物理机来执行资源需求高的任务,以避免任务处理过程中的长尾效应。
另一种可实施方式:从可用物理机中,选择处理中任务的任务数量最少的可用物理机,作为目标物理机。该可实施方式采取的策略是在为物理机分配任务时,考虑物理机的负载均衡性,避免物理机因执行任务过多而出现宕机的情况,且该策略还可以避免任务集中在某些物理机中执行,会出现因物理机故障导致大量任务异常的情况,提高了任务执行的稳定性。
另一种实施方式为:根据可用物理机中处理中任务的任务数量和可用物理机的任务执行情况,从可用物理机中选择目标物理机。具体的,可以结合可选物理机的任务执行情况,确定各可选物理机的稳定性,例如,可以是根据各候选物理机历史和/或当前执行的任务中,物理机出现异常的次数,和/或执行的任务出现异常的次数,确定物理机的稳定性。将稳定性差的可选物理机剔除后,再结合上述两种可实施方式的选择策略,从剩余可选物理机中选择目标物理机。该可实施方式引入物理机的任务执行情况,提高了选择的目标物理机的稳定性,进而保证了待处理任务执行的稳定性。
S205,控制目标物理机执行待处理任务。
本公开实施例的方案,在接收到待处理任务时,先确定待处理任务的资源需求信息,再结合候选物理机上报的剩余资源信息对候选物理机进行分组,进而结合资源需求信息从中选择至少一种物理机作为可用物理机,结合可用物理机的处理中任务的任务数量,从可用物理机中调度目标物理机来执行待处理任务。本方案在从候选物理机中确定目标物理机时,引入分组的构思,能够快速根据资源需求信息,定位到满足要求的可用物理机,进而根据可用物理机的处理中任务的任务数量,从少量的可用物理机中确定目标物理机,提高了目标物理机的确定效率和精准性,为后续基于目标物理机执行待处理任务提供了保障。。
图3A是根据本公开实施例提供的一种任务处理方法的流程图;图3B是根据本公开实施例提供的原始任务的有向无环图。本公开实施例在上述实施例的基础上,进一步给出了一种任务处理方法的优选实例。该方法尤其适用于处理任务量较大或耗时较长的任务的情况,如图3A-3B所示,本实施例提供的任务处理方法可以包括:
S301,获取原始任务。
其中,原始任务可以是需要借助物理机集群中的各候选物理机执行的任务。本实施例的调度设备可以获取任务平台下发原始任务。
S302,判断原始任务是否满足拆分条件,若满足,则执行S303,否则执行S305。
其中,拆分条件可以是衡量原始任务是否需要拆分的判断条件。可选的,本实施例可以基于原始任务的任务量和/或耗时长短来衡量原始任务是否满足拆分条件。
可选的,本实施例可以基于该原始任务在历史执行过程中的耗时情况,确定原始任务的预估耗时。确定原始任务的任务量时,可以分析原始任务所属的任务类型,基于任务类型来确定任务量;还可以是分析原始任务的代码量,基于代码量来确定任务量;也可以解析原始任务对应操作步骤的数量,基于操作步骤的数量来确定任务量等。
在确定出原始任务的任务量和预估耗时后,可以判断原始任务的任务量是否达到任务量拆分阈值,和/或判断原始任务的预估耗时是否达到耗时拆分阈值,若达到,则说明原始任务满足拆分条件,此时触发执行S303,对原始任务进行拆分的操作,否则可认为原始任务即为一个待处理任务,即执行S305将原始任务作为待处理任务。
S303,若获取的原始任务满足拆分条件,则根据任务完整性和/或子任务规格,将原始任务拆分为至少两个子任务。
其中,子任务规格可以是预先设置的子任务的划分标准,例如,可以包括是子任务的任务量。
可选的,若原始任务满足拆分条件,则说明原始任务过大,过大的原始任务必然会有较高的资源需求,此时为了避免物理机集群因剩余资源不足导致该原始任务无法执行,或延时执行的情况出现,可以对原始任务进行拆分,通过将原始任务拆分成多个任务量较小的子任务来执行,以提高原始任务的执行效率。
一种可实施方式:基于任务的完整性对原始任务进行拆分。具体的,基于任务的完整性,将任务操作关联性大的操作步骤拆分到一个子任务中。例如,若原始任务是基于点云数据和图像数据生成某一区域的电子地图,则基于任务完整性,可以将基于点云数据和图像数据进行区域特征提取的操作划分成一个子任务;将基于提取的点云特征和图像特征进行特征融合的操作划分为一个子任务,将基于融合后的特征绘制电子地图的操作划分成一个子任务。
另一种可实施方式:基于子任务规格对原始任务进行拆分。具体的,依据预设子任务规格和原始任务的任务量,对原始任务进行等份拆分。例如,若原始任务的任务量为1G,预设子任务规格为200M,则此时可以将原始任务等份拆分为5个任务量为200M的子任务。
另一种可实施方式:基于任务的完整性和子任务规格对原始任务进行拆分。具体的,可以先基于任务的完整性,把任务操作关联性大的操作步骤拆分到一个子任务中,剩余的关联性相对较弱的任务操作,再基于预设子任务规格进行等份划分。例如,若原始任务是基于点云数据和图像数据生成某一区域的电子地图,则由于特征融合的过程关联性较大,如果拆分开会严重影响融合效果,而特征提取和绘制地图的操作关联性相对没有那么强,所以,本实施例可以将基于提取的点云特征和图像特征进行特征融合的操作划分为一个子任务;对于基于点云数据和图像数据进行区域特征提取,以及基于融合后的特征绘制电子地图的操作,按照预设子任务规格,进行等份拆分。
需要说明的是,依据子任务规格划分子任务的优势在于拆分的子任务的任务量较小,能够提高任务的执行效率;依据任务完整性划分子任务的优势在于拆分后的子任务的执行结果与直接执行原始任务的结果更相近,能够提高任务执行的准确性。所以本实施例可以根据原始任务的实际情况来从上述三种拆分方式中选择适合的拆分方式。
可选的,本实施例在将原始任务拆分成至少两个子任务后,可以基于各子任务之间依赖关系,为拆分后的至少两个任务生成有向无环图。示例性的,本实施例可以根据任务完整性和/或子任务规格,将原始任务拆分为5个子任务,即子任务1至子任务5,并依据各子任务之间依赖关系,生成图3B所示的有向无环图。
S304,根据至少两个任务之间的依赖关系,确定至少两个子任务的原始执行顺序,并根据原始执行顺序,依次将至少两个子任务作为待处理任务。
其中,原始执行顺序可以是原始任务拆分后的各子任务之间的执行顺序。
可选的,本实施例可以根据至少两个任务之间的依赖关系,确定至少两个子任务的原始执行顺序的过程可以是将具有串联关系的两个子任务,按照串联的前后顺序来确定两者的原始执行顺序,对于具有并联关系的两个子任务,可以为两者设置相同的原始执行顺序。进而针对每一原始执行顺序下的子任务,将其作为待处理任务,来执行后续S306-S308的操作,当该原始执行顺序的各子任务执行完成后,再将下一原始执行顺序的子任务作为待处理任务,再次执行后续S306-S308的操作。直到所有原始执行顺序对应的子任务都执行完毕。
示例性的,如图3B所示,依据子任务之间的依赖关系,确定子任务1至子任务5的原始执行顺序为:先执行子任务1,再同时执行子任务2和子任务3,接着执行子任务4,最后执行子任务5。即先将子任务1作为待处理任务,对子任务执行完后续S306-S308的操作后,再将子任务2和子任务3作为待处理任务,并行对子任务2和子任务3执行完后续S306-S308的操作后,再将子任务4作为待处理任务,对子任务4执行完后续S306-S308的操作后,再将子任务5作为待处理任务,对子任务5执行完后续S306-S308的操作后,说明原始任务处理完成。
S305,将原始任务作为待处理任务。
S306,确定待处理任务的资源需求信息。
S307,根据资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从候选物理机中选择目标物理机。
S308,控制目标物理机执行待处理任务。
需要说明的是,本实施例目标物理机在处理每一原始执行顺序的子任务时,可能会用到位于其之前执行子任务的处理结果,所以对于每一原始执行顺序的子任务,本实施例都要等到其之前的子任务都处理完成后才能处理该子任务。
本公开实施例的方案,在接收到的原始任务满足拆分条件时,可以将原始任务拆分为多个子任务,并根据各子任务之间的依赖关系,确定各子任务的原始执行顺序,并根据原始执行顺序,依次将至少两个子任务作为待处理任务,进而确定待处理任务的资源需求信息,再结合候选物理机上报的剩余资源信息和处理中任务的任务数量,从候选物理机中调度目标物理机来执行待处理任务,本实施例的方案在任务平台下发的任务较大时,将原始任务拆分成多个子任务来处理,避免了因原始任务的任务较大,存在物理机集群中候选物理机的剩余资源不足无法执行原始任务,而导致原始任务无法及时被处理的情况。提高了对大任务量的原始任务的处理效率。
本公开实施例在上述实施例的基础上,还可以包括:若监测到原始任务的重执行事件,则根据原始任务的子任务的最新执行情况,从原始任务的子任务中确定待回滚的子任务,以及待回滚的子任务的回滚执行顺序;根据回滚执行顺序,依次将待回滚的子任务为待处理任务。
其中,原始任务的重执行事件可以是在原始任务最近一次执行过程中存在异常导致最近一次执行失败的情况下,发起的重新执行该原始任务的事件。可选的,本实施例监测到原始任务的重执行事件的一种可实现方式为:接收到任务平台下发的包含重执行任务标识的任务重执行请求。另一种可实现方式为:监测到目标物理机执行待处理任务的过程中上报的处理异常通知,且异常原因为资源分配不足。需要说明的是,针对第二种可实现方式,可以将处理异常的待处理任务所属的原始任务作为待重执行的原始任务。
原始任务的子任务的最新执行情况,可以是指原始任务拆分后的各子任务在最近一次执行过程中的执行情况,例如,可以是原始任务的各子任务在最近一次执行过程中是否执行成功。
可选的,本实施例在通过上述任一方式监测到原始任务的重执行事件后,会查找最近一次执行该原始任务时各目标物理机上报的其对该原始任务的子任务的执行结果,并将执行结果为异常的子任务作为异常子任务,进而将异常子任务,以及原始执行顺序位于该异常子任务之后的各子任务一并作为待回滚的子任务;若执行异常的子任务为多个时,可以从中找出原始执行顺序最早的子任务作为异常子任务。
在确定出待回滚的子任务后,可以依据上述S304类似的方式,根据待回滚的各子任务之间的依赖关系来确定待回滚的各子任务的回滚执行顺序,并根据回滚执行顺序,依次将待回滚的子任务为待处理任务。
本实施例的方案对于执行失败的原始任务,在重新执行该原始任务时,并非从该原始任务的第一个子任务开始执行,而是基于该原始任务的子任务的最新执行情况,即最近一次执行情况,来确定一部分待回滚的子任务,只执行待回滚的这部分子任务,极大的提高了重执行任务的效率。
图4是根据本公开实施例提供的一种任务处理装置的结构示意图。本公开实施例适用于调度物理机集群中的物理机来执行任务的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例的任务处理方法。如图4所示,该任务处理装置400包括:
资源需求确定模块401,用于确定待处理任务的资源需求信息;
物理机调度模块402,用于根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机;
任务执行控制模块403,用于控制所述目标物理机执行所述待处理任务。
本公开实施例的方案,在接收到待处理任务时,先确定待处理任务的资源需求信息,再结合候选物理机上报的剩余资源信息及其处理中任务的任务数量,从候选物理机中调度目标物理机来执行待处理任务。本方案在为任务调度物理机时,不但考虑到物理机的剩余资源信息,还考虑了物理机处理中的任务数量,以提高物理机调度的合理性,进而保证物理机资源的合理利用。
进一步的,所述物理机调度模块402,包括:
物理机分组单元,用于根据候选物理机上报的资源剩余信息,对所述候选物理机进行分组;
可用物理机选择单元,用于根据所述资源需求信息,选择至少一组候选物理机,作为可用物理机;
目标物理机选择单元,用于根据所述可用物理机上报的处理中任务的任务数量,从所述可用物理机中选择目标物理机。
进一步的,所述目标物理机选择单元具体用于:
从所述可用物理机中,选择处理中任务的任务数量最多的可用物理机,作为目标物理机。
进一步的,所述目标物理机选择单元还具体用于:
根据所述可用物理机中处理中任务的任务数量和可用物理机的任务执行情况,从可用物理机中选择目标物理机。
进一步的,所述任务执行控制模块403具体用于:
控制所述目标物理机根据所述资源需求信息,为所述待处理任务分配执行资源和执行进程,并基于所述执行进程在所述执行资源内处理所述待处理任务。
进一步的,所述资源需求确定模块401具体用于:
通过资源预估模型,确定待处理任务的资源需求信息。
进一步的,所述装置还包括:
任务拆分模块,用于若获取的原始任务满足拆分条件,则根据任务完整性和/或子任务规格,将所述原始任务拆分为至少两个子任务;
待处理任务确定模块,用于根据所述至少两个任务之间的依赖关系,确定所述至少两个子任务的原始执行顺序,并根据所述原始执行顺序,依次将所述至少两个子任务作为待处理任务。
进一步的,所述装置还包括:
回滚信息确定模块,用于若监测到原始任务的重执行事件,则根据所述原始任务的子任务的最新执行情况,从所述原始任务的子任务中确定待回滚的子任务,以及所述待回滚的子任务的回滚执行顺序;
待处理任务确定模块,用于根据所述回滚执行顺序,依次将所述待回滚的子任务为待处理任务。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的任一任务、资源等信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如任务处理方法。例如,在一些实施例中,任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (19)

1.一种任务处理方法,包括:
确定待处理任务的资源需求信息;
根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机;
控制所述目标物理机执行所述待处理任务。
2.根据权利要求1所述的方法,其中,所述根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机,包括:
根据候选物理机上报的资源剩余信息,对所述候选物理机进行分组;
根据所述资源需求信息,选择至少一组候选物理机,作为可用物理机;
根据所述可用物理机上报的处理中任务的任务数量,从所述可用物理机中选择目标物理机。
3.根据权利要求2所述的方法,其中,所述根据所述可用物理机上报的处理中任务的任务数量,从所述可用物理机中选择目标物理机,包括:
从所述可用物理机中,选择处理中任务的任务数量最多的可用物理机,作为目标物理机。
4.根据权利要求2所述的方法,其中,所述根据所述可用物理机上报的处理中任务的任务数量,从所述可用物理机中选择目标物理机,包括:
根据所述可用物理机中处理中任务的任务数量和所述可用物理机的任务执行情况,从所述可用物理机中选择目标物理机。
5.根据权利要求1所述的方法,其中,所述控制所述目标物理机执行所述待处理任务,包括:
控制所述目标物理机根据所述资源需求信息,为所述待处理任务分配执行资源和执行进程,并基于所述执行进程在所述执行资源内处理所述待处理任务。
6.根据权利要求1所述的方法,其中,所述确定待处理任务的资源需求信息,包括:
通过资源预估模型,确定待处理任务的资源需求信息。
7.根据权利要求1所述的方法,还包括:
若获取的原始任务满足拆分条件,则根据任务完整性和/或子任务规格,将所述原始任务拆分为至少两个子任务;
根据所述至少两个任务之间的依赖关系,确定所述至少两个子任务的原始执行顺序,并根据所述原始执行顺序,依次将所述至少两个子任务作为待处理任务。
8.根据权利要求7所述的方法,还包括:
若监测到原始任务的重执行事件,则根据所述原始任务的子任务的最新执行情况,从所述原始任务的子任务中确定待回滚的子任务,以及所述待回滚的子任务的回滚执行顺序;
根据所述回滚执行顺序,依次将所述待回滚的子任务为待处理任务。
9.一种任务处理装置,包括:
资源需求确定模块,用于确定待处理任务的资源需求信息;
物理机调度模块,用于根据所述资源需求信息、候选物理机上报的资源剩余信息和处理中任务的任务数量,从所述候选物理机中选择目标物理机;
任务执行控制模块,用于控制所述目标物理机执行所述待处理任务。
10.根据权利要求9所述的装置,其中,所述物理机调度模块,包括:
物理机分组单元,用于根据候选物理机上报的资源剩余信息,对所述候选物理机进行分组;
可用物理机选择单元,用于根据所述资源需求信息,选择至少一组候选物理机,作为可用物理机;
目标物理机选择单元,用于根据所述可用物理机上报的处理中任务的任务数量,从所述可用物理机中选择目标物理机。
11.根据权利要求10所述的装置,其中,所述目标物理机选择单元具体用于:
从所述可用物理机中,选择处理中任务的任务数量最多的可用物理机,作为目标物理机。
12.根据权利要求10所述的装置,其中,所述目标物理机选择单元还具体用于:
根据所述可用物理机中处理中任务的任务数量和所述可用物理机的任务执行情况,从所述可用物理机中选择目标物理机。
13.根据权利要求9所述的装置,其中,所述任务执行控制模块具体用于:
控制所述目标物理机根据所述资源需求信息,为所述待处理任务分配执行资源和执行进程,并基于所述执行进程在所述执行资源内处理所述待处理任务。
14.根据权利要求9所述的装置,其中,所述资源需求确定模块具体用于:
通过资源预估模型,确定待处理任务的资源需求信息。
15.根据权利要求9所述的装置,还包括:
任务拆分模块,用于若获取的原始任务满足拆分条件,则根据任务完整性和/或子任务规格,将所述原始任务拆分为至少两个子任务;
待处理任务确定模块,用于根据所述至少两个任务之间的依赖关系,确定所述至少两个子任务的原始执行顺序,并根据所述原始执行顺序,依次将所述至少两个子任务作为待处理任务。
16.根据权利要求15所述的装置,还包括:
回滚信息确定模块,用于若监测到原始任务的重执行事件,则根据所述原始任务的子任务的最新执行情况,从所述原始任务的子任务中确定待回滚的子任务,以及所述待回滚的子任务的回滚执行顺序;
待处理任务确定模块,用于根据所述回滚执行顺序,依次将所述待回滚的子任务为待处理任务。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的任务处理方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的任务处理方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的任务处理方法。
CN202111507278.4A 2021-12-10 2021-12-10 一种任务处理方法、装置、设备以及存储介质 Pending CN114185661A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111507278.4A CN114185661A (zh) 2021-12-10 2021-12-10 一种任务处理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111507278.4A CN114185661A (zh) 2021-12-10 2021-12-10 一种任务处理方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN114185661A true CN114185661A (zh) 2022-03-15

Family

ID=80543133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111507278.4A Pending CN114185661A (zh) 2021-12-10 2021-12-10 一种任务处理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN114185661A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860464A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 负载资源的分配方法和装置、存储介质及电子装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860464A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 负载资源的分配方法和装置、存储介质及电子装置
CN116860464B (zh) * 2023-09-05 2024-01-09 苏州浪潮智能科技有限公司 负载资源的分配方法和装置、存储介质及电子装置

Similar Documents

Publication Publication Date Title
CN114820279B (zh) 基于多gpu的分布式深度学习方法、装置及电子设备
CN106383746A (zh) 大数据处理系统的配置参数确定方法和装置
CN114091589B (zh) 模型训练方法、装置、电子设备及介质
CN114860412B (zh) 任务处理方法、装置、电子设备和介质
CN114185661A (zh) 一种任务处理方法、装置、设备以及存储介质
CN115150471A (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN113032093B (zh) 分布式计算方法、装置及平台
CN112925811A (zh) 数据处理的方法、装置、设备、存储介质及程序产品
CN112527506A (zh) 设备资源的处理方法、装置、电子设备及存储介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN114792125B (zh) 基于分布式训练的数据处理方法、装置、电子设备和介质
CN115564135A (zh) 需求订单的分配优化方法、装置、设备及介质
CN115495151A (zh) 规则引擎的迁移方法、装置、设备、存储介质及程序产品
CN112463334B (zh) 一种训练任务排队原因分析方法、系统、设备以及介质
CN114707957A (zh) 业务流程的控制方法、装置、电子设备和存储介质
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
CN114862223A (zh) 一种机器人调度方法、装置、设备及存储介质
CN115293126A (zh) 大规模文本数据的去重方法及装置、电子设备和存储介质
CN114861039A (zh) 一种搜索引擎的参数配置方法、装置、设备及存储介质
CN116501499B (zh) 数据跑批方法、装置、电子设备及存储介质
CN114615144B (zh) 网络优化方法及系统
CN114816758B (zh) 资源分配方法和装置
CN114418063B (zh) 神经网络模型中网络层的分配方法与装置
CN115795908A (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