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

计算任务部署方法、装置、电子设备及存储介质与流程

2022-04-30 08:37:00 来源:中国专利 TAG:


1.本技术涉及软件技术领域,尤其涉及一种计算任务部署方法、装置、电子设备及存储介质。


背景技术:

2.在当前的计算网络中,计算任务达到计算网络之后,通常由接收该计算任务的计算节点对计算任务进行计算。但是当前计算任务越来越复杂,仅由当前节点进行计算不能满足计算任务的计算需求。此时,边缘计算节点可以将计算任务发送到其他计算节点,由其他计算节点进行计算并向返回计算结果。
3.但是,在相关技术中,一个计算任务通常由一个计算节点计算完成。随着计算任务的复杂度增加,计算任务所需的资源增加,单一计算节点的资源将无法满足计算任务的计算需求,进而导致计算任务部署失败。


技术实现要素:

4.本技术提供一种计算任务部署方法、装置、电子设备及存储介质,能够解决现有技术中单一计算节点的计算资源将无法满足计算任务的计算需求的问题。
5.第一方面,提供一种计算任务部署方法,包括:获取计算任务;将计算任务分解为多个子计算任务;根据多个子计算任务,确定多个子计算任务组;多个子计算任务组中的每个子计算任务组包括相同计算类型的至少一个子计算任务;确定各个子计算任务组对应的第一计算节点;第一计算节点为计算网络中的第一计算节点;将各个子计算任务组部署到对应的第一计算节点中。
6.结合上述第一方面,在一种可能的实现方式中,确定各个子计算任务组对应的第一计算节点,包括:确定多个子计算任务之间的关联关系;子计算任务之间的关联关系用于表征具有计算关联的子计算任务之间的关联关系;根据多个子计算任务之间的关联关系,确定多个子计算任务组之间的关联关系;其中,一个子计算任务组与其他子计算任务组之间的关联关系包括:一个子计算任务组中的每个子计算任务与其他子计算任务组中的子计算任务的关联关系;根据各个子计算任务组关联的其他子计算任务组的数量,以及计算网络中各个第一计算节点的计算资源,确定各个子计算任务组对应的第一计算节点。
7.结合上述第一方面,在一种可能的实现方式中,根据多个子计算任务之间的关联关系,确定多个子计算任务组之间的关联关系,包括:根据多个子计算任务之间的关联关系,确定第一拓扑;其中,第一拓扑中的各个节点为多个子计算任务中的各个子计算任务;第一拓扑中的节点的连接关系用于表征多个子计算任务之间的关联关系;合并第一拓扑中计算类型相同的节点,确定第二拓扑;第二拓扑中一个节点对应多个子计算任务组中的一个子计算任务;第二拓扑中各个节点的连接关系包括第一拓扑中各个节点的连接关系;根据第二拓扑中各个节点的连接关系,确定多个子计算任务组之间的关联关系。
8.结合上述第一方面,在一种可能的实现方式中,根据各个子计算任务组关联的其
他子计算任务组的数量,以及计算网络中各个第一计算节点的计算资源,确定各个子计算任务组对应的第一计算节点,包括:步骤1、确定第二拓扑中的至少一个第一节点;第一节点为第二拓扑中连接其他节点数量最多的节点;步骤2、从至少一个第一节点中确定第二节点;第二节点为至少一个第一节点中所需计算资源最多的节点;步骤3、从第二拓扑中删除第二节点,并将删除第二节点后的第二拓扑作为第二拓扑;步骤 4、根据各个第一计算节点当前的可用资源的大小,对各个第一计算节点排序;步骤5、在当前可用资源最多的第一计算节点上部署当前删除的第二节点对应的子计算任务组;步骤6、重复执行步骤1、步骤2、步骤3、步骤4、步骤5和步骤6,直至全部子计算任务组均部署到第一计算节点上。
9.结合上述第一方面,在一种可能的实现方式中,在当前可用资源最多的第一计算节点上部署当前删除的第二节点对应的子计算任务组,包括:若当前删除的第二节点对应的子计算任务组部署失败,确定第二计算节点;第二计算节点为当前可用资源最小的第一计算节点连接的计算节点;将第二计算节点作为第一计算节点中的计算节点,重复执行步骤4和步骤5。
10.第二方面,提供一种计算任务部署装置,包括:获取单元和处理单元;获取单元,用于获取计算任务;处理单元,用于将计算任务分解为多个子计算任务;处理单元,还用于根据多个子计算任务,确定多个子计算任务组;多个子计算任务组中的每个子计算任务组包括相同计算类型的至少一个子计算任务;处理单元,还用于确定各个子计算任务组对应的第一计算节点;第一计算节点为计算网络中的第一计算节点;处理单元,还用于将各个子计算任务组部署到对应的第一计算节点中。
11.结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:确定多个子计算任务之间的关联关系;子计算任务之间的关联关系用于表征具有计算关联的子计算任务之间的关联关系;根据多个子计算任务之间的关联关系,确定多个子计算任务组之间的关联关系;其中,一个子计算任务组与其他子计算任务组之间的关联关系包括:一个子计算任务组中的每个子计算任务与其他子计算任务组中的子计算任务的关联关系;根据各个子计算任务组关联的其他子计算任务组的数量,以及计算网络中各个第一计算节点的计算资源,确定各个子计算任务组对应的第一计算节点。
12.结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:根据多个子计算任务之间的关联关系,确定第一拓扑;其中,第一拓扑中的各个节点为多个子计算任务中的各个子计算任务;第一拓扑中的节点的连接关系用于表征多个子计算任务之间的关联关系;合并第一拓扑中计算类型相同的节点,确定第二拓扑;第二拓扑中一个节点对应多个子计算任务组中的一个子计算任务;第二拓扑中各个节点的连接关系包括第一拓扑中各个节点的连接关系;根据第二拓扑中各个节点的连接关系,确定多个子计算任务组之间的关联关系。
13.结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于执行以下步骤:步骤1、确定第二拓扑中的至少一个第一节点;第一节点为第二拓扑中连接其他节点数量最多的节点;步骤2、从至少一个第一节点中确定第二节点;第二节点为至少一个第一节点中所需计算资源最多的节点;步骤3、从第二拓扑中删除第二节点,并将删除第二节点后的第二拓扑作为第二拓扑;步骤4、根据各个第一计算节点当前的可用资源的大小,对各个第一计算节点排序;步骤5、在当前可用资源最多的第一计算节点上部署当前删除的第二节
点对应的子计算任务组;步骤6、重复执行步骤1、步骤2、步骤3、步骤4、步骤5和步骤6,直至全部子计算任务组均部署到第一计算节点上。
14.结合上述第二方面,在一种可能的实现方式中,处理单元,具体还用于:在当前删除的第二节点对应的子计算任务组部署失败的情况下,确定第二计算节点;第二计算节点为当前可用资源最小的第一计算节点连接的计算节点;将第二计算节点作为第一计算节点中的计算节点,重复执行步骤4和步骤5。
15.第三方面,本技术提供了一种电子设备,该电子设备包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的计算任务部署方法。
16.第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面和第一方面的任一种可能的实现方式中描述的计算任务部署方法。
17.第五方面,本技术提供一种包含指令的计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面和第一方面的任一种可能的实现方式中所描述的计算任务部署方法。
18.第六方面,本技术提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的计算任务部署方法。
19.上述第二方面至第五方面中任一种实现方式所带来的技术效果可以参见第一方面对应设计所带来的技术效果,此处不再赘述。
20.在本技术中,上述数据处理装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
21.本发明的这些方面或其他方面在以下的描述中会更加简明易懂。
22.上述方案至少带来以下有益效果:电子设备在获取到计算任务之后,将计算任务划分为多个子计算任务组,并将子计算任务分别部署到不同的计算节点上。这样,每个子计算任务组可以只占用每个计算节点较少的资源,避免了因计算节点资源不足导致的计算任务部署失败的问题。
23.此外,本技术中将计算类型相同的子计算任务合并到一个子计算任务组中。由于计算类型相同的子计算任务通常使用相同的资源进行计算,因此,本技术中可以通过按照子计算任务的计算时序,复用相同的资源对子计算任务组中的子计算任务进行计算,进一步降低计算任务所需的资源的数量。并且,本技术还可以避免在不同的计算节点上部署相同的计算类似的子计算任务导致的资源浪费的问题。
附图说明
24.图1为本技术实施例提供的一种电子设备的结构示意图;
25.图2为本技术提供的一种边缘计算网络的网络架构示意图;
26.图3为本技术实施例提供的一种计算任务部署方法的流程示意图;
27.图4为本技术实施例提供的另一种计算任务部署方法的流程示意图;
28.图5为本技术实施例提供的另一种计算任务部署方法的流程示意图;
29.图6(a)为本技术实施例提供的第一拓扑的拓扑结构示意图;
30.图6(b)为本技术实施例提供的第二拓扑的拓扑结构示意图;
31.图6(c)为本技术实施例提供的删除第二节点后的第二拓扑的拓扑结构示意图;
32.图7(a)为本技术实施例提供的计算网络的拓扑结构示意图;
33.图7(b)为本技术实施例提供的第一计算节点的拓扑结构示意图;
34.图7(c)为本技术实施例提供的备用节点之间的拓扑结构示意图;图7(d)为本技术实施例提供的将n4节点和n8节点作为第一计算节点后,第一计算节点的拓扑结构示意图;
35.图8为本技术实施例提供的一种计算节点部署的子计算任务组的示意图;
36.图9为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
37.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和 b,单独存在b这三种情况。
38.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
39.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
40.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
41.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
42.为了实现本技术实施例提供的计算任务部署方法,本技术实施例提供了一种电子设备,用于执行的计算任务部署方法,该电子设备可以为本技术中涉及的电子设备,或者电子设备中的模块;或者是电子设备中的芯片,也可以是其他用于执行计算任务部署方法的装置,本技术对此不做限定。
43.图1为本技术实施例提供的一种电子设备的结构示意图。如图1所示,该电子设备100包括至少一个处理器101,通信线路102,以及至少一个通信接口104,还可以包括存储器103。其中,处理器101,存储器103以及通信接口104三者之间可以通过通信线路102连接。
44.处理器101可以是一个中央处理器(central processing unit,cpu),也可以是特定集成电路(application specific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)。
45.通信线路102可以包括一通路,用于在上述组件之间传送信息。
46.通信接口104,用于与其他设备或通信网络通信,可以使用任何收发器一类的装置,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
47.存储器103可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccess memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmableread-only memory,eeprom)、只读光盘(compact disc read-only memory, cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于包括或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
48.一种可能的设计中,存储器103可以独立于处理器101存在,即存储器103可以为处理器101外部的存储器,此时,存储器103可以通过通信线路102与处理器101相连接,用于存储执行指令或者应用程序代码,并由处理器101来控制执行,实现本技术下述实施例提供的计算任务部署方法。又一种可能的设计中,存储器103也可以和处理器101集成在一起,即存储器103可以为处理器101的内部存储器,例如,该存储器103为高速缓存,可以用于暂存一些数据和指令信息等。
49.作为一种可实现方式,处理器101可以包括一个或多个cpu,例如图 1中的cpu0和cpu1。作为另一种可实现方式,电子设备100可以包括多个处理器,例如图1中的处理器101和处理器107。作为再一种可实现方式,电子设备100还可以包括输出设备105和输入设备106。
50.计算网络(也称为算力网络),指的是根据计算任务的计算需求,在云计算节点、网络节点、和边缘云计算节点之间灵活调度计算资源,存储资源和网络资源完成对计算任务的计算的一种技术。
51.当前的计算网络主要包括:控制面的算网协同调度、数据面的网络融合感知、管理和服务面的计算资源编排等。计算网络能够统一协调管理计算资源,存储资源和网络资源,并能以统一的标准衡量上述计算资源,存储资源和网络资源。在计算网络中,各个节点的计算资源,存储资源和网络资源可以以具体的参数形式表示,这些参数可以通过携带在节点之间互相传输的数据报文中,告知其他节点自身的资源情况。当前的计算网络中通常还会增加面向用户提供直观化的组件和服务的能力;通过服务层与底层资源和网络接口之间的打通,实现编排、调度、应用中的可视化。
52.计算网络通常包括:移动边缘计算,边缘云计算等网络。在当前的计算网络中,计算节点主要将虚拟机资源作为计算资源提供给用户设备。各个计算节点计算任务时通常仅根据部署在该节点的任务进行计算,各个节点之间缺乏协同配合。当前针对计算网络中的计算任务的调度,和计算资源的配置的策略之间难以共同应用,且缺乏对计算节点的资源约束。因此难以直接应用到计算网络中,随着当前计算任务的数量增多,导致计算网络出现计算资源不足的问题。且由于计算任务越来越抽象(例如,容器承载函数计算等计算任务),导致部署计算资源时可能会对同一计算功能重复部署,导致计算资源浪费。
53.一种示例,如图2所示,为本技术提供的一种边缘计算网络20的网络架构示意图。如图2所示,在边缘计算网络中,包括:多个边缘计算节点 201,多个网络设备202,计算网络
管理系统203,以及用户设备204。
54.其中,用户设备204接入到边缘计算节点201中,将计算任务发送至边缘计算节点201。
55.边缘计算节点201用于接收来自用户设备的计算任务,部署计算任务,并计算该计算任务,向用户设备返回计算结果。边缘算力节点201与网络设备202连接。边缘算力节点201之间可以通过网络设备互相通信。此外,边缘算力节点201还可以通过网络设备与计算网络管理系统203进行通信
56.网络设备202用于实现边缘计算节点201与其他边缘计算节点之间的通信,以及边缘计算节点201与计算网络管理系统203之间的通信。
57.计算网络管理系统203包括服务抽象功能,计算资源管理功能,算网一体分析功能和网络控制器的控制功能。
58.在相关技术中,部署计算任务时,通常将计算任务作为一个整体部署到一个计算节点中,由部署该计算任务的计算节点对计算任务进行计算,得到计算结果。但是随着计算任务的复杂度增加,计算任务越来越抽象,计算任务所需的资源不断增加,计算节点的资源可能无法满足计算任务的需求,导致计算任务部署失败。为了解决现有技术中存在的问题,本技术提供了一种计算任务部署方法。能够将计算任务分解为多个子计算任务组,并分别部署在不同的计算节点上。这样每个子计算任务组仅需较少的计算资源即可完成计算,避免了计算节点的资源无法满足计算任务的需求的问题,提高了计算任务部署的成功率。
59.本技术实施例提供的计算任务部署方案,可以应用于如图1所示的边电子设备中。本技术实施例所涉及的电子设备可以是图2中示出的边缘计算节点,或者计算网络管理系统,也可以是新增的独立设备,本技术对此不做限定。
60.如图3所示,本技术实施例提供的计算任务部署方法可以具体通过以下s301-s305实现:
61.s301、电子设备获取计算任务。
62.一种可能的实现方式中,本技术主要以电子设备为计算网络管理系统为例进行说明。
63.具体来说:用户设备向其接入的计算节点(记为目标计算节点)发送计算任务;目标计算节点接收到计算任务之后,将计算任务通过网络设备发送给计算网络管理系统。
64.s302、电子设备将计算任务分解为多个子计算任务。
65.一种可能的实现方式中,以电子设备为计算网络管理系统为例进行说明:计算网络管理系统接收到计算任务之后,调取计算任务的计算任务模板,确定计算该计算任务所需的计算资源,网络资源和存储资源等,确定该计算任务中各个子计算任务的计算任务逻辑和约束条件。计算网络管理系统根据各个子计算任务的计算任务逻辑和约束条件,将计算任务分解为多个子计算任务。
66.其中,上述计算任务模板中包括计算任务的子计算任务的构成,以及子计算任务之间的任务逻辑和约束条件等信息。
67.需要指出的是,电子设备将计算任务分解为多个子计算任务之后,电子设备能够确定各个多个子计算任务之间的关联关系。例如以下示例1:
68.示例1,电子设备将计算任务分解为:子计算任务1、子计算任务2、子计算任务3和
子计算任务4,共4个子计算任务。其中,子计算任务1 和子计算任务2为并列的子计算任务,子计算任务3需要用到子计算任务 1和子计算任务2的计算结果。子计算任务4需要用到子计算任务3的计算结果。此时,电子设备确定子计算任务1和子计算任务2之间无关联关系,子计算任务1和子计算任务2分别与计算任务3之间存在关联关系,子计算任务3和子计算任务4之间存在关联关系。
69.s303、电子设备根据多个子计算任务,确定多个子计算任务组。
70.多个子计算任务组中的每个子计算任务组包括相同计算类型的至少一个子计算任务。
71.一种可能的实现方式中,计算网络管理系统确定各个子计算任务的计算类型,并将相同计算类型的子计算任务合并为一个子计算任务组,得到多个子计算任务组。
72.结合上述示例1、电子设备确定子计算任务1和子计算任务4为相同类型的子计算任务,子计算任务2和子计算任务3为相同类型的子计算任务。此时,则电子设备将子计算任务1和子计算任务4合并为一个子计算任务组1,将子计算任务2和子计算任务3合并为一个子计算任务组2。
73.s304、电子设备确定各个子计算任务组对应的第一计算节点。
74.其中,第一计算节点为计算网络中的计算节点。
75.一种示例,电子设备确定每个子计算任务组的计算资源,以及各个子计算任务的优先级。电子设备优先将优先级高,所需计算资源多的子计算任务分配到可用资源多的第一计算节点上。
76.又一种示例,电子设备优先将优先级高的子计算任务组分配到距离用户设备距离近,且可用资源能够满足子计算任务组的计算需求的第一计算节点上。
77.电子设备还可以通过其他方式确定各个子计算任务组对应的第一计算节点,本技术对此不做限定。
78.s305、电子设备将各个子计算任务组部署到对应的第一计算节点中。
79.具体来说,电子设备将子计算任务组发送到根据s305确定的子计算任务组对应的第一计算节点中。第一计算节点接收到子任务组之后,部署子计算任务组,并调用计算资源计算子任务组中的各个子计算任务,将子计算任务的计算结果根据计算任务的计算逻辑发送到对应的下一跳第一计算节点中,由下一跳第一计算节点根据该计算结果计算对应的子计算任务。直至该计算任务计算完成,各个第一计算节点释放计算该计算任务的资源。
80.结合上述示例1、电子设备将子计算任务组1部署到第一计算节点1 中,电子设备将子计算任务组2部署到第一计算节点2中。
81.第一计算节点1计算子计算任务1,确定子计算任务1的计算结果,并将子计算任务1的计算结果发送至第一计算节点2。
82.第一计算节点2首先计算子计算任务2,确定子计算任务2的计算结果,在第一计算节点2接收到子计算任务1的计算结果之后,根据子计算任务1的计算结果和子计算任务2的计算结果,进行子计算任务3的计算,确定子计算任务3的计算结果。第一计算节点2将子计算任务3的计算结果发送给第一计算节点1。
83.第一计算节点1根据子计算任务3的计算结果计算子计算任务4,确定子计算任务4的计算结果,完成计算任务的计算。
84.上述方案至少带来以下有益效果:电子设备在获取到计算任务之后,将计算任务划分为多个子计算任务组,并将子计算任务分别部署到不同的计算节点上。这样,每个子计算任务组可以只占用每个计算节点较少的资源,避免了因计算节点资源不足导致的计算任务部署失败的问题。
85.此外,本技术中将计算类型相同的子计算任务合并到一个子计算任务组中。由于计算类型相同的子计算任务通常使用相同的资源进行计算,因此,本技术中可以通过按照子计算任务的计算时序,复用相同的资源对子计算任务组中的子计算任务进行计算,进一步降低计算任务所需的资源的数量。并且,本技术还可以避免在不同的计算节点上部署相同的计算类似的子计算任务导致的资源浪费的问题。
86.一种可能的实现方式中,结合图3,如图4所示,上述s304具体可以通过以下s401-s403实现:
87.s401、电子设备确定多个子计算任务之间的关联关系。
88.其中,子计算任务之间的关联关系用于表征具有计算关联的子计算任务之间的关联关系。
89.例如,子计算任务之间的关联关系用于表征各个子计算任务之间的先后顺序,或者各个子计算任务之间计算结果之间的关联等,本技术对此不做限定。
90.结合上述示例1、电子设备确定的多个子计算任务之间的关联关系即为:子计算任务1和子计算任务2分别与计算任务3之间的关联关系,子计算任务3和子计算任务4之间的关联关系。
91.s402、电子设备根据多个子计算任务之间的关联关系,确定多个子计算任务组之间的关联关系。
92.其中,一个子计算任务组与其他子计算任务组之间的关联关系包括:一个子计算任务组中的每个子计算任务与其他子计算任务组中的子计算任务的关联关系。
93.具体来说,电子设备确定子计算任务之间的关联关系之后,将子计算任务合并为子计算任务组。电子设备确定目标子计算任务组中每个目标子计算任务关联的其他子计算任务组。电子设备将目标子计算任务组中每个目标子计算任务关联的子计算任务组作为目标子计算任务组关联的子计算任务组。
94.其中,目标子计算任务关联的子计算任务组指的是:存在与目标子计算任务具有关联关系的子计算任务的子计算任务组。
95.结合上述示例1、电子设备确定子计算任务组1和子计算任务组2之间具有关联关系。
96.s403、电子设备根据各个子计算任务组关联的其他子计算任务组的数量,以及计算网络中各个第一计算节点的计算资源,确定各个子计算任务组对应的第一计算节点。
97.一种可能的实现方式中,若目标子计算任务组关联的子计算任务组的数量较多,说明该子计算任务组为重要的子计算任务组,或者该子计算任务组所需的计算资源较多。此时,电子设备可以将子计算任务组部署在可用资源较多的第一计算节点上,保证能够顺利对目标子计算任务组中的子计算任务完成计算。
98.一种可能的实现方式中,电子设备将具有开始子计算任务和结束子计算任务的子计算任务组部署在接收该计算任务的计算节点上,这样,计算任务在该计算节点开始计算,
并在该节点完成计算,能够在计算完成之后直接将计算结果返回给用户终端,提高计算效率。
99.上述方案至少带来以下有益效果:电子设备根据子计算任务之间的关联关系确定子计算任务组之间的关联关系,并根据子计算任务组关联的子计算任务组的数量确定子计算任务组对应的第一计算节点。这样,电子设备可以优先保证为具有较多关联关系的子计算任务组分配较多的计算资源,提高这些子计算任务的部署成功率,以及提高计算这些子计算任务组的计算效率。
100.结合图4,如图5所示,在一种可能的实现方式中,上述s402具体可以通过以下s501-s503实现。
101.s501、电子设备根据多个子计算任务之间的关联关系,确定第一拓扑。
102.其中,第一拓扑中的各个节点为多个子计算任务中的各个子计算任务;第一拓扑中的节点的连接关系用于表征多个子计算任务之间的关联关系。
103.一种可能的实现方式中,该第一拓扑还用于表征各个子计算任务的计算类型。
104.一种示例,第一拓扑的拓扑结构如图6(a)所示,电子设备将计算任务分解为:cp1-cp10。子计算任务之间的连接关系包括:l1-l11。子计算任务的计算类型包括:d1-d6。
105.s502、电子设备合并第一拓扑中计算类型相同的节点,确定第二拓扑。
106.其中,第二拓扑中一个节点对应多个子计算任务组中的一个子计算任务;第二拓扑中各个节点的连接关系包括第一拓扑中各个节点的连接关系。
107.一种可能的实现方式中,电子设备根据第一拓扑中各个子计算任务的计算类型。电子设备将具有相同计算类型的子计算任务节点合并,得到第二拓扑。
108.一种示例,第二拓扑的拓扑结构如图6(b)所示,电子设备将子计算任务cp1-cp10,按照计算类型d1-d6进行合并后,得到6个计算类型的子计算任务组,子计算任务组之间的连接关系继承自第一拓扑中子计算任务之间的连接关系。
109.s503、电子设备根据第二拓扑中各个节点的连接关系,确定多个子计算任务组之间的关联关系。
110.上述方案带来至少一项有益效果:电子设备以拓扑形式可以更加清楚直观的展示子计算任务以及子计算任务组之间的关联关系。
111.如图5所示,上述s403可以通过以下s504-s509实现。
112.s504、电子设备确定当前的第二拓扑中的至少一个第一节点。
113.其中,第一节点为当前的第二拓扑中连接其他节点数量最多的节点。
114.s505、电子设备从至少一个第一节点中确定第二节点;第二节点为至少一个第一节点中所需计算资源最多的节点。
115.一种可能的实现方式中,电子设备根据各个子计算任务组连接的子计算任务的数量和子计算任务组所需的计算资源进行排序。
116.在此之后,电子设备根据子计算任务组的排序,依次从第二拓扑中删除排序靠前的子计算任务,直至第二拓扑中有不直接连接的拓扑存在。
117.具体来说,结合上述图6(b)中的第二拓扑,电子设备计算各个节点的归一化的连接数量ci和计算资源ri。计算类型为di的子计算任务组的归一化连接数量和计算资源以di(ci,ri)表示。则电子设备确定的各个子计算任务组的归一化连接数量和计算资源分别为:
d1(0.2,0.4),d2(0.5, 0.7),d3(0.5,0.6),d4(0.3,0.5),d5(0.2,0.4),d6(0.3,0.5)。
118.电子设备根据各个子计算任务组的归一化连接数量和计算资源进行排序确定:d2=d3》d4=d6》d1=d5。
119.s506、电子设备从当前的第二拓扑中删除第二节点,并将删除第二节点后的当前的第二拓扑作为第二拓扑。
120.根据上述排序可知,电子设备第一次迭代中确定的第二节点为d2和 d3两个节点。电子设备从当前的第二拓扑中删除d2和d3两个节点。
121.删除之后当前的第二拓扑中剩余d4、d6、d1和d5四个节点。其中, d4、d6两个节点之间具有连接关系。d1和d5与其他节点之间不具有连接关系。
122.结合图6(b)第一次迭代后删除第二节点后的第二拓扑如图6(c)所示。
123.s507、电子设备根据各个第一计算节点当前的可用资源的大小,对各个第一计算节点排序。
124.其中,计算节点的可用资源包括计算节点的计算资源、存储资源、网络资源等。
125.电子设备根据第一计算节点当前的可用资源的大小,对各个第一计算节点排序具体包括:电子设备根据各个第一计算节点的可用中可用的计算资源、存储资源、网络资源综合对第一计算节点排序。
126.一种示例,计算网络的拓扑示意图如图7(a)所示;电子设备确定第一计算节点之间的拓扑结构如图7(b)所示。
127.其中,n1节点的可用资源为r
n1
,n2节点的可用资源为r
n2
,n3节点的可用资源为r
n3
,n9节点的可用资源为r
n9
。节点间可用资源的大小关系为:r
n2
》r
n1
》r
n9
》r
n3

128.s508、电子设备将当前删除的第二节点对应的子计算任务组部署在当前可用资源最多的第一计算节点上。
129.结合图6(b)和图7(b),在第一次迭代过程中,电子设备在第二拓扑中删除子计算任务组d2和d3。此时,电子设备将子计算任务组d2和 d3部署在资源最多的n2节点上。
130.在第二次迭代过程中,电子设备将在第二拓扑中删除子计算任务组d4和d6。电子设备将子计算任务组d4和d5部署在资源第二多的n1节点上。
131.此时,第二拓扑中剩余无连接关系的子计算任务组d1和d5。电子设备将子计算任务组d1部署在n3节点上,电子设备将子计算任务d5部署在 n9节点上。
132.需要指出的是,电子设备在每个第一计算节点上部署子计算任务组之前,还可以确定该第一计算节点上是否部署有与当前部署的子计算任务组中的子计算任务无法部署在同一计算节点的子计算任务。若存在,则电子节点确定排序在该计算节点之后的计算节点,并进行子计算任务组的部署。若不存在,则电子设备直接在该节点上部署子计算任务。
133.其中,无法部署在同一计算节点的子计算任务的情况包括但不限于:子计算任务需求的资源类型不同;子计算任务计算方式不同。
134.如图8所示,为计算节点部署完成之后,各个计算节点部署的子计算任务组的示意图。
135.s509、电子设备重复执行上述步骤s504-s509,直至全部子计算任务组均部署到第一计算节点上。
136.基于上述方案,本技术可以采用拓扑的形式将子计算任务合并为子计算任务组,
并将子计算任务组部署到相应的计算节点中。
137.一种可能的实现方式中,上述第一计算节点为在接收计算任务的计算节点h跳以内的计算节点,h为正整数。这样,可以降低子计算任务和计算任务结果在各个计算节点之间传输的时延。
138.在本技术中,为了避免仅使用上述第一计算节点会出现计算资源不足导致部署失败的问题,本技术中还可以将距离接收计算任务的计算节点h i 跳的节点作为备用节点,i为正整数。示例性的i取值为1。
139.如图7(c)所示,为i取值为1时,电子设备确定的备用节点的示意图。
140.一种可能的实现方式中,在上述s508具体可以实现为:电子设备确定当前删除的第二节点对应的子计算任务组是否部署成功。
141.若部署成功、则电子设备返回执行上述s504。
142.若部署失败,则电子设备确定第二计算节点。将第二计算节点作为第一计算节点中的计算节点,重复执行s507和s508。其中,第二计算节点为当前可用资源最小的第一计算节点连接的计算节点。
143.也即是说,电子设备将第二计算节点作为第一计算节点,并根据增加计算节点后的第一计算节点中各个第一计算节点的可用资源对第一计算节点排序。
144.一种示例,结合上述图7(b),当前可用资源最小的第一计算节点为 n3节点,结合图7(c)可知,n3节点连接的计算节点为n4节点和n8 节点。电子设备确定n4节点和n8节点为第二计算节点。
145.一种示例,如图7(d)所示,为图7(d)将n4节点和n8节点作为第一计算节点后,第一计算节点的拓扑的示意图。
146.举例来说,计算设备在将子计算任务组d2部署到n2节点之后,n2 节点的剩余的可用资源无法满足部署子计算任务组d3。此时,电子设备将备用节点中的n4节点和n8节点加入到第一计算节点中。电子设备根据当前n1节点、n2节点、n3节点、n4节点、n8节点和n9节点的可用资源再次排序,并将子计算任务组d3部署排序最靠前的节点中。
147.一种可能的实现方式中,当某个已经部署的子计算任务需要迁移时,电子设备根据当前第一计算节点的可用资源进行排序,将待迁移的子计算任务部署在排序最靠前的第一计算节点上。
148.如果当前第一计算节点的可用资源都无法满足待迁移子计算任务的计算需求,那么电子设备执行上述s902,从备用节点中选择计算节点增加到第一计算节点上。电子设备根据当前第一计算节点的可用资源进行排序,将待迁移的子计算任务部署在排序最靠前的第一计算节点上。
149.其中,子计算任务迁移的原因包括但不限于:计算节点维护,计算节点故障。
150.需要指出的是,在所有的子计算任务组都部署完成之后,电子设备根据各个子计算任务之间关联关系,配置第一计算节点之间的网络连接关系,以及计算顺序和计算结果的转发过程,保证计算任务能够正常完成。在计算任务计算完成之后,各个第一计算节点释放计算该计算任务所使用的资源。
151.需要指出的是,以上主要以电子设备为计算网络管理系统为例,对本技术中的计算任务部署方案进行了说明。在实际过程中,电子设备也可以为计算节点。此时,计算节点
无需向计算网络管理系统发送计算任务,降低了计算任务的传输时延。在电子设备也为计算节点时,计算节点需要具有能够获取计算网络的网络拓扑,并选择相邻节点,确定相邻节点的计算资源的能力。
152.可以看出,上述主要从方法的角度对本技术实施例提供的技术方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/ 或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
153.本技术实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
154.如图9所示,为本技术实施例提供的一种电子设备的结构示意图。该电子设备包括:获取单元901和处理单元902。
155.获取单元901,用于获取计算任务;处理单元902,用于将计算任务分解为多个子计算任务;处理单元902,还用于根据多个子计算任务,确定多个子计算任务组;多个子计算任务组中的每个子计算任务组包括相同计算类型的至少一个子计算任务;处理单元902,还用于确定各个子计算任务组对应的第一计算节点;第一计算节点为计算网络中的第一计算节点;处理单元902,还用于将各个子计算任务组部署到对应的第一计算节点中。
156.可选的,处理单元902,具体用于:确定多个子计算任务之间的关联关系;子计算任务之间的关联关系用于表征具有计算关联的子计算任务之间的关联关系;根据多个子计算任务之间的关联关系,确定多个子计算任务组之间的关联关系;其中,一个子计算任务组与其他子计算任务组之间的关联关系包括:一个子计算任务组中的每个子计算任务与其他子计算任务组中的子计算任务的关联关系;根据各个子计算任务组关联的其他子计算任务组的数量,以及计算网络中各个第一计算节点的计算资源,确定各个子计算任务组对应的第一计算节点。
157.可选的,处理单元902,具体用于:根据多个子计算任务之间的关联关系,确定第一拓扑;其中,第一拓扑中的各个节点为多个子计算任务中的各个子计算任务;第一拓扑中的节点的连接关系用于表征多个子计算任务之间的关联关系;合并第一拓扑中计算类型相同的节点,确定第二拓扑;第二拓扑中一个节点对应多个子计算任务组中的一个子计算任务;第二拓扑中各个节点的连接关系包括第一拓扑中各个节点的连接关系;根据第二拓扑中各个节点的连接关系,确定多个子计算任务组之间的关联关系。
158.可选的,处理单元902,具体用于执行以下步骤:步骤1、确定第二拓扑中的至少一个第一节点;第一节点为第二拓扑中连接其他节点数量最多的节点;步骤2、从至少一个第一节点中确定第二节点;第二节点为至少一个第一节点中所需计算资源最多的节点;步骤3、从第二拓扑中删除第二节点,并将删除第二节点后的第二拓扑作为第二拓扑;步骤4、根
据各个第一计算节点当前的可用资源的大小,对各个第一计算节点排序;步骤 5、在当前可用资源最多的第一计算节点上部署当前删除的第二节点对应的子计算任务组;步骤6、重复执行步骤1、步骤2、步骤3、步骤4、步骤5 和步骤6,直至全部子计算任务组均部署到第一计算节点上。
159.可选的,处理单元902,具体还用于:在当前删除的第二节点对应的子计算任务组部署失败的情况下,确定第二计算节点;第二计算节点为当前可用资源最小的第一计算节点连接的计算节点;将第二计算节点作为第一计算节点中的计算节点,重复执行步骤4和步骤5。
160.可选的,该电子设备还可以包括存储模块,用于存储电子设备的程序代码和/或数据。
161.其中,处理单元902可以是处理器或控制器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的组合等等。获取单元901可以是收发电路或通信接口等。存储单元可以是存储器。当处理单元902为处理器,获取单元901为通信接口,存储单元为存储器时,本技术实施例所涉及的电子设备可以为图1所示的电子设备。
162.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,模块和网络节点的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
163.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
164.本技术的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的计算任务部署方法。
165.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random accessmemory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specificintegrated circuit,asic)中。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
166.由于本发明的实施例中的装置、设备、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术实施例在此不再赘述。
167.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献