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

用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法和裝置與流程

文檔序號(hào):11828627閱讀:263來源:國知局
用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法和裝置與流程

本發(fā)明的各實(shí)施方式涉及存儲(chǔ)技術(shù),更具體地,涉及用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法和裝置。



背景技術(shù):

隨著計(jì)算機(jī)硬件和軟件技術(shù)的發(fā)展,人們對(duì)存儲(chǔ)系統(tǒng)的要求也不斷增加,這使得存儲(chǔ)系統(tǒng)面臨越來越多的挑戰(zhàn)。例如,在多個(gè)服務(wù)器耦合到存儲(chǔ)系統(tǒng)的情況下,多個(gè)服務(wù)器可能需要共享存儲(chǔ)系統(tǒng)中的同一批數(shù)量龐大的數(shù)據(jù)。然而,在一段時(shí)間內(nèi),多個(gè)服務(wù)器可能會(huì)分別頻繁訪問所共享的數(shù)據(jù)的不同子集。因而,為了實(shí)現(xiàn)對(duì)被頻繁訪問的數(shù)據(jù)的快速訪問,每個(gè)服務(wù)器都期望存儲(chǔ)系統(tǒng)能夠?qū)⑵渌l繁訪問的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)系統(tǒng)本地的高速緩存中。但是,存儲(chǔ)系統(tǒng)本地的高速緩存的容量往往較小。當(dāng)被頻繁訪問的數(shù)據(jù)的總量較大時(shí),存儲(chǔ)系統(tǒng)本地的高速緩存則無法完全容納它們。因此,如何擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存成為一個(gè)關(guān)注熱點(diǎn)。



技術(shù)實(shí)現(xiàn)要素:

為了解決上述問題,本發(fā)明提出了一種通過存儲(chǔ)系統(tǒng)的統(tǒng)一調(diào)度 來擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的技術(shù)方案。

在本發(fā)明的第一方面,提供了一種在存儲(chǔ)系統(tǒng)處的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法。該方法包括:獲取所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息;基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集;以及將所述存儲(chǔ)信息同步到所述多個(gè)客戶端,以使得所述多個(gè)客戶端中的相應(yīng)客戶端在本地基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,所述存儲(chǔ)信息至少包括:所述存儲(chǔ)系統(tǒng)中用于存儲(chǔ)所述數(shù)據(jù)的邏輯單元的標(biāo)識(shí),以及所述邏輯單元中用于存儲(chǔ)所述數(shù)據(jù)的地址范圍。

在一個(gè)實(shí)施方式中,從用于監(jiān)控所述多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問的實(shí)體獲取被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的所述信息。

在一個(gè)實(shí)施方式中,所述方法進(jìn)一步包括:從所述實(shí)體接收更改通知消息,所述更改通知消息指示所述能夠被高速緩存的數(shù)據(jù)的子集已被更改;識(shí)別所述多個(gè)客戶端中的共享所述數(shù)據(jù)的所述子集的客戶端;以及向所識(shí)別的客戶端轉(zhuǎn)發(fā)所述更改通知消息。

在一個(gè)實(shí)施方式中,所述方法進(jìn)一步包括:從所述實(shí)體獲取所述存儲(chǔ)系統(tǒng)中的、被所述多個(gè)客戶端之一頻繁訪問的新數(shù)據(jù)的信息;以及利用所述新數(shù)據(jù)的所述信息來更新所述存儲(chǔ)信息。

在本發(fā)明的第二方面,提供了一種在存儲(chǔ)系統(tǒng)的客戶端處的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法。該方法包括:從所述存儲(chǔ)系統(tǒng)獲取與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的合集;以及在所述多個(gè)客戶端中的相應(yīng)客戶端處,基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存包括:在所述相應(yīng)客戶端的本地存儲(chǔ)設(shè)備中對(duì)所述數(shù)據(jù)進(jìn)行高速緩存;以及建立從所述存儲(chǔ)系統(tǒng)的存儲(chǔ)空間到所述本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集至少由所述相應(yīng)客戶端和所述多個(gè)客戶端中的另一客戶端共享,該方法進(jìn)一步包括:在所述相應(yīng)客戶端處,從所述存儲(chǔ)系統(tǒng)接收更改通知消息,所述更改通知消息指示所述數(shù)據(jù)的所述子集已被所述另一客戶端所更改;以及從所述相應(yīng)客戶端所高速緩存的數(shù)據(jù)中移除所述數(shù)據(jù)的所述子集。

在本發(fā)明的第三方面,提供了一種用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法。該方法包括:監(jiān)控所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問;以及向所述存儲(chǔ)系統(tǒng)提供被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息,以使得所述存儲(chǔ)系統(tǒng)基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所 述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集由所述多個(gè)客戶端中的至少兩個(gè)客戶端共享。該方法進(jìn)一步包括:響應(yīng)于所述至少兩個(gè)客戶端之一對(duì)所述數(shù)據(jù)的所述子集的更改,向所述存儲(chǔ)系統(tǒng)發(fā)送更改通知消息,所述更改通知消息指示對(duì)所述數(shù)據(jù)的所述子集的更改。

在本發(fā)明的第四方面,提供了一種在存儲(chǔ)系統(tǒng)處的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置。該裝置包括:獲取單元,被配置為獲取所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息;確定單元,被配置為基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集;以及同步單元,被配置為將所述存儲(chǔ)信息同步到所述多個(gè)客戶端,以使得所述多個(gè)客戶端中的相應(yīng)客戶端在本地基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,所述存儲(chǔ)信息至少包括:所述存儲(chǔ)系統(tǒng)中用于存儲(chǔ)所述數(shù)據(jù)的邏輯單元的標(biāo)識(shí),以及所述邏輯單元中用于存儲(chǔ)所述數(shù)據(jù)的地址范圍。

在一個(gè)實(shí)施方式中,所述獲取單元被進(jìn)一步配置為從用于監(jiān)控所述多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問的實(shí)體獲取被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的所述信息。

在一個(gè)實(shí)施方式中,該裝置進(jìn)一步包括:接收單元,被配置為從所述實(shí)體接收更改通知消息,所述更改通知消息指示所述能夠被高速緩存的數(shù)據(jù)的子集已被更改;識(shí)別單元,被配置為識(shí)別所述多個(gè)客戶端中的共享所述數(shù)據(jù)的所述子集的客戶端;以及轉(zhuǎn)發(fā)單元,被配置為向所識(shí)別的客戶端轉(zhuǎn)發(fā)所述更改通知消息。

在一個(gè)實(shí)施方式中,所述獲取單元被進(jìn)一步配置為從所述實(shí)體獲取所述存儲(chǔ)系統(tǒng)中的、被所述多個(gè)客戶端之一頻繁訪問的新數(shù)據(jù)的信息;并且所述確定單元被進(jìn)一步配置為利用所述新數(shù)據(jù)的所述信息來更新所述存儲(chǔ)信息。

