涂俊英+李志敏
摘 要: 當前云計算下非結構化大數據存儲系統(tǒng)設計方法是通過使用分布式數據庫存儲跨區(qū)域的云計算數據和全局數據存儲管理目錄實現(xiàn)的,運行系統(tǒng)復雜,成本高昂。為此,提出基于HBase的云計算下非結構化大數據存儲系統(tǒng)設計方法,首先對云計算下非結構化大數據進行分析,完成云計算下非結構化大數據提取,為云計算下非結構化大數據存儲系統(tǒng)框架設計創(chuàng)造條件,并介紹HBase的特點,得到基于HBase非結構化大數據存儲系統(tǒng)架構及運行流程,然后進行云計算下非結構化大數據存儲結構模型總體設計及非結構化大數據分布式結構分析,采用負載均衡控制方法進行云計算下非結構化大數據存儲系統(tǒng)冗余數據特征壓縮及信息存儲優(yōu)化算法設計,完成云計算下非結構化大數據存儲系統(tǒng)設計。通過仿真實驗證明,所提方法能夠有效降低云計算下非結構化大數據存儲花費的時間,保證存儲的數據可用、不丟失,方便云計算下非結構化大數據的使用,具有較強的使用價值。
關鍵詞: 云計算; 非結構化; 大數據; 均衡控制; 運行流程; 存儲系統(tǒng)設計
中圖分類號: TN919?34; TP333 文獻標識碼: A 文章編號: 1004?373X(2018)01?0173?05
Abstract: The current design method of the unstructured large data storage system under cloud computing is realized by using the distributed database for cloud computing cross?regional storage and global data storage management directory, which has complex system operation and high cost. So a design method of the HBase?based unstructured large data storage system under cloud computing is proposed. The unstructured large data under cloud computing is analyzed, and extracted to create the condition for the framework design of the unstructured large data storage system under cloud computing. Based on the characteristics of HBase, the architecture and operation flow of the unstructured large data storage system based on HBase are obtained. The overall design of the unstructured large data storage structure model under cloud computing and unstructured large data distributed structural analysis are carried out. The load balancing control method is used to compress the redundant data feature and design the information storage optimization algorithm of the unstructured large data storage system under cloud computing to realize the design of the unstructured large data storage system under cloud computing. The simulation results show that the proposed method can effectively reduce the storage time of the unstructured large data under cloud computing and ensure the available and subsistent data stored in database, is convenient for the use of the unstructured large data under cloud computing, and has high use value.
Keywords: cloud computing; unstructure; large data; balancing control; operation flow; storage system design
0 引 言
隨著計算機互聯(lián)網技術的普及,云計算被廣泛應用在科技、醫(yī)療、軍事等各個領域[1],在人們生活中占據著越來越重要的作用,隨著網絡中數據的增多,對非結構化大數據進行存儲具有重要意義[2?3],有利于非機構化大數據的保護,保證非結構化大數據的可用[4]。本文提出一種基于多通道的云計算下非結構化大數據存儲系統(tǒng),完成云計算下非結構化大數據硬件設計及邏輯設計[5],這種方法是云計算下非結構化大數據存儲的重要方法,是解決該問題的有效途徑,也成為業(yè)內人士研究的焦點問題,研究取得了豐碩的成果[6?7]。
文獻[8]提出一種基于FPGA和Serial ATA橋接芯片的云計算下非結構化大數據存儲系統(tǒng)設計方法,利用FPGA對IP核控制JM20330芯片進行設計,從而完成由IDE到SATA接口的轉換,提供單接口傳輸通道,并支持熱插拔,實現(xiàn)脫機情況下對SATA硬盤的操作,從而完成云計算下非結構化大數據存儲系統(tǒng)的設計。但這種方法對硬件要求高,不利于系統(tǒng)維護工作的開展。endprint
文獻[9]提出一種基于分布式的云計算下非結構化大數據存儲系統(tǒng)設計方法,通過將數據劃分成大小相同的非結構化大數據文件塊,利用多副本的形式分布存儲在不同地理位置以實現(xiàn)更好的容錯機制,從而提供高可用的持久化的數據存儲。但這種進行非結構化大數據存儲系統(tǒng)設計的方法可能導致非結構化大數據內容丟失。
文獻[10]提出一種基于NAND FLASH存儲介質的云計算下非結構化大數據存儲系統(tǒng)設計方法,該設計方法是通過硬件系統(tǒng)以及軟件系統(tǒng)的設計完成的,在云計算下非結構化大數據存儲系統(tǒng)的軟件設計中提出將數據管理算法應用于NAND閃存,利用二級地址的映射關系對非結構化大數據進行處理,均勻損耗。該方法在對非結構化大數據進行存儲時,可能會導致原大數據內容信息失真。
針對上述問題,本文提出一種基于HBase的云計算下非結構化大數據存儲系統(tǒng)設計方法,首先對云計算下非結構化大數據進行分析,完成云計算下非結構化大數據提取,為云計算下非結構化大數據存儲系統(tǒng)框架設計創(chuàng)造條件,并介紹HBase的特點,得到基于HBase非結構化大數據存儲系統(tǒng)架構及運行流程,然后進行云計算下非結構化大數據存儲結構模型總體設計及非結構化大數據分布式結構分析,采用負載均衡控制方法進行云計算下非結構化大數據存儲系統(tǒng)冗余數據特征壓縮及信息存儲優(yōu)化算法設計。完成云計算下非結構化大數據存儲系統(tǒng)設計。通過仿真實驗證明,所提方法能夠有效降低云計算下非結構化大數據存儲花費的時間,保證存儲的數據可用、不丟失,方便云計算下非結構化大數據的使用,具有較強的實用性。
1 云計算下非結構化大數據存儲系統(tǒng)設計
非結構化數據具有存儲方式不一,數據格式多樣,業(yè)務流程多樣,數據難以標準化,信息量大等特點,通過分層的網絡結構對云計算下非結構化大數據進行存儲,將云計算下非結構化大數據分成應用層、會話層、數據層、路由層和物理層5個功能層。應用層提供云計算下非結構化大數據應用接口;會話層具備較多權限以及安全執(zhí)行能力,該層根據不同等級的安全情況,制定不同形式的安全方案以確保數據的安全;數據層的作用是統(tǒng)一管理云計算下非結構化數據及其元數據;路由層的主要作用是保證各個設備間連接并完成路徑計算。
1.1 云計算下非結構化大數據分析
云計算下非結構化大數據分析主要包括與應用程序一起集成的云計算客戶端、云計算后端處理服務器和報表系統(tǒng)。通過將云計算數據庫集成在同一云計算數據庫,利用接收云計算下非結構化大數據的服務器和處理非結構化大數據的服務器以及報表系統(tǒng),完成云計算下非結構化大數據分析。
云計算客戶端以組件的形式集成在云計算軟件中,用戶在安裝云計算軟件的同時,將客戶端安裝在電腦中,將用戶操作記錄,并發(fā)送出去。
接收服務器部署在云計算環(huán)境中,其關鍵作用是負責接收客戶端傳送過來的最優(yōu)數據,并將這些數據信息保存在固定的文件中,之后在特定的時間將這些文件傳輸到指定的目錄中。
操作數據預處理。設計它的目的是接收來自服務器Event Collect層傳送來的數據信息,并且按照事件的類型來標記這些數據信息記錄。
云計算環(huán)境下非結構化大數據的采集是云計算環(huán)境下非結構化大數據存儲的基礎。隨著互聯(lián)網技術和應用的發(fā)展以及各種終端設備的普及,數據的來源范圍越來越大,非結構化大數據的產量也隨之增多,非結構化數據之間的關聯(lián)也越來越復雜,這也是非結構化大數據中“大”的體現(xiàn),所以需要提高云計算下非結構化大數據采集的速度和精度要求。
云計算下非結構化大數據的處理與集成主要是對前一步采集到的非結構化大數據進行適當的預處理,包括格式化、去噪以及進一步集成存儲。因為云計算下非結構化大數據的采集步驟不一樣,采集到的數據結構并不統(tǒng)一,不利于后續(xù)非結構性大數據的存儲利用。并且,不將一些無效廢結構性大數據去除,還會影響數據分析的精度和可靠性,所以,將非結構化大數據統(tǒng)一格式并且去除無效數據是非常必要的。
在完成了對云計算下非結構化大數據的采集和處理后,需要對非結構性大數據進行分析。通過分析,將云計算下非結構化大數據的價值體現(xiàn)出來。云計算下非結構化大數據分析的對象是上一步云計算下處理與集成后的統(tǒng)一格式的非結構化大數據,針對有價值的云計算下非結構化大數據進行存儲。圖1為云計算下非結構化大數據分析過程。
通過上述分析,完成云計算下非結構化大數據的提取,方便云計算下非結構化大數據存儲系統(tǒng)設計,為存儲系統(tǒng)框架的構建創(chuàng)造條件。
1.2 云計算下非結構化大數據存儲系統(tǒng)框架設計
云計算是一種分布式計算,通過將網絡中的計算節(jié)點作為資源池,對網絡資源進行整合,并利用特定軟件對資源進行管理。Hadoop是云計算的核心技術,其中HBase是Hadoop的重要組成部分。
HBase是分布式、面向列的存儲系統(tǒng),提供實時讀寫和隨機訪問大數據集。HBase自動把表橫切成不同的區(qū)域,每個區(qū)域包含表的所有行的一個子集。HBase由一個主節(jié)點協(xié)調一個或多個區(qū)域服務器組成。HBase主節(jié)點負責引導初始安裝、分配區(qū)域給區(qū)域服務器,恢復區(qū)域服務器的故障,主節(jié)點負載較輕。區(qū)域服務器負責0到多個區(qū)域,響應客戶端的讀寫請求。HBase的實現(xiàn)依賴于Zookeeper來協(xié)調管理,Zookeeper負責選取一個節(jié)點為Master,剩下的節(jié)點為 region server。
基于HBase非結構化大數據庫存儲系統(tǒng)架構采用分布式架構中的主從模式,保證數據庫的可擴展性與數據的強一致性。
基于HBase的云計算下非結構化大數據存儲系統(tǒng)如圖2所示。
云計算下非結構化大數據存儲系統(tǒng)通過互聯(lián)網采集云計算下的海量數據,通過后臺系統(tǒng)實現(xiàn)非結構化大數據的自主存儲。具體存儲平臺如圖3所示。
通過上述論述進行非結構化大數據存儲平臺設計,從而完成云計算下非結構化大數據存儲平臺設計。endprint
1.3 云計算下非結構化大數據存儲算法設計
在對云計算網絡中非結構化數據存儲結構分析時,根據云計算下非結構化大數據調度模型和云計算下非結構化大數據存儲概念相似度特征,得到云計算下非結構化大數據存儲分布的二元域[F2]分布規(guī)則。針對云計算下非結構化大數據存儲系統(tǒng)的不同用戶偏好,構建非結構化大數據存儲系統(tǒng)的多用戶規(guī)則調度模型為:
[fij=wtδt+wcδc+wqδq+wsδs] (1)
式中:[wt+wc+wq+ws=1;][t]表示非結構化大數據存儲系統(tǒng)中進行數據采集的時間;[c]表示非結構化大數據存儲系統(tǒng)中滿足用戶存儲需求的代價;[q]表示存儲系統(tǒng)中非結構化大數據存儲的質量;[s]表示非結構化大數據存儲系統(tǒng)的數據存儲損耗;[w]表示非結構化大數據節(jié)點總數;[δ]表示云計算下非結構化大數據存儲數據包。
設定[k]表示非結構化大數據源數量,存在[k+ε]個非結構化大數據節(jié)點,從中收集了[k+ε]個非結構化大數據存儲數據包,其中[ε>0]為常數。為便于描述,這[k+ε]個非結構化大數據存儲數據包用[Yi]表示,[i=1,2,…,k+ε]。因為每個存儲數據包都是源數據包的線性組合,因此,任意一個[Yi,][i=1,2,…,n]都可以表示為:
[Yi=gi[X1,X2,…,Xk]] (2)
式中:[X1,X2,…,Xk]表示[k]個非結構化大數據源數據包;[gi]表示一個獨立的且取值在二元域[F2={0,1}]上的行向量,即非結構化大數據的存儲數據包[Yi]的生成行向量。[gij]表示[gi]的每個元素,[j=1,2,…,k,]其取值都是獨立的,其定義的分布可表示為:
[Pr(gij=r)=alnkk,r=11-alnkk,r=0 ] (3)
式中:[alnkk]表示非結構化大數據節(jié)點概率;[r]表示兩個節(jié)點的距離。
[G(k+ε)×k]表示[k+ε]個非結構化大數據存儲數據包構成的[(k+ε)×k]階矩陣,即[k+ε]個非結構化大數據存儲數據包的生成矩陣,則:
[G(k+ε)×k=[g1,g2,…,gk+ε]T] (4)
借助生成矩陣,[k+ε]個非結構化大數據存儲數據包可以表述為:
[Y1Y2?Yk+ε=G(k+ε)×k?X1X2?Xk] (5)
用[Pfailure]表示二元域[F2]上的生成矩陣[G(k+ε)×k]列不滿秩的概率,當[G(k+ε)×k]的每個非結構化大數據元素的取值服從公式(3)定義的分布時,則[Pfailure]可表示為:
[Pfailure≤w=1kkwk+ε] (6)
假設[ρ]表示生成矩陣[G(k+ε)×k]中每個元素值為1的概率,當[alnkk=12]時,對[Pfailure]進行簡化,可以表示為:
[Pfailure≤12ε] (7)
若[s]表示非結構化大數據存儲系統(tǒng)的數據存儲損耗,[w]表示非結構化大數據節(jié)點總數,則有:
[s=0,2,…,wws=2w-1] (8)
通過上述算法,完成云計算下非結構化大數據存儲算法設計,從而完成非結構化大數據存儲系統(tǒng)設計。
2 仿真實驗結果與分析
為了證明本文提出的基于HBase的云計算下非結構化大數據存儲系統(tǒng)設計方法的有效性,以Intel P4 2 GB處理器為硬件環(huán)境,Matlab 2008a為平臺,通過模擬非結構化大數據存儲情況,進行仿真實驗。運用對比法將本文所提系統(tǒng)設計方法與文獻[9]提出的基于分布式的云計算下非結構化大數據存儲系統(tǒng)設計方法存儲性能進行比較,從而完成實驗。
分別利用本文所提云計算下非結構化大數據存儲系統(tǒng)設計方法和文獻[9]提出的基于分布式的云計算下非結構化大數據存儲系統(tǒng)設計方法進行非結構化存儲需要的時間進行對比分析,對比結果如表1表示。
從表1和圖4可以看出,存儲同樣大小的非結構化大數據,本文提出的存取系統(tǒng)設計方法與文獻[9]提出的存儲系統(tǒng)設計方法相比,存儲花費時間更短。說明本文所提方法存儲速度快。
將表1用圖形方式進行表示,得出結果如圖4所示。
在進行非結構化大數據存儲時,存在多個非結構化大數據,當完全存儲非結構化大數據時,則稱該非結構化大數據存儲完整,存儲的完整度表示存儲完整數量與總非結構化大數據數量的比值。分別利用本文所提存儲系統(tǒng)設計方法與文獻[9]所提存儲系統(tǒng)設計方法對非結構化大數據進行存儲性能對比,得到非結構化大數據存儲完整量結果如表2所示,非結構化大數據存儲完整度如圖5所示。
通過表2可以看出,對相同數量的非結構化大數據進行存儲,本文所提方法完整存儲非結構化大數據的數量較多。從圖5可以看出,本文所提存儲系統(tǒng)設計方法進行存儲時,對非結構化大數據存儲的完整度平均在90%,而采用文獻[9]所提系統(tǒng)設計方法進行存儲時,對非結構化大數據存儲的完整度在80%左右,說明本文所提云計算下非結構化大數據存儲系統(tǒng)設計方法能夠較好地保證非結構化大數據存儲的完整性。綜合上述實驗,可以得到本文所提方法能夠有效地提高云計算下非結構化大數據存儲的速度及完整性,具有較強的使用價值。
3 結 語
隨著云計算的廣泛使用,云計算數據越來越多,對非結構化大數據存儲愈來愈受到人們的重視,針對傳統(tǒng)云計算下非結構化大數據存儲存在運行系統(tǒng)復雜,成本高昂的問題,提出基于HBase的云計算下非結構化大數據存儲系統(tǒng)設計方法,能夠提高非結構化大數據存儲的速度與完整性,具有較強的使用價值。
參考文獻
[1] 陳志華,劉曉勇.云計算下大數據非結構的穩(wěn)定性檢索方法[J].現(xiàn)代電子技術,2016,39(6):58?61.endprint
CHEN Zhihua, LIU Xiaoyong. Methods of unstructured big data stability retrieval in cloud computing [J]. Modern electronics technique, 2016, 39(6): 58?61.
[2] 吳凱峰,劉萬濤,李彥虎,等.基于云計算的電力大數據分析技術與應用[J].中國電力,2015,48(2):111?116.
WU Kaifeng, LIU Wantao, LI Yanhu, et al. Cloud?computing based power big data analysis technology and its application [J]. Electric power, 2015, 48(2): 111?116.
[3] 王敬東.面向大數據的數字圖書館數據庫緩存模型設計[J].圖書情報工作,2014,58(22):95?99.
WANG Jingdong. Design of digital library database cache model oriented to big data [J]. Library and information service, 2014, 58(22): 95?99.
[4] 李洪奇,朱麗萍,孫國玉,等.面向海量小文件的分布式存儲系統(tǒng)設計與實現(xiàn)[J].計算機工程與設計,2016,37(1):86?92.
LI Hongqi, ZHU Liping, SUN Guoyu, et al. Design and implementation of distributed mass small file storage system [J]. Computer engineering and design, 2016, 37(1): 86?92.
[5] 吳燕波,薛琴,向大為,等.云平臺下的NoSQL分布式大數據存儲技術與應用[J].現(xiàn)代電子技術,2016,39(9):44?47.
WU Yanbo, XUE Qin, XIANG Dawei, et al. NoSQL distributed big data storage technology and its application under cloud platform [J]. Modern electronics technique, 2016, 39(9): 44?47.
[6] 劉帆.關系數據庫中實時高效元數據存儲算法優(yōu)化研究[J].科學技術與工程,2017,17(17):255?260.
LIU Fan. A relational database real?time efficient data storage algorithm optimization research [J]. Science technology and engineering, 2017, 17(17): 255?260.
[7] 楊俊杰,廖卓凡,馮超超.大數據存儲架構和算法研究綜述[J].計算機應用,2016,36(9):2465?2471.
YANG Junjie, LIAO Zhuofan, FENG Chaochao. Survey on big data storage framework and algorithm [J]. Journal of computer applications, 2016, 36(9): 2465?2471.
[8] 王東強,王曉霞.云存儲中大數據優(yōu)化粒子群聚類算法[J].電子設計工程,2017,25(2):26?30.
WANG Dongqiang, WANG Xiaoxia. Large data optimization particle swarm clustering algorithm based on cloud storage [J]. Electronic design engineering, 2017, 25(2): 26?30.
[9] 李德有,趙立波,解晨光.Hadoop構建的銀行海量數據存儲系統(tǒng)研究[J].哈爾濱理工大學學報,2015,20(4):60?65.
LI Deyou, ZHAO Libo, XIE Chenguang. The research of a big data storage system constructed with Hadoop [J]. Journal of Harbin University of Science and Technology, 2015, 20(4): 60?65.
[10] 洑涵妤.基于云計算的安全數據存儲系統(tǒng)的設計與實現(xiàn)[J].煤炭技術,2010,29(12):169?171.
FU Hanyu. Design and implementation of secure data storage system based on cloud computing [J]. Coal technology, 2010, 29(12): 169?171.endprint