国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      虛擬機(jī)內(nèi)存共享方法及裝置的制作方法

      文檔序號(hào):6382007閱讀:398來源:國知局
      專利名稱:虛擬機(jī)內(nèi)存共享方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及一種虛擬機(jī)內(nèi)存共享方法及裝置。
      背景技術(shù)
      隨著虛擬機(jī)技術(shù)的不斷發(fā)展,為了解決虛擬機(jī)內(nèi)存空間的限制,內(nèi)存共享技術(shù)被提出并作為一種解決內(nèi)存可用率的方法,可以有效消除冗余的內(nèi)存頁面。如果在物理機(jī)上運(yùn)行裝有相同操作系統(tǒng)和應(yīng)用程序的虛擬機(jī),就會(huì)存在許多具有相同內(nèi)容的內(nèi)存頁面,冗余的內(nèi)容相同的頁面可以被刪除,從而釋放內(nèi)存以供其他應(yīng)用程序繼續(xù)使用。現(xiàn)有的內(nèi)存共享技術(shù)中,可以將同一臺(tái)物理機(jī)上的各個(gè)虛擬機(jī)之間所共有的重復(fù)代碼或重復(fù)頁面映射到同一個(gè)物理頁面上來減少內(nèi)存上的冗余數(shù)據(jù)。然而一臺(tái)物理機(jī)上的不同虛擬機(jī)可能屬于不同用戶,從而可能在掃描不同虛擬機(jī)上重復(fù)代碼或重復(fù)頁面的過程中導(dǎo)致用戶的敏感信息被其他虛擬機(jī)共享。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種虛擬機(jī)內(nèi)存共享方法及裝置,用于在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。一方面,本發(fā)明提供了一種虛擬機(jī)內(nèi)存共享方法,包括根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)所述用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程;通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面;對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。另一方面,本發(fā)明另一方面提供了一種虛擬機(jī)內(nèi)存共享裝置,包括分組模塊,用于根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)所述用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程;掃描模塊,用于通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面;處理模塊,用于對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。本發(fā)明通過上述虛擬機(jī)內(nèi)存共享方法及裝置,根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面,從而對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。實(shí)現(xiàn)了在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。


      圖1為虛擬機(jī)內(nèi)存共享原理示意圖;圖2為本發(fā)明虛擬機(jī)內(nèi)存共享方法一實(shí)施例的流程圖3為本發(fā)明控制組機(jī)制示意圖;圖4為標(biāo)準(zhǔn)KSM算法流程圖;圖5為本發(fā)明虛擬機(jī)內(nèi)存共享方法另一實(shí)施例的流程圖;圖6為本發(fā)明改進(jìn)KSM算法流程圖;圖7為本發(fā)明基于控制組機(jī)制的內(nèi)存共享結(jié)構(gòu)圖;圖8為本發(fā)明虛擬機(jī)內(nèi)存共享裝置結(jié)構(gòu)圖。
      具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為虛擬機(jī)內(nèi)存共享原理示意圖,如圖1所示,在虛擬機(jī)平臺(tái)中,擁有相同內(nèi)存頁面的虛擬機(jī)之間可以進(jìn)行頁面共享。因此,每個(gè)虛擬機(jī)可以包括私享頁面和共享頁面。圖2為本發(fā)明提供的虛擬機(jī)內(nèi)存共享方法一個(gè)實(shí)施例的流程圖,如圖2所示,該方法可以包括201、根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程。本發(fā)明中,可以對物理機(jī)上的各虛擬機(jī)進(jìn)行分組,具體的,可以將每個(gè)用戶的虛擬機(jī)分在一個(gè)用戶組內(nèi)。即,不同用戶的虛擬機(jī)可以對應(yīng)不同的用戶組?;蛘?,還可以將可以共享敏感信息的2個(gè)或2個(gè)以上用戶的虛擬機(jī)分在同一個(gè)用戶組內(nèi)。舉例來說,本發(fā)明實(shí)施例中可以通過控制組的方法來實(shí)現(xiàn)虛擬機(jī)的分組。控制組(cgroup)是Linux內(nèi)核提供的一種基于進(jìn)程劃分的集合機(jī)制,能夠?qū)⑾到y(tǒng)中的進(jìn)程,以及他們相應(yīng)的子進(jìn)程集合起來進(jìn)行管理,將這些進(jìn)程和子進(jìn)程進(jìn)行聚合或劃分成有層次的樹狀結(jié)構(gòu),就像Linux的文件系統(tǒng)結(jié)構(gòu)一樣。樹狀結(jié)構(gòu)中的各個(gè)節(jié)點(diǎn)對應(yīng)的是系統(tǒng)中的進(jìn)程或子進(jìn)程。圖3為本發(fā)明實(shí)施例提供的基于控制組進(jìn)行虛擬機(jī)分組的原理示意圖,如圖3所示,一個(gè)用戶組可以有一個(gè)專有的刪除冗余數(shù)據(jù)進(jìn)程負(fù)責(zé)對該組內(nèi)的重復(fù)頁面進(jìn)行掃描和合并,即該用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,每個(gè)用戶組中可以包含至少一臺(tái)虛擬機(jī),不同的用戶組對應(yīng)不同的進(jìn)程,每個(gè)進(jìn)程只能對其所對應(yīng)的用戶組內(nèi)的虛擬機(jī)進(jìn)行操作,例如,合并、刪除冗余內(nèi)存頁面。我們在cgroup中增加了 KSM cgroup子系統(tǒng),這樣用戶或者管理員可以很方便的來定義一個(gè)用戶組。對物理機(jī)上的虛擬機(jī)按用戶進(jìn)行用戶組劃分后,每個(gè)用戶組內(nèi)的各虛擬機(jī)可以共享該用戶組對應(yīng)的進(jìn)程,即,可以由該用戶組對應(yīng)的共享進(jìn)程進(jìn)行操作和管理。不同的用戶組對應(yīng)不同的進(jìn)程。202、通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。本發(fā)明實(shí)施例中,可以采用現(xiàn)有的各種掃描方法對虛擬機(jī)所占用的內(nèi)存頁面進(jìn)行掃描。舉例來說,可以通過內(nèi)核頁合并(KSM,Kernel SamepageMerging)機(jī)制實(shí)現(xiàn)對虛擬機(jī)所占用的內(nèi)存頁面進(jìn)行掃描,KSM機(jī)制是針對虛擬機(jī)平臺(tái)(hypervisor)設(shè)計(jì)的,該機(jī)制被內(nèi)置于Linux內(nèi)核中。在Linux內(nèi)核中,KSM作為內(nèi)核中的守護(hù)進(jìn)程(稱為ksmd)存在,它可以定期執(zhí)行對不同進(jìn)程的內(nèi)存頁面掃描,識(shí)別副本頁面,即冗余內(nèi)存頁面。在本發(fā)明實(shí)施例中,我們修改了這個(gè)全局的刪除冗余數(shù)據(jù)算法,把全局的ksmd分解為每組的ksmds。每組的ksmd運(yùn)行時(shí)都有自己的數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)與其他的ksmds是完全隔離的。在KSM中,頁面通過兩個(gè)“紅-黑”樹管理,其中一個(gè)“紅-黑”樹是穩(wěn)定的,稱為穩(wěn)定樹,另一個(gè)“紅-黑”樹是臨時(shí)的,稱為不穩(wěn)定樹。不穩(wěn)定樹用于存儲(chǔ)作為掃描出的含有重復(fù)數(shù)據(jù)的內(nèi)存頁面,即待合并的候選頁面(在一段時(shí)間內(nèi)沒有變化)。另外,不穩(wěn)定樹中的頁面是不能寫保護(hù)的。穩(wěn)定樹用于存儲(chǔ)那些不存在重復(fù)的內(nèi)存頁面或已經(jīng)過合并的內(nèi)存頁面。為確定一個(gè)頁面是否是穩(wěn)定頁面,KSM可以使用簡單的32位校驗(yàn)和(checksum)。當(dāng)一個(gè)頁面被掃描時(shí),它的校驗(yàn)和被計(jì)算且與該頁面存儲(chǔ)在一起。在下一次掃描中,如果新計(jì)算的該頁面的校驗(yàn)和不等于此前計(jì)算的校驗(yàn)和,則該頁面正在進(jìn)行更改,因此該頁面不是一個(gè)合格的待合并候選頁面。203、對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。在使用KSM機(jī)制掃描一個(gè)內(nèi)存頁面時(shí),首先需要檢查是否能夠在穩(wěn)定樹中發(fā)現(xiàn)該頁面。如果在穩(wěn)定樹中發(fā)現(xiàn)該頁面,則合并該頁面,用于存儲(chǔ)該頁面的空間被釋放。如果沒有發(fā)現(xiàn)候選頁面,則轉(zhuǎn)到不穩(wěn)定樹。在不穩(wěn)定樹中搜索時(shí),可以重新計(jì)算頁面上的校驗(yàn)和。如果該重新計(jì)算出的校驗(yàn)和與原始校驗(yàn)和不同,則可以在本次掃描后拋棄這個(gè)頁面,因?yàn)樗M(jìn)行了更改,不屬于待合并的候選頁面范圍。如果計(jì)算出的校驗(yàn)和與原始校驗(yàn)和相同,那么可以進(jìn)一步搜索該頁面是否存在于不穩(wěn)定樹中,若存在,則合并該頁面并且將該頁面遷移至穩(wěn)定樹中,若不存在,則將該頁面添加至不穩(wěn)定樹中。具體的KSM算法流程如圖4所示。本實(shí)施例提供的虛擬機(jī)內(nèi)存共享方法,根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面,從而對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。實(shí)現(xiàn)了在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。圖5為本發(fā)明提供的虛擬機(jī)內(nèi)存共享方法另一實(shí)施例的流程圖,如圖5所示,該方法可以包括501、根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程。502、為每個(gè)用戶組對應(yīng)的一個(gè)進(jìn)程分配至少一個(gè)分系統(tǒng)??蓪ο鄬?yīng)用戶組進(jìn)行操作的進(jìn)程,通過設(shè)置參數(shù)與分系統(tǒng)連接起來,由分系統(tǒng)為該用戶組分配資源,如分系統(tǒng)調(diào)度分配給進(jìn)程組的各種系統(tǒng)資源,或設(shè)置進(jìn)程組所能消耗的資源閥值等。優(yōu)選的分系統(tǒng)可為資源控制系統(tǒng)。503、通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用內(nèi)存頁面存儲(chǔ)的數(shù)據(jù)。504、采用抽樣哈希算法計(jì)算虛擬機(jī)所占用的各內(nèi)存頁面部分內(nèi)容的哈希值,將哈希值相同的內(nèi)存頁面再進(jìn)行全頁面內(nèi)容比較,若全頁面內(nèi)容相同則確定為存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。圖6為本發(fā)明的改進(jìn)KSM算法流程圖,如圖6所示,本實(shí)施例提供了一種改進(jìn)的KSM機(jī)制,具體為
      KSM機(jī)制中搜索樹的過程是通過比較頁面的內(nèi)容而實(shí)現(xiàn)的,在比較中,整個(gè)頁面的內(nèi)容被用來作為插入或是查找的索引。這種機(jī)制中采用了 memcmp ()函數(shù),眾所周知該函數(shù)的操作非常耗時(shí)。另一方面,我們知道,大部分情況下,內(nèi)存頁面的內(nèi)容是不相同的。所以,本實(shí)施例中在標(biāo)準(zhǔn)KSM中加入哈希(Hash)算法。Hash算法通過將單向數(shù)學(xué)函數(shù)應(yīng)用到任意數(shù)量的數(shù)據(jù)所得到的固定大小的結(jié)果。如果輸入數(shù)據(jù)中有變化,則哈希值也會(huì)發(fā)生變化,即哈希函數(shù)對數(shù)據(jù)的相同程度具有很高的敏感性。為加快頁面比較速率,本實(shí)施例中可以采用抽樣Hash散列的方法,我們只對頁面的部分內(nèi)容進(jìn)行Hash散列,如果兩個(gè)頁面的Hash值不同,那么它們不是內(nèi)容相同的頁面。如果發(fā)現(xiàn)兩個(gè)頁面的Hash值相同,則兩個(gè)頁面可能為內(nèi)容相同的頁面,之后再用memcmp()函數(shù)比較頁面的所有內(nèi)容。采用這種方法可以提高單個(gè)頁面的比較速率,從而使整體掃描速率大大提升。另外,本實(shí)施例中改進(jìn)的KSM機(jī)制還包括對標(biāo)準(zhǔn)KSM中用于全系統(tǒng)內(nèi)存共享的守護(hù)進(jìn)程(ksmd)進(jìn)行修改。標(biāo)準(zhǔn)KSM機(jī)制中,當(dāng)虛擬機(jī)管理程序VMM創(chuàng)建一臺(tái)虛擬機(jī)時(shí),它便向KSM注冊了虛擬機(jī)的整個(gè)內(nèi)存空間。當(dāng)KSM啟動(dòng)時(shí),基于全局的內(nèi)存共享進(jìn)程ksmd會(huì)對所有虛擬機(jī)的內(nèi)存區(qū)域進(jìn)行掃描,并合并冗余內(nèi)存頁面。為了進(jìn)一步保證基于用戶組的內(nèi)存共享方式,本實(shí)施例中對于這種基于全局的去冗余算法進(jìn)行修改,將基于全局的ksmd進(jìn)程分解成基于各用戶組的ksmds。每組的ksmd只能在其所對應(yīng)用戶組內(nèi)的虛擬機(jī)內(nèi)運(yùn)行,它的數(shù)據(jù)結(jié)構(gòu)與其他的ksmds進(jìn)程是完全隔離的。505、確定每個(gè)用戶組中刪除的冗余數(shù)據(jù)量。在本實(shí)施例基于用戶組的虛擬機(jī)內(nèi)存共享方法,通過確定各用戶組中在冗余內(nèi)存頁面合并和刪除,可以將參與共享的資源的情況根據(jù)所在的用戶組計(jì)算出來,并通過用戶組路徑下的邏輯文件顯示出來,實(shí)現(xiàn)了對共享資源的合理控制。

      506、根據(jù)所確定的每個(gè)用戶組中刪除的冗余數(shù)據(jù)量,確定每個(gè)用戶組的內(nèi)存頁面掃描速率。如果不同用戶組掃描速率相同會(huì)出現(xiàn)以下問題一方面,如果使用大量的資源進(jìn)行高頻率高速率的掃描以實(shí)現(xiàn)預(yù)期的高性能,這會(huì)導(dǎo)致合并相同頁面所釋放的內(nèi)存資源甚至小于進(jìn)行掃描所耗費(fèi)的資源;另一方面,如果掃描速率過慢,又會(huì)影響整體內(nèi)存共享的效率,可能由于未能及時(shí)識(shí)別而錯(cuò)過了稍縱即逝的共享機(jī)會(huì)。所以,我們根據(jù)每個(gè)用戶組刪除的冗余數(shù)據(jù)量,為不同的用戶組設(shè)置不同的掃描速率,掃描速率同樣可以通過用戶組路徑下的邏輯文件來設(shè)置。舉例來說,本實(shí)施例中可以將掃描進(jìn)程的速率設(shè)置為3個(gè)等級(jí),即高速、中速、低速。由于KSM是以進(jìn)程vm_area (VMA)區(qū)域?yàn)閱挝贿M(jìn)行掃描的,每個(gè)VMA內(nèi)冗余的內(nèi)存頁面有多有少。所以,每次掃描完成后可以對頁面隨機(jī)抽樣并進(jìn)行整理,動(dòng)態(tài)的探測出包含大量冗余頁面的富冗余區(qū)(richareas)以及包含少量甚至不具有冗余頁面的乏冗余區(qū)(poorareas),其余的區(qū)域作為正常區(qū)域(normal areas)。對rich areas可以設(shè)置較高的掃描速率,以保證高效率的內(nèi)存回收J(rèn)^poor areas可以設(shè)置較低的掃描速率,可確保消耗較少的CPU資源;對normal areas可以設(shè)置中等的掃描速率,可保證內(nèi)存回收效率與資源耗費(fèi)的相對平衡。如圖7所示,為用戶組A設(shè)置掃描速率SI,為用戶組B設(shè)置掃描速率S2,這樣設(shè)置是由于用戶組A可能存在共享頁面以及可回收的空間小于用戶組B,所以掃描速率S1〈S2。在每一輪掃描結(jié)束后,可以動(dòng)態(tài)更新每個(gè)VMA內(nèi)的內(nèi)存頁面重復(fù)率信息,在下一次掃描中對可能出現(xiàn)的新的rich areas和/或poor areas可以重新設(shè)置掃描速率。另外,根據(jù)這些冗余內(nèi)存頁面的統(tǒng)計(jì)信息,可以將顛簸區(qū)域,即經(jīng)常發(fā)生Copy-On-Write頁面被打破的VMA區(qū)域過濾掉。507、對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。508、將刪除冗余數(shù)據(jù)處理所釋放的內(nèi)存頁面重新分配給對應(yīng)的用戶組內(nèi)的虛擬機(jī)。在一次掃描結(jié)束后,將每個(gè)用戶組內(nèi)回收到的內(nèi)存資源在該組內(nèi)重新分配。這樣,既可以保證每個(gè)用戶組內(nèi)虛擬機(jī)內(nèi)存的超量使用,又可保證具有足夠的資源進(jìn)行掃描,可以有效的提聞掃描效率。本實(shí)施例提供的虛擬機(jī)內(nèi)存共享方法,根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面,從而對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。實(shí)現(xiàn)了在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。進(jìn)一步的,本實(shí)施例還可以實(shí)現(xiàn)參與共享的資源及其使用情況可以根據(jù)其所在的用戶組被合理的計(jì)算出來,并便于控制和管理。另外,每個(gè)共享線程可以根據(jù)它所在用戶組的不同需求和特性進(jìn)行設(shè)置,例如,設(shè)置不同的掃描速率。圖8為本發(fā)明提供的虛擬機(jī)內(nèi)存共享裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖8所示,虛擬機(jī)內(nèi)存共享裝置包括分組模塊81、掃描模塊82和處理模塊83,其中分組模塊81,用于根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程。掃描模塊82,用于通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。處理模塊83,用于對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理??蛇x的,分組模塊81還可以用于為每個(gè)用戶組對應(yīng)的一個(gè)進(jìn)程分配至少一個(gè)分系統(tǒng)??蛇x的,掃描模塊82還可以用于通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用內(nèi)存頁面存儲(chǔ)的數(shù)據(jù);采用抽樣哈希算法計(jì)算虛擬機(jī)所占用的各內(nèi)存頁面抽樣部分的哈希值,將哈希值相同的內(nèi)存頁面再進(jìn)行全頁面內(nèi)容比較,若全頁面內(nèi)容相同則確定為存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。可選的,掃描模塊82還可以用于確定每個(gè)用戶組中刪除的冗余數(shù)據(jù)量;根據(jù)所確定的每個(gè)用戶組中刪除的冗余數(shù)據(jù)量,確定每個(gè)用戶組的內(nèi)存頁面掃描速率??蛇x的,處理模塊83還可以用于將刪除冗余數(shù)據(jù)處理所釋放的內(nèi)存頁面重新分配給對應(yīng)的用戶組內(nèi)的虛擬機(jī)。本實(shí)施例中虛擬機(jī)內(nèi)存共享裝置是與虛擬機(jī)內(nèi)存共享方法的執(zhí)行設(shè)備,其執(zhí)行虛擬機(jī)內(nèi)存共享方法的具體過程可參見本發(fā)明圖2-圖7所示方法實(shí)施例中的相關(guān)描述,此處不再贅述。本實(shí)施例提供的虛擬機(jī)內(nèi)存共享裝置,根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面,從而對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。實(shí)現(xiàn)了在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
      權(quán)利要求
      1.一種虛擬機(jī)內(nèi)存共享方法,其特征在于,包括 根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)所述用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程; 通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面; 對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理之后,還包括 將刪除冗余數(shù)據(jù)處理所釋放的內(nèi)存頁面重新分配給對應(yīng)的用戶組內(nèi)的虛擬機(jī)。
      3.根據(jù)權(quán)利要求1或2所述的虛擬機(jī)內(nèi)存共享方法,其特征在于,所述根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組之后,還包括 為每個(gè)所述用戶組對應(yīng)的一個(gè)進(jìn)程分配至少一個(gè)分系統(tǒng)。
      4.根據(jù)權(quán)利要求1或2所述的虛擬機(jī)內(nèi)存共享方法,其特征在于,所述通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面,包括 通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用內(nèi)存頁面存儲(chǔ)的數(shù)據(jù); 采用抽樣哈希算法計(jì)算虛擬機(jī)所占用的各內(nèi)存頁面部分內(nèi)容的哈希值,對哈希值相同的內(nèi)存頁面再進(jìn)行全頁面內(nèi)容比較,若全頁面內(nèi)容相同則確定為存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。
      5.根據(jù)權(quán)利要求1或2所述的虛擬機(jī)內(nèi)存共享方法,其特征在于,所述通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面之后,包括 確定每個(gè)所述用戶組中刪除的冗余數(shù)據(jù)量; 根據(jù)所確定的每個(gè)所述用戶組中刪除的冗余數(shù)據(jù)量,確定每個(gè)所述用戶組的內(nèi)存頁面掃描速率。
      6.一種虛擬機(jī)內(nèi)存共享裝置,其特征在于,包括 分組模塊,用于根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)所述用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程; 掃描模塊,用于通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面; 處理模塊,用于對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理。
      7.根據(jù)權(quán)利要求6所述的虛擬機(jī)內(nèi)存共享裝置,其特征在于,所述處理模塊還用于 將刪除冗余數(shù)據(jù)處理所釋放的內(nèi)存頁面重新分配給對應(yīng)的用戶組內(nèi)的虛擬機(jī)。
      8.根據(jù)權(quán)利要求6或7所述的虛擬機(jī)內(nèi)存共享裝置,其特征在于,所述分組模塊還用于 為每個(gè)所述用戶組對應(yīng)的一個(gè)進(jìn)程分配至少一個(gè)分系統(tǒng)。
      9.根據(jù)權(quán)利要求6或7所述的虛擬機(jī)內(nèi)存共享裝置,其特征在于,所述掃描模塊還用于 通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用內(nèi)存頁面存儲(chǔ)的數(shù)據(jù); 采用抽樣哈希算法計(jì)算虛擬機(jī)所占用的各內(nèi)存頁面部分內(nèi)容的哈希值,對哈希值相同的內(nèi)存頁面再進(jìn)行全頁面內(nèi)容比較,若全頁面內(nèi)容相同則確定為存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面。
      10.根據(jù)權(quán)利要求6或7所述的虛擬機(jī)內(nèi)存共享裝置,其特征在于,所述掃描模塊還用于 確定每個(gè)所述用戶組中刪除的冗余數(shù)據(jù)量; 根據(jù)所確定的每個(gè)所述用戶組中刪除的冗余數(shù)據(jù)量,確定每個(gè)所述用戶組的內(nèi)存頁面掃描速率。
      全文摘要
      本發(fā)明提供了一種虛擬機(jī)內(nèi)存共享方法及裝置,方法包括根據(jù)物理機(jī)上的各個(gè)虛擬機(jī)所屬的用戶,將所述物理機(jī)上的虛擬機(jī)劃分為至少兩個(gè)用戶組,每個(gè)所述用戶組內(nèi)的虛擬機(jī)共享一個(gè)進(jìn)程,不同的用戶組對應(yīng)不同的進(jìn)程;通過進(jìn)程掃描對應(yīng)的用戶組內(nèi)的虛擬機(jī)所占用的存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面;對存儲(chǔ)重復(fù)數(shù)據(jù)的內(nèi)存頁面進(jìn)行刪除冗余數(shù)據(jù)處理;還包括將刪除冗余數(shù)據(jù)處理所釋放的內(nèi)存頁面重新分配給對應(yīng)的用戶組內(nèi)的虛擬機(jī)。本發(fā)明通過上述方法及裝置實(shí)現(xiàn)了在虛擬機(jī)內(nèi)存共享時(shí)避免用戶的敏感信息被其他虛擬機(jī)共享。
      文檔編號(hào)G06F9/455GK103034591SQ201210477749
      公開日2013年4月10日 申請日期2012年11月21日 優(yōu)先權(quán)日2012年11月21日
      發(fā)明者胡春明, 鄧巖, 李博, 崔磊 申請人:北京航空航天大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1