在本發(fā)明的第五方面,提供了一種在存儲(chǔ)系統(tǒng)的客戶端處的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置。該裝置包括:存儲(chǔ)信息獲取單元,被配置為從所述存儲(chǔ)系統(tǒng)獲取與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的合集;以及高速緩存單元,被配置為在所述多個(gè)客戶端中的相應(yīng)客戶端處,基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,所述高速緩存單元被進(jìn)一步配置為在所述相應(yīng)客戶端的本地存儲(chǔ)設(shè)備中對(duì)所述數(shù)據(jù)進(jìn)行高速緩存;并且所述存儲(chǔ)信息獲取單元被進(jìn)一步配置為建立從所述存儲(chǔ)系統(tǒng)的存儲(chǔ)空間到所述本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集至少由所 述相應(yīng)客戶端和所述多個(gè)客戶端中的另一客戶端共享;其中所述存儲(chǔ)信息獲取單元被進(jìn)一步配置為在所述相應(yīng)客戶端處,從所述存儲(chǔ)系統(tǒng)接收更改通知消息,所述更改通知消息指示所述數(shù)據(jù)的所述子集已被所述另一客戶端所更改;并且其中所述高速緩存單元被進(jìn)一步配置為從所述相應(yīng)客戶端所高速緩存的數(shù)據(jù)中移除所述數(shù)據(jù)的所述子集。

在本發(fā)明的第六方面,提供了一種用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置。該裝置包括:監(jiān)控單元,被配置為監(jiān)控所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問;以及信息提供單元,被配置為向所述存儲(chǔ)系統(tǒng)提供被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息,以使得所述存儲(chǔ)系統(tǒng)基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集由所述多個(gè)客戶端中的至少兩個(gè)客戶端共享。該裝置進(jìn)一步包括:通知單元,被配置為響應(yīng)于所述至少兩個(gè)客戶端之一對(duì)所述數(shù)據(jù)的所述子集的更改,向所述存儲(chǔ)系統(tǒng)發(fā)送更改通知消息,所述更改通知消息指示對(duì)所述數(shù)據(jù)的所述子集的更改。

利用本發(fā)明所提出的方案,通過存儲(chǔ)系統(tǒng)的統(tǒng)一調(diào)度和協(xié)調(diào),存儲(chǔ)系統(tǒng)的客戶端(即服務(wù)器)能夠?qū)ο鄳?yīng)客戶端所頻繁訪問的數(shù)據(jù)在本地進(jìn)行高速緩存,從而實(shí)現(xiàn)了對(duì)存儲(chǔ)系統(tǒng)本地的高速緩存的擴(kuò)展。由此,存儲(chǔ)系統(tǒng)本地的有限的高速緩存可以支持更多的虛擬機(jī)和/或應(yīng)用在相同客戶端上運(yùn)行。而且,通過從客戶端本地讀取頻繁訪問的數(shù) 據(jù),存儲(chǔ)系統(tǒng)的處理器的工作負(fù)荷得以減輕。另外,可以利用存儲(chǔ)系統(tǒng)廠商所提供的現(xiàn)有客戶端側(cè)軟件、例如PowerPath實(shí)現(xiàn)客戶端側(cè)的操作,從而不會(huì)增加客戶端側(cè)軟件管理負(fù)荷。

附圖說明

結(jié)合附圖并參考以下詳細(xì)說明,本發(fā)明各實(shí)施方式的特征、優(yōu)點(diǎn)及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式。在附圖中:

圖1示出了常規(guī)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)的示意性架構(gòu);

圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的存儲(chǔ)區(qū)域網(wǎng)絡(luò)的示意性架構(gòu);

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的、在存儲(chǔ)系統(tǒng)處執(zhí)行的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法的流程圖;

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的、在服務(wù)器處執(zhí)行的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法的流程圖;

圖5示例性示出了以表格形式提供的頻繁訪問的數(shù)據(jù)的信息;

圖6示例性地示出了在存儲(chǔ)系統(tǒng)處以表格形式維護(hù)的存儲(chǔ)信息;

圖7示例性地示出了從存儲(chǔ)系統(tǒng)的存儲(chǔ)空間到客戶端本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射;

圖8示出了根據(jù)本發(fā)明另一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法的流程圖;

圖9示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速 緩存的裝置的框圖;

圖10示出了根據(jù)本發(fā)明另一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置的框圖;

圖11示出了根據(jù)本發(fā)明再一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置的框圖;以及

圖12示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的服務(wù)器/計(jì)算設(shè)備的示意性框圖。

具體實(shí)施方式

下面將參考附圖中示出的若干示例實(shí)施例來描述本發(fā)明的原理。應(yīng)當(dāng)理解,描述這些實(shí)施例僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。

圖1示出了常規(guī)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)10的示意性架構(gòu)。如圖1所示,存儲(chǔ)區(qū)域網(wǎng)絡(luò)10包括服務(wù)器1001、…、100n(統(tǒng)稱為服務(wù)器100)、存儲(chǔ)系統(tǒng)110以及虛擬機(jī)/應(yīng)用程序管理模塊122。服務(wù)器100可以通過通信介質(zhì)耦合至存儲(chǔ)系統(tǒng)110。例如,通信介質(zhì)可以是因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或者任何其他有線或無線連接。服務(wù)器100可以借助于該通信介質(zhì)訪問存儲(chǔ)系統(tǒng)110并與之通信,例如用于執(zhí)行數(shù)據(jù)讀取或?qū)懭胝?qǐng)求或者其他I/O(輸入/輸出)操作。由此,在本申請(qǐng)的上下文中,服務(wù)器100充當(dāng)數(shù)據(jù)的請(qǐng)求方,而存儲(chǔ)系統(tǒng)110充當(dāng)數(shù)據(jù)的提供方。因而,在本文中,服務(wù)器也被稱作“存儲(chǔ)系統(tǒng)的客戶端”,二者可以互換地使用。

存儲(chǔ)系統(tǒng)110包括用于存儲(chǔ)數(shù)據(jù)的磁盤陣列111。磁盤陣列111包括物理磁盤1121、…、112n(統(tǒng)稱為磁盤112)。

