黃 澤
(1.廣西師范大學 計息機與信息工程學院,廣西 桂林 541004;
2.河池學院 計算機與信息科學系,廣西 宜州 546300)
分布式網絡文件系統的研究
黃 澤1,2
(1.廣西師范大學 計息機與信息工程學院,廣西 桂林 541004;
2.河池學院 計算機與信息科學系,廣西 宜州 546300)
分布式網絡文件系統能夠將文件資源有效整合,實現文件資源的存儲與傳輸。首先對文件系統進行了需求分析,接著重點探討了分布式網絡文件系統的設計與實現,涉及到:文件存儲與傳輸的設計、用戶空間服務的實現以及文件視圖終端的實現。
分布式網絡;文件系統;存儲;傳輸
通常情況下,分布式網絡文件系統都是將文件保存到服務器,并且能夠實現客戶終端像訪問本地一樣進行有效訪問。服務需要擁有大量的存儲空間,如果網絡中的每個客戶終端都具備這樣一個大的存儲空間,顯然投資太大,并不現實。因此,當有一些用戶進行文檔共享時,分布式網絡文件系統的優越性就體現出來了。可見,研究分布式網絡文件系統,可以將網絡上分散的文件資源整合成一個空間,是一個具有諸多好處的工作。
針對分布式網絡文件系統,用戶并不關注相關資源保存在哪個空間,他們只關注資源的正常上傳以及下載即可。系統用戶的直接需求就是要保證文件資源的持久性,其次要保證文件資源瀏覽的完整性。
對于分布式網絡文件系統的存儲而言,用戶的需求主要對應于各類操作,包括:瀏覽、建立、獲取等等。系統應該為每個用戶提供一個虛擬的數據空間,這些操作就可以與數據空間的操作對應起來。而系統傳輸主要是指用戶與文件系統之間的數據通信,用戶可以根據文件名或者文件源地址等關鍵參數,實現文件的定位以及傳輸,該用戶還應該可以實現整個傳輸流程的監控。
針對系統的存儲,設計原則主要體現在可用性、透明性以及完整性三個方面。其中,可用性就是用戶對文件系統資源的可達性;透明性是指用戶不需要關心存儲技術的細節,而只需實現上傳或者下載操作的正常完成;完整性就是用戶定位的文件資源是可獲取、可操作的。
針對系統的傳輸,設計原則主要體現在穩定性以及高效性兩個方面。其中,穩定性就是保證用戶發出傳輸任務都可以正常完成,有故障出現時,可以通過斷點續傳方式進行任務的恢復。高效性是在穩定性基礎上的一個提升要求,保證更高的傳輸速率。
分布式網絡文件系統涉及到的功能主要是存儲與傳輸,針對這兩大功能,本文通過設計若干個子功能模塊保證文件系統工作流程的正常實現,涉及到:元數據管理模塊、存儲資源管理模塊、策略分析模塊、可靠傳輸終端模塊、文件視圖終端模塊等,如圖1所示。

圖1 分布式網絡文件系統的功能模塊圖
分布式網絡文件系統的文件存儲工作流程設計如下描述:
首先,文件系統終端直接向系統元數據管理模塊發出文件創建的請求;管理模塊接收到請求,將會創建該文件和相關的目錄關系,同時將這個文件的狀態設置成“正在傳輸”;
其次,元數據管理模塊向文件系統存儲服務器發出資源返回的請求,存儲模塊做出響應,并向策略分析模塊發出分析資源的請求,資源請求分析好后,傳送至元數據管理模塊以及策略分析模塊;
接著,元數據管理模塊生成對應的傳輸任務,并傳遞到文件系統終端,文件系統終端將該傳輸任務進行轉發至可靠傳輸終端,傳輸成功后返回確認信息;
最后,文件系統終端將文件狀態進行更新,并反饋給元數據管理模塊,并進行最后的確認操作即可。
分布式網絡文件系統的文件傳輸工作流程設計如下描述:
首先,文件視圖終端將文件傳輸請求發送到元數據管理模塊,元數據管理模塊將相關的下載副本資源轉送到策略分析模塊進行分析;
其次,策略分析模塊經過分析后生成副本列表后,元數據管理模塊生成傳輸任務的計劃,并反饋給文件視圖終端;
最后,文件視圖終端直接將傳輸任務計劃傳給可靠傳輸終端,傳輸完成之后反饋成功確認操作即可。
針對分布式網絡文件系統中的用戶空間服務,本文是通過MySQL實現的。MySQL中的每一個文件都與一條記錄對應起來,而記錄中的每個字段都有著對應的特殊含義。比如:File ID表示文件的標識,Parenet ID用來表示文件在建立樹結構時父節點的一些信息,通過這個字段可以很容易檢索到相關的倒查節點。File Name用來表示文件具體的名字。File Path用來保存相關的路徑信息,可以涉及到根目錄直至節點。Is Dir則是一個布爾量,有兩種狀態,分別表示文件還是文件夾。如果一個根節點的File Name是root,分布式網絡文件系統可以通過自上而下的方式,從Parent ID進行檢索,并建立對應的文件樹型,文件樹型如圖2所示。

圖2 文件系統的結構示意圖
文件視圖終端如果在獲取文件樹結構時,都生成數據處理的記錄樹,那顯然會造成很大的性能損耗,因此本文通過將文件樹結構信息暫保存至客戶端,這樣就可以只維護一些暫存信息即可。在具體的實現過程中,本文借助于XML文檔來暫存樹結構,如下描述:

隨著分布式網絡的高速發展,它不再是一個步止于象牙塔的學術構想,而已經將其觸角伸向技術領域、服務領域,不局限于初始的應用背景科學計算,將分布式網絡推向網絡服務是大勢所趨。而此時作為分布式網絡架構底層的數據模塊逐漸向一個相對自治,能夠在提供他模塊數據功能的同時提供終端用戶穩定高效數據服務的獨立系統轉變。本文主要設計了一個分布式網絡環境下的分布式文件系統,有效保證了文件系統資源的有效存儲以及傳輸。
[1]杜松.一種基于局域網絡的分布式文件系統[J].微計算機信息,2008,(27).
[2]鮑捷.分布式網絡計算機域的一種系統模型及其文件系統[J].計算機應用與軟件,2006,(5).
[3]林木輝.基于可擴展、高性能分布式文件系統的網絡存儲方式的研究與實現[J].福建電腦,2010,(9).
[4]吳英.基于網絡軟RAID的分布式文件系統的設計與實現[J].計算機工程與應用,2005,(16).
A Research into the File System Based on Distributed Network
HUANG Ze1,2
(1.School of Computer and Information Engineering,Guangxi Normal University,Guilin,Guangxi 541004;
2.Department of Computer and Information Science,Hechi University,Yizhou,Guangxi 546300,China)
The file system based on distributed network can integrate the file resources,and achieve the storage and transmission of file resources.The paper first analyzes the requirement of the system,then designs and implements the file system based on distributed network,which involves the design of file storage and transmision,the implementation of user space service and the realization of file view terminal.
distributed network;file system;storage;transimssion
TP316.4
A
1672-9021(2011)02-0046-03
黃澤(1980-),男(壯族),廣西貴港人,河池學院計算機與信息科學系講師,主要研究方向:計算機網絡,計算機輔助教學。
2010-03-10
[責任編輯 劉景平]