專利名稱:多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于文件管理系統(tǒng),特別涉及對(duì)多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的文件管理方法。
背景技術(shù):
隨著信息技術(shù)不斷發(fā)展,信息技術(shù)廣泛的應(yīng)用于各種領(lǐng)域,由此帶來信息量的急劇增加,直接導(dǎo)致對(duì)信息的存儲(chǔ)的要求越來越高,特別是對(duì)于企業(yè)級(jí)用戶,隨著企業(yè)的發(fā)展、用戶數(shù)量的不斷增加,為了給每一個(gè)的用戶分配獨(dú)立的存儲(chǔ)空間,導(dǎo)致對(duì)服務(wù)器硬件的要求,特別是存儲(chǔ)硬件的要求(主要是硬盤的存儲(chǔ)容量的要求)越來越高,而現(xiàn)行的存儲(chǔ)服務(wù)系統(tǒng)的數(shù)據(jù)管理的不足,造成對(duì)服務(wù)器存儲(chǔ)空間的利用效率不高,主要表現(xiàn)在以下幾個(gè)方面。
首先,對(duì)于具體的用戶,不是根據(jù)用戶的真實(shí)的需求分配存儲(chǔ)空間,而是分配固定的存儲(chǔ)空間,而不論該分配的存儲(chǔ)空間是否真正的得到有效的利用,這必然造成對(duì)服務(wù)器存儲(chǔ)空間的利用效率不高。
其次,現(xiàn)行的服務(wù)器的存儲(chǔ)空間在給每一個(gè)客戶端分別存儲(chǔ)容量的時(shí)候,所有客戶端的分配的數(shù)據(jù)存儲(chǔ)空間的容量總和不能大于服務(wù)器總的存儲(chǔ)空間,因而給每一個(gè)客戶端分配的存儲(chǔ)空間容量受到限制,致使每一個(gè)用戶分配的存儲(chǔ)空間不大,不能充分的利用服務(wù)器的存儲(chǔ)空間。
此外,對(duì)于用戶量多和數(shù)據(jù)容量大的存儲(chǔ)服務(wù)系統(tǒng)而言,當(dāng)前的服務(wù)文件系統(tǒng)根據(jù)用戶給硬盤分區(qū),針對(duì)不同用戶分配的獨(dú)立的存儲(chǔ)空間,必然造成不同用戶的大量內(nèi)容相同的文件的重復(fù)存儲(chǔ),這對(duì)服務(wù)器的有限的存儲(chǔ)空間而言,浪費(fèi)十分可觀,致使服務(wù)器的存儲(chǔ)資源得不到有效的利用。
因此,對(duì)于用戶多、數(shù)據(jù)容量重復(fù)性大的存儲(chǔ)服務(wù)器而言,減少數(shù)據(jù)的重復(fù)存儲(chǔ),提高存儲(chǔ)空間的利用效率越來越重要。
發(fā)明內(nèi)容
由于現(xiàn)行的服務(wù)器的根據(jù)用戶劃分存儲(chǔ)空間,故而存儲(chǔ)空間的利用效率不高,本發(fā)明要解決的技術(shù)問題是提高服務(wù)器存儲(chǔ)空間的利用效率,并方便客戶端用戶對(duì)文件操作。
本發(fā)明的技術(shù)方案是提供多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),該系統(tǒng)包括通信模塊,承擔(dān)在TCP/IP網(wǎng)絡(luò)下的通信任務(wù),在通信層面上保證數(shù)據(jù)傳輸?shù)耐暾坝行颍挥脩翳b別及數(shù)據(jù)加密模塊、執(zhí)行對(duì)客戶端的訪問請(qǐng)求進(jìn)行鑒別,并對(duì)接收和發(fā)送的數(shù)據(jù)進(jìn)行解密和加密的工作,從而保證數(shù)據(jù)傳輸?shù)陌踩裕籌SCSI協(xié)議模塊,執(zhí)行對(duì)ISCSI指令和標(biāo)準(zhǔn)的SCSI指令進(jìn)行轉(zhuǎn)化;多用戶文件系統(tǒng)模塊,基于用戶的訪問方式為每一個(gè)用戶建立獨(dú)立的“磁盤”,并針對(duì)每一個(gè)用戶的塊數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)化成直接對(duì)文件數(shù)據(jù)的訪問;及管理模塊,用于對(duì)前述各模塊進(jìn)行管理,協(xié)調(diào)其它各模塊之間的有序的運(yùn)作。
相對(duì)于現(xiàn)有硬盤分區(qū)的方式針對(duì)每一個(gè)用戶設(shè)置固定存儲(chǔ)容量的服務(wù)器的存儲(chǔ)系統(tǒng)而言,采用本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的服務(wù)器,其基于磁盤的方式為任一客戶端分配存儲(chǔ)容量,且給每一個(gè)客戶端配置的存儲(chǔ)空間的大小均可與服務(wù)器的總存儲(chǔ)容量大小一樣,接受用戶的存儲(chǔ)操作,也就是說服務(wù)器的任何存儲(chǔ)空間均可接受任何一個(gè)用戶操作,每一個(gè)用戶的存儲(chǔ)空間不受限制,直至整個(gè)服務(wù)器的存儲(chǔ)空間用完為止。
圖1是本發(fā)明多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的文件結(jié)構(gòu)。
具體實(shí)施例方式
本發(fā)明的關(guān)于多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的文件管理方法是一種基于ISCSI協(xié)議、支持多用戶的存儲(chǔ)服務(wù)器系統(tǒng)。該文件管理系統(tǒng)支持對(duì)多個(gè)用戶的文件管理,并且為每個(gè)客戶端用戶在服務(wù)器端建立單獨(dú)的“磁盤”系統(tǒng),提供該用戶操作,該基于多用戶“磁盤”文件管理系統(tǒng),相比普通的基于文件操作的服務(wù)器(不是提供用戶對(duì)磁盤的操作)或單用戶的磁盤服務(wù)器,在服務(wù)器端對(duì)客戶端磁盤的配置更靈活、管理更便利、經(jīng)濟(jì)。
本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)方案是一個(gè)純軟件的系統(tǒng)。通過軟件的方式管理用戶端的文件數(shù)據(jù),該軟件系統(tǒng)包括通信模塊、用戶鑒別及數(shù)據(jù)加密模塊、ISCSI協(xié)議模塊、多用戶文件系統(tǒng)模塊及管理模塊等幾個(gè)部分,該軟件所實(shí)現(xiàn)的多用戶文件系統(tǒng)對(duì)于客戶端而言是透明的。該軟件系統(tǒng)通過一種可有效減少實(shí)際存儲(chǔ)數(shù)據(jù)冗余的算法,可以有效的增強(qiáng)用戶下文件系統(tǒng)的存儲(chǔ)能力,從而使服務(wù)器更經(jīng)濟(jì)高效。
通信模塊通信模塊承擔(dān)在TCP/IP網(wǎng)絡(luò)下的通信任務(wù),它在特定的端口偵測(cè)客戶端的請(qǐng)求,并在獲得連接請(qǐng)求后將所建立的連接的控制權(quán)交付用戶鑒別及數(shù)據(jù)加密模塊作決斷,通信模塊在通信層面上保證數(shù)據(jù)傳輸?shù)耐暾坝行?。使得其它模塊能夠可靠的得到或者發(fā)送數(shù)據(jù)。每當(dāng)服務(wù)器啟動(dòng)時(shí),在正確加載其它的必要的模塊后才啟用通信模塊,以準(zhǔn)備接收來自用戶端的數(shù)據(jù)請(qǐng)求。
用戶鑒別及數(shù)據(jù)加密模塊該模塊負(fù)責(zé)對(duì)用戶的請(qǐng)求進(jìn)行判斷,通過驗(yàn)證設(shè)定的代碼或密鑰的方式,甄別合法的或非法的請(qǐng)求,對(duì)于合法的請(qǐng)求,該模塊負(fù)責(zé)將其交付相關(guān)模塊進(jìn)行處理,對(duì)于非法的請(qǐng)求,該模塊將會(huì)拒絕該請(qǐng)求,通過用戶鑒別模塊,增加數(shù)據(jù)的訪問安全。
對(duì)于需要進(jìn)行加密的數(shù)據(jù),該模塊負(fù)責(zé)對(duì)接收和發(fā)送的數(shù)據(jù)進(jìn)行解密和加密的工作,從而保證數(shù)據(jù)傳輸?shù)陌踩???紤]到效率的問題,該模塊是可配置的,該模塊支持明碼數(shù)據(jù)傳輸以及IPSec(IP)兩種方式。對(duì)于明碼數(shù)據(jù)傳輸,客戶端和服務(wù)端之間采用明碼的方式傳遞密碼和數(shù)據(jù),而無任何安全措施,這個(gè)只有在完全信任的網(wǎng)絡(luò)環(huán)境下考慮到性能的問題的時(shí)候會(huì)實(shí)施。對(duì)于大部分應(yīng)用而言,采用IPSec的安全體系是另一個(gè)選擇,IPSec采用驗(yàn)證標(biāo)題(AH)和封裝安全凈負(fù)荷(ESP)兩種編碼方式來加密數(shù)據(jù)從而保證數(shù)據(jù)在整個(gè)傳輸過程中的安全性和完整性。IPSec采用預(yù)置共享秘鑰和公鑰兩種方式進(jìn)行數(shù)據(jù)的加密,并根據(jù)需求采用不同的策略來部署加密的級(jí)別從而在性能與安全之間提供便利的選擇。
ISCSI模塊該模塊負(fù)責(zé)對(duì)ISCSI指令和標(biāo)準(zhǔn)的SCSI指令進(jìn)行轉(zhuǎn)化??紤]到ISCSI標(biāo)準(zhǔn)的廣泛應(yīng)用,通過該模塊,所有符合ISCSI規(guī)范的客戶請(qǐng)求均可得到滿足,并可以兼容所有符合ISCSI規(guī)范的客戶端,而并非只是專有的系統(tǒng),從而提升整個(gè)系統(tǒng)的適用的應(yīng)用范圍,能夠便于整個(gè)多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的在更廣的范圍內(nèi)部署及應(yīng)用。
多用戶磁盤系統(tǒng)模塊該模塊是整個(gè)軟件體系的核心,通過該模塊,基于用戶的訪問方式為每一個(gè)用戶建立獨(dú)立的“磁盤”,就每一個(gè)用戶而言,其所操作的磁盤都是對(duì)應(yīng)相應(yīng)的文件,因此每個(gè)用戶彼此之間互不干擾,相互獨(dú)立。對(duì)每一個(gè)用戶的塊數(shù)據(jù)操作請(qǐng)求,該模塊都會(huì)將其轉(zhuǎn)化成直接對(duì)文件數(shù)據(jù)的訪問。對(duì)于用戶而言,對(duì)應(yīng)的“磁盤”實(shí)際上就是一個(gè)以線性地址方式尋址的存儲(chǔ)空間,用戶通過指定地址將塊數(shù)據(jù)寫入該存儲(chǔ)空間。因此,服務(wù)器在獲取用戶的塊數(shù)據(jù)操作請(qǐng)求后,到文件的相應(yīng)地址對(duì)塊數(shù)據(jù)進(jìn)行相應(yīng)的操作。該模塊將實(shí)際數(shù)據(jù)以文件的方式存儲(chǔ)在服務(wù)端的存儲(chǔ)介質(zhì)上,每一個(gè)用戶都對(duì)應(yīng)這樣的文件,而該文件的內(nèi)部是一個(gè)類似磁盤的線性結(jié)構(gòu)。由于每一個(gè)用戶的文件彼此獨(dú)立,因此也意味著對(duì)于遠(yuǎn)程存儲(chǔ)客戶端而言,他們的“磁盤”系統(tǒng)是獨(dú)立的。
管理模塊用于對(duì)前述各模塊進(jìn)行管理,協(xié)調(diào)其它各模塊之間的有序的運(yùn)作。
在服務(wù)端多用戶磁盤系統(tǒng)模塊對(duì)于用戶數(shù)據(jù)的管理,請(qǐng)參閱圖1,該模塊將整個(gè)用戶數(shù)據(jù)分為用戶數(shù)據(jù)區(qū)和公共數(shù)據(jù)區(qū)兩部分。
用戶數(shù)據(jù)區(qū)由一個(gè)信息區(qū)20和一個(gè)數(shù)據(jù)指針區(qū)40兩個(gè)分區(qū)表組成。信息區(qū)主要用來存放該用戶以及整個(gè)數(shù)據(jù)區(qū)的一些公用信息,一系列用戶磁盤的基本信息,包括塊號(hào)、塊大小、磁盤大小、塊指針大小、偏移量尺寸大小等。數(shù)據(jù)指針區(qū)40則用來存放真實(shí)數(shù)據(jù)的指針,如基本塊指針1、如基本塊指針2、如基本塊指針N等,所有的如基本塊指針均是針對(duì)具體的用戶而言。由于用戶磁盤的塊大小大于存儲(chǔ)的基本數(shù)據(jù)塊大小,因此每一個(gè)用戶塊數(shù)據(jù)由多個(gè)的基本塊數(shù)據(jù)所組成。
公共數(shù)據(jù)區(qū)則存放真實(shí)的用戶數(shù)據(jù),這部分?jǐn)?shù)據(jù)以基本數(shù)據(jù)塊進(jìn)行組織,并以線性地址的方式進(jìn)行存放,整個(gè)區(qū)域由兩部分組成,包括一個(gè)哈希表60和一個(gè)基本數(shù)據(jù)區(qū)80。哈希表60主要由通過一個(gè)哈希函數(shù)所算得的哈希值和基本數(shù)據(jù)塊指針?biāo)M成?;緮?shù)據(jù)區(qū)80則由基本數(shù)據(jù)塊依據(jù)線性地址的方式進(jìn)行存儲(chǔ)。
對(duì)于多用戶,大容量的數(shù)據(jù)存儲(chǔ)而言,采用本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)管理文件如何減少數(shù)據(jù)的冗余和存儲(chǔ)空間的浪費(fèi)是一個(gè)十分重要的議題。在這里,針對(duì)本系統(tǒng)的特點(diǎn),減少數(shù)據(jù)冗余所采用的方式是通過二次尋址,以最小塊數(shù)據(jù)的方式進(jìn)行解決,其主要采取的方案是1、用作虛擬用戶磁盤的文件將不再直接存儲(chǔ)數(shù)據(jù),所有的數(shù)據(jù)將存儲(chǔ)在一塊公共數(shù)據(jù)區(qū)域。文件內(nèi)只是存儲(chǔ)最小塊數(shù)據(jù)在公共數(shù)據(jù)區(qū)域的地址和偏移量再加最小塊數(shù)量。采用地址加偏移量的目的是因?yàn)槊總€(gè)用戶由于文件系統(tǒng)或者其它原因地不同,造成其數(shù)據(jù)塊大小不統(tǒng)一,但是他們都一定是最小數(shù)據(jù)塊的倍數(shù)。
2、對(duì)于塊數(shù)據(jù)的操作而言,真實(shí)的數(shù)據(jù)都將是對(duì)公用數(shù)據(jù)區(qū)域的操作,而無論對(duì)于不同的或者同一個(gè)用戶而言,每一個(gè)用戶在存儲(chǔ)文件進(jìn)入公共數(shù)據(jù)區(qū)數(shù)據(jù)之前,均通過哈希函數(shù)算得是否已存儲(chǔ)有與該文件相同的文件,以避免數(shù)據(jù)的重復(fù)存儲(chǔ),確保相同的塊數(shù)據(jù)在公共區(qū)域內(nèi)只存在一份拷貝,提高服務(wù)器存儲(chǔ)空間的利用效率,不同的只是在該用戶相對(duì)應(yīng)的磁盤文件中的存在不同的地址指針,所有的這些指針都指向該數(shù)據(jù)塊。
3、對(duì)于某個(gè)用戶而言,其對(duì)應(yīng)的磁盤文件并非固定長度,而是變長的。其最大長度就是(磁盤存儲(chǔ)容量/基本塊數(shù)據(jù)大小)×指針大小加上信息區(qū)容量。假如其有效數(shù)據(jù)小于其預(yù)設(shè)的存儲(chǔ)容量時(shí),其真實(shí)長度應(yīng)該為(磁盤有效數(shù)據(jù)容量/基本塊數(shù)據(jù)大小)×指針大小加上信息區(qū)容量,其中,每個(gè)用戶的磁盤存儲(chǔ)容量由服務(wù)器端進(jìn)行配置。
因此,通過以上三種做法,可以將數(shù)據(jù)冗余減少到最低,從而提高服務(wù)器的存儲(chǔ)空間的利用效率。
采用本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的服務(wù)器,其為客戶端分配的每一個(gè)磁盤的容量均可與服務(wù)器硬盤的總?cè)萘看笮∫粯?,接受用戶的存?chǔ)操作,也就是說服務(wù)器的任何存儲(chǔ)空間均可接受任何一個(gè)用戶操作,相較硬盤分區(qū)的方式針對(duì)每一個(gè)用戶設(shè)定存儲(chǔ)容量的而言,每一個(gè)用戶的存儲(chǔ)空間不受限制,直至整個(gè)服務(wù)器的存儲(chǔ)空間用完為止。而相較針對(duì)文件管理的服務(wù)器而言,本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)可以更好的基于用戶進(jìn)行文件管理,便于用戶對(duì)文件的操作,并可以根據(jù)不同的用戶設(shè)定文件的訪問權(quán)限,提高了文件的存儲(chǔ)安全。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,對(duì)本發(fā)明所作的若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),該系統(tǒng)包括通信模塊,在特定的端口偵測(cè)客戶端的請(qǐng)求,并在獲得連接請(qǐng)求后將所建立的連接的控制權(quán)交付用戶鑒別模塊,承擔(dān)在TCP/IP網(wǎng)絡(luò)下的通信任務(wù),在通信層面上保證數(shù)據(jù)傳輸?shù)耐暾坝行颍挥脩翳b別模塊,執(zhí)行對(duì)客戶端的訪問請(qǐng)求進(jìn)行鑒別;ISCSI協(xié)議模塊,執(zhí)行對(duì)ISCSI指令和標(biāo)準(zhǔn)的SCSI指令進(jìn)行轉(zhuǎn)化;多用戶文件系統(tǒng)模塊,基于用戶的訪問方式為每一個(gè)用戶建立獨(dú)立的“磁盤”,并針對(duì)每一個(gè)用戶的塊數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)化成直接對(duì)文件數(shù)據(jù)的訪問;及管理模塊,對(duì)前述各模塊進(jìn)行管理,協(xié)調(diào)其它各模塊之間的有序的運(yùn)作。
2.如權(quán)利要求1所述的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),其特征在于,所述多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)進(jìn)一步包括數(shù)據(jù)加密模塊,對(duì)服務(wù)器接收和發(fā)送的數(shù)據(jù)進(jìn)行解密和加密。
3.如權(quán)利要求2所述的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),其特征在于,所述數(shù)據(jù)加密模塊的加密方法包括采用驗(yàn)證標(biāo)題和封裝安全凈負(fù)荷兩種編碼方式的IPSec加密數(shù)據(jù)。
4.如權(quán)利要求1所述的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),其特征在于,所述多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)在服務(wù)器端將所有用戶數(shù)據(jù)分為用戶數(shù)據(jù)區(qū)和公共數(shù)據(jù)區(qū)兩部分。
5.如權(quán)利要求4所述的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),其特征在于,所述用戶數(shù)據(jù)區(qū)由信息區(qū)和用戶數(shù)據(jù)區(qū)組成。
6.如權(quán)利要求4所述的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),其特征在于,所述公共數(shù)據(jù)區(qū)由哈希表和基本數(shù)據(jù)區(qū)組成。
全文摘要
本發(fā)明公開一種多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng),該系統(tǒng)包括通信模塊,承擔(dān)在TCP/IP網(wǎng)絡(luò)下的通信任務(wù),在通信層面上保證數(shù)據(jù)傳輸?shù)耐暾坝行?;用戶鑒別模塊,執(zhí)行對(duì)客戶端的訪問請(qǐng)求進(jìn)行鑒別;ISCSI協(xié)議模塊,執(zhí)行對(duì)ISCSI指令和標(biāo)準(zhǔn)的SCSI指令進(jìn)行轉(zhuǎn)化;多用戶文件系統(tǒng)模塊,基于用戶的訪問方式為每一個(gè)用戶建立獨(dú)立的“磁盤”,并針對(duì)每一個(gè)用戶的塊數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)化成直接對(duì)文件數(shù)據(jù)的訪問;及管理模塊,對(duì)前述各模塊進(jìn)行管理,協(xié)調(diào)其它各模塊之間的有序的運(yùn)作。相對(duì)于現(xiàn)有硬盤分區(qū)的方式針對(duì)每一個(gè)用戶設(shè)置固定存儲(chǔ)容量的服務(wù)器的存儲(chǔ)系統(tǒng)而言,采用本發(fā)明的多用戶數(shù)據(jù)存儲(chǔ)服務(wù)系統(tǒng)的服務(wù)器,可有效的提高對(duì)服務(wù)器存儲(chǔ)空間的利用效率。
文檔編號(hào)H04L29/00GK1716937SQ200410027899
公開日2006年1月4日 申請(qǐng)日期2004年6月30日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者涂維山 申請(qǐng)人:深圳市朗科科技有限公司