一种虚拟环境下加密卡共享的方法和装置的制作方法

文档序号:6430709阅读:240来源:国知局
专利名称:一种虚拟环境下加密卡共享的方法和装置的制作方法
技术领域
本发明涉及硬件共享,具体来讲,涉及一种在虚拟机环境下对加密卡进行共享的方法和装置。
背景技术
近年来随着云应用模式的迅速发展,云安全成为广大用户最为关注的问题。目前, 加密卡普遍应用于信息安全领域,用于认证用户身份和保障用户数据安全,所以使用加密卡保证云环境的安全成为了首选。在云环境中普遍使用虚拟化技术,而当前的虚拟化技术导致虚拟机对加密卡是独占性质的,即如果虚拟机A使用了加密卡,其他虚拟机就无法使用该加密卡,直到A释放加密卡资源。在Linux系统下,正常加密卡的驱动程序会将加密卡映射为具有唯一资源标识号的资源文件,所有应用程序通过该资源标识号使用该资源文件,并通过驱动程序使用物理加密卡。虚拟化技术使用VMM (Virtual Machine Monitor,虚拟机监视器)对硬件进行调度,如图1所以。当前的虚拟化技术VMM分配方案是为一台虚拟机分配了加密卡硬件资源后,其他虚拟机就无法申请该硬件资源。这种对加密卡的使用模式极大的浪费了加密卡资源,所以我们需要找到一种使得加密卡可以被多虚拟机共享使用方法,提高加密卡的使用效率。

发明内容
为了解决上述问题,本发明提出了一种虚拟环境下加密卡的共享方法,即改变现有加密卡驱动程序将一块加密卡映射为一个资源文件的单一模式,而是将同一块加密卡映射为多个不同的资源文件,这样从VMM的角度来看就是有多个物理加密卡存在,VMM就可以将多个不同的加密卡资源分配给各虚拟机使用,但各虚拟机在物理层面上使用的仍是同一块加密卡。一种虚拟环境下加密卡共享的方法,将一个硬件加密卡映射成独立的加密卡资源文件;为每个资源文件建立处理队列并调度处理请求。优选的,所述处理队列包括输入队列和输出队列;所述输入队列存放的是对加密卡的请求操作命令和数据;所述输出队列存放的是加密卡响应请求后返回的响应结果。优选的,所述加密卡资源文件的数量至少为一个。优选的,所述调度处理请求采用先到先服务算法。优选的,请求在被加密卡处理后,该请求会在输入队列中被删除,请求完成后把处理结果返回到输出队列。一种虚拟环境下加密卡共享的装置,包括,资源映射模块,用于将一个硬件加密卡映射成独立的加密卡资源文件;
队列管理模块,用于为每个资源文件建立处理队列并调度处理请求。优选的,所述处理队列包括输入队列和输出队列;所述输入队列存放的是对加密卡的请求操作命令和数据;所述输出队列存放的是加密卡响应请求后返回的响应结果。优选的,所述加密卡资源文件的数量至少为一个。优选的,所述调度处理请求采用先到先服务算法。优选的,请求在被加密卡处理后,该请求会在输入队列中被删除,请求完成后把处理结果返回到输出队列。本发明通过将同一块加密卡映射为多个不同的资源文件,就可以将多个不同的加密卡资源分配给各虚拟机使用,但各虚拟机在物理层面上使用的仍是同一块加密卡,极大的提高了加密卡的使用效率。


图1是虚拟机独占加密卡示意图。图2是多虚拟机共享加密卡示意图。图3是多虚拟机共享加密卡通信示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明进行说明。为了实现虚拟环境下多虚拟机共享加密卡,需要在现有普通加密卡驱动基础上加入资源映射模块和队列处理模块。资源映射模块的主要作用就是将一个加密卡硬件映射成为多个独立的加密卡资源文件,如图3所示一块物理加密卡被映射为三个独立的资源文件,但各资源文件最终访问的是一块物理加密卡。所以需要在驱动内对不同资源文件的请求进行管理。为了解决上面的问题引入了队列管理模块。队列管理模块的主要作用是为每个资源文件建立两个处理队列,一个是输入队列,如图3所示的IPl、IP2和IP3 ;—个是输出队列,如图3所示的OP1、0P2和0P3。输入队列存放的是对加密卡的请求操作命令和数据,输出队列存放的是加密卡响应请求后,返回的响应结果。队列管理模块的另一个重要作用是分派请求。队列管理模块按照各队列中请求的时间先后顺序分派请求,即先到先服务原则。一旦一个请求被对列管理模块选中,将要交给加密卡处理,该请求会被从输入队列中删除;一旦一个请求被加密卡处理完成,队列管理模块会将加密卡返回的处理结果放入输出队列,同样按照先到先服务原则,返回给对应的资源文件,最终返回给对应的虚拟机。
权利要求
1.一种虚拟环境下加密卡共享的方法,其特征在于 将一个硬件加密卡映射成独立的加密卡资源文件; 为每个资源文件建立处理队列并调度处理请求。
2.如权利要求1所述的方法,其特征在于所述处理队列包括输入队列和输出队列; 所述输入队列存放的是对加密卡的请求操作命令和数据;所述输出队列存放的是加密卡响应请求后返回的响应结果。
3.如权利要求1所述的方法,其特征在于所述加密卡资源文件的数量至少为一个。
4.如权利要求1所述的方法,其特征在于所述调度处理请求采用先到先服务算法。
5.如权利要求2所述的方法,其特征在于请求在被加密卡处理后,该请求会在输入队列中被删除,请求完成后把处理结果返回到输出队列。
6.一种虚拟环境下加密卡共享的装置,其特征在于包括,资源映射模块,用于将一个硬件加密卡映射成独立的加密卡资源文件; 队列管理模块,用于为每个资源文件建立处理队列并调度处理请求。
7.如权利要求6所述的装置,其特征在于所述处理队列包括输入队列和输出队列; 所述输入队列存放的是对加密卡的请求操作命令和数据;所述输出队列存放的是加密卡响应请求后返回的响应结果。
8.如权利要求6所述的装置,其特征在于所述加密卡资源文件的数量至少为一个。
9.如权利要求6所述的装置,其特征在于所述调度处理请求采用先到先服务算法。
10.如权利要求7所述的装置,其特征在于请求在被加密卡处理后,该请求会在输入队列中被删除,请求完成后把处理结果返回到输出队列。
全文摘要
本发明提供了一种虚拟环境下加密卡共享的方法,将一个硬件加密卡映射成独立的加密卡资源文件;为每个资源文件建立处理队列并调度处理请求。本发明通过将同一块加密卡映射为多个不同的资源文件,就可以将多个不同的加密卡资源分配给各虚拟机使用,但各虚拟机在物理层面上使用的仍是同一块加密卡,极大的提高了加密卡的使用效率。
文档编号G06F21/22GK102270153SQ201110230959
公开日2011年12月7日 申请日期2011年8月12日 优先权日2011年8月12日
发明者叶丞, 唐焕焕, 石旭 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1