CN109308196A - 一种多机型设备复用方法、装置及存储介质 - Google Patents
一种多机型设备复用方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109308196A CN109308196A CN201810963234.4A CN201810963234A CN109308196A CN 109308196 A CN109308196 A CN 109308196A CN 201810963234 A CN201810963234 A CN 201810963234A CN 109308196 A CN109308196 A CN 109308196A
- Authority
- CN
- China
- Prior art keywords
- type device
- cpu
- modified
- information
- configuration information
- 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.)
- Granted
Links
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/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Abstract
本发明涉及计算机技术领域,尤其涉及一种多机型设备复用方法、装置及存储介质,获取设备集群中各第一机型设备对应的修改后的CPU配置信息;CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;修改后的CPU配置信息用于模拟显示第二机型设备的虚拟机资源;将修改后的CPU配置信息分别导入到设备集群中各第一机型设备中;分别向各第一机型设备发送冷重启指令,冷重启各第一机型设备,以使修改后的CPU配置信息分别在各第一机型设备中生效,各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟第二机型设备的虚拟机资源,实现设备集群中不同机型设备的统一库存和复用,解决资源管理困难问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多机型设备复用方法、装置及存储介质。
背景技术
随着技术的不断发展和需求,物理设备机型也在不断更新,例如,不同代次的中央处理器(Central Processing Processor,CPU),即对应不同代次的主机,通常新代次的CPU主机会带来更好的性能,但是,新代次的CPU主机生产后,仍会有大量需要使用之前代次的CPU主机的需求,尤其是一些大规模的商业服务中,不同代次的CPU主机会长期并存,但是,通常不同代次的CPU主机之间互相并不能复用,这会使得资源管理非常困难,使用效率较低,而现有技术中针对此还未有相应的解决方案。
发明内容
本发明实施例提供一种多机型设备复用方法、装置及存储介质,以解决现有技术中不同机型设备之间不能复用,导致资源管理困难的问题。
本发明实施例提供的具体技术方案如下:
本发明一个实施例提供了一种多机型设备复用方法,包括:
获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
结合本发明的一个实施例,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
结合本发明的一个实施例,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;
则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
结合本发明的一个实施例,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
结合本发明的一个实施例,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;
则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
结合本发明的一个实施例,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,具体包括:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
本发明另一个实施例提供了一种多机型设备复用装置,包括:
第一获取模块,用于获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
导入模块,用于将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
发送模块,用于分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
结合本发明另一个实施例,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
结合本发明另一个实施例,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;
则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
结合本发明另一个实施例,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
结合本发明另一个实施例,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;
则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
结合本发明另一个实施例,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,发送模块具体用于:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
本发明另一个实施例提供了一种计算机装置,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述任一种多机型设备复用方法。
本发明另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现述任一种多机型设备复用方法的步骤。
本发明实施例中,获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源,这样,采用虚拟化技术,实现了使用第一机型设备模拟第二机型设备的虚拟机资源,并且设备集群中大量的第一机型设备,可以统一管理和控制,来复用第二机型设备,从而实现了不同机型设备的统一库存和复用,解决了资源管理困难的问题,并且本发明实施例中在虚拟化层实现了冷重启,不需要人工到现场进行手动操作,只需要输入一个冷重启指令即可,尤其对于包括大量设备的集群,可以很方便简单地实现冷重启,减少了成本,提高了时效性。
附图说明
图1为本发明实施例中提供的多机型设备复用方法流程图;
图2为本发明实施例中虚拟主机内显示CPU信息的界面示意图;
图3为本发明实施例中CF9寄存器界面示意图;
图4为本发明实施例中提供的具体应用场景下多机型设备复用方法流程图;
图5为本发明实施例中具体应用场景下设备模拟恢复方法流程图;
图6为本发明实施例中多机型设备复用装置结构示意图;
图7为本发明实施例中计算机装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面先对几个概念进行简单介绍:
基本输入输出系统(Basic Input Output System,BIOS):是一组固化到计算机内主板上一个只读存储器(read only memory,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)中读写系统设置的具体信息,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
冷启动:是指切断电脑电源后重新开启电源启动的过程,冷启动会掉电,启动流程可以更新BIOS变化,重新做硬件检测和加载。
热启动:是指无需切断电源的情况下重启。
虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。例如,CPU的虚拟化技术可以使单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。本发明实施例中提到的基于内核的虚拟机(Kernel-based Virtual Machine,KVM),快速模拟器(Quick EMUlator,QEMU)均为虚拟化技术。
中央处理器(Central Processing Processor,CPU)主频信息:表示在CPU内数字脉冲信号振荡的速度。
目前,物理设备的更新和换代是非常快的,但是仍会有不同代次的物理设备共存的需求,尤其在大规模的商业服务中,会同时管理大批量的设备,不同代次的物理设备会长期共存,管理会比较困难,例如,要求设备一致性的集群服务、云厂商等,但通常不同代次的CPU主机之间互相不能复用,这会使得资源管理非常困难,使用效率较低,例如,会带来采购、库存、备货等资源管理上的挑战。
针对该问题,本发明实施例中提供了一种多机型设备复用的方法,可以实现不同机型设备的复用,实现了跨代物理设备资源的统一库存和复用,提高了资源管理效率和便利性。并且,本发明实施例中的多机型设备复用方法,可以适用于大规模设备集群的自动化管理运维,对设备集群中不同机型设备进行统一管理和模拟复用,效率更高,并减少了成本。
参阅图1所示,为本发明实施例中的多机型设备复用方法流程图,该方法具体包括:
步骤100:获取设备集群中各第一机型设备对应的修改后的CPU配置信息;其中,CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;修改后的CPU配置信息用于模拟显示第二机型设备的虚拟机资源。
其中,本发明实施例中,第一机型设备和第二机型设备表示不同机型的物理设备,例如为不同代次机型的物理设备。
为实现不同机型设备的复用,使用第一机型设备模拟第二机型设备,主要目标是能够保持第二机型设备虚拟机层面的体验一致性,例如,需要生产二代虚拟机,无论是使用二代母机直接生产,还是使用三代母机模拟二代虚拟机生产,都需要保证生成出的二代虚拟机,在用户层看到的信息、使用的性能应该是一致的。
并且,使用第一机型设备模拟第二机型设备时,可以通过在虚拟化层和硬件层对第一机型设备进行修改,保证用户使用该第一机型设备模拟的第二机型设备时,与直接使用第二机型设备,看到的信息和性能的使用都是一致的,无差别感知。
其中,CPU配置信息可以包括BIOS配置文件和虚拟机CPU上的操作系统的安装文件等,分别为硬件层和虚拟层的修改,当然,本发明实施例中并不仅限于BIOS配置文件和操作系统的安装文件,还可以包括其它文件,本发明实施例中并不进行限制,只要比对出是第一机型设备和第二机型设备的CPU信息的差异,都需要进行修改,以保证第一机型设备完全模拟第二机型设备的虚拟机资源。
其中,本发明实施例中通过对比和分析,第一机型设备和第二机型设备的CPU信息的差异至少包括CPU主频信息、CPU型号名称等,当然并不仅限于这几方面差异,可以根据实际情况确定第一机型设备和第二机型设备的CPU信息的差异,进而修改第一机型设备的BIOS配置文件。
具体地,执行步骤100时,可以包括以下几个方面:
第一方面:CPU配置信息至少包括BIOS配置文件;其中,BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
其中,若第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息,则BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于第二机型设备的CPU主频信息。
具体地,通常不同机型设备的CPU主频信息是不同的,例如,Intel第五代Skylake6133CPU(后续简称V5,对应三代主机)的CPU主频信息是2.5G,Intel第四代CPU E5-2680CPU(后续简称V4,对应二代主机)的CPU主频信息是2.4G,而CPU主频信息可以根据倍频和外频来实现,即CPU主频=倍频*外频,因此,本发明实施例中可以通过修改BIOS中的倍频参数和外频参数来模拟第二机型设备的CPU主频信息。
并且,由于目前主流主板基本都可以支持BIOS中设置修改倍频参数和外频参数,因此,通过在BIOS中修改倍频参数和外频参数,实现比较简单,根据实际需求,通过BIOS配置文件中的参数调整使得主频信息一致即可。
当然,本发明实施例中,对BIOS配置文件的修改并不仅限于对CPU主频信息对应倍频参数和外频参数的修改,还可以根据实际情况,对BIOS配置文件中的其它参数进行修改,例如,缓存大小、支持的指令集等,本发明实施例中,并不进行限制。
第二方面:CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
其中,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称。
则操作系统的安装文件的修改至少包括操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为第二机型设备对应的预设的CPU型号名称;其中,预设的CPU型号名称能够表征第二机型设备对应的同一代机型的所有CPU型号名称。
也就是说,本发明实施例中还可以在虚拟化层修改第一机型设备,其中,针对预设的CPU型号名称,设置为统一的能够表征第二机型设备对应的同一代机型的所有CPU型号名称,这是因为,通常属于同一代机型的设备的CPU也可能会有多个不同系列,即CPU型号名称可能不同,例如第二机型设备对应的同一代机型设备的CPU型号名称可能有E6-2680-1、E6-2680-2等,在第一机型设备模拟第二机型设备,还需要针对CPU型号名称,对不同的第二机型设备进行比对,效率较低,因此,本发明实施例中针对同一代的机型设备设置了一个统一的CPU型号名称,例如,该第二机型设备对应的同一代所有的机型设备的CPU型号名称都为E6-26xx,这样,在模拟第二机型设备时,不需要单独进行比对和判断,直接修改为E6-26xx即可,不仅可以解决跨代CPU信息不一致的问题,而且可以屏蔽第二机型设备系列内部细节的CPU型号名称差异。
并且,本发明实施例中,是设置第二机型设备的虚拟机CPU对应的预设的CPU型号名称,并在虚拟化层修改第一机型设备的CPU型号名称,这是因为,采用虚拟化技术,例如KVM、QEMU等,可以为客户机提供完整的硬件系统环境,对于客户机而言,其所拥有的CPU可以认为是虚拟CPU(virtual CPU,vcpu),因此,可以在虚拟化层面修改第一机型设备的CPU型号名称,可以保证在用户层看到的型号名称即是第二机型设备的CPU型号名称。
例如,在V4版本里面需要显示的CPU型号名称为“E5-2680”,可以将同一代虚拟机的vcpu信息统一设置为“Intel(R)Xeon(R)CPU E5-26xx v4”,例如,参阅图2所示,为本发明实施例中主机内显示的CPU信息的界面示意图,可知,用户看到的CPU型号名称即为“Intel(R)Xeon(R)CPU E5-26xx v4”,这样,不仅解决跨代模拟信息不一致的问题,而且可以屏蔽E5系列内部细节CPU型号差异。
步骤110:将修改后的CPU配置信息分别导入到设备集群中各第一机型设备中。
进一步地,若CPU配置信息包括BIOS配置文件,则执行步骤100之前,还包括:基于预设的BIOS导入导出工具,将第一机型设备的BIOS配置文件导出。则执行步骤110时,针对修改后的BIOS配置文件,具体包括:
基于预设的BIOS导入导出工具,将修改后的BIOS配置文件导入到第一机型设备中。
这样,可以实现基于预设的BIOS导入导出工具,将BIOS配置文件导出,进行修改后,再将修改后的BIOS配置文件导入到第一机型设备中,通过BIOS导入导出工具,可以实现对BIOS配置文件中参数批量的修改和下发,更加方便,从而进行修改后,获得特定的BIOS配置文件,下发导入到第一机型设备,可以实现第一机型设备基于修改后的BIOS配置文件模拟第二机型设备。
步骤120:分别向各第一机型设备发送冷重启指令,冷重启各第一机型设备,以使修改后的CPU配置信息分别在各第一机型设备中生效,并各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟第二机型设备的虚拟机资源。
本发明实施例中,修改完第一机型设备的CPU配置信息后,还需要使修改后的CPU配置信息在第一机型设备中生效,才能最终实现在第一机型设备中模拟第二机型设备。
实际中,对于大量服务器的管理运维,通常存在两个方面的情况:1)同一机型主机,会由多个原始设备制造商(Original Equipment Manufacturer,OEM)硬件厂家供货,会造成同一机型主机的BIOS配置文件也会有一些细微差异。2)对于大量服务器的管理运维,通常会借助自动化管理平台来实现对服务器的统一管理,在管理平台上,用户可以自助一键完成主机重启,即热重启,而对于冷重启,硬件排查更换等流程,则需要由人工进行依次处理,成本较高,并且效率也会比较低。
因此,使用热重启的效率更高,成本也比较低,但是,由于部分OEM的厂家,CPU主频信息修改通过热重启无法生效,即对本发明实施例中第一机型设备进行热重启,可能修改后的CPU配置信息中部分参数的修改没有生效,也就无法实现使用第一机型设备模拟第二机型设备,因此,需要采用冷重启使其生效,但是,现有技术中冷重启主要由人工进行处理,尤其对于包括大量设备的设备集群,人工进行冷重启,则需要投入大量人力资源和成本,效率和成本都比较低,时效性也不能保证,因此,本发明实施例中,实现了在虚拟化层面支持冷重启,即可以保证修改后的CPU配置信息都能够生效,又不需要人工操作,减少成本,提高了效率。
具体地,执行步骤110时,具体包括:
分别向各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使各第一机型设备的虚拟机CPU上的操作系统根据冷重启指令中的重新启动(reboot)参数取值,向对应的寄存器写入该取值,执行冷重启;其中,冷重启指令中至少包括预设的reboot参数取值,reboot参数表征冷重启。
这样,下发冷重启指令,即下发reboot参数取值后就可以冷重启,可以统一对所有第一机型设备进行冷重启,不需要人工到现场依次手动执行切断电源后再开启电源等操作来实现冷重启,提高了效率,也减少了成本。
也就是说,本发明实施例中,第一机型设备的操作系统和虚拟机CPU都可以支持向对应的寄存器中的写操作,该对应的寄存器可以实现冷重启功能,为实现该方法,本发明实施例中需要修改内核启动参数,并且需要对虚拟机CPU上的操作系统也预先进行修改。
具体地,例如通过修改线上虚拟化软件的代码,例如KVM1.0,KVM3.0版本的代码,实现冷重启功能,可以包括以下两方面:
第一方面:在内核启动参数中添加reboot=p,c,其中p表示pci重启,即向CF9寄存器中写值实现重启,c表示cold冷重启。
实际中,通常CPU中会有多个寄存器,不同寄存器可以实现不同的功能,并且会提供可以实现冷重启功能的寄存器接口,例如,参阅图3所示,为本发明实施例中CF9寄存器界面示意图,可以根据CF9寄存器的功能说明,设置可以使其实现冷重启功能的reboot参数的取值,进而可以通过向CF9寄存器写该值即0Xe实现full power cycle。
第二方面:虚拟机CPU上的操作系统,例如Linux操作系统,Linux操作系统内核从3.13版本起,都通过CF9寄存器提供了full power cycle的功能,例如,该支持冷重启功能对应的补丁(patch)为https://patchwork.kernel.org/patch/2847567/,为了使虚拟机CPU上的操作系统都可以支持冷重启功能,例如,目前,KVM1.0和KVM3.0分别对应Linux 2.6和Linux 3.10,其CF9寄存器重启是不区分冷重启和热重启的,因此,本发明实施例中,合并该支持冷重启功能对应的补丁,将该支持冷重启功能对应的补丁安装到KVM1.0和KVM3.0对应的操作系统中,从而可以实现使虚拟机CPU上的操作系统都可以支持冷重启功能。
从而本发明实施例中,可以使用第一机型设备来模拟第二机型设备的虚拟机资源,从而可以实现物理设备的跨代库存和复用。
例如,第一机型设备为三代主机,第二机型设备为二代主机,可以使用三代主机来模拟二代主机对应的虚拟机资源,即用户使用该三代主机时,看到的信息和使用的性能都为二代主机,实现了主机跨代模拟和复用,这样,在进行资源管理时,无需库存二代主机,可以只库存三代主机,就可以同时实现三代主机和二代主机的虚拟机资源。
进一步地,本发明实施例中还可以实现模拟回滚,即针对设备集群中各模拟第二机型设备的虚拟机资源的第一机型设备,还可以将其回滚成第一机型设备的虚拟机资源,其实现方法和上述实施例中多机型设备复用方法类似,重新修改第一机型设备的BIOS配置文件,使其用于模拟第一机型设备的虚拟机资源,进而进行冷重启生效,实现模拟恢复。
本发明实施例中,采用虚拟化技术,将用于模拟第二机型设备的修改后的CPU配置信息导入到第一机型设备中,并通过冷重启使修改后的CPU配置信息生效,从而实现了使用第一机型设备模拟第二机型设备的虚拟机资源,也即可以实现物理主机的跨代模拟和复用,实现了虚拟机层的用户的统一视图,即模拟后的第一机型设备的CPU显示第二机型设备的CPU信息等虚拟机资源环境,并且实现了不同机型设备的统一库存和复用,解决了资源管理困难的问题,模拟后的第一机型设备和第二机型设备上的虚拟机可以无缝热迁移,并且,为保证修改后的CPU配置信息生效,本发明实施例中,在虚拟化层实现了第一机型设备的冷重启,相比于目前冷重启都会引入运维干预的人工流程,对于海量服务器运维来说成本比较高,时效也得不到保障,本发明实施例中只需要下发一个冷重启指令,在系统中一个reboot参数即可实现设备集群中多个第一机型设备的冷重启,实现大规模设备集群的自动化管理和运维,减少成本,并提高效率和时效性。
并且,本发明实施例中还可以支持模拟第二机型设备的第一机型设备进行恢复,恢复成第一机型设备的虚拟机资源环境,资源管理更加方便有效,提升整体效益。
下面采用具体的应用场景进行具体说明,以使用V5CPU的三代主机模拟V4CPU的二代主机为例,基于上述实施例,对在具体应用场景中各部门协作完成使用三代主机模拟二代主机的过程进行说明,具体参阅图4所示,为本发明实施例中具体应用场景下多机型设备复用方法流程图,具体包括:
步骤400:运营组向资源管理组申请二代虚拟机需求。
步骤401:资源管理组根据申请的二代虚拟机需求,确定对应的三代主机数目。
具体为:根据所需二代虚拟机的CPU核数,折算为对应三代主机的数目。
这是因为,不同代次的主机的CPU核数通常是不同的,例如若需要CPU核数为10核,一台二代主机的CPU核数为2核,一台三代主机的CPU核数为5核,则在实际使用时,就需要5台二代主机,而对于三代主机,只需要2台三代主机即可。
步骤402:资源管理组进行三代主机采购。
步骤403:资源管理组通知虚拟化组资源到货。
步骤404:虚拟化组向服务器硬件组发起跨代模拟投放申请。
其中,跨代模拟投放申请即表示使用三代主机模拟二代虚拟机的申请。
步骤405:服务器硬件组对三代主机导入修改后的BIOS配置文件,并进行冷重启,使修改后的BIOS配置文件生效。
即服务器硬件组可以基于本发明实施例中的多机型设备复用方法,对三代主机进行处理,从而使得三代主机可以模拟二代主机的二代虚拟机。
步骤406:服务器硬件组将模拟后的三代主机交付给虚拟化组。
步骤407:虚拟化组在模拟后的三代主机中安装支持冷重启的虚拟化软件版本。
例如,虚拟化软件为KVM,即安装可以支持冷重启的KVM版本。
其中,CPU配置信息至少包括BIOS配置文件、虚拟机CPU上的操作系统的安装文件等,服务器硬件组导入修改后的BIOS配置文件,虚拟化组导入修改后的操作系统的安装文件,即虚拟化软件版本。
步骤408:虚拟化组向线上环境中投放二代虚拟机资源。
这时,虚拟化组可以将模拟二代虚拟机的三代主机投放到线上,以供需要二代虚拟机的用户购买和使用。
步骤409:用户从线上购买二代虚拟机。
这时,用户购买的二代虚拟机,可能是模拟二代虚拟机的三代主机,也可能即是二代主机,但对于用户来说是无感知,使用的都是二代虚拟机。
这样,本发明实施例中,就可以实现采用购买的三代主机,满足线上二代虚拟机的需求,无需库存二代主机,即使二代主机或V4CPU停产也可以满足二代虚拟机需求。
相应的,基于上述图4所示的实施例,本发明实施例中还可以支持模拟后的三代主机恢复,具体地参阅图5所示,本发明实施例中具体应用场景下设备模拟恢复方法流程图,具体包括:
步骤500:运营组向虚拟化组申请裁撤二代虚拟机资源规模。
例如,根据实际需求,确定目前对二代虚拟机的需求在不断减少,则可以减少目前对二代虚拟机的投放,使部分模拟二代虚拟机的三代主机恢复三代虚拟机。
步骤501:虚拟化组扫描线上模拟二代虚拟机的三代主机。
步骤502:虚拟化组确定二代虚拟机资源下线。
步骤503:虚拟化组向服务器硬件组发起模拟恢复申请。
其中,模拟恢复申请为三代主机BIOS回滚,恢复为三代虚拟机。
步骤504:服务器硬件组针对模拟二代虚拟机的三代主机,恢复为三代虚拟机。
具体为:修改BIOS配置文件,刷回三代主机的BIOS配置文件。
步骤505:服务器硬件组通过系统内reboot参数实现冷重启生效。
步骤506:服务器硬件组将恢复后的三代主机交付给虚拟化组。
步骤507:虚拟化组向线上环境中投放三代虚拟机资源。
进一步地,虚拟化组接收到刷回三代虚拟机的BIOS配置文件的三代主机后,就可以安装所需的操作系统,即根据三代虚拟机的操作系统的安装文件,即安装包,安装到该三代主机中,就可以向线上环境中投放三代虚拟机资源了。
步骤508:用户从线上购买二代虚拟机。
这样,对于模拟的二代虚拟机资源,也可以很方便地恢复成三代虚拟机资源,再重新投放,即使二代虚拟机淘汰时,其对应的三代主机也不会淘汰,可以恢复成三代虚拟机复用,简化了多代次库存难度,还提升了整体效益。
需要说明的是,上述图4和图5对应的实施例中,各个部门和环节仅是一种在实际应用场景中的可能示例,并不局限于本发明实施例中的部门和环节的设置,还可能由其它实施方式,本发明实施例中并不进行限制。并且,本发明实施例中并不仅限于V5CPU的三代主机模拟V4CPU的二代主机,还可以适用于更多不同代次、不同CPU厂家的CPU互相模拟,例如针对Intel系列的CPU相互之间都可以实现模拟复用。
基于上述实施例,参阅图6所示,本发明实施例中多机型设备复用装置,具体包括:
第一获取模块60,用于获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
导入模块61,用于将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
发送模块62,用于分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
可选的,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
可选的,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
可选的,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
可选的,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
可选的,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,发送模块62具体用于:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
基于上述实施例,参阅图7所示,本发明实施例中,一种计算机装置的结构示意图。
本发明实施例提供了一种计算机装置,该计算机装置可以包括处理器710(CenterProcessing Unit,CPU)、存储器720、输入设备730和输出设备740等,输入设备730可以包括键盘、鼠标、触摸屏等,输出设备740可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器720可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器710提供存储器720中存储的程序指令和数据。在本发明实施例中,存储器720可以用于存储上述实施例中的应用程序中多机型设备复用方法的程序。
处理器710通过调用存储器720存储的程序指令,处理器710用于按照获得的程序指令执行:
获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
可选的,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
可选的,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
可选的,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
可选的,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
可选的,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,处理器710具体用于:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的多机型设备复用方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种多机型设备复用方法,其特征在于,包括:
获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
2.如权利要求1所述的方法,其特征在于,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
3.如权利要求2所述的方法,其特征在于,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;
则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
4.如权利要求1所述的方法,其特征在于,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
5.如权利要求4所述的方法,其特征在于,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;
则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
6.如权利要求1所述的方法,其特征在于,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,具体包括:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
7.一种多机型设备复用装置,其特征在于,包括:
第一获取模块,用于获取设备集群中各第一机型设备对应的修改后的中央处理器CPU配置信息;其中,所述CPU配置信息是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的;所述修改后的CPU配置信息用于模拟显示所述第二机型设备的虚拟机资源;
导入模块,用于将所述修改后的CPU配置信息分别导入到所述设备集群中各第一机型设备中;
发送模块,用于分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,以使所述修改后的CPU配置信息分别在所述各第一机型设备中生效,并所述各第一机型设备分别基于修改后的CPU配置信息,采用虚拟化技术模拟所述第二机型设备的虚拟机资源。
8.如权利要求7所述的装置,其特征在于,所述CPU配置信息至少包括基本输入输出系统BIOS配置文件;其中,所述BIOS配置文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
9.如权利要求8所述的装置,其特征在于,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU主频信息;
则所述BIOS配置文件的修改至少包括BIOS配置文件中的外频参数和倍频参数的修改,并修改后的外频参数和倍频参数的乘积等于所述第二机型设备的CPU主频信息。
10.如权利要求7所述的装置,其特征在于,所述CPU配置信息至少包括虚拟机CPU上的操作系统的安装文件;其中,所述操作系统的安装文件是根据第二机型设备和第一机型设备的CPU信息的差异进行修改的。
11.如权利要求10所述的装置,其特征在于,第二机型设备和第一机型设备的CPU信息的差异至少包括:CPU型号名称;
则所述操作系统的安装文件的修改至少包括所述操作系统的安装文件中CPU型号名称的修改,并修改后的CPU型号名称为所述第二机型设备对应的预设的CPU型号名称;其中,所述预设的CPU型号名称能够表征所述第二机型设备对应的同一代机型的所有CPU型号名称。
12.如权利要求7所述的装置,其特征在于,分别向所述各第一机型设备发送冷重启指令,冷重启所述各第一机型设备,发送模块具体用于:
分别向所述各第一机型设备的虚拟机CPU上的操作系统发送冷重启指令,以使所述各第一机型设备的虚拟机CPU上的操作系统根据所述冷重启指令中的重新启动reboot参数取值,向对应的寄存器写入所述取值,执行冷重启;其中,所述冷重启指令中至少包括预设的reboot参数取值,所述reboot参数表征冷重启。
13.一种计算机装置,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-6任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810963234.4A CN109308196B (zh) | 2018-08-22 | 2018-08-22 | 一种多机型设备复用方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810963234.4A CN109308196B (zh) | 2018-08-22 | 2018-08-22 | 一种多机型设备复用方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109308196A true CN109308196A (zh) | 2019-02-05 |
CN109308196B CN109308196B (zh) | 2020-04-14 |
Family
ID=65223989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810963234.4A Active CN109308196B (zh) | 2018-08-22 | 2018-08-22 | 一种多机型设备复用方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308196B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414269A (zh) * | 2007-04-09 | 2009-04-22 | 英特尔公司 | 功率/性能服务质量的基于优先级的调节 |
CN102103567A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 在异构处理器之间共享基于虚拟存储器的多版本数据 |
US20110302579A1 (en) * | 2010-06-02 | 2011-12-08 | Hitachi, Ltd. | Virtual computer and cpu allocation method |
CN104572254A (zh) * | 2015-02-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 改变安卓模拟器的运行速度的方法及装置 |
CN105549715A (zh) * | 2014-10-28 | 2016-05-04 | 邻客音公司 | Cpu工作频率的动态调节 |
CN106293846A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 模拟处理器的升级方法及装置 |
CN107291525A (zh) * | 2016-04-01 | 2017-10-24 | 华为技术有限公司 | 一种部署虚拟机的方法、宿主机及系统 |
-
2018
- 2018-08-22 CN CN201810963234.4A patent/CN109308196B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414269A (zh) * | 2007-04-09 | 2009-04-22 | 英特尔公司 | 功率/性能服务质量的基于优先级的调节 |
CN102103567A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 在异构处理器之间共享基于虚拟存储器的多版本数据 |
US20110302579A1 (en) * | 2010-06-02 | 2011-12-08 | Hitachi, Ltd. | Virtual computer and cpu allocation method |
CN105549715A (zh) * | 2014-10-28 | 2016-05-04 | 邻客音公司 | Cpu工作频率的动态调节 |
CN104572254A (zh) * | 2015-02-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 改变安卓模拟器的运行速度的方法及装置 |
CN107291525A (zh) * | 2016-04-01 | 2017-10-24 | 华为技术有限公司 | 一种部署虚拟机的方法、宿主机及系统 |
CN106293846A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 模拟处理器的升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109308196B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3050409C (en) | Managing service deployment | |
US11314499B2 (en) | Simulating end-to-end upgrade process in production environment | |
Graziano | A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project | |
CN102999369B (zh) | 虚拟机升级的方法及装置 | |
US10255086B2 (en) | Determining optimal methods for creating virtual machines | |
US20120167090A1 (en) | Hypervisor for starting a virtual machine | |
US10853228B2 (en) | Testing an application in a production infrastructure temporarily provided by a cloud computing environment | |
CN107783816A (zh) | 虚拟机的创建方法及装置、大数据集群创建的方法及装置 | |
CN105184847A (zh) | 3d游戏渲染引擎的渲染方法 | |
CN102880482A (zh) | 一种主机批量控制虚拟机中软件自动升级的系统及技术方法 | |
CN106648827A (zh) | 一种在线添加虚拟机资源的方法 | |
CN103793242A (zh) | 一种基于虚拟计算环境的信息系统快速部署方法 | |
CN112667361A (zh) | 基于系统虚拟机的管理方法、装置、电子设备及存储介质 | |
CN111123737A (zh) | 一种数字硬件虚拟仿真系统 | |
CN109213570A (zh) | 一种虚拟机迁移方法、装置、设备及可读存储介质 | |
US10565000B2 (en) | Method and apparatus for online upgrade of kernel-based virtual machine module | |
CN111679889B (zh) | 一种虚拟机的转换迁移方法和系统 | |
Rechert et al. | Introduction to an emulation-based preservation strategy for software-based artworks | |
CN111459606A (zh) | 一种虚拟化下快速创建虚拟机的方法及服务器 | |
CN108121558B (zh) | 软件更新方法、装置、存储介质及设备 | |
CN109308196A (zh) | 一种多机型设备复用方法、装置及存储介质 | |
CN103186423B (zh) | 虚拟机迁移方法与云端伺服系统 | |
CN114168263A (zh) | 在云平台多集群之间虚拟机热迁移的方法及应用 | |
WO2022015773A1 (en) | Synchronization of source code under development in multiple concurrent instances of an integrated development environment | |
CN114443221A (zh) | 基于buildah构建跨平台容器镜像的方法、系统及电子设备 |
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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 35th floor, Tencent building, Keji Zhongyi Road, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518044, 35th Floor, Tencent Building, Keji Zhongyi Road, High tech Zone, Nanshan District, Zhuhai City, Guangdong Province Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee before: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. |