存儲(chǔ)系統(tǒng)110還包括通過對(duì)物理磁盤1121、…、112n進(jìn)行虛擬化而得到的邏輯單元1151、…、115n。LUN(logical unit number)是分配給每個(gè)邏輯單元的編號(hào)。LUN可用于支持讀/寫操作的任何設(shè)備,諸如磁帶機(jī)、磁盤、固態(tài)盤(SSD)等,但是最常見的是用于指代在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中創(chuàng)建的邏輯盤。盡管LUN是一個(gè)或多個(gè)物理存儲(chǔ)設(shè)備(例如磁盤)上的一組存儲(chǔ)位置的實(shí)際邏輯標(biāo)識(shí)符,但是術(shù)語LUN常常用于指代邏輯盤本身,并且在本文中也將使用此慣例。由此,在本文中,邏輯單元1151、…、115n也被稱作LUN 1151、…、115n(統(tǒng)稱為LUN 115)。

為了實(shí)現(xiàn)對(duì)頻繁訪問的數(shù)據(jù)的快速訪問,存儲(chǔ)系統(tǒng)110還包括高速緩存114。高速緩存114通??梢詫?shí)現(xiàn)為存儲(chǔ)系統(tǒng)110的存儲(chǔ)器(未示出)的一部分。

虛擬機(jī)/應(yīng)用程序管理模塊122可以與服務(wù)器1001、…、100n以及存儲(chǔ)系統(tǒng)110通信,以實(shí)現(xiàn)對(duì)各個(gè)服務(wù)器100和存儲(chǔ)系統(tǒng)110的統(tǒng)一管理。虛擬機(jī)/應(yīng)用程序管理模塊122可以實(shí)現(xiàn)為獨(dú)立于各個(gè)服務(wù)器100以及存儲(chǔ)系統(tǒng)110的模塊。例如,虛擬機(jī)/應(yīng)用程序管理模塊122可以在獨(dú)立于各個(gè)服務(wù)器100以及存儲(chǔ)系統(tǒng)110的服務(wù)器上實(shí)現(xiàn)。可替換地,虛擬機(jī)/應(yīng)用程序管理模塊122也可以在服務(wù)器1001、…、100n之一上實(shí)現(xiàn)。本發(fā)明的范圍在此方面不受限制。此外,為了清晰起見,在圖1中僅示出了一個(gè)虛擬機(jī)/應(yīng)用程序管理模塊122。然而, 根據(jù)具體的應(yīng)用場景,在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中可以設(shè)置多個(gè)虛擬機(jī)/應(yīng)用程序管理模塊122。

每個(gè)服務(wù)器100包括硬件平臺(tái)101。關(guān)于硬件平臺(tái)101的細(xì)節(jié)將在后文進(jìn)行詳述。

每個(gè)服務(wù)器100上可以安裝有管理器(hypervisor)102,其向服務(wù)器100上的每個(gè)虛擬機(jī)103動(dòng)態(tài)地并且透明地分配服務(wù)器100的硬件資源。管理器102可以是諸如vSphereTM、Microsoft Hyper-V之類的商業(yè)上可獲得的虛擬化軟件。

服務(wù)器1001、…、100n中的多個(gè)服務(wù)器可以共享一個(gè)或多個(gè)LUN 115上的存儲(chǔ)空間,因而可能共享一個(gè)或多個(gè)LUN 115上的數(shù)據(jù)。例如,服務(wù)器1001、…、100n中的多個(gè)服務(wù)器共享LUN 1151上的數(shù)據(jù)121。數(shù)據(jù)121可以是被所述多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)。在本文中,“頻繁訪問的數(shù)據(jù)”指代在特定時(shí)間段內(nèi)訪問頻率超過預(yù)定閾值的數(shù)據(jù)。例如,在一周內(nèi),如果對(duì)某項(xiàng)數(shù)據(jù)的訪問次數(shù)超過了4次(預(yù)定閾值),則可認(rèn)為該項(xiàng)數(shù)據(jù)是“頻繁訪問的數(shù)據(jù)”?!邦l繁訪問的數(shù)據(jù)”例如包括、但不限于:WSRM(頻繁讀取、但是很少更改的)數(shù)據(jù)、WORM(Write Once Read Many,一次寫入多次讀取的)數(shù)據(jù)。在一個(gè)示例中,“頻繁訪問的數(shù)據(jù)”包括操作系統(tǒng)的系統(tǒng)文件,例如,VDI(Virtual Desktop Infrastructure,虛擬桌面基礎(chǔ)架構(gòu))主鏡像(master image)。

在一段時(shí)間內(nèi),所述多個(gè)服務(wù)器可能會(huì)分別頻繁訪問所共享的數(shù)據(jù)121的不同子集。為了實(shí)現(xiàn)對(duì)頻繁訪問的數(shù)據(jù)的快速訪問,所述多 個(gè)服務(wù)器中的每一個(gè)都期望存儲(chǔ)系統(tǒng)110能夠?qū)⑵渌l繁訪問的數(shù)據(jù)121的子集存儲(chǔ)在存儲(chǔ)系統(tǒng)110本地的高速緩存114中。但是,高速緩存114的容量往往較小。當(dāng)數(shù)據(jù)121的量較大時(shí),高速緩存114則無法完全容納它。因此,存儲(chǔ)系統(tǒng)110的處理器(未示出)會(huì)按照預(yù)定義的規(guī)則來更新高速緩存114中的數(shù)據(jù),例如,可以按照最近最少使用(Least Recently Used,LRU)算法等來更新數(shù)據(jù)。由此,當(dāng)共享數(shù)據(jù)121的服務(wù)器的數(shù)量較大時(shí),存儲(chǔ)系統(tǒng)110的處理器會(huì)針對(duì)高速緩存114頻繁地執(zhí)行數(shù)據(jù)的調(diào)入和調(diào)出操作,從而消耗該處理器的大量計(jì)算資源。

另一方面,虛擬機(jī)1031、…、103n(統(tǒng)稱為虛擬機(jī)103)可以在單個(gè)服務(wù)器100上運(yùn)行,并且共享服務(wù)器100上的資源。例如,虛擬機(jī)1031、…、103n中的多個(gè)虛擬機(jī)可以在單個(gè)服務(wù)器100上共享相同的操作系統(tǒng)鏡像。因而,當(dāng)多個(gè)虛擬機(jī)中的每一個(gè)虛擬機(jī)啟動(dòng)或者其用戶登錄時(shí),每個(gè)虛擬機(jī)都需要通過用于將服務(wù)器100耦合到存儲(chǔ)系統(tǒng)110的網(wǎng)絡(luò)而從存儲(chǔ)系統(tǒng)110訪問相同的系統(tǒng)文件,從而增大了該網(wǎng)絡(luò)的工作負(fù)荷。

