一种虚拟机杀毒方法方法及装置与流程

文档序号:12467713阅读:215来源:国知局
一种虚拟机杀毒方法方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种虚拟机杀毒方法及装置。



背景技术:

近年来,虚拟化技术持续发展,得到广泛的应用。在传统的虚拟机杀毒工作模式中,每个用户的虚拟机都需要在操作系统中安装杀毒软件,并且使用类似非虚拟化的方式,即在虚拟机开机后通过系统中的杀毒软件对虚拟机进行病毒查杀。然而,采用这种方式,由于杀毒软件在虚拟机中部署和更新,从而会降低整体集群的运作效率。

综上,目前亟需一种有效的虚拟机杀毒方法,用以提升虚拟化系统的整体性能。



技术实现要素:

本发明实施例提供一种虚拟机杀毒方法及装置,用以提升虚拟化系统的整体性能。

本发明实施例提供的一种虚拟机杀毒方法,应用于虚拟机监控器,所述虚拟机监控器连接有杀毒虚拟机和N个用户虚拟机,所述杀毒虚拟机中部署有P个杀毒引擎,所述用户虚拟机中存储有数据块,所述方法包括:

所述虚拟机监控器确定所述N个用户虚拟机的任意M个用户虚拟机中存在待杀毒数据块后,获取所述待杀毒数据块;

所述虚拟机监控器通过内存映射的方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎;N、M、P、Q均为整数,且N≤M,Q≤P;

所述虚拟机监控器监控所述Q个杀毒引擎对所述待杀毒数据块进行杀毒。

本发明实施例提供一种虚拟机监控器,所述虚拟机监控器连接有杀毒虚拟机和N个用户虚拟机,所述杀毒虚拟机中部署有P个杀毒引擎,所述用户虚拟机中存储有数据块,所述虚拟机监控器包括:

处理模块,用于确定所述N个用户虚拟机的任意M个用户虚拟机中存在待杀毒数据块后,获取所述待杀毒数据块;

分配模块,用于通过内存映射的方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎;N、M、P、Q均为整数,且N≤M,Q≤P;

监控模块,用于监控所述Q个杀毒引擎对所述待杀毒数据块进行杀毒。

本发明实施例在杀毒虚拟机上部署专门的杀毒引擎,从而可仅对该杀毒虚拟机上的杀毒引擎进行更新维护,更适合虚拟化环境的杀毒模式,且通过引入虚拟化环境特有的内存映射,能够加快杀毒过程中各类文件传输的效率,进而显著提升虚拟化系统的整体性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为虚拟机监控器与杀毒虚拟机和用户虚拟机的连接示意图;

图2为本发明实施例提供的一种虚拟机杀毒方法对应的流程示意图;

图3为本发明实施例中为用户虚拟机分配杀毒引擎示意图;

图4为本发明实施例提供的一种虚拟机监控器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供的虚拟机杀毒方法可应用于虚拟机监控器。虚拟机监控器可连接有杀毒虚拟机和N个用户虚拟机,如图1所示,为虚拟机监控器与杀毒虚拟机和用户虚拟机的连接示意图。

杀毒虚拟机中可部署有至少一个杀毒引擎,本发明实施例中杀毒虚拟机中部署的杀毒引擎的数量可根据实际需要增减,具体不做限定。

用户使用的操作系统以虚拟机的形式存在,杀毒虚拟机杀毒的对象即为操作系统中的部分文件或是操作系统中的全部文件,操作系统中的文件对应用户虚拟机中存储的数据块。

上述杀毒虚拟机可以为部署有杀毒引擎的虚拟机,用户虚拟机可以为存储有数据块的虚拟机。

图2为本发明实施例提供的一种虚拟机杀毒方法对应的流程示意图。如图2所示,该方法包括:

步骤201,虚拟机监控器确定所述N个用户虚拟机的任意M个用户虚拟机中存在待杀毒数据块后,获取所述待杀毒数据块;

步骤202,虚拟机监控器通过内存映射的方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎;N、M、P、Q均为整数,且N≤M,Q≤P;

步骤203,虚拟机监控器监控所述Q个杀毒引擎对所述待杀毒数据块进行杀毒。

