CN117667241B - 设备加载方法、装置、电子设备及存储介质 - Google Patents

设备加载方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117667241B
CN117667241B CN202410146942.4A CN202410146942A CN117667241B CN 117667241 B CN117667241 B CN 117667241B CN 202410146942 A CN202410146942 A CN 202410146942A CN 117667241 B CN117667241 B CN 117667241B
Authority
CN
China
Prior art keywords
type
equipment
instance
target
virtual
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
Application number
CN202410146942.4A
Other languages
English (en)
Other versions
CN117667241A (zh
Inventor
李刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202410146942.4A priority Critical patent/CN117667241B/zh
Publication of CN117667241A publication Critical patent/CN117667241A/zh
Application granted granted Critical
Publication of CN117667241B publication Critical patent/CN117667241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供了一种设备加载方法、装置、电子设备及存储介质,涉及计算机技术领域。本发明实施例通过加载内生安全设备对应的用于对内生安全设备进行虚拟化得到虚拟安全设备的驱动程序;确定虚拟安全设备的目标设备类型;配置目标设备类型和目标设备类型对应的实例调度方式;基于目标设备类型和实例调度方式,创建虚拟安全设备对应的第一云主机,以实现虚拟安全设备的响应运行;第一云主机用于提供虚拟安全设备的运行环境。本发明实施例能够降低云平台进行内生安全设备加载的难度,提高设备加载的效率。

Description

设备加载方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种设备加载方法、装置、电子设备及存储介质。
背景技术
OpenStack云计算平台可以实现基于高速串行计算机扩展总线标准(peripheralcomponent interconnect express,PCIe)设备的PCIe设备号实现PCIe设备的加载,如实现对图形处理器(Graphics Processing Unit,GPU)的加载,但是无法实现对嵌入到处理器中的内生设备的自动加载,例如对内生安全设备的加载。
目前,对于内生安全设备的加载,需要基于预先创建的内生安全设备的设备号手动修改云主机的脚本文件,以实现内生安全设备的手动加载。
但是,相关技术中实现内生安全设备加载的方式,在服务器重启后手动修改的脚本文件中内生安全设备的设备号容易丢失,导致目前的内生安全设备的加载方式存在设备加载成功率低、加载过程复杂、效率低下的问题。
发明内容
本发明实施例提供一种设备加载方法、装置、电子设备及存储介质,基于内生安全设备的虚拟化设备的目标设备类型和实例调度方式,创建加载有虚拟安全设备的云主机,实现了云平台对内生安全设备成功加载的同时,还以虚拟化的形式降低了加载内生安全设备的难度、提高了对内生安全设备进行加载的效率。
为了解决上述问题,第一方面,本发明实施例公开了一种设备加载方法,所述方法包括:
加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备;
确定所述虚拟安全设备的目标设备类型;
配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点;
基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
第二方面,本发明实施例公开了一种设备加载装置,所述装置包括:
加载模块,用于加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备;
确定模块,用于确定所述虚拟安全设备的目标设备类型;
配置模块,用于配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点;
创建模块,用于基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
第三方面,本发明实施例还公开了一种电子设备,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行前述的设备加载方法。
本发明实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的设备加载方法。
本发明实施例包括以下优点:
本发明实施例提供的设备加载方法,在加载用于对内生安全设备进行虚拟化得到虚拟安全设备的驱动程序之后,配置虚拟安全设备的目标设备类型和目标设备类型对应的实例调度方式,并基于目标设备类型和目标设备类型对应的实例调度方式创建加载有虚拟安全设备的第一云主机,实现了在云平台中云主机对内生安全设备的加载,并且该加载过程可以自动进行,无需人工手动干预,降低了云平台进行内生安全设备加载的难度,提高了设备加载的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍。
图1是本发明提供的一种设备加载方法实施例的步骤流程图;
图2是本发明提供的另一种设备加载方法实施例的步骤流程图;
图3是本发明提供的一种设备加载装置实施例的结构框图;
图4是本发明提供的一种用于设备加载的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
方法实施例
参照图1,示出了本发明的一种设备加载方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备。
步骤102、确定所述虚拟安全设备的目标设备类型。
步骤103、配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点。
步骤104、基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
本发明实施例提供的设备加载方法,可以应用于云平台。其中,云平台可以是OpenStack云计算平台,也可以是国密云平台,还可以是其他云计算平台,本发明实施例对此不作具体限定。云平台运行在搭载有内生安全设备的服务器中。
内生安全设备为内嵌在处理器中的安全模块,用于将密码计算技术和通用计算技术进行芯片级一体化融合设计,使芯片具有硬件级的密码算法处理能力和芯片级安全防护能力,从而提高处理器运行过程的安全性。其中,本发明实施例中的处理器可以为基于龙芯指令集架构(Loongson Architecture Instruction Set,LoongArch)的处理器。
本发明实施例提供的设备加载方法为基于中介设备(Mediated Device,mdev)技术实现的设备加载方法,需要云平台所在服务器的操作系统内核支持vfio-mdev模块,在步骤101加载内生安全设备对应的驱动程序之前,可以在内核源码中开启支持mdev技术的vfio-mdev模块,重新编译内核,生成vfio-mdev模块对应的驱动文件,并加载该驱动文件;可以理解的是,在加载vfio-mdev模块对应的驱动文件之后,服务器操作系统的内核可以实现mdev技术的支持。
示例性地,对于基于龙芯指令集架构的处理器,内核源码中支持mdev技术的vfio-mdev模块包括10个功能模块,具体为:CONFIG_VFIO_IOMMU_TYPE1、CONFIG_VFIO_VIRQFD、CONFIG_VFIO、CONFIG_VFIO_NOIOMMU、CONFIG_VFIO_PCI、CONFIG_VFIO_PCI_MMAP、CONFIG_VFIO_PCI_INTX、CONFIG_VFIO_MDEV、CONFIG_VFIO_MDEV_DEVICE、CONFIG_KVM_VFIO。
其中,每个功能模块中包括开关控制位,开关控制位用于控制其所在功能模块的开启与关闭;开关控制位包括第一控制位、第二控制位和第三控制位三种数值。
当开关控制位被配置为第一控制位“n”时,指示功能模块关闭;
当开关控制位被配置为第二控制位“m”时,指示功能模块开启手动模式;
当开关控制位被配置为第三控制位“y”时,指示功能模块开启自动模式。
具体地,在功能模块中的开关控制位被配置为“n”的情况下,该功能模块关闭;在功能模块中的开关控制位被配置为“m”的情况下,相关人员可以手动基于开关控制位为“m”的功能模块重新编译内核,生成vfio_mdev.ko文件,并手动执行modprobe vfio-mdev实现vfio_mdev.ko文件的加载;在功能模块中的开关控制位被配置为“y”的情况下,该功能模块可以自动编译内核,生成vfio_mdev.ko文件,自动加载 vfio-mdev.ko文件。
可以理解的是,本发明实施例中内生安全设备对应的驱动程序为内生安全设备的物理驱动,云平台可以利用驱动编译工具生成内生安全设备对应的驱动程序文件mpci.ko,并执行insmod 指令实现mpci.ko的加载。
示例性地,驱动编译工具可以为build-se-virt221209.run工具。其中,加载到云平台的驱动程序用于基于mdev技术对内生安全设备进行虚拟化得到虚拟安全设备。
在本发明实施例中,虚拟安全设备的目标设备类型可以包括第一部分和第二部分,其中,第一部分为根据内生安全设备的设备属性确定的,同一内生安全设备虚拟化生成的各虚拟安全设备对应的目标设备类型的第一部分相同;示例性地,第一部分可以定义为mtty,在任一虚拟化设备的设备类型包括mtty的情况下,可以确定该虚拟化设备为内生安全设备虚拟化得到的虚拟安全设备。
目标设备类型的第二部分为第一部分的基础上添加的标识,用于标记为虚拟安全设备所对应提供运行环境的不同云主机,第二部分可以是数字或者字母等。示例性地,在第一部分定义为mtty的情况下,目标设备类型可以表示为:mtty-1、mtty-2、mtty-3和mtty-4。
由于每个目标设备类型对应的云主机的数量是固定的,在mtty-1对应的云主机的数量达到数量阈值的情况下,可以将供mtty-1对应的云主机之外的其他云主机使用的虚拟安全设备的目标设备类型确定为mtty-2,并在mtty-2对应的云主机的数量达到数量阈值的情况下,将供mtty-1对应的云主机和mtty-2对应的云主机之外的其他云主机使用的虚拟安全设备的目标设备类型确定为mtty-3,以此类推。
需要说明的是,一个内生安全设备可以虚拟化得到多个不同的虚拟安全设备,各个虚拟安全设备分别运行在不同的云主机中以供各用户使用;同一个目标设备类型在第一部分和第二部分的标记下可以对应表示运行在同一个云主机、且由同一个内生安全设备生成的多个虚拟安全设备,但是这些虚拟安全设备的UUID(唯一识别码,Universally UniqueIdentifier)不同。
作为一种可选的实施方式,在确定目标设备类型之后,执行步骤103之前,可以首先扫描服务器预置的第一目录中是否存在与目标设备类型对应的驱动文件;在第一目录中存在目标设备类型对应的驱动文件的情况下,则执行步骤103;在第一目录中不存在目标设备类型对应的驱动文件的情况下,则重复执行步骤101,直至加载目标设备类型对应的驱动文件。
其中, 第一目录为服务器中用于记录服务器的全局设备结构体系内所有被发现的注册在服务器各个总线上的各个物理设备的驱动程序对应的驱动文件的目录;在步骤101中驱动程序成功加载至服务器的情况下,服务器中的第一目录中会存在该驱动程序的驱动文件。
可以理解的是,不同驱动文件对应的不同的设备类型,云平台可以根据基于步骤102中确定的目标设备类型,扫描第一目录下与目标设备类型相匹配的驱动文件;在第一目录中扫描到与目标设备类型相匹配的驱动文件的情况下,确定第一目录中存在目标设备类型对应的驱动文件,表明驱动程序加载成功,则可以执行步骤103;在第一目录中未扫描到与目标设备类型相匹配的驱动文件的情况下,确定第一目录中不存在目标设备类型对应的驱动文件,表明驱动程序加载失败,则需要重复执行步骤101,直至第一目录中存在目标设备类型对应的驱动文件。
示例性地,第一目录可以为/sys/class/mdev_bus目录,云平台可以使用ls(listdirectory contents,列出目录内容)命令扫描/sys/class/mdev_bus目录中是否存在目标设备类型对应的驱动文件。
在本发明实施例中,在步骤101中的驱动程序加载成功的情况下,云平台可以在配置文件中配置步骤102确定目标设备类型和该目标设备类型对应的实例调度方式。
其中,配置文件为服务器的操作系统的配置文件。在配置文件中配置目标设备类型指的是在配置文件中为目标设备类型匹配到与之对应的设备类型;作为一种示例,云平台在配置文件中配置目标设备类型,具体为:在配置文件中,令enabled_*_types=mtty,实现在配置文件中对目标设备类型的配置。
实例调度方式为内生安全设备的虚拟安全设备的调度方式,用于指示虚拟安全设备对应的目标计算节点,其中,目标计算节点为服务器中支持虚拟安全设备的功能的计算节点。在步骤104创建第一云主机的过程中,云平台可以基于配置文件中的目标设备类型和目标设备类型对应调度方式,在支持虚拟安全设备的功能的目标计算节点创建虚拟安全设备对应的第一云主机,使得第一云主机可以正常实现所搭载的虚拟安全设备的响应运行。
云平台在配置文件中配置目标设备类型对应的实例调度方式具体可以为:首先,确定服务器中支持虚拟安全设备的功能的计算节点,并将支持虚拟安全设备的功能的计算节点确定为目标计算节点;然后,获取目标计算节点的节点信息,节点信息可以包括目标计算节点的节点名称、节点标识等;最后,在配置文件中建立目标设备类型和目标计算节点的节点信息之间的关联关系,使得云平台在创建第一云主机的过程中,可以基于目标设备类型和节点信息之间的关联关系,确定目标计算节点,并在目标计算节点创建第一云主机。可以理解的是,目标计算节点可以为虚拟安全设备对应内生安全设备。
在本发明实施例中,第一云主机的数量与用户的数量相同,可以是至少一个,每个第一云主机中加载一个虚拟安全设备,加载于不同的第一云主机中的虚拟安全设备不同,但是加载于不同的第一云主机中的虚拟安全设备对应的内生安全设备为服务器中的同一内生安全设备。每个用户对应一个第一云主机,基于服务器中的同一内生安全设备,云平台可以通过步骤101至步骤104对应的操作,创建分别与不同用户对应的第一云主机,实现同一内生安全设备在不同云主机中的直通。
具体地,云平台在通过步骤103配置目标设备类型和目标设备类型对应的实例调度方式之后,首先,基于目标设备类型和实例调度方式,确定目标设备类型对应的配置参数,其中,配置参数为虚拟安全设备对应的配置参数,配置参数可以包括但不限于目标设备类型的设备类型标识、与目标设备类型对应的目标计算节点的节点信息、用户信息等;然后,利用步骤101中加载的驱动程序,基于配置参数对内生安全设备进行虚拟化得到内生安全设备对应的虚拟安全设备;最后,根据节点信息确定目标计算节点,将虚拟安全设备加载至目标计算节点中用户信息对应的云主机,并将该云主机确定为虚拟安全设备对应的第一云主机。可以理解的是,第一云主机为在云平台中创建的任一云主机,在第一云主机中加载虚拟安全设备实现虚拟安全设备的响应运行即可实现云平台对内生安全设备的加载。其中,设备类型标识可以是根据目标设备类型定义的与目标设备类型一一对应的标识;用户信息为虚拟安全设备对应的目标用户的身份信息,用户信息可以是目标用户的姓名、身份识别号等。
相关技术中,基于OpenStack的云平台可以基于PCIe设备的PCIe设备号实现PCIe设备的加载,如基于GPU的PCIe设备号实现对GPU的加载;但是内生安全设备不是PCIe设备,没有PCIe设备号,基于OpenStack的云平台无法直接基于PCIe设备号对内生安全设备进行加载。
目前,基于手动创建的内生安全设备的设备号手动修改云主机的脚本文件来实现内生安全设备的手动加载的方法主要包括:
方法1、手动执行echo命令生成虚拟安全设备的设备号,关闭云主机,后台执行命令行单独编辑云主机的可扩展标记语言(eXtensible Markup Language,xml)文件,xml文件编辑完成后先后台启动云主机,然后再关闭云主机,最后再启动云主机时云主机偶尔可以成功加载虚拟安全设备;
方法2、手动执行echo命令生成虚拟安全设备的设备号,在云平台代码当中调用libvirt接口生成xml文件的过程中,在xml文件中写死虚拟安全设备的设备号;
方法3、手动执行echo命令生成虚拟安全设备的设备号,然后在云平台代码中增加实现应用程序编程接口(Application Programming Interface,API)接收并处理外部连接的虚拟安全设备,实现xml文件的写入。上述方法在服务器重启后xml文件中内生安全设备的设备号容易丢失,而且上述方法都无法实现虚拟安全设备的自动加载,存在加载过程复杂、效率低下的问题。
本发明实施例提供的设备加载方法,在加载用于对内生安全设备进行虚拟化得到虚拟安全设备的驱动程序之后,配置虚拟安全设备的目标设备类型和目标设备类型对应的实例调度方式,并基于目标设备类型和目标设备类型对应的实例调度方式创建加载有虚拟安全设备的第一云主机,加载到第一云主机中的虚拟安全设备不会因服务器的重启操作而导致加载失败,提高了在云平台中云主机对内生安全设备进行加载的成功率,并且该加载过程可以自动进行,无需人工手动干预,降低了云平台进行内生安全设备加载的难度,提高了设备加载的效率。
在本发明的一种可选实施例中,步骤104所述创建所述虚拟安全设备对应的第一云主机,包括:
步骤S11、基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型;所述第一实例类型包括所述虚拟安全设备对应的配置参数。
步骤S12、根据所述第一实例类型,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
步骤S13、在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
其中,第一实例类型为目标设备类型对应的实例类型,第一实例类型中包括虚拟安全设备对应的配置参数,配置参数包括但不限于目标设备类型的设备类型标识、与目标设备类型对应的目标计算节点的节点信息、用户信息和虚拟安全设备对应的第一云主机的配置信息等。第一云主机的配置信息可以包括但不限于第一云主机的主机名、CPU(CentralProcessing Unit / Processor,中央处理器)的核数量(例如,8核、16核等)、内存大小(例如,48GB、64GB、96GB、128GB等)、磁盘的数量以及大小(例如,2块2TB、4块4TB、8块4TB等)、网络配置(例如,2块以上的千兆网卡)等。
具体地,云平台在基于目标设备类型和实例调度方式,创建虚拟安全设备对应的第一实例类型的过程中,可以首先基于目标设备类型和实例调度方式,确定虚拟安全设备对应的配置参数;然后基于配置参数创建虚拟安全设备对应的第一实例类型。可以理解的是,云平台中还可以包括第二实例类型,第二实例类型可以是与目标设备类型不同的实例类型,第二实例类型也可以是不区分设备类型的通用实例类型。
在本发明实施例中,云平台根据第一实例类型,在目标计算节点创建虚拟安全设备对应的第一实例具体可以为:首先,根据目标设备类型,从云平台中已有的实例类型中确定虚拟安全设备对应的第一实例类型并获取第一实例类型;然后,从第一实例类型中获取节点信息,基于节点信息,确定目标计算节点;最后,在目标节点利用驱动程序对内生安全设备进行虚拟化,得到的虚拟安全设备即为虚拟安全设备对应的第一实例。可以理解的是,第一实例为内生安全设备虚拟化出的可以在第一云主机中运行的以供的目标用户使用的虚拟安全设备。
在云平台中只包括第一实例类型的情况下,云平台可以将第一实例类型确定为虚拟安全设备对应的第一实例类型,并根据第一实例类型在目标计算节点创建虚拟安全设备对应的第一实例;在云平台中包括多个实例类型的情况下,云平台需要根据目标设备类型,从多个实例类型中获取与目标设备类型相匹配的第一实例类型,然后再根据第一实例类型在目标计算节点创建虚拟安全设备对应的第一实例。
需要说明的是,云平台在根据目标设备类型确认云平台中不存在虚拟安全设备对应的第一实例类型的情况下,表明云平台通过步骤S11创建虚拟安全设备对应的第一实例类型的操作失败,此时,云平台需要重复执行步骤S11,直至在步骤S12中创建虚拟安全设备对应的第一实例的过程中可以获取到虚拟安全设备对应的第一实例类型。
在本发明实施例中,云平台包括云管平台界面,在创建第一云主机的过程中,首先,根据第一实例类型中的第一云主机的配置信息,在云平台中的云管平台界面中添加各项第一云主机的配置信息;然后,选择对应操作系统镜像;再然后,加载第一实例类型;最后,选择网络和安全组完成第一云主机的创建。第一云主机可以实现虚拟安全设备的响应运行,提供虚拟安全设备的运行环境,以供用户信息对应的目标用户使用。
在通过步骤S13完成第一云主机创建的情况下,云平台可以将通过步骤S12创建的第一实例加载到第一云主机中,得到虚拟安全设备对应的第一云主机。
本发明实施例提供的设备加载方法,在基于目标设备类型和实例调度方式,创建虚拟安全设备对应的第一云主机的过程中,首先基于目标设备类型和实例调度方式,创建虚拟安全设备对应的第一实例类型,然后在创建第一实例的过程中,将云平台中与目标设备类型对应的实例类型确定为虚拟安全设备对应的第一实例类型,并根据第一实例类型在目标计算节点创建虚拟安全设备对应的第一实例,在此过程中不对步骤S11创建第一实例类型和步骤S12创建第一实例的执行顺序作限定,云平台可以在步骤S12之前的任一时刻创建第一实例类型,在需要创建第一实例的情况下,再从云平台中获取第一实例类型并基于第一实例类型执行步骤S12;云平台也可以在执行步骤S12的过程发现云平台中不存在虚拟安全设备对应的第一实例类型的情况下,再通过步骤S11创建第一实例类型,提高了创建虚拟安全设备对应的第一云主机的灵活性和可实现性。
在本发明的一种可选实施例中,步骤S12所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
步骤S121、根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识。
步骤S122、在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的第一表项的情况下,在所述虚拟化设备列表中添加所述第一表项。
步骤S123、在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
在本发明实施例中, 虚拟化设备列表为服务器中用于记录在第一云主机中运行的虚拟化设备的设备类型和设备标识的列表,其中,设备标识可以是设备的UUID。示例性地,虚拟化设备列表可以是mdev 设备列表,虚拟化设备列表存储于服务器的/sys/devices/virtual/mtty/mtty/目录中。
云平台在根据第一实例类型,在目标计算节点创建虚拟安全设备对应的第一实例的过程中,可以先从第一实例类型中获取节点信息,基于节点信息,确定目标计算节点;然后,根据第一实例类型对应的目标设备类型,遍历虚拟化设备列表,将目标设备类型依次与虚拟化设备列表中的各个设备类型进行匹配;在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,表明虚拟化设备列表中不存在虚拟安全设备对应的设备类型,则需要在虚拟化设备列表中添加虚拟安全设备对应的目标设备类型,得到目标设备类型对应的第一表项;在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,表明虚拟化设备列表中存在虚拟安全设备对应的设备类型,可以根据第一实例类型和第一表项,在目标计算节点创建虚拟安全设备对应的第一实例。其中,第一表项包括目标设备类型和目标设备类型对应的设备标识。
示例性地,云平台根据第一实例类型,遍历虚拟化设备列表具体可以首先从服务器的/sys/devices/virtual/mtty/mtty/目录中获取虚拟化设备列表;然后调用_allocate_mdevs()函数,并利用_allocate_mdevs()函数根据第一实例类型对应的目标设备类型,遍历虚拟化设备列表;在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,执行步骤S122;在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,执行步骤S123。其中,在目标设备类型为mtty的情况下,利用_allocate_mdevs()函数根据第一实例类型对应的目标设备类型,遍历虚拟化设备列表具体可以为:配置enabled_*_types =mtty,过滤虚拟化设备列表,并在代码里通过_get_supported_mtty_types()函数从虚拟化设备列表中获取服务器支持的虚拟化安全设备对应的第一表项。
本发明实施例提供的设备加载方法,云平台在创建第一实例的过程中,在虚拟化设备列表中不存在目标设备类型对应的第一表项的情况下,先在虚拟化设备列表中添加目标设备类型对应的第一表项,然后再根据第一实例类型和第一表项,在目标计算节点创建虚拟安全设备对应的第一实例,提高了成功创建第一实例的概率,进而提高了在云平台中云主机成功加载内生安全设备的概率,降低了云平台进行内生安全设备加载的难度,提高了设备加载的效率。
在本发明的一种可选实施例中,步骤S122在所述虚拟化设备列表中添加所述第一表项,包括:
步骤S1221、在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的表项的情况下,调用第一函数;所述第一函数用于在所述虚拟化设备列表中添加虚拟化设备的设备类型和设备标识。
步骤S1222、利用所述第一函数生成与所述目标设备类型对应的第一设备标识,并将所述目标设备类型和所述第一设备标识按照一一对应的关系添加至所述虚拟化设备列表,得到所述第一表项。
在本发明实施例中,第一函数可以是create_mdev()函数。
具体地,在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,云平台可以调用第一函数,利用第一函数生成与目标设备类型对应的第一设备标识,并将目标设备类型和第一设备标识按照一一对应的关系添加至虚拟化设备列表,得到目标设备类型对应的第一表项;云平台还可以利用第一函数在虚拟化设备列表中添加目标设备类型,并在虚拟化设备列表中生成目标设备类型对应的第一设备标识,得到虚拟化设备列表中目标设备类型对应的第一表项,实现了在虚拟化设备列表中添加第一表项的操作。
其中,第一设备标识可以是随机生成的与目标设备类型一一对应的设备标识。
本发明实施例提供的设备加载方法,在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,为保证云平台对内生安全设备的成功加载,云平台可以调用第一函数,利用第一函数生成与目标设备类型对应的第一设备标识,并将目标设备类型和所述第一设备标识按照一一对应的关系添加至虚拟化设备列表,得到目标设备类型对应的第一表项,使得云平台在确定虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,可以根据第一实例类型和第一表项,在目标计算节点创建虚拟安全设备对应的第一实例,提高本发明实施例的可实现性。
在本发明的一种可选实施例中,步骤S123所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
步骤S1231、在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,调用第二函数;所述第二函数用于创建虚拟化设备对应的实例。
步骤S1232、根据所述第一实例类型,确定所述虚拟安全设备对应的目标计算节点。
步骤S1233、利用所述第二函数将所述第一实例类型和所述第一表项配置到所述目标计算节点对应的脚本文件,并根据所述脚本文件生成所述第一实例。
在本发明实施例中,第二函数可以是libvirt api接口函数。
具体地,在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,云平台可以调用第二函数,利用第二函数将第一实例类型和第一表项配置到云平台中目标计算节点对应的脚本文件,并运行该脚本文件生成虚拟安全设备对应的第一实例。在步骤S13在云平台中创建第一云主机之后,可以通过将步骤S1233中配置有第一实例类型和第一表项的脚本文件加载至第一云主机,实现将第一实例加载至第一云主机,进而实现云平台在第一云主机中对内生安全设备的加载。
其中,在利用第二函数将第一实例类型和第一表项配置到目标计算节点对应的脚本文件之前,云平台还可以根据第一实例类型中的节点信息,确定虚拟安全设备对应的目标计算节点,并基于目标计算节点,执行步骤S1233对应的操作。
在本发明实施例中,云平台利用第二函数将第一实例类型和第一表项配置到目标计算节点对应的脚本文件,并根据该脚本文件生成第一实例具体为:首先,利用第二函数,通过驱动程序将第一实例类型中的配置参数、第一表项中的目标设备类型和第一设备标识转换为云平台中目标计算节点对应的脚本文件支持的数据格式;然后,将脚本文件支持的数据格式的配置参数、目标设备类型和第一设备标识写入到目标计算节点对应的脚本文件中;最后,运行写入有配置参数、目标设备类型和第一设备标识的脚本文件生成虚拟安全设备对应的第一实例。其中,目标计算节点对应的脚本文件可以为xml文件。
本发明实施例提供的设备加载方法,在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,利用第二函数将第一实例类型和第一表项配置到目标计算节点对应的脚本文件,云平台中的第一云主机通过加载目标计算节点对应的脚本文件可以实现对虚拟安全设备对应的第一实例的加载,进而实现云平台对内生安全设备的加载,将第一实例类型和第一表项配置到目标计算节点对应的脚本文件以及加载脚本文件的过程可以自动进行,降低了云平台进行内生安全设备加载的难度,提高了设备加载的效率。
在本发明的一种可选实施例中,步骤S11所述创建所述虚拟安全设备对应的第一实例类型,包括:
步骤S111、基于所述目标设备类型,确定所述虚拟安全设备对应的第一元数据;所述第一元数据用于指示所述目标设备类型。
步骤S112、基于所述实例调度方式,确定所述虚拟安全设备对应的第二元数据;所述第二元数据用于指示所述目标计算节点。
步骤S113、根据所述第一元数据和所述第二元数据,创建所述第一实例类型。
其中,元数据(Metadata),又称中介数据或者中继数据,为描述数据的数据(dataabout data),元数据主要用于描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在本发明实施例中,第一元数据用于指示虚拟安全设备的目标设备类型,第二元数据用于指示虚拟安全设备对应的目标计算节点。
具体地,云平台在确定第一元数据和第二元数据之后,可以将第一元数据和第二元数据添加到包括基础配置参数的实例类型中,得到虚拟安全设备对应的第一实例类型。其中,基础配置参数包括但不限于用于指示用户信息第三元数据和用于指示虚拟安全设备对应的第一云主机的配置信息的第四元数据等。
在步骤S111之前,云平台可以确定与用户信息对应的第三元数据,以及与第一云主机的配置信息对应的第四元数据,并根据第三元数据和第四元数据生成包括基础配置参数的实例类型;然后再通过步骤S111至步骤S113对应的操作创建虚拟安全设备对应的第一实例类型。
参照图2,示出了本发明实施例提供的另一种设备加载方法实施例的步骤流程图。该方法包括步骤201至步骤211:
步骤201、加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备。
步骤202、确定所述虚拟安全设备的目标设备类型。
步骤203、确定第一目录中是否存在所述目标设备类型对应的驱动文件。
其中,第一目录用于记录驱动程序对应的驱动文件。具体地,在第一目录中存在目标设备类型对应的驱动文件的情况下,执行步骤204;在第一目录中不存在目标设备类型对应的驱动文件的情况下,重复执行步骤201。
步骤204、配置所述目标设备类型和所述目标设备类型对应的实例调度方式。
其中,实例调度方式用于指示虚拟安全设备对应的目标计算节点,目标计算节点支持虚拟安全设备的功能。具体地,在第一目录中存在目标设备类型对应的驱动文件的情况下,云平台配置目标设备类型和目标设备类型对应的实例调度方式。
步骤205、基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型。
其中,第一实例类型包括虚拟安全设备对应的配置参数。
具体地,云平台可以基于目标设备类型,确定用于指示虚拟安全设备的目标设备类型的第一元数据;基于实例调度方式,确定用于指示虚拟安全设备对应的目标计算节点的第二元数据;以及根据第一元数据和第二元数据,创建虚拟安全设备对应的第一实例类型。
步骤206、确定所述第一实例类型是否存在。
具体地,在云平台中存在第一实例类型的情况下,表明云平台通过步骤205创建第一实例类型成功,则继续执行步骤207;在云平台中不存在第一实例类型的情况下,表明云平台通过步骤205创建第一实例类型失败,则需要重新执行步骤205进行第一实例类型的创建。
步骤207、根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识。
具体地,在云平台中存在第一实例类型的情况下,云平台可以根据第一实例类型,执行步骤207。
步骤208、确定所述虚拟化设备列表中是否存在与所述目标设备类型相匹配的第一表项。
具体地,在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,则执行步骤210;在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,则执行步骤209。
步骤209、在所述虚拟化设备列表中添加所述目标设备类型对应的第一表项。
具体地,云平台可以在虚拟化设备列表中不存在与目标设备类型相匹配的第一表项的情况下,调用第一函数;利用第一函数生成与目标设备类型对应的第一设备标识,并将目标设备类型和第一设备标识按照一一对应的关系添加至虚拟化设备列表,得到第一表项。
步骤210、根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
具体地,在虚拟化设备列表中存在与目标设备类型相匹配的第一表项的情况下,云平台可以根据第一实例类型,确定虚拟安全设备对应的目标计算节点,并调用第二函数,利用第二函数将第一实例类型和第一表项配置到目标计算节点对应的脚本文件,根据配置有第一实例类型和第一表项的脚本文件生成虚拟安全设备对应的第一实例。
步骤211、在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
其中,第一云主机用于提供虚拟安全设备的运行环境。
作为一种示例,本发明实施例提供了又一种设备加载方法,该方法包括:
步骤a、在内核源码中开启支持mdev技术的vfio-mdev模块,重新编译内核,生成vfio-mdev模块对应的第一驱动文件,并加载第一驱动文件。
其中,第一驱动文件用于使能内核的mdev功能。
步骤b、利用build-se-virt221209.run工具生成内生安全设备对应的第二驱动程序文件mpci.ko,并执行insmod 指令加载第二驱动文件。
其中,第二驱动文件用于对内生安全设备进行虚拟化,以得到虚拟安全设备。虚拟安全设备可以运行在云主机中,并在云主机中实现内生安全设备的部分或者全部功能。可以理解的是,同一个内生安全设备可以虚拟化出至少一个虚拟安全设备,不同的虚拟安全设备可以分别运行在不同的云主机中,以供不同的用户使用。
步骤c、确定虚拟安全设备的目标设备类型为mtty-2。
具体地,云平台可以首先获取云平台中所有虚拟安全设备的设备类型;然后,在平台中设备类型为mtty-1的虚拟安全设备的数量达到预设阈值,且设备类型为mtty-2的虚拟安全设备的数量小于预设阈值的情况下,将虚拟安全设备的目标设备类型确定为mtty-2。
其中,目标设备类型mtty-2中的“mtty”用于表示该虚拟安全设备是由步骤b中的内生安全设备进行虚拟化得到的,mtty-2中的“2”用于对虚拟安全设备运行的云主机进行标记。同理,如果在云平台中设备类型为mtty-2的虚拟安全设备的数量达到预设阈值的情况下,则后续基于内生安全设备虚拟化得到的虚拟安全设备的设备类型则不能确定为mtty-2。
步骤d、基于目标设备类型mtty-2,扫描服务器中的第一目录/sys/class/mdev_bus。
其中,第一目录/sys/class/mdev_bus用于记录服务器的全局设备结构体系内所有被发现的注册在服务器各个总线上的各个物理设备的驱动程序对应的驱动文件。
步骤e、在第一目录/sys/class/mdev_bus中不存在目标设备类型(mtty-2)对应的第二驱动文件的情况下,则驱动文件加载不成功,执行步骤b,直至第一目录中存在目标设备类型对应的驱动文件。
步骤f、在第一目录/sys/class/mdev_bus中存在目标设备类型(mtty-2)对应的第二驱动文件的情况下,在服务器的操作系统的配置文件中,确定虚拟安全设备的目标设备类型,即令enabled_*_types=mtty-2,实现在配置文件中对目标设备类型的配置。
步骤g、在第一目录/sys/class/mdev_bus中存在目标设备类型(mtty-2)对应的第二驱动文件的情况下,将服务器中支持虚拟安全设备的功能的计算节点确定为目标计算节点;获取目标计算节点的节点信息;在配置文件中建立目标设备类型(mtty-2)和目标计算节点的节点信息之间的关联关系,使得云平台在创建第一云主机的过程中,可以基于目标设备类型和节点信息之间的关联关系,确定目标计算节点,并在目标计算节点中根据预设的软硬件资源创建第一云主机。
其中,目标设备类型和目标计算节点的节点信息之间的关联关系为本发明实施例中的实例调度方式。
步骤h、获取目标用户的用户信息,并基于用户信息确定虚拟安全设备对应的第三元数据,第三元数据用于指示用户信息;获取第一云主机的配置信息,并基于第一云主机的配置信息确定虚拟安全设备对应的第四元数据,第四元数据用于指示第一云主机的配置信息。
其中,第一云主机可以实现步骤302所述虚拟安全设备的响应运行并为该虚拟安全设备提供运行环境;目标用户为对第一云主机进行使用的用户。
步骤i、根据第三元数据和第四元数据生成第三实例类型,第三实例类型中包括第三元数据和第四元数据。
步骤j、基于目标设备类型(mtty-2),确定虚拟安全设备对应的第一元数据;第一元数据用于指示目标设备类型为mtty-2。
步骤k、基于实例调度方式,确定虚拟安全设备对应的第二元数据;第二元数据用于指示目标计算节点。
步骤l、将第一元数据和第二元数据添加到第三实例类型中,得到虚拟安全设备对应的第一实例类型。
步骤m、根据目标设备类型(mtty-2),从云平台中已有的实例类型中获取设备类型为mtty-2的第一实例类型。
步骤n、从第一实例类型中获取节点信息,基于节点信息,确定目标计算节点。
步骤o、根据第一实例类型中的第一云主机的配置信息以及目标计算节点,在云平台中的云管平台界面中添加各项第一云主机的配置信息以及第一云主机对应的目标计算节点;选择对应操作系统镜像;加载第一实例类型;选择网络和安全组完成第一云主机的创建。
其中,第一云主机与第一实例类型中的用户信息所指示的目标用户一一对应,目标用户可以通过第一云主机对运行在第一云主机中的虚拟化设备进行使用。
步骤p、从操作系统的/sys/devices/virtual/mtty/mtty/目录中获取虚拟化设备列表mdev设备列表。
其中,mdev设备列表用于分别记录在第一云主机中各虚拟化设备的设备类型和UUID。
步骤q、调用_allocate_mdevs()函数,并利用_allocate_mdevs()函数根据所述第一实例类型中第一元数据指示的目标设备类型(mtty-2),遍历mdev虚拟化设备列表。
具体地,可以利用_allocate_mdevs()函数根据第一实例类型对应的目标设备类型,遍历虚拟化设备列表具体可以为:配置enabled_*_types =mtty-2,过滤虚拟化设备列表,并在代码里通过_get_supported_mtty-2_types()函数从虚拟化设备列表中获取服务器支持的虚拟化安全设备对应的第一表项。
步骤r、在mdev虚拟化设备列表中不存在与目标设备类型(mtty-2)相匹配的第一表项的情况下,调用create_mdev()第一函数,利用create_mdev()第一函数生成与目标设备类型(mtty-2)对应的设备标识第一UUID,并将目标设备类型(mtty-2)和与目标设备类型对应的设备标识第一UUID按照一一对应的关系添加至mdev虚拟化设备列表,得到第一表项。
步骤s、在mdev虚拟化设备列表中存在与目标设备类型(mtty-2)相匹配的第一表项的情况下,调用第二函数libvirt api接口函数,利用第二函数libvirt api接口函数通过驱动程序将第一实例类型中的配置参数、第一表项中的目标设备类型(mtty-2)和设备标识第一UUID转换为云平台中目标计算节点对应的xml脚本文件支持的数据格式;将xml文件支持的数据格式的配置参数、目标设备类型mtty-2和设备标识第一UUID写入到目标计算节点对应的xml脚本文件中;最后,运行写入有配置参数、目标设备类型mtty-2和设备标识第一UUID的xml脚本文件生成虚拟安全设备对应的第一实例。
步骤t、将xml脚本文件加载至第一云主机,实现云平台通过第一云主机对内生安全设备的加载。
在本发明实施例中,在步骤t之后,目标用户想要在云平台通过第一云主机使用虚拟安全设备的情况下,可以登录第一云主机,并获取第一云主机对应的mdev虚拟设备列表,基于目标设备类型mtty-2,从mdev设备列表中确定与目标设备类型(mtty-2)相匹配的第一表项;根据第一表项中的设备标识第一UUID调用第一实例并响应运行第一实例;
之后,在接收到目标用户输入的操作指令的情况下,通过第一实例生成并向目标计算节点发送该操作指令对应的计算请求;然后,接收目标计算节点返回的针对计算请求的计算结果;最后,将计算结果处理为xml脚本文件所支持的目标格式,并以目标格式的形式向用户呈现操作指令对应的计算结果。
此外,在基于目标设备类型(mtty-2)无法从mdev设备列表中确定与mtty-2相匹配的第一表项,或者在确定第一表项之后,无法根据第一表项中的第一UUID调用第一实例的情况下,表明步骤a至步骤t的执行过程存在异常,此时,第一云主机可以向相关技术人员发送异常提醒,以供相关技术人员基于异常提醒对步骤a至步骤t创建的第一实例和第一云主机进行查看修复。
可以理解的是,在步骤t之后,可以通过预设测试程序,对第一云主机中第一实例的调用以及运行过程进行测试,并在测试通过的情况下,再向目标用户开放使用,以提高本发明实施例提供的设备加载方法的可靠性。
综上所述,本发明实施例提供的设备加载方法,在加载用于对内生安全设备进行虚拟化得到虚拟安全设备的驱动程序之后,配置虚拟安全设备的目标设备类型和目标设备类型对应的实例调度方式,并基于目标设备类型和实例调度方式创建加载有虚拟安全设备的第一云主机,实现了在云平台中云主机对内生安全设备的加载,并且该加载过程可以自动进行,无需人工手动干预,降低了云平台进行内生安全设备加载的难度,提高了设备加载的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种设备加载装置实施例的结构框图,所述装置具体包括:
加载模块301,用于加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备;
确定模块302,用于确定所述虚拟安全设备的目标设备类型;
配置模块303,用于配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点;
创建模块304,用于基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
可选地,所述创建模块,包括:
第一创建子模块,用于基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型;所述第一实例类型包括所述虚拟安全设备对应的配置参数;
第二创建子模块,用于根据所述第一实例类型,在所述目标计算节点创建所述虚拟安全设备对应的第一实例;
第三创建子模块,用于在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
可选地,所述第二创建子模块,包括:
遍历单元,用于根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识;
第一创建单元,用于在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的第一表项的情况下,在所述虚拟化设备列表中添加所述第一表项;否则,根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
可选地,所述第一创建单元,包括:
第一调用子单元,用于在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的表项的情况下,调用第一函数;所述第一函数用于在所述虚拟化设备列表中添加虚拟化设备的设备类型和设备标识;
添加子单元,用于利用所述第一函数生成与所述目标设备类型对应的第一设备标识,并将所述目标设备类型和所述第一设备标识按照一一对应的关系添加至所述虚拟化设备列表,得到所述第一表项。
可选地,所述第一创建单元,包括:
第二调用子单元,用于在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,调用第二函数;所述第二函数用于创建虚拟化设备对应的实例;
确定子单元,用于根据所述第一实例类型,确定所述虚拟安全设备对应的目标计算节点;
创建子单元,用于利用所述第二函数将所述第一实例类型和所述第一表项配置到所述目标计算节点对应的脚本文件,并根据所述脚本文件生成所述第一实例。
可选地,所述第一创建子模块,包括:
第一确定单元,用于基于所述目标设备类型,确定所述虚拟安全设备对应的第一元数据;所述第一元数据用于指示所述目标设备类型;
第二确定单元,用于基于所述实例调度方式,确定所述虚拟安全设备对应的第二元数据;所述第二元数据用于指示所述目标计算节点;
第二创建单元,用于根据所述第一元数据和所述第二元数据,创建所述第一实例类型。
本发明实施例提供了一种用于设备加载的电子设备,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
A11、加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备。
A12、确定所述虚拟安全设备的目标设备类型。
A13、配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点。
A14、基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
可选地,所述创建所述虚拟安全设备对应的第一云主机,包括:
基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型;所述第一实例类型包括所述虚拟安全设备对应的配置参数;
根据所述第一实例类型,在所述目标计算节点创建所述虚拟安全设备对应的第一实例;
在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
可选地,所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识;
在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的第一表项的情况下,在所述虚拟化设备列表中添加所述第一表项;否则,根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
可选地,所述在所述虚拟化设备列表中添加所述目标设备类型对应的第一表项,包括:
在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的表项的情况下,调用第一函数;所述第一函数用于在所述虚拟化设备列表中添加虚拟化设备的设备类型和设备标识;
利用所述第一函数生成与所述目标设备类型对应的第一设备标识,并将所述目标设备类型和所述第一设备标识按照一一对应的关系添加至所述虚拟化设备列表,得到所述第一表项。
可选地,所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,调用第二函数;所述第二函数用于创建虚拟化设备对应的实例;
根据所述第一实例类型,确定所述虚拟安全设备对应的目标计算节点;
利用所述第二函数将所述第一实例类型和所述第一表项配置到所述目标计算节点对应的脚本文件,并根据所述脚本文件生成所述第一实例。
可选地,所述创建所述虚拟安全设备对应的第一实例类型,包括:
基于所述目标设备类型,确定所述虚拟安全设备对应的第一元数据;所述第一元数据用于指示所述目标设备类型;
基于所述实例调度方式,确定所述虚拟安全设备对应的第二元数据;所述第二元数据用于指示所述目标计算节点;
根据所述第一元数据和所述第二元数据,创建所述第一实例类型。
图4是根据一示例性实施例示出的一种用于设备加载的电子设备400的结构框图。例如,电子设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/ O)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制电子设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理部件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在设备400的操作。这些数据的示例包括用于在电子设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory ,SRAM),带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory ,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory ,EPROM),可编程只读存储器(Programmable read-only memory ,PROM),只读存储器(Read Only Memory ,ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件404为电子设备400的各种组件提供电力。电力组件404可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display ,LCD)和触摸面板(TouchPad ,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(Microphone ,MIC),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/ O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到设备400的打开/关闭状态,组件的相对定位,例如所述组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)传感器或带电耦合器件(Charged Coupled Device,CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如无线局域网(Wireless Fidelity,WiFi),第二代移动通信技术(2th-Generation Mobile Communication Technology,2G)或第三代移动通信技术(3th-Generation Mobile Communication Technology,3G),或它们的组合。在一个示例性实施例中,通信部件414经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件414还包括近场通信(Near Field Communication ,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification ,RFID)技术,红外数据协会(Infrared DataAssociation ,IrDA)技术,超宽带(Ultra Wideband,UWB)技术,蓝牙(Bluetooth ,BT)技术和其他技术来实现。
在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital SignalProcess ,DSP)、数字信号处理设备(Digital Signal Process Device,DSPD)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable GateArray ,FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random AccessMemory,RAM)、紧凑型光盘只读储存器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
一种可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的设备加载方法。
以上对本发明所提供的一种设备加载方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种设备加载方法,其特征在于,所述方法包括:
加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备;所述内生安全设备为内嵌在处理器中的安全模块;
确定所述虚拟安全设备的目标设备类型;所述目标设备类型包括第一部分和第二部分,所述第一部分为根据所述内生安全设备的设备属性确定的,所述第二部分为用于为所述虚拟安全设备提供运行环境的云主机标识;
配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点;
基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
2.根据权利要求1所述的方法,其特征在于,所述创建所述虚拟安全设备对应的第一云主机,包括:
基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型;所述第一实例类型包括所述虚拟安全设备对应的配置参数;
根据所述第一实例类型,在所述目标计算节点创建所述虚拟安全设备对应的第一实例;
在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识;
在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的第一表项的情况下,在所述虚拟化设备列表中添加所述第一表项;否则,根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
4.根据权利要求3所述的方法,其特征在于,所述在所述虚拟化设备列表中添加所述第一表项,包括:
在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的表项的情况下,调用第一函数;所述第一函数用于添加各虚拟化设备对应的设备类型和设备标识;
利用所述第一函数生成与所述目标设备类型对应的第一设备标识,并将所述目标设备类型和所述第一设备标识按照一一对应的关系添加至所述虚拟化设备列表,得到所述第一表项。
5.根据权利要求3所述的方法,其特征在于,所述在所述目标计算节点创建所述虚拟安全设备对应的第一实例,包括:
在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,调用第二函数;所述第二函数用于创建各虚拟化设备对应的实例;
根据所述第一实例类型,确定所述虚拟安全设备对应的目标计算节点;
利用所述第二函数将所述第一实例类型和所述第一表项配置到所述目标计算节点对应的脚本文件,并根据所述脚本文件生成所述第一实例。
6.根据权利要求2所述的方法,其特征在于,所述创建所述虚拟安全设备对应的第一实例类型,包括:
基于所述目标设备类型,确定所述虚拟安全设备对应的第一元数据;所述第一元数据用于指示所述目标设备类型;
基于所述实例调度方式,确定所述虚拟安全设备对应的第二元数据;所述第二元数据用于指示所述目标计算节点;
根据所述第一元数据和所述第二元数据,创建所述第一实例类型。
7.一种设备加载装置,其特征在于,所述装置包括:
加载模块,用于加载内生安全设备对应的驱动程序;所述驱动程序用于对所述内生安全设备进行虚拟化,以得到虚拟安全设备;所述内生安全设备为内嵌在处理器中的安全模块;
确定模块,用于确定所述虚拟安全设备的目标设备类型;所述目标设备类型包括第一部分和第二部分,所述第一部分为根据所述内生安全设备的设备属性确定的,所述第二部分为用于为所述虚拟安全设备提供运行环境的云主机标识;
配置模块,用于配置所述目标设备类型和所述目标设备类型对应的实例调度方式;所述实例调度方式用于指示所述虚拟安全设备对应的目标计算节点;
创建模块,用于基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一云主机,以实现所述虚拟安全设备的响应运行;所述第一云主机用于提供所述虚拟安全设备的运行环境。
8.根据权利要求7所述的装置,其特征在于,所述创建模块,包括:
第一创建子模块,用于基于所述目标设备类型和所述实例调度方式,创建所述虚拟安全设备对应的第一实例类型;所述第一实例类型包括所述虚拟安全设备对应的配置参数;
第二创建子模块,用于根据所述第一实例类型,在所述目标计算节点创建所述虚拟安全设备对应的第一实例;
第三创建子模块,用于在云平台中创建第一云主机,并将所述第一实例加载至所述第一云主机,得到所述虚拟安全设备对应的第一云主机。
9.根据权利要求8所述的装置,其特征在于,所述第二创建子模块,包括:
遍历单元,用于根据所述第一实例类型,遍历虚拟化设备列表;所述虚拟化设备列表用于分别记录在所述第一云主机中各虚拟化设备的设备类型和设备标识;
第一创建单元,用于在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的第一表项的情况下,在所述虚拟化设备列表中添加所述第一表项;否则,根据所述第一实例类型和所述第一表项,在所述目标计算节点创建所述虚拟安全设备对应的第一实例。
10.根据权利要求9所述的装置,其特征在于,所述第一创建单元,包括:
第一调用子单元,用于在所述虚拟化设备列表中不存在与所述目标设备类型相匹配的表项的情况下,调用第一函数;所述第一函数用于在所述虚拟化设备列表中添加虚拟化设备的设备类型和设备标识;
添加子单元,用于利用所述第一函数生成与所述目标设备类型对应的第一设备标识,并将所述目标设备类型和所述第一设备标识按照一一对应的关系添加至所述虚拟化设备列表,得到所述第一表项。
11.根据权利要求9所述的装置,其特征在于,所述第一创建单元,包括:
第二调用子单元,用于在所述虚拟化设备列表中存在与所述目标设备类型相匹配的第一表项的情况下,调用第二函数;所述第二函数用于创建虚拟化设备对应的实例;
确定子单元,用于根据所述第一实例类型,确定所述虚拟安全设备对应的目标计算节点;
创建子单元,用于利用所述第二函数将所述第一实例类型和所述第一表项配置到所述目标计算节点对应的脚本文件,并根据所述脚本文件生成所述第一实例。
12.根据权利要求8所述的装置,其特征在于,所述第一创建子模块,包括:
第一确定单元,用于基于所述目标设备类型,确定所述虚拟安全设备对应的第一元数据;所述第一元数据用于指示所述目标设备类型;
第二确定单元,用于基于所述实例调度方式,确定所述虚拟安全设备对应的第二元数据;所述第二元数据用于指示所述目标计算节点;
第二创建单元,用于根据所述第一元数据和所述第二元数据,创建所述第一实例类型。
13.一种电子设备,其特征在于,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1至6中任一项所述的设备加载方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至6中任一项所述的设备加载方法。
CN202410146942.4A 2024-02-01 2024-02-01 设备加载方法、装置、电子设备及存储介质 Active CN117667241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410146942.4A CN117667241B (zh) 2024-02-01 2024-02-01 设备加载方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410146942.4A CN117667241B (zh) 2024-02-01 2024-02-01 设备加载方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN117667241A CN117667241A (zh) 2024-03-08
CN117667241B true CN117667241B (zh) 2024-04-26