因此,期望能夠在存儲(chǔ)系統(tǒng)110的客戶端(即服務(wù)器100)處對(duì)相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存,以實(shí)現(xiàn)對(duì)存儲(chǔ)系統(tǒng)110本地的高速緩存的擴(kuò)展。此外,還期望由存儲(chǔ)系統(tǒng)110來調(diào)度/協(xié)調(diào)哪些數(shù)據(jù)能夠在客戶端處進(jìn)行高速緩存,而且期望由存儲(chǔ)系統(tǒng)110將與能夠被高速緩存的數(shù)據(jù)有關(guān)的存儲(chǔ)信息同步到各個(gè)客戶端。進(jìn)一步,還期望不增加存儲(chǔ)系統(tǒng)110的客戶端側(cè)軟件管理量。

為此,本發(fā)明提出了一種通過存儲(chǔ)系統(tǒng)110的統(tǒng)一調(diào)度來擴(kuò)展存儲(chǔ)系統(tǒng)110的高速緩存的技術(shù)方案。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的存儲(chǔ)區(qū)域網(wǎng)絡(luò)20的示意性架構(gòu)。通過比較圖2與圖1可以看出,圖2所示的存儲(chǔ)區(qū)域網(wǎng)絡(luò)20的架構(gòu)與圖1所示的存儲(chǔ)區(qū)域網(wǎng)絡(luò)10的架構(gòu)的區(qū)別在于以下三個(gè)方面:(1)存儲(chǔ)系統(tǒng)110進(jìn)一步包括了高速緩存調(diào)度器115,(2)服務(wù)器1001、…、100n各自進(jìn)一步包括了高速緩存模塊1061、…、106n(統(tǒng)稱為高速緩存模塊106),并且(3)虛擬機(jī)/應(yīng)用程序管理模塊122進(jìn)一步包括感知插件125??梢岳斫?,高速緩存調(diào)度器115、高速緩存模塊106以及感知插件125中的一個(gè)或多個(gè)被配置為實(shí)現(xiàn)根據(jù)本發(fā)明的擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方案。以下將參照?qǐng)D3至8對(duì)高速緩存調(diào)度器115、高速緩存模塊106以及感知插件125所執(zhí)行的操作進(jìn)行描述。

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的、在存儲(chǔ)系統(tǒng)處執(zhí)行的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法300的流程圖。在一個(gè)實(shí)施方式中,方法300由圖2所示的存儲(chǔ)系統(tǒng)110中的高速緩存調(diào)度器115執(zhí)行。然而,應(yīng)當(dāng)理解,方法300也可以由存儲(chǔ)系統(tǒng)110中的其他適當(dāng)?shù)哪K來執(zhí)行。本發(fā)明的范圍在此方面不受限制。

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的、在服務(wù)器100處執(zhí)行的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法400的流程圖。在一個(gè)實(shí)施方式中,方法400由圖2所示的服務(wù)器100中的高速緩存模塊106執(zhí)行。然而,應(yīng)當(dāng)理解,方法400也可以由服務(wù)器100中的其他適當(dāng)?shù)哪K來執(zhí)行。本發(fā)明的范圍在此方面不受限制。

首先參照?qǐng)D3,在步驟S301,存儲(chǔ)系統(tǒng)110獲取存儲(chǔ)系統(tǒng)110中的、被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的信息,該信息指示被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)在存儲(chǔ)系統(tǒng)110中的存儲(chǔ)位置。由于存儲(chǔ)系統(tǒng)110并不具有被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的信息,因此根據(jù)本發(fā)明的一個(gè)實(shí)施方式,存儲(chǔ)系統(tǒng)110從用于監(jiān)控多個(gè)服務(wù)器對(duì)存儲(chǔ)系統(tǒng)110中的數(shù)據(jù)的訪問的實(shí)體獲取該信息。該實(shí)體可以在獨(dú)立于各個(gè)服務(wù)器100以及存儲(chǔ)系統(tǒng)110的服務(wù)器上實(shí)現(xiàn)??商鎿Q地,該實(shí)體也可以在服務(wù)器1001、…、100n之一上實(shí)現(xiàn)。本發(fā)明的范圍在此方面不受限制。關(guān)于該實(shí)體的細(xì)節(jié)將在后文參照?qǐng)D8進(jìn)行詳述。

在將存儲(chǔ)系統(tǒng)110的物理磁盤1121、…、112n虛擬化為相應(yīng)的邏輯單元1151、…、115n的情況下,被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的信息可以包括服務(wù)器的標(biāo)識(shí)(服務(wù)器ID)、用于存儲(chǔ)被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的邏輯單元的地址。該邏輯單元的地址例如包括:LUN的標(biāo)識(shí)(LUN ID)、該LUN上用于存儲(chǔ)該數(shù)據(jù)的起始地址、以及相對(duì)于該起始地址的偏移。

存儲(chǔ)系統(tǒng)110可以從上述用于監(jiān)控的實(shí)體獲取以任何適當(dāng)形式提供的被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的信息。圖5中的表500示例性示出了以表格形式提供的上述信息。表500包括如下記錄項(xiàng)目:服務(wù)器的標(biāo)識(shí)(服務(wù)器ID)、LUN的標(biāo)識(shí)(LUN ID)、起始地址以及偏移。

從表500中可見,服務(wù)器1001所頻繁訪問的數(shù)據(jù)存儲(chǔ)于LUN A上的、從地址002到010的地址范圍內(nèi)。服務(wù)器1002所頻繁訪問的數(shù) 據(jù)存儲(chǔ)于LUN A上的、從401到800的地址范圍內(nèi)。服務(wù)器1003所頻繁訪問的數(shù)據(jù)存儲(chǔ)于LUN C上的、從100到400的地址范圍內(nèi)。與服務(wù)器1001相同,服務(wù)器1004所頻繁訪問的數(shù)據(jù)也存儲(chǔ)于LUN A上的、從002到010的地址范圍內(nèi)。換言之,服務(wù)器1004與服務(wù)器1001共享LUN A上的、從000到400的地址范圍內(nèi)的數(shù)據(jù)。

然而,應(yīng)當(dāng)理解,在未對(duì)存儲(chǔ)系統(tǒng)110的物理磁盤1121、…、112n進(jìn)行虛擬化的情況下,上述信息可以包括用于存儲(chǔ)被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的物理設(shè)備(例如物理磁盤)的地址。

繼續(xù)參照?qǐng)D3,在步驟S302,存儲(chǔ)系統(tǒng)110基于被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的信息來確定與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)110中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的合集。

在一個(gè)實(shí)施方式中,所述存儲(chǔ)信息至少包括:存儲(chǔ)系統(tǒng)110中用于存儲(chǔ)數(shù)據(jù)的邏輯單元的標(biāo)識(shí)、以及邏輯單元中用于存儲(chǔ)數(shù)據(jù)的地址范圍。邏輯單元的地址例如包括:LUN的標(biāo)識(shí)(LUN ID)、該LUN上用于存儲(chǔ)該數(shù)據(jù)的起始地址、以及相對(duì)于該起始地址的偏移。

