專利名稱:一種虛擬環(huán)境下加密卡共享的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及硬件共享,具體來講,涉及一種在虛擬機(jī)環(huán)境下對加密卡進(jìn)行共享的方法和裝置。
背景技術(shù):
近年來隨著云應(yīng)用模式的迅速發(fā)展,云安全成為廣大用戶最為關(guān)注的問題。目前, 加密卡普遍應(yīng)用于信息安全領(lǐng)域,用于認(rèn)證用戶身份和保障用戶數(shù)據(jù)安全,所以使用加密卡保證云環(huán)境的安全成為了首選。在云環(huán)境中普遍使用虛擬化技術(shù),而當(dāng)前的虛擬化技術(shù)導(dǎo)致虛擬機(jī)對加密卡是獨(dú)占性質(zhì)的,即如果虛擬機(jī)A使用了加密卡,其他虛擬機(jī)就無法使用該加密卡,直到A釋放加密卡資源。在Linux系統(tǒng)下,正常加密卡的驅(qū)動(dòng)程序會(huì)將加密卡映射為具有唯一資源標(biāo)識(shí)號(hào)的資源文件,所有應(yīng)用程序通過該資源標(biāo)識(shí)號(hào)使用該資源文件,并通過驅(qū)動(dòng)程序使用物理加密卡。虛擬化技術(shù)使用VMM (Virtual Machine Monitor,虛擬機(jī)監(jiān)視器)對硬件進(jìn)行調(diào)度,如圖1所以。當(dāng)前的虛擬化技術(shù)VMM分配方案是為一臺(tái)虛擬機(jī)分配了加密卡硬件資源后,其他虛擬機(jī)就無法申請?jiān)撚布Y源。這種對加密卡的使用模式極大的浪費(fèi)了加密卡資源,所以我們需要找到一種使得加密卡可以被多虛擬機(jī)共享使用方法,提高加密卡的使用效率。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提出了一種虛擬環(huán)境下加密卡的共享方法,即改變現(xiàn)有加密卡驅(qū)動(dòng)程序?qū)⒁粔K加密卡映射為一個(gè)資源文件的單一模式,而是將同一塊加密卡映射為多個(gè)不同的資源文件,這樣從VMM的角度來看就是有多個(gè)物理加密卡存在,VMM就可以將多個(gè)不同的加密卡資源分配給各虛擬機(jī)使用,但各虛擬機(jī)在物理層面上使用的仍是同一塊加密卡。一種虛擬環(huán)境下加密卡共享的方法,將一個(gè)硬件加密卡映射成獨(dú)立的加密卡資源文件;為每個(gè)資源文件建立處理隊(duì)列并調(diào)度處理請求。優(yōu)選的,所述處理隊(duì)列包括輸入隊(duì)列和輸出隊(duì)列;所述輸入隊(duì)列存放的是對加密卡的請求操作命令和數(shù)據(jù);所述輸出隊(duì)列存放的是加密卡響應(yīng)請求后返回的響應(yīng)結(jié)果。優(yōu)選的,所述加密卡資源文件的數(shù)量至少為一個(gè)。優(yōu)選的,所述調(diào)度處理請求采用先到先服務(wù)算法。優(yōu)選的,請求在被加密卡處理后,該請求會(huì)在輸入隊(duì)列中被刪除,請求完成后把處理結(jié)果返回到輸出隊(duì)列。一種虛擬環(huán)境下加密卡共享的裝置,包括,資源映射模塊,用于將一個(gè)硬件加密卡映射成獨(dú)立的加密卡資源文件;
隊(duì)列管理模塊,用于為每個(gè)資源文件建立處理隊(duì)列并調(diào)度處理請求。優(yōu)選的,所述處理隊(duì)列包括輸入隊(duì)列和輸出隊(duì)列;所述輸入隊(duì)列存放的是對加密卡的請求操作命令和數(shù)據(jù);所述輸出隊(duì)列存放的是加密卡響應(yīng)請求后返回的響應(yīng)結(jié)果。優(yōu)選的,所述加密卡資源文件的數(shù)量至少為一個(gè)。優(yōu)選的,所述調(diào)度處理請求采用先到先服務(wù)算法。優(yōu)選的,請求在被加密卡處理后,該請求會(huì)在輸入隊(duì)列中被刪除,請求完成后把處理結(jié)果返回到輸出隊(duì)列。本發(fā)明通過將同一塊加密卡映射為多個(gè)不同的資源文件,就可以將多個(gè)不同的加密卡資源分配給各虛擬機(jī)使用,但各虛擬機(jī)在物理層面上使用的仍是同一塊加密卡,極大的提高了加密卡的使用效率。
圖1是虛擬機(jī)獨(dú)占加密卡示意圖。圖2是多虛擬機(jī)共享加密卡示意圖。圖3是多虛擬機(jī)共享加密卡通信示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明進(jìn)行說明。為了實(shí)現(xiàn)虛擬環(huán)境下多虛擬機(jī)共享加密卡,需要在現(xiàn)有普通加密卡驅(qū)動(dòng)基礎(chǔ)上加入資源映射模塊和隊(duì)列處理模塊。資源映射模塊的主要作用就是將一個(gè)加密卡硬件映射成為多個(gè)獨(dú)立的加密卡資源文件,如圖3所示一塊物理加密卡被映射為三個(gè)獨(dú)立的資源文件,但各資源文件最終訪問的是一塊物理加密卡。所以需要在驅(qū)動(dòng)內(nèi)對不同資源文件的請求進(jìn)行管理。為了解決上面的問題引入了隊(duì)列管理模塊。隊(duì)列管理模塊的主要作用是為每個(gè)資源文件建立兩個(gè)處理隊(duì)列,一個(gè)是輸入隊(duì)列,如圖3所示的IPl、IP2和IP3 ;—個(gè)是輸出隊(duì)列,如圖3所示的OP1、0P2和0P3。輸入隊(duì)列存放的是對加密卡的請求操作命令和數(shù)據(jù),輸出隊(duì)列存放的是加密卡響應(yīng)請求后,返回的響應(yīng)結(jié)果。隊(duì)列管理模塊的另一個(gè)重要作用是分派請求。隊(duì)列管理模塊按照各隊(duì)列中請求的時(shí)間先后順序分派請求,即先到先服務(wù)原則。一旦一個(gè)請求被對列管理模塊選中,將要交給加密卡處理,該請求會(huì)被從輸入隊(duì)列中刪除;一旦一個(gè)請求被加密卡處理完成,隊(duì)列管理模塊會(huì)將加密卡返回的處理結(jié)果放入輸出隊(duì)列,同樣按照先到先服務(wù)原則,返回給對應(yīng)的資源文件,最終返回給對應(yīng)的虛擬機(jī)。
權(quán)利要求
1.一種虛擬環(huán)境下加密卡共享的方法,其特征在于 將一個(gè)硬件加密卡映射成獨(dú)立的加密卡資源文件; 為每個(gè)資源文件建立處理隊(duì)列并調(diào)度處理請求。
2.如權(quán)利要求1所述的方法,其特征在于所述處理隊(duì)列包括輸入隊(duì)列和輸出隊(duì)列; 所述輸入隊(duì)列存放的是對加密卡的請求操作命令和數(shù)據(jù);所述輸出隊(duì)列存放的是加密卡響應(yīng)請求后返回的響應(yīng)結(jié)果。
3.如權(quán)利要求1所述的方法,其特征在于所述加密卡資源文件的數(shù)量至少為一個(gè)。
4.如權(quán)利要求1所述的方法,其特征在于所述調(diào)度處理請求采用先到先服務(wù)算法。
5.如權(quán)利要求2所述的方法,其特征在于請求在被加密卡處理后,該請求會(huì)在輸入隊(duì)列中被刪除,請求完成后把處理結(jié)果返回到輸出隊(duì)列。
6.一種虛擬環(huán)境下加密卡共享的裝置,其特征在于包括,資源映射模塊,用于將一個(gè)硬件加密卡映射成獨(dú)立的加密卡資源文件; 隊(duì)列管理模塊,用于為每個(gè)資源文件建立處理隊(duì)列并調(diào)度處理請求。
7.如權(quán)利要求6所述的裝置,其特征在于所述處理隊(duì)列包括輸入隊(duì)列和輸出隊(duì)列; 所述輸入隊(duì)列存放的是對加密卡的請求操作命令和數(shù)據(jù);所述輸出隊(duì)列存放的是加密卡響應(yīng)請求后返回的響應(yīng)結(jié)果。
8.如權(quán)利要求6所述的裝置,其特征在于所述加密卡資源文件的數(shù)量至少為一個(gè)。
9.如權(quán)利要求6所述的裝置,其特征在于所述調(diào)度處理請求采用先到先服務(wù)算法。
10.如權(quán)利要求7所述的裝置,其特征在于請求在被加密卡處理后,該請求會(huì)在輸入隊(duì)列中被刪除,請求完成后把處理結(jié)果返回到輸出隊(duì)列。
全文摘要
本發(fā)明提供了一種虛擬環(huán)境下加密卡共享的方法,將一個(gè)硬件加密卡映射成獨(dú)立的加密卡資源文件;為每個(gè)資源文件建立處理隊(duì)列并調(diào)度處理請求。本發(fā)明通過將同一塊加密卡映射為多個(gè)不同的資源文件,就可以將多個(gè)不同的加密卡資源分配給各虛擬機(jī)使用,但各虛擬機(jī)在物理層面上使用的仍是同一塊加密卡,極大的提高了加密卡的使用效率。
文檔編號(hào)G06F21/22GK102270153SQ201110230959
公開日2011年12月7日 申請日期2011年8月12日 優(yōu)先權(quán)日2011年8月12日
發(fā)明者葉丞, 唐煥煥, 石旭 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司