CN114546600A - 一种数据处理装置、方法和电子设备 - Google Patents
一种数据处理装置、方法和电子设备 Download PDFInfo
- Publication number
- CN114546600A CN114546600A CN202210192214.8A CN202210192214A CN114546600A CN 114546600 A CN114546600 A CN 114546600A CN 202210192214 A CN202210192214 A CN 202210192214A CN 114546600 A CN114546600 A CN 114546600A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- virtual
- application program
- virtual machine
- 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
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- G06F9/505—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 considering the load
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本申请提供一种应用于图形处理器宿主机中的数据处理装置和方法,第一虚拟驱动应用程序接口接收虚拟机生成的第一待处理数据和容器生成的第二待处理数据;驱动应用程序接口接收第一虚拟驱动应用程序接口传递的第一待处理数据和第二待处理数据,分别调用图形处理器宿主机中的处理资源处理第一待处理数据和第二待处理数据得到第一处理结果和第二处理结果。虚拟机中应用程序模块生成的第一待处理数据依次通过该虚拟机中挂载的第二虚拟驱动应用程序接口和虚拟图形处理器输出给第一虚拟驱动应用程序接口。本方案中,图形处理器宿主机对于虚拟机和容器生成的数据分别进行处理,实现了容器和虚拟机共享同一宿主机,充分利用宿主机资源,减少硬件资源消耗。
Description
技术领域
本申请涉及数据处理领域,更具体的说,是涉及一种数据处理装置、方法和电子设备。
背景技术
目前主流的GPU(Graphics Processing Unit,图形处理器)硬件不支持SRIOV(Single Root I/O Virtualization,单根I/O虚拟化)技术,针对多个虚拟机/多个容器要共享GPU需要采用不同的虚拟化技术,导致同一台GPU宿主机只能用于虚拟机或者用于容器二选一,而不能够在同一台GPU宿主机上设置虚拟机和容器。
因此,当需要分别设置虚拟机和容器时,需要在一个GPU只设置虚拟机,另一个GPU只设置容器,但当设置的虚拟机可能仅占用其对应GPU的部分资源和/或容器仅占用其对应GPU的部分资源,导致无法充分利用GPU资源,增加了额外的硬件资源消耗。
发明内容
有鉴于此,本申请提供了一种数据处理装置,如下:
一种数据处理装置,应用于图形处理器宿主机,包括:
至少一个虚拟机,用于生成第一待处理数据;
至少一个容器,用于生成第二待处理数据;
第一虚拟驱动应用程序接口,分别连接所述虚拟机和所述容器,用于接收所述第一待处理数据和所述第二待处理数据;
驱动应用程序接口,与所述第一虚拟驱动应用程序接口相连,用于接收所述第一虚拟驱动应用程序接口传递的所述第一待处理数据和所述第二待处理数据,基于所述第一代处理数据和第二代处理数据分别调用图形处理器宿主机中的处理资源,所述处理资源分别处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果;
其中,虚拟机包括应用程序模块、第二虚拟驱动应用程序接口和虚拟图形处理器;所述应用程序模块生成的第一待处理数据,通过所述第二虚拟驱动应用程序接口转发给所述虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据加载到所述第一虚拟驱动应用程序接口。
可选的,上述的装置,还包括:
调用转发模块,设置于所述虚拟机与所述第一虚拟驱动应用程序接口之间,接收所述虚拟机发送的所述第一待处理数据,将所述第一待处理数据从第一协议格式转换为第二协议格式,将第二协议格式的第一待处理数据发送给第一虚拟驱动应用程序接口,所述第一协议格式是虚拟机输出的第一待处理数据采用的协议格式,第二协议格式是容器输出的第二待处理数据采用的协议格式。
可选的,上述的装置,还包括:
图形处理器驱动模块,与所述驱动应用程序接口相连,用于为所述驱动应用程序接口提供处理资源。
可选的,上述的装置,所述第一虚拟驱动应用程序接口,包括:
分别与所述虚拟机和所述容器相连的接收单元,所述接收单元接收所述第一待处理数据和所述第二待处理数据;
与所述接收单元相连的分配单元,所述分配单元为所述虚拟机和所述容器分配图形处理器宿主机中的处理资源。
可选的,上述的装置,所述虚拟机还包括:
第一代理模块,设置于所述应用程序模块与第二虚拟驱动应用程序接口之间,第一代理模块截取所述应用程序模块生成的第一待处理数据,将所述第一待处理数据发送给所述第二虚拟驱动应用程序接口。
可选的,上述的装置,还包括:
至少一个第二代理模块,设置于调用转发模块与第一虚拟驱动应用程序接口之间,第二代理模块基于第一处理资源和处理所述第一待处理数据的所需资源,将所述第一待处理数据发送至所述第一虚拟驱动应用程序接口;
其中,所述第一处理资源是图形处理器宿主机为第一虚拟机分配的资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
可选的,上述的装置,所述调用转发模块,还接收第一虚拟驱动应用程序接口传递的第一处理结果,将第一处理结果从第二协议格式转换为第一协议格式,将第一协议格式的第一处理结果输出给第一虚拟机的虚拟图形处理器,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
一种数据处理方法,所述方法应用于图形处理器宿主机,包括:
接收至少一个虚拟机中的应用程序生成的第一待处理数据和/或至少一个容器生成的第二待处理数据;其中,虚拟机中应用程序模块生成的第一待处理数据,通过所述虚拟机中第二虚拟驱动应用程序接口转发给虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据输出给图形处理器宿主机;
将第一待处理数据和/或第二待处理数据分别传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口;
所述第一虚拟驱动应用程序接口基于所述第一待处理数据和/或所述第二待处理数据调用图形处理器宿主机中的处理资源,所述处理资源处理所述第一待处理数据和/或所述第二待处理数据分别得到第一处理结果和/或第二处理结果。
可选的,上述的装置,述的方法,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口,包括:
确定所述图形处理器宿主机处理所述第一待处理数据所需资源;
获取所述图形处理器宿主机中为第一虚拟机分配的第一处理资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机;
根据所述第一处理资源和所述所需资源,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口。
一种电子设备,所述电子设备作为图形处理器宿主机,所述图形处理器宿主机包括如上述任一项所述的数据处理装置。
经由上述的技术方案可知,本申请提供了一种数据处理装置中,该装置应用于图形处理器宿主机中,包括至少一个虚拟机、至少一个容器、第一虚拟驱动应用程序接口以及驱动应用程序接口,其中该第一虚拟驱动应用程序接口,分别连接虚拟机和容器,用于接收该虚拟机生成的第一待处理数据和容器生成的第二待处理数据;该驱动应用程序接口,用于接收所述第一虚拟驱动应用程序接口传递的所述第一待处理数据和所述第二待处理数据,基于所述第一代处理数据和第二代处理数据分别调用图形处理器宿主机中的处理资源,所述处理资源分别处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果;其中,任一个虚拟机包括应用程序模块、第二虚拟驱动应用程序接口和虚拟图形处理器,该应用程序模块生成的第一待处理数据,通过第二虚拟驱动应用程序接口转发给虚拟图形处理器,虚拟图形处理器将该第一待处理数据输出给第一虚拟驱动应用程序接口,以实现将虚拟机生成的待处理数据发送给第一虚拟驱动应用程序接口。本方案中,图形处理器宿主机对于虚拟机生成的数据和容器生成的数据分别进行处理,同一宿主机实现了容器和虚拟机的共享,能够充分利用宿主机资源,并且减少了硬件资源消耗。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的一种数据处理装置实施例1的结构示意图;
图2是本申请提供的一种数据处理装置实施例2的结构示意图;
图3是本申请提供的一种数据处理装置实施例3的结构示意图;
图4是本申请提供的一种数据处理装置实施例4的结构示意图;
图5是本申请提供的一种数据处理装置实施例5的结构示意图;
图6是本申请提供的一种数据处理装置实施例6的结构示意图;
图7是本申请提供的一种数据处理方法实施例1的流程图;
图8是本申请提供的一种数据处理方法实施例2的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示的,为本申请提供的一种数据处理装置实施例1的结构示意图,该装置应用于一图形处理器(GPU,Graphics Processing Unit)宿主机,该装置包括以下结构:至少一个虚拟机101、至少一个容器102、第一虚拟驱动应用程序接口103和驱动应用程序接口104;
本申请中的示意图中均采用一个虚拟机和一个容器作为示例,具体实施中虚拟机和容器的个数不限制于此,可以根据实际情况进行设置。
其中,虚拟机101,用于生成第一待处理数据;
其中,虚拟机101包括应用程序模块1011、第二虚拟驱动应用程序接口(API,Application Program Interface)1012和虚拟图形处理器1013;所述应用程序模块生成的第一待处理数据,通过所述第二虚拟驱动应用程序接口转发给所述虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据加载到所述第一虚拟驱动应用程序接口。
其中,该虚拟机中的应用程序模块生成第一待处理数据,该第一待处理数据需要调用图形处理器宿主机中的处理资源,具体是将该第一待处理数据线转发给虚拟机内的第二虚拟驱动应用程序接口,该第二虚拟应用程序接口将该第一待处理数据转发给该虚拟机内的虚拟图形处理器,由该虚拟图形处理器调用第一虚拟驱动应用程序接口,以实现将该应用程序模块生成的第一待处理数据发送给图形处理器宿主机。
其中,该虚拟机中挂载的虚拟图形处理器,是作为虚拟机与图形处理器宿主机之间的桥梁,将该应用程序模块生成的待处理数据从虚拟机输出。
其中,容器102,用于生成第二待处理数据;
其中,第一虚拟驱动应用程序接口103,分别连接所述虚拟机101和所述容器102,用于接收所述第一待处理数据和所述第二待处理数据;
其中,第一虚拟驱动应用程序接口分别连接虚拟机和容器,接收对于虚拟机输出的第一待处理数据和容器输出的第二待处理数据。
其中,该虚拟机和容器通过调用虚拟驱动应用程序接口文件,以使得该图形处理器宿主机接收该第一待处理数据好第二待处理数据。
其中,该图形处理器宿主机中的第一虚拟驱动应用程序接口分别接收从虚拟机和容器输出的待处理数据,实现了对于两种来源的待处理数据分别接收以及后续的处理,在同一个图形处理器宿主机中可以分别设置虚拟机和容器,能够充分利用图形处理器宿主机中的资源。
其中,驱动应用程序接口104,与所述第一虚拟驱动应用程序接口103相连,用于接收所述第一虚拟驱动应用程序接口传递的所述第一待处理数据和所述第二待处理数据,基于所述第一代处理数据和第二代处理数据分别调用图形处理器宿主机中的处理资源,所述处理资源分别处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果;
其中,该驱动应用程序接口作为图形处理器宿主机的内核部分,为该第一处理数据和第二处理数据提供处理资源,对于该第一待处理数据进行处理得到第一处理结果,对于第二待处理数据进行处理得到第二处理结果。
综上,本实施例提供的一种数据处理装置应用于图形处理器宿主机中,包括至少一个虚拟机、至少一个容器、第一虚拟驱动应用程序接口以及驱动应用程序接口,其中该第一虚拟驱动应用程序接口,分别连接虚拟机和容器,用于接收该虚拟机生成的第一待处理数据和容器生成的第二待处理数据;该驱动应用程序接口,用于接收所述第一虚拟驱动应用程序接口传递的所述第一待处理数据和所述第二待处理数据,基于所述第一代处理数据和第二代处理数据分别调用图形处理器宿主机中的处理资源,所述处理资源分别处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果;其中,任一个虚拟机包括应用程序模块、第二虚拟驱动应用程序接口和虚拟图形处理器,该应用程序模块生成的第一待处理数据,通过第二虚拟驱动应用程序接口转发给虚拟图形处理器,虚拟图形处理器将该第一待处理数据输出给第一虚拟驱动应用程序接口,以实现将虚拟机生成的待处理数据发送给第一虚拟驱动应用程序接口。本方案中,图形处理器宿主机对于虚拟机生成的数据和容器生成的数据分别进行处理,同一宿主机实现了容器和虚拟机的共享,能够充分利用宿主机资源,并且减少了硬件资源消耗。
如图2所示的,为本申请提供的一种数据处理装置实施例2的结构示意图,该装置包括以下结构:至少一个虚拟机201、至少一个容器202、调用转发模块203、第一虚拟驱动应用程序接口204和驱动应用程序接口205;
其中,至少一个虚拟机201、至少一个容器202、第一虚拟驱动应用程序接口204和驱动应用程序接口205的结构功能参考实施例1中的解释,本实施例中不做赘述。
其中,调用转发模块203,设置于所述虚拟机201与所述第一虚拟驱动应用程序接口204之间,接收所述虚拟机发送的所述第一待处理数据,将所述第一待处理数据从第一协议格式转换为第二协议格式,将第二协议格式的第一待处理数据发送给第一虚拟驱动应用程序接口;
其中,所述第一协议格式是虚拟机输出的第一待处理数据采用的协议格式,第二协议格式是容器输出的第二待处理数据采用的协议格式。
其中,虚拟机输出的待处理数据与容器输出的待处理数据的协议格式不同,这是因为容器和虚拟机的设置方式不同,虚拟机一般是由开发厂商设置完成,其数据的生成方式对于使用该虚拟机的开发人员不可知,而容器可以是由使用该虚拟机的开发人员自研,因此,使用该虚拟机的开发人员采用将虚拟机输出的待处理数据统一为容器的协议格式。
作为一个示例,该容器是采用.so文件加载到图形处理器宿主机中,该调用转发模块也将第一待处理数据转发为.so文件后到图形处理器宿主机的第一虚拟驱动应用程序接口。
具体的,将该虚拟机输出的第一待处理数据从第一协议格式转换为第二协议格式,以使得该虚拟机输出的待处理数据与容器输出的待处理数据的协议格式一致,该第一虚拟驱动应用程序接口只需要能够接收第二协议格式的数据即可,降低第一虚拟驱动应用程序接口的复杂度。
其中,该调用转发模块的功能是统一格式,具体是将虚拟机输出的第一待处理数据的协议格式与容器统一,将其转换为第二协议格式。
而且,该调用转发模块,还用于接收第一虚拟驱动应用程序接口传递的第一处理结果,将第一处理结果从第二协议格式转换为第一协议格式,将第一协议格式的第一处理结果输出给第一虚拟机的虚拟图形处理器,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
该调用转发模块的功能的转换数据的协议格式,具体是将虚拟机输出的第一待处理数据从第一协议格式转换为第二协议格式,以及将第一虚拟驱动应用程序接口输出的第一结果从第二协议格式转换为第一协议格式,实现了在虚拟机与第一虚拟驱动应用程序接口之间进行格式转换,实现了二者之间进行数据交互的目的。
综上,本实施例提供的一种数据处理装置中,还包括:设置于虚拟机和第一虚拟驱动应用程序接口之间的调用转发模块,该调用转发模块主要是用于在虚拟机与第一驱动应用程序接口之间进行数据调用转发,实现二者之间的数据交互,而且,将虚拟机输出的第一待处理数据从第一协议格式转换为第二协议格式,该第一虚拟驱动应用程序接口只需要能够接收第二协议格式的数据即可,降低第一虚拟驱动应用程序接口的复杂度。
如图3所示的,为本申请提供的一种数据处理装置实施例3的结构示意图,该装置包括以下结构:至少一个虚拟机301、至少一个容器302、第一虚拟驱动应用程序接口303、驱动应用程序接口304和图形处理器驱动模块305;
其中,至少一个虚拟机301、至少一个容器302、第一虚拟驱动应用程序接口303、驱动应用程序接口304的结构功能参考实施例1中的解释,本实施例中不做赘述。
其中,该图形处理器驱动模块305,与所述驱动应用程序接口相连,用于为所述驱动应用程序接口提供处理资源。
其中,该图形处理器宿主机中还设置有图形处理器驱动模块,为该驱动应用程序接口提供处理资源。
具体的,该图形处理器宿主机中的处理资源划分为多个分片,每个分片能够为一个虚拟机或者一个容器提供处理资源。
其中,该调用的图形处理器宿主机中的处理资源,具体是为该虚拟机或容器调用一片处理资源。
其中,该处理资源包括了图形处理器宿主机的计算能力和显存。
例如,若该图形处理器宿主机中的处理资源平均划分为4片,每片占用该图形处理器宿主机的25%的算力和显存。
其中,算力表示了该图形处理宿主机进行计算的能力。
其中,该图形处理器驱动模块包括硬件结构(图形处理器硬件)和软件(图形处理器驱动)。
其中,对于待处理数据进行处理处理,需要调用该图形处理器宿主机中驱动应用程序接口函数进行计算,具体是由该图形处理器宿主机中的图形处理器驱动和图形处理器硬件承载该处理资源。
综上,本实施例提供的一种数据处理装置中,还包括:图形处理器驱动模块,与所述驱动应用程序接口相连,用于为所述驱动应用程序接口提供处理资源。本方案中,该图形处理器驱动模块通过驱动应用程序接口为虚拟机和容器提供处理资源,实现了为虚拟机、容器生成的待处理数据分别进行处理过程。
如图4所示的,为本申请提供的一种数据处理装置实施例4的结构示意图,该装置包括以下结构:至少一个虚拟机401、至少一个容器402、第一虚拟驱动应用程序接口403和驱动应用程序接口404;
其中,该第一虚拟驱动应用程序接口,包括:接收单元4041和分配单元4042;
其中,该接收单元4041分别与所述虚拟机和所述容器相连,所述接收单元接收所述第一待处理数据和所述第二待处理数据;
其中,该分配单元4042与所述接收单元相连,所述分配单元为所述虚拟机和所述容器分配图形处理器宿主机中的处理资源。
其中,该第一虚拟应用程序接口403中具有接收单元,分别接收虚拟机和容器的待处理数据。
其中,该第一虚拟应用程序接口中还设置有分配单元,该分配单元为虚拟机和容器分配图形处理器宿主机中的处理资源。
其中,该处理资源包括了图形处理器宿主机的计算能力和显存。
具体的,该分配单元可以基于第一待处理数据和第二待处理数据所需的显存、待处理数据来源的优先级以及图形处理器宿主机中的空闲显存等参数,分配图形处理器宿主机的显存。
还可以结合其他参数分配算力,例如,待处理数据的来源优先级、图形处理器宿主机中的空闲算力量等分配算力。
其中,来源的优先级更高的,待处理数据分配更多的算力,以减少计算的时长,加快响应速度。
例如,虚拟机的第一待处理数据需要显存为A,第二待处理数据需要显存为B,图形处理器宿主机中空闲显存为C,其中C>(A+B),分别为该第一待处理数据分配2G显存、为第二待处理数据分配1G显存并将空闲算力分别分配给第一待处理数据和第二待处理数据,其中,若虚拟机的优先级高于容器,可以为第一待处理数据分配更多的算力;
例如,若虚拟机的优先级高于容器,图形处理器宿主机优先为虚拟机分配显存,虚拟机的第一待处理数据需要显存为A,第二待处理数据需要显存为B,图形处理器宿主机中空闲显存为D,其中,A<D,D<(A+B),优先为该第一待处理数据分配A显存,将空闲算力分配给第一待处理数据。
当然,需要说明的是,若该图形处理器宿主机中的处理资源平均划分为多片,每片占用的算力和显存相同,则为来源的优先级更高的待处理数据,分配更多片的处理资源。
综上,本实施例提供的一种数据处理装置中,第一虚拟驱动应用程序接口,包括:分别与所述虚拟机和所述容器相连的接收单元,所述接收单元接收所述第一待处理数据和所述第二待处理数据;与所述接收单元相连的分配单元,所述分配单元为所述虚拟机和所述容器分配图形处理器宿主机中的处理资源。本方案中,第一驱动应用程序接口基于接收到的第一待处理数据和第二待处理数据,为其对应分配图形处理器宿主机中的处理资源,以处理该第一待处理数据和第二待处理数据,实现了分别对于虚拟机和容器生成的待处理数据进行处理的目的。
如图5所示的,为本申请提供的一种数据处理装置实施例5的结构示意图,该装置包括以下结构:至少一个虚拟机501、至少一个容器502、第一虚拟驱动应用程序接口503和驱动应用程序接口504;
其中,虚拟机501包括应用程序模块5011、第一代理模块5012、第二虚拟驱动应用程序接口5013和虚拟图形处理器5014;
其中,该至少一个容器502、第一虚拟驱动应用程序接口503和驱动应用程序接口504,虚拟机中应用程序模块5011、第二虚拟驱动应用程序接口5013和虚拟图形处理器5014的结构功能与实施例1中相应结构功能一致,功能解释参考实施例1中的解释,本实施例中不做赘述。
其中,该第一代理模块5012,设置于所述应用程序模块5011与第二虚拟驱动应用程序接口5013之间,第一代理模块截取所述应用程序模块生成的第一待处理数据,将所述第一待处理数据发送给所述第二虚拟驱动应用程序接口。
其中,在虚拟机中设置有第一代理模块,该第一代理模块用于截取该应用程序模块生成的第一待处理数据。
具体实施中,该虚拟机中的应用程序模块生成第一待处理数据后,调用图形处理器宿主机中的处理资源,以使得调用的处理资源处理该第一待处理数据。因此,该第一代理模块是对于基于第一待处理数据调用处理资源的调用进行截获,具体表现为将该虚拟机中应用程序模块生成的第一待处理数据截取。
其中,该虚拟机中的应用程序可以是该虚拟机的开发厂商设置,使用该虚拟机的开发人员能够对于虚拟机中的一些参数进行设置。
其中,本实施例中的虚拟机中的第一代理模块、第二虚拟驱动应用程序接口和虚拟图形处理器是由使用该虚拟机的开发人员挂载到虚拟机中的。
而且,在每个虚拟机中均设置一个第一代理模块,以对于其所属的虚拟机中的应用程序模块生成的第一待处理数据进行截取。
需要说明的是,由于图形处理器宿主机采用的是与容器对应的虚拟化技术,因此虚拟机中应用程序生成的第一待处理数据无法直接传输给图形处理器宿主机,而本实施例中,该第一代理模块对于该应用程序生成的第一待处理数据进行截取,以使得能够将该第一待处理数据经过第二虚拟驱动应用程序接口和虚拟图形处理器转发给图形处理器宿主机中的虚拟驱动应用程序接口,实现了将应用程序生成的第一待处理数据传输给图形处理器宿主机进行处理的目的。
综上,本实施例提供的一种数据处理装置中虚拟机中还包括第一代理模块,设置于所述应用程序模块与第二虚拟驱动应用程序接口之间,第一代理模块截取所述应用程序模块生成的第一待处理数据,将所述第一待处理数据发送给所述第二虚拟驱动应用程序接口。本方案中,虚拟机中应用程序模块生成的第一待处理数据进行截取,以使得能够将该第一待处理数据经过第二虚拟驱动应用程序接口和虚拟图形处理器转发给图形处理器宿主机中的虚拟驱动应用程序接口。
如图6所示的,为本申请提供的一种数据处理装置实施例6的结构示意图,该装置包括以下结构:至少一个虚拟机601、至少一个容器602、调用转发模块603、至少一个第二代理模块604、第一虚拟驱动应用程序接口605和驱动应用程序接口606;
其中,该至少一个虚拟机601、至少一个容器602、调用转发模块603、第一虚拟驱动应用程序接口605和驱动应用程序接口606的结构功能与实施例2中相应结构功能一致,功能解释参考实施例1中的解释,本实施例中不做赘述。
其中,第二代理模块604,设置于调用转发模块与第一虚拟驱动应用程序接口之间,第二代理模块基于第一处理资源和处理所述第一待处理数据的所需资源,将所述第一待处理数据发送至所述第一虚拟驱动应用程序接口;
其中,所述第一处理资源是图形处理器宿主机为第一虚拟机分配的资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
其中,该第二代理模块可以与虚拟机一一对应设置,每个虚拟机对应一个第二代理模块;该第二代理模块还可以对应全部虚拟机。
其中,该第二代理模块与虚拟机一一对应设置,第二代理模块仅对于其对应的虚拟机生成的第一待处理数据发送给第一虚拟驱动应用程序接口。
其中,该第一待处理数据中携带有标识,该标识能够表示生成该第一待处理数据的虚拟机。
具体的,调用转发模块基于该标识确定其对应的第一虚拟机,可以直接将该第一待处理数据发送给第一虚拟机对应的第二代理模块中。
具体的,第二代理模块在获取到第一待处理数据后,经过分析该第一待处理数据确定处理该第一待处理数据的所需资源,获取为该虚拟机分配的第一处理资源,判断该第一处理资源是否满足该所需资源,如果满足的话,则将该第一待处理数据发送给第一虚拟驱动应用程序接口。
具体的,在创建虚拟机时,为该虚拟机分配处理资源。
其中,该第二代理模块对应全部虚拟机时,在其接收到第一待处理数据后,需要分别确定生成该第一待处理数据的第一虚拟机以及处理该第一待处理数据的所需资源,进而确定该第一虚拟机对应的第一处理资源,然后,判断该第一处理资源是否满足该所需资源,如果满足的话,则将该第一待处理数据发送给第一虚拟驱动应用程序接口。
其中,该第一待处理数据中携带有标识,该标识能够表示生成该第一待处理数据的虚拟机,第二代理模块基于该标识即可确定生成该第一待处理数据的第一虚拟机。
具体实施中,若该第一处理资源不能满足该所需资源,即该所需资源大于第一处理资源,则创建新的虚拟机,并为该新创建的虚拟机分配更多的处理资源,具体可以是满足处理所需资源的处理资源,该新的虚拟机生成该第一待处理数据,该第二代理模块分析确定该新的虚拟机分配的处理资源满足所需资源,将该第一待处理数据发送给第一虚拟驱动应用程序接口,以保证该第一待处理数据被处理,并得到处理结果。
综上,本实施例提供的一种数据处理装置中,还包括:至少一个第二代理模块,设置于调用转发模块与第一虚拟驱动应用程序接口之间,第二代理模块基于第一处理资源和处理所述第一待处理数据的所需资源,将所述第一待处理数据发送至所述第一虚拟驱动应用程序接口;其中,所述第一处理资源是图形处理器宿主机为第一虚拟机分配的资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机。本方案中,第二代理模块接收调用转发模块输出的第一待处理数据,基于处理该第一待处理数据的所需资源以及图形处理器宿主机为生成该第一待处理数据的虚拟机分配的第一处理资源,确定图形处理器宿主机的处理资源是否能够处理该第一待处理数据,并在能处理的情况下,将该第一待处理数据发送给第一虚拟驱动应用程序接口,保证了该图形处理器能够处理该第一待处理数据得到处理结果。
与上述本申请提供的一种数据处理装置实施例相对应的,本申请还提供了该数据处理装置应用的方法。
如图7所示的为本申请提供的一种数据处理方法实施例1的流程图,该方法应用于一图形处理器宿主机,该方法包括以下步骤:
步骤S701:接收至少一个虚拟机中的应用程序生成的第一待处理数据和/或至少一个容器生成的第二待处理数据;
其中,虚拟机中应用程序模块生成的第一待处理数据,通过所述虚拟机中第二虚拟驱动应用程序接口转发给虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据输出给图形处理器宿主机。
其中,图形处理器宿主机中设置有至少一个虚拟机,以及至少一个容器。
其中,虚拟机中的应用程序模块生成第一待处理数据,该第一待处理数据基于虚拟机中挂载的第二虚拟驱动应用程序接口和虚拟图形处理器输出给图形处理器宿主机中的第一虚拟驱动应用程序接口。
其中,一个或者多个虚拟机生成第一待处理数据,一个或者多个容器生成第二待处理数据,虚拟机和容器生成待处理数据的时间可以相同也可以不同。
因此,该图形处理器宿主机接收虚拟机和容器同时输出的第一待处理数据和第二待处理数据,或者在某一时刻接收仅虚拟机输出的第一待处理数据,在某一时刻接收仅容器输出的第二待处理数据。
步骤S702:将第一待处理数据和/或第二待处理数据分别传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口;
其中,该第一待处理数据与第二待处理数据采用不同的协议格式,本申请中,在接收到第一待处理数据后,还将该第一待处理数据从第一协议格式转换为第二协议格式,该第一虚拟驱动应用程序接口仅设置为接收第二协议格式数据可以同时接收第一待处理数据和第二待处理数据。
步骤S703:所述第一虚拟驱动应用程序接口基于所述第一待处理数据和/或所述第二待处理数据调用图形处理器宿主机中的处理资源,所述处理资源处理所述第一待处理数据和/或所述第二待处理数据分别得到第一处理结果和/或第二处理结果。
其中,图形处理器宿主机中设置的第一虚拟驱动应用程序接口分别接收该第一待处理数据和/或第二待处理数据。
该第一虚拟驱动应用程序接口用于对于该第一待处理数据和第二待处理数据分配处理资源。
其中,该处理资源包括了图形处理器宿主机的计算能力和显存。
具体的,可以基于第一待处理数据和第二待处理数据所需的显存、待处理数据来源的容器和虚拟机的优先级以及图形处理器宿主机中的空闲显存等参数,分配图形处理器宿主机的显存。
综上,本实施例提供的一种数据处理方法中,基于在虚拟机中设置的第二虚拟驱动应用程序接口、虚拟图形处理器,实现将虚拟机中应用程序模块生成的第一待处理数据输出给图形处理器宿主机,而该图形处理器宿主机还能够接收容器发送的第二待处理数据,图形处理器宿主机对于虚拟机生成的数据和容器生成的数据分别进行处理,同一宿主机实现了容器和虚拟机的共享,能够充分利用宿主机资源,并且减少了硬件资源消耗。
如图8所示的为本申请提供的一种数据处理方法实施例2的流程图,该方法包括以下步骤:
步骤S801:接收至少一个虚拟机中的应用程序生成的第一待处理数据和至少一个容器生成的第二待处理数据;
其中,步骤S801与实施例1中的步骤S701一致,本实施例中不做赘述。
步骤S802:将第二待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口;
其中,本实施例中是针对同时接收到第一待处理数据和第二待处理数据的情况进行的说明,具体实施中不限制于此,当仅接收到第一待处理数据时,也可以不执行步骤S802,直接执行步骤S803-805。
步骤S803:确定所述图形处理器宿主机处理所述第一待处理数据所需资源;
其中,分析该第一待处理数据,确定图形处理器宿主机处理该第一待处理数据的所需资源。
例如,分析该第一待处理数据,确定处理其需要2G显存。
步骤S804:获取所述图形处理器宿主机中为第一虚拟机分配的第一处理资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机;
其中,图形处理器宿主机为设置的虚拟机分配有处理资源。
在虚拟机创建时,图形处理器宿主机为该虚拟机分配处理资源,该虚拟机生成的第一待处理数据,只采用为其分配的处理资源进行处理。
其中,图形处理器宿主机中除了为虚拟机分配有处理资源,还为容器分配处理资源。
例如,图形处理器宿主机中的处理资源平均分为8片,为虚拟机a分配1片处理资源,为虚拟机b分配2片处理资源,剩余的5片处理资源分配为容器。
步骤S805:根据所述第一处理资源和所述所需资源,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口;
其中,针对每个虚拟机设置有对应的第二代理模块或者是全部的虚拟机对应一第二代理模块。
第二代理模块与虚拟机一一对应设置时,为每个第二代理模块对应的虚拟机分配的算力和显存固定,只有分配得到的算力和显存大于该虚拟的所需资源,才能够对该虚拟机的第一待处理数据进行处理,将该第一待处理数据传递给第一虚拟驱动应用程序接口。
其中,若图形处理器宿主机中为第一虚拟机分配的处理资源不满足该所需资源时,创建新的虚拟机,为该新的虚拟机分配目标资源,并为该新创建的虚拟机分配更多的处理资源,具体可以是满足处理所需资源的处理资源,该新的虚拟机生成该第一待处理数据,在分析确定该新的虚拟机分配的处理资源满足所需资源,将该第一待处理数据发送给第一虚拟驱动应用程序接口,以保证该第一待处理数据被处理,并得到处理结果。
步骤S806:所述第一虚拟驱动应用程序接口基于所述第一待处理数据和所述第二待处理数据调用图形处理器宿主机中的处理资源,所述处理资源处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果。
其中,步骤S806与实施例1中的步骤S703一致,本实施例中不做赘述。
综上,本实施例提供的一种数据处理方法中,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口,包括:确定所述图形处理器宿主机处理所述第一待处理数据所需资源;获取所述图形处理器宿主机中为第一虚拟机分配的第一处理资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机;根据所述第一处理资源和所述所需资源,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口。本方案中,根据图形处理器宿主机处理第一待处理数据所需资源和为生成该第一待处理数据的第一虚拟机分配的第一处理资源,分析确定是否将该第一虚拟机生成的第一待处理数据传递给第一虚拟驱动应用程序接口,保证该图像处理器宿主机中的处理资源能够处理该第一虚拟驱动应用程序接口接收到的待处理数据,降低图像处理器宿主机处理的错误率。
基于上述实施例提供的数据处理装置,本发明实施例还提供一种电子设备,所述电子设备作为图形处理器宿主机,所述图形处理器宿主机包括上述装置实施例中任一实施例所述的数据处理装置。
基于上述实施例提供的数据处理方法,本发明实施例还提供一种存储介质,存储介质中存储有计算机可执行指令,计算机可执行指令用于执行数据处理方法。
以上对本发明所提供的一种数据处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理装置,应用于图形处理器宿主机,包括:
至少一个虚拟机,用于生成第一待处理数据;
至少一个容器,用于生成第二待处理数据;
第一虚拟驱动应用程序接口,分别连接所述虚拟机和所述容器,用于接收所述第一待处理数据和所述第二待处理数据;
驱动应用程序接口,与所述第一虚拟驱动应用程序接口相连,用于接收所述第一虚拟驱动应用程序接口传递的所述第一待处理数据和所述第二待处理数据,基于所述第一代处理数据和第二代处理数据分别调用图形处理器宿主机中的处理资源,所述处理资源分别处理所述第一待处理数据和所述第二待处理数据分别得到第一处理结果和第二处理结果;
其中,虚拟机包括应用程序模块、第二虚拟驱动应用程序接口和虚拟图形处理器;所述应用程序模块生成的第一待处理数据,通过所述第二虚拟驱动应用程序接口转发给所述虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据加载到所述第一虚拟驱动应用程序接口。
2.根据权利要求1所述的装置,还包括:
调用转发模块,设置于所述虚拟机与所述第一虚拟驱动应用程序接口之间,接收所述虚拟机发送的所述第一待处理数据,将所述第一待处理数据从第一协议格式转换为第二协议格式,将第二协议格式的第一待处理数据发送给第一虚拟驱动应用程序接口,所述第一协议格式是虚拟机输出的第一待处理数据采用的协议格式,第二协议格式是容器输出的第二待处理数据采用的协议格式。
3.根据权利要求1所述的装置,还包括:
图形处理器驱动模块,与所述驱动应用程序接口相连,用于为所述驱动应用程序接口提供处理资源。
4.根据权利要求1所述的装置,所述第一虚拟驱动应用程序接口,包括:
分别与所述虚拟机和所述容器相连的接收单元,所述接收单元接收所述第一待处理数据和所述第二待处理数据;
与所述接收单元相连的分配单元,所述分配单元为所述虚拟机和所述容器分配图形处理器宿主机中的处理资源。
5.根据权利要求1所述的装置,所述虚拟机还包括:
第一代理模块,设置于所述应用程序模块与第二虚拟驱动应用程序接口之间,第一代理模块截取所述应用程序模块生成的第一待处理数据,将所述第一待处理数据发送给所述第二虚拟驱动应用程序接口。
6.根据权利要求1所述的装置,还包括:
至少一个第二代理模块,设置于调用转发模块与第一虚拟驱动应用程序接口之间,第二代理模块基于第一处理资源和处理所述第一待处理数据的所需资源,将所述第一待处理数据发送至所述第一虚拟驱动应用程序接口;
其中,所述第一处理资源是图形处理器宿主机为第一虚拟机分配的资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
7.根据权利要求2所述的装置,所述调用转发模块,还接收第一虚拟驱动应用程序接口传递的第一处理结果,将第一处理结果从第二协议格式转换为第一协议格式,将第一协议格式的第一处理结果输出给第一虚拟机的虚拟图形处理器,所述第一虚拟机是生成所述第一待处理数据的虚拟机。
8.一种数据处理方法,所述方法应用于图形处理器宿主机,包括:
接收至少一个虚拟机中的应用程序生成的第一待处理数据和/或至少一个容器生成的第二待处理数据;其中,虚拟机中应用程序模块生成的第一待处理数据,通过所述虚拟机中第二虚拟驱动应用程序接口转发给虚拟图形处理器,所述虚拟图形处理器将所述第一待处理数据输出给图形处理器宿主机;
将第一待处理数据和/或第二待处理数据分别传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口;
所述第一虚拟驱动应用程序接口基于所述第一待处理数据和/或所述第二待处理数据调用图形处理器宿主机中的处理资源,所述处理资源处理所述第一待处理数据和/或所述第二待处理数据分别得到第一处理结果和/或第二处理结果。
9.根据权利要求8所述的方法,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口,包括:
确定所述图形处理器宿主机处理所述第一待处理数据所需资源;
获取所述图形处理器宿主机中为第一虚拟机分配的第一处理资源,所述第一虚拟机是生成所述第一待处理数据的虚拟机;
根据所述第一处理资源和所述所需资源,将第一待处理数据传递给所述图形处理器宿主机的第一虚拟驱动应用程序接口。
10.一种电子设备,所述电子设备作为图形处理器宿主机,所述图形处理器宿主机包括如权利要求1-7任一项所述的数据处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192214.8A CN114546600A (zh) | 2022-02-28 | 2022-02-28 | 一种数据处理装置、方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192214.8A CN114546600A (zh) | 2022-02-28 | 2022-02-28 | 一种数据处理装置、方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546600A true CN114546600A (zh) | 2022-05-27 |
Family
ID=81662655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192214.8A Pending CN114546600A (zh) | 2022-02-28 | 2022-02-28 | 一种数据处理装置、方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546600A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719605A (zh) * | 2023-06-09 | 2023-09-08 | 摩尔线程智能科技(北京)有限责任公司 | 一种gpu负载部署方法及云计算平台、电子设备 |
-
2022
- 2022-02-28 CN CN202210192214.8A patent/CN114546600A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719605A (zh) * | 2023-06-09 | 2023-09-08 | 摩尔线程智能科技(北京)有限责任公司 | 一种gpu负载部署方法及云计算平台、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113296884B (zh) | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US9665921B2 (en) | Adaptive OpenGL 3D graphics in virtual desktop infrastructure | |
US8150971B2 (en) | Mechanism for migration of client-side virtual machine system resources | |
Cerrato et al. | Supporting fine-grained network functions through Intel DPDK | |
US7231638B2 (en) | Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data | |
US8881151B2 (en) | Control of Java resource runtime usage | |
US20190327190A1 (en) | Technologies for scalable packet reception and transmission | |
CN109218356B (zh) | 管理服务器上有状态应用的方法和设备 | |
US20200167186A1 (en) | Container isolation method and apparatus for netlink resource | |
CN115203142A (zh) | 一种多核核间实时通信系统及方法 | |
CN111427822A (zh) | 一种边缘计算系统 | |
CN113032166A (zh) | 核间通信的方法、处理器、核间通信系统及计算机可读存储介质 | |
US8860740B2 (en) | Method and apparatus for processing a display driver in virture desktop infrastructure | |
CN114546600A (zh) | 一种数据处理装置、方法和电子设备 | |
CN112488907A (zh) | 数据处理方法及系统 | |
CN115562887A (zh) | 基于数据组包的核间数据通信方法、系统、设备及介质 | |
CN115904761A (zh) | 片上系统、车辆及视频处理单元虚拟化方法 | |
CN113296974B (zh) | 数据库访问方法、装置、电子设备及可读存储介质 | |
CN103823712A (zh) | 一种多cpu虚拟机系统的数据流处理方法和装置 | |
WO2021147289A1 (zh) | 流式计算作业处理方法、流式计算系统及电子设备 | |
CN117370046A (zh) | 进程间通信方法、系统、设备和存储介质 | |
US20230153153A1 (en) | Task processing method and apparatus | |
CN112835703A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN116188240B (zh) | 一种用于容器的gpu虚拟化方法及装置、电子设备 |
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 |