在確定與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)110中的存儲(chǔ)有關(guān)的存儲(chǔ)信息時(shí),存儲(chǔ)系統(tǒng)110可以對(duì)被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的信息進(jìn)行合并。

例如,如前所述,服務(wù)器1001、…、100n中的多個(gè)服務(wù)器可能共享一個(gè)或多個(gè)LUN上的數(shù)據(jù),而該數(shù)據(jù)可能是被多個(gè)服務(wù)器中的一個(gè)或多個(gè)所頻繁訪問的數(shù)據(jù)。例如,如以上參照?qǐng)D5所描述的,服務(wù) 器1004與服務(wù)器1001共享LUN A上的、從000到400的地址范圍內(nèi)的數(shù)據(jù)。因此,在確定能夠被高速緩存的數(shù)據(jù)時(shí),存儲(chǔ)系統(tǒng)110僅考慮服務(wù)器1004和服務(wù)器1001之一所頻繁訪問的數(shù)據(jù)即可。進(jìn)而,在確定與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)110中的存儲(chǔ)有關(guān)的存儲(chǔ)信息時(shí),存儲(chǔ)系統(tǒng)110也僅考慮與服務(wù)器1004和服務(wù)器1001之一所頻繁訪問的數(shù)據(jù)有關(guān)的存儲(chǔ)信息。

再例如,仍然考慮圖5的示例,服務(wù)器1001所頻繁訪問的數(shù)據(jù)存儲(chǔ)于LUN A上、從地址002到010的地址范圍內(nèi),而服務(wù)器1002所頻繁訪問的數(shù)據(jù)存儲(chǔ)于LUN A上的、從401到800的地址范圍內(nèi)。因此,在確定上述存儲(chǔ)信息時(shí),存儲(chǔ)系統(tǒng)110對(duì)相同LUN上的地址范圍進(jìn)行合并,從而將LUN A上的、從100到800的地址范圍確定為上述存儲(chǔ)信息之一。

此外,存儲(chǔ)系統(tǒng)110可以以任何適當(dāng)?shù)男问綄?duì)所確定的存儲(chǔ)信息進(jìn)行維護(hù)。圖6中的表600示例性地示出了在存儲(chǔ)系統(tǒng)110處以表格600的形式對(duì)存儲(chǔ)信息進(jìn)行維護(hù)。如圖所示,表600包括如下記錄項(xiàng)目:LUN的標(biāo)識(shí)(LUN ID)、起始地址以及偏移。如表600所示,能夠被服務(wù)器100在本地高速緩存的數(shù)據(jù)例如包括:存儲(chǔ)于LUN A上的、從000到10的地址范圍內(nèi)的數(shù)據(jù)。應(yīng)當(dāng)理解,表600沒有對(duì)與能夠被高速緩存的數(shù)據(jù)有關(guān)的存儲(chǔ)信息進(jìn)行窮舉,而只是示出了其中的一部分。可替換地,存儲(chǔ)系統(tǒng)110可以基于所確定的存儲(chǔ)信息來創(chuàng)建位圖(bitmap),從而以位圖的形式對(duì)所確定的存儲(chǔ)信息進(jìn)行維護(hù)?;谒_定的存儲(chǔ)信息來創(chuàng)建位圖能夠按照本領(lǐng)域技術(shù)人員已知 的方式進(jìn)行,因而在此不再贅述。

回到圖3,在步驟S303,存儲(chǔ)系統(tǒng)110將所確定的存儲(chǔ)信息同步到多個(gè)服務(wù)器100,以使得多個(gè)服務(wù)器100中的相應(yīng)服務(wù)器在本地基于該存儲(chǔ)信息來對(duì)相應(yīng)服務(wù)器所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。應(yīng)當(dāng)理解,在此所述的同步是指存儲(chǔ)系統(tǒng)110中所存儲(chǔ)的該存儲(chǔ)信息與服務(wù)器100中所存儲(chǔ)的該存儲(chǔ)信息在任何時(shí)間都是一致的。

在一個(gè)實(shí)施方式中,存儲(chǔ)系統(tǒng)110將所確定的存儲(chǔ)信息以表格(例如表600)的形式同步到多個(gè)服務(wù)器100。在另一實(shí)施方式中,存儲(chǔ)系統(tǒng)110將所確定的存儲(chǔ)信息以相應(yīng)位圖的形式同步到多個(gè)服務(wù)器100。

現(xiàn)在轉(zhuǎn)向圖4,與圖3中的步驟S303對(duì)應(yīng)地,在步驟S401,服務(wù)器100從存儲(chǔ)系統(tǒng)110獲取與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息。如上所述,能夠被高速緩存的數(shù)據(jù)包括存儲(chǔ)系統(tǒng)110中的、被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的合集。

在一個(gè)實(shí)施方式中,服務(wù)器100從存儲(chǔ)系統(tǒng)110獲取以表格(例如表600)的形式被提供的存儲(chǔ)信息,并且在本地存儲(chǔ)該表格,如圖7所示。在另一實(shí)施方式中,服務(wù)器100從存儲(chǔ)系統(tǒng)110獲取以位圖的形式被提供的存儲(chǔ)信息。

接下來,在步驟S402,在多個(gè)服務(wù)器100中的相應(yīng)服務(wù)器處,基于所獲取的存儲(chǔ)信息來對(duì)相應(yīng)服務(wù)器所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,對(duì)相應(yīng)服務(wù)器所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩 存包括在相應(yīng)服務(wù)器的本地存儲(chǔ)設(shè)備中對(duì)數(shù)據(jù)進(jìn)行高速緩存。所述本地存儲(chǔ)設(shè)備例如包括、但不限于:存儲(chǔ)器、固態(tài)盤(SSD、閃存器件等。

在一個(gè)實(shí)施方式中,對(duì)相應(yīng)服務(wù)器所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存還包括建立從存儲(chǔ)系統(tǒng)的存儲(chǔ)空間到本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射。

服務(wù)器100可以以任何適當(dāng)?shù)男问浇拇鎯?chǔ)系統(tǒng)的存儲(chǔ)空間到本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射。圖7示例性地示出了在服務(wù)器100處以表格700的形式所建立的地址映射的一個(gè)示例。如表700所示,表700包括多個(gè)記錄,每個(gè)記錄包括如下記錄項(xiàng)目:LUN的標(biāo)識(shí)(LUN ID)、起始地址、偏移以及地址指針。地址指針這一記錄項(xiàng)目用于指示被高速緩存的數(shù)據(jù)在服務(wù)器100的存儲(chǔ)器中的存儲(chǔ)地址。從表700能夠清晰地看出存儲(chǔ)系統(tǒng)110中的哪些數(shù)據(jù)已被高速緩存在服務(wù)器100本地的存儲(chǔ)器中、以及被高速緩存的數(shù)據(jù)在存儲(chǔ)器中的存儲(chǔ)地址。

