王慧
(廣東科學技術職業學院 廣東 珠海519090)
基于HDFS的校園云存儲平臺的優化
王慧
(廣東科學技術職業學院 廣東 珠海519090)
為了提高當前校園信息管理系統效率的目的,本研究在構建校園云存儲服務系統用戶層的基礎上,開發設計了基于HDFS體系的校園云存儲平臺及各個功能模塊。利用了Mybatis的開源持久層框架對HDFS體系進行改進,并且DAO層實現校園云端網絡的可變動態操作。實踐應用結果表明:優化后的HDFS方案能夠有效地減少名稱節點內存的損耗,擴展了HDFS集群的命名空間,并且能夠有效地提升讀取文件元數據信息的速度。有效地提升了校園云存儲平臺的管理效率和數據訪問效率,緩解了對數據庫的壓力。
云存儲;校園網;HDFS;名稱節點
Abstract:In order to improve the efficiency of the current Campus Information Management System The purpose of this study on the basis of constructing campus cloud storage system user layer on the development and design of the campus-based cloud storage platform HDFS system and each module.The use of open source persistence framework Mybatis of HDFS system could be improved,and the DAO layer to achieve dynamic operating variable clouds campus network.Practical application results show:optimized HDFS program can effectively reduce the loss of memory node name,expands the namespace HDFS clusters,and can effectively improve the reading speed of file metadata information.Effectively improve the efficiency of data access and management efficiency campus cloud storage platform to ease the pressure on the database.
Key words:cloud storage; campus network; HDFS;nodename
隨著互聯網信息化建設的發展,校園網內的數字信息累計為數據存儲帶來了巨大的挑戰[1]。云儲存平臺作為數字信息化資源的整合,是由多種技術和服務將所需儲存的文件上傳到網絡空間存取[2]。云儲存通過利用I/O數據流的方式對分布式儲存系統進行數據操作[3],可將校園教務管理系統與辦公系統相互整合,從而有效地提高數據訪問速度,具有較高易擴展和傳輸率的特點,能夠滿足校園數據的高效存儲的要求[4]。現有校園云存儲平臺主要利用調用Hadoop分布式文件系統(HDFS)對集群的狀態實現管理,校園云存儲平臺的搭建,可為學生、教師和管理者提供更為個性化的服務,實現信息平臺管理的統籌與共享[5]。本研究在HDFS系統的基礎上,通過將數據庫與客戶端置于同一服務器設計了校園云儲存結構框架和功能模塊,在邏輯層搭建數據訪問封裝層開源框架,實現了云儲存平臺數據庫的內存和元數據空間的高效擴展性。
校園云存儲服務的系統架構總共可劃分為3層,當用戶通過用戶終端打開網頁瀏覽器對,實現了對云端存儲設備的服務器訪問[6]。HDFS的用戶層的主要任務是對用戶端發送的請求加以處理和接受,同時根據應用的要求的不同實現提供不同接口的服務[7]。HDFS用戶層主要負責四項步驟的功能:實現對用戶的有效管理、對用戶端發送的訪問請求進行管控、對校園云端存儲的業務進行邏輯控制、實現數據的篩選和處理,其中數據的篩選和處理和對校園云端存儲的業務進行邏輯控制是UI層同HDFS存儲層進行聯系和傳輸的通信紐帶,同時也是本研究的研究重點。校園云端數據庫的主要功能是建立一個數據保護的備份屏障實現對系統內用戶的私密信息、文件的屬性內容以及權限進行保存,而本文基于HDFS的校園云儲存平臺中的數據庫將與HDFS用戶信息一同置于同一個服務器中,在同一區域的校園網將會將其網絡內的所有用戶的應用數據 (如訪問者備份的文檔、音視頻文件等)加以保存并設定在HDFS集群中,系統架構如圖1所示。

圖1 系統構架
基于HDFS的校園云存儲系統同傳統電商網絡有所不同,其根據存儲的性質不同可劃分為兩大類:第一類是包括含用戶的個人信息,用戶訪問角色,權限,用戶訪問日志等在內的用戶數據;第二類是用戶上傳的文檔和音視頻數據信息。而基于HDFS的校園云存儲系統中所存儲的的數據主要是同用戶訪問賬號無關聯性的數據上,一般包括訪問網點數量信息表、廣告投放數據表、學生成績數據表等,所有的數據表之間業務不存在交叉項,并且彼此之間關系相互獨立,正是這樣的天然屬性使得能夠對這些數據表的業務進行垂直的劃分。一般來說,大多數的網絡類型的存儲數據設備彼此之間存儲的海量數據其關系表眾多且錯中復雜[8],因此在設計本文的校園云端存儲平臺的過程中最先需要解決的問題就是分庫。面對不同的水平分布表,可以根據實際情況設計不同的劃分方案,例如針對獨自存在的數據表,則可以存在不同的散列方式,例如單庫多表、單表多分區、多庫多表等。
在校園云存儲系統中HDFS用戶層主要包含對校園云端存儲的業務進行邏輯控制、實現數據的篩選和處理兩部分內容[9],根據其處理的內容可分為校園用戶訪問、校園用戶訪問管理、校園訪問部門權限管控和HDFS用戶集群資料信息管理4個模塊。校園用戶訪問的模塊主要負責校園訪問用戶的ID登錄,對個人信息的修改和變更,校園用戶日常文件的備份、下載、共享以及文檔歸檔和管理等功能。校園用戶訪問管理模塊的功能主要負責校園用戶的個人信息管理、登錄用戶在線狀態管理、校園用戶歸屬管理的分配等業務。校園訪問部門權限管控模塊的功能主要負責校園各個部門之間基礎信息設定和管理、校園網絡系統的用戶和部門權限管理以及各個部門之間協調權限分配管理。HDFS用戶集群資料信息管理模塊主要用于校園網絡維護人員信息設定和對集群內的從節點、主從節點IP以及數量進行管理,并能夠隨時對集群內用戶和人員的狀態和任務進行編輯,此外該模塊還有報警管理的功能[10]。校園云端存儲系統的后臺管理細致層次劃分和模塊功能如圖2所示。

