CN113849302A - 任务执行方法及装置、存储介质及电子装置 - Google Patents
任务执行方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113849302A CN113849302A CN202110998708.0A CN202110998708A CN113849302A CN 113849302 A CN113849302 A CN 113849302A CN 202110998708 A CN202110998708 A CN 202110998708A CN 113849302 A CN113849302 A CN 113849302A
- Authority
- CN
- China
- Prior art keywords
- task
- subtask
- target
- edge computing
- computing node
- 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 77
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
-
- 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/502—Proximity
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种任务执行方法及装置、存储介质及电子装置,其中,上述方法包括:从目标设备的任务列表中选取目标任务;根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。采用上述技术方案,解决了目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种任务执行方法及装置、存储介质及电子装置。
背景技术
随着芯片技术的发展,用户对于边缘侧的运算需求逐步增加,且实际情况中经常会发生一台设备有大量运算任务,且其他设备都在闲置的情况,即其他设备还可以进行相应的计算。单台设备在设计硬件资源时,往往以单台设备处理全部的运算工作作为系统设计的依据,造成系统设计存在大量冗余。
在现有的方案中,当边缘设备任务运算量大的时候,往往通过通信手段,将某一设备作为输入/输出设备,将任务发送至本地特定设备进行集中运算。或者在本地设置网关设备,将任务发送至网关,由于网关设备的运算资源最强,可作为运算中心使用。
但在现有技术中,仅仅是借助其他设备进行任务处理,并不涉及到对任务的分解、分析、预测,也不涉及到计算任务和对应芯片之间的匹配关系,只是借助通信手段实现了任务的转移,并没有实现计算能力的动态匹配。且现有技术方案无法实现对硬件利用率的提升,且只有计算能力更强的设备才有可能承担计算能力较弱设备的运算任务,故本质上是增加局域网关,通过网关进行复杂运算。
针对相关技术,目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种任务执行方法及装置、存储介质及电子装置,以至少解决目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题。
根据本发明实施例的一方面,提供一种任务执行方法,包括:从目标设备的任务列表中选取目标任务;根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
进一步地,从目标设备的任务列表中选取目标任务之前,所述方法还包括:获取所述任务列表,其中,所述任务列表中的任务通过以下至少之一确定:目标对象在所述目标设备上选取的任务;基于任务预测模型根据所述目标对象所处的场景预测出的任务,其中,所述任务预测模型通过多组数据训练得到,所述多组数据中的每组数据包括:目标对象所处的场景,目标对象在所述场景选取的任务。
进一步地,根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务之前,所述方法还包括:确定所述目标任务在执行的过程中的多种运算方式;根据所述多种运算方式确定所述目标任务的多个运算特征。
进一步地,根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,包括:获取与所述目标设备处在同一网络范围下的所有边缘计算节点的设备信息,其中,所述设备信息至少包括以下之一:所述边缘计算节点中芯片的芯片型号,所述芯片的运算特征,所述芯片的运算能力;根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点。
进一步地,根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点,包括:根据所述设备信息与所述每一个子任务的运算特性为所述每一个子任确定对应的边缘计算节点,其中,所述边缘计算节点中芯片的运算特征与所述每一个子任务的运算特征匹配,所述每一个子任务的运算量在所述芯片的运算能力之内;将所述每一个子任务发送至对应的边缘计算节点。
进一步地,指示所述每一个子任务对应的边缘计算节点执行对应的子任务之后,所述方法还包括:获取所述每一个子任务对应的边缘计算节点的子运算结果;将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
进一步地,将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果,包括:确定所述每一个子任务的连接关系,其中,所述连接关系用于指示所述每一个子任务在所述目标任务执行过程中的执行顺序;根据所述连接关系将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
根据本发明实施例的另一方面,还提供了一种任务执行装置,包括:选取模块,用于从目标设备的任务列表中选取目标任务;拆分模块,用于根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;发送模块,用于根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任务执行方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述任务执行方法。
通过本发明,将目标设备的任务列表中的目标任务根据目标任务的多个运算特征进行拆分,得到多个子任务,并根据多个子任务中每一个子任务的运算特征将每一个子任务发送给对应的边缘计算节点执行。采用上述技术方案,解决了目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题。进而根据任务的运算特征将任务拆分多个子任务,并根据每一个子任务的运算特征将每一个子任务匹配对应的设备进行执行,提高了任务了执行效率,也提高了不同设备的使用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的任务执行方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的任务执行方法的流程图(一);
图3是根据本发明实施例的任务执行方法的流程图(二);
图4是根据本发明实施例的任务执行方法的时序图;
图5是根据本发明实施例的任务执行装置的结构框图(一);
图6是根据本发明实施例的任务执行装置的结构框图(二)。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的任务执行方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的任务执行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
相关技术中,假设在同一个网络范围内,有多台设备,每一个设备都芯片,芯片具有运算能力,在这多台设备中,如果某一台设备有一个待执行的任务,但该任务计算量很大,如果单独通过自身完成,所花费的时间会非常长,但由于此网络范围外的云端服务器拥有很强的计算能力,故设备往往都会将这个任务发送给云端服务器,云端服务器进行计算后,获取云端服务器的执行结果,但考虑到此网络范围内的设备可能不能连接到云端服务器,或者此网络范围内的数据不方便向外发射至云端服务器进行计算,故需要执行任务的设备会将任务发送给处于同一网络范围下的其他设备进行计算。需要说明的是,这种将任务不发送至云端服务器,而发送给同一网络范围下的其他设备进行计算的场景,为边缘计算场景,在边缘计算场景下的设备可以被认为是边缘计算节点。
需要说明的是,由于在边缘计算场景下,需要执行任务的目标设备只能将任务发送给同一网络范围内计算能力更大的设备进行计算,导致计算效率提高幅度不大。本发明实施例考虑未来家庭及城市生活中,设备逐渐智能化,如果能实现同一网络范围内不同设备计算能力的相互调度,则能够有效降低单台设备的运算资源成本,并且提高任务的计算效率。
因此,本实施例中提供了一种任务执行方法,图2是根据本发明实施例的任务执行方法的流程图(一),应用在边缘计算场景下,该流程包括如下步骤:
步骤S202,从目标设备的任务列表中选取目标任务;
步骤S204,根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
步骤S206,根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
需要说明的是,将每一个子任务发送至对应的边缘计算节点具体是将每一个子任务发送至具有相同运算特征的边缘计算节点。
通过上述步骤,将目标设备的任务列表中的目标任务根据目标任务的多个运算特征进行拆分,得到多个子任务,并根据多个子任务中每一个子任务的运算特征将每一个子任务发送给对应的边缘计算节点执行。采用上述技术方案,解决了目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题。进而根据任务的运算特征将任务拆分多个子任务,并根据每一个子任务的运算特征将每一个子任务匹配对应的设备进行执行,提高了任务了执行效率,也提高了不同设备的使用率。
需要说明的是,在从目标设备的任务列表中选取目标任务之前,需要获取任务列表,具体的,所述任务列表中的任务通过以下至少之一确定:目标对象在目标设备上选取的任务;基于任务预测模型根据所述目标对象所处的场景预测出的任务,其中,所述任务预测模型通过多组数据训练得到,所述多组数据中的每组数据包括:目标对象所处的场景,目标对象在所述场景选取的任务。
为了更好的理解,以下做具体说明,当目标设备为空调的时候,使用空调的用户(上述目标对象)可以使用遥控器给空调下发控制指令,进而空调的任务列表中具有一个任务。但考虑到物联网的快速发展,空调可以进行任务的一个预测,具体的,当空调检测房间中的用户处在30摄氏度以上(相当于上述目标对象所处的场景,即目标对象所处的环境、目标对象的状态),则空调就可预测出用户会开启空调制冷,故空调会将预测的任务加入到任务列表中做准备。需要说明的是,目标设备需要一个具体的任务预测模型才可以进行预测,故目标设备需要构建任务预测模型,任务预测模型包含特定场景下“人-环境-设备”的关系、用户在此场景下的历史操作行为、以及该业务领域下的生活常识,例如温度超过30度,用户需要通过空调调节温度。基于以上三部分内容,构建任务预测模型,目的是基于任务预测模型,根据已经开始执行的任务或用户所述的场景,关联预测可能执行的其他任务。
进一步地,在从任务列表中选取了目标任务以后,则需要根据目标任务的多个运算特征对将目标任务进行拆分,得到多个子任务,具体可以通过以下方式实现:确定所述目标任务在执行的过程中的多种运算方式,根据所述多种运算方式确定所述目标任务的多个运算特征。
需要说明的是,考虑到不同的设备中的芯片是有差异的,即有的设备中的芯片为CPU,擅长逻辑运算;有的设备中的芯片为GPU,更适合图形处理;有的设备中包含各种科技公司推出的FPGA定制芯片,能够根据不同的算法任务进行定向优化。即考虑到不同芯片类型,适合处理的计算任务的效率存在一定区别,故需要确定目标任务在执行的过程中的运算方式,例如,一个目标任务在执行的过程中,可能涉及逻辑运算,也可能涉及到图像处理,还可能涉及到神经网络算法的调用,即目标任务是具有不同的运算方式,故可以根据目标任务的不同的运算方式,确定对应的运算特征,进而可以得到目标任务的多种运算特征。
在确定了目标任务的多个运算特征以后,就可以根据这多个运算特征对目标任务进行拆分,得到多个具有不同运算特征的子任务,进而根据多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,具体的,可以通过以下实现:获取与目标设备处在同一网络范围下的所有边缘计算节点的设备信息,其中,所述设备信息至少包括以下之一:所述边缘计算节点中芯片的芯片型号,所述芯片的运算特征,所述芯片的运算能力;根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点。
也就是说,给不同的子任务分配边缘计算节点的时候,需要获取边目标设备处在同一网络范围下的所有边缘计算节点的设备信息。需要说明的是,同一网络范围可以是位于同一个局域网下。设备信息包括:边缘计算节点中芯片的芯片型号、芯片配置、芯片运算特征(CPU、GPU、FPGA、指令集、架构平台(如X86、risk-V等))。对于芯片运算特征,可根据型号或者芯片类别进行判断。可选的,可以在局域网中维护小型知识库统计该局域网下所有拥有计算能力的设备的资源,进而可以实现快速匹配。进而目标设备在获取到所有边缘计算节点的设备信息以后,就可以根据设备信息与所述每一个子任务的运算特性将每一个子任务发送至对应的边缘计算节点。
需要说明的是,在获取目标设备处在同一网络范围下的所有边缘计算节点的设备信息以前,需要在此网络范围下,部署至少两个边缘计算节点,进而才可以获取与目标设备位于同一网络范围下边缘计算节点的设备信息。
进一步地,根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点,可以通过以下方式实现:根据所述设备信息与所述每一个子任务的运算特性为所述每一个子任确定对应的边缘计算节点,其中,所述边缘计算节点中芯片的运算特征与所述每一个子任务的运算特征匹配,所述每一个子任务的运算量在所述芯片的运算能力之内;将所述每一个子任务发送至对应的边缘计算节点。
可以理解的是,如果可以根据子任务的运算特征将子任务分配给擅长处理此子任务的芯片进行处理,则可以最大程度发挥芯片的能力,进而提高任务处理效率,降低整体能耗。故从提高硬件利用率的角度出发,根据子任务的运算特征和子任务的运算量,将子任务发送至具有相同运算特征的边缘计算节点执行,并且子任务的运算量还需要在边缘计算节点的运算能力之内。
需要说明的是,一个可选的实施例中,如果目标任务分解出的子任务中,存在一个子任务不能在目标设备的当前网络范围下找到与子任务的运算特征相匹配的边缘计算节点,则可以将这个子任务发送给此网络范围外的云端服务器,使得云端服务器进行计算,或者让云端服务器从与当前网络相邻的网络中,寻找一个与此子任务相匹配的边缘计算节点,将此子任务发送至相邻网络中与此子任务的运算特征相匹配的边缘计算节点。例如:如果目标设备的目标任务根据运算特征可以分解为子任务A,子任务B,其中,子任务A是逻辑运算,而子任务B是图像处理,目标设备处在网络A中,如果在网络A中可以找到与子任务A的运算特征相匹配的边缘计算节点A,而在网络A中没有找到与子任务B的运算特征相匹配的边缘计算节点B。此时,可以将子任务B发送至网络A外的云端服务器,让云端服务器执行。如果云端服务器没有相应的计算能力,或者此时云端服务器没有空余的能力进行计算,则指示云端服务器从与网络A相邻的网络B中去寻找一个与子任务B的运算特征相匹配的边缘计算节点B,进而通过云端服务器将子任务B发送至网络B中的边缘计算节点B。采用上述技术方案,解决了在目标设备的网络范围下,没有找到与子任务的运算特征相匹配的边缘计算节点,导致子任务无法执行的问题。
进一步地,在将每一个子任务发送给对应的边缘计算节点执行之后,还需要获取所述每一个子任务对应的边缘计算节点的子运算结果;将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
具体的,将所述每一个子任务的子运算结果进行合并,需要确定所述每一个子任务的连接关系,其中,所述连接关系用于指示所述每一个子任务在所述目标任务执行过程中的执行顺序;根据所述连接关系将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
也就是说,由于不同的子任务是具有相应的执行顺序的,进而需要确定子任务的执行顺序,根据执行顺序将子任务的子运算结果进行合并,进而得到目标任务的执行结果。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述任务执行方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,图3是根据本发明实施例的任务执行方法的流程图(二),用于反应目标任务的整体执行过程,具体如下:
步骤S302:获取排队任务(相当于上述实施例中目标对象选取的任务);
步骤S304:获取预测任务(相当于上述实施例中的任务预测模型预测的任务);
步骤S306:将排队任务和预测任务加入到任务列表,进而从任务列表中选取计算任务(相当于上述实施例中的目标任务)进行分解;
步骤S308:通过调度模块将计算任务分解后的子任务发送至与子任务相匹配的边缘计算节点;
步骤S310:边缘计算节点对分发的子任务进行计算,得到子运算结果;
步骤S312:将不同边缘计算节点的子运算结果进行合并,以得到计算任务的执行结果。
为了更好的理解上述步骤,图4是根据本发明实施例的任务执行方法的时序图,具体可以分为以下部分:本发明实现步骤如下:
(1)构建场景模型(相当于上述实施例中的任务预测模型)。场景模型包含特定场景下“人-环境-设备”的关系,用户在此场景下的历史操作行为,该业务领域下的生活常识,例如温度超过30度,需要通过空调调节温度。基于以上三部分内容,构建特定场景下的知识图谱。目的是基于知识图谱,根据已经开始执行的任务,关联可能执行的其他任务。
(2)网段间算力(相当于设备的计算能力)初始化:设备并连接到局域网之后,根据私有协议,获取同一网段下的设备信息,包括芯片型号、芯片配置、芯片运算特性(相当于上述实施例中的运算特征)(CPU、GPU、FPGA、指令集、架构平台(如X86、risk-V等))。对于芯片运算特性,可根据型号或者芯片类别进行判断,相应的,在局域网的平台侧会维护一个小型知识库,用于快速匹配设备。算力初始化用于统计该网段下可用的算力资源,并管理资源占用时间。
(3)任务输入:为主动或被动实现的对设备的具体操作及指令下发。
(4)任务预测:根据场景模型,以及输入的任务信息,预测可能执行的其他任务。预测的依据主要有以下两点,其中二者结果冲突时,以生活常识的推理结果为主:
生活常识:对应内容维护在知识图谱中,通过基于知识图谱的图模型推理实现。
用户个人习性:根据用户历史行为,建立用户个人习惯模型。
(5)任务列表:对输入的任务和预测的任务进行汇总。
(6)输出计算任务:基于已有的任务,对任务进行拆解。例如,一个人脸识别的任务,包括人脸识别(神经网络算法运行)、界面提示、逻辑判断等不同类型的计算任务,这些计算任务本身是解耦的,可以分别由不同终端(相当于上述实施例中的边缘计算节点)处理。现阶段通过算法实现任务的自动拆解,具体依据以下信息实现拆解过程:
1)是否涉及深度神经算法调用,如涉及,进一步判断神经算法的厂商信息,作为FPGA匹配的参考;
2)是否存在与、或、非逻辑判断,此过程借助代码检测进行判断。NLU技术实现对任务内容的理解;
3)如以上均不存在,则视为界面交互。
(7)匹配/分发:根据(6)中拆解出的计算任务,按设定逻辑匹配对应的芯片设备。具体逻辑如下:
1)如为神经网络算法,优先匹配厂商定制FPGA,无结果则优先匹配GPU;
2)如为逻辑运算,优先匹配具有高计算能力的CPU;
3)如为一般交互,优先匹配低计算能力的CPU。其中涉及图像显示的,优先匹配GPU。
(8)根据计算任务结果,以及任务与计算任务的分解关系,对计算结果进行合并。生成任务执行结果。这里需要注意的是,同一任务拆解出的计算任务中,可能存在严格的前后顺序,但不影响上述过程的实现。
(9)在指定设备输出任务处理结果。
此外,本发明实施例的上述技术方案,通过场景建模,实现对相关任务的预测,进而提前实现设备计算能力的规划;从工作任务中,根据运算特性的不同,分解出不同计算任务,需要说明的是,此处运算特性特指芯片的运算特性,进而可以提高任务的处理速度;通过不同任务形式与芯片之间的有机匹配,能够提高硬件利用率,也就是说,让每个芯片都处理自身更加擅长的计算任务,通过每个芯片效率的提升,实现整体硬件利用率的提升。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种任务执行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的任务执行装置的结构框图(一),该装置包括:
选取模块52,用于从目标设备的任务列表中选取目标任务;
拆分模块54,用于根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
发送模块56,用于根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
通过上述模块,将目标设备的任务列表中的目标任务根据目标任务的多个运算特征进行拆分,得到多个子任务,并根据多个子任务中每一个子任务的运算特征将每一个子任务发送给对应的边缘计算节点执行。采用上述技术方案,解决了目标设备在执行运算量较大的任务的过程中,不能根据运算特性将任务进行拆分并为拆分的子任务匹配不同的设备进行计算,导致任务的执行效率较低的问题。进而根据任务的运算特征将任务拆分多个子任务,并根据每一个子任务的运算特征将每一个子任务匹配对应的设备进行执行,提高了任务了执行效率,也提高了不同设备的使用率。
可选的,选取模块52还用于获取所述任务列表,其中,所述任务列表中的任务通过以下至少之一确定:目标对象在所述目标设备上选取的任务;基于任务预测模型根据所述目标对象所处的场景预测出的任务,其中,所述任务预测模型通过多组数据训练得到,所述多组数据中的每组数据包括:目标对象所处的场景,目标对象在所述场景选取的任务。
可选的,拆分模块54还用于确定所述目标任务在执行的过程中的多种运算方式;根据所述多种运算方式确定所述目标任务的多个运算特征。
可选的,发送模块56还用于获取与所述目标设备处在同一网络范围下的所有边缘计算节点的设备信息,其中,所述设备信息至少包括以下之一:所述边缘计算节点中芯片的芯片型号,所述芯片的运算特征,所述芯片的运算能力;根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点。
可选的,发送模块56还用于根据所述设备信息与所述每一个子任务的运算特性为所述每一个子任确定对应的边缘计算节点,其中,所述边缘计算节点中芯片的运算特征与所述每一个子任务的运算特征匹配,所述每一个子任务的运算量在所述芯片的运算能力之内。将所述每一个子任务发送至对应的边缘计算节点。
图6是根据本发明实施例的任务执行装置的结构框图(二),本实施例中的任务执行装置还包括:合并模块58。
可选的,合并模块58还用于获取所述每一个子任务对应的边缘计算节点的子运算结果;将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
可选的,合并模块58还用于确定所述每一个子任务的连接关系,其中,所述连接关系用于指示所述每一个子任务在所述目标任务执行过程中的执行顺序;根据所述连接关系将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标设备的任务列表中选取目标任务;
S2:根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
S3,根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,从目标设备的任务列表中选取目标任务;
S2:根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
S3,根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务执行方法,其特征在于,包括:
从目标设备的任务列表中选取目标任务;
根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
2.根据权利要求1所述的任务执行方法,其特征在于,从目标设备的任务列表中选取目标任务之前,所述方法还包括:
获取所述任务列表,其中,所述任务列表中的任务通过以下至少之一确定:
目标对象在所述目标设备上选取的任务;
基于任务预测模型根据所述目标对象所处的场景预测出的任务,其中,所述任务预测模型通过多组数据训练得到,所述多组数据中的每组数据包括:目标对象所处的场景,目标对象在所述场景选取的任务。
3.根据权利要求1所述的任务执行方法,其特征在于,根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务之前,所述方法还包括:
确定所述目标任务在执行的过程中的多种运算方式;
根据所述多种运算方式确定所述目标任务的多个运算特征。
4.根据权利要求3所述的任务执行方法,其特征在于,根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,包括:
获取与所述目标设备处在同一网络范围下的所有边缘计算节点的设备信息,其中,所述设备信息至少包括以下之一:所述边缘计算节点中芯片的芯片型号,所述芯片的运算特征,所述芯片的运算能力;
根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点。
5.根据权利要求4所述的任务执行方法,其特征在于,根据设备信息与所述每一个子任务的运算特性将所述每一个子任务发送至对应的边缘计算节点,包括:
根据所述设备信息与所述每一个子任务的运算特性为所述每一个子任务确定对应的边缘计算节点,其中,所述边缘计算节点中芯片的运算特征与所述每一个子任务的运算特征匹配,所述每一个子任务的运算量在所述芯片的运算能力之内;
将所述每一个子任务发送至对应的边缘计算节点。
6.根据权利要1所述的任务执行方法,其特征在于,指示所述每一个子任务对应的边缘计算节点执行对应的子任务之后,所述方法还包括:
获取所述每一个子任务对应的边缘计算节点的子运算结果;
将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
7.根据权利要求6所述的任务执行方法,其特征在于,将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果,包括:
确定所述每一个子任务的连接关系,其中,所述连接关系用于指示所述每一个子任务在所述目标任务执行过程中的执行顺序;
根据所述连接关系将所述每一个子任务的子运算结果进行合并,得到所述目标任务的执行结果。
8.一种任务执行装置,其特征在于,包括:
选取模块,用于从目标设备的任务列表中选取目标任务;
拆分模块,用于根据所述目标任务的多个运算特征对所述目标任务进行拆分,得到多个子任务,其中,所述运算特征用于指示所述目标任务在执行过程中的运算方式;
发送模块,用于根据所述多个子任务中每一个子任务的运算特征将所述每一个子任务发送至对应的边缘计算节点,并指示所述每一个子任务对应的边缘计算节点执行对应的子任务。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998708.0A CN113849302A (zh) | 2021-08-27 | 2021-08-27 | 任务执行方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998708.0A CN113849302A (zh) | 2021-08-27 | 2021-08-27 | 任务执行方法及装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849302A true CN113849302A (zh) | 2021-12-28 |
Family
ID=78976433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998708.0A Pending CN113849302A (zh) | 2021-08-27 | 2021-08-27 | 任务执行方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849302A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138450A (zh) * | 2022-02-07 | 2022-03-04 | 浙江大云物联科技有限公司 | 智慧路灯系统中复合任务调度方法、装置及可读存储介质 |
CN114567635A (zh) * | 2022-03-10 | 2022-05-31 | 深圳力维智联技术有限公司 | 边缘数据的处理方法、设备及计算机可读存储介质 |
CN115941258A (zh) * | 2022-10-26 | 2023-04-07 | 山东浪潮科学研究院有限公司 | 边缘计算任务分发方法、装置、设备及介质 |
-
2021
- 2021-08-27 CN CN202110998708.0A patent/CN113849302A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138450A (zh) * | 2022-02-07 | 2022-03-04 | 浙江大云物联科技有限公司 | 智慧路灯系统中复合任务调度方法、装置及可读存储介质 |
CN114138450B (zh) * | 2022-02-07 | 2022-04-29 | 浙江大云物联科技有限公司 | 智慧路灯系统中复合任务调度方法、装置及可读存储介质 |
CN114567635A (zh) * | 2022-03-10 | 2022-05-31 | 深圳力维智联技术有限公司 | 边缘数据的处理方法、设备及计算机可读存储介质 |
CN115941258A (zh) * | 2022-10-26 | 2023-04-07 | 山东浪潮科学研究院有限公司 | 边缘计算任务分发方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tran-Dang et al. | FRATO: Fog resource based adaptive task offloading for delay-minimizing IoT service provisioning | |
Sonmez et al. | Fuzzy workload orchestration for edge computing | |
De Maio et al. | First hop mobile offloading of dag computations | |
Van Le et al. | A deep reinforcement learning based offloading scheme in ad-hoc mobile clouds | |
CN113849302A (zh) | 任务执行方法及装置、存储介质及电子装置 | |
Lee et al. | An online secretary framework for fog network formation with minimal latency | |
CN109669768B (zh) | 一种面向边云结合架构的资源分配和任务调度方法 | |
JP2021525402A (ja) | モバイルエッジコンピューティングのシナリオでシングルタスクオフロード戦略を策定する方法 | |
JP6380110B2 (ja) | リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム | |
CN110069341B (zh) | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 | |
US20220083386A1 (en) | Method and system for neural network execution distribution | |
US20140055347A1 (en) | Imaging task pipeline acceleration | |
Bak et al. | Synthesis of real-time cloud applications for Internet of Things | |
Mahini et al. | An evolutionary game approach to IoT task offloading in fog-cloud computing | |
Liu et al. | ERP: Edge resource pooling for data stream mobile computing | |
CN105144109A (zh) | 分布式数据中心技术 | |
Shafik et al. | Fog-mobile edge performance evaluation and analysis on internet of things | |
CN113033814A (zh) | 训练机器学习模型的方法、装置以及存储介质 | |
CN111447143A (zh) | 业务服务数据传输方法、装置、计算机设备和存储介质 | |
Chen et al. | Distributed orchestration of service function chains for edge intelligence in the industrial internet of things | |
Maia et al. | A multi-objective service placement and load distribution in edge computing | |
Cañete et al. | Energy-efficient deployment of IoT applications in edge-based infrastructures: A software product line approach | |
Dai et al. | A multi-objective optimization algorithm of task scheduling in WSN | |
Huang et al. | Server placement and task allocation for load balancing in edge-computing networks | |
CN114546646A (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 |