應(yīng)當(dāng)理解,在初始狀態(tài)下,表700中不包含任何數(shù)據(jù)。當(dāng)服務(wù)器100上的虛擬機(jī)和/或應(yīng)用程序啟動(dòng)時(shí),響應(yīng)于對(duì)數(shù)據(jù)的訪問請(qǐng)求,虛擬機(jī)和/或應(yīng)用程序查詢表700,以確定所需的數(shù)據(jù)是否已在本地被高速緩存。如果是,則虛擬機(jī)和/或應(yīng)用程序從表700中所指示的存儲(chǔ)位置獲取所需的數(shù)據(jù);如果否,則進(jìn)一步查詢表600,以確定所需的數(shù)據(jù)是否屬于能夠被高速緩存的數(shù)據(jù)。如果所需的數(shù)據(jù)屬于能夠被高速緩存的數(shù)據(jù),則虛擬機(jī)和/或應(yīng)用程序從存儲(chǔ)系統(tǒng)110獲取所需的數(shù) 據(jù),將所需的數(shù)據(jù)高速緩存于服務(wù)器100本地的存儲(chǔ)器中,并且針對(duì)所需的數(shù)據(jù)建立從存儲(chǔ)系統(tǒng)110的存儲(chǔ)空間到本地存儲(chǔ)器的存儲(chǔ)空間的地址映射,例如創(chuàng)建表700第一行中所示的記錄。

圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的、在圖2中的虛擬機(jī)/應(yīng)用程序管理模塊122處執(zhí)行的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的方法800的流程圖。在一個(gè)實(shí)施方式中,方法800由圖2所示的虛擬機(jī)/應(yīng)用程序管理模塊122中的感知插件125執(zhí)行。然而,應(yīng)當(dāng)理解,方法800也可以由虛擬機(jī)/應(yīng)用程序管理模塊122中的其他適當(dāng)?shù)哪K來執(zhí)行。本發(fā)明的范圍在此方面不受限制。

如圖8所示,在步驟S801,感知插件125監(jiān)控多個(gè)服務(wù)器100對(duì)存儲(chǔ)系統(tǒng)110中的數(shù)據(jù)的訪問。監(jiān)控對(duì)數(shù)據(jù)的訪問例如包括監(jiān)控訪問的類型。訪問的類型可以是讀取訪問、寫入訪問、同步、刪除、復(fù)制等。感知插件125通過監(jiān)控對(duì)數(shù)據(jù)的訪問可以獲知與訪問關(guān)聯(lián)的數(shù)據(jù)的特性以及數(shù)據(jù)的用途。數(shù)據(jù)的特性可以包括數(shù)據(jù)的類型以及數(shù)據(jù)的內(nèi)容。

在步驟S802,感知插件125向存儲(chǔ)系統(tǒng)110提供被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的信息,以使得存儲(chǔ)系統(tǒng)110基于該信息來確定與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)110中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,該能夠被高速緩存的數(shù)據(jù)包括被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的合集。

以上參照?qǐng)D3-7對(duì)被多個(gè)服務(wù)器100分別頻繁訪問的數(shù)據(jù)的信息、以及能夠被高速緩存的數(shù)據(jù)的描述同樣適用于圖8所示的實(shí)施方式, 因而在此不再贅述。

如前所述,能夠被高速緩存的數(shù)據(jù)的子集可以由多個(gè)服務(wù)器100中的至少兩個(gè)服務(wù)器共享。例如,如參照?qǐng)D5所描述的,服務(wù)器1004與服務(wù)器1001共享LUN A上的、從000到400的地址范圍內(nèi)的數(shù)據(jù)。就此而言,在一個(gè)實(shí)施方式中,感知插件125響應(yīng)于至少兩個(gè)服務(wù)器之一對(duì)數(shù)據(jù)的子集的更改,向存儲(chǔ)系統(tǒng)110發(fā)送更改通知消息,該更改通知消息指示對(duì)該數(shù)據(jù)的子集的更改。例如,操作系統(tǒng)的系統(tǒng)文件會(huì)被定期或不定期地更新。在能夠被高速緩存的數(shù)據(jù)包括操作系統(tǒng)的系統(tǒng)文件的情況下,當(dāng)該系統(tǒng)文件被更新時(shí),感知插件125會(huì)響應(yīng)于該更新而向存儲(chǔ)系統(tǒng)110發(fā)送更改通知消息。

相應(yīng)地,存儲(chǔ)系統(tǒng)110從感知插件125接收該更改通知消息。接下來,存儲(chǔ)系統(tǒng)110識(shí)別多個(gè)服務(wù)器中與該至少兩個(gè)服務(wù)器之一共享該數(shù)據(jù)的子集的服務(wù)器。隨后,存儲(chǔ)系統(tǒng)110向所識(shí)別的服務(wù)器轉(zhuǎn)發(fā)更改通知消息。相應(yīng)地,所識(shí)別的服務(wù)器響應(yīng)于接收到該更改通知消息,從在本地高速緩存的數(shù)據(jù)中移除該數(shù)據(jù)的子集。

在一個(gè)實(shí)施方式中,當(dāng)感知插件125識(shí)別出被多個(gè)服務(wù)器100之一頻繁訪問的新數(shù)據(jù)時(shí),感知插件125將該新數(shù)據(jù)的信息發(fā)送至存儲(chǔ)系統(tǒng)110。存儲(chǔ)系統(tǒng)110響應(yīng)于接收到該新數(shù)據(jù)的信息,而利用該新數(shù)據(jù)的信息來更新本地存儲(chǔ)的與能夠被高速緩存的數(shù)據(jù)有關(guān)的存儲(chǔ)信息,例如更新表600。此外,存儲(chǔ)系統(tǒng)110還將更新后的存儲(chǔ)信息同步到各個(gè)服務(wù)器100。

本發(fā)明的實(shí)施方式還提供了一種在存儲(chǔ)系統(tǒng)處實(shí)施的、用于擴(kuò)展 存儲(chǔ)系統(tǒng)的高速緩存的裝置。圖9示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置900的框圖。在一個(gè)實(shí)施方式中,裝置900在圖2所示的存儲(chǔ)系統(tǒng)110處實(shí)施。

如圖所示,裝置900包括:獲取單元910,被配置為獲取所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息;確定單元920,被配置為基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集;以及同步單元930,被配置為將所述存儲(chǔ)信息同步到所述多個(gè)客戶端,以使得所述多個(gè)客戶端中的相應(yīng)客戶端在本地基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,所述存儲(chǔ)信息至少包括:所述存儲(chǔ)系統(tǒng)中用于存儲(chǔ)所述數(shù)據(jù)的邏輯單元的標(biāo)識(shí),以及所述邏輯單元中用于存儲(chǔ)所述數(shù)據(jù)的地址范圍。

