鄒文景,唐良運,甘 瑩,孫 剛
(南方電網數字電網研究院有限公司,廣東廣州 510663)
隨著物聯網技術的快速發(fā)展和普及,物聯網大數據的數量呈幾何倍數增長,為保證數據存儲的質量和安全,物聯網大數據同步存儲系統(tǒng)實際應用不可缺少。傳統(tǒng)的物聯網大數據同步存儲系統(tǒng)以并行數據存儲為主,硬件配置要求不高,系統(tǒng)運行和維護成本較低。但隨著物聯網環(huán)境的日益復雜,數據丟失、竊取、泄露等問題不斷發(fā)生,傳統(tǒng)的存儲系統(tǒng)不能實現高質量的數據存儲,出現了存儲時延長、安全性較低、存儲速度慢等情況[1-2]。
為此,國內的相關研究人員和專家學者展開了深入的研究。以往設計的基于區(qū)塊鏈的物聯網大數據同步存儲系統(tǒng)[3],以區(qū)塊鏈技術為基礎,構建物聯網數據自動存儲模型,采用激勵機制計算最優(yōu)運算模式,縮短數據存儲時間,支持多通道多協(xié)議同步數據存儲,設計成本低,數據存儲同步性高,但運算過程復雜,收斂性較差,導致數據存儲效率較低。基于云計算的物聯網大數據同步存儲系統(tǒng)[4],在云計算環(huán)境下構建分布式控制系統(tǒng),以FPGA 芯片為核心處理器,集成嵌入式芯片、寄存器、SPI 接口等硬件設備,在Linux 操作系統(tǒng)的支持下,配合多信道進行大數據并行傳輸,能夠在短時間內進行海量數據存儲,具有較高的數據存儲效率,但并行存儲技術不夠成熟,數據存儲同步性差,數據存儲易出現誤差。
針對以上問題,該文設計了基于Hadoop 技術的物聯網大數據同步存儲系統(tǒng)。
數據采集單元是存儲系統(tǒng)最為關鍵的一部分,其承載了物聯網數據和數字化信號的采集任務。該文設計的數據采集單元是一個單板,差分數據傳輸信號經過差分電路后,轉換為單端數據傳輸信號,單端數據傳輸信號由模數轉換器將模擬信號轉換為數字信號,最后匯聚到DSP 芯片,進行初步數據預處理,并由SPI 接口傳輸至存儲器[5-6]。數據采集單元的結構如圖1 所示。
圖1 數據采集單元結構
其中,DSP 芯片是采集單元的核心,其晶振頻率約為28.9 Hz,最高主頻可達到960 Hz,最快數據處理速度約為5 227 MIPS,支持異步緩存模式,具有強大的數據處理功能,兼具DDR2 型RAM 和嵌入式控制器,利用FLASH 進行程序引導,并采用I2C 對數字信號的編碼和解碼進行配置,工作性能穩(wěn)定,能最大限度地保證數據采集的質量。
為便于存儲系統(tǒng)的數據共享和數據傳輸,該文設計的接口采用DDR3型硬件接口。接口設計如圖2所示。
圖2 存儲系統(tǒng)接口設計
圖2 中,DDR3 型接口能夠與采集模塊的DSP 進行無縫銜接,能在保證采集數據在傳輸過程中的完整性的同時,提升數據傳輸效率。接口位置通常設計在硬件設備的高16 位和低16 位,或者設計在高32 位和低32 位,從而實現32 位或64 位數據讀寫。進行數據傳輸的同時,DDR3 型接口還能傳輸復位信號、控制信號等信號指令,促進各硬件設備之間的協(xié)調工作[7-8]。由于DDR3 對輸入電源的穩(wěn)定性需求較高,該文設計三個具有相同電壓環(huán)路的電源,進行持續(xù)電源供給,且電源供給距離小于4 英寸,以避免出現因電源輸入不穩(wěn),出現數據傳輸異常等現象。
考慮到存儲系統(tǒng)的數據運算需求,在對系統(tǒng)處理器進行設計時,采用多核處理器替代傳統(tǒng)單核處理器,即內部具備多個處理核心,處理核之間相互調度、分配,以提升處理器的性能。考慮多核之間的分配權衡問題,引入多核調度技術進行全局隊列調度,保證多核并行處理的穩(wěn)定性。
針對多核處理器的IDS 接口、雙口RAM、PCI-E,設置小型控制器,采用FIPA 型控制器,以數值排列方式為主,有助于提升處理器對局部的控制能力[9-10]。處理器中幾個較大的寄存器和存儲器采用CIB 連接方式相互連接,能夠縮短數據訪問時間,保證處理器保持高效的數據處理狀態(tài)。
存儲器是存儲系統(tǒng)的核心,其容量和工作性能決定了存儲系統(tǒng)性能的優(yōu)劣。存儲器結構如圖3所示。
圖3 存儲器結構
觀察圖3 可知,配置雙口RAM,一旦進行大量數據存儲時,在CIP 的有效連接下,調用多通道進行同步存儲。存儲器設置ISHR 接口與DOM 接口,便于進行數據外部共享。調度數據時,必須經過訪問機制,才能進行數據存儲[11-12]。
存儲器設置了兩個接地電阻,同時連接不同的電阻,通過兩個電容器完成電量存儲,確保存儲器順利運行。
在上述物聯網大數據同步存儲系統(tǒng)硬件的設計基礎上,合理化設計軟件程序。系統(tǒng)軟件的主要流程如圖4 所示。
圖4 系統(tǒng)軟件流程
1)通過Hadoop 技術對物聯網大數據進行高效采集。由于物聯網數據的種類多、屬性復雜,因此在進行數據采集時,針對不同種類的物聯網數據,需要調用采集模塊的不同單位進行分類采集和預處理,從而提高數據運算效率,為實現高質量的數據存儲打下基礎。
2)數據加密和解密。引入Hadoop 技術管理信息文檔,通信信息文檔內容分析實現數據加密,加密文檔的建立可以有效提升數據存儲的安全性和可靠性,降低數據泄露、數據竊取的概率。首先,數據存儲的明文可能是文字、圖片、數字化音頻等,假設存在某一待加密存儲數據m,加密后的數據為c,m和c的長度可以相同,c的長度也可以長于m,在加密函數E下,m映射到c的過程可表示為:
相反,在解密函數D的作用下,由c到m的恢復過程可表示為:
待存儲數據經過加密之后再經過解密,原始的數據內容將被復原:
一個完善的數據加密和解密過程的條件是數據存儲的明文和密文之間的信息交換為0,即存在:
I(m,c)的計算公式為:
即有:
其中,H(m)表示數據存儲的明文的熵;H(c)表示數據存儲的密文的熵;H(m,c)表示聯合熵;M表示明文空間;C表示密文空間;p表示運算法則[13-14]。
3)物聯網數據的同步存儲。Hadoop技術以HDFS和MapReduce 為核心,在分布式架構的基礎上開發(fā)分布式程序,充分發(fā)揮集群的能力[15-18],為海量數據的存儲和計算提供便利,具有較高的可靠性、高效性、容錯性以及可伸縮性。
為了驗證該文提出的基于Hadoop 技術的物聯網大數據同步存儲系統(tǒng)的有效性,對該文系統(tǒng)與傳統(tǒng)的基于區(qū)塊鏈的物聯網大數據同步存儲系統(tǒng)、基于云計算的物聯網大數據同步存儲系統(tǒng)進行實驗對比。設定實驗環(huán)境如表1 所示。
表1 實驗環(huán)境
根據上述實驗參數,選用該文研究的系統(tǒng)和傳統(tǒng)系統(tǒng)對HBase 存儲業(yè)務進行同步查詢和分析,比較在查詢相同數量信息時,傳統(tǒng)系統(tǒng)和該文系統(tǒng)在執(zhí)行run 操作時,MySQL 數據庫和HBase 數據庫的耗時比,得到的實驗結果如圖5-6 所示。
圖5 MySQL數據庫耗時比實驗結果
觀察圖5 可知,隨著數據量的增加,三種系統(tǒng)的耗時出現明顯差別,當數據量為100×103個時,傳統(tǒng)云計算系統(tǒng)耗時急劇增加,當數據量為250×103個時,傳統(tǒng)云計算系統(tǒng)耗時急劇增加,而該文系統(tǒng)耗時始終要少于傳統(tǒng)的兩種系統(tǒng)。造成這種現象的原因是該文設計的存儲器采用的是SPRTAN-2 的芯片,考慮到物聯網數據特點,以Hadoop 技術為基礎,結合其分布式架構設計了分布式的存儲器內部結構,使存儲器具備較大的存儲空間,同時加快數據存入和提取的響應速度。
根據圖6 可知,該文系統(tǒng)在數據量低于50×103個時,耗時高于傳統(tǒng)系統(tǒng),但是隨著數據量增加,該文系統(tǒng)的耗時增長率越來越低,而傳統(tǒng)系統(tǒng)卻不斷增加,實際可操作性差。造成這種現象的原因是系統(tǒng)硬件的運行模式存在一定差異性,在運行一段時間后,各個硬件的時間模塊可能存在微小的差異,運行時間越長,時間差異越明顯,最終導致數據記錄和存儲的時間基準不一致,易導致數據存儲誤差,而該文以時間戳為基礎,設計同步記錄和存儲方式,在待存儲數據集中插入時間戳,以絕對時間和相對時間為參考標準進行時間基準校正,其中,相對時間為系統(tǒng)開始進行數據采集的時間,絕對時間一般默認為是北京時間,具有固定性,通過這種時間校正方式,能夠保證數據記錄與數據存儲在時間維度上的高度一致性,便于將數據存儲到正確的存儲空間,且相同的時間屬性更便于進行數據查詢,因此該文系統(tǒng)的耗時更短。
圖6 HBase數據庫耗時比實驗結果
隨著物聯網數據量的不斷增加以及種類的日漸豐富,針對物聯網大數據同步存儲需求逐漸升高,傳統(tǒng)物聯網大數據同步存儲系統(tǒng)雖然成本低且易于實現,但存儲效率較低、存儲延遲較高,因此,為滿足數據的同步存儲需求,完善傳統(tǒng)系統(tǒng)的不足,該文設計了基于Hadoop 技術的物聯網大數據同步存儲系統(tǒng),采用加密算法對存儲數據進行加密處理,保證數據存儲的安全性和穩(wěn)定性。