一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理方法和处理装置与流程

2022-06-01 18:02:42 来源:中国专利 TAG:


1.本技术属于资源分配与任务调度技术领域,尤其涉及一种处理方法和处理装置。


背景技术:

2.边缘计算的目标旨在通过多个边缘设备为计算任务提供算力资源。传统的边缘网络任务分配策略,一般是通过考虑相应因素(如,最大资源满足优先,最小时延优先等)在多个边缘设备间为任务进行设备选配,实现任务分配,该分配方式基于资源满足或最小时延等因素简单将任务派发给相应边缘设备进行处理,难以满足高效、合理的任务分配要求,尤其在任务量较大的情况下,该问题更为凸显。


技术实现要素:

3.为此,本技术公开如下技术方案:
4.一种处理方法,应用于第一电子设备,所述方法包括:
5.响应于获得一目标任务,获得至少一第二电子设备的负载信息,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
6.至少基于所述负载信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
7.基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备。
8.可选的,获得至少一第二电子设备的负载信息,包括:
9.按照第一间隔时长周期性地获取所述第二电子设备的负载信息;或,
10.监测到第二电子设备与所述第一电子设备建立所述关联关系或解除所述关联关系,获取与所述第一电子设备具有所述关联关系的第二电子设备的负载信息;或,
11.基于对应的资源模型获取所述负载信息;
12.其中,所述资源模型为:由第二电子设备的多个单一维度资源参数的参数值及组合维度资源参数中不同参数的相关性数值构成的多维特征向量,所述资源模型中的至少部分资源参数的参数值能用于表征所述第二电子设备的负载情况。
13.可选的,所述至少基于所述负载信息确定目标分配策略,包括:
14.基于所述负载信息和所述目标任务计算不同分配策略的目标值,基于所述目标值确定所述目标分配策略,其中,所述目标值能够表征具有所述关联关系的各电子设备之间的负载均衡情况。
15.可选的,所述至少基于所述负载信息确定目标分配策略,包括:
16.根据所述目标任务的任务信息和所述至少一第二电子设备的负载信息,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略;
17.其中,所述分配模型为基于强化学习算法训练的神经网络模型。
18.可选的,上述方法基于强化学习算法计算不同分配策略的收益值,并拟合不同分
配策略的实际收益值,训练得到满足拟合要求的神经网络模型,作为所述分配模型。
19.可选的,所述根据所述目标任务的任务信息和所述至少一第二电子设备的负载信息,利用构建的分配模型,为所述目标任务确定对应的分配策略,包括:
20.将所述任务信息和所述负载信息输入所述分配模型;
21.通过所述分配模型的状态感知器将每一第二电子设备分别对应的负载信息,映射成所述分配模型的内部感知环境条件;
22.通过所述分配模型的动作选择器为所述任务信息和所述内部感知环境条件生成并输出包括任务分发策略和资源限制策略的目标分配策略;
23.其中,所述目标分配策略,能用于在将所述目标任务的不同目标子任务分配至对应的第二电子设备后,使所述不同目标子任务在对应第二电子设备的执行性能满足预设性能要求,且使接收到目标子任务的每个第二电子设备中目标子任务的资源占用满足预设资源均衡要求。
24.可选的,所述资源限制策略包括:所述目标任务的不同目标子任务在对应的第二电子设备能占用的资源类型和/或资源占用量上限值。
25.可选的,所述基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,包括:
26.通过远程过程调用机制对所述目标子任务执行数据序列化,按照所述目标分配策略传输给对应的第二电子设备,以在所述第二电子设备执行数据反序列化和以对应服务处理所述目标子任务后,接收所述第二电子设备反馈的执行结果。
27.可选的,上述方法,还包括:
28.获得每一第二电子设备反馈的针对所述目标子任务的执行结果;
29.至少基于所述目标子任务的信息对所述执行结果进行拼接处理,得到所述目标任务的处理结果;且/或,
30.卸载所述目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
31.一种处理装置,包括:
32.获取模块,用于响应于获得一目标任务,获得至少一第二电子设备的负载信息,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
33.确定模块,用于至少基于所述负载信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
34.分配模块,用于基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备。
35.本技术实施例还公开一种第一电子设备,包括:
36.存储器,用于至少存储一组指令集;
37.处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集实现如上文任一项所述的处理方法。
38.另外,本技术实施例还公开一种存储介质,所述存储介质上至少存储有一组计算机指令集,计算机指令集在运行时用于实现如上文任一项公开的处理方法。
39.由以上方案可知,本技术公开的处理方法和处理装置,响应于获得一目标任务,获得至少一第二电子设备的负载信息(第二电子设备与第一电子设备至少具有空间上的关联
关系),并至少基于获得的各第二电子设备的负载信息确定目标分配策略,之后基于目标分配策略将目标任务的不同目标子任务的至少部分均衡地分配到对应的第二电子设备。本技术综合考虑用于提供算力共享的至少一第二电子设备的负载信息,来为目标任务确定相适配的目标分配策略,并在此基础上将目标任务的目标子任务的至少部分均衡地分配到对应的第二电子设备,可更好的满足高效、合理的任务分配要求,使得边缘网络等场景中各设备之间负载均衡,各设备间的任务分配更为合理。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1是本技术提供的处理方法的一种流程示意图;
42.图2是本技术提供的基于边缘网络各设备的负载信息进行任务/资源均衡分配的示意图;
43.图3是本技术提供的基于边缘网络各设备的负载信息进行模型训练的示意图;
44.图4是本技术提供的利用分配模型确定分配策略的过程图;
45.图5是本技术提供的对单一任务按任务块进行分发的一个示例;
46.图6是本技术提供的处理方法的另一种流程示意图;
47.图7是本技术提供的处理方法的又一种流程示意图;
48.图8是本技术提供的处理装置的组成结构图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.本技术公开一种处理方法和处理装置,用于针对边缘网络等能用于为计算任务提供算力资源共享的网络,实现对计算任务更为合理、均衡的资源分配。
51.本技术公开的处理方法可应用于第一电子设备,第一电子设备可以是但不限于众多通用或专用的计算装置环境或配置下的设备,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、手机、电子手表、ar/vr设备、多处理器装置、各种嵌入式设备等等。本技术方法的一典型应用场景是,第一电子设备利用边缘网络中的边缘设备提供的算力资源来协作处理第一电子设备上的计算任务,该应用场景中,第一电子设备相应可以是边缘网络中的某一边缘设备,或者,还可以是独立于边缘网络并需调用边缘网络所提供的算力资源进行任务协作的设备,如云服务器等;当然本技术公开的技术方案主要应用于边缘网络场景或某一具体的空间内,如家庭空间、办公区域、学校、教室、甚至会议室等不同空间范围的具体空间内,所述具体空间内具有多个能够组成边缘网络的电子设备。
52.边缘网络就近利用周边的一些小算力终端(如,笔记本电脑、手机、平板等)作为边
缘设备,来提供高质量的计算服务。边缘网络中的边缘设备/边缘节点相应为构成边缘网络的各个小算力终端。
53.本技术实施例公开的处理方法的实现过程如图1所示,具体包括:
54.步骤101、响应于获得一目标任务,获得至少一第二电子设备的负载信息,第二电子设备与第一电子设备至少具有空间上的关联关系。
55.目标任务可以是但不限于第一电子设备获得的ai(artificial intelligence,人工智能)模型训练任务、音视频剪辑任务、图像渲染任务等等。
56.上述至少一个第二电子设备分别为能用于提供算力共享服务的设备,可选的,为边缘网络中的各个边缘设备。
57.第二电子设备与第一电子设备至少具有空间上的关联关系,可以是指,第一电子设备与第二电子设备属于同一边缘网络、均处于所属的边缘网络对应的网络空间范围,如均为家庭网络中的设备或公司网络中的设备等;或者,还可以是指,第一电子设备和第二电子设备未处于同一局域网,但能通过通信网络完成相互间的通信,如第一电子设备为独立于由多个第二电子设备构成的边缘网络的云服务器,并能够借助网关通过通信网络与边缘网络中的小算力终端进行通信交互等,对此不做限制。
58.响应于获得一目标任务,第一电子设备获得至少一第二电子设备的负载信息,如获得边缘网络中各个第二电子设备的负载信息。
59.在一实施方式中,第一电子设备按照第一间隔时长周期性地获取各第二电子设备的负载信息。进一步,可选的,第一电子设备可预先确定轮询算法,其中,轮询算法包括但不限于轮询周期、一次轮询过程中对各第二电子设备的访问顺序等轮询策略相关信息,轮询周期用于指示前后相邻的两次轮询事件之间的时间间隔,如30s、60s等。第一电子设备相应按照确定的轮询算法周期性的轮询式获取至少一第二电子设备的负载信息。
60.针对边缘设备间形成的自组织网络拓扑结构(即边缘网络的网络结构)的不断变化且不可预测特征,考虑到设备可能随时接入边缘网络或离开边缘网络,在其他实施方式中,本技术监测第二电子设备与第一电子设备建立上述关联关系或解除上述关联关系的事件,基于监测到建立上述关联关系或解除上述关联关系的事件,获取与第一电子设备具有上述关联关系的各第二电子设备的负载信息,以在有设备接入(新加入)或离开边缘网络时,及时、有针对性的获取当前属于边缘网络(即,能有效提供算力服务)的相应第二电子设备的负载信息。
61.本步骤101中,第一电子设备基于响应于获得一目标任务,获得至少一第二电子设备的资源类型、资源标识和各类型资源的使用情况,并将获得的这些信息作为上述至少一第二电子设备的负载信息。
62.其中,上述的资源类型包括但不限于处理器资源、磁盘资源、内存资源、寄存器资源等多种与算力相关的资源类型;资源标识包括但不限于硬盘型号、处理器型号等相关标识信息;各类型资源的使用情况包括但不限于第二电子设备当前各类型资源的占用率、设备上运行的线程数/进程数、任务数、可用带宽、数据流流量、数据传输速率、拥塞情况信息等中的部分或全部信息。
63.在其他实施方式中,第一电子设备在基于响应于获得一目标任务,获得至少一第二电子设备的资源类型、资源标识和各类型资源的使用情况后,不直接将这些信息作为第
二电子设备的负载信息,而是进一步基于获得的上述信息对该至少一第二电子设备进行资源建模,即,基于每一第二电子设备的资源类型、资源标识和各类型资源使用信息中的各种参数及指标值,对应构建每一第二子设备的资源模型,资源模型本质体现的是第二电子设备的资源及资源使用情况,能够表征设备负载情况,本实施方式相应将每一第二电子设备的资源模型作为第二电子设备的负载信息。
64.具体的,基于第二电子设备的不同资源类型、资源标识、不同类型资源的占用率、线程数/进程数、任务数、可用带宽、数据流流量、数据传输速率、拥塞率等等,对应构建第二子设备的资源的多维特征向量,该多维特征向量即为第二子设备的资源模型,也即为第二子设备的负载信息。通过资源建模,可以获知并支持用户查看边缘网络整体网络下各个第二电子设备的负载状况/资源及资源使用状况。
65.另外,可选的,实施中,所获得的资源参数及负载情况,也可以包括第一电子设备的资源参数及负载情况,以反映整个网络下的资源状况或负载情况,结合整个网络下的资源状况或负载情况进行任务分配。
66.申请人发现,算力共享技术中,算力共享网络(如边缘网络)的负载模型建模面临的主要挑战,源于多维资源耦合的复杂网络环境,基于此,本技术实施例在设备资源的多维特征向量包括上述各单一维度参数/指标的情况下,进一步从“多维资源耦合角度”向边缘网络下设备资源的多维特征向量引入组合维度资源参数/指标,组合维度资源参数/指标是指由多个(如2个、3个等)具有相关性的单一维度资源参数/指标构成的参数/指标组合,包括但不限于“数据流流量-数据传输速率”、“拥塞情况-可用带宽”、“内存占用率-cpu占用率-磁盘占用率”等等。设备负载的一个多维特征向量包括的组合维度资源参数/指标的数量可以为一个或多个,通过引入组合维度资源参数/指标,来解决多维资源耦合的复杂网络环境中设备节点的资源表征问题,进一步优化资源建模中设备的资源模型结构,相应实现对设备负载的多维度、全方位合理表征。
67.其中,具体可通过统计学中的多元相关性分析方法,确定组合维度资源参数/指标中不同资源参数/指标之间的相关性数值(相关系数),并将确定的相关性数值(相关系数),作为第二电子设备资源的多维特征向量的一个分量。也就是说,该实施方式下,第二电子设备对应的资源模型(也即负载信息)为:由第二电子设备的多个单一维度资源参数的参数值及组合维度资源参数中不同参数的相关性数值构成的多维特征向量。
68.另外,申请人还发现,不同类型(如,不同操作系统/硬件平台)的设备,因其系统、配置的不同,具备相关性的参数/指标组合可能不同,相同参数/指标组合间的相关程度也可能不同,因此优选的,实际应用中,至少针对不同类型的第二电子设备分别进行参数/指标信息采集,并分别分析其不同参数/指标间是否具备相关性,以及实际的相关性数值。
69.步骤102、至少基于获得的负载信息确定目标分配策略,目标分配策略至少用于将目标任务分为至少两目标子任务。
70.其中,可基于获得的至少一第二电子设备的负载信息,和目标任务的任务信息计算不同分配策略的目标值,基于不同分配策略的目标值确定目标分配策略,如,选取对应的目标值最高的分配策略,或选取对应的目标值属于top
_
k目标值的任一分配策略作为目标分配策略等,k为大于1的整数。
71.分配策略的目标值,至少能够表征按该分配策略将目标任务的不同目标子任务分
配至对应的第二电子设备后,具有上述关联关系的各电子设备之间的负载均衡情况。分配策略对应的目标值越大,表征具有上述关联关系的各电子设备之间的负载均衡程度越高。可选的,分配策略的目标值,可以是基于边缘网络的历史分配策略对应的各电子设备之间的历史负载均衡情况,为分配策略预估的一负载均衡度评分,或基于强化学习(q-learning)算法计算出的分配策略的q值(收益值),对此不作限制,其中,分配策略的q值至少能够指征分配策略在各电子设备负载均衡方面的效益值。
72.优选的,本技术实施例根据目标任务的任务信息和上述至少一第二电子设备的负载信息,利用构建的分配模型,为目标任务确定对应的分配策略,作为上述的目标分配策略。
73.目标任务的任务信息,包括但不限于目标任务的类型、待处理的数据量、任务复杂度、任务速率要求/执行稳定性要求等中的任一种或多种信息。
74.上述分配模型可以是但不限于基于强化学习算法训练的神经网络模型。如,具体采用强化学习q-learning中的dqn(deep q network)算法训练一“负载数据-分配策略”的dnn(deep neural networks,深度神经网络)模型,以将训练得到的dnn模型作为分配模型,来最佳求解边缘网络等算力共享网络的任务/资源分配问题等。
75.该实施方式下,基于强化学习算法计算不同分配策略的收益值,并拟合不同分配策略的实际收益值,训练得到满足拟合要求的神经网络模型,作为所述分配模型。具体的,在模型的每一轮训练过程中,边缘网络下各第二电子设备的负载的多维特征向量中每一参数/分量均参与基于q-learning的dnn训练,通过多轮训练过程使模型计算的各分配策略的收益值不断逼近边缘网络下各分配策略的实际收益,直至模型计算的各分配策略的收益值对各分配策略实际收益值的拟合达到设定的拟合条件时,完成模型训练,得到分配模型。
76.拟合条件可以但不限于设定为:模型的迭代训练次数达到设定阈值,或模型损失不高于设定损失率。
77.进一步,示例性的,结合参见图2与图3,可通过一资源采集与调度manager并基于设定的周期性轮询算法,周期性从边缘网络的多个边缘设备获取其当前的负载信息,随后根据平衡性调度算法的设计,使用强化学习q-learning的方式计算不同资源分配策略的q值,储存在经验池中,经验池中同时储存有人工指定的各种分配策略及模型训练过程中通过学习得到一些中间分配策略,接下来每个epoch(训练周期)从经验池中抽取mini-batch(一批样本)进行训练,并运用梯度下降法,以边缘网络下各设备的任务/资源分配均衡为优化目标更新dqn神经网络的参数。经过若干轮训练后,dqn神经网络趋向于收敛,能够较好地拟合出所有分配策略的q值,此时配置模型选取最大q值对应的分配策略,即可使模型实现任务/资源分配的效益最大化,dqn神经网络趋向于收敛相应达到优化目标时所得的模型,即为dnn模型,并将其作为本技术的上述分配模型。
78.图2中的资源采集与调度manager,以及基于q-learning的平衡性调度算法,可以部署在网关设备或第一电子设备上,对此不作限制。
79.其中,训练所得的分配模型包括状态感知器和动作选择器。
80.如图4所示,根据目标任务的任务信息和上述至少一第二电子设备的负载信息,利用构建的分配模型,为目标任务确定对应的分配策略的过程,具体包括:
81.步骤401、将目标任务的任务信息和上述至少一第二电子设备的负载信息输入分
配模型。
82.步骤402、通过分配模型的状态感知器将各个第二设备分别对应的负载信息,映射成分配模型的内部感知环境条件。
83.也就是说,分配模型的状态感知器负责将各个第二设备分别对应的负载信息,映射成分配模型能够内部感知的环境条件信息,并将其作为目标任务的分配策略确定需基于的环境条件。
84.步骤403、通过分配模型的动作选择器为目标任务的任务信息和上述内部感知环境条件生成并输出包括任务分发策略和资源限制策略的目标分配策略。
85.分配模型的动作选择器,基于目标任务的任务信息和内部感知环境条件,计算经验池中不同分配策略(人工指定的各种分配策略及模型训练过程中通过学习得到一些中间分配策略)的q值,并输出q值最大的分配策略作为目标分配策略。
86.其中,目标分配策略包括任务分发策略和资源限制策略。
87.任务分发策略为用于对目标任务进行任务分发的策略,包括但不限于以下策略信息中的至少部分:将目标任务拆解成几个目标子任务、按怎样的拆分方式(如各子任务分别对应怎样的任务量)拆解目标任务、每个目标子任务对应分发至边缘网络下的哪个节点(即哪个第二电子设备)等等。
88.资源限制策略用于限制目标任务的不同目标子任务在对应分发到的第二设备所占用的资源,可选的,资源限制策略具体包括:目标任务的不同目标子任务在对应第二电子设备能占用的资源类型和/或资源占用量上限值。
89.进一步,优选的,上述目标分配策略,还能用于在将目标任务的不同目标子任务分配至对应的第二电子设备后,使不同目标子任务在对应第二电子设备的执行性能满足预设性能要求,且使接收到目标子任务的每个第二电子设备中目标子任务的资源占用满足预设资源均衡要求。
90.预设性能要求,包括但不限于,限定子任务的执行稳定性需满足设定的稳定性要求,和/或任务执行效率不低于设置的任务效率下限值等要求信息。预设性能要求,可以是目标任务自配置的要求或负责任务协作的第二电子设备为任务设定的要求,对此不作限制。预设资源均衡要求,包括但不限于不同任务分别基于其任务量(或者,还可以结合任务优先级、重要性、紧迫度等其他因素)相对均衡地占用设备资源。
91.也就是说,确定的目标分配策略,在能够使不同目标子任务在对应第二电子设备的执行性能满足预设性能要求的情况下,不仅能够从整体网络的负载均衡角度将目标任务的至少部分目标子任务相对均衡地分发至对应的第二电子设备,还能够从局部的单独设备角度使接收到目标子任务的每个第二电子设备中各个任务的资源占用相对均衡。
92.具体的,目标分配策略,通过任务分发策略决定将目标任务按怎样的拆解方式拆解并指派至边缘网络的哪些节点,以此实现边缘网络全局角度的任务分配的均衡性、合理性,并通过资源限制策略进一步约束每一目标子任务在对应分配的第二电子设备中能够占用哪些类型的资源、哪些类型资源不能占用,以及对于能够占用的资源类型实际不能超出怎样的占用量,以此实现从局部角度约束每一子任务在所处设备的资源使用情况,达到边缘网络中每个单独设备上不同任务资源分配的均衡性,以避免新分配的目标子任务对所对应第二电子设备的在执行和/或待执行任务进行不合理的资源抢占。
93.上述的分配模型,可以是预先构建的,也可以是当前构建的,对此不作限制。
94.步骤103、基于目标分配策略将目标子任务的至少部分均衡地分配到对应的第二电子设备。
95.在针对目标任务确定出对应的目标分配策略后,按目标分配策略将目标任务的各个目标子任务的至少部分均衡地分配到对应的第二电子设备,以至少保证与第一电子设备存在上述关联关系的各第二电子设备间的负载均衡。
96.具体的,基于目标分配策略中的任务分发策略,将目标任务的不同目标子任务分配至对应的第二设备,并基于目标分配策略中的资源限制策略,向对应的第二设备传输与所分配的目标子任务相匹配的资源限制信息,以使相应第二设备基于接收的资源限制信息,控制目标子任务执行过程中所占用的资源类型和/或对相应类型资源的占用量。
97.可选的,第一电子设备通过远程过程调用机制对目标任务的各个目标子任务执行数据序列化,并按照目标分配策略将完成序列化的各个目标子任务传输给对应的第二电子设备,以在第二电子设备执行数据反序列化和以对应服务处理目标子任务后,接收第二电子设备反馈的执行结果。
98.本技术实施例中,远程过程调用基于网络套接字(socket)以动态代理模式的方式实现,具体在第一电子设备及第二电子设备端封装有基于rpc代理类实现的rpc代理,和rpc代理类所依赖的socket组件,通过rpc代理实现远程过程调用。rpc代理包括socket连接管理、序列化和发送/接收等子模块,其中,socket连接管理子模块利用socket组件完成不同设备间或同一设备不同进程间的通信、序列化子模块负责对数据的序列化工作,如利用pickle在数据传输前完成对数据的序列化工作等,发送/接收等子模块负责数据的收发。
99.且具体的,rpc代理分为客户端和服务端两个模块,其中,客户端提供任务协作发起设备(如第一电子设备)端功能,服务端提供协作设备(如第二电子设备)端功能,以支持电子设备既可以基于客户端身份发送数据(如请求数据或任务数据),又可以基于服务端身份接收数据(如接收分配的目标子任务)。其中,客户端通过rpc代理将数据序列化后通过socket传输给服务端,服务端通过rpc代理反序列化数据并对数据进行所需处理(如对目标子任务的任务处理)后再以同样的方式返回给客户端,即,基于rpc代理将数据序列化后通过socket返回给客户端。
100.由以上方案可知,本实施例的方法,综合考虑用于提供算力共享的至少一第二电子设备的负载信息,来为目标任务确定相适配的目标分配策略,并在此基础上将目标任务的目标子任务的至少部分均衡地分配到对应的第二电子设备,可更好的满足高效、合理的任务分配要求,使得边缘网络等场景中各设备之间负载均衡,各设备间的任务分配更为合理。且,通过进一步从“多维资源耦合角度”向边缘网络下设备负载的多维特征向量引入组合维度资源参数/指标,能更完备的表征边缘网络下各设备负载的信息结构,使负载信息结构更为合理,相应使基于该信息结构训练得到的分配模型,能更精准地确定边缘网络等算力共享网络下的任务/资源分配策略,使网络的任务/资源分配更为合理、均衡。
101.另外,传统技术中,任务执行基于资源抢占方式进行,本技术通过在目标分配策略包括任务分发策略的基础上,进一步向目标分配策略中引入各个子任务在对应设备上所占用资源的资源限制信息,避免了新分配的子任务对所对应设备上的在执行和/或待执行任务进行不合理的资源抢占,相应进一步保证了设备上各任务的资源占用均衡性及任务执行
的稳定性。
102.可选的,第一电子设备获得的待分配的目标任务,可以是批量的待处理任务或单个任务,对此不作限制。
103.针对目标任务为批量待处理任务的情况,目标任务的各个目标子任务,为批量待处理任务中的不同任务,和/或对批量待处理任务至少部分任务中的每个单一任务进行拆解所得的相应任务块,通过将批量待处理任务的不同任务和/或至少部分任务中每个单一任务的相应任务块,根据边缘网络中不同电子设备的负载情况均衡地分发至不同设备进行任务协作,最终得到批量待处理任务的处理结果。
104.针对目标任务为单一任务的情况,目标任务的各个目标子任务,为对该单一任务进行任务拆解所得的各个任务块,通过将该单一任务的各个任务块,根据边缘网络中不同电子设备的负载情况均衡地分发至不同设备进行任务协作,最终得到该单一任务的处理结果。参见图5的示例,该示例中,目标任务为单一图像渲染任务,本实施例将单一图像拆解成三个图像块,并分别分发至边缘网络的三个边缘设备进行渲染,实现单一图像渲染任务的任务协作。
105.针对批量待处理任务或单一任务形式的目标任务,具体可向分配模型输入目标任务的任务信息及获得的至少一第二电子设备的负载信息,由分配模型输出的目标分配策略决定将批量待处理任务或单一任务拆分为多个目标子任务的拆分方式,如拆分成几个目标子任务,各目标子任务对应怎样的任务量等,同时,分配模型输出的目标分配策略还包括将各目标子任务对应指派至相应节点的指派信息,及各目标子任务分别在对应设备上所占用资源的资源限制信息。
106.但不限于此,在其他实施方式中,也可以预先在模型输入之前,按设定的拆分策略将批量待处理任务或单一任务形式的目标任务拆分成多个目标子任务,如按设定的单位任务数据量对批量待处理任务或单一任务进行任务拆分等,并向分配模型输入各目标子任务的任务信息及至少一第二电子设备的负载信息,由分配模型直接输出仅包括上述指派信息及资源占用限制信息的目标分配策略。实施中,可根据实际情况选择所需的实现方式。
107.传统方式在以任务队列等形式接收用户任务后,将完整的用户任务分发给某一电子设备进行处理。该方式方法无法整合后台不同电子设备的主机资源,容易导致不同设备间负荷不均匀的现象,如某一台设备负载特别高、而其他的设备由于性能差异没有安排到任务,从而造成算力资源的浪费,本实施例通过利用分配模型或设定的拆分策略将单一任务拆解成多个任务块,并结合不同电子设备的负载情况将不同任务块均衡地分配到边缘网络的不同设备,进一步解决了传统技术的完整任务分发方式导致的不同设备负载不均衡现象,进一步提升了不同设备间任务分配的合理性。
108.在一实施例中,参见图6提供的处理方法流程图,本技术公开的处理方法,在步骤103之后,还可以包括:
109.步骤104、获得每一第二电子设备反馈的针对相应目标子任务的执行结果。
110.具体的,第一电子设备上的rpc代理类,调用所依赖的socket组件与各参与任务协作的第二电子设备进行设备间通信,通过设备间通信接收各第二电子设备反馈的相应目标子任务的执行结果,并对其反序列化。
111.步骤105、至少基于目标子任务的信息对接收的执行结果进行拼接处理,得到目标
任务的处理结果。
112.第一电子设备接收到各第二电子设备的执行结果并完成反序列后,至少基于目标子任务的信息对反序列化后的执行结果进行拼接处理。
113.示例性的,目标任务为串流数据,相应可按各个目标子任务的时序对各个目标子任务的执行结果进行拼接处理,得到目标任务的处理结果。
114.在其他实施方式中,目标任务为非串流数据,该实施方式中,按各个执行结果所对应的目标子任务的任务标识/标签,对各个执行结果进行拼接处理,得到目标任务的处理结果。其中,各个执行结果所对应的目标子任务的任务标识/标签之间的关联,表征不同目标子任务之间的逻辑关联,如,序号相邻的标签表征对应的两个目标子任务在目标任务中为逻辑上耦合的两个任务块。通过对各个目标子任务的拼接处理得到目标任务的处理结果。
115.除了目标子任务的信息,可选的,还可以但不限于基于设备信息、时间信息、任务信息等任意一种或多种其他信息进行拼接处理,对此不做限制。
116.需要说明的是,第一电子设备可以参与或不参与对目标任务的协作处理,对此不作限制,可视实际情况而定,如果第一电子设备在目标任务执行过程中参与任务协作,则第一电子设备对对应目标子任务的执行结果同样参与拼接处理,如按其对应的时序参与拼接,或按其对应的任务标识/标签参与拼接等。
117.由于目标任务的各目标子任务在任务分配阶段,不仅综合考虑边缘网络中各设备的负载情况对任务进行分发,还考虑了每一设备的资源状况限制目标子任务在所对应设备的资源占用信息,从而,从全局网络角度及网络中单一设备角度保证了任务分配/资源分配的合理性,避免了网络中不同设备间负载不均衡的现象及单一设备上因某任务不合理抢占资源导致对其他在执行和/或待执行任务的任务执行产生影响。
118.在一实施例中,参见图7提供的处理方法流程图,本技术公开的处理方法,在步骤105之后,还可以包括:
119.步骤106、卸载目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
120.可选的,在得到目标任务的执行结果后,第一电子设备进一步执行对目标任务的卸载操作,包括但不限于从待执行列表中删除任务,以及释放目标任务对应的资源,如释放目标任务的相关任务数据、中间数据所占用的cpu等计算资源,和/或磁盘/内存/寄存器等存储资源。
121.除此之外,第一电子设备还向参与任务协作的各个第二电子设备发送通知信息,各个第二电子设备基于接收的通知信息卸载对应的目标子任务,包括但不限于从待执行列表中删除对应的目标子任务,以及释放目标子任务对应的资源。
122.本实施例在通过拼接子任务执行结果得到任务的执行结果后,及时在参与协作的各个电子设备上对已协作完成的任务进行卸载,尽可能节省了对各个电子设备的资源占用。
123.对应于上述方法,本技术实施例还公开一种处理装置,该装置的组成结构如图8所示,具体包括:
124.获取模块801,用于响应于获得一目标任务,获得至少一第二电子设备的负载信息,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
125.确定模块802,用于至少基于所述负载信息确定目标分配策略,所述目标分配策略
至少用于将所述目标任务分为至少两目标子任务;
126.分配模块803,用于基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备。
127.在一实施方式中,获取模块801,具体用于:
128.按照第一间隔时长周期性地获取所述第二电子设备的负载信息;或,
129.监测到第二电子设备与所述第一电子设备建立所述关联关系或解除所述关联关系,获取与所述第一电子设备具有所述关联关系的第二电子设备的负载信息;或,
130.基于对应的资源模型获取所述负载信息;
131.其中,所述资源模型为:由第二电子设备的多个单一维度资源参数的参数值及组合维度资源参数中不同参数的相关性数值构成的多维特征向量,所述资源模型中的至少部分资源参数的参数值能用于表征所述第二电子设备的负载情况。
132.在一实施方式中,确定模块802,具体用于:
133.基于所述负载信息和所述目标任务计算不同分配策略的目标值,基于所述目标值确定所述目标分配策略,其中,所述目标值能够表征具有所述关联关系的各电子设备之间的负载均衡情况。
134.在一实施方式中,确定模块802,具体用于:
135.根据所述目标任务的任务信息和所述至少一第二电子设备的负载信息,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略;
136.其中,所述分配模型为基于强化学习算法训练的神经网络模型。
137.在一实施方式中,基于强化学习算法计算不同分配策略的收益值,并拟合不同分配策略的实际收益值,训练得到满足拟合要求的神经网络模型,作为所述分配模型。
138.在一实施方式中,确定模块802,在根据所述目标任务的任务信息和所述至少一第二电子设备的负载信息,利用构建的分配模型,为所述目标任务确定对应的分配策略时,具体用于:
139.将所述任务信息和所述负载信息输入所述分配模型;
140.通过所述分配模型的状态感知器将每一第二电子设备分别对应的负载信息,映射成所述分配模型的内部感知环境条件;
141.通过所述分配模型的动作选择器为所述任务信息和所述内部感知环境条件生成并输出包括任务分发策略和资源限制策略的目标分配策略;
142.其中,所述目标分配策略,能用于在将所述目标任务的不同目标子任务分配至对应的第二电子设备后,使所述不同目标子任务在对应第二电子设备的执行性能满足预设性能要求,且使接收到目标子任务的每个第二电子设备中目标子任务的资源占用满足预设资源均衡要求。
143.在一实施方式中,资源限制策略包括:所述目标任务的不同目标子任务在对应第二电子设备能占用的资源类型和/或资源占用量上限值。
144.在一实施方式中,分配模块803,具体用于:
145.通过远程过程调用机制对所述目标子任务执行数据序列化,按照所述目标分配策略传输给对应的第二电子设备,以在所述第二电子设备执行数据反序列化和以对应服务处理所述目标子任务后,接收所述第二电子设备反馈的执行结果。
146.在一实施方式中,上述装置还包括:
147.拼接模块,用于:获得每一第二电子设备反馈的针对所述目标子任务的执行结果;至少基于所述目标子任务的信息对所述执行结果进行拼接处理,得到所述目标任务的处理结果;且/或,
148.卸载模块,用于卸载所述目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
149.对于本技术实施例公开的处理装置而言,由于其与上文方法实施例公开的专业数据的处理方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例的说明即可,此处不再详述。
150.另外,本技术实施例还公开一种第一电子设备,可以是但不限于众多通用或专用的计算装置环境或配置下的设备,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置等等。
151.第一电子设备的组成结构,至少包括:
152.存储器,用于存放计算机指令集;
153.计算机指令集可以通过计算机程序的形式实现。
154.处理器,用于通过执行计算机指令集,实现如上文任一方法实施例公开的处理方法。
155.处理器可以为中央处理器(central processing unit,cpu),特定应用集成电路(application-specific integrated circuit,asic),数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件等。
156.除此之外,第一电子设备还可以包括通信接口、通信总线等组成部分。存储器、处理器和通信接口通过通信总线完成相互间的通信。
157.通信接口用于电子设备与其他设备之间的通信。通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等,该通信总线可以分为地址总线、数据总线、控制总线等。
158.本技术实施例还公开一种存储介质,所述存储介质上至少存储有一组计算机指令集,计算机指令集可以通过计算机程序的形式实现,计算机指令集在运行时用于实现如上文任一方法实施例公开的处理方法。
159.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
160.为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
161.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
162.最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
163.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献