在一個(gè)實(shí)施方式中,獲取單元910被進(jìn)一步配置為從用于監(jiān)控所述多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問的實(shí)體獲取被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的所述信息。

在一個(gè)實(shí)施方式中,裝置900進(jìn)一步包括:接收單元,被配置為從所述實(shí)體接收更改通知消息,所述更改通知消息指示所述能夠被高速緩存的數(shù)據(jù)的子集已被更改;識(shí)別單元,被配置為識(shí)別所述多個(gè)客戶端中的共享所述數(shù)據(jù)的所述子集的客戶端;以及轉(zhuǎn)發(fā)單元,被配置為向所識(shí)別的客戶端轉(zhuǎn)發(fā)所述更改通知消息。

在一個(gè)實(shí)施方式中,獲取單元910被進(jìn)一步配置為從所述實(shí)體獲取所述存儲(chǔ)系統(tǒng)中的、被所述多個(gè)客戶端之一頻繁訪問的新數(shù)據(jù)的信息;并且確定單元920被進(jìn)一步配置為利用所述新數(shù)據(jù)的所述信息來更新所述存儲(chǔ)信息。

本發(fā)明的實(shí)施方式還提供了一種在存儲(chǔ)系統(tǒng)的客戶端處實(shí)施的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置。圖10示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置1000的框圖。在一個(gè)實(shí)施方式中,裝置1000在圖2所示的服務(wù)器100處實(shí)施。

如圖所示,裝置1000包括:存儲(chǔ)信息獲取單元1010,被配置為從所述存儲(chǔ)系統(tǒng)獲取與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括所述存儲(chǔ)系統(tǒng)中的、被所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的合集;以及高速緩存單元1020,被配置為在所述多個(gè)客戶端中的相應(yīng)客戶端處,基于所述存儲(chǔ)信息來對(duì)所述相應(yīng)客戶端所頻繁訪問的數(shù)據(jù)進(jìn)行高速緩存。

在一個(gè)實(shí)施方式中,高速緩存單元1020被進(jìn)一步配置為在所述相應(yīng)客戶端的本地存儲(chǔ)設(shè)備中對(duì)所述數(shù)據(jù)進(jìn)行高速緩存,并且存儲(chǔ)信息獲取單元1010被進(jìn)一步配置為建立從所述存儲(chǔ)系統(tǒng)的存儲(chǔ)空間到所述本地存儲(chǔ)設(shè)備的存儲(chǔ)空間的地址映射。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集至少由所述相應(yīng)客戶端和所述多個(gè)客戶端中的另一客戶端共享。存儲(chǔ)信息獲取單元1010被進(jìn)一步配置為在所述相應(yīng)客戶端處,從所述存儲(chǔ)系統(tǒng)接 收更改通知消息,所述更改通知消息指示所述數(shù)據(jù)的所述子集已被所述另一客戶端所更改。高速緩存單元1020被進(jìn)一步配置為從所述相應(yīng)客戶端所高速緩存的數(shù)據(jù)中移除所述數(shù)據(jù)的所述子集。

本發(fā)明的實(shí)施方式還提供了一種在用于監(jiān)控對(duì)存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問的實(shí)體處實(shí)施的、用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置。圖11示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置1100的框圖。在一個(gè)實(shí)施方式中,裝置1100在圖2所示的虛擬機(jī)/應(yīng)用程序管理模塊122處實(shí)施。

如圖所示,裝置1100包括:監(jiān)控單元1110,被配置為監(jiān)控所述存儲(chǔ)系統(tǒng)的多個(gè)客戶端對(duì)所述存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的訪問;以及信息提供單元1120,被配置為向所述存儲(chǔ)系統(tǒng)提供被所述多個(gè)客戶端分別頻繁訪問的數(shù)據(jù)的信息,以使得所述存儲(chǔ)系統(tǒng)基于所述信息來確定與能夠被高速緩存的數(shù)據(jù)在所述存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,所述能夠被高速緩存的數(shù)據(jù)包括被所述多個(gè)客戶端分別頻繁訪問的所述數(shù)據(jù)的合集。

在一個(gè)實(shí)施方式中,所述能夠被高速緩存的數(shù)據(jù)的子集由所述多個(gè)客戶端中的至少兩個(gè)客戶端共享。裝置1100進(jìn)一步包括:通知單元,被配置為響應(yīng)于所述至少兩個(gè)客戶端之一對(duì)所述數(shù)據(jù)的所述子集的更改,向所述存儲(chǔ)系統(tǒng)發(fā)送更改通知消息,所述更改通知消息指示對(duì)所述數(shù)據(jù)的所述子集的更改。

圖12示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的服務(wù)器/計(jì)算設(shè)備1200的示意性框圖。例如,圖12所示的服務(wù)器/計(jì)算設(shè)備1200可以 用于實(shí)現(xiàn)如參照?qǐng)D10所描述的用于擴(kuò)展存儲(chǔ)系統(tǒng)的高速緩存的裝置1000。

如圖12所示,服務(wù)器/計(jì)算設(shè)備1200包括虛擬機(jī)和應(yīng)用程序容器1230、SCSI層1220、設(shè)備驅(qū)動(dòng)層1210以及硬件平臺(tái)1201。

虛擬機(jī)和應(yīng)用程序容器1230包括虛擬機(jī)12031、12032、…、1203n(統(tǒng)稱為虛擬機(jī)1203).在虛擬機(jī)1203上安裝有文件系統(tǒng)1232。此外,在虛擬機(jī)1203上還運(yùn)行有操作系統(tǒng)1231和應(yīng)用程序1233。

SCSI層1220包括邊緣高速緩存模塊1221。設(shè)備驅(qū)動(dòng)層1210包括HBA驅(qū)動(dòng)器1211和高速緩存設(shè)備驅(qū)動(dòng)器1212。

硬件平臺(tái)包括CPU 1201、存儲(chǔ)器1202、本地存儲(chǔ)單元1203、HBA1204以及高速緩存設(shè)備1205。本地存儲(chǔ)單元1203包括、但是不限于:SSD、閃存器件等。盡管在圖12中將高速緩存設(shè)備1205以及存儲(chǔ)器1202和本地存儲(chǔ)單元1203示出為獨(dú)立的模塊,但是高速緩存設(shè)備1205可以實(shí)現(xiàn)為存儲(chǔ)器1202或本地存儲(chǔ)單元1203的一部分。

在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221、高速緩存設(shè)備驅(qū)動(dòng)器1212以及高速緩存設(shè)備1205在圖2所示的高速緩存模塊106中實(shí)施。