Family

ID=90073529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410146942.4A Active CN117667241B (zh) 2024-02-01 2024-02-01 设备加载方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117667241B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006583A (zh) * 2010-11-30 2011-04-06 中兴通讯股份有限公司 一种无线通信终端及动态设备体验方法
CN103067380A (zh) * 2012-12-26 2013-04-24 北京启明星辰信息技术股份有限公司 一种虚拟安全设备的部署配置方法及系统
CN109062732A (zh) * 2018-07-20 2018-12-21 郑州云海信息技术有限公司 一种数据库服务实现方法和系统
US10484331B1 (en) * 2016-06-28 2019-11-19 Amazon Technologies, Inc. Security appliance provisioning
CN114978697A (zh) * 2022-05-24 2022-08-30 中电科网络空间安全研究院有限公司 一种网络信息系统内生安全防御方法、装置、设备及介质
CN116028164A (zh) * 2023-03-29 2023-04-28 阿里云计算有限公司 设备虚拟化方法以及装置
CN117234741A (zh) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 资源管理与调度方法、装置、电子设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986449A (zh) * 2021-09-17 2022-01-28 华中科技大学 一种面向容器的Linux内核虚拟化系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006583A (zh) * 2010-11-30 2011-04-06 中兴通讯股份有限公司 一种无线通信终端及动态设备体验方法
CN103067380A (zh) * 2012-12-26 2013-04-24 北京启明星辰信息技术股份有限公司 一种虚拟安全设备的部署配置方法及系统
US10484331B1 (en) * 2016-06-28 2019-11-19 Amazon Technologies, Inc. Security appliance provisioning
CN109062732A (zh) * 2018-07-20 2018-12-21 郑州云海信息技术有限公司 一种数据库服务实现方法和系统
CN114978697A (zh) * 2022-05-24 2022-08-30 中电科网络空间安全研究院有限公司 一种网络信息系统内生安全防御方法、装置、设备及介质
CN116028164A (zh) * 2023-03-29 2023-04-28 阿里云计算有限公司 设备虚拟化方法以及装置
CN117234741A (zh) * 2023-11-14 2023-12-15 苏州元脑智能科技有限公司 资源管理与调度方法、装置、电子设备以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于熵权VIKOR的安全虚拟网络映射算法;孟相如;徐江;康巧燕;韩晓阳;;信息网络安全;20200510(第05期);27-34 *

