宋子濤,張秋霞,郭大亮,陳義學(xué),莫文濤,于楚凡
摘 要:隨著信息化時代的到來,網(wǎng)絡(luò)通信能力的提高,數(shù)據(jù)采集也有了多種方式。環(huán)保數(shù)據(jù)作為常用信息載體,數(shù)量在急劇增加中,處理數(shù)據(jù)的技術(shù)還停留在基礎(chǔ)階段。在此背景下設(shè)計了基于Hadoop的環(huán)保數(shù)據(jù)采集平臺。該平臺是基于Hadoop框架,配合子項目Hive和HBase,完成全面的數(shù)據(jù)分析支持。采用PIC18F8722單片機為核心組件,對傳感器收集到的數(shù)據(jù)通過GPRS無線網(wǎng)絡(luò)上傳,利用CLARA聚類算法對數(shù)據(jù)進行整合歸類,最后通過數(shù)據(jù)節(jié)點完成對數(shù)據(jù)的儲存、備份過程。
關(guān)鍵詞:Hadoop;數(shù)據(jù)采集;CLARA算法
中圖分類號:TP274+.2;TP311.13 文獻標識碼:A 文章編號:1001-5922(2021)12-0168-05
Design of Electric Power Environmental Protection Data Collection Platform Based on Hadoop
Song Zitao1, Zhang Qiuxia1, Guo Daliang2, Chen Yixue1, Mo Wentao1, Yu Chufan1
(1.State Power Investment Corporation Central Research Institute, Beijing 102209, China;
2.State Power Investment Corporation Limited, Beijing 100029, China)
Abstract:With the advent of the information age, the network communication capability is improved, and the data collection has a variety methods. As a common information carrier, the number of environmental protection data is increasing rapidly, but the data processing technology is still in the basic stage. Therefore, an environmental protection data collection platform based on Hadoop is designed, which is based on the Hadoop framework and cooperates with the sub-projects Hive and Hbase to provide a support for comprehensive data analysis. Using PIC18F8722 single-chip microcomputer as the core component, the data collected by the sensor is uploaded through the GPRS wireless network, and the CLARA clustering algorithm is used to integrate and classify the data. Finally, the data storage and backup process are completed through the data node.
Key words:Hadoop; Data collection; CLARA algorithm
0 引言
環(huán)保數(shù)據(jù)量大而種類繁多,為更好的分析統(tǒng)計環(huán)保數(shù)據(jù),有很多專家學(xué)者提出各種研究方向,如牛健等提出的環(huán)保工況監(jiān)控系統(tǒng)的架構(gòu)設(shè)計研究;李長杰等提出的基于AIoT的智能環(huán)保監(jiān)控管理系統(tǒng)開發(fā)及其在高速公路網(wǎng)中的應(yīng)用,為環(huán)保數(shù)據(jù)的處理提供了方向。為更好的存儲、分析環(huán)保數(shù)據(jù),在前者的研究基礎(chǔ)上設(shè)計了基于Hadoop的環(huán)保數(shù)據(jù)采集平臺。該平臺利用PIC18F8722單片機為核心,完成數(shù)據(jù)的采集和上傳工作。利用CLARA聚類算法對數(shù)據(jù)進行分類處理,最后通過Hive、HBase對數(shù)據(jù)進行存儲、讀取、查詢工作。并且該系統(tǒng)運用文件分割方式,將文件分割的數(shù)據(jù)塊存儲于數(shù)據(jù)節(jié)點并進行,有效避免了數(shù)據(jù)的丟失。
1 數(shù)據(jù)采集系統(tǒng)設(shè)計
1.1 數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
系統(tǒng)硬件部分主要由PIC18F8722單片機、4種傳感器及GPRS無線傳輸模塊構(gòu)成。傳感器采集的數(shù)據(jù)進入系統(tǒng)后,通過無線網(wǎng)絡(luò)上傳至數(shù)據(jù)中心,數(shù)據(jù)中心對數(shù)據(jù)進行處理和存儲。 具體硬件系統(tǒng)結(jié)構(gòu)如圖1所示。
該系統(tǒng)采用的智能芯塊為PIC18F8722單片機。相對于傳統(tǒng)單片機,PIC系列單片機優(yōu)點在于優(yōu)化了存儲器結(jié)構(gòu)及流水線指令,提高了系統(tǒng)的運行速率;封裝特性提高了單片機性能的持續(xù)和穩(wěn)定;且價格實惠,性價比高。故選擇該單片機為系統(tǒng)的核心組件。
該系統(tǒng)風(fēng)速傳感器選用的是三杯式風(fēng)速計量器。在有風(fēng)情況下,其旋轉(zhuǎn)速度與風(fēng)速成正比。測出風(fēng)速后通過輸出端與主控模塊的模數(shù)轉(zhuǎn)換接口連接實現(xiàn)對風(fēng)速數(shù)據(jù)采集。三杯式風(fēng)速計量器參數(shù)如表1所示。
風(fēng)向傳感器選用的是數(shù)字式風(fēng)向傳感器,因為該傳感器設(shè)置的地點環(huán)境風(fēng)向和內(nèi)置風(fēng)向桿成線性關(guān)系,故數(shù)據(jù)采集方式為風(fēng)力使風(fēng)向桿的感應(yīng)部位轉(zhuǎn)動,帶動轉(zhuǎn)動軸下端的光電風(fēng)向碼盤,輸出7位格雷碼數(shù)據(jù)。輸出數(shù)據(jù)后,通過在單片機內(nèi)建立的格雷碼、風(fēng)向角度轉(zhuǎn)換關(guān)系輸出風(fēng)向角度。數(shù)字式風(fēng)向傳感器參數(shù)如表2所示。
1.2 環(huán)保數(shù)據(jù)系統(tǒng)硬件連接電路
1.2.1 環(huán)保數(shù)據(jù)系統(tǒng)硬件連接電路總體設(shè)計
根據(jù)各個傳感器的輸出特性,選擇合適的連接方式與主控電路進行連接。具體電路連接如圖2所示。
風(fēng)速傳感器以電壓信號的方式輸出,輸出后經(jīng)過放大電路,到雙向模擬開關(guān),將ANO設(shè)置為輸入狀態(tài)。
數(shù)字式風(fēng)向傳感器輸出的信號為7位格雷碼,分別與單片機的RE0~RE6連接。
雨量傳感器以無源開關(guān)信號的方式輸出,經(jīng)過隔離電路處理,處理后的數(shù)據(jù)被單片機采集??蓪A1的狀態(tài)設(shè)置為輸出且置0,將RA2的狀態(tài)設(shè)置為輸入且置1,此時可以通過檢測RA2的0/1所處的狀態(tài),實現(xiàn)在PIC18F8722單片機內(nèi)部計數(shù)的操作。
溫濕度傳感器與單片機的連接方式是單總線,數(shù)據(jù)讀取方式為,利用RB7端口控制其時序操作。
無線模塊與單片機的連接方式是通過接口RS232實現(xiàn),數(shù)據(jù)傳輸是利用PIC18F8722單片機內(nèi)部定時中斷處理功能,定時將數(shù)據(jù)傳輸至數(shù)據(jù)中心。
1.2.2 供電電路設(shè)計
供電電路設(shè)計如圖3所示。系統(tǒng)主控電路電源由LM2576提供,LM2576能將24 V轉(zhuǎn)化為5 V的穩(wěn)定電路;Cp1和Cp2消除低頻紋波;IN5822穩(wěn)壓二極管避免輸出電壓出現(xiàn)波動,從而減少因供電電壓不穩(wěn)造成的器件損壞。
1.3 系統(tǒng)性能測試
由于該系統(tǒng)采集的數(shù)據(jù)受觀測環(huán)境、數(shù)據(jù)傳輸、傳感器設(shè)備等因素的影響,故需對采集到的數(shù)據(jù)進行質(zhì)量控制后才能作為可靠數(shù)據(jù)儲存、使用。對數(shù)據(jù)進行質(zhì)量控制主要由以下兩個角度出發(fā)。
(1)界限值檢測
傳感器的測定也存在一定的測量界限,若超出該界限則為錯誤數(shù)據(jù),應(yīng)將采集到的數(shù)據(jù)摒棄。風(fēng)向傳感器、風(fēng)速傳感器、雨量傳感器的測量界限統(tǒng)計參數(shù)結(jié)果如表3所示。
(2)時間一致性檢測
環(huán)保要素與時間要素聯(lián)系也較為緊密,將采集到的一組環(huán)保數(shù)據(jù),與該組數(shù)據(jù)的相鄰時間數(shù)據(jù)作對比,觀察兩組數(shù)據(jù)的環(huán)保要素值。若兩組差值超過了標準的閾值,則代表該組數(shù)據(jù)為問題數(shù)據(jù),不能直接使用,應(yīng)予以標記。標準閾值統(tǒng)計結(jié)果如表4所示。
1.4 環(huán)保數(shù)據(jù)可靠性檢測
采集到的數(shù)據(jù)可能存在一定誤差,為檢測誤差,在實驗室用電腦模擬該系統(tǒng),同時建立數(shù)據(jù)測試中心。實驗室用軟硬件列表如表5所示。數(shù)據(jù)傳輸進入到數(shù)據(jù)中心后,數(shù)據(jù)中心對數(shù)據(jù)進行解析,將解析后的數(shù)據(jù)上傳至Oracle數(shù)據(jù)庫,完成數(shù)據(jù)的分析和存儲。Oracle數(shù)據(jù)庫中有臨時表TEMP及正式表格TABTIMEDATA。臨時表格用于存儲所有收集到環(huán)保數(shù)據(jù),正式表格用于存儲可靠數(shù)據(jù)。
2 基于Hadoop的環(huán)保數(shù)據(jù)采集系統(tǒng)軟件部分設(shè)計
2.1 海量數(shù)據(jù)的聚類算法
本系統(tǒng)采集到的數(shù)據(jù)龐大而復(fù)雜,為了高效處理采集到的數(shù)據(jù),本系統(tǒng)采用CLARA算法。CLARA算法是以樣本的聚類算法(PAM算法)為基礎(chǔ)創(chuàng)立的。
PAM算法基本步驟:
(1)在輸入的數(shù)據(jù)集中,包含有n條樣本,在該數(shù)據(jù)集中選取 K個樣本,選取的 K個樣本設(shè)為最開始聚類簇的中心點;
(2)對 K個樣本外的其他所有樣本進行平均分配,分配標準為最臨近聚類簇;
(3)利用聚類簇中每個非中心點樣本(設(shè)為Or)代替原來作為中心點的樣本(Oj),并計算其代價S。
(4)若S小于零,則Or成為新中心點;若大于等于零,則中心點不變;
(5)重復(fù)上述步驟(2)~(4);
(6)若所有中心點都不再替換,則步驟完成。
PAM算法流程圖如圖4所示:
PAM算法是利用歐幾里得距離定義樣本間的相似性:
上式中,x=(x1, x2,…, xk)和 y=(y1, y2,…, yk)是數(shù)據(jù)集中兩個 k 維的樣本。
評測公式是判斷其收斂性的依據(jù),其表達式為:
CLARA算法能夠快速的處理龐大而復(fù)雜的數(shù)據(jù)的原因是提前對樣本進行選擇。將選擇后的結(jié)果使用PAM算法進行對比,當聚類結(jié)果達到最佳值時輸出。
CLARA算法步驟:
(1)對整體數(shù)據(jù)進行n次選樣,并重復(fù)以下3個步驟;
(2 在輸入的數(shù)據(jù)庫中選擇一個樣本,利用PAM算法對樣本進行劃分,得到 K個最優(yōu)中心點;
(3)將步驟(2)計算出的最優(yōu)中心點應(yīng)用到整個數(shù)據(jù)庫中,這樣就能得到 K個中心點代表的 K個聚類簇;
(4)對步驟(3)得到的聚類簇進行總代價計算,得到最好劃分結(jié)果;
(5)返回步驟(1),直到聚類效果最好為止。
3 基于Hadoop的環(huán)保數(shù)據(jù)倉庫建立
3.1 環(huán)保數(shù)據(jù)倉庫體系結(jié)構(gòu)建立
環(huán)保數(shù)據(jù)倉庫具體結(jié)構(gòu)如圖5所示。
該環(huán)保數(shù)據(jù)倉庫是基于Hadoop框架,配合子項目Hive和HBase,完成全面的數(shù)據(jù)分析支持。Hive查詢和分析Hadoop存儲的數(shù)據(jù),HBase對圖像和聲音進行存儲。即該數(shù)據(jù)倉庫能查詢離線數(shù)據(jù)也能實時對數(shù)據(jù)進行查詢分析及歸納。
3.2 文件系統(tǒng)的建立
完成數(shù)據(jù)庫的建立后,對系統(tǒng)的內(nèi)部運行進行管理。數(shù)據(jù)進入HBase后進行存儲,通過Hive管理數(shù)據(jù),且對元數(shù)據(jù)進行解析,并通過MapReduce進行計算。關(guān)系數(shù)據(jù)庫可利用Sqoop軟件導(dǎo)入,實現(xiàn)了數(shù)據(jù)的轉(zhuǎn)移。此外,Hive還提供了基于Web接口,可根據(jù)需求導(dǎo)出數(shù)據(jù)。
在上述文件系統(tǒng)中,對元數(shù)據(jù)單獨管理的主要原因是元數(shù)據(jù)對環(huán)保數(shù)據(jù)的來源和環(huán)保數(shù)據(jù)質(zhì)量等級的反映最為明顯,同時元數(shù)據(jù)也是判斷所選數(shù)據(jù)能否使用的依據(jù)。對其單獨管理還能實現(xiàn)在數(shù)據(jù)共享前提下提高相應(yīng)性能。文件系統(tǒng)體系結(jié)構(gòu)圖如圖6所示。
如圖6所示,文件系統(tǒng)體系是由管理層的控制節(jié)點和存儲層的數(shù)據(jù)節(jié)點構(gòu)成??刂乒?jié)點能夠完成命名空間的用戶需求,如客戶端對文件的訪問、維護及改動等;而數(shù)據(jù)節(jié)點的主要工作是文件的存儲和管理,且通過與用戶層的連接,完成和數(shù)據(jù)I/O交互過程。
除了對數(shù)據(jù)進行分類存儲外,本文設(shè)立的文件管理系統(tǒng)還能對數(shù)據(jù)進行多重備份,多重備份的原理是將需要儲存的文件分割成等量的數(shù)據(jù)塊,在不同的數(shù)據(jù)節(jié)點內(nèi)存儲分割完成后的數(shù)據(jù)塊,從而完成數(shù)據(jù)的備份。該模式的好處在于即使幾個數(shù)據(jù)節(jié)點出現(xiàn)故障,對數(shù)據(jù)的完整性和可操作性也沒有影響。
3.3 服務(wù)器系統(tǒng)管理
系統(tǒng)內(nèi)部運行產(chǎn)生的日志由日志服務(wù)器負責(zé)歸納和收集,用HDFS存儲;Hadoop統(tǒng)計分析;HQL分類、排序、歸納輸出。從而得到該系統(tǒng)的運行狀態(tài),若系統(tǒng)出現(xiàn)功能型問題,則會給出詳細的錯誤信息,在一定程度上提高了系統(tǒng)的性能。
Web服務(wù)器的主要工作是系統(tǒng)運算管理及維護,具有環(huán)保數(shù)據(jù)錄入,查詢接口和可視化數(shù)據(jù)瀏覽等功能,搭建了環(huán)保用戶與環(huán)保數(shù)據(jù)倉庫間的橋梁,為用戶提供便捷。
4 結(jié)語
在數(shù)據(jù)化時代,數(shù)據(jù)的儲存分類讀取是極其重要的。本文設(shè)計的數(shù)據(jù)采集平臺是基于Hadoop框架,配合子項目Hive和HBase,完成全面的數(shù)據(jù)分析支持。系統(tǒng)的硬件部分由智能芯片、傳感器及無線模塊組成,負責(zé)將傳感器采集到的數(shù)據(jù)通過GPRS無線網(wǎng)絡(luò)進行傳輸。數(shù)據(jù)上傳后通過CLARA算法進行聚類分析處理,最后將數(shù)據(jù)進行歸納儲存。在儲存時采用多重備份模式,將數(shù)據(jù)平均存儲于不用的數(shù)據(jù)節(jié)點,有效避免數(shù)據(jù)的丟失。同時該系統(tǒng)還設(shè)立Web接口,為用戶查詢數(shù)據(jù)提供便捷。
參考文獻
[1]牛 健,王亞北,田 偉,等. 環(huán)保工況監(jiān)控系統(tǒng)的架構(gòu)設(shè)計研究[J]. 智能物聯(lián)技術(shù),2019,51(02):27-31.
[2]李長杰,徐 亮,宋明星,等. 基于AIoT的智能環(huán)保監(jiān)控管理系統(tǒng)開發(fā)及其在高速公路網(wǎng)中的應(yīng)用[J]. 安全與環(huán)境工程,2020,27(05):85-91.
[3]李 濤,馮仲科,孫素芬,等. 基于Hadoop的環(huán)保大數(shù)據(jù)分析GIS平臺設(shè)計與試驗[J]. 農(nóng)業(yè)機械學(xué)報,2019,50(01):180-188.
[4]趙亞楠,李朝奎,肖克炎,等. 基于Hadoop的地質(zhì)礦產(chǎn)大數(shù)據(jù)分布式存儲方法[J]. 地質(zhì)通報,2019,38(Z1):462-470.
[5]吳麗杰,張璐璐,張 婷. 基于Ambari的Hadoop集群快速部署研究[J]. 重慶工商大學(xué)學(xué)報(自然科學(xué)版),2020,37(01):42-48.
[6]冉 冉,陳 碩,劉 穎,等. 基于聚類分析的用電模式判別研究[J]. 電力大數(shù)據(jù),2019,22(04):43-49.
[7]郭玉霞,李志杰. 基于ADS1256和STM32的數(shù)據(jù)采集裝置設(shè)計[J]. 無線電工程,2019,49(01):81-85.
[8]曾健榮,張仰森,鄭 佳,等. 面向多數(shù)據(jù)源的網(wǎng)絡(luò)爬蟲實現(xiàn)技術(shù)及應(yīng)用[J]. 計算機科學(xué),2019,46(05):304-309.
[9]徐 超. 大數(shù)據(jù)背景下審計數(shù)據(jù)采集技術(shù)與方法的研究——以互聯(lián)網(wǎng)金融企業(yè)專項審計為例[J]. 會計之友,2020(19):114-119.
[10]李卓卓,孫 東. 面向效能評估的英美公共圖書館數(shù)據(jù)采集及啟示[J]. 國家圖書館學(xué)刊,2019,28(04):48-59.