CN110928692B - 一种任务处理方法、装置及电子设备 - Google Patents
一种任务处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110928692B CN110928692B CN202010076228.4A CN202010076228A CN110928692B CN 110928692 B CN110928692 B CN 110928692B CN 202010076228 A CN202010076228 A CN 202010076228A CN 110928692 B CN110928692 B CN 110928692B
- Authority
- CN
- China
- Prior art keywords
- target
- node
- providing
- combination
- data
- 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.)
- Active
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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种任务处理方法、装置及电子设备。方法包括:获取待执行的目标任务所需的目标数据和目标算法;获取网络拓扑结构中,能够提供目标数据的至少一个第一节点,以及能够执行目标算法的至少一个第二节点;从至少一个第一节点中选择提供一组目标数据的节点作为第一目标节点,并从至少一个第二节点中选择提供一组目标算法的节点作为第二目标节点;控制第二目标节点采用目标算法,对第一目标节点中的目标数据进行处理。因此,本发明的方案,能够在一定程度上解决需要完成的任务涉及大量数据时,要求执行该项任务的节点具备较强能力,从而增加整个网络拓扑结构的设计成本的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种任务处理方法、装置及电子设备。
背景技术
随着互联网的快速发展,在互联网中的数据越来越多,目前在网络架构中,对数据采用分布式存储,即将数据存储到不同节点中。其中,在某一个目标节点需要执行某项任务时,会在网络中寻找可以提供该项任务所需的数据的节点,然后从这些节点中读取相关数据,进而由目标节点去对读取的数据进行一些算法处理。
由此可知,现有技术中,在目标节点收集完执行任务所需的全部数据后,才对这些数据进行处理。其中,当完成该项任务需要大量数据和复杂算法时,则要求目标节点具备较强的能力,扩展到整个网络拓扑结构中,则使得构建网络拓扑结构的成本增加。
发明内容
本发明提供一种任务处理方法、装置及电子设备,以便在一定程度上解决需要完成的任务涉及大量数据时,要求执行该项任务的节点具备较强能力,从而增加整个网络拓扑结构的设计成本的问题。
第一方面,本发明的实施例提供了一种任务处理方法,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;所述任务处理方法包括:
获取待执行的目标任务所需的目标数据和目标算法;
获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理。
第二方面,本发明的实施例还提供了一种任务处理装置,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;所述任务处理装置包括:
第一获取模块,用于获取待执行的目标任务所需的目标数据和目标算法;
第二获取模块,用于获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
选择模块,用于从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制模块,用于控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理。
第三方面,本发明的实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述所述的任务处理方法的步骤。
第四方面,本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的任务处理方法。
本发明实施例提供的任务处理方法,通过获取待执行的目标任务所需的目标数据和目标算法,并确定网络拓扑结构中能够提供目标数据的至少一个第一节点以及能够执行目标算法的至少一个第二节点,从而选出提供一组目标数据的第一节点和提供一组目标算法的第二节点,控制选出的第二节点采用目标算法对选出的第一节点提供的目标数据进行处理,实现对目标任务的执行。由此可见,本发明的实施例,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种任务处理方法的流程图;
图2为本发明实施例中的网络拓扑结构中单层网络结构的示意图;
图3为本发明实施例中网络拓扑结构的一种结构示意图;
图4为本发明实施例提供的一种任务处理装置的结构框图;
图5为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明的实施例提供了一种任务处理方法,应用于网络拓扑结构,所述网络拓扑结构包括多个节点。可选的,所述网络拓扑结构中包括控制节点,所述控制节点中存储有所述网络拓扑结构中的除去所述控制节点之外的节点的能力信息,即控制节点之外的其他节点可以定期向控制节点上报各自的能力信息,则本发明实施例的任务处理方法,可以由所述控制节点执行。
可选的,所述网络拓扑结构包括:至少一层网络结构,每一层网络结构包括至少一个环状结构,每个环状结构包括多个节点;其中,每个环状结构中的节点首尾相连,且按照每个环状结构中的节点的编号顺序,编号为奇数的节点中相邻的节点相连,或者编号为偶数的节点中相邻的节点相连。其中,一层网络结构的连接示意图如图2所示。
其中,可以理解的是,对于环状结构的具体连接方式并不局限于此,还可是每个环状结构包括的多个节点首尾相连,并与其相邻节点的下一节点相连。
由此可知,所述网络拓扑结构包括多层串联加环路的容错网络,其中每一层结构相同,每一层都使用相同的环路拓扑结构,层间垂直跨接。这种相同的硬件设备,相同结构的重复叠加,配合相同的软件管理,逐步扩大资源聚集度,完成面向应用的超级工程。另外,本结构不存在跨两层以上的连接,简化了软件结构和系统管理。层内不同间隔的通信环,确保环内任意两点出现故障(包括抽取PCB板卡),环路不会中断,并保持正常通信。
如图1所示,该任务处理方法包括:
步骤11:获取待执行的目标任务所需的目标数据和目标算法。
其中,所述目标数据包括至少一项数据,例如可以包括A、B两项数据。所述目标算法包括至少一种算法,例如可以包括C、D算法。本发明的实施例中,目标数据与目标算法相对应,即目标数据是执行目标算法所需的数据。例如待执行的目标任务是对A、B数据先后执行C算法和D算法,则A、B数据与C、D算法对应。
可选的,所述获取待执行的目标任务所需的目标数据和目标算法之前,还包括:
根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
由此可知,本发明实施例中,在待执行的任务涉及复杂的算法时,还可可以首先根据网络拓扑结构中各个节点的能力信息(即各个节点分别具备哪些算法处理能力),进行任务拆分,从而可以获得多项子任务,其中,一项子任务的算法由一个节点提供。
对于拆分获得的各个子任务,分别对应有执行的先后顺序,例如拆分获得子任务一、子任务二和子任务三,子任务一和子任务二所需的数据和算法互不冲突,可以并行执行,子任务三所需的数据是子任务一和子任务二所生成的数据,则子任务三在子任务一和子任务二之后执行,其中针对子任务一和子任务二,都可以首先获取网络拓扑结构中可以提供数据和算法的节点,然后选取其中一个可以提供数据的节点和一个可以提供算法的节点,然后由提供算法的节点对提供数据的节点所提供的数据进行处理,然后存储处理后的数据。另外,在执行子任务三时,已经明确子任务一和子任务二执行算法的节点,则可以首先确定网络拓扑结构中可以提供子任务三对应的算法的节点,进而选出一个可以提供子任务三对应的算法的节点,对子任务一和子任务二中执行算法的节点中存储的子任务三所需的数据进行处理,实现对整个总任务的执行。
具体的,例如,需要对一段时长为10分钟的源视频中的前5分钟采用第一模型进行处理,后5分钟采用第二模型进行处理,最后再对两部分模型处理后的视频进行合成,则该任务可以划分为三个子任务,即:
子任务一:对源视频的前5分钟进行第一模型处理;
子任务二:对源视频的后5分钟进行第二模型处理;
子任务三,进行视频合成。
针对子任务一:首先需要获取网络拓扑结构中可以提供源视频的节点,可以提供第一模型的节点,从而选出一个可以提供源视频的节点,一个可以提供第一模型的节点,进而将源视频的前5分钟的视频流传输给选出的可以提供第一模型的节点。
针对子任务二:由于子任务一中已选出一个可以提供源视频的节点,则在子任务二的处理过程中,需要获取网络拓扑结构中可以提供第二模型的节点,从而选出一个可以提供第二模型的节点,进而将源视频的后5分钟的视频流传输给选出的可以提供第二模型的节点。
针对子任务三:由于子任务三所需的数据是子任务一和子任务二执行后获得的数据,因而在子任务三的处理过程中,需要获取网络拓扑结构中可以进行视频合成的节点,从而选出一个可以进行视频合成的节点,将子任务一中提供第一模型的节点输出的数据,以及子任务二中提供第二模型的节点输出的数据进行视频合成。
由此可知,本发明的实施例,针对算法复杂的任务,可以进行任务拆分,从而将各个任务的算法分布到网络中,而不是由一个节点同一执行,不仅可以降低单个节点的能力要求,而且可以缩短任务处理时间。
步骤12:获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点。
本发明的实施例中,获取到待执行的目标任务所需的目标算法和目标数据后,通过上述步骤12获取网络拓扑结构中能够提供目标数据的节点和能够提供目标算法的节点,由此可见,本发明的实施例中,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
步骤13:从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点。
其中,网络拓扑结构中包括多个节点,因此可能存在多个节点可以提供目标数据,多个节点可以执行目标算法。并且,可能目标数据分布在多个节点上,目标算法也分布在多个节点上。而执行目标任务只需要提供一组目标数据的节点以及提供一组目标算法的节点即可。
可选的,所述从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点,包括:
获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延、提供一组所述目标算法的节点执行所述目标算法所需的时长、提供一组所述目标算法的节点的缓存空间大小中的至少一项。
其中,需要说明的是,若上述步骤11之前,未进行任务拆分,则一组目标算法可能会由多个节点来提供,那么,在此种情况下:
第一方面,若提供一组目标数据的节点也包括多个节点,则提供一组目标数据的节点到提供一组目标算法的节点的时延可以为,每一个提供目标数据的节点到每一个提供目标算法的节点的时延之差或者平均值,例如提供一组目标数据的节点包括a、b节点,提供一组目标算法的节点为c、d节点,则a-c、b-c、a-d、b-d的时延之差或者平均值可以作为该组提供目标数据的节点和该组提供目标算法的节点之间的时延。
第二方面,提供一组所述目标算法的节点执行所述目标算法所需的时长可以为,该组中执行各自所提供的算法所需的时长之和或者平均值。
第三方面,提供一组所述目标算法的节点的缓存空间大小可以为,该组中的提供目标算法的节点的缓存空间之和或者平均值。
若上述步骤11之前,进行了任务拆分,则一组目标算法由一个节点来提供,那么,在此种情况下:
第一方面,若提供一组目标数据的节点也包括多个节点,则提供一组目标数据的节点到提供一组目标算法的节点的时延可以为,每一个提供目标数据的节点到提供目标算法的节点的时延之差或者平均值,例如提供一组目标数据的节点包括a、b节点,提供一组目标算法的节点为c节点,则a-c、b-c的时延之差或者平均值可以作为该组提供目标数据的节点和提供目标算法的节点之间的时延。
第二方面,提供一组所述目标算法的节点执行所述目标算法所需的时长即为提供目标算法的节点执行目标算法所需的时长。
第三方面,提供一组所述目标算法的节点的缓存空间大小可以为,提供目标算法的节点的缓存空间。
另外,对于上述组合,例如,目标数据包括A、B两项数据,分别可以由网络拓扑结构中的a、b节点提供,目标算法包括C算法这一种,可以由网络拓扑结构中的c、d节点提供,则可以获得的组合如下所示:
组合一:a、b、c;
组合二:a、b、d。
则可以分别获取上述两个组合的能力信息,然后根据这两个组合各自的能力信息,选出一个组合,从而由选出的组合中提供目标算法的节点采用目标算法,对该组合中提供目标数据的节点所提供的目标数据进行处理。
此外,所述目标组合为提供一组目标数据的节点和提供一组目标算法的节点形成的所有组合中,能力最强的组合。其中,组合的能力可以通过组合中提供一组目标数据的节点到提供一组目标算法的节点的时延、提供一组目标算法的节点执行目标算法所需的时长、提供一组目标算法的节点的缓存空间大小中的至少一项来表示,例如提供一组目标数据的节点到提供一组目标算法的节点的时延越小、提供一组目标算法的节点执行目标算法所需的时长越小、提供一组目标算法的节点的缓存空间越大,则表示该组合的能力越强。
可选的,所述根据每个组合的能力信息,选择一个目标组合,包括:
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点的缓存空间中的最大值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比;
或者
选择所述组合的第二比值中的最小值对应的组合,作为所述目标组合,所述第二比值为所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
由上述可知,本发明实施例中,可以采用上述六种方式中的任意一种来选择目标组合。其中,可以理解的是,对于选择目标组合的具体方式,并不局限于此,还可是其他根据组合的能力信息进行选择的其他方式。
步骤14:控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理。
可选的,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
所述第一节点向所述第一目标节点发送第一指示信息,所述第一指示信息用于指示所述第一目标节点将所述目标数据发送给所述第二目标节点;
所述第一节点向所述第二目标节点发送第二指示信息,所述第二指示信息用于指示所述第二目标节点采用所述目标算法,对所述目标数据进行处理。
本发明的实施例中,需要执行目标任务的节点,通过上述步骤13选出提供一组目标数据的节点(即第一目标节点)和提供一组目标算法的节点(即第二目标节点)后,向第一目标节点发送指示信息,使得第一目标节点将其中存储的目标数据发送给第二目标节点,从而由第二目标节点采用目标算法进行处理,进而将处理后获得的数据返回给上述需要执行目标任务的节点。
其中,需要说明的是,若上述步骤11之前,未进行任务拆分,则一组目标算法可能会由多个节点来提供,那么,在此种情况下:
若提供一组目标数据的节点包括多个节点,则提供一组目标数据的多个节点分别将对应的数据传输到对应算法的节点,例如提供一组目标数据的节点包括a、b节点,提供目标算法的节点包括c、d节点,a节点提供的数据需要c节点来处理,b 节点提供的数据需要d节点来处理,则a节点需要将数据传输到c节点,b 节点需要将数据传输到d节点来处理。
即在一组目标算法由多个节点提供,一组目标数据由多个节点提供的情况下,需要按照数据与算法的对应关系,以及各个算法的执行顺序来进行处理。
若上述步骤11之前,进行了任务拆分,则一组目标算法由一个节点来提供,那么,在此种情况下:
提供目标数据的节点将各自所提供的数据发送给提供目标算法的节点,由提供目标算法的节点对接收到的数据进行处理即可。
可选的,在所述目标数据包括视频流或者音频流的情况下,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理;
其中,所述第一数据包包括预设时长的视频流或音频流。所述预设时长的视频可以包括预设数量的视频帧。
可选的,所述控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理之后,还包括:
在接收所述第二目标节点发送的处理后的所述第一数据包的过程中,控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第二数据包进行处理;
其中,所述第二数据包包括预设时长的视频流或音频流。
本发明的实施例中,在对视频流或者音频流进行处理时,可以针对数据包逐一进行处理,然后将处理完成的数据包发送出去,即本发明的实施例,通过数据驱动计算,不再等待数据收集完成,而是在输出传输过程中,分步进行计算,这样能提高效率,缩短时延。
综上所述,对于本发明实施例的任务处理方法,具体应用场景可举例如下:
例如图3所示,一个网络拓扑结构包括三层网络结构,其中,层一包括节点101~106,层二包括节点201~203,层三包括节点301。其中,节点101中存储有视频实拍数据,节点102中存储有AR素材,节点103中存储有3D扫描数据。
当节点301需要一个以节点101中的视频实拍为背景、以节点102中的AR素材增加趣味性、以节点103的扫描数据作为内容的视频时,在业务开始时,节点301发出三条请求,可以广播方式,也可以直接点对点发送,其中,请求中包括:业务类型、资源请求、数据类型、内容描述。
节点101、节点102和节点103分别响应节点301发送的请求,附带样本内容反馈。节点301接收到节点101、节点102和节点103的反馈后,采用本发明实施例的任务处理方法规划处理路径,即确定提供数据的节点和提供内容的节点,例如提供数据的节点是节点101、节点102和节点103,提供算法的节点是节点201,则节点301会下发所需视频背景生成代码给节点101,下发AR动作和时间点给节点102,下发3D提取时间信息和所需内容给节点103,下发视频合成代码给节点201。
此后,节点101使用节点301下发的工具,对要求视频做预处理,生成背景视频,编码压缩后发送给节点201;节点102根据要求的AR动作和时间点,提供AR素材给节点201;节点103根据要求的3D内容和时间点,提供3D内容给节点201;节点201接收节点101、节点102、节点103提供的相关数据进行视频合成,并转码,合成新视频后,转发给节点301。
综上所述,本发明的实施例,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,不仅可以提高数据的安全性,而且可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
本发明的实施例还提供了一种任务处理装置,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;如图4所示,所述任务处理装置400包括:
第一获取模块401,用于获取待执行的目标任务所需的目标数据和目标算法;
第二获取模块402,用于获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
选择模块403,用于从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制模块404,用于控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理。
可选的,所述选择模块403包括:
组合子模块,用于获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
选择子模块,用于根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延、提供一组所述目标算法的节点执行所述目标算法所需的时长、提供一组所述目标算法的节点的缓存空间大小中的至少一项。
可选的,所述选择子模块具体用于:
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点的缓存空间中的最大值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比;
或者
选择所述组合的第二比值中的最小值对应的组合,作为所述目标组合,所述第二比值为所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
可选的,所述任务处理装置,还包括:
拆分模块,用于根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
可选的,在所述目标数据包括视频流或者音频流的情况下,所述控制模块包括:
第一处理子模块,用于控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理;
其中,所述第一数据包包括预设时长的视频流或音频流。
可选的,所述任务处理装置还包括:
处理模块,用于在接收所述第二目标节点发送的处理后的所述第一数据包的过程中,控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第二数据包进行处理;
其中,所述第二数据包包括预设时长的视频流或音频流。
可选的,所述控制模块包括:
第一发送子模块,用于向所述第一目标节点发送第一指示信息,所述第一指示信息用于指示所述第一目标节点将所述目标数据发送给所述第二目标节点;
第二发送子模块,用于向所述第二目标节点发送第二指示信息,所述第二指示信息用于指示所述第二目标节点采用所述目标算法,对所述目标数据进行处理;
接收子模块,用于接收所述第二目标节点发送的采用所述目标算法对所述目标数据处理后获得的数据。
由上述可知,本发明实施例提供的任务处理装置,通过获取待执行的目标任务所需的目标数据和目标算法,并确定网络拓扑结构中能够提供目标数据的至少一个第一节点以及能够执行目标算法的至少一个第二节点,从而选出提供一组目标数据的第一节点和提供一组目标算法的第二节点,控制选出的第二节点采用目标算法对选出的第一节点提供的目标数据进行处理,实现对目标任务的执行。由此可见,本发明的实施例,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下所述的任务处理方法中的步骤;通信接口502用于上述终端与其他设备之间的通信。
所述任务处理方法,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;所述任务处理方法包括:
获取待执行的目标任务所需的目标数据和目标算法;
获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理。
所述从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点,包括:
获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延、提供一组所述目标算法的节点执行所述目标算法所需的时长、提供一组所述目标算法的节点的缓存空间大小中的至少一项。
可选的,所述根据每个组合的能力信息,选择一个目标组合,包括:
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标算法的节点的缓存空间中的最大值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比;
或者
选择所述组合的第二比值中的最小值对应的组合,作为所述目标组合,所述第二比值为所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
可选的,所述获取待执行的目标任务所需的目标数据和目标算法之前,还包括:
根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
可选的,在所述目标数据包括视频流或者音频流的情况下,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理;
其中,所述第一数据包包括预设时长的视频流或音频流。
可选的,所述控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理之后,还包括:
在接收所述第二目标节点发送的处理后的所述第一数据包的过程中,控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第二数据包进行处理;
其中,所述第二数据包包括预设时长的视频流或音频流。
可选的,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
向所述第一目标节点发送第一指示信息,所述第一指示信息用于指示所述第一目标节点将所述目标数据发送给所述第二目标节点;
向所述第二目标节点发送第二指示信息,所述第二指示信息用于指示所述第二目标节点采用所述目标算法,对所述目标数据进行处理;
接收所述第二目标节点发送的采用所述目标算法对所述目标数据处理后获得的数据。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种任务处理方法,其特征在于,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;所述任务处理方法包括:
获取待执行的目标任务所需的目标数据和目标算法;
获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理;
所述从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点,包括:
获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延;
或者,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,以及提供一组所述目标算法的节点执行所述目标算法所需的时长;
或者,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,以及提供一组所述目标算法的节点的缓存空间大小。
2.根据权利要求1所述的任务处理方法,其特征在于,所述根据每个组合的能力信息,选择一个目标组合,包括:
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
或者
选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
3.根据权利要求1所述的任务处理方法,其特征在于,所述获取待执行的目标任务所需的目标数据和目标算法之前,还包括:
根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
4.根据权利要求1所述的任务处理方法,其特征在于,在所述目标数据包括视频流或者音频流的情况下,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理;
其中,所述第一数据包包括预设时长的视频流或音频流。
5.根据权利要求4所述的任务处理方法,其特征在于,所述控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第一数据包,进行处理之后,还包括:
在接收所述第二目标节点发送的处理后的所述第一数据包的过程中,控制所述第二目标节点采用所述目标算法,对接收到的所述第一目标节点发送的所述目标数据的第二数据包进行处理;
其中,所述第二数据包包括预设时长的视频流或音频流。
6.根据权利要求1所述的任务处理方法,其特征在于,所述控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理,包括:
向所述第一目标节点发送第一指示信息,所述第一指示信息用于指示所述第一目标节点将所述目标数据发送给所述第二目标节点;
向所述第二目标节点发送第二指示信息,所述第二指示信息用于指示所述第二目标节点采用所述目标算法,对所述目标数据进行处理;
接收所述第二目标节点发送的采用所述目标算法对所述目标数据处理后获得的数据。
7.一种任务处理装置,其特征在于,应用于网络拓扑结构,所述网络拓扑结构包括多个节点;所述任务处理装置包括:
第一获取模块,用于获取待执行的目标任务所需的目标数据和目标算法;
第二获取模块,用于获取所述网络拓扑结构中,能够提供所述目标数据的至少一个第一节点,以及能够执行所述目标算法的至少一个第二节点;
选择模块,用于从所述至少一个第一节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述至少一个第二节点中选择提供一组所述目标算法的节点作为第二目标节点;
控制模块,用于控制所述第二目标节点采用所述目标算法,对所述第一目标节点中的所述目标数据进行处理;
所述选择模块包括:
组合子模块,用于获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
选择子模块,用于根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延;
或者,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,以及提供一组所述目标算法的节点执行所述目标算法所需的时长;
或者,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,以及提供一组所述目标算法的节点的缓存空间大小。
8.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1-6中任一项所述的任务处理方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的任务处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076228.4A CN110928692B (zh) | 2020-01-23 | 2020-01-23 | 一种任务处理方法、装置及电子设备 |
US17/794,457 US11706097B2 (en) | 2020-01-23 | 2021-01-22 | Task processing method applied to network topology, electronic device and storage medium |
PCT/CN2021/073405 WO2021148014A1 (zh) | 2020-01-23 | 2021-01-22 | 一种任务处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076228.4A CN110928692B (zh) | 2020-01-23 | 2020-01-23 | 一种任务处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928692A CN110928692A (zh) | 2020-03-27 |
CN110928692B true CN110928692B (zh) | 2020-08-07 |
Family
ID=69854670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010076228.4A Active CN110928692B (zh) | 2020-01-23 | 2020-01-23 | 一种任务处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928692B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11706097B2 (en) | 2020-01-23 | 2023-07-18 | Novnet Computing System Tech Co., Ltd. | Task processing method applied to network topology, electronic device and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN104731647A (zh) * | 2015-03-31 | 2015-06-24 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN105893497A (zh) * | 2016-03-29 | 2016-08-24 | 杭州数梦工场科技有限公司 | 一种任务处理方法和装置 |
CN108255864A (zh) * | 2016-12-29 | 2018-07-06 | 广东中科遥感技术有限公司 | 基于分布式存储和分布式计算的影像地图服务发布方法 |
CN109918184A (zh) * | 2019-03-01 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 图片处理系统、方法及相关装置和设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9900386B2 (en) * | 2015-04-09 | 2018-02-20 | International Business Machines Corporation | Provisioning data to distributed computing systems |
CN105468450B (zh) * | 2015-12-29 | 2019-02-05 | 华为技术有限公司 | 任务调度方法及系统 |
CN106022245B (zh) * | 2016-05-16 | 2019-09-06 | 中国资源卫星应用中心 | 一种基于算法分类的多源遥感卫星数据并行处理系统及方法 |
CN109460345B (zh) * | 2018-09-28 | 2022-02-22 | 北京赛博贝斯数据科技有限责任公司 | 实时数据的计算方法及系统 |
CN110008257B (zh) * | 2019-04-10 | 2024-04-16 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、系统、计算机设备和存储介质 |
-
2020
- 2020-01-23 CN CN202010076228.4A patent/CN110928692B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN104731647A (zh) * | 2015-03-31 | 2015-06-24 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN105893497A (zh) * | 2016-03-29 | 2016-08-24 | 杭州数梦工场科技有限公司 | 一种任务处理方法和装置 |
CN108255864A (zh) * | 2016-12-29 | 2018-07-06 | 广东中科遥感技术有限公司 | 基于分布式存储和分布式计算的影像地图服务发布方法 |
CN109918184A (zh) * | 2019-03-01 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 图片处理系统、方法及相关装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110928692A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109417691B (zh) | 一种蓝牙集群在线升级方法及装置 | |
CN113098773B (zh) | 数据处理方法、装置及系统 | |
US8447954B2 (en) | Parallel pipelined vector reduction in a data processing system | |
CN110928692B (zh) | 一种任务处理方法、装置及电子设备 | |
CN111008873B (zh) | 一种用户确定方法、装置、电子设备及存储介质 | |
CN112256653B (zh) | 一种数据采样方法和装置 | |
CN112131014B (zh) | 决策引擎系统及其业务处理方法 | |
CN112165505B (zh) | 去中心化的数据处理方法、电子装置和存储介质 | |
CN110324629B (zh) | 图片转码方法、装置及电子设备 | |
CN115865701B (zh) | 基于菊花链网络的节点控制方法、装置及系统 | |
CN110795215B (zh) | 一种数据处理方法、计算机设备、存储介质 | |
CN114661563B (zh) | 基于流处理框架的数据处理方法以及系统 | |
CN115118583B (zh) | 日志查询方法、装置、电子设备及计算机可读存储设备 | |
US11706097B2 (en) | Task processing method applied to network topology, electronic device and storage medium | |
CN111294553A (zh) | 处理视频监控业务信令的方法、装置、设备和存储介质 | |
CN115378959A (zh) | 数据发送方法、装置、电子设备和存储介质 | |
CN113923258A (zh) | 数据处理方法及数据处理系统 | |
CN108805741B (zh) | 一种电能质量数据的融合方法、装置及系统 | |
CN113329076B (zh) | 数据传输方法、装置及系统、计算机设备、存储介质 | |
Lavault et al. | A distributed approximation algorithm for the minimum degree minimum weight spanning trees | |
CN111400327A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN117499017B (zh) | 区块链网络传输方法、系统及存储介质和终端设备 | |
CN112100446A (zh) | 搜索方法、可读存储介质和电子设备 | |
CN112995274B (zh) | 确定连接节点的方法、装置、设备及计算机可读存储介质 | |
EP3216167B1 (en) | Orchestrator and method for virtual network embedding using offline feedback |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |