欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于存取數(shù)據(jù)的方法和設(shè)備的制造方法

文檔序號(hào):9235223閱讀:388來(lái)源:國(guó)知局
用于存取數(shù)據(jù)的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施例總體上涉及數(shù)據(jù)存取領(lǐng)域,具體地涉及用于存取數(shù)據(jù)的方法和設(shè)備。
【背景技術(shù)】
[0002]虛擬化是指在計(jì)算機(jī)硬件上通過(guò)軟件或硬件的方法,在計(jì)算機(jī)硬件和操作系統(tǒng)之間構(gòu)建一個(gè)虛擬平臺(tái),以便為該操作系統(tǒng)虛擬出多個(gè)獨(dú)立的虛擬硬件運(yùn)行環(huán)境,并且共享硬件資源。例如,服務(wù)器虛擬化允許具有異質(zhì)操作系統(tǒng)的多個(gè)虛擬機(jī)在同一計(jì)算機(jī)硬件上相互隔離地并行運(yùn)行,其中每個(gè)虛擬機(jī)具有其自己的虛擬硬件集合(例如只讀存儲(chǔ)器、中央處理器等)并且在該虛擬機(jī)上加載操作系統(tǒng)和應(yīng)用程序。
[0003]通常,虛擬機(jī)被封裝到文件中,從而使得有可能快速地保存、復(fù)制和提供虛擬機(jī)。例如,完全配置有應(yīng)用程序、操作系統(tǒng)、B1S和虛擬硬件的虛擬機(jī)可以在幾秒種內(nèi)從一個(gè)物理服務(wù)器移動(dòng)到另一個(gè)物理服務(wù)器,從而用于零停機(jī)維護(hù)。
[0004]盡管虛擬化具有很多優(yōu)點(diǎn),但是虛擬化可能導(dǎo)致在例如處理器、寄存器、內(nèi)存存儲(chǔ)器、只讀存儲(chǔ)器等的存儲(chǔ)器中不必要地存儲(chǔ)大量冗余數(shù)據(jù)。例如,為了在虛擬服務(wù)器環(huán)境中將16個(gè)(或更多個(gè))服務(wù)器應(yīng)用程序操作為16個(gè)虛擬機(jī),必須將它們各自加載到存儲(chǔ)器中,即便它們具有相同的數(shù)據(jù)、文件、可執(zhí)行文件等。
[0005]為了圖示如何在存儲(chǔ)系統(tǒng)組織內(nèi)存,圖1示出了根據(jù)相關(guān)技術(shù)的在磁盤(pán)上的數(shù)據(jù)結(jié)構(gòu)和在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)。如圖1所示,虛線下方的數(shù)據(jù)結(jié)構(gòu)是指文件I和文件2在磁盤(pán)上的數(shù)據(jù)結(jié)構(gòu),虛線上方的數(shù)據(jù)結(jié)構(gòu)是指文件I和文件2在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)。為了使得描述更加簡(jiǎn)單,這里假設(shè)內(nèi)存中的內(nèi)存頁(yè)大小等于磁盤(pán)上的物理塊大小,這雖然不是必需的但是在許多實(shí)際產(chǎn)品中確實(shí)也是這樣的。
[0006]在圖1中,文件I包括多個(gè)邏輯塊號(hào)(LBN),分別是LBN n、LBN η+K LBN m和LBNm+1。在虛線下方,這些邏輯塊號(hào)通過(guò)直接指針(和間接指針)分別指向多個(gè)物理塊中的一個(gè)物理塊,即物理塊a、物理塊b、物理塊c和物理塊d,同時(shí),這些多個(gè)物理塊也分別對(duì)應(yīng)到多個(gè)內(nèi)存頁(yè)中的一個(gè)內(nèi)存頁(yè),即內(nèi)存頁(yè)a、內(nèi)存頁(yè)b、內(nèi)存頁(yè)c和內(nèi)存頁(yè)d。因此,該文件I中的多個(gè)LBN與該多個(gè)內(nèi)存頁(yè)得以一一對(duì)應(yīng)。類似地,文件2也包括多個(gè)邏輯塊號(hào)(LBN),分別是LBN N、LBN N+l、LBN M和LBN M+1,它們通過(guò)直接指針(和間接指針)分別指向多個(gè)物理塊中的一個(gè)物理塊,即物理塊A、物理塊B、物理塊C和物理塊D,同時(shí),該多個(gè)物理塊也分別對(duì)應(yīng)到多個(gè)內(nèi)存頁(yè)中的一個(gè)內(nèi)存頁(yè),即內(nèi)存頁(yè)A、內(nèi)存頁(yè)B、內(nèi)存頁(yè)C和內(nèi)存頁(yè)D。因此,該文件2中的多個(gè)LBN與該多個(gè)內(nèi)存頁(yè)得以一一對(duì)應(yīng)。
[0007]通過(guò)采用圖1的方式而利用文件中的邏輯塊號(hào)(即文件中的偏移)來(lái)索引,在接收到讀取/寫(xiě)入請(qǐng)求時(shí),內(nèi)存系統(tǒng)能夠根據(jù)該讀取/寫(xiě)入請(qǐng)求中的偏移,快速地找到內(nèi)存頁(yè)而不需要任何其他操作。通常,該索引由一些類型的哈希機(jī)制來(lái)實(shí)現(xiàn)。例如,在Linux內(nèi)核2.6中,由基數(shù)樹(shù)來(lái)實(shí)現(xiàn)該索引。在Windows內(nèi)核中,由多級(jí)索引陣列來(lái)實(shí)現(xiàn)該索引。
[0008]但是,在圖1中,如果LBN n+l、LBN m+1、LBN N和LBN M分別對(duì)應(yīng)到包含相同內(nèi)容的多個(gè)物理塊和/或?qū)?yīng)到包含相同內(nèi)容的多個(gè)內(nèi)存頁(yè),則在磁盤(pán)上該相同內(nèi)容的物理塊(以斜線陰影示出)將被重復(fù)存儲(chǔ)多次,并且在內(nèi)存中該相同內(nèi)容的內(nèi)存頁(yè)(以豎線陰影示出)也將被重復(fù)存儲(chǔ)多次,從而造成不必要地存儲(chǔ)大量冗余數(shù)據(jù)。
[0009]本領(lǐng)域技術(shù)人員將理解的是,上述討論的【背景技術(shù)】并不限于上面描述的虛擬機(jī)環(huán)境中操作的實(shí)施例。相反,提供此【背景技術(shù)】只是為了示出其中可以實(shí)踐這里描述的一些實(shí)施例的一個(gè)示范性技術(shù)領(lǐng)域。該示范性技術(shù)領(lǐng)域還可以例如是能夠?yàn)殡娮余]件提供大容量附件的電子郵件服務(wù)器,其中該大容量附件可能被發(fā)送到該電子郵件服務(wù)器的多個(gè)用戶,因此每個(gè)用戶都因?yàn)樵摯笕萘扛郊鴨为?dú)地占用一部分被分配給該電子郵件服務(wù)器的存儲(chǔ)容量,從而造成不必要地存儲(chǔ)大量冗余數(shù)據(jù)。

【發(fā)明內(nèi)容】

[0010]為此,本發(fā)明實(shí)施例提供了一種用于存取數(shù)據(jù)的方法和設(shè)備。
[0011]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種用于存取數(shù)據(jù)的方法,包括:接收數(shù)據(jù)讀取請(qǐng)求,其中該數(shù)據(jù)讀取請(qǐng)求用于讀取與第一邏輯塊號(hào)對(duì)應(yīng)的數(shù)據(jù);在內(nèi)存中不存在與該第一邏輯塊號(hào)對(duì)應(yīng)的第一內(nèi)存頁(yè)時(shí),在磁盤(pán)上確定與該第一邏輯塊號(hào)對(duì)應(yīng)的第一物理塊;以及在該內(nèi)存中存在與第二物理塊對(duì)應(yīng)的第二內(nèi)存頁(yè)時(shí),讀取該第二內(nèi)存頁(yè)中的數(shù)據(jù),其中該第二物理塊的內(nèi)容與該第一物理塊的內(nèi)容相同。
[0012]在一個(gè)實(shí)施例中,該方法還包括:在該內(nèi)存中不存在與該第二物理塊對(duì)應(yīng)的該第二內(nèi)存頁(yè)時(shí),讀取該第二物理塊中的數(shù)據(jù)。
[0013]在一個(gè)實(shí)施例中,該方法還包括:在讀取該第二物理決中的數(shù)據(jù)之后,在該內(nèi)存中創(chuàng)建用于存儲(chǔ)該數(shù)據(jù)的第三內(nèi)存頁(yè),并且將該第一邏輯塊號(hào)與該第三內(nèi)存頁(yè)對(duì)應(yīng)。
[0014]在一個(gè)實(shí)施例中,其中在該內(nèi)存中存在與該第二物理決對(duì)應(yīng)的該第二內(nèi)存頁(yè)時(shí),將該第一邏輯決號(hào)與該第二內(nèi)存頁(yè)對(duì)應(yīng)。
[0015]在一個(gè)實(shí)施例中,該方法還包括:將原來(lái)指向該第一物理塊的該磁盤(pán)上的指針指向該第二物理塊。
[0016]在一個(gè)實(shí)施例中,該方法還包括:通過(guò)該內(nèi)存中的物理塊號(hào)將該第二物理塊與該第二內(nèi)存頁(yè)對(duì)應(yīng)。
[0017]在一個(gè)實(shí)施例中,該方法還包括:接收數(shù)據(jù)寫(xiě)入請(qǐng)求,該數(shù)據(jù)寫(xiě)入請(qǐng)求用于將待寫(xiě)入的數(shù)據(jù)寫(xiě)入與第二邏輯塊號(hào)對(duì)應(yīng)的內(nèi)存頁(yè);在該內(nèi)存中存在與該第二邏輯塊號(hào)對(duì)應(yīng)的第四內(nèi)存頁(yè)時(shí),在該內(nèi)存中創(chuàng)建用于寫(xiě)入該待寫(xiě)入的數(shù)據(jù)的、不同于該第四內(nèi)存頁(yè)的第五內(nèi)存頁(yè),其中該第四內(nèi)存頁(yè)與該磁盤(pán)中的第三物理塊對(duì)應(yīng),并且在該磁盤(pán)中存在與該第三物理塊的內(nèi)容相同的第四物理塊;以及將該第二邏輯塊號(hào)與該第五內(nèi)存頁(yè)對(duì)應(yīng),并且將該待寫(xiě)入的數(shù)據(jù)寫(xiě)入該第五內(nèi)存頁(yè)。
[0018]在一個(gè)實(shí)施例中,其中將該待寫(xiě)入的數(shù)據(jù)和該第四內(nèi)存頁(yè)中的數(shù)據(jù)一起寫(xiě)入該第五內(nèi)存頁(yè)。
[0019]在一個(gè)實(shí)施例中,該方法還包括:在該內(nèi)存中不存在與該第二邏輯塊號(hào)對(duì)應(yīng)的內(nèi)存頁(yè)時(shí),在該內(nèi)存中創(chuàng)建用于寫(xiě)入該待寫(xiě)入的數(shù)據(jù)的第六內(nèi)存頁(yè);以及將該第二邏輯塊號(hào)與該第六內(nèi)存頁(yè)對(duì)應(yīng),并且將該待寫(xiě)入的數(shù)據(jù)寫(xiě)入該第六內(nèi)存頁(yè)。
[0020]在一個(gè)實(shí)施例中,其中將該待寫(xiě)入的數(shù)據(jù)和該磁盤(pán)中的第五物理塊中的數(shù)據(jù)一起寫(xiě)入該第六內(nèi)存頁(yè)。
[0021]在一個(gè)實(shí)施例中,該方法還包括:周期性地或者當(dāng)創(chuàng)建的內(nèi)存頁(yè)數(shù)量達(dá)到預(yù)定閾值時(shí),將所創(chuàng)建的內(nèi)存頁(yè)中的數(shù)據(jù)寫(xiě)入該磁盤(pán)。
[0022]在一個(gè)實(shí)施例中,該方法還包括:將原來(lái)指向該第四物理塊的該磁盤(pán)上的指針指向該第三物理塊。
[0023]在一個(gè)實(shí)施例中,該方法還包括:通過(guò)該內(nèi)存中的物理塊號(hào)將該第三物理塊與該第四內(nèi)存頁(yè)對(duì)應(yīng)。
[0024]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種用于存取數(shù)據(jù)的設(shè)備,包括:第一接收裝置,用于接收數(shù)據(jù)讀取請(qǐng)求,其中該數(shù)據(jù)讀取請(qǐng)求用于讀取與第一邏輯塊號(hào)對(duì)應(yīng)的數(shù)據(jù);第一確定裝置,用于在內(nèi)存中不存在與該第一邏輯塊號(hào)對(duì)應(yīng)的第一內(nèi)存頁(yè)時(shí),在磁盤(pán)上確定與該第一邏輯決號(hào)對(duì)應(yīng)的第一物理塊;以及第一讀取裝置,用于在該內(nèi)存中存在與第二物理塊對(duì)應(yīng)的第二內(nèi)存頁(yè)時(shí),讀取該第二內(nèi)存頁(yè)中的數(shù)據(jù),其中該第二物理塊的內(nèi)容與該第一物理塊的內(nèi)容相同。
[0025]在一個(gè)實(shí)施例中,該設(shè)備還包括:第二讀取裝置,用于在該內(nèi)存中不存在與該第二物理塊對(duì)應(yīng)的該第二內(nèi)存頁(yè)時(shí),讀取該第二物理塊中的數(shù)據(jù)。
[0026]在一個(gè)實(shí)施例中,該設(shè)備還包括:第一創(chuàng)建裝置,用于在讀取該第二物理塊中的數(shù)據(jù)之后,在該內(nèi)存中創(chuàng)建用于存儲(chǔ)該數(shù)據(jù)的第三內(nèi)存頁(yè),以及第一對(duì)應(yīng)裝置,用于將該第一邏輯塊號(hào)與該第三內(nèi)存頁(yè)對(duì)應(yīng)。
[0027]在一個(gè)實(shí)施例中,其中在該內(nèi)存中存在與該第二物理塊對(duì)應(yīng)的該第二內(nèi)存頁(yè)時(shí),將該第一邏輯塊號(hào)與該第二內(nèi)存頁(yè)對(duì)應(yīng)。
[0028]在一個(gè)實(shí)施例中,該設(shè)備還包括:第一指向裝置,用于將原來(lái)指向該第一物理塊的該磁盤(pán)上的指針指向該第二物理塊。
[0029]在一個(gè)實(shí)施例中,該設(shè)備還包括:第二對(duì)應(yīng)裝置,用于通過(guò)該內(nèi)存中的物理塊號(hào)將該第二物理塊與該第二內(nèi)存頁(yè)對(duì)應(yīng)。
[0030]在一個(gè)實(shí)施例中,該設(shè)備還包括:第二接收裝置,用于接收數(shù)據(jù)寫(xiě)入請(qǐng)求,該數(shù)據(jù)寫(xiě)入請(qǐng)求用于將待寫(xiě)入的數(shù)據(jù)寫(xiě)入與第二邏輯塊號(hào)對(duì)應(yīng)的內(nèi)存頁(yè);第二創(chuàng)建裝置,用于在該內(nèi)存中存在與該第二邏輯塊號(hào)對(duì)應(yīng)的第四內(nèi)存頁(yè)時(shí),在該內(nèi)存中創(chuàng)建用于寫(xiě)入該待寫(xiě)入的數(shù)據(jù)的、不同于該第四內(nèi)存頁(yè)的第五內(nèi)存頁(yè),其中該第四內(nèi)存頁(yè)與該磁盤(pán)中的第三物理塊對(duì)應(yīng),并且在該磁盤(pán)中存在與該第三物理塊的內(nèi)容相同的第四物理塊;以及第一寫(xiě)入裝置,用于將該第二邏輯塊號(hào)與該第五內(nèi)存頁(yè)對(duì)應(yīng),并且將
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
自贡市| 横峰县| 施甸县| 江西省| 错那县| 霍邱县| 安义县| 肥西县| 健康| 平顺县| 英吉沙县| 海门市| 肇东市| 科尔| 石河子市| 佛坪县| 大宁县| 湄潭县| 桦甸市| 太白县| 柘荣县| 望城县| 岑溪市| 安达市| 教育| 元朗区| 三门县| 东宁县| 靖宇县| 吉木乃县| 马关县| 皮山县| 泌阳县| 奉化市| 海兴县| 来宾市| 墨玉县| 托里县| 洛扎县| 报价| 池州市|