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

一种虚拟机内存管理方法、装置及电子设备和存储介质与流程

2022-03-09 00:42:27 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,更具体地说,涉及一种虚拟机内存管理方法、装置及一种电子设备和一种计算机可读存储介质。


背景技术:

2.随着虚拟化技术应用越来越广泛,在各个领域,虚拟机也渐渐代替物理机来跑一些业务,当虚拟机上跑的业务越来越多时,人们对与虚拟机的要求也越来越高,一方面包括虚拟机的配置、性能等,另一方面人们也希望自己的业务可以平稳地运行。而内存作为操作系统正常运行的基本资源,内存资源的充足与否,直接关系着虚拟机的业务能否正常运行。
3.为了尽可能最大化利用主机内存资源,在虚拟机中加入了内存气球设备,内存气球的原理是根据虚拟机的实时状况给虚拟机分配内存,也就是说虚拟机用多少内存,就给虚拟机分配多少内存,而不是按照创建时指定的内存规格来分配内存,当主机内存资源竞争时,就无法保证虚拟机正常业务运行,这时候出现了内存预留的功能,kvm(kernel-based virtual machine)原生方案虽然支持内存预留,但是只支持全部预留,虽然能够解决虚拟机正常运行的问题,但是预留的内存资源不一定会全部用到,其他进程无法使用到未用到的预留内存资源,因此会造成主机物理内存的浪费。
4.因此,如何在保证虚拟机正常运行的前提下,减少主机物理内存的浪费是本领域技术人员需要解决的技术问题。


技术实现要素:

