CN112579249A - 多cpu虚拟机的运行方法及装置、存储介质、计算机设备 - Google Patents
多cpu虚拟机的运行方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN112579249A CN112579249A CN201910943739.9A CN201910943739A CN112579249A CN 112579249 A CN112579249 A CN 112579249A CN 201910943739 A CN201910943739 A CN 201910943739A CN 112579249 A CN112579249 A CN 112579249A
- Authority
- CN
- China
- Prior art keywords
- execution
- target
- program
- target 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 241000700605 Viruses Species 0.000 claims description 71
- 238000004590 computer program Methods 0.000 claims description 9
- 238000011017 operating method Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 230000002155 anti-virotic effect Effects 0.000 description 19
- 238000001514 detection method Methods 0.000 description 17
- 239000002574 poison Substances 0.000 description 14
- 231100000614 poison Toxicity 0.000 description 14
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种多CPU虚拟机的运行方法及装置、存储介质、计算机设备,该方法包括:获取目标程序以及所述目标程序的执行场景;根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU;利用所述虚拟机的所述目标CPU执行所述目标程序。通过自虚拟机中内置多种CPU,为不同的目标程序提供适用于其对应执行场景的目标CPU,从而利用目标CPU执行目标程序。本申请通过在虚拟机中内置适用于不同场景的多种CPU,克服了现有技术中分别针对不同场景开发多种虚拟机导致工作量成倍增加的缺陷,同时,利用匹配于目标程序的执行场景的目标CPU执行目标程序,实现了执行效率和执行质量的双重保障。
Description
技术领域
本申请涉及虚拟机技术领域,尤其是涉及到一种多CPU虚拟机的运行方法及装置、存储介质、计算机设备。
背景技术
在现有技术的虚拟机中,一台虚拟机只能对一种CPU进行模拟,例如对于x86架构来说,可以包括Bochs、QEMU等多种CPU,但是虚拟机中只能选择Bochs、QEMU或其他CPU的其中一种,如此在利用虚拟机构建的产品中,例如虚拟机杀毒软件,只能提供一种CPU对待杀毒文件进行模拟运行。
这样一来虚拟机杀毒软件就只能适用于某种特殊的与其包含的CPU相匹配的场景中,无法在多个场景下通用,那么在做虚拟机杀毒软件开发时,就需要分别针对不同的场景进行开发,例如为普通用户的个人计算机设备开发一套虚拟机杀毒软件,为企业计算机设备开发一套虚拟机杀毒软件,从而适应于不同场景的应用,显然这种方案比较麻烦浪费资源和时间。
发明内容
有鉴于此,本申请提供了一种多CPU虚拟机的运行方法及装置、存储介质、计算机设备。
根据本申请的一个方面,提供了一种多CPU虚拟机的运行方法,包括:
获取目标程序以及所述目标程序的执行场景;
根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU;
利用所述虚拟机的所述目标CPU执行所述目标程序。
具体地,所述虚拟机中包括至少两种CPU,每种所述执行场景与唯一的一种CPU对应。
具体地,所述获取目标程序以及所述目标程序的执行场景,具体包括:
获取所述目标程序,并输出执行场景获取指令,其中,所述执行场景获取指令包括所述虚拟机中任一CPU对应的执行场景;
基于接收到的执行场景选择指令,确认所述目标程序的执行场景。
具体地,所述根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU,具体包括:
基于所述目标程序的执行场景,在所述虚拟机的CPU中选择与所述执行场景对应的所述目标CPU。
具体地,所述CPU至少包括Bochs以及QEMU,其中,Bochs对应细力度执行场景,QEMU对应粗力度执行场景。
具体地,所述利用所述虚拟机的所述目标CPU执行所述目标程序之后,所述方法还包括:
对所述目标程序的执行过程进行解析,得到所述目标程序的执行特征。
具体地,所述方法还包括:
将所述目标程序的执行特征与预设执行特征库中包含的恶意程序执行特征和/或安全程序执行特征进行比对,对所述目标程序进行病毒分析。
根据本申请的另一方面,提供了一种多CPU虚拟机的运行装置,包括:
目标获取模块,用于获取目标程序以及所述目标程序的执行场景;
CPU选择模块,用于根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU;
程序执行模块,用于利用所述虚拟机的所述目标CPU执行所述目标程序。
具体地,所述虚拟机中包括至少两种CPU,每种所述执行场景与唯一的一种CPU对应。
具体地,所述目标获取模块,具体包括:
执行场景获取单元,用于获取所述目标程序,并输出执行场景获取指令,其中,所述执行场景获取指令包括所述虚拟机中任一CPU对应的执行场景;
执行场景确定单元,用于基于接收到的执行场景选择指令,确认所述目标程序的执行场景。
具体地,所述CPU选择模块,具体用于:
基于所述目标程序的执行场景,在所述虚拟机的CPU中选择与所述执行场景对应的所述目标CPU。
具体地,所述CPU至少包括Bochs以及QEMU,其中,Bochs对应细力度执行场景,QEMU对应粗力度执行场景。
具体地,所述装置还包括:
执行特征解析模块,用于利用所述虚拟机的所述目标CPU执行所述目标程序之后,对所述目标程序的执行过程进行解析,得到所述目标程序的执行特征。
具体地,所述装置还包括:
病毒分析模块,用于将所述目标程序的执行特征与预设执行特征库中包含的恶意程序执行特征和/或安全程序执行特征进行比对,对所述目标程序进行病毒分析。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述多CPU虚拟机的运行方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述多CPU虚拟机的运行方法。
借由上述技术方案,本申请提供的一种多CPU虚拟机的运行方法及装置、存储介质、计算机设备,通过自虚拟机中内置多种CPU,为不同的目标程序提供适用于其对应执行场景的目标CPU,从而利用目标CPU执行目标程序。本申请通过在虚拟机中内置适用于不同场景的多种CPU,克服了现有技术中分别针对不同场景开发多种虚拟机导致工作量成倍增加的缺陷,同时,利用匹配于目标程序的执行场景的目标CPU执行目标程序,实现了执行效率和执行质量的双重保障。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种多CPU虚拟机的运行方法的流程示意图;
图2示出了本申请实施例提供的另一种多CPU虚拟机的运行方法的流程示意图;
图3示出了本申请实施例提供的一种多CPU虚拟机的运行装置的结构示意图;
图4示出了本申请实施例提供的另一种多CPU虚拟机的运行装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种多CPU虚拟机的运行方法,如图1所示,该方法包括:
步骤101,获取目标程序以及目标程序的执行场景;
步骤102,根据目标程序的执行场景,在虚拟机中选择与执行场景对应的目标CPU;
步骤103,利用虚拟机的目标CPU执行目标程序。
在上述实施例中,虚拟机中内置了多个种类的CPU,本申请实施例中的虚拟机主要应用于安全领域,具体可以用于病毒查杀、病毒分析等等场景,具体来说,当获取到需要运行的目标程序后,首先应获取该目标程序所对应的执行场景,例如执行场景1可以是用户个人计算机设备需要使用虚拟机杀毒软件进行病毒查杀,再例如执行场景2可以是企业计算机设备需要使用虚拟机杀毒软件进行病毒分析或正在进行虚拟机调试,其次,在获取到目标程序对应的执行场景后,根据执行场景,在虚拟机的多个CPU中选择出一种最适用于该执行场景的目标CPU,例如可以为执行场景1的目标程序选择一种执行粒度较粗的CPU以适用于该场景实现快速执行,快速杀毒,再例如可以为执行场景2的目标程序选择一种执行粒度较细的CPU以适用于该场景实现精细分析,最后,利用所选择的目标CPU来执行该目标程序,以适应于相应场景,从而可以使虚拟机适应于目标程序的执行场景实现执行效率和执行质量的双重保障。
需要说明的是,本申请实施例中的虚拟机内置的多种CPU一般为同一架构下的多种CPU,在进行虚拟机建立时,只需要将虚拟机的初始化接口、执行接口、寄存器相关结构体以及内存处理相关结构体等进行参数编写,实现接口改造以实现多种CPU在虚拟机中能够兼容即可。
通过应用本实施例的技术方案,通过自虚拟机中内置多种CPU,为不同的目标程序提供适用于其对应执行场景的目标CPU,从而利用目标CPU执行目标程序。本申请通过在虚拟机中内置适用于不同场景的多种CPU,克服了现有技术中分别针对不同场景开发多种虚拟机导致工作量成倍增加的缺陷,同时,利用匹配于目标程序的执行场景的目标CPU执行目标程序,实现了执行效率和执行质量的双重保障。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种多CPU虚拟机的运行方法,如图2所示,该方法包括:
步骤201,获取目标程序,并输出执行场景获取指令,其中,执行场景获取指令包括虚拟机中任一CPU对应的执行场景;
步骤202,基于接收到的执行场景选择指令,确认目标程序的执行场景;
步骤203,基于目标程序的执行场景,在虚拟机的CPU中选择与执行场景对应的目标CPU。
步骤204,利用虚拟机的目标CPU执行目标程序。
在上述任一实施例中,具体地,虚拟机中包括至少两种CPU,每种执行场景与唯一的一种CPU对应。
在上述任一实施例中,具体地,CPU至少包括Bochs以及QEMU,其中,Bochs对应细粒度执行场景,QEMU对应粗粒度执行场景。
在上述步骤201至步骤204中,本申请实施例中虚拟机中的CPU至少包括Bochs以及QEMU两种,虚拟机可以适用于至少两种执行场景,每种执行场景仅与一种CPU对应,其中,Bochs对应细粒度执行场景,例如,细粒度执行场景可以是企业计算机设备需要使用虚拟机杀毒软件进行病毒分析或正在进行虚拟机调试,QEMU对应粗粒度执行场景,例如,粗粒度执行场景可以是用户个人计算机设备需要使用虚拟机杀毒软件进行病毒查杀。
当存在待执行的目标程序时,可以通过输出执行场景获取指令的方式获取目标程序的执行场景,例如显示虚拟机中多种CPU分别对应的执行场景,以供使用者从中选择出待执行的目标程序所对应的执行场景,具体可以显示“个人杀毒(或快速杀毒)”、“企业杀毒(或精细杀毒)”、“病毒分析”等等执行场景,基于使用者对执行场景的选择来确定相应的CPU,在这个举例中“个人杀毒(或快速杀毒)”可以对应于QEMU,“企业杀毒(或精细杀毒)”、“病毒分析”可以对应于Bochs。确定目标程序的执行场景对应的目标CPU后,利用目标CPU实现目标程序的执行即可。
步骤205,对目标程序的执行过程进行解析,得到目标程序的执行特征。
步骤206,将目标程序的执行特征与预设执行特征库中包含的恶意程序执行特征和/或安全程序执行特征进行比对,对目标程序进行病毒分析。
在步骤205和步骤206中,限定了一种利用虚拟机进行病毒分析的方法,具体来说,目标程序在虚拟机中执行时,通过获取目标程序的执行特征,从而根据预设执行特征库对目标程序的执行特征进行匹配,进而确定目标程序是否包含病毒。其中,首先,在目标程序的执行过程中对目标程序的调用桩函数进行记录;其次,针对记录的目标程序所调用的桩函数,分析该目标程序的执行特征,解析执行特征的过程相当于将调用桩函数的序列“翻译”成相应的特征,例如将一系列的桩函数执行代码翻译成流程说明的形式,用目标程序的执行特征作为病毒检测的依据;最后,通过目标程序的执行特征分析该程序是否为病毒程序,以实现基于虚拟机的病毒检测。
在本申请实施例的步骤206中,可以包含以下几种病毒检测的实现方式:
实现方式A:
步骤A1,获取预设执行特征名单,其中,预设执行特征名单包括预设执行特征黑名单;
步骤A2,查询目标程序的执行特征是否属于预设执行特征黑名单中包含的恶意执行特征;
步骤A3,若目标程序的执行特征属于恶意执行特征,则确定目标程序包含病毒。
步骤A4,若目标程序的执行特征不属于恶意执行特征,则查询目标程序的执行特征是否属于预设执行特征白名单中包含的安全执行特征;
步骤A5,若目标程序的执行特征属于安全执行特征,则确定目标程序不含病毒。
步骤A6,若目标程序的执行特征不属于安全执行特征,则将目标程序标记为可疑程序,并将可疑程序对应的执行特征上报至病毒管理系统,以利用病毒管理系统分析可疑程序是否包含病毒。
在实施方式A中,利用预设执行特征名单对目标程序是否带毒进行判定,预设执行特征名单包括黑名单和白名单,黑名单中预先存储了病毒程序对应的恶意执行特征,白名单中预先存储了安全程序对应的安全执行特征。从而根据目标程序的执行特征是否能够命中黑名单或白名单判定该目标程序是否为带毒程序,若命中黑名单,则为带毒程序,若命中白名单,则为安全程序,而若目标程序的执行特征即没有命中黑名单也没有命中白名单,则判断该程序为可疑程序,并将可疑程序上报至病毒管理系统进一步对该程序进行判定,病毒管理系统具体可以为专家系统。
实现方式B:
步骤B1,根据目标程序的执行特征以及预设执行特征报毒经验值,计算目标程序的报毒检测值,其中,目标程序的报毒检测值为目标程序的执行特征对应的预设执行特征报毒经验值之和;
步骤B2,按照目标程序的报毒检测值与预设病毒经验值的关系,确定目标程序是否包含病毒。
下面对上述实施例进行举例说明,假设目标程序的执行特征包括A、B、C、D,预设执行特征报毒经验值分别为0、1、2、3,那么该目标程序的报毒检测值为0+1+2+3=6,预设病毒经验值为[5,+∞),该目标程序的报毒检测值在病毒经验值区间内,可以判断该程序包含病毒。其中,预设病毒经验值是根据对大量病毒样本以及安全样本进行分析而得出的,预设病毒经验值作为一个分隔,将病毒样本的报毒经验值和安全样本的报毒经验值做出最大区分。
在此基础上,还可以进一步判定目标程序是否安全程序或可疑程序,具体来说,还可以限定安全程序的预设经验值和/或可疑程序的预设经验值,具体步骤B2可以为:按照目标程序的报毒检测值与预设病毒经验值、预设安全经验值以及预设可疑经验值的关系,对目标程序进行安全检测。
在步骤B2中,根据目标程序的报毒检测值所处的经验值区间,判定目标程序是病毒程序、安全程序还是可疑程序。
另外,如果为可疑程序还可以上报病毒管理系统,从而利用病毒管理系统来判断目标程序是否带毒,并根据病毒管理系统的判断结果,对各个预设经验值进行适应性的调整,以提高病毒检测的准确率和效率。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种多CPU虚拟机的运行装置,如图3所示,该装置包括:目标获取模块31、CPU选择模块32、程序执行模块33。
目标获取模块31,用于获取目标程序以及目标程序的执行场景;
CPU选择模块32,用于根据目标程序的执行场景,在虚拟机中选择与执行场景对应的目标CPU;
程序执行模块33,用于利用虚拟机的目标CPU执行目标程序。
在具体的应用场景中,如图4所示,虚拟机中包括至少两种CPU,每种执行场景与唯一的一种CPU对应。
在具体的应用场景中,如图4所示,目标获取模块31,具体包括:
执行场景获取单元311,用于获取目标程序,并输出执行场景获取指令,其中,执行场景获取指令包括虚拟机中任一CPU对应的执行场景;
执行场景确定单元312,用于基于接收到的执行场景选择指令,确认目标程序的执行场景。
在具体的应用场景中,CPU选择模块32,具体用于基于目标程序的执行场景,在虚拟机的CPU中选择与执行场景对应的目标CPU。
在具体的应用场景中,CPU至少包括Bochs以及QEMU,其中,Bochs对应细力度执行场景,QEMU对应粗力度执行场景。
在具体的应用场景中,如图4所示,该装置还包括:
执行特征解析模块34,用于利用虚拟机的目标CPU执行目标程序之后,对目标程序的执行过程进行解析,得到目标程序的执行特征。
在具体的应用场景中,如图4所示,该装置还包括:
病毒分析模块35,用于将目标程序的执行特征与预设执行特征库中包含的恶意程序执行特征和/或安全程序执行特征进行比对,对目标程序进行病毒分析。
其中,病毒分析模块35,还用于实现以下2个实施方式中的步骤:
实现方式A:
步骤A1,获取预设执行特征名单,其中,预设执行特征名单包括预设执行特征黑名单;
步骤A2,查询目标程序的执行特征是否属于预设执行特征黑名单中包含的恶意执行特征;
步骤A3,若目标程序的执行特征属于恶意执行特征,则确定目标程序包含病毒。
步骤A4,若目标程序的执行特征不属于恶意执行特征,则查询目标程序的执行特征是否属于预设执行特征白名单中包含的安全执行特征;
步骤A5,若目标程序的执行特征属于安全执行特征,则确定目标程序不含病毒。
步骤A6,若目标程序的执行特征不属于安全执行特征,则将目标程序标记为可疑程序,并将可疑程序对应的执行特征上报至病毒管理系统,以利用病毒管理系统分析可疑程序是否包含病毒。
在实施方式A中,利用预设执行特征名单对目标程序是否带毒进行判定,预设执行特征名单包括黑名单和白名单,黑名单中预先存储了病毒程序对应的恶意执行特征,白名单中预先存储了安全程序对应的安全执行特征。从而根据目标程序的执行特征是否能够命中黑名单或白名单判定该目标程序是否为带毒程序,若命中黑名单,则为带毒程序,若命中白名单,则为安全程序,而若目标程序的执行特征即没有命中黑名单也没有命中白名单,则判断该程序为可疑程序,并将可疑程序上报至病毒管理系统进一步对该程序进行判定,病毒管理系统具体可以为专家系统。
实现方式B:
步骤B1,根据目标程序的执行特征以及预设执行特征报毒经验值,计算目标程序的报毒检测值,其中,目标程序的报毒检测值为目标程序的执行特征对应的预设执行特征报毒经验值之和;
步骤B2,按照目标程序的报毒检测值与预设病毒经验值的关系,确定目标程序是否包含病毒。
下面对上述实施例进行举例说明,假设目标程序的执行特征包括A、B、C、D,预设执行特征报毒经验值分别为0、1、2、3,那么该目标程序的报毒检测值为0+1+2+3=6,预设病毒经验值为[5,+∞),该目标程序的报毒检测值在病毒经验值区间内,可以判断该程序包含病毒。其中,预设病毒经验值是根据对大量病毒样本以及安全样本进行分析而得出的,预设病毒经验值作为一个分隔,将病毒样本的报毒经验值和安全样本的报毒经验值做出最大区分。
在此基础上,还可以进一步判定目标程序是否安全程序或可疑程序,具体来说,还可以限定安全程序的预设经验值和/或可疑程序的预设经验值,具体步骤B2可以为:按照目标程序的报毒检测值与预设病毒经验值、预设安全经验值以及预设可疑经验值的关系,对目标程序进行安全检测。
在步骤B2中,根据目标程序的报毒检测值所处的经验值区间,判定目标程序是病毒程序、安全程序还是可疑程序。
另外,如果为可疑程序还可以上报病毒管理系统,从而利用病毒管理系统来判断目标程序是否带毒,并根据病毒管理系统的判断结果,对各个预设经验值进行适应性的调整,以提高病毒检测的准确率和效率。
需要说明的是,本申请实施例提供的一种多CPU虚拟机的运行装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的多CPU虚拟机的运行方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图3、图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的多CPU虚拟机的运行方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现通过自虚拟机中内置多种CPU,为不同的目标程序提供适用于其对应执行场景的目标CPU,从而利用目标CPU执行目标程序。本申请通过在虚拟机中内置适用于不同场景的多种CPU,克服了现有技术中分别针对不同场景开发多种虚拟机导致工作量成倍增加的缺陷,同时,利用匹配于目标程序的执行场景的目标CPU执行目标程序,实现了执行效率和执行质量的双重保障。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种多CPU虚拟机的运行方法,其特征在于,包括:
获取目标程序以及所述目标程序的执行场景;
根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU;
利用所述虚拟机的所述目标CPU执行所述目标程序。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机中包括至少两种CPU,每种所述执行场景与唯一的一种CPU对应。
3.根据权利要求2所述的方法,其特征在于,所述获取目标程序以及所述目标程序的执行场景,具体包括:
获取所述目标程序,并输出执行场景获取指令,其中,所述执行场景获取指令包括所述虚拟机中任一CPU对应的执行场景;
基于接收到的执行场景选择指令,确认所述目标程序的执行场景。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU,具体包括:
基于所述目标程序的执行场景,在所述虚拟机的CPU中选择与所述执行场景对应的所述目标CPU。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述CPU至少包括Bochs以及QEMU,其中,Bochs对应细粒度执行场景,QEMU对应粗粒度执行场景。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述利用所述虚拟机的所述目标CPU执行所述目标程序之后,所述方法还包括:
对所述目标程序的执行过程进行解析,得到所述目标程序的执行特征。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述目标程序的执行特征与预设执行特征库中包含的恶意程序执行特征和/或安全程序执行特征进行比对,对所述目标程序进行病毒分析。
8.一种多CPU虚拟机的运行装置,其特征在于,包括:
目标获取模块,用于获取目标程序以及所述目标程序的执行场景;
CPU选择模块,用于根据所述目标程序的执行场景,在虚拟机中选择与所述执行场景对应的目标CPU;
程序执行模块,用于利用所述虚拟机的所述目标CPU执行所述目标程序。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述的多CPU虚拟机的运行方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的多CPU虚拟机的运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943739.9A CN112579249A (zh) | 2019-09-30 | 2019-09-30 | 多cpu虚拟机的运行方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943739.9A CN112579249A (zh) | 2019-09-30 | 2019-09-30 | 多cpu虚拟机的运行方法及装置、存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579249A true CN112579249A (zh) | 2021-03-30 |
Family
ID=75116565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943739.9A Pending CN112579249A (zh) | 2019-09-30 | 2019-09-30 | 多cpu虚拟机的运行方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579249A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946487A (en) * | 1996-06-10 | 1999-08-31 | Lsi Logic Corporation | Object-oriented multi-media architecture |
CN104461735A (zh) * | 2014-11-28 | 2015-03-25 | 杭州华为数字技术有限公司 | 一种虚拟化场景下分配cpu资源的方法和装置 |
CN106095592A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种前景应用程序场景同步方法及装置、系统 |
US20170337377A1 (en) * | 2016-05-20 | 2017-11-23 | AO Kaspersky Lab | System and method of distributing files between virtual machines forming a distributed system for performing antivirus scans |
CN108399332A (zh) * | 2017-02-08 | 2018-08-14 | 卡巴斯基实验室股份制公司 | 在虚拟机中针对恶意性对文件进行分析的系统和方法 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
CN109002325A (zh) * | 2017-06-06 | 2018-12-14 | 杭州海康威视数字技术股份有限公司 | 一种程序的睡眠时间控制方法及装置 |
CN109688036A (zh) * | 2019-02-20 | 2019-04-26 | 广州视源电子科技股份有限公司 | 一种智能家电的控制方法、装置、智能家电和存储介质 |
WO2019155966A1 (ja) * | 2018-02-08 | 2019-08-15 | 日立オートモティブシステムズ株式会社 | コンピュータプログラム製品、演算装置 |
-
2019
- 2019-09-30 CN CN201910943739.9A patent/CN112579249A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946487A (en) * | 1996-06-10 | 1999-08-31 | Lsi Logic Corporation | Object-oriented multi-media architecture |
CN104461735A (zh) * | 2014-11-28 | 2015-03-25 | 杭州华为数字技术有限公司 | 一种虚拟化场景下分配cpu资源的方法和装置 |
US20170337377A1 (en) * | 2016-05-20 | 2017-11-23 | AO Kaspersky Lab | System and method of distributing files between virtual machines forming a distributed system for performing antivirus scans |
CN106095592A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种前景应用程序场景同步方法及装置、系统 |
CN108399332A (zh) * | 2017-02-08 | 2018-08-14 | 卡巴斯基实验室股份制公司 | 在虚拟机中针对恶意性对文件进行分析的系统和方法 |
CN109002325A (zh) * | 2017-06-06 | 2018-12-14 | 杭州海康威视数字技术股份有限公司 | 一种程序的睡眠时间控制方法及装置 |
WO2019155966A1 (ja) * | 2018-02-08 | 2019-08-15 | 日立オートモティブシステムズ株式会社 | コンピュータプログラム製品、演算装置 |
CN108804211A (zh) * | 2018-04-27 | 2018-11-13 | 西安华为技术有限公司 | 线程调度方法、装置、电子设备及存储介质 |
CN109688036A (zh) * | 2019-02-20 | 2019-04-26 | 广州视源电子科技股份有限公司 | 一种智能家电的控制方法、装置、智能家电和存储介质 |
Non-Patent Citations (1)
Title |
---|
曲明成;崔乃刚;吴翔虎;陶永超;: "嵌入式软件虚拟化测试技术标准框架研究", 哈尔滨工业大学学报, no. 05 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150356291A1 (en) | System and methods for detecting harmful files of different formats in vitual environment | |
US10474826B2 (en) | Methods and apparatuses for improved app security testing | |
US11356467B2 (en) | Log analysis device, log analysis method, and log analysis program | |
RU2430411C1 (ru) | Система и способ обнаружения вредоносного программного обеспечения | |
CN109302423B (zh) | 一种漏洞扫描能力测试方法和装置 | |
CN104115117A (zh) | 用于安全性测试的单元测试的自动合成 | |
CN114598504B (zh) | 一种风险评估方法、装置、电子设备及可读存储介质 | |
CN112395597A (zh) | 网站应用漏洞攻击的检测方法及装置、存储介质 | |
CN112148607A (zh) | 一种业务场景的接口测试方法和装置 | |
CN115017505A (zh) | 一种pe病毒检测方法、装置、电子设备及存储介质 | |
CN112580041B (zh) | 恶意程序检测方法及装置、存储介质、计算机设备 | |
CN112579249A (zh) | 多cpu虚拟机的运行方法及装置、存储介质、计算机设备 | |
Tan et al. | Coldpress: An extensible malware analysis platform for threat intelligence | |
EP4160455A1 (en) | Behavior analysis based on finite-state machine for malware detection | |
CN112580024B (zh) | 虚拟机的模拟方法及装置、存储介质、计算机设备 | |
CN112580035B (zh) | 程序脱壳方法及装置、存储介质、计算机设备 | |
CN113646763B (zh) | shellcode的检测方法及装置 | |
CN110489201B (zh) | 容器性能测试装置及方法 | |
CN112580043B (zh) | 基于虚拟机的杀毒方法及装置、存储介质、计算机设备 | |
CN112580034B (zh) | 脱壳文件的验证方法及装置、存储介质、计算机设备 | |
CN112580042B (zh) | 恶意程序的对抗方法及装置、存储介质、计算机设备 | |
CN112580033B (zh) | 恶意程序的对抗方法及装置、存储介质、计算机设备 | |
JPWO2019049478A1 (ja) | コールスタック取得装置、コールスタック取得方法およびコールスタック取得プログラム | |
CN112395610B (zh) | 内核层shellcode的检测方法及装置 | |
KR102174393B1 (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 |