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