部署數(shù)據(jù)-路徑相關(guān)插件的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)系統(tǒng)數(shù)據(jù)-路徑相關(guān)插件并且尤其涉及用于部署這種數(shù)據(jù)-路徑相關(guān)插件的系統(tǒng)和方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)的容量和速度的增長(zhǎng),分布式存儲(chǔ)系統(tǒng)在過(guò)去的十年里快速發(fā)展。隨著網(wǎng)絡(luò)從局域網(wǎng)(LAN)擴(kuò)展至全球廣域網(wǎng)(WAN),業(yè)務(wù)正在變得更全球化分布,從而導(dǎo)致對(duì)分布式存儲(chǔ)系統(tǒng)的需求,以提供再在遠(yuǎn)程地理位置上的數(shù)據(jù)存儲(chǔ)和訪問。在一些情況下,各種實(shí)體尋求開發(fā)各種分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)-路徑相關(guān)插件并且把這種數(shù)據(jù)-路徑相關(guān)插件結(jié)合到分布式存儲(chǔ)系統(tǒng)中的能力。但是,在分布式存儲(chǔ)系統(tǒng)中結(jié)合這種數(shù)據(jù)-路徑相關(guān)插件會(huì)造成非預(yù)期或不想要的行為,例如,數(shù)據(jù)破壞、降級(jí)的性能,等等。因此,在本領(lǐng)域存在對(duì)于在分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)-路徑相關(guān)插件的新方法和系統(tǒng)的需求。
[0003]作為背景被認(rèn)為與目前公開的主題相關(guān)的現(xiàn)有技術(shù)參考文獻(xiàn)在以下列出。本文對(duì)這些參考文獻(xiàn)的承認(rèn)不應(yīng)當(dāng)被認(rèn)為意味著這些以任何方式與目前公開的主題的專利性相關(guān)。
[0004]標(biāo)題為“Apparatusand Method for a Distributed Storage Global Database”的美國(guó)專利公開N0.2009/0070337涉及“一種用于管理數(shù)據(jù)元素分布的地理上分布的存儲(chǔ)系統(tǒng),其中對(duì)給定數(shù)據(jù)元素的請(qǐng)求招致地理慣性。地理上分布的存儲(chǔ)系統(tǒng)包括地理上分布的站點(diǎn),每個(gè)站點(diǎn)包括用于本地存儲(chǔ)包括數(shù)據(jù)元素的全局一致的分布式數(shù)據(jù)庫(kù)的一部分的站點(diǎn)存儲(chǔ)單元以及用于接收與其中一些數(shù)據(jù)元素相關(guān)的請(qǐng)求的本地訪問點(diǎn)。地理上分布的存儲(chǔ)系統(tǒng)包括數(shù)據(jù)管理模塊,用于把至少一個(gè)所請(qǐng)求的數(shù)據(jù)元素轉(zhuǎn)發(fā)到位于從其接收到請(qǐng)求的第一地理分布站點(diǎn)處的本地訪問點(diǎn)并且在這第一站點(diǎn)處存儲(chǔ)該至少一個(gè)所請(qǐng)求的數(shù)據(jù)元素,由此為將來(lái)來(lái)自該第一站點(diǎn)的請(qǐng)求提供對(duì)數(shù)據(jù)元素的本地訪問能力,同時(shí)維持分布式數(shù)據(jù)庫(kù)的全局一致性?!?br>[0005]標(biāo)題為“Remote Access and Geographically Distributed Computers in aGlobally Addressable Storage Environment”的美國(guó)專利 N0.5987505 涉及“一種計(jì)算機(jī)系統(tǒng)采用全球可尋址的存儲(chǔ)環(huán)境,即使數(shù)據(jù)被存儲(chǔ)在諸如計(jì)算機(jī)硬盤的持久性存儲(chǔ)設(shè)備和其它傳統(tǒng)不可尋址的數(shù)據(jù)存儲(chǔ)設(shè)備上時(shí),該環(huán)境也允許多個(gè)聯(lián)網(wǎng)的計(jì)算機(jī)通過(guò)尋址來(lái)訪問數(shù)據(jù)。計(jì)算機(jī)可以位于單個(gè)計(jì)算機(jī)網(wǎng)絡(luò)上或者多個(gè)互連的計(jì)算機(jī)網(wǎng)絡(luò)上,諸如通過(guò)廣域網(wǎng)(WAN)耦合的兩個(gè)局域網(wǎng)(LAN)。全球可尋址的存儲(chǔ)環(huán)境允許由多個(gè)網(wǎng)絡(luò)上的各個(gè)計(jì)算機(jī)訪問數(shù)據(jù)并在這些計(jì)算機(jī)之間共享數(shù)據(jù)?!?br>[0006]Ms.S.V.Patil 等人于 Internat1nal Journal of ComputerApplicat1ns 2010 (0975 - 8887), Volume 1- N0.22 上發(fā)表的“Unified VirtualStorage: Virtualizat1n of Distributed Storage in a Network” 描述了“一種高效利用經(jīng)網(wǎng)絡(luò)連接的臺(tái)式機(jī)器上的空閑盤空間的途徑。在如今許多網(wǎng)絡(luò)中,客戶端節(jié)點(diǎn)的本地盤僅僅被零星地使用。這是在網(wǎng)絡(luò)中高效地管理數(shù)據(jù)存儲(chǔ)并且為在LAN中共享臺(tái)式機(jī)器上的盤空間提供軟件支持的嘗試。在目前的情況下,常規(guī)服務(wù)器上的存儲(chǔ)擴(kuò)展具有約束,像最大擴(kuò)展限制,昂貴的事情,并且在硬件更換的情況下,數(shù)據(jù)的升級(jí)、手動(dòng)重定位變得混亂。UVS(統(tǒng)一虛擬存儲(chǔ))是高效地利用經(jīng)網(wǎng)絡(luò)連接的臺(tái)式機(jī)器上的空閑可用盤空間的嘗試。其目的是減小網(wǎng)絡(luò)服務(wù)器上的數(shù)據(jù)流量負(fù)荷、高效地利用客戶端節(jié)點(diǎn)上的空間,由此避免空間的浪費(fèi)。它還消除了對(duì)存儲(chǔ)擴(kuò)展的硬件限制并且提供數(shù)據(jù)存儲(chǔ)的位置透明性。UVS的主要優(yōu)點(diǎn)在于它可以被無(wú)縫地集成到現(xiàn)有的基礎(chǔ)設(shè)施(局域網(wǎng)系統(tǒng))中。虛擬存儲(chǔ)幾乎無(wú)限地支持可伸縮的體系架構(gòu)。客戶端節(jié)點(diǎn)可以使用統(tǒng)一虛擬驅(qū)動(dòng)器作為跨不同服務(wù)器對(duì)分布式儲(chǔ)存器的單點(diǎn)訪問,由此消除服務(wù)器的單獨(dú)尋址。在由網(wǎng)絡(luò)連接的UVS服務(wù)器上實(shí)現(xiàn)的原型的性能比集中式系統(tǒng)好,并且甚至在高負(fù)荷期間,框架的開銷也適中?!?br>[0007]標(biāo)題為“Dynamic Structural Management of a Distributed CachingInfrastructure”的美國(guó)專利公開N0.2011/0153770涉及“用于n層分布式高速緩存基礎(chǔ)設(shè)施的動(dòng)態(tài)結(jié)構(gòu)化管理的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。在本發(fā)明的實(shí)施例中,η層分布式高速緩存體系架構(gòu)的動(dòng)態(tài)結(jié)構(gòu)化管理的方法包括建立到布置在η層高速緩存中的各個(gè)層節(jié)點(diǎn)中的多個(gè)高速緩存服務(wù)器的通信連接、為η層高速緩存的各個(gè)層節(jié)點(diǎn)中的每個(gè)高速緩存服務(wù)器收集性能度量、識(shí)別η層的對(duì)應(yīng)一個(gè)層節(jié)點(diǎn)中的特定高速緩存資源跨過(guò)閾值的特性,并且動(dòng)態(tài)地結(jié)構(gòu)化一組高速緩存資源,包括解釋所識(shí)別出的特性的特定高速緩存資源。”
【發(fā)明內(nèi)容】
[0008]根據(jù)目前公開的主題的第一方面,提供了用于為存儲(chǔ)系統(tǒng)的邏輯存儲(chǔ)實(shí)體部署數(shù)據(jù)-路徑相關(guān)插件的方法,該方法包括:為所述邏輯存儲(chǔ)實(shí)體部署所述數(shù)據(jù)-路徑相關(guān)插件,其中所述部署包括創(chuàng)建包含插件的數(shù)據(jù)-路徑規(guī)范,并且其中所述包含插件的數(shù)據(jù)-路徑規(guī)范包括數(shù)據(jù)-路徑相關(guān)插件的操作;及創(chuàng)建驗(yàn)證數(shù)據(jù)路徑規(guī)范,其中所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范不包括數(shù)據(jù)-路徑相關(guān)插件的操作,并且其中在具有所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范的驗(yàn)證數(shù)據(jù)-路徑中執(zhí)行的任務(wù)生成使得能夠?qū)τ伤鋈蝿?wù)在具有所述包含插件的數(shù)據(jù)-路徑規(guī)范的包含插件的數(shù)據(jù)-路徑中執(zhí)行而生成的給定數(shù)據(jù)進(jìn)行確認(rèn)的驗(yàn)證數(shù)據(jù)。
[0009]在一些情況下,數(shù)據(jù)-路徑相關(guān)插件選自存儲(chǔ)在與存儲(chǔ)系統(tǒng)相關(guān)聯(lián)的插件池中的數(shù)據(jù)-路徑相關(guān)插件的列表。
[0010]在一些情況下,該方法還包括檢查所述部署是否將不導(dǎo)致與邏輯存儲(chǔ)實(shí)體相關(guān)聯(lián)的服務(wù)等級(jí)規(guī)范(SLS)的違背,并且其中如果所述檢查指示所述部署將不導(dǎo)致所述SLS的違背,則所述部署和所述創(chuàng)建被執(zhí)行。
[0011]在一些情況下,該方法還包括在所述包含插件的數(shù)據(jù)-路徑上和在所述驗(yàn)證數(shù)據(jù)-路徑上執(zhí)行給定的任務(wù);利用所述驗(yàn)證數(shù)據(jù)驗(yàn)證所述給定數(shù)據(jù);及如果第一執(zhí)行結(jié)果與第二執(zhí)行結(jié)果之間存在任何不相符,則執(zhí)行一個(gè)或多個(gè)失敗動(dòng)作。
[0012]在一些情況下,如果所述驗(yàn)證數(shù)據(jù)包含與所述給定數(shù)據(jù)中所包含的信息完全相同的信息,則所述驗(yàn)證是成功的。
[0013]在一些情況下,如果所述驗(yàn)證數(shù)據(jù)與所述給定數(shù)據(jù)完全相同,則所述驗(yàn)證是成功的。
[0014]在一些情況下,所述一個(gè)或多個(gè)失敗動(dòng)作包括以下動(dòng)作當(dāng)中的一個(gè)或多個(gè):
[0015](a)從邏輯存儲(chǔ)實(shí)體去除所述未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件;
[0016](b)對(duì)于邏輯存儲(chǔ)實(shí)體禁用未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件;
[0017](c)利用驗(yàn)證數(shù)據(jù)校正給定數(shù)據(jù);
[0018](d)向邏輯存儲(chǔ)實(shí)體的用戶發(fā)布指示失敗的通知;
[0019](e)如果存在未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件的任何之前的版本,則恢復(fù)到之前的版本;
[0020](f)降低與未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件相關(guān)聯(lián)的等級(jí)。
[0021]在一些情況下,該方法還包括,如果未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件的確認(rèn)完成,則去除驗(yàn)證數(shù)據(jù)-路徑并且執(zhí)行一個(gè)或多個(gè)確認(rèn)動(dòng)作。
[0022]在一些情況下,所述確認(rèn)動(dòng)作包括以下動(dòng)作當(dāng)中的一個(gè)或多個(gè):
[0023](a)增加與未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件相關(guān)聯(lián)的等級(jí);
[0024](b)向邏輯存儲(chǔ)實(shí)體的用戶發(fā)布指示確認(rèn)完成的通知。
[0025]在一些情況下,所述存儲(chǔ)系統(tǒng)是分布式存儲(chǔ)系統(tǒng),并且如果所述檢查指示所述部署將導(dǎo)致所述SLS的違背,則該方法還包括:接收與分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)行為相關(guān)的動(dòng)態(tài)行為參數(shù)數(shù)據(jù);至少基于所述至少一個(gè)SLS、與連接到所述分布式存儲(chǔ)系統(tǒng)的基礎(chǔ)設(shè)施層的存儲(chǔ)相關(guān)資源相關(guān)的存儲(chǔ)相關(guān)資源參數(shù)數(shù)據(jù)、以及動(dòng)態(tài)行為參數(shù)數(shù)據(jù),為分布式存儲(chǔ)系統(tǒng)計(jì)算重新配置;及根據(jù)計(jì)算出的重新配置自動(dòng)分配所述存儲(chǔ)相關(guān)資源之一的至少一部分。
[0026]根據(jù)所公開主題的第二方面,提供了包括被配置為執(zhí)行統(tǒng)一分布式存儲(chǔ)平臺(tái)(UDSP)代理的至少一個(gè)處理資源的計(jì)算機(jī)節(jié)點(diǎn),其中所述UDSP代理被配置為:為所述邏輯存儲(chǔ)實(shí)體部署所述數(shù)據(jù)-路徑相關(guān)插件,其中所述部署包括創(chuàng)建包含插件的數(shù)據(jù)-路徑規(guī)范,并且其中所述包含插件的數(shù)據(jù)-路徑規(guī)范包括數(shù)據(jù)-路徑相關(guān)插件的操作;及創(chuàng)建驗(yàn)證數(shù)據(jù)路徑規(guī)范,其中所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范不包括數(shù)據(jù)-路徑相關(guān)插件的操作,并且其中在具有所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范的驗(yàn)證數(shù)據(jù)-路徑中執(zhí)行的任務(wù)生成使得能夠?qū)τ伤鋈蝿?wù)在具有所述包含插件的數(shù)據(jù)-路徑規(guī)范的包含插件的數(shù)據(jù)-路徑中執(zhí)行而生成的給定數(shù)據(jù)進(jìn)行確認(rèn)的驗(yàn)證數(shù)據(jù)。
[0027]在一些情況下,數(shù)據(jù)-路徑相關(guān)插件選自存儲(chǔ)在與存儲(chǔ)系統(tǒng)相關(guān)聯(lián)的插件池中的數(shù)據(jù)-路徑相關(guān)插件的列表。
[0028]在一些情況下,所述UDSP代理還被配置為檢查所述部署是否將不導(dǎo)致與邏輯存儲(chǔ)實(shí)體相關(guān)聯(lián)的服務(wù)等級(jí)規(guī)范(SLS)的違背,并且其中如果所述檢查指示所述部署將不導(dǎo)致所述SLS的違背,則所述部署和所述創(chuàng)建被執(zhí)行。
[0029]在一些情況下,所述UDSP代理還被配置為:在所述包含插件的數(shù)據(jù)-路徑上和在所述驗(yàn)證數(shù)據(jù)-路徑上執(zhí)行給定的任務(wù);利用所述驗(yàn)證數(shù)據(jù)驗(yàn)證所述給定數(shù)據(jù);及如果第一執(zhí)行結(jié)果與第二執(zhí)行結(jié)果之間存在任何不相符,則執(zhí)行一個(gè)或多個(gè)失敗動(dòng)作。
[0030]在一些情況下,如果所述驗(yàn)證數(shù)據(jù)包含與所述給定數(shù)據(jù)中所包含的信息完全相同的信息,則所述驗(yàn)證是成功的。
[0031]在一些情況下,如果所述驗(yàn)證數(shù)據(jù)與所述給定數(shù)據(jù)完全相同,則所述驗(yàn)證是成功的。
[0032]在一些情況下,所述一個(gè)或多個(gè)失敗動(dòng)作包括以下動(dòng)作當(dāng)中的一個(gè)或多個(gè):
[0033](a)從邏輯存儲(chǔ)實(shí)體去除所述未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件;
[0034](b)對(duì)于邏輯存儲(chǔ)實(shí)體禁用未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件;
[0035](C)利用驗(yàn)證數(shù)據(jù)校正給定數(shù)據(jù);
[0036](d)向邏輯存儲(chǔ)實(shí)體的用戶發(fā)布指示失敗的通知;
[0037](e)如果存在未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件的任何之前的版本,則恢復(fù)到之前的版本;
[0038](f)降低與未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件相關(guān)聯(lián)的等級(jí)。
[0039]在一些情況下,如果未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件的確認(rèn)完成,則所述UDSP代理還被配置為去除驗(yàn)證數(shù)據(jù)-路徑并且執(zhí)行一個(gè)或多個(gè)確認(rèn)動(dòng)作。
[0040]在一些情況下,所述確認(rèn)動(dòng)作包括以下動(dòng)作當(dāng)中的一個(gè)或多個(gè):
[0041](a)增加與未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件相關(guān)聯(lián)的等級(jí);
[0042](b)向邏輯存儲(chǔ)實(shí)體的用戶發(fā)布指示確認(rèn)完成的通知。
[0043]在一些情況下,所述存儲(chǔ)系統(tǒng)是分布式存儲(chǔ)系統(tǒng),并且如果所述檢查指示所述部署將導(dǎo)致所述SLS的違背,則所述UDSP代理還被配置為:接收與分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)行為相關(guān)的動(dòng)態(tài)行為參數(shù)數(shù)據(jù);至少基于所述至少一個(gè)SLS、與連接到所述分布式存儲(chǔ)系統(tǒng)的基礎(chǔ)設(shè)施層的存儲(chǔ)相關(guān)資源相關(guān)的存儲(chǔ)相關(guān)資源參數(shù)數(shù)據(jù)、以及動(dòng)態(tài)行為參數(shù)數(shù)據(jù),為分布式存儲(chǔ)系統(tǒng)計(jì)算重新配置;及根據(jù)計(jì)算出的重新配置自動(dòng)分配所述存儲(chǔ)相關(guān)資源之一的至少一部分。
[0044]根據(jù)第三方面,提供了可由機(jī)器讀取的程序存儲(chǔ)設(shè)備,具體體現(xiàn)可由機(jī)器執(zhí)行以執(zhí)行為存儲(chǔ)系統(tǒng)的邏輯存儲(chǔ)實(shí)體部署數(shù)據(jù)-路徑相關(guān)插件的方法的指令程序,該方法包括步驟:為所述邏輯存儲(chǔ)實(shí)體部署所述數(shù)據(jù)-路徑相關(guān)插件,其中所述部署包括創(chuàng)建包含插件的數(shù)據(jù)-路徑規(guī)范,并且其中所述包含插件的數(shù)據(jù)-路徑規(guī)范包括數(shù)據(jù)-路徑相關(guān)插件的操作;及創(chuàng)建驗(yàn)證數(shù)據(jù)路徑規(guī)范,其中所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范不包括數(shù)據(jù)-路徑相關(guān)插件的操作,并且其中在具有所述驗(yàn)證數(shù)據(jù)-路徑規(guī)范的驗(yàn)證數(shù)據(jù)-路徑中執(zhí)行的任務(wù)生成使得能夠?qū)τ伤鋈蝿?wù)在具有所述包含插件的數(shù)據(jù)-路徑規(guī)范的包含插件的數(shù)據(jù)-路徑中執(zhí)行而生成的給定數(shù)據(jù)進(jìn)行確認(rèn)的驗(yàn)證數(shù)據(jù)。
【附圖說(shuō)明】
[0045]為了理解本公開主題并且看到它在實(shí)踐當(dāng)中可以如何被執(zhí)行,現(xiàn)在將參考附圖僅僅作為非限制性示例來(lái)描述主題,其中:
[0046]圖1示意性地示出了根據(jù)本發(fā)明的示例性實(shí)施例的包括基礎(chǔ)設(shè)施層的分布式存儲(chǔ)系統(tǒng)的頂層體系架構(gòu);
[0047]圖2示意性地示出了根據(jù)目前公開的主題的用于配置分布式存儲(chǔ)系統(tǒng)的簡(jiǎn)化的示例性系統(tǒng);
[0048]圖3示意性地示出了根據(jù)目前公開的主題的由基于目標(biāo)的管理系統(tǒng)執(zhí)行的優(yōu)化過(guò)程的簡(jiǎn)化和示例性流程圖;
[0049]圖4示意性地示出了根據(jù)目前公開的主題的由基于目標(biāo)的管理系統(tǒng)執(zhí)行的配置過(guò)程的示例性操作算法的簡(jiǎn)化流程圖;
[0050]圖5是示意性地示出根據(jù)目前公開的主題的某些例子的連接到分布式存儲(chǔ)系統(tǒng)的示例性計(jì)算機(jī)節(jié)點(diǎn)的框圖;
[0051]圖6是示出根據(jù)目前公開的主題的為了把新的數(shù)據(jù)-路徑相關(guān)插件引入分布式存儲(chǔ)系統(tǒng)的插件層而執(zhí)行的操作序列的一個(gè)例子的流程圖;
[0052]圖7是示出根據(jù)目前公開的主題的為了在分布式存儲(chǔ)系統(tǒng)上部署未經(jīng)過(guò)確認(rèn)的數(shù)據(jù)-路徑相關(guān)插件而執(zhí)行的操作序列的一個(gè)例子的流程圖;
[0053]圖8是示出根據(jù)目前公開的主題