5.本技术的目的在于提供一种虚拟机内存管理方法、装置及一种电子设备和一种计算机可读存储介质,在保证虚拟机正常运行的前提下,减少了主机物理内存的浪费。
6.为实现上述目的,本技术提供了一种虚拟机内存管理方法,包括:
7.确定目标虚拟机;其中,所述目标虚拟机的配置包括内存预留属性和内存预留比例属性,所述内存预留属性用于描述所述目标虚拟机是否开启内存预留,所述内存预留比例属性用于描述所述目标虚拟机的预留内存比例;
8.在所述目标虚拟机开启内存预留的情况下,在所述目标虚拟机的运行过程中,接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性。
9.其中,所述接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性,包括:
10.通过云管理平台接收内存预留比例的调整命令;其中,所述调整命令至少包括内存预留比例的目标值;
11.基于所述目标值更新所述目标虚拟机的元数据信息,并基于更新后的元数据信息更新所述目标虚拟机的配置文件;
12.根据所述目标值计算所述目标虚拟机需要预留的内存大小,调整所述目标虚拟机
的内存特性,并重新启动所述目标虚拟机。
13.其中,还包括:
14.创建目标虚拟机,获取所述目标虚拟机的内存预留比例值;
15.将所述内存预留比例值保存至所述目标虚拟机的元数据信息中;
16.将所述目标虚拟机的配置文件中的内存预留比例属性赋值为所述内存预留比例值;
17.利用libvirt启动所述目标虚拟机。
18.其中,所述创建目标虚拟机,获取所述目标虚拟机的内存预留比例值,包括:
19.通过云管理平台创建目标虚拟机,并通过所述云管理平台获取所述目标虚拟机的内存预留比例值。
20.其中,将所述内存预留比例值保存至所述目标虚拟机的元数据信息中之后,还包括:
21.重启所述目标虚拟机,重启后验证所述目标虚拟机的元数据信息中是否存在所述内存预留比例值;
22.若是,则进入将所述目标虚拟机的配置文件中的内存预留比例属性赋值为所述内存预留比例值的步骤。
23.其中,所述利用libvirt启动所述目标虚拟机,包括:
24.利用libvirt解析所述目标虚拟机的配置文件,以获取所述内存预留比例属性;
25.基于所述内存预留比例属性计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机。
26.其中,所述基于所述内存预留比例属性计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机,包括:
27.将所述内存预留比例属性拼接到qemu命令中;
28.通过执行所述qemu命令计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机。
29.为实现上述目的,本技术提供了一种虚拟机内存管理装置,包括:
30.确定模块,用于确定目标虚拟机;其中,所述目标虚拟机的配置包括内存预留属性和内存预留比例属性,所述内存预留属性用于描述所述目标虚拟机是否开启内存预留,所述内存预留比例属性用于描述所述目标虚拟机的预留内存比例;
31.调整模块,用于在所述目标虚拟机开启内存预留的情况下,在所述目标虚拟机的运行过程中,接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性。
32.为实现上述目的,本技术提供了一种电子设备,包括:
33.存储器,用于存储计算机程序;
34.处理器,用于执行所述计算机程序时实现如上述虚拟机内存管理方法的步骤。
35.为实现上述目的,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述虚拟机内存管理方法的步骤。
36.通过以上方案可知,本技术提供的一种虚拟机内存管理方法,包括:确定目标虚拟
机;其中,所述目标虚拟机的配置包括内存预留属性和内存预留比例属性,所述内存预留属性用于描述所述目标虚拟机是否开启内存预留,所述内存预留比例属性用于描述所述目标虚拟机的预留内存比例;在所述目标虚拟机开启内存预留的情况下,在所述目标虚拟机的运行过程中,接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性。
37.本技术提供的虚拟机内存管理方法,通过为虚拟机增加内存预留比例属性,支持为虚拟机定量预留内存。主机会直接将预留的内存分配给虚拟机,主机不会回收这部分内存资源,直到虚拟机进程退出,这样即使是主机资源不足,也不用担心虚拟机的正常运行。用户可以在虚拟机的运行过程中根据实际情况随时修改内存预留比例,进而修改虚拟器预留内存大小,使用更加灵活,避免了原生方案全部预留造成的主机物理内存资源浪费的缺陷,同时也提高了内存资源的使用效率。由此可见,本技术提供的虚拟机内存管理方法,在保证虚拟机正常运行的前提下,减少了主机物理内存的浪费。本技术还公开了一种虚拟机内存管理装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
38.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
40.图1为根据一示例性实施例示出的一种虚拟机内存管理方法的流程图;
41.图2为根据一示例性实施例示出的另一种虚拟机内存管理方法的流程图;
42.图3为根据一示例性实施例示出的一种创建虚拟机设置系虚拟机内存预留的操作流程图;
43.图4为根据一示例性实施例示出的一种底层kvm启动虚拟机时设置内存预留的流程图;
44.图5为根据一示例性实施例示出的一种虚拟机内存管理装置的结构图;
45.图6为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
46.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。另外,在本技术实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
47.本技术实施例公开了一种虚拟机内存管理方法,在保证虚拟机正常运行的前提
下,减少了主机物理内存的浪费。
48.参见图1,根据一示例性实施例示出的一种虚拟机内存管理方法的流程图,如图1所示,包括:
49.s101:确定目标虚拟机;其中,所述目标虚拟机的配置包括内存预留属性和内存预留比例属性,所述内存预留属性用于描述所述目标虚拟机是否开启内存预留,所述内存预留比例属性用于描述所述目标虚拟机的预留内存比例;
50.可以理解的是,libvirt(用于管理虚拟化平台的开源的程序)是通过虚拟机xml配置文件中memorybacking的内存预留属性(locked属性)来控制虚拟机内存预留的,locked属性为布尔类型,取值为true代表开启虚拟机内存预留,虚拟机启动的时候进行内存预留,取值为false代表内存不预留。
51.在本实施例中,通过修改libvirt代码,在memorybacking中扩展一个内存预留比例属性(locked_percent),其描述了为该虚拟机预留内存的百分比,取值范围为0-100的整型。例如,若虚拟机分配的全部内存为4g,locked_percent值设置为50,那么为该虚拟机预留4g中的50%,也就是2g。libvirt在创建虚拟机的阶段会解析xml配置文件,将locked_percent配置解析到虚拟机配置结构体中。启动虚拟机阶段会从配置结构体中读取配置,并拼接qemu命令行,发送启动虚拟机请求到qemu。
52.需要说明的是,由于qemu原生也没有预留百分比功能,因此,qemu也需要修改代码,扩展新的命令行参数mlock-percent用来接收libvirt发送过来的locked_percent配置,qemu通过解析libvirt发送的命令行参数,给mlock-percent赋值,启动qemu虚拟机进程的内存初始化阶段,通过系统调用mlock来对虚拟机进程进行定量内存预留操作。
53.s102:在所述目标虚拟机开启内存预留的情况下,在所述目标虚拟机的运行过程中,接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性。
54.在本实施例中,对于已创建的目标虚拟机,用户可以在目标虚拟机的运行过程中根据实际情况随时修改内存预留比例。作为一种可行的实施方式,所述接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性,包括:通过云管理平台接收内存预留比例的调整命令;其中,所述调整命令至少包括内存预留比例的目标值;基于所述目标值更新所述目标虚拟机的元数据信息,并基于更新后的元数据信息更新所述目标虚拟机的配置文件;根据所述目标值计算所述目标虚拟机需要预留的内存大小,调整所述目标虚拟机的内存特性,并重新启动所述目标虚拟机。在具体实施中,用户通过云管理平台设置修改内存预留比例的目标值,云管理平台封装调整命令,下发至nova api,nova api基于调整命令中的目标值更新目标虚拟机的元数据信息(metadata)中的内存预留比例属性,nova computer基于目标值修改目标虚拟机的配置文件,重启虚拟机时将配置文件传递至libvirt,libvirt基于其中的目标值扩展qemu命令参数,将目标值传递至qemu,qemu基于目标值更新目标虚拟机的内存特性,并重启目标虚拟机。
55.本技术实施例提供的虚拟机内存管理方法,通过为虚拟机增加内存预留比例属性,支持为虚拟机定量预留内存。主机会直接将预留的内存分配给虚拟机,主机不会回收这部分内存资源,直到虚拟机进程退出,这样即使是主机资源不足,也不用担心虚拟机的正常运行。用户可以在虚拟机的运行过程中根据实际情况随时修改内存预留比例,进而修改虚
拟器预留内存大小,使用更加灵活,避免了原生方案全部预留造成的主机物理内存资源浪费的缺陷,同时也提高了内存资源的使用效率。由此可见,本技术实施例提供的虚拟机内存管理方法,在保证虚拟机正常运行的前提下,减少了主机物理内存的浪费。
56.本实施例介绍创建目标虚拟机时配置内存预留比例的过程,具体的:
57.参见图2,根据一示例性实施例示出的另一种虚拟机内存管理方法的流程图,如图2所示,包括:
58.s201:创建目标虚拟机,获取所述目标虚拟机的内存预留比例值;
59.在具体实施中,通过云管理平台创建目标虚拟机,在目标虚拟机的高级配置中设置内存预留比例值,即通过云管理平台获取目标虚拟机的内存预留比例值。
60.s202:将所述内存预留比例值保存至所述目标虚拟机的元数据信息中;
61.在具体实施中,云管理平台将内存预留比例值下发至nova api,nova api将内存预留比例值保存至目标虚拟机的元数据信息中。重启目标虚拟机,重启后nova computer验证目标虚拟机的元数据信息中是否存在内存预留比例值,若是,则进入s203。
62.s203:将所述目标虚拟机的配置文件中的内存预留比例属性赋值为所述内存预留比例值;
63.在本步骤中,nova computer将内存预留比例值添加至目标虚拟机的配置文件。
64.s204:利用libvirt启动所述目标虚拟机。
65.在本步骤中,nova computer向libvirt发送启动目标虚拟机的请求,libvirt启动目标虚拟机。
66.作为一种可行的实施方式,本步骤包括:利用libvirt解析所述目标虚拟机的配置文件,以获取所述内存预留比例属性;基于所述内存预留比例属性计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机。在具体实施中,kvm底层启动目标虚拟机,接收目标虚拟机的配置文件并进行解析,包括cpu、内存以及虚拟机各种设备,判断内存预留属性是否开启,若是,则将所述内存预留比例属性拼接到qemu命令中,通过执行qemu命令计算目标虚拟机需要预留的内存大小,据此设置目标虚拟机的内存特性,并启动目标虚拟机。
67.由此可见,本实施例在创建虚拟机的时候设置内存预留比例属性,为虚拟机定量预留内存,避免了原生方案全部预留造成的主机物理内存资源浪费的缺陷,同时也提高了内存资源的使用效率。
68.下面介绍本技术提供的一种应用实施例,创建虚拟机设置系虚拟机内存预留的操作流程图如图3所示,包括以下步骤:
69.步骤1:管理员登录云管理平台界面;
70.步骤2:选择创建虚拟机;
71.步骤3:在创建虚拟机的高级选择项中内存预留设置中设置内存预留值;
72.步骤4:ui将数据封装在虚拟机元数据(metadata)中下发到api;
73.步骤5:api处理虚拟机元数据信息并发送到compute;
74.步骤6:compute判断元数据中是否包含内存预留的配置信息;
75.步骤7:封装内存预留配置到虚拟机xml配置中,然后发送请求到libvirt启动虚拟机。
76.底层kvm启动虚拟机时设置内存预留的流程图如图4所示,包括以下步骤:
77.步骤1:libvirt接收云平台下发的虚拟机xml配置文件;
78.步骤2:libvirt对虚拟机xml文件进行解析,包括cpu、内存,以及虚拟机各种设备;
79.步骤3:libvirt解析虚拟机内存相关配置,判断是否有内存预留配置;
80.步骤4:若有内存预留配置,将配置项拼接到qemu命令中;
81.步骤5:libvirt发送qemu命令到qemu层;
82.步骤6:由qemu解析命令相关参数,取出内存预留配置。
83.步骤7:qemu启动虚拟机进程时计算要预留的内存大小,通过系统调用接口设置虚拟机内存预留特性。
84.下面对本技术实施例提供的一种虚拟机内存管理装置进行介绍,下文描述的一种虚拟机内存管理装置与上文描述的一种虚拟机内存管理方法可以相互参照。
85.参见图5,根据一示例性实施例示出的一种虚拟机内存管理装置的结构图,如图5所示,包括:
86.确定模块501,用于确定目标虚拟机;其中,所述目标虚拟机的配置包括内存预留属性和内存预留比例属性,所述内存预留属性用于描述所述目标虚拟机是否开启内存预留,所述内存预留比例属性用于描述所述目标虚拟机的预留内存比例;
87.调整模块502,用于在所述目标虚拟机开启内存预留的情况下,在所述目标虚拟机的运行过程中,接收内存预留比例的调整命令,并基于所述调整命令调整所述目标虚拟机内存的内存预留比例属性。
88.本技术实施例提供的虚拟机内存管理装置,通过为虚拟机增加内存预留比例属性,支持为虚拟机定量预留内存。主机会直接将预留的内存分配给虚拟机,主机不会回收这部分内存资源,直到虚拟机进程退出,这样即使是主机资源不足,也不用担心虚拟机的正常运行。用户可以在虚拟机的运行过程中根据实际情况随时修改内存预留比例,进而修改虚拟器预留内存大小,使用更加灵活,避免了原生方案全部预留造成的主机物理内存资源浪费的缺陷,同时也提高了内存资源的使用效率。由此可见,本技术实施例提供的虚拟机内存管理方法,在保证虚拟机正常运行的前提下,减少了主机物理内存的浪费。
89.在上述实施例的基础上,作为一种优选实施方式,所述调整模块502包括:
90.接收单元,用于通过云管理平台接收内存预留比例的调整命令;其中,所述调整命令至少包括内存预留比例的目标值;
91.更新单元,用于基于所述目标值更新所述目标虚拟机的元数据信息,并基于更新后的元数据信息更新所述目标虚拟机的配置文件;
92.调整单元,用于根据所述目标值计算所述目标虚拟机需要预留的内存大小,调整所述目标虚拟机的内存特性,并重新启动所述目标虚拟机。
93.在上述实施例的基础上,作为一种优选实施方式,还包括:
94.创建模块,用于创建目标虚拟机,获取所述目标虚拟机的内存预留比例值;
95.保存模块,用于将所述内存预留比例值保存至所述目标虚拟机的元数据信息中;
96.赋值模块,用于将所述目标虚拟机的配置文件中的内存预留比例属性赋值为所述内存预留比例值;
97.启动模块,用于利用libvirt启动所述目标虚拟机。
98.在上述实施例的基础上,作为一种优选实施方式,所述创建模块具体为通过云管理平台创建目标虚拟机,并通过所述云管理平台获取所述目标虚拟机的内存预留比例值的模块。
99.在上述实施例的基础上,作为一种优选实施方式,还包括:
100.重启模块,用于重启所述目标虚拟机,重启后验证所述目标虚拟机的元数据信息中是否存在所述内存预留比例值;若是,则启动所述赋值模块的工作流程。
101.在上述实施例的基础上,作为一种优选实施方式,所述启动模块包括:
102.解析单元,用于利用libvirt解析所述目标虚拟机的配置文件,以获取所述内存预留比例属性;
103.设置单元,用于基于所述内存预留比例属性计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机。
104.在上述实施例的基础上,作为一种优选实施方式,所述设置单元具体为将所述内存预留比例属性拼接到qemu命令中,通过执行所述qemu命令计算所述目标虚拟机需要预留的内存大小,设置所述目标虚拟机的内存特性,并启动所述目标虚拟机的单元。
105.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
106.基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备,图6为根据一示例性实施例示出的一种电子设备的结构图,如图6所示,电子设备包括:
107.通信接口1,能够与其它设备比如网络设备等进行信息交互;
108.处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的虚拟机内存管理方法。而所述计算机程序存储在存储器3上。
109.当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统4。
110.本技术实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
111.可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器
(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
112.上述本技术实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
113.处理器2执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
114.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
115.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
116.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
117.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献