本发明实施例在杀毒虚拟机上部署专门的杀毒引擎,从而可仅对该杀毒虚拟机上的杀毒引擎进行更新维护,更适合虚拟化环境的杀毒模式,且通过引入虚拟化环境特有的内存映射,能够加快杀毒过程中各类文件传输的效率,进而显著提升虚拟化系统的整体性能。

具体来说,在步骤201中,所述虚拟机监控器通过如下方式确定所述任意M个用户虚拟机中存在待杀毒数据块:

所述虚拟机监控器接收所述任意M个用户虚拟机的上报信息;所述任意M个用户虚拟机中的任一用户虚拟机的上报信息中包括所述任一用户虚拟机中的待杀毒数据块的标识信息;所述虚拟机监控器根据所述上报信息,确定所述任意M个用户虚拟机中存在待杀毒数据块。

本发明实施例中,触发用户虚拟机向虚拟机监控器上报信息的方式有多种,例如,用户可以在使用用户虚拟机的过程中,选择操作系统中的部分文件,主动发起杀毒请求;管理员可以通过相应的管理平台,选择特定的用户虚拟机,对整个用户虚拟机进行杀毒,或者对用户虚拟机中部分选定的文件进行杀毒;或者,也可以是由系统后台自动发起的针对选定的用户虚拟机或用户虚拟机中的文件进行杀毒。被选定需要进行杀毒的文件对应用户虚拟机中的数据块,进而用户虚拟机可将待杀毒数据块的标识信息上报给虚拟机监控器。

需要说明的是,本发明实施例中也可以是由虚拟机监控器按照设定周期或实时扫描各个用户虚拟机,进而确定出待杀毒数据块;或者,由管理员通过管理平台设置自动杀毒的规则,虚拟机监控器按照设定周期性或根据特定条件对虚拟机进行杀毒。

步骤202中,虚拟机监控器通过授权映射建立用户虚拟机和杀毒引擎所在杀毒虚拟机间的共享内存,将待杀毒数据块映射到所述杀毒引擎所在的杀毒虚拟机中,并分配给Q个杀毒引擎。

具体来说,虚拟机监控器通过如下方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎:

所述虚拟机监控器确定所述待杀毒数据块的数量为K个,K为整数;所述虚拟机监控器针对K个待杀毒数据块中的任一待杀毒数据块,计算所述任一待杀毒数据块的哈希值,根据所述任一待杀毒数据块的哈希值和所述杀毒虚拟机中的杀毒引擎的数量,确定所述任一待杀毒数据块对应的目标杀毒引擎,并将所述任一待杀毒数据块分配给所述目标杀毒引擎。

例如,虚拟机监控器计算待杀毒数据块a的哈希值为hash(object),利用该值对当前杀毒引擎的数量P取模,根据结果sel=hash(object)%N,选择第sel个杀毒引擎作为待杀毒数据块a对应的目标杀毒引擎,并将待杀毒数据块a分配给第sel个杀毒引擎进行杀毒。

本发明实施例中,虚拟机监控器还可以连接有日志服务器,如图1中所示。相应地,步骤203中,虚拟机监控器监控所述Q个杀毒引擎对所述待杀毒数据块进行杀毒,包括:针对于所述Q个杀毒引擎中的任意杀毒引擎,若虚拟机监控器确定分配给所述任一杀毒引擎的待杀毒数据块为多个,则监控所述任一杀毒引擎按照预设顺序规则对所述多个待杀毒数据块进行杀毒。其中,预设顺序规则可以为先入先出规则。以及,虚拟机监控器确定所述Q个杀毒引擎对所述待杀毒数据块完成杀毒后,将所述Q个杀毒引擎生成的杀毒日志通过内存映射的方式传输至所述日志服务器。其中,日志服务器可以仅有一个,用于接收所有杀毒引擎的杀毒日志。

具体来说,Q个杀毒引擎分别对分配的待杀毒数据块进行杀毒,并根据杀毒结果在杀毒虚拟机中生成对应的杀毒日志,虚拟机监控器通过授权映射建立所述杀毒引擎所在的杀毒虚拟机和所述日志服务器的共享内存,将杀毒日志映射到所述日志服务器中,进行统一归档管理,并可向系统管理员提供日志查询服务。