圖2 校園云存儲服務平臺
與常見的分布式文件系統相類似,現有的文件系統建立于普通的硬件之上,它也是一個分布式文件的系統[11],但是它擁有較高的容錯性,同時可以以低成本的硬件為平臺進行部署,這樣的文件系統降低了對數據運算錯誤率的需求[12],因此文件系統能夠以數據流的形式實現對文件數據的訪問,從而能夠實現高吞吐量的數據訪問,比較適合類似校園環境的大數據集處理應用程序。HDSF文件系統的體系結構圖具體內容如圖3所示。

圖3 HDFS文件系統
根據圖3不難發現客戶端能夠實現對數據源的操縱和管理,同時也可以直接的對名稱節點進行讀取和編輯的操作。文中將在下面對HDSF云端存儲的工作機制和體系架構進行全方面的闡述和介紹。
根據文件系統的程序架構,HDFS邏輯在介于JDBC與DAO之間的數據訪問封裝層、JDBC、API層、DAO層HDFS以及介于應用服務器與數據庫之間的HDFS代理服務器等層面上實現。通過在DAO層級實現HDFS體系存在以下優勢,即在本文的HDFS體系中DAO不存在ORM的制約、操作較為靈活[13],可根據校園云端網絡的特點進行可變操作,最重要的是在沒有SQL的解析和其他的路由規則的分配的情況下,該層級的表現性能將會更加突出。除了上述的一些優勢,DAO層級在HDFS系統中也存在一定的劣勢,即DAO只能夠在具有特定屬性的系統里操作運行[14],同時進行開發的人員還需要對邏輯進行較為明確的切分。
基于HDFS的校園云儲存平臺利用了Mybatis的框架,它主要是開源持久層框架。為了建立Mybatis框架與數據庫之間的聯系,我們需要參照JDBC的規范和原則[15],同時還需要以Annotaion/XML+JAVA的反射技術為工具,最終實現數據庫同Java對象之間的轉化。在模擬路由功能的環節,我們通過修改少數的代碼,同時在DAO層動態的傳入表名即可,并根據數據表的功能的不同進行頻道表的劃分,通過使用配置表對頻道進行管理。
DAO層中主要包括兩個文件,同時它向Service層提供了持續化的方法,其中*.xml通過中SQL來實現持久化,而*_Mapper.java是定義持久化方法的接口。為了滿足路由的需要需要進行以下步驟:第一,對所有的持續化接口進行重新的定義,并對定義參數列表中字段值以傳入頻道命名[16]。第二,通過XML文件截獲各種參數,并對表名進行動態替換。
為了對本文提出的校園云儲存方案進行優化設計,測試實驗安排如下:試驗將在一臺物理機上運作HDFS系統,并將物理機選取為校園操作用戶的數據空間服務器,這主要是因為本文的優化實驗只針對NameNode,并不涉及DataNode。實驗過程中選取的物理機配置如下:名稱節點(NameNode)服務器采用六核AMD羿龍Ⅱ CPU 3.2GHz,金士頓Beast 16GB DDR3 2400內存,同時,空間元數據(Metadate)服務器采用16核Intel酷睿i7 4770 CPU3.4 GHz,影馳HOF 16GB DDR4 4000內存。實驗以用戶規模步長為50個,分別模擬100至500個九組實驗,其中,每個用戶均創建100個文件且創建后并不進行文件讀寫,即每組實驗的文件規模區間在10 000至50 000。
為了方便對優化前后的系統進行對比我們做了幾組實驗,并分別對名稱節點(NameNode)中的節點和進程中的的內存變化的大小進行記錄,具體的實驗結果如圖4所示。