Also Published As

Publication number Publication date
CN117667241A (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
US10528434B2 (en) Method, device and terminal for restoring firmware program
CN109429102B (zh) 用于显示应用的电子装置及服务器
KR102441737B1 (ko) 인증 방법 및 이를 지원하는 전자 장치
KR20170046958A (ko) 전자 장치 및 그의 음성 인식을 이용한 기능 실행 방법
CN109726067B (zh) 一种进程监控方法以及客户端设备
WO2016127426A1 (zh) 一种显示应用、图片的方法、装置及电子设备
US11204681B2 (en) Program orchestration method and electronic device
WO2019223525A1 (en) Method for preloading application, storage medium, and terminal
CN113342697B (zh) 闪存转换层仿真测试系统及方法
US20210311752A1 (en) Electronic apparatus and operating method thereof
AU2014312541B2 (en) Method, apparatus, and recording medium for interworking with external terminal
JP5997848B2 (ja) 移動端末リソースの処理方法、装置、クライアント側のコンピュータ、サーバ、移動端末、プログラム、及び記録媒体
US9990912B2 (en) Electronic device and method for reproducing sound in the electronic device
CN106027631B (zh) 一种数据传输方法及装置
CN111330280A (zh) 游戏中的数据处理方法、装置、存储介质与电子设备
EP3249899A1 (en) Call forwarding method, terminal and portable electronic device
KR20180101926A (ko) 전자 장치 및 전자 장치의 어플리케이션 제어 방법
CN105183571A (zh) 函数调用方法和装置
CN114741292A (zh) 测试脚本管理方法及装置、电子设备和存储介质
CN111615171B (zh) 无线局域网的接入方法和装置
CN112235412B (zh) 消息处理方法和装置
CN117667241B (zh) 设备加载方法、装置、电子设备及存储介质
KR20160048968A (ko) 단말기에 미디어 데이터를 재생하는 방법 및 장치
US11460971B2 (en) Control method and electronic device
KR102188685B1 (ko) 애플리케이션 패키지를 생성하는 장치 및 방법

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