胡新煒 史麗男 李湘南 邵文照
【摘 要】煙臺市科技服務(wù)云災(zāi)備系統(tǒng)是為了解決煙臺市科技服務(wù)數(shù)據(jù)的安全問題,在Hadoop技術(shù)的基礎(chǔ)上開發(fā)的一種基于私有云的災(zāi)備系統(tǒng)。云災(zāi)備系統(tǒng)利用科技機(jī)房現(xiàn)有的老式閑置服務(wù)器,降低了科技業(yè)務(wù)數(shù)據(jù)備份成本,實(shí)現(xiàn)了科技服務(wù)數(shù)據(jù)定時安全備份和災(zāi)難恢復(fù)功能,同時提高了科技服務(wù)數(shù)據(jù)的安全性和可靠性。
【關(guān)鍵詞】Hadoop;HDFS;私有云;災(zāi)難備份
隨著我市科技工作的不斷深入發(fā)展,各類科技服務(wù)系統(tǒng)相繼出現(xiàn),大大提高了我市科技服務(wù)工作效率和管理水平。近年來,我市科技服務(wù)業(yè)務(wù)數(shù)據(jù)規(guī)模已從GB級迅速擴(kuò)充到TB級,業(yè)務(wù)系統(tǒng)對數(shù)據(jù)依賴程度顯著增加,為了保證我市科技服務(wù)業(yè)務(wù)數(shù)據(jù)安全、可靠,建立一套面向科技服務(wù)系統(tǒng)數(shù)據(jù)的云災(zāi)備系統(tǒng),是非常必要的。
1 平臺采用的技術(shù)
煙臺市科技服務(wù)云災(zāi)備系統(tǒng)開發(fā)基于Hadoop技術(shù),技術(shù)采用PHP +Hadoop/HDFS+Mysql,數(shù)據(jù)使用HDFS分布式文件系統(tǒng)存儲,通過虛擬化硬件資源和網(wǎng)絡(luò)資源,實(shí)現(xiàn)強(qiáng)大的存儲和計(jì)算能力,不僅可以快速響應(yīng)并處理大量數(shù)據(jù)存取,而且可以在不損失數(shù)據(jù)處理的可靠性和系統(tǒng)可擴(kuò)展性的前提下,利用現(xiàn)有的舊式服務(wù)器降低云災(zāi)備系統(tǒng)搭建成本。
1.1 Hadoop
Hadoop是一個分布式系統(tǒng)基礎(chǔ)架構(gòu),它可以采用分布式的方式來操縱大量數(shù)據(jù)。用戶可以在忽略底層細(xì)節(jié)的情況下,開發(fā)分布式程序,充分利用分布式集群的高速運(yùn)算和存儲能力。Hadoop是一個可以更容易開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺。Hadoop使用分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱 HDFS。 HDFS有高容錯性,可以部署在低廉的硬件設(shè)備上,放寬了可移植操作系統(tǒng)接口(POSIX)的部分要求,允許以流的形式訪問文件系統(tǒng)中的數(shù)據(jù),它提供了高傳輸率來訪問應(yīng)用程序的數(shù)據(jù),適用于那些有著超大數(shù)據(jù)集的應(yīng)用程序。
1.2 HDFS
HDFS (Hadoop Distributed Filesystem)是Hadoop專用的Master/Slave模式的分布式文件系統(tǒng),HDFS集群系統(tǒng)一般是由一個Master和多個Slave構(gòu)成。集群有兩類以管理者-工作者的方式運(yùn)行的節(jié)點(diǎn),一類節(jié)點(diǎn)為NameNode(管理者),另一類為 DataNode(工作者)。 NameNode 是文件系統(tǒng)的目錄管理者(命名空間),用來維護(hù)文件系統(tǒng)樹及整棵樹內(nèi)所有的文件和目錄,以兩個文件形式永久保存在本地硬盤上:即命名空間鏡像文件和編輯日志文件。 DataNode則是文件系統(tǒng)的工作節(jié)點(diǎn),它用來存儲并根據(jù)需要檢索數(shù)據(jù)塊,定期的向NameNode 發(fā)送它所存儲的塊的列表。
2 云災(zāi)備系統(tǒng)設(shè)計(jì)
云災(zāi)備系統(tǒng)由1個主服務(wù)器節(jié)點(diǎn)(Master)和3個從服務(wù)器節(jié)點(diǎn)(Slave)構(gòu)成。系統(tǒng)整體架構(gòu)分為三層:系統(tǒng)訪問層、應(yīng)用接口層、存儲層。第一層為系統(tǒng)訪問層,用戶通過瀏覽器和災(zāi)備客戶端訪問系統(tǒng)。中間層是應(yīng)用接口層,它集成了用戶認(rèn)證、權(quán)限管理、資源共享與輸出、應(yīng)用軟件、Web Service等多種功能。第三層是存儲層,利用Hadoop提供的HDFS分布式文件系統(tǒng)提供數(shù)據(jù)存儲功能。
2.1 用戶訪問
系統(tǒng)為用戶提供瀏覽器訪問和災(zāi)備客戶端訪問兩種訪問模式,用戶輸入用戶名和密碼登錄系統(tǒng)后,可以方便、快捷地訪問如同本地磁盤的災(zāi)備系統(tǒng)為用戶提供同步盤、文件管理、加解密等豐富的操作功能。用戶可以在系統(tǒng)中完成多種操作,如修改個人信息及密碼、文件/文件夾在線管理、對關(guān)鍵文件加解密、文件共享、對文件進(jìn)行備份和恢復(fù)等操作。
2.2 備份和恢復(fù)
系統(tǒng)實(shí)現(xiàn)了業(yè)務(wù)數(shù)據(jù)的網(wǎng)絡(luò)備份和恢復(fù),主要提供兩種備份功能:一是,根據(jù)用戶設(shè)置的備份策略通過系統(tǒng)客戶端將事先選擇的數(shù)據(jù)和目錄定期備份到災(zāi)備系統(tǒng);二是,根據(jù)用戶選擇性的操作將所選數(shù)據(jù)和目錄手動備份到災(zāi)備系統(tǒng)。災(zāi)備系統(tǒng)還支持?jǐn)?shù)據(jù)上傳下載過程中的斷點(diǎn)續(xù)傳、秒傳等功能。備份后的文件既可以可以下載到本地,也可以通過設(shè)定推送給局域網(wǎng)內(nèi)的其他聯(lián)網(wǎng)設(shè)備。系統(tǒng)為了防止用戶誤刪數(shù)據(jù),設(shè)計(jì)了回收站功能;為保證數(shù)據(jù)的實(shí)時備份,提供了數(shù)據(jù)同步功能,還可以對存儲的數(shù)據(jù)進(jìn)行限時分享。
云災(zāi)備系統(tǒng)還可以接收用戶提供的網(wǎng)絡(luò)地址,根據(jù)地址將對應(yīng)的網(wǎng)絡(luò)資源自動備份到云端,而不需要先將網(wǎng)絡(luò)資源先下載的本地存儲器再上傳到云端,提高了系統(tǒng)對網(wǎng)絡(luò)資源備份的效率,減少了用戶在客戶端的重復(fù)操作,提升了用戶體驗(yàn)。
2.3 數(shù)據(jù)存取和文件存取
災(zāi)備系統(tǒng)利用Hadoop的數(shù)據(jù)倉庫工具Hive實(shí)現(xiàn)其數(shù)據(jù)存取功能,將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,提供類似于SQL語言的HQL語言查詢功能,將用戶編寫的SQL轉(zhuǎn)換為相應(yīng)的 MapReduce程序在Hadoop中執(zhí)行。災(zāi)備系統(tǒng)的采用隊(duì)列響應(yīng)方式進(jìn)行文件存取,讀取文件時向文件輸入模塊提交文件I/O 模塊讀文件流請求,文件輸入模塊進(jìn)行讀取請求隊(duì)列處理;寫入文件時I/O模塊向文件輸出模塊提交寫文件流請求,文件輸出模塊進(jìn)行寫入請求隊(duì)列處理。文件流模塊分為文件輸入流模塊和文件輸出流模塊兩類。文件輸入流模塊按照文件隊(duì)列模塊中的讀取請求取出HDFS中對應(yīng)的文件;文件輸出流模塊按照文件輸出模塊中的寫入請求向HDFS中對應(yīng)的文件中寫入數(shù)據(jù)。
3 結(jié)束語
煙臺市科技服務(wù)云災(zāi)備系統(tǒng)通過充分利用閑置的舊式服務(wù)器,解決了市科技服務(wù)系統(tǒng)數(shù)據(jù)的備份問題,云災(zāi)備系統(tǒng)的通過數(shù)據(jù)節(jié)點(diǎn)的冗余設(shè)計(jì)減少了采用老舊服務(wù)器帶來的系統(tǒng)不穩(wěn)定性,提高了備份數(shù)據(jù)的安全性,最大限度的克服了備份數(shù)據(jù)的丟失問題,同時避免了重新購置存儲設(shè)備,節(jié)約了存儲設(shè)備購置資金,經(jīng)有關(guān)科室試用后效果顯著。
【參考文獻(xiàn)】
[1]楊亞軍.面向云計(jì)算環(huán)境的I/O虛擬化關(guān)鍵技術(shù)研究[D].北京:中國科學(xué)院研究生院,2011:5-6.
[2]李邐.淺析云計(jì)算背景下云存儲的優(yōu)勢與劣勢[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(23):1.
[3]鄧祥.基于Hadoop的海量日志數(shù)據(jù)處理研究與應(yīng)用[D].廈門:廈門大學(xué),2013:33.
[4]黃振奎.一種基于Hadoop平臺Dump模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012:3.
[5]The Apache Software Foundation. Text:Apache Hive[EB/OL].[2015-06-03]. https://cwiki.apache.org/confluence/display/Hive/GettingStarted.
[6]方雷.基于云計(jì)算的土地資源服務(wù)高效處理平臺關(guān)鍵技術(shù)探索與研究[D].杭州:浙江大學(xué),2011:82.
[7]陳文.基于云計(jì)算的醫(yī)療器械檢測信息化平臺研究[D].西安:西安工業(yè)大學(xué),2014:11.
[8]楊岳湘,鄧文平,鄧勁生,等.基于云存儲的網(wǎng)盤系統(tǒng)架構(gòu)及關(guān)鍵技術(shù)研究[J]. 電信科學(xué),2012,28(10):68-72.
[9]李新宇.網(wǎng)絡(luò)云盤介紹——以360云盤和百度云為例[J].無線互聯(lián)科技,2014(1):38-38.
[10]胡凱,鄭興福,陳如松,等.江蘇高校實(shí)驗(yàn)教學(xué)示范中心共享平臺建設(shè)與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2014, 33(8):144-147.
[11]傅穎勛,羅圣美,舒繼武.一種云存儲環(huán)境下的安全網(wǎng)盤系統(tǒng)[J].軟件學(xué)報(bào), 2014(8):1831-1843.
[責(zé)任編輯:朱麗娜]