圖4 優化前后校園云存儲文件系統內存對比
由圖4可見,本文將文件的規模區間定義為 0~5 W,元數據規模數同時也是數量級數,隨著HDFS的文件規模的擴大,元數據的信息占有一定的內存空間,因此NameNode在實驗中的內存將會以線性增長的方式不斷被占有。在系統優化之后,NameNode在實驗中的數據規模數與校園用戶的規模數對應,因此本實驗中的文件數量級下降了100倍。本實驗將擴大NameNode進程本身擁有的數據占有的內存用戶數,然而結果表明,這樣的擴容之后其內存損耗并不顯著。本實驗的結果顯示,文中提出的HDFS的方案能夠有效地減少NameNode內存的損耗同時還能夠擴展HDFS集群的命名空間。
我們對文件的讀取時間進行了測試,以實際文件流和元數據的信息為對象進行了試驗,并對HDFS體系和加入Mybatis優化方案的HDFS創建文件進行試驗,其結果如圖5所示。
從圖5不難發現,當經過優化的方案運用在讀寫NameNode中的元數據時,讀寫元數據信息的速度得到了很大的提升。從實際數據塊寫入的角度進行考察我們發現,經過優化的方案在在讀寫NameNode中的元數據時,讀寫速度下降明顯,這可能是由于HDFS體系無法對文件操作提供足夠的支持。從讀取元數據信息的速度角度來看我們可以發現,通過對Mybatis的框架引入實現了方案的優化,并且能夠有效地提升HDFS讀取文件元數據信息的速度。

圖5 讀寫測試對比
本文主要針對目前校園信息系統中的面臨的海量數據的存儲問題。設計了一套基于HDFS文件系統的云存儲優化問題。本研究根據校園網數據信息類型,劃分校園云端存儲系統的后臺管理細致層次劃分和模塊功能,充分應用關系型數據庫建立HDFS存儲層,有效的解決了校園海量數據信息的存儲瓶頸。同時,利用Mybatis的框架構建HDFS的校園云儲存平臺,并且DAO層實現數據的動態讀寫。該方案在使用過程中,內存損耗低,文件元數據信息讀寫速度快。因此,本研究可為校園網絡的云存儲平臺的構建具有參考意義。
[1]熊聰聰,馮龍,陳麗仙.云存儲在校園信息化中的應用與優化[J].天津科技大學學報,2012(5):69-73.
[2]陳俊.面向云儲存的高性能數據隱私保護方法[J].電子技術與軟件工程,2015(9):228-228.
[3]范貴生,虞慧群,陳麗瓊,等.分布式嵌入式系統的自適應能耗管理和分析[J].軟件學報,2014,25(2):419-438.
[4]丘瑾.云存儲在校園信息管理系統中的應用[J].網絡安全技術與應用,2014(6):9-10.
[5]侯青,徐家喜,吉力.基于Hadoop的校園教育資源管理系統[J].電腦知識與技術,2014(1):67-71.
[6]余琦,凌捷.基于HDFS的云存儲安全技術研究[J].計算機工程與設計, 2013,34(8):2700-2705.
[7]陳吉榮,樂嘉錦.基于Hadoop生態系統的大數據解決方案綜述 [J].計算機工程與科學,2013,35(10):25-35.
[8]藍昊慧.云計算在Web結構挖掘算法中的運用研究[J].計算機時代, 2012(10):30-33.
[9]李明明,李偉.基于HDFS的高可靠性存儲系統的研究[J].西安科技大學學報, 2016,36(3):428-433.
[10]王意潔,孫偉東,周松,等.云計算環境下的分布存儲關鍵技術[J].軟件學報, 2012,23(4):962-986.
[11]馬志強,楊雙濤,閆瑞,等.SQL-DFS:一種基于HDFS的海量小文件存儲系統 [J].北京工業大學學報, 2016,42(1):134-141.
[12]湯羽,王英杰,范愛華,等.基于HDFS開源架構與多級索引表的海量數據檢索mDHT算法 [J].計算機科學, 2013,40(2):195-199.
[13]周相兵,馬洪江,苗放.云計算環境下的一種基于Hbase的ORM設計實現[J].西南師范大學學報:自然科學版, 2013,38(8):130-135.
[14]陳吉榮,樂嘉錦.基于MapReduce的Hadoop大表導入編程模型[J].計算機應用, 2013,33(9):2486-2489.
[15]李洪敏,盧敏,黃林,等.基于云計算技術的網絡告警融合分析系統的設計與實現[J].信息安全與技術, 2014(9):58-63.
[16]張釗,張新峰,鄭楠,等.基于Hadoop平臺的LDA算法的并行化實現 [J].計算機工程與科學,2016,38(2):231-239.
Optimization on cloud storage platform of campus based on HDFS
WANG Hui
(Guangdong Polytechnic of Science and Technology, Zhuhai519090,China)
TN919.23
A
1674-6236(2017)19-0006-04
2016-08-15稿件編號201608104
國家自然科學基金資助項目(91120308)
王 慧(1986—),女,山東菏澤人,實驗師。研究方向:數字化校園建設,互聯網+,云數據平臺。