本實(shí)用新型公開(kāi)一種存儲(chǔ)裝置,特別是指一個(gè)機(jī)箱包括多個(gè)以一服務(wù)器與一存儲(chǔ)器形成的存儲(chǔ)單元的軟件定義存儲(chǔ)裝置與系統(tǒng)。
背景技術(shù):
信息存儲(chǔ)方案從單純?cè)O(shè)于計(jì)算機(jī)裝置機(jī)箱內(nèi)部或外接的磁盤(pán)、硬盤(pán),并延伸到可經(jīng)由網(wǎng)絡(luò)存取的網(wǎng)絡(luò)硬盤(pán),常見(jiàn)如一種網(wǎng)絡(luò)附加存儲(chǔ)(Network Attached Storage,NAS)的存儲(chǔ)方案。除了一般存儲(chǔ)檔案的需求外,利用網(wǎng)絡(luò)形成的遠(yuǎn)距數(shù)據(jù)存儲(chǔ)方案還考慮了安全性。
例如,如果僅采用一個(gè)硬盤(pán)存儲(chǔ)檔案,當(dāng)硬盤(pán)損毀時(shí),不容易恢復(fù)檔案,因此現(xiàn)有技術(shù)提出一種采用兩個(gè)以上的硬盤(pán)的備援方案,例如一種容錯(cuò)性的磁盤(pán)陣列(Redundant Array of Independent Disks)技術(shù),可以使得如網(wǎng)絡(luò)附加存儲(chǔ)的存儲(chǔ)裝置具有容錯(cuò)的能力。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型提出一種軟件定義存儲(chǔ)裝置,所述軟件定義存儲(chǔ)裝置包括:至少一個(gè)封包交換單元,用以連接一外部網(wǎng)絡(luò);以及多個(gè)存儲(chǔ)單元,各存儲(chǔ)單元包括一伺服單元以及一存儲(chǔ)器,該伺服單元以至少一網(wǎng)絡(luò)端口連接該至少一個(gè)封包交換單元,該伺服單元以一數(shù)據(jù)傳輸端口連接該存儲(chǔ)器;其中各伺服單元的每個(gè)網(wǎng)絡(luò)端口對(duì)應(yīng)有一識(shí)別地址;其中該多個(gè)存儲(chǔ)單元的不同伺服單元之間以一網(wǎng)絡(luò)協(xié)議彼此進(jìn)行通訊,以一存儲(chǔ)模式存儲(chǔ)一數(shù)據(jù)。
進(jìn)一步地,所述封包交換單元為設(shè)于該軟件定義存儲(chǔ)裝置內(nèi)的一網(wǎng)絡(luò)交換器,用以連接至少一個(gè)外部交換器。
進(jìn)一步地,所述至少一個(gè)封包交換單元分別連接一或多個(gè)外部交換器,以于該軟件定義存儲(chǔ)裝置中實(shí)現(xiàn)網(wǎng)絡(luò)聯(lián)機(jī)備援。
進(jìn)一步地,所述至少一個(gè)封包交換單元為多個(gè)封包交換單元,各存儲(chǔ)單元的該伺服單元具有多個(gè)網(wǎng)絡(luò)端口,分別連接各封包交換單元,以于該軟件定義存儲(chǔ)裝置中實(shí)現(xiàn)數(shù)據(jù)存取備援。
本實(shí)用新型還提出一種軟件定義存儲(chǔ)裝置,所述軟件定義存儲(chǔ)裝置包括:至少一個(gè)封包交換單元,用以連接一外部網(wǎng)絡(luò);以及多個(gè)存儲(chǔ)單元,各存儲(chǔ)單元包括一伺服單元以及一存儲(chǔ)器,該伺服單元以至少一網(wǎng)絡(luò)端口連接該至少一個(gè)封包交換單元,該伺服單元以一數(shù)據(jù)傳輸端口連接該存儲(chǔ)器;其中各伺服單元的每個(gè)網(wǎng)絡(luò)端口對(duì)應(yīng)有一識(shí)別地址;其中各伺服單元包括一處理單元、一記憶單元、一存儲(chǔ)器控制單元、一輸入輸出單元以及一網(wǎng)絡(luò)單元,其中該存儲(chǔ)器控制單元用以連接該伺服單元對(duì)應(yīng)的該存儲(chǔ)器,以及該網(wǎng)絡(luò)單元連接該至少一個(gè)封包交換單元;其中,該多個(gè)存儲(chǔ)單元的不同伺服單元之間以一網(wǎng)絡(luò)協(xié)議彼此進(jìn)行通訊,以一存儲(chǔ)模式存儲(chǔ)一數(shù)據(jù)。
進(jìn)一步地,所述封包交換單元為設(shè)于該軟件定義存儲(chǔ)裝置內(nèi)的一網(wǎng)絡(luò)交換器,用以連接至少一個(gè)外部交換器。
進(jìn)一步地,所述至少一個(gè)封包交換單元分別連接一或多個(gè)外部交換器,以于該軟件定義存儲(chǔ)裝置中實(shí)現(xiàn)網(wǎng)絡(luò)聯(lián)機(jī)備援。
本實(shí)用新型還提出一種軟件定義存儲(chǔ)系統(tǒng),所述軟件定義存儲(chǔ)系統(tǒng)包括:多個(gè)軟件定義存儲(chǔ)裝置,該多個(gè)軟件定義存儲(chǔ)裝置經(jīng)由一或多個(gè)外部交換器連接,各軟件定義存儲(chǔ)裝置包括:多個(gè)封包交換單元,用以連接一外部網(wǎng)絡(luò);多個(gè)存儲(chǔ)單元,各存儲(chǔ)單元包括一伺服單元以及一存儲(chǔ)器,該伺服單元以多個(gè)網(wǎng)絡(luò)端口分別連接該多個(gè)封包交換單元,該伺服單元以一數(shù)據(jù)傳輸端口連接該存儲(chǔ)器;其中各伺服單元的每個(gè)網(wǎng)絡(luò)端口對(duì)應(yīng)有一識(shí)別地址;其中,該多個(gè)存儲(chǔ)單元的不同伺服單元之間以一網(wǎng)絡(luò)協(xié)議彼此進(jìn)行通訊,以一存儲(chǔ)模式存儲(chǔ)一數(shù)據(jù);以及,各軟件定義存儲(chǔ)裝置的該多個(gè)封包交換單元分別連接一或多個(gè)外部交換器,以于該軟件定義存儲(chǔ)裝置中實(shí)現(xiàn)網(wǎng)絡(luò)聯(lián)機(jī)備援。
進(jìn)一步地,各存儲(chǔ)單元的該伺服單元具有多個(gè)網(wǎng)絡(luò)端口,分別連接該多個(gè)封包交換單元,以于該軟件定義存儲(chǔ)裝置中實(shí)現(xiàn)數(shù)據(jù)存取備援。
進(jìn)一步地,各軟件定義存儲(chǔ)裝置中的該多個(gè)存儲(chǔ)單元的不同伺服單元之間以一網(wǎng)絡(luò)協(xié)議彼此進(jìn)行通訊。
附圖說(shuō)明
圖1A與圖1B顯示本創(chuàng)作軟件定義存儲(chǔ)裝置的基本實(shí)施態(tài)樣的示意圖;
圖2顯示本創(chuàng)作軟件定義存儲(chǔ)裝置的實(shí)施例示意圖;
圖3顯示應(yīng)用本創(chuàng)作軟件定義存儲(chǔ)裝置形成的網(wǎng)絡(luò)系統(tǒng)的實(shí)施例示意圖;
圖4顯示本創(chuàng)作軟件定義存儲(chǔ)裝置的實(shí)施例示意圖;
圖5顯示應(yīng)用軟件定義存儲(chǔ)裝置的存儲(chǔ)方法實(shí)施例流程圖;
圖6顯示應(yīng)用軟件定義存儲(chǔ)裝置的存儲(chǔ)方法實(shí)施例流程圖。
具體實(shí)施方式
本創(chuàng)作說(shuō)明書(shū)描述一種軟件定義存儲(chǔ)裝置與系統(tǒng),可以提供一網(wǎng)絡(luò)存儲(chǔ)方案,不僅具有高可用性(high availability),還具有可擴(kuò)充性。軟件定義存儲(chǔ)裝置為系統(tǒng)的最小單位,可以單獨(dú)運(yùn)行,亦可由多個(gè)軟件定義存儲(chǔ)裝置組合形成軟件定義存儲(chǔ)系統(tǒng)。
實(shí)施例可參考圖1A所示軟件定義存儲(chǔ)裝置的基本實(shí)施態(tài)樣的示意圖,根據(jù)軟件定義存儲(chǔ)裝置實(shí)施例,裝置(如在一個(gè)機(jī)箱中)包括至少一個(gè)封包交換單元10以及多個(gè)存儲(chǔ)單元(第一存儲(chǔ)單元101、第二存儲(chǔ)單元102),封包交換單元10用以連接一外部網(wǎng)絡(luò),每個(gè)存儲(chǔ)單元(101,102)則包括一組伺服單元(11,12)以及存儲(chǔ)器(13,14)。此例顯示第一存儲(chǔ)單元101包括第一伺服單元11與第一存儲(chǔ)器13,第一伺服單元11一端連接封包交換單元10,另一端則連接著第一存儲(chǔ)器13,如此形成軟件定義存儲(chǔ)裝置中的一個(gè)存儲(chǔ)單元;軟件定義存儲(chǔ)裝置中的第二存儲(chǔ)單元102則包括第二伺服單元12與第二存儲(chǔ)器14。
第一或第二伺服單元(11,12)以至少一網(wǎng)絡(luò)端口連接封包交換單元10,在再一實(shí)施例中,軟件定義存儲(chǔ)裝置可以包括兩個(gè)或以上的封包交換單元10,第一或第二伺服單元(11,12)即可同時(shí)連接這兩個(gè)或以上的封包交換單元10,平時(shí)可以執(zhí)行聯(lián)機(jī)負(fù)載平衡,若有聯(lián)機(jī)失效(包括端口失效,或是線路斷線等)則可以達(dá)成聯(lián)機(jī)備援的目的。也就是,當(dāng)其中有一聯(lián)機(jī)失效,另一聯(lián)機(jī)仍可以繼續(xù)運(yùn)作,原本的端口將被終止服務(wù)或是進(jìn)入休眠狀態(tài),裝置的運(yùn)作不會(huì)被聯(lián)機(jī)失效所影響。其中,每個(gè)伺服單元(11,12)設(shè)定每個(gè)網(wǎng)絡(luò)聯(lián)機(jī)具有一個(gè)識(shí)別地址,也就是識(shí)別存儲(chǔ)單元(101,102)的地址,實(shí)施時(shí)可如IP地址,使得每個(gè)網(wǎng)絡(luò)端口對(duì)應(yīng)有識(shí)別地址。所述網(wǎng)絡(luò)端口例如使用RJ-45規(guī)格的端口,但不排除其他傳送封包數(shù)據(jù)的規(guī)格。
存儲(chǔ)器(13,14)如硬式磁盤(pán)驅(qū)動(dòng)器,或固態(tài)硬盤(pán)(SSD,Solid StateDrive),第一伺服單元11與第二伺服單元12分別以一數(shù)據(jù)傳輸端口連接第一存儲(chǔ)器13與第二存儲(chǔ)器14,兩者的聯(lián)機(jī)如使用一種序列先進(jìn)技術(shù)附接(SATA,Serial Advanced Technology Attachment)規(guī)格,亦不排除其他存儲(chǔ)器的數(shù)據(jù)接口規(guī)格,如SCSI、IDE、PCI-E等。
在此軟件定義存儲(chǔ)裝置的架構(gòu)下,一個(gè)存儲(chǔ)單元中一個(gè)伺服單元負(fù)責(zé)一個(gè)存儲(chǔ)器的運(yùn)作,多個(gè)存儲(chǔ)單元(101,102)中的不同伺服單元(11,12)之間以一網(wǎng)絡(luò)協(xié)議彼此進(jìn)行通訊,如經(jīng)由此例的封包交換單元10進(jìn)行信號(hào)往來(lái)與通訊,可以某個(gè)存儲(chǔ)模式存儲(chǔ)數(shù)據(jù)。其中網(wǎng)絡(luò)協(xié)議主要規(guī)范封包交換單元之間的通訊信息,包括溝通分布式存儲(chǔ)、備援機(jī)制、負(fù)載平衡等運(yùn)作,以及建立每個(gè)數(shù)據(jù)存儲(chǔ)后產(chǎn)生的索引信息,讓數(shù)據(jù)存取時(shí)可以從這些索引信息得知數(shù)據(jù)每個(gè)段落的分布。
例如,當(dāng)執(zhí)行分布式存儲(chǔ)模式時(shí),第一伺服單元11與第二伺服單元12接獲指令,對(duì)特定數(shù)據(jù)以一分布式存儲(chǔ)算法運(yùn)算,分別以第一存儲(chǔ)器13與第二存儲(chǔ)器14實(shí)現(xiàn)分布式存儲(chǔ)的目的。
圖1B進(jìn)一步以示意圖描述軟件定義存儲(chǔ)裝置中各存儲(chǔ)單元(101,102)內(nèi)的伺服單元(11,12)為一種微服務(wù)器(micro-server)的架構(gòu),每個(gè)軟件定義存儲(chǔ)裝置內(nèi)的多個(gè)微服務(wù)器形成一個(gè)小型的存儲(chǔ)叢集,多個(gè)軟件定義存儲(chǔ)裝置通過(guò)網(wǎng)絡(luò)連接后可以形成一個(gè)具有擴(kuò)充性的大型的存儲(chǔ)叢集。微服務(wù)器根據(jù)來(lái)自各客戶端裝置所傳送的數(shù)據(jù),以及所采用的存儲(chǔ)模式,使得經(jīng)運(yùn)算的數(shù)據(jù)能夠以特定模式存儲(chǔ)在各存儲(chǔ)器中。
微服務(wù)器中運(yùn)作一內(nèi)嵌式操作系統(tǒng),相關(guān)硬件如圖1B所示,在第一存儲(chǔ)單元101中的第一伺服單元11中包括有處理單元111、記憶單元112、存儲(chǔ)器控制單元113、輸入輸出單元114以及網(wǎng)絡(luò)單元115等主要的硬件電路組件,第一伺服單元11連接至少一個(gè)存儲(chǔ)器,如第一存儲(chǔ)器13。其中,以一處理器實(shí)現(xiàn)演算數(shù)據(jù)存儲(chǔ)的處理單元111,在微服務(wù)器中,如一ARM(Advanced RISC Machine)架構(gòu)的處理器;記憶單元112則可為微服務(wù)器中的系統(tǒng)內(nèi)存;存儲(chǔ)器控制單元113則是連接所屬第一伺服單元11對(duì)應(yīng)的第一存儲(chǔ)器13,用以控制第一存儲(chǔ)器13的運(yùn)作,可如一SATA控制器;輸入輸出單元114則可為處理進(jìn)出微服務(wù)器數(shù)據(jù)的I/O電路,而網(wǎng)絡(luò)單元115可為執(zhí)行特定網(wǎng)絡(luò)協(xié)議與處理網(wǎng)絡(luò)封包的電路(PHY),可具備一或多個(gè)網(wǎng)絡(luò)端口,可以連接至少一個(gè)封包交換單元10。
相似地,第二伺服單元12主要包括處理單元121、記憶單元122、存儲(chǔ)器控制單元123、輸入輸出單元124以及網(wǎng)絡(luò)單元125等主要的硬件電路組件,細(xì)節(jié)不在此贅述。
根據(jù)圖1A與圖1B的軟件定義存儲(chǔ)裝置的架構(gòu)實(shí)施例,其中微服務(wù)器可以將客戶端裝置傳送的數(shù)據(jù)以特定存儲(chǔ)模式將數(shù)據(jù)存儲(chǔ)在目的存儲(chǔ)器中,除了執(zhí)行一般存儲(chǔ)程序外,微服務(wù)器中運(yùn)作的程序可以處理各種文件系統(tǒng)(file system)的文件格式(file format),支持各種存儲(chǔ)器可以運(yùn)行的文件系統(tǒng),并可運(yùn)行各種服務(wù),如網(wǎng)頁(yè)服務(wù)器、文件服務(wù)器、數(shù)據(jù)庫(kù)、虛擬主機(jī)等。
圖2顯示本創(chuàng)作軟件定義存儲(chǔ)裝置的另一實(shí)施例示意圖。
此例顯示為軟件定義存儲(chǔ)裝置20,裝置可以實(shí)現(xiàn)在同一個(gè)機(jī)箱內(nèi),其中設(shè)有兩個(gè)封包交換單元,封包交換單元可為一個(gè)封包交換電路,亦能如同裝置內(nèi)的網(wǎng)絡(luò)交換器,用以連接至少一個(gè)外部交換器。圖中顯示為第一封包交換單元21與第二封包交換單元22,兩個(gè)封包交換單元彼此可經(jīng)由外部交換器(此例未示)聯(lián)機(jī),使得軟件定義存儲(chǔ)裝置20內(nèi)的多個(gè)存儲(chǔ)單元中的多個(gè)伺服單元可以一網(wǎng)絡(luò)協(xié)議進(jìn)行通訊,使得軟件定義存儲(chǔ)裝置20實(shí)現(xiàn)某個(gè)存儲(chǔ)算法,此例示意顯示有四組存儲(chǔ)單元,分別為第一伺服單元201與第一存儲(chǔ)器211、第二伺服單元202與第二存儲(chǔ)器212、第三伺服單元203與第三存儲(chǔ)器213,以及第四伺服單元204與第四存儲(chǔ)器214。每個(gè)伺服單元分別控制所聯(lián)機(jī)存儲(chǔ)器的存取運(yùn)作,其中運(yùn)行存儲(chǔ)算法,可以根據(jù)需求執(zhí)行單一數(shù)據(jù)存儲(chǔ)、分布式存儲(chǔ)等,并可利用使得軟件定義存儲(chǔ)裝置20執(zhí)行數(shù)據(jù)備份(多存儲(chǔ)一份數(shù)據(jù)),或是實(shí)現(xiàn)具有容錯(cuò)能力(如采用一同位硬盤(pán))的數(shù)據(jù)存取備援等存儲(chǔ)方案等。
第一伺服單元201、第二伺服單元202、第三伺服單元203與第四伺服單元204中的每一個(gè)至少包括多個(gè)(此例為兩個(gè))網(wǎng)絡(luò)端口,以分別連接第一封包交換單元21與第二封包交換單元22,一般情況可以執(zhí)行多線路流量負(fù)載平衡(Load Balancing),可以解決網(wǎng)絡(luò)聯(lián)機(jī)擁塞的問(wèn)題;另可提供網(wǎng)絡(luò)聯(lián)機(jī)備援,也就是網(wǎng)絡(luò)線路上的故障轉(zhuǎn)移(failover)能力,當(dāng)有任一網(wǎng)絡(luò)聯(lián)機(jī)失效(如其中的一個(gè)封包交換單元失效),另一網(wǎng)絡(luò)聯(lián)機(jī)將可取代,并等待失效聯(lián)機(jī)恢復(fù)運(yùn)作,期間并不會(huì)影響軟件定義存儲(chǔ)裝置20的運(yùn)作。
當(dāng)有多個(gè)軟件定義存儲(chǔ)裝置通過(guò)網(wǎng)絡(luò)或是特定方式聯(lián)機(jī)時(shí),可以實(shí)現(xiàn)一個(gè)存儲(chǔ)裝置的軟件定義存儲(chǔ)系統(tǒng),實(shí)施例示意圖可參考圖3所示的軟件定義存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)架構(gòu)示意圖。
圖中顯示多種組合樣態(tài)的軟件定義存儲(chǔ)裝置(301,302,303,304)經(jīng)由網(wǎng)絡(luò)30聯(lián)機(jī),各端裝置或系統(tǒng)應(yīng)通過(guò)一或多個(gè)外部交換器聯(lián)機(jī)網(wǎng)絡(luò)30,在此不再贅述。其中軟件定義存儲(chǔ)裝置301與軟件定義存儲(chǔ)裝置302如同說(shuō)明書(shū)圖1A或圖1B所示的軟件定義存儲(chǔ)裝置的基本實(shí)施態(tài)樣;軟件定義存儲(chǔ)裝置303如同圖2顯示在一個(gè)裝置內(nèi)設(shè)有多個(gè)封包交換單元的實(shí)施態(tài)樣;軟件定義存儲(chǔ)裝置304則是為多個(gè)軟件定義存儲(chǔ)裝置所實(shí)現(xiàn)的叢集式軟件定義存儲(chǔ)裝置,可以定義為一軟件定義存儲(chǔ)系統(tǒng)。圖中顯示各端的軟件定義存儲(chǔ)裝置僅為示意圖,其中聯(lián)機(jī)并非實(shí)際實(shí)現(xiàn)的樣態(tài)。
根據(jù)實(shí)施例,軟件定義存儲(chǔ)系統(tǒng)中可以經(jīng)由網(wǎng)絡(luò)30聯(lián)機(jī)多端的軟件定義存儲(chǔ)裝置或存儲(chǔ)系統(tǒng)形成一個(gè)大型的網(wǎng)絡(luò)存儲(chǔ)方案,各端的軟件定義存儲(chǔ)裝置中的存儲(chǔ)單元如上述實(shí)施例所述,具有一個(gè)伺服單元與一個(gè)存儲(chǔ)器,各端軟件定義存儲(chǔ)裝置中的各存儲(chǔ)單元中的伺服單元可以經(jīng)由網(wǎng)絡(luò)30相互以一網(wǎng)絡(luò)協(xié)議通訊,產(chǎn)生更多變化的數(shù)據(jù)存儲(chǔ)方案,提供更安全與高可用性的數(shù)據(jù)存取備援服務(wù)。
在使用者端,如圖顯示的客戶端裝置305,其中執(zhí)行一存儲(chǔ)演算程序,存儲(chǔ)演算程序記載一軟件定義存儲(chǔ)系統(tǒng)的一配置文件,這個(gè)配置文件就記載了整個(gè)系統(tǒng)的配置,也就是軟件定義存儲(chǔ)系統(tǒng)整體所涵蓋的各式軟件定義存儲(chǔ)裝置或是各端由多個(gè)存儲(chǔ)裝置組成的系統(tǒng),特別是,每個(gè)軟件定義存儲(chǔ)裝置中的存儲(chǔ)單元的伺服單元都是聯(lián)機(jī)到網(wǎng)絡(luò)30的服務(wù)器(或執(zhí)行于特定裝置內(nèi)的伺服程序),配置文件還記載了其中網(wǎng)絡(luò)端口都設(shè)有網(wǎng)絡(luò)可識(shí)別的網(wǎng)絡(luò)地址。因此,當(dāng)使用者于客戶端裝置305處執(zhí)行存儲(chǔ)演算程序時(shí),將可以選擇所需的存儲(chǔ)方案,執(zhí)行存儲(chǔ)演算程序時(shí),即依照存儲(chǔ)方案設(shè)定存儲(chǔ)模式,并根據(jù)存儲(chǔ)模式演算出一或多個(gè)存儲(chǔ)目的地,并能據(jù)此將數(shù)據(jù)分拆為多個(gè)分段,再將分拆后的數(shù)據(jù)傳送到軟件定義存儲(chǔ)裝置(301,302,303,304),并可由其中各伺服單元傳送到演算得到的存儲(chǔ)單元中。
值得一提的是,軟件定義存儲(chǔ)系統(tǒng)具有可擴(kuò)充性,當(dāng)有一端軟件定義存儲(chǔ)裝置或是存儲(chǔ)系統(tǒng)中的存儲(chǔ)單元有任何異動(dòng),如加入或移除一組存儲(chǔ)單元,客戶端裝置305中的配置文件都應(yīng)該要更新。
舉例來(lái)說(shuō),當(dāng)在客戶端裝置305中設(shè)定存儲(chǔ)方案為單一數(shù)據(jù)存儲(chǔ),存儲(chǔ)演算程序即根據(jù)目前配置文件演算決定一處存儲(chǔ)地址,或是加入一備份地址,存儲(chǔ)演算程序即依據(jù)此配置文件傳送相關(guān)數(shù)據(jù)至存儲(chǔ)目的地,其中識(shí)別各伺服單元位置的識(shí)別地址如IP地址,之后由系統(tǒng)中某一伺服單元接收后,解析數(shù)據(jù)的關(guān)聯(lián)信息,如數(shù)據(jù)隨附的封包信息,能根據(jù)解析得到的存儲(chǔ)模式執(zhí)行一存儲(chǔ)算法。當(dāng)存儲(chǔ)模式為分布式存儲(chǔ),經(jīng)客戶端裝置305執(zhí)行的存儲(chǔ)演算程序運(yùn)算后,可以得出多組存儲(chǔ)目的地的信息,如識(shí)別地址,之后某個(gè)目的地的伺服單元即運(yùn)算存儲(chǔ)演算,將數(shù)據(jù)依照分布式計(jì)算后依據(jù)設(shè)定拆分為多份,通過(guò)多個(gè)伺服單元之間的網(wǎng)絡(luò)協(xié)議溝通,分別將拆分后數(shù)據(jù)傳送到各目的地存儲(chǔ)單元。
圖4接著顯示軟件定義存儲(chǔ)裝置之間通過(guò)外部交換器聯(lián)機(jī)而形成存儲(chǔ)系統(tǒng)的實(shí)施例示意圖。
圖中顯示有兩個(gè)軟件定義存儲(chǔ)裝置,分別為第一軟件定義存儲(chǔ)裝置43與第二軟件定義存儲(chǔ)裝置44,每個(gè)軟件定義存儲(chǔ)裝置中的封包交換單元都至少包括兩個(gè)網(wǎng)絡(luò)聯(lián)機(jī)端口,對(duì)外分別連接到兩個(gè)外部交換器,如圖示的第一外部交換器41與第二外部交換器42,因此,配合各軟件定義存儲(chǔ)裝置內(nèi)部已經(jīng)實(shí)現(xiàn)的網(wǎng)絡(luò)聯(lián)機(jī)備援機(jī)制,整個(gè)軟件定義存儲(chǔ)系統(tǒng)提供了更為安全與更完整的聯(lián)機(jī)備援措施,使得系統(tǒng)具有高可用性。
此例中,第一軟件定義存儲(chǔ)裝置43內(nèi)部包括有第一封包交換單元431與第二封包交換單元432,可以提供內(nèi)部的網(wǎng)絡(luò)聯(lián)機(jī)備援,有第一封包交換單元431與第二封包交換單元432還分別聯(lián)機(jī)到聯(lián)機(jī)外部網(wǎng)絡(luò)的第一外部交換器41與第二外部交換器42,當(dāng)有某一交換器失效,仍可以另一交換器聯(lián)機(jī)外部網(wǎng)絡(luò)。
第一軟件定義存儲(chǔ)裝置43設(shè)有四組分別運(yùn)作的存儲(chǔ)單元,彼此之間不會(huì)被干擾,亦不會(huì)因?yàn)槠渲械囊粋€(gè)存儲(chǔ)單元有問(wèn)題而被影響。第一伺服單元4311經(jīng)由特定數(shù)據(jù)聯(lián)機(jī)連接第一存儲(chǔ)器4313,第二伺服單元4312連接第二存儲(chǔ)器4314,第三伺服單元4321連接第三存儲(chǔ)器4323,以及第四伺服單元4322連接第四存儲(chǔ)器4324。
第二軟件定義存儲(chǔ)裝置44同樣設(shè)有第一封包交換單元441與第二封包交換單元442,以及四組存儲(chǔ)單元,包括第一伺服單元4411與連接的第一存儲(chǔ)器4413、第二伺服單元4412與連接的第二存儲(chǔ)器4414、第三伺服單元4421與連接的第三存儲(chǔ)器4423,以及第四伺服單元4422與所聯(lián)接的第四存儲(chǔ)器4424。第一伺服單元4411、第二伺服單元4412、第三伺服單元4421與第四伺服單元4422除了提供數(shù)據(jù)存儲(chǔ)備援服務(wù)外,亦因?yàn)楦魉欧卧謩e都連接了第一封包交換單元441與第二封包交換單元442,還具備網(wǎng)絡(luò)聯(lián)機(jī)備援的功能。
所述第一軟件定義存儲(chǔ)裝置43與第二軟件定義存儲(chǔ)裝置44因?yàn)橥獠拷粨Q器可以相互聯(lián)系,形成一個(gè)存儲(chǔ)系統(tǒng),其中伺服單元(4311,4312,4321,4322,4411,4412,4421,4422)隨時(shí)經(jīng)由網(wǎng)絡(luò)相互通訊,協(xié)同合作后提供客戶各種存儲(chǔ)方案,還實(shí)現(xiàn)數(shù)據(jù)存取備援。
以上范例顯示的第一軟件定義存儲(chǔ)裝置43或第二軟件定義存儲(chǔ)裝置44因?yàn)榉謩e設(shè)有四組存儲(chǔ)單元,因此可以分別以軟件控制的方式運(yùn)作單一數(shù)據(jù)存儲(chǔ)、備份,以及分布式存儲(chǔ)等方案,并可提供容錯(cuò)機(jī)制。然而,經(jīng)由外部交換器(41,42)的聯(lián)機(jī)后,還可以多個(gè)軟件定義存儲(chǔ)裝置(43,44),經(jīng)由存儲(chǔ)算法的軟件方法,提供更多元的數(shù)據(jù)存儲(chǔ)方案。本實(shí)施例的存儲(chǔ)裝置內(nèi)的封包交換單元、伺服單元與存儲(chǔ)器的數(shù)量?jī)H為示意描述本創(chuàng)作的系統(tǒng)運(yùn)作,并不用來(lái)限制本創(chuàng)作的范圍。
圖5顯示應(yīng)用軟件定義存儲(chǔ)裝置(或系統(tǒng))的存儲(chǔ)方法實(shí)施例流程圖,此流程描述運(yùn)行于客戶端裝置的流程,主要是如步驟S501所述,在各客戶端裝置中執(zhí)行一存儲(chǔ)演算程序,此存儲(chǔ)演算程序?qū)⒖梢罁?jù)使用者設(shè)定,以及整體軟件定義存儲(chǔ)系統(tǒng)的設(shè)置執(zhí)行存儲(chǔ)演算。接著如步驟S503,使用者選擇欲存儲(chǔ)的數(shù)據(jù),可于裝置內(nèi)先執(zhí)行初步作業(yè),如步驟S505,對(duì)數(shù)據(jù)執(zhí)行哈希演算(hash),將數(shù)據(jù)轉(zhuǎn)換為特定哈希字符串,由于哈希算法所計(jì)算出來(lái)的哈希值(Hash Value)具有不可逆的性質(zhì),因此可有效的保護(hù)數(shù)據(jù)與關(guān)聯(lián)信息。并如步驟S507,由使用者設(shè)定存儲(chǔ)模式,再如步驟S509,存儲(chǔ)演算程序?qū)⒏鶕?jù)存儲(chǔ)模式演算出一或多個(gè)存儲(chǔ)目的地,特別可于資料(經(jīng)哈希演算)封包中記載存儲(chǔ)模式與目的地識(shí)別地址。之后,如步驟S511,經(jīng)由網(wǎng)絡(luò)傳送數(shù)據(jù)封包至目的地相關(guān)的軟件定義存儲(chǔ)裝置,可由各端伺服單元經(jīng)網(wǎng)絡(luò)協(xié)議決定由某一節(jié)點(diǎn)運(yùn)算,如步驟S513,由某個(gè)目的地伺服單元執(zhí)行存儲(chǔ)程序。
軟件定義存儲(chǔ)裝置(或系統(tǒng))提供的存儲(chǔ)方案除了一般數(shù)據(jù)存儲(chǔ)外,亦提供經(jīng)過(guò)其中多個(gè)伺服單元中運(yùn)行的存儲(chǔ)算法提供分布式存儲(chǔ)方案,另可配合客戶端裝置內(nèi)執(zhí)行的存儲(chǔ)演算程序設(shè)定存儲(chǔ)模式與決定存儲(chǔ)的目的地位置。客戶端的存儲(chǔ)演算程序的配置文件記載了相關(guān)軟件定義存儲(chǔ)系統(tǒng)的設(shè)定,藉此可以知悉軟件定義存儲(chǔ)系統(tǒng)下的網(wǎng)絡(luò)拓樸,包括外部交換器以及所有軟件定義存儲(chǔ)裝置中的封包交換單元與存儲(chǔ)單元的識(shí)別地址等。進(jìn)一步,客戶端裝置中的存儲(chǔ)演算程序亦可提供使用者取回?cái)?shù)據(jù),也就是在存儲(chǔ)數(shù)據(jù)時(shí),會(huì)于系統(tǒng)端形成數(shù)據(jù)索引,于是取回?cái)?shù)據(jù)將可依據(jù)數(shù)據(jù)索引還原數(shù)據(jù)。
在系統(tǒng)端的存儲(chǔ)程序可參閱圖6所示的存儲(chǔ)方法實(shí)施例流程圖。
如步驟S601,當(dāng)客戶端完成數(shù)據(jù)傳送后,由系統(tǒng)端的某服務(wù)器,如軟件定義存儲(chǔ)裝置中的伺服單元,接收數(shù)據(jù)與關(guān)聯(lián)信息形成的封包,再如步驟S603,運(yùn)作在伺服單元中的程序先解析數(shù)據(jù)封包,包括數(shù)據(jù)與相關(guān)信息,如步驟S605,能解析得出存儲(chǔ)模式與存儲(chǔ)目的地,再如步驟S607,伺服單元將根據(jù)存儲(chǔ)模式執(zhí)行存儲(chǔ)算法,包括以伺服單元之間的網(wǎng)絡(luò)協(xié)議與其他伺服單元協(xié)同作業(yè)執(zhí)行特定存儲(chǔ)方案。
接著,如步驟S609,根據(jù)解析得出的一或多個(gè)存儲(chǔ)目的地,將數(shù)據(jù)以一整體或以分布式存儲(chǔ)演算后的分散值存儲(chǔ)至一或多個(gè)存儲(chǔ)單元,并在各伺服單元中形成數(shù)據(jù)索引,其中記載數(shù)據(jù)的存儲(chǔ)設(shè)定,如步驟S611,相關(guān)設(shè)定包括數(shù)據(jù)索引所記錄的數(shù)據(jù)位置,也包括記錄每一個(gè)數(shù)據(jù)中經(jīng)分散運(yùn)算后的數(shù)據(jù)的存放位置,好讓之后存取數(shù)據(jù)時(shí)讓伺服單元可以正確的取得相關(guān)數(shù)據(jù),數(shù)據(jù)索引的功能就是協(xié)助搜尋數(shù)據(jù)以及還原經(jīng)分散運(yùn)算后的數(shù)據(jù)。
是以,說(shuō)明書(shū)描述為一種軟件定義存儲(chǔ)裝置與系統(tǒng),可以在軟件定義存儲(chǔ)裝置內(nèi)實(shí)現(xiàn)網(wǎng)絡(luò)聯(lián)機(jī)備援與數(shù)據(jù)存取備援,以及在多個(gè)軟件定義存儲(chǔ)裝置形成的系統(tǒng)中同樣實(shí)現(xiàn)數(shù)據(jù)存取備援。整體實(shí)現(xiàn)的架構(gòu)為:客戶端裝置(執(zhí)行存儲(chǔ)演算程序)、網(wǎng)絡(luò)交換器,以及各端軟件定義存儲(chǔ)裝置(由多組存儲(chǔ)單元組成),多個(gè)軟件定義存儲(chǔ)裝置通過(guò)網(wǎng)絡(luò)交換器鏈接,各軟件定義存儲(chǔ)裝置內(nèi)伺服單元將可獨(dú)立聯(lián)機(jī)網(wǎng)絡(luò)交換器。因此,本創(chuàng)作提出的軟件定義存儲(chǔ)裝置中的每一個(gè),或是經(jīng)由網(wǎng)絡(luò)聯(lián)機(jī)多個(gè)軟件定義存儲(chǔ)裝置形成的系統(tǒng)除了具有高可用性、可擴(kuò)充性外,還可以提供多元的存儲(chǔ)方案。
以上所述僅為本創(chuàng)作的較佳可行實(shí)施例,凡依本創(chuàng)作申請(qǐng)專(zhuān)利范圍所做的均等變化與修改,皆應(yīng)屬本創(chuàng)作的涵蓋范圍。