專利名稱:一種智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用于網(wǎng)絡(luò)上的可提供海量存儲(chǔ)空間的磁盤存儲(chǔ)技術(shù)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,數(shù)據(jù)信息量已經(jīng)呈爆炸性地增長,對Internet存儲(chǔ)容量的需求幾乎是每三個(gè)月就要翻一番。因此Internet上無窮無盡的信息資源迫切要求有一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)形式的海量存儲(chǔ)系統(tǒng)來進(jìn)行大容量的信息存儲(chǔ)。面對這種急切的需求,現(xiàn)有的技術(shù)已經(jīng)受到了空前的挑戰(zhàn)。傳統(tǒng)的磁盤機(jī)、光盤機(jī)存儲(chǔ)系統(tǒng),即使是磁盤陣列(RAID)、光盤陣列、高速磁帶庫系統(tǒng)等大容量存儲(chǔ)系統(tǒng)等均無法在存儲(chǔ)容量、可用性、高速度、可擴(kuò)展性、數(shù)據(jù)備份以及災(zāi)難恢復(fù)等方面滿足上述這些要求。因此這些強(qiáng)烈的需求促使人們除了在存儲(chǔ)設(shè)各層次上進(jìn)行探索外,更多的是還必須要從存儲(chǔ)系統(tǒng)的體系結(jié)構(gòu)和管理軟件等方面來深層次地考慮和解決問題。網(wǎng)絡(luò)存儲(chǔ)技術(shù)被認(rèn)為是當(dāng)今計(jì)算機(jī)存儲(chǔ)器技術(shù)領(lǐng)域內(nèi)最具生命力的技術(shù),是目前存儲(chǔ)器技術(shù)的主要發(fā)展方向和研究熱點(diǎn)。目前,計(jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)器技術(shù)主要有DAS、NAS和SAN三種基本類型的存儲(chǔ)體系結(jié)構(gòu),但是在這三種存儲(chǔ)器系統(tǒng)結(jié)構(gòu)中目前都不同程度地還存在著以下幾個(gè)問題1、安全性問題三種存儲(chǔ)器的體系結(jié)構(gòu)中基本上沒有安全措施,系統(tǒng)安全性差,容易遭受攻擊;安全問題無法保證。
2、高可用性和災(zāi)難恢復(fù)問題DAS與NAS結(jié)構(gòu)一樣依賴于存儲(chǔ)器子系統(tǒng)的可靠性,如果存儲(chǔ)子系統(tǒng)出了故障,客戶機(jī)不能訪問數(shù)據(jù)。SAN結(jié)構(gòu)雖然能在多個(gè)服務(wù)器和存儲(chǔ)設(shè)備之間實(shí)現(xiàn)多到多的連接,允許不同的服務(wù)器通過不同的路徑訪問,從而可以提高系統(tǒng)的高可用性;但是SAN需要專用的磁帶庫來進(jìn)行災(zāi)難恢復(fù)處理,需要建設(shè)專用的FC網(wǎng)絡(luò),是一種高成本的容災(zāi)方案。
3、數(shù)據(jù)備份問題在DAS結(jié)構(gòu)中,數(shù)據(jù)備份只能是本地的,不能跨系統(tǒng)進(jìn)行數(shù)據(jù)備份。在NAS設(shè)備上進(jìn)行數(shù)據(jù)備份會(huì)影響客戶機(jī)/服務(wù)器,因?yàn)榉?wù)器設(shè)備也是局域網(wǎng)內(nèi)的節(jié)點(diǎn),也需要帶寬,從而會(huì)影響客戶機(jī)/服務(wù)器之間的通訊。雖然SAN允許分散的服務(wù)器訪問集中的存儲(chǔ)子系統(tǒng),但是SAN在進(jìn)行數(shù)據(jù)的備份時(shí),仍然需要考慮各種存儲(chǔ)器的結(jié)構(gòu)問題。
4、網(wǎng)絡(luò)管理和可擴(kuò)展性問題DAS結(jié)構(gòu)是一種資源獨(dú)享型存儲(chǔ)器系統(tǒng)結(jié)構(gòu),(磁盤)存儲(chǔ)器的容量不容易擴(kuò)展。雖然NAS結(jié)構(gòu)是基于網(wǎng)絡(luò)來存取數(shù)據(jù)的,但是NAS仍然需要一個(gè)NAS服務(wù)器(瘦服務(wù)器)來管理網(wǎng)絡(luò)上的存儲(chǔ)器設(shè)備,而且NAS服務(wù)器本身也是作為通訊網(wǎng)絡(luò)上的節(jié)點(diǎn)被管理的。因此每當(dāng)需要擴(kuò)展存儲(chǔ)器設(shè)備時(shí),不但要將新的存儲(chǔ)器與網(wǎng)絡(luò)進(jìn)行連接,而且NAS也需要進(jìn)行人工的重新配置,另外在處理它和多個(gè)存儲(chǔ)器的內(nèi)部專用連接通道(SCSI命令通道)上的連接時(shí),還要進(jìn)行重新設(shè)置,所以實(shí)際上也是比較麻煩的。至于SAN結(jié)構(gòu),它是基于專用的FC網(wǎng)絡(luò)來對存儲(chǔ)器進(jìn)行訪問的,由于它的網(wǎng)絡(luò)結(jié)構(gòu)的特殊性,它需要專用的光纖交換機(jī)和支持FC協(xié)議的存儲(chǔ)器接口,所以在進(jìn)行擴(kuò)展時(shí),實(shí)際上是需要較高的成本支出。
經(jīng)過進(jìn)一步更加深層次的認(rèn)真研究分析,在上面的三種存儲(chǔ)器結(jié)構(gòu)中,實(shí)際上還存在著下面幾個(gè)更加值得關(guān)注的問題
(1)、網(wǎng)絡(luò)存儲(chǔ)器的I/O問題RAID結(jié)構(gòu)將文件服務(wù)器對RAID存儲(chǔ)器的訪問(讀/寫)操作轉(zhuǎn)化為了對多個(gè)磁盤存儲(chǔ)器的并行讀/寫操作,的確極大地加快了對存儲(chǔ)器的訪問速度,加之RAID采用了較好的容錯(cuò)策略,具有很高的可靠性,所以RAID結(jié)構(gòu)的存儲(chǔ)器目前是各種存儲(chǔ)設(shè)備的首選方案。但是,在DAS和NAS以及SAN結(jié)構(gòu)中,客戶機(jī)通過文件服務(wù)器對RAID存儲(chǔ)器進(jìn)行訪問時(shí),這些I/O請求仍然需要在文件服務(wù)器中進(jìn)行排隊(duì)處理。這是系統(tǒng)結(jié)構(gòu)上的問題,因?yàn)镽AID位于文件服務(wù)器的另外一端,所以從宏觀上看,客戶機(jī)(在網(wǎng)絡(luò)的另外一端)對RAID存儲(chǔ)器的訪問仍然是一個(gè)串行的I/O處理過程,因?yàn)镮/O請求仍然需要在文件服務(wù)器中(即使是在現(xiàn)在流行的“基于對象存儲(chǔ)”的存儲(chǔ)器中,也必須首先通過元數(shù)據(jù)服務(wù)器)進(jìn)行排隊(duì),并不因?yàn)镽AID的速度快而有任何改變(RAID只是加快了每個(gè)I/O請求的處理速度)。因此,在這三種結(jié)構(gòu)中仍然存在存儲(chǔ)器的I/O問題。
(2)、網(wǎng)絡(luò)存儲(chǔ)器的負(fù)載平衡問題在上述的三種存儲(chǔ)器結(jié)構(gòu)(DAS和NAS以及SAN)中,文件服務(wù)器在對存儲(chǔ)器進(jìn)行管理時(shí),很少考慮每個(gè)磁盤上的負(fù)載平衡問題(雖然現(xiàn)在有基于Linux集群的NAS服務(wù)器,但它并不是考慮每個(gè)具體磁盤上的負(fù)載情況)。因此就經(jīng)常出現(xiàn)了存儲(chǔ)器系統(tǒng)中有的磁盤存儲(chǔ)器的負(fù)載很重,而另外的磁盤存儲(chǔ)器的負(fù)載卻很輕的現(xiàn)象,這既直接地影響了存儲(chǔ)器的I/O處理速度,而且也從整體上也影響了存儲(chǔ)器系統(tǒng)的使用效率和性能的提高。
(3)網(wǎng)絡(luò)存儲(chǔ)器本身的自主性問題無論是在DAS和NAS以及SAN結(jié)構(gòu)中,存儲(chǔ)器子系統(tǒng)中的每個(gè)磁盤存儲(chǔ)器,都是被動(dòng)的被控制對象,從來就沒有自主權(quán)。DAS結(jié)構(gòu)的情況是顯而易見的。在NAS和SAN這兩種典型的網(wǎng)絡(luò)存儲(chǔ)器結(jié)構(gòu)中也是這樣,如果磁盤存儲(chǔ)器沒有接到來自網(wǎng)絡(luò)上另外一端客戶機(jī)來的訪問請求,那么它們就一直等待,什么事情也不做(其實(shí)這段時(shí)間完全可以用來進(jìn)行存儲(chǔ)器子系統(tǒng)內(nèi)部的負(fù)載平衡或者數(shù)據(jù)備份工作),它浪費(fèi)了寶貴的網(wǎng)絡(luò)帶寬資源和存儲(chǔ)器系統(tǒng)內(nèi)部的負(fù)載平衡或者數(shù)據(jù)備份工作時(shí)間。原因就在于存儲(chǔ)器系統(tǒng)中的各個(gè)磁盤都缺乏自主權(quán)和能動(dòng)性。
為解決NAS結(jié)構(gòu)的安全性問題,卡內(nèi)基梅隆大學(xué)提出一種直接附于網(wǎng)絡(luò)的存儲(chǔ)結(jié)構(gòu)---(NASD)盤(Network attached secure disk)系統(tǒng)。該系統(tǒng)的設(shè)計(jì)思想是如果客戶機(jī)需要從存儲(chǔ)器讀取一個(gè)文件,首先必須給文件服務(wù)器發(fā)送一個(gè)請求。文件管理器根據(jù)不同的用戶及所訪問的NASD盤產(chǎn)生用戶訪問許可證,并通知NASD存儲(chǔ)盤,使其獲得訪問許可證、訪問時(shí)限等一系列必要信息;然后把用戶訪問許可證發(fā)送給客戶機(jī)。客戶機(jī)擁有了訪問許可證,就可以直接重復(fù)訪問NASD上的文件。該系統(tǒng)主要是針對NAS系統(tǒng)結(jié)構(gòu)的安全性進(jìn)行了研究和考慮,但是它的安全認(rèn)證機(jī)制過于頻繁,實(shí)際上對文件的快速存取造成了不利的影響,特別是在文件I/O請求比較頻繁時(shí),它也可能就形成了新的速度“瓶頸”問題,所以該方案存在一定的局限性。
在網(wǎng)絡(luò)存儲(chǔ)器的系統(tǒng)的可擴(kuò)展性等方面,現(xiàn)有技術(shù)也提出“活動(dòng)磁盤”、“虛擬化存儲(chǔ)技術(shù)”,“基于對象的存儲(chǔ)技術(shù)”。實(shí)際上“基于對象的存儲(chǔ)技術(shù)”與前面介紹的NASD結(jié)構(gòu)有類似之處,在訪問存儲(chǔ)之前必須首先訪問一個(gè)元數(shù)據(jù)文件服務(wù)器,而元數(shù)據(jù)文件服務(wù)器卻有可能成為新的I/O“瓶頸”。
總體來說,目前現(xiàn)有的三種基本形式的存儲(chǔ)器的體系結(jié)構(gòu)中,在網(wǎng)絡(luò)存儲(chǔ)器的安全性、網(wǎng)絡(luò)存儲(chǔ)器的可靠性、網(wǎng)絡(luò)存儲(chǔ)器的數(shù)據(jù)備份、網(wǎng)絡(luò)存儲(chǔ)器的管理和可擴(kuò)展性、網(wǎng)絡(luò)存儲(chǔ)器的I/O性能、網(wǎng)絡(luò)存儲(chǔ)器的負(fù)載平衡、網(wǎng)絡(luò)存儲(chǔ)器本身的自主性等方面都存在缺陷,雖然目前有一些改進(jìn)方法,但是并不能從根本上解決問題,這些問題都是直接影響網(wǎng)絡(luò)存儲(chǔ)器技術(shù)向前發(fā)展的不利因素,是今后即將遇到并且必須去克服的技術(shù)障礙。因此非常有必要對網(wǎng)絡(luò)存儲(chǔ)器的結(jié)構(gòu)重新進(jìn)行認(rèn)真的思考和研究,必須打破常規(guī)地提出某種全新的網(wǎng)絡(luò)存儲(chǔ)器的結(jié)構(gòu)來適應(yīng)網(wǎng)絡(luò)存儲(chǔ)的不斷增加的新要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種可適用網(wǎng)絡(luò)的海量存儲(chǔ)需求,且具備較有安全性及可靠性的磁盤存儲(chǔ)系統(tǒng)。
本發(fā)明的又一目的在于提出該磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法。
為了實(shí)現(xiàn)發(fā)明目的一,采用的技術(shù)方案為一種智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),由兩個(gè)或兩個(gè)以上的直接與網(wǎng)絡(luò)連接的磁盤子系統(tǒng)組成,所述網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)設(shè)置有固定的網(wǎng)絡(luò)地址,所述磁盤子系統(tǒng)則具有不同的網(wǎng)絡(luò)子地址,且設(shè)置有相同的文件路由表,所述文件路由表為智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)及磁盤子系統(tǒng)及所儲(chǔ)存文件之間的索引表。
本發(fā)明的磁盤子系統(tǒng)都直接與網(wǎng)絡(luò)相連接,為用戶的數(shù)據(jù)文件存取提供了最短的I/O路徑。若干個(gè)磁盤子系統(tǒng)組成一個(gè)集群的存儲(chǔ)器系統(tǒng),該存儲(chǔ)器系統(tǒng)對外具有固定的網(wǎng)絡(luò)地址,即虛擬的IP地址,而對內(nèi)則通過不同的子IP地址來區(qū)分具體的磁盤子系統(tǒng),從而為網(wǎng)絡(luò)用戶提供了一個(gè)虛擬化的海量存儲(chǔ)系統(tǒng)。
上述技術(shù)方案中,所述的文件路由表的內(nèi)容包括存儲(chǔ)文件的名稱、網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)地址、以及存放該存儲(chǔ)文件的具體磁盤子系統(tǒng)及其網(wǎng)絡(luò)子地址。
文件路由表是一張記錄了整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)內(nèi)容的“索引”文件分配表,各個(gè)“數(shù)據(jù)流”文件是按一定的負(fù)載情況分布在不同的磁盤上。文件路由表在進(jìn)行“讀”操作的時(shí)候,一般表的內(nèi)容是不會(huì)發(fā)生變化的。但是在進(jìn)行“寫”操作的時(shí)候,其內(nèi)容是要進(jìn)行變化和修正的;所以文件路由表是一個(gè)隨文件的“寫”而動(dòng)態(tài)變化的文件分配表。
所述文件路由表還具有文件“路由”的功能,它也是一個(gè)具有“軟交換”功能的域名網(wǎng)關(guān),當(dāng)來自網(wǎng)絡(luò)上的客戶機(jī)或者服務(wù)器利用網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)提供的“虛擬”IP地址進(jìn)行訪問時(shí),文件路由表的“路由”的功能將“虛擬”的IP地址轉(zhuǎn)化為對內(nèi)部的具體磁盤子系統(tǒng)的子IP地址,這樣就可以使得主機(jī)系統(tǒng)I/O請求可以具體地分解到相應(yīng)的磁盤子系統(tǒng)上進(jìn)行操作或者訪問,并且還可以具體到對磁盤子系統(tǒng)上存放所訪問文件的硬盤上進(jìn)行操作。任何客戶機(jī)或者服務(wù)器都可以通過這個(gè)存儲(chǔ)器的IP地址來訪問這個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),該存儲(chǔ)器系統(tǒng)對用戶來說是透明的。
因?yàn)樗械拇疟P子系統(tǒng)的文件路由表內(nèi)容都是相同的,所以該系統(tǒng)對客戶端提出的網(wǎng)絡(luò)存儲(chǔ)I/O請求,還可根據(jù)負(fù)載情況來確定響應(yīng)該I/O請求的某個(gè)磁盤子系統(tǒng)。因此負(fù)載可以比較均衡地分配。另外、由于不存在因所有的請求都要經(jīng)過某一部件處理而引起的瓶頸隱患,所以即使是某個(gè)子系統(tǒng)出現(xiàn)故障,也不會(huì)影響其它的正常工作,因此不存在單點(diǎn)故障問題。
所述磁盤子系統(tǒng)包括硬件部分和軟件部分,硬件部分包括嵌入式硬件平臺(tái)、磁盤接口、網(wǎng)絡(luò)接口;網(wǎng)絡(luò)接口實(shí)現(xiàn)網(wǎng)絡(luò)磁盤直接與高速網(wǎng)絡(luò)連接的功能,包含網(wǎng)絡(luò)接口驅(qū)動(dòng)程序;磁盤接口可采用現(xiàn)有的SCSI/IDE磁盤接口,其包含硬盤接口驅(qū)動(dòng)程序,可實(shí)現(xiàn)多個(gè)硬盤接入到硬件平臺(tái)上;嵌人式硬件平臺(tái)采用基于ARM架構(gòu)的嵌人式芯片,內(nèi)含功能強(qiáng)大的32位微處理器、RAM、Flash、USB、COM、LCD、JTAG等芯片和接口電路,為網(wǎng)絡(luò)磁盤的各個(gè)軟件模塊的計(jì)算和運(yùn)行提供一個(gè)硬件支撐環(huán)境。
軟件部分包括網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊、嵌入式操作系統(tǒng)模塊、網(wǎng)絡(luò)文件存儲(chǔ)管理模塊、分布式讀/寫控制策略模塊、集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊、容錯(cuò)處理算法模塊、消息通信方法模塊、負(fù)載均衡智能算法模塊、本地磁盤的單盤文件存取管理模塊。
各個(gè)模塊的具體功能如下網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊按TCP/IP協(xié)議直接接受用戶的I/O存儲(chǔ)請求,將用戶的訪問存儲(chǔ)器的命令/數(shù)據(jù)流轉(zhuǎn)換為對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的訪問操作。
嵌入式操作系統(tǒng)模塊是經(jīng)過裁剪的Linux操作系統(tǒng),負(fù)責(zé)整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的各種資源的管理。
網(wǎng)絡(luò)文件存儲(chǔ)管理模塊網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的文件管理系統(tǒng),是整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的核心軟件之一。
分布式讀/寫控制策略模塊完成網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的基本數(shù)據(jù)讀/寫功能,是整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的核心軟件之一。
集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊將若干個(gè)磁盤子系統(tǒng)組成一個(gè)集群的存儲(chǔ)器系統(tǒng),為用戶提供一個(gè)虛擬化的海量存儲(chǔ)系統(tǒng)。
容錯(cuò)處理算法模塊當(dāng)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中某個(gè)磁盤發(fā)生讀/寫故障時(shí),系統(tǒng)自動(dòng)調(diào)用智能容錯(cuò)算法,使存儲(chǔ)器系統(tǒng)仍然可以在降級模式進(jìn)行工作,這樣能夠提高系統(tǒng)的可用性和可靠性。
消息通信方法模塊負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中各子系統(tǒng)以及子系統(tǒng)間各個(gè)存儲(chǔ)磁盤之間的通信功能。
本地磁盤的單盤文件存取管理模塊專門負(fù)責(zé)對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的單個(gè)磁盤文件系統(tǒng)進(jìn)行管理。
負(fù)載均衡智能算法模塊根據(jù)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的負(fù)載情況,自動(dòng)調(diào)節(jié)并實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的負(fù)載均衡,它是整個(gè)系統(tǒng)中最具智能特征的核心軟件。
為了實(shí)現(xiàn)發(fā)明目的二,采用的技術(shù)方案如下一種智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,將兩個(gè)或兩個(gè)以上直接與網(wǎng)絡(luò)連接的網(wǎng)絡(luò)磁盤子系統(tǒng)組成一個(gè)集群的網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),并賦予網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)一個(gè)固定的網(wǎng)絡(luò)地址,所述的網(wǎng)絡(luò)磁盤子系統(tǒng)對外均采用網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)地址,而對內(nèi)則通過網(wǎng)絡(luò)子地址作為區(qū)分,從而實(shí)現(xiàn)一個(gè)虛擬化的海量存儲(chǔ)系統(tǒng)。
上述技術(shù)方案中,所述網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)通過文件路由表實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)磁盤子系統(tǒng)、以及具體存儲(chǔ)文件之間的索引。
本發(fā)明的實(shí)現(xiàn)方法具體可包括如下步驟(1)通過集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊將兩個(gè)或兩個(gè)以上磁盤子系統(tǒng)組成一個(gè)集群的網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng);對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)賦予一個(gè)固定的IP地址,而各個(gè)磁盤子系統(tǒng)則通過不同的IP子地址予以區(qū)分;(2)通過網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊在網(wǎng)絡(luò)上直接接收用戶的I/O存儲(chǔ)請求,將用戶的訪問網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的命令/數(shù)據(jù)流轉(zhuǎn)換為對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的訪問操作;(3)通過分布式讀/寫控制策略模塊實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的基本數(shù)據(jù)讀/寫流的功能;(4)通過本地磁盤的單盤文件存取管理模塊負(fù)責(zé)對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的單個(gè)磁盤文件系統(tǒng)進(jìn)行管理;(5)通過負(fù)載均衡智能算法模塊根據(jù)各個(gè)網(wǎng)絡(luò)磁盤子系統(tǒng)的負(fù)載情況,自動(dòng)調(diào)節(jié)并實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的負(fù)載均衡。
本發(fā)明還可以通過網(wǎng)絡(luò)文件存儲(chǔ)管理模塊來對整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的文件系統(tǒng)進(jìn)行管理。
通過容錯(cuò)處理算法模塊對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)做容錯(cuò)處理。
通過消息通信方法模塊負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中各個(gè)網(wǎng)絡(luò)磁盤子系統(tǒng)之間的通信。
本發(fā)明的優(yōu)點(diǎn)在于(1)存取速度快每個(gè)磁盤子系統(tǒng)都直接與網(wǎng)絡(luò)相連接,為用戶的數(shù)據(jù)文件存取提供了最短的I/O路徑。
(2)通用性強(qiáng)這種網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)可以與任意速度的局域網(wǎng)絡(luò)相連接,可為用戶提供一種適宜各種局域網(wǎng)環(huán)境的通用型網(wǎng)絡(luò)存儲(chǔ)器。
(3)可擴(kuò)展性好由于網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)是采用集群技術(shù),所以可以根據(jù)用戶的需求來擴(kuò)展智能網(wǎng)絡(luò)磁盤中子系統(tǒng)的個(gè)數(shù),增大網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的存儲(chǔ)容量。
(4)結(jié)構(gòu)靈活同樣是由于網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)采用了集群技術(shù),所以可以根據(jù)用戶的需求來控制網(wǎng)絡(luò)磁盤中子系統(tǒng)的個(gè)數(shù),來組成不同規(guī)模的網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)。
(5)具有智能特性由于網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)采用了智能容錯(cuò)和智能負(fù)載平衡等智能算法,所以整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)具備了較多的智能特征性質(zhì)。
圖1為本發(fā)明的結(jié)構(gòu)框圖;圖2為本發(fā)明的硬件電路原理框圖;圖3為本發(fā)明的軟件系統(tǒng)結(jié)構(gòu)框圖。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步的說明。
本發(fā)明的結(jié)構(gòu)框圖如附圖1所示。包括網(wǎng)絡(luò)接口C1.1~C1.n、SCSI/IDE磁盤接口C2.1~C2.n、嵌人式硬件平臺(tái)P1。
網(wǎng)絡(luò)接口C1.1~C1.n實(shí)現(xiàn)網(wǎng)絡(luò)磁盤直接與高速網(wǎng)絡(luò)連接的功能,包含網(wǎng)絡(luò)接口驅(qū)動(dòng)程序。
SCSI/IDE磁盤接口C2.1~C2.n用于在磁盤子系統(tǒng)上通過SCSI/IDE磁盤接口連接硬盤,其包含硬盤接口驅(qū)動(dòng)程序。
嵌人式硬件平臺(tái)P1采用基于ARM架構(gòu)的嵌人式芯片,內(nèi)含功能強(qiáng)大的32位微處理器、RAM、Flash、USB、COM、LCD、JTAG等芯片和接口電路,為網(wǎng)絡(luò)磁盤的各個(gè)軟件模塊的計(jì)算和運(yùn)行提供一個(gè)硬件支撐環(huán)境。硬件電路原理框圖如附圖2所示,其中D1為嵌入式微控制器MPU,D2為ROM,D3為RAM,D4為Flash,D5為JTAG調(diào)試口,D6為COM通信接口,D7為鍵盤接口,D8為LCD接口,D9為USB接口,D10為電源模塊,D11為時(shí)鐘模塊。
本發(fā)明的軟件系統(tǒng)結(jié)構(gòu)框圖如附圖3所示,包括網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊M1、嵌入式操作系統(tǒng)模塊M2、網(wǎng)絡(luò)文件存儲(chǔ)管理模塊M3、分布式讀/寫控制策略模塊M4、集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊M5、容錯(cuò)處理算法模塊M6、消息通信方法模塊M7、負(fù)載均衡智能算法模塊M8、本地磁盤的單盤文件存取管理模塊M9。
作為一個(gè)實(shí)施例,本發(fā)明的實(shí)現(xiàn)方法如下(1)集群配置將若干個(gè)磁盤子系統(tǒng),組成一個(gè)集群的存儲(chǔ)器系統(tǒng),“虛擬”為一個(gè)很大的網(wǎng)絡(luò)邏輯磁盤,并且有一個(gè)統(tǒng)一對外的唯一的存儲(chǔ)器IP地址202.197.64.5。這樣、網(wǎng)絡(luò)上的任何客戶機(jī)或者服務(wù)器都可以通過這個(gè)存儲(chǔ)器IP地址來訪問這個(gè)磁盤存儲(chǔ)系統(tǒng),每個(gè)子系統(tǒng)都有一個(gè)內(nèi)部的IP地址,如第3個(gè)盤的IP地址為192.168.0.3。
(2)網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換根據(jù)TCP/IP協(xié)議直接接受用戶的I/O存儲(chǔ)請求,將用戶的訪問存儲(chǔ)器的命令/數(shù)據(jù)流轉(zhuǎn)換為對智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的訪問操作。
(3)網(wǎng)絡(luò)文件存儲(chǔ)管理網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的文件管理系統(tǒng)是整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的核心部分。通過設(shè)置一個(gè)以下的“文件路由表(FAT_ARP)”的結(jié)構(gòu)來加以實(shí)現(xiàn)。
FAT_ARP表是一張記錄了整個(gè)磁盤存儲(chǔ)系統(tǒng)內(nèi)容的“索引”文件分配表,其中子系統(tǒng)1~子系統(tǒng)n表示磁盤子系統(tǒng),各個(gè)“數(shù)據(jù)流”文件是按一定的負(fù)載情況分布在不同的子系統(tǒng)的不同硬盤上。
(4)IND盤存儲(chǔ)系統(tǒng)讀/寫控制實(shí)現(xiàn)智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的基本數(shù)據(jù)讀/寫流的功能。本發(fā)明提供了3種基本功能的“數(shù)據(jù)流”文件接口函數(shù)(a)Read(Host ID,Stream ID)某主機(jī)從IND盤存儲(chǔ)系統(tǒng)中讀出一個(gè)“數(shù)據(jù)流”文件對象。(b)Write(Host ID,Stream ID)將某主機(jī)的一個(gè)“數(shù)據(jù)流”文件對象的內(nèi)容寫入到智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中去。(c)Delete(Host ID,Stream ID)將與某主機(jī)對應(yīng)的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的一個(gè)“數(shù)據(jù)流”文件對象的內(nèi)容刪除。
在提出的網(wǎng)絡(luò)磁盤子系統(tǒng),結(jié)構(gòu)中還可以設(shè)計(jì)一些內(nèi)部“數(shù)據(jù)流”文件接口函數(shù)。內(nèi)部“數(shù)據(jù)流”文件接口函數(shù)是為了實(shí)現(xiàn)上述3種基本的“數(shù)據(jù)流”文件接口函數(shù)和某些規(guī)定的調(diào)度算法而提供的一組較底層的“數(shù)據(jù)流”文件接口函數(shù)。
相應(yīng)于內(nèi)部“數(shù)據(jù)流”文件接口函數(shù),把網(wǎng)絡(luò)磁盤的3種基本功能的“數(shù)據(jù)流”文件接口函數(shù)(Read、Write、Delete)稱為“外部數(shù)據(jù)流文件接口函數(shù)”。一般外部“數(shù)據(jù)流”文件接口函數(shù)的功能可以通過調(diào)用內(nèi)部“數(shù)據(jù)流”文件接口函數(shù)來實(shí)現(xiàn)。
(5)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的容錯(cuò)處理在智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中,專門設(shè)置了備份區(qū)來存儲(chǔ)記錄區(qū)的冗余信息進(jìn)行容錯(cuò)處理。其思想是當(dāng)在某個(gè)子系統(tǒng)的某個(gè)硬盤上記錄一個(gè)“數(shù)據(jù)流”文件的同時(shí),根據(jù)容錯(cuò)算法,也把同一個(gè)“數(shù)據(jù)流”文件內(nèi)容記錄在另外一個(gè)子系統(tǒng)或該子系統(tǒng)的另一個(gè)硬盤上來進(jìn)行冗余備份。一旦原先記錄的“數(shù)據(jù)流”文件不能進(jìn)行讀/寫時(shí),便可根據(jù)其對應(yīng)的容錯(cuò)算法,引導(dǎo)存儲(chǔ)系統(tǒng)去訪問存儲(chǔ)在其它盤上記錄的備份“數(shù)據(jù)流”文件;這樣可以提高整個(gè)存儲(chǔ)系統(tǒng)的可用性和可靠性。
(6)本地磁盤的單盤文件存取管理負(fù)責(zé)對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的單個(gè)SCSI/IDE磁盤文件系統(tǒng)進(jìn)行管理。這可以利用操作系統(tǒng)中原有的文件系統(tǒng)來操作和管理。
(7)智能負(fù)載均衡首先制定一種對每個(gè)子系統(tǒng)的文件分配情況進(jìn)行偵聽的策略,然后設(shè)計(jì)一種自動(dòng)尋找“超重負(fù)載”和“超輕負(fù)載”的搜索算法,最后設(shè)計(jì)一種在網(wǎng)絡(luò)帶寬空閑時(shí)能夠自動(dòng)地實(shí)現(xiàn)將“超重負(fù)載”子系統(tǒng)上的一部分負(fù)荷卸裝到“超輕負(fù)載”子系統(tǒng)上去的負(fù)載均衡的智能算法,也包括在同一子系統(tǒng)中,將超重負(fù)載的硬盤的部分文件轉(zhuǎn)移到超輕負(fù)載的硬盤中去。這樣智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)便能夠根據(jù)系統(tǒng)中各個(gè)子系統(tǒng)的負(fù)載情況及子系統(tǒng)中不同硬盤的負(fù)載情況,自動(dòng)調(diào)節(jié)并實(shí)現(xiàn)整個(gè)智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的負(fù)載均衡,使存儲(chǔ)器系統(tǒng)具有智能化的特征。
權(quán)利要求
1.一種智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),其特征在于由兩個(gè)或兩個(gè)以上的連接于網(wǎng)絡(luò)上的磁盤子系統(tǒng)組成,所述智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)設(shè)置有固定的網(wǎng)絡(luò)地址,而所述磁盤子系統(tǒng)則具有不同的網(wǎng)絡(luò)子地址,且設(shè)置有相同的文件路由表,所述文件路由表為智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)及磁盤子系統(tǒng)及所儲(chǔ)存文件之間的索引表。
2.根據(jù)權(quán)利要求1所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),其特征在于所述的文件路由表的內(nèi)容包括存儲(chǔ)文件的名稱、網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)地址、以及存放該存儲(chǔ)文件的具體磁盤子系統(tǒng)及其網(wǎng)絡(luò)子地址。
3.根據(jù)權(quán)利要求1或2所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),其特征在于所述磁盤子系統(tǒng)包括硬件部分和軟件部分,所述硬件部分包括嵌入式硬件平臺(tái)(P1)、磁盤接口(C2.1~C2.n)、網(wǎng)絡(luò)接口(C1.1~C1.n);所述軟件部分包括網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊(M1)、嵌入式操作系統(tǒng)模塊(M2)、網(wǎng)絡(luò)文件存儲(chǔ)管理模塊(M3)、分布式讀/寫控制策略模塊(M4)、集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊(M5)、容錯(cuò)處理算法模塊(M6)、消息通信方法模塊(M7)、負(fù)載均衡智能算法模塊(M8)、本地磁盤的單盤文件存取管理模塊(M9)。
4.一種智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于將兩個(gè)或兩個(gè)以上直接與網(wǎng)絡(luò)連接的網(wǎng)絡(luò)磁盤子系統(tǒng)組成一個(gè)集群的網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng),并賦予網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)一個(gè)固定的網(wǎng)絡(luò)地址,所述的網(wǎng)絡(luò)磁盤子系統(tǒng)對外均采用網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)地址,而對內(nèi)則通過網(wǎng)絡(luò)子地址作為區(qū)分,從而實(shí)現(xiàn)一個(gè)虛擬化的海量存儲(chǔ)系統(tǒng)。
5.根據(jù)權(quán)利要求4所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于通過文件路由表實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)磁盤子系統(tǒng)、以及具體存儲(chǔ)文件之間的索引。
6.根據(jù)權(quán)利要求4或5所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于具體可包括如下步驟(1)通過集群網(wǎng)絡(luò)存儲(chǔ)器的配置算法模塊(M5)將兩個(gè)或兩個(gè)以上磁盤子系統(tǒng)組成一個(gè)集群的網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng);(2)通過網(wǎng)絡(luò)數(shù)據(jù)協(xié)議轉(zhuǎn)換模塊(M1)在網(wǎng)絡(luò)上直接接收用戶的I/O存儲(chǔ)請求,將用戶的訪問網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的命令/數(shù)據(jù)流轉(zhuǎn)換為對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的訪問操作;(3)通過分布式讀/寫控制策略模塊(M4)實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的基本數(shù)據(jù)讀/寫流的功能;(4)通過本地磁盤的單盤文件存取管理模塊(M9)負(fù)責(zé)對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中的單個(gè)磁盤文件系統(tǒng)進(jìn)行管理;(5)通過負(fù)載均衡智能算法模塊(M8)根據(jù)各個(gè)網(wǎng)絡(luò)磁盤子系統(tǒng)的負(fù)載情況,自動(dòng)調(diào)節(jié)并實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的負(fù)載均衡。
7.根據(jù)權(quán)利要求6所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于還包括通過網(wǎng)絡(luò)文件存儲(chǔ)管理模塊(M3)來對整個(gè)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的文件系統(tǒng)進(jìn)行管理。
8.根據(jù)權(quán)利要求6所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于還包括通過容錯(cuò)處理算法模塊(M6)對網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)做容錯(cuò)處理。
9.根據(jù)權(quán)利要求6所述的智能網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于還包括通過消息通信方法模塊(M7)負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)中各個(gè)網(wǎng)絡(luò)磁盤子系統(tǒng)之間的通信。
全文摘要
本發(fā)明提供了一種網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)及其實(shí)現(xiàn)方法,系統(tǒng)由兩個(gè)或兩個(gè)以上的直接與網(wǎng)絡(luò)連接的磁盤子系統(tǒng)組成,所述網(wǎng)絡(luò)磁盤存儲(chǔ)系統(tǒng)設(shè)置有固定的網(wǎng)絡(luò)地址,所述磁盤子系統(tǒng)則具有不同的網(wǎng)絡(luò)子地址,且設(shè)置有相同的文件路由表。本發(fā)明每個(gè)磁盤子系統(tǒng)都是直接與網(wǎng)絡(luò)相連接,為用戶的數(shù)據(jù)文件存取提供了最短的I/O路徑。若干個(gè)子系統(tǒng)組成一個(gè)集群的存儲(chǔ)器系統(tǒng),給用戶提供了一個(gè)虛擬化的海量存儲(chǔ)系統(tǒng)。
文檔編號G06F17/30GK1829230SQ20061003452
公開日2006年9月6日 申請日期2006年3月21日 優(yōu)先權(quán)日2006年3月21日
發(fā)明者趙躍龍, 何亞農(nóng) 申請人:華南理工大學(xué)