需要说明的是,本发明实施例中,每个用户虚拟机都不与杀毒引擎进行绑定,也就是说,用户虚拟机在每次进行杀毒的过程中可能由不同的杀毒引擎来执行杀毒。如图3所示,虚拟机监控器中可存在一个分配模块,用于为用户虚拟机分配对应的杀毒引擎。

本发明主要通过在虚拟化环境中构建一个或多个部署在杀毒虚拟机中的杀毒引擎,以及一个存放杀毒日志的日志服务器。虚拟机监控器、杀毒引擎和日志服务器相互协同,完成对用户虚拟机的杀毒工作。

针对上述方法流程,本发明实施例还提供一种虚拟机监控器,该虚拟机监控器的具体内容可以参照上述方法实施。

图4为本发明实施例提供的一种虚拟机监控器的结构示意图。所述虚拟机监控器连接有杀毒虚拟机和N个用户虚拟机,所述杀毒虚拟机中部署有P个杀毒引擎,所述用户虚拟机中存储有数据块,如图4所示,所述虚拟机监控器包括:

处理模块401,用于确定所述N个用户虚拟机的任意M个用户虚拟机中存在待杀毒数据块后,获取所述待杀毒数据块;

分配模块402,用于通过内存映射的方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎;N、M、P、Q均为整数,且N≤M,Q≤P;

监控模块403,用于监控所述Q个杀毒引擎对所述待杀毒数据块进行杀毒。

可选地,所述虚拟机监控器还连接有日志服务器;

所述监控模块403具体用于:

确定所述Q个杀毒引擎对所述待杀毒数据块完成杀毒后,将所述Q个杀毒引擎生成的杀毒日志通过内存映射的方式传输至所述日志服务器。

可选地,所述处理模块401具体用于,通过如下方式确定所述任意M个用户虚拟机中存在待杀毒数据块:

接收所述任意M个用户虚拟机的上报信息;所述任意M个用户虚拟机中的任一用户虚拟机的上报信息中包括所述任一用户虚拟机中的待杀毒数据块的标识信息;

根据所述上报信息,确定所述任意M个用户虚拟机中存在待杀毒数据块。

可选地,所述分配模块402具体用于,通过如下方式将所述待杀毒数据块分配给所述杀毒虚拟机中的Q个杀毒引擎:

确定所述待杀毒数据块的数量为K个,K为整数;

针对K个待杀毒数据块中的任一待杀毒数据块,计算所述任一待杀毒数据块的哈希值,根据所述任一待杀毒数据块的哈希值和所述杀毒虚拟机中的杀毒引擎的数量,确定所述任一待杀毒数据块对应的目标杀毒引擎,并将所述任一待杀毒数据块分配给所述目标杀毒引擎。

可选地,所述监控模块403具体用于:

针对于所述Q个杀毒引擎中的任一杀毒引擎,若确定分配给所述任一杀毒引擎的待杀毒数据块为多个,则监控所述任一杀毒引擎按照预设顺序规则对所述多个待杀毒数据块进行杀毒。

从上述内容可以看出:本发明实施例中的杀毒方法可应用于虚拟机监控器,虚拟机监控器连接有杀毒虚拟机和N个用户虚拟机,杀毒虚拟机中部署有P个杀毒引擎,用户虚拟机中存储有数据块,该方法包括:虚拟机监控器确定N个用户虚拟机的任意M个用户虚拟机中存在待杀毒数据块后,获取待杀毒数据块,并通过内存映射的方式将待杀毒数据块分配给杀毒虚拟机中的Q个杀毒引擎,进而监控Q个杀毒引擎对待杀毒数据块进行杀毒。本发明实施例在杀毒虚拟机上部署专门的杀毒引擎,从而可仅对该杀毒虚拟机上的杀毒引擎进行更新维护,更适合虚拟化环境的杀毒模式,且通过引入虚拟化环境特有的内存映射,能够加快杀毒过程中各类文件传输的效率,进而显著提升虚拟化系统的整体性能。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1