在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221從存儲(chǔ)系統(tǒng)110獲取與能夠被高速緩存的數(shù)據(jù)在存儲(chǔ)系統(tǒng)中的存儲(chǔ)有關(guān)的存儲(chǔ)信息,該能夠被高速緩存的數(shù)據(jù)包括被多個(gè)服務(wù)器分別頻繁訪問的數(shù)據(jù)的合集。在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221將所獲取的存儲(chǔ)信息以表600的形式進(jìn)行維護(hù)。

在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221基于該存儲(chǔ)信息來將服務(wù)器1200所頻繁訪問的數(shù)據(jù)高速緩存于高速緩存設(shè)備1205中。

在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221建立從存儲(chǔ)系統(tǒng)110的存儲(chǔ)空間到高速緩存設(shè)備1205的存儲(chǔ)空間的地址映射。在一個(gè)實(shí)施方式中,在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221以表700的形式建立該地址映射。

在一個(gè)實(shí)施方式中,能夠被高速緩存的數(shù)據(jù)的子集至少由服務(wù)器1200和另一服務(wù)器共享。在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221從存儲(chǔ)系統(tǒng)110接收更改通知消息,該更改通知消息指示該數(shù)據(jù)的子集已被該另一服務(wù)器所更改。在一個(gè)實(shí)施方式中,邊緣高速緩存模塊1221響應(yīng)于接收到該更改通知消息從高速緩存設(shè)備1205中該數(shù)據(jù)的子集。

特別地,根據(jù)本發(fā)明的實(shí)施例,上文參考圖3、4和8描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本發(fā)明的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行方法300、400和800的程序代碼。

一般而言,本發(fā)明的各種示例實(shí)施例可以在硬件或?qū)S秒娐?、軟件、邏輯,或其任何組合中實(shí)施。某些方面可以在硬件中實(shí)施,而其他方面可以在可以由控制器、微處理器或其他計(jì)算設(shè)備執(zhí)行的固件或軟件中實(shí)施。當(dāng)本發(fā)明的實(shí)施例的各方面被圖示或描述為框圖、流程圖或使用某些其他圖形表示時(shí),將理解此處描述的方框、裝置、系統(tǒng)、技術(shù)或方法可以作為非限制性的示例在硬件、軟件、固件、專用電路 或邏輯、通用硬件或控制器或其他計(jì)算設(shè)備,或其某些組合中實(shí)施。

而且,流程圖中的各框可以被看作是方法步驟,和/或計(jì)算機(jī)程序代碼的操作生成的操作,和/或理解為執(zhí)行相關(guān)功能的多個(gè)耦合的邏輯電路元件。例如,本發(fā)明的實(shí)施例包括計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括有形地實(shí)現(xiàn)在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包含被配置為實(shí)現(xiàn)上文描述方法的程序代碼。

在公開的上下文內(nèi),機(jī)器可讀介質(zhì)可以是包含或存儲(chǔ)用于或有關(guān)于指令執(zhí)行系統(tǒng)、裝置或設(shè)備的程序的任何有形介質(zhì)。機(jī)器可讀介質(zhì)可以是機(jī)器可讀信號(hào)介質(zhì)或機(jī)器可讀存儲(chǔ)介質(zhì)。機(jī)器可讀介質(zhì)可以包括但不限于電子的、磁的、光學(xué)的、電磁的、紅外的或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或其任意合適的組合。機(jī)器可讀存儲(chǔ)介質(zhì)的更詳細(xì)示例包括帶有一根或多根導(dǎo)線的電氣連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存儲(chǔ)存取器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPROM或閃存)、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備,或其任意合適的組合。

用于實(shí)現(xiàn)本發(fā)明的方法的計(jì)算機(jī)程序代碼可以用一種或多種編程語言編寫。這些計(jì)算機(jī)程序代碼可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程的數(shù)據(jù)處理裝置的處理器,使得程序代碼在被計(jì)算機(jī)或其他可編程的數(shù)據(jù)處理裝置執(zhí)行的時(shí)候,引起在流程圖和/或框圖中規(guī)定的功能/操作被實(shí)施。程序代碼可以完全在計(jì)算機(jī)上、部分在計(jì)算機(jī)上、作為獨(dú)立的軟件包、部分在計(jì)算機(jī)上且部分在遠(yuǎn)程計(jì)算機(jī)上或完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。

另外,盡管操作以特定順序被描繪,但這并不應(yīng)該理解為要求此類操作以示出的特定順序或以相繼順序完成,或者執(zhí)行所有圖示的操作以獲取期望結(jié)果。在某些情況下,多任務(wù)或并行處理會(huì)是有益的。同樣地,盡管上述討論包含了某些特定的實(shí)施細(xì)節(jié),但這并不應(yīng)解釋為限制任何發(fā)明或權(quán)利要求的范圍,而應(yīng)解釋為對(duì)可以針對(duì)特定發(fā)明的特定實(shí)施例的描述。本說明書中在分開的實(shí)施例的上下文中描述的某些特征也可以整合實(shí)施在單個(gè)實(shí)施例中。相反地,在單個(gè)實(shí)施例的上下文中描述的各種特征也可以分離地在多個(gè)實(shí)施例或在任意合適的子組合中實(shí)施。

針對(duì)前述本發(fā)明的示例實(shí)施例的各種修改、改變將在連同附圖查看前述描述時(shí)對(duì)相關(guān)技術(shù)領(lǐng)域的技術(shù)人員變得明顯。任何及所有修改將仍落入非限制的和本發(fā)明的示例實(shí)施例范圍。此外,前述說明書和附圖存在啟發(fā)的益處,涉及本發(fā)明的這些實(shí)施例的技術(shù)領(lǐng)域的技術(shù)人員將會(huì)想到此處闡明的本發(fā)明的其他實(shí)施例。

將會(huì)理解,本法明的實(shí)施例不限于公開的特定實(shí)施例,并且修改和其他實(shí)施例都應(yīng)包含于所附的權(quán)利要求范圍內(nèi)。盡管此處使用了特定的術(shù)語,但是它們僅在通用和描述的意義上使用,而并不用于限制目的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
利津县| 宁化县| 息烽县| 弋阳县| 吉林市| 广丰县| 城口县| 涪陵区| 黄梅县| 徐州市| 凤山县| 宝应县| 吴川市| 乐平市| 萨迦县| 庆阳市| 兰州市| 德阳市| 清丰县| 沂水县| 潍坊市| 兴海县| 繁昌县| 临洮县| 开鲁县| 灵川县| 平利县| 邢台市| 隆化县| 合肥市| 颍上县| 苍山县| 沙河市| 墨竹工卡县| 长子县| 丰台区| 武夷山市| 浮山县| 恩施市| 遂宁市| 福海县|