國家互聯(lián)網(wǎng)應急技術處理協(xié)調中心西藏分中心 黃 君 陳超雪
近些年來,物聯(lián)網(wǎng)挖掘技術作為信息化時代發(fā)展的重要結晶,正受到社會各界的廣泛關注。該技術能夠順利的應用到各行各業(yè)中去,主要是因為云計算的產(chǎn)生與發(fā)展,云計算為我國的各個領域創(chuàng)造了信息化發(fā)展的環(huán)境,為人們的工作和生活帶來了極大的便利。同時,云計算的采購成本比較低,為應用這項技術的領域節(jié)約了資金的投入。因此,應當擴大云計算在物聯(lián)網(wǎng)數(shù)據(jù)挖掘技術中的應用范圍,這將會促進社會的發(fā)展。
云計算在實際的應用中,主要包含了以下幾個部分的內容,一是物聯(lián)網(wǎng)感知層,它最主要的功效就是發(fā)揮感知作用,依托的是被控制范圍內的大量的數(shù)據(jù)收集節(jié)點。它的工作內容主要是在被控制區(qū)域內安裝攝像頭、傳感器等多種形式的感知設備,對被控制區(qū)域的數(shù)據(jù)進行實時的采集。同時,還可以將這些被采集到的數(shù)據(jù)整合到節(jié)點后發(fā)送給總服務器;二是物聯(lián)網(wǎng)傳輸層,它是數(shù)據(jù)傳遞的中間環(huán)節(jié),可以運用各種網(wǎng)絡對采集到的數(shù)據(jù)進行高效且準確的傳輸,保證采集到的數(shù)據(jù)可以被總服務器收到;三是物聯(lián)網(wǎng)數(shù)據(jù)層,它是實現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)挖掘的核心部分,通常包含數(shù)據(jù)轉換與數(shù)據(jù)存儲兩個方面,可以對采集到的數(shù)據(jù)進行合理的存儲和處理,這是保證數(shù)據(jù)挖掘工作順利開展的前提;四是物聯(lián)網(wǎng)數(shù)據(jù)挖掘服務層,這部分是物聯(lián)網(wǎng)數(shù)據(jù)能否被快速、準確挖掘的關鍵,它的功能的實現(xiàn)要依托于數(shù)據(jù)準備模塊、挖掘模塊以及個人模塊。
云計算的主要支持技術是虛擬化。所以,在搭建物聯(lián)網(wǎng)數(shù)據(jù)挖掘技術體系的實踐中,要需要做好虛擬化技術的有效應用。具體來講,在使用過程中,會出現(xiàn)高性能硬件產(chǎn)能過剩無法完全利用或老舊硬件的產(chǎn)能無法滿足需求的問題,虛擬化技術的存在就是為了實現(xiàn)它們的重組利用,它可以將底層的物理硬件透明化,實現(xiàn)硬件與軟件的相互分離。它可以將一個產(chǎn)能過剩的高性能硬件虛擬成多個資源,保證產(chǎn)能的有效利用,還可以將多個產(chǎn)能不足的老舊硬件整合在一起,形成一個虛擬資源,完成硬件之間的重組利用,提高利用效率。
除此之外,有效發(fā)揮海量數(shù)據(jù)處理技術與編程模型的工具作用,能為物聯(lián)網(wǎng)中海量數(shù)據(jù)的有效挖掘提供基礎性保障?,F(xiàn)階段,常用的數(shù)據(jù)處理與編程模型為MapReduce模型,如圖1所示,它主要是由Map函數(shù)與Reduce函數(shù)組成,也就是由Map階段和Reduce階段構成的。這種并行編程模型的運行過程是這樣的,第一,數(shù)據(jù)進入Map階段,由Map函數(shù)對其進行按行讀取和加工,數(shù)據(jù)被加工之后,會被分配到新的節(jié)點上;第二,數(shù)據(jù)進入Reduce階段,對在上個階段中經(jīng)過處理的數(shù)據(jù)進行讀取,再對其進行新的合并處理。這種并行編程模型可以用來處理規(guī)模比較巨大、數(shù)量比較繁雜的數(shù)據(jù)集,并且在處理的過程中,可以對數(shù)據(jù)進行監(jiān)控,及時地發(fā)現(xiàn)其中出現(xiàn)的錯誤、異常或者是失敗的節(jié)點,再次運行任務,因此,這種模型使用起來的安全性較高,用戶不必擔心在任務運行過程中出現(xiàn)錯誤或異常。
圖1 MapReduce并行編程模型
MapReduce并行編程模型體現(xiàn)了一種分而治之的思想,簡單來說,它是一種任務的分散與最終匯總。這種模型是將一個大規(guī)模的數(shù)據(jù)集,按照一定的規(guī)則發(fā)放到各個分節(jié)點中進行處理,這些分節(jié)點都是由同一個主節(jié)點管理的,再將各個分節(jié)點處理得到的結果進行合理地整合,得出一個最終的結果。
在并行編程中存在的諸如分布式存儲、網(wǎng)絡通信以及容錯處理等較為復雜的問題,復雜編程的人員無須手動處理,均可以依靠MapReduce并行編程模型處理。但在利用這種模型的過程中,應當注意的是,被處理的數(shù)據(jù)集一定要可以被分成若干個小的數(shù)據(jù)集,同時,每一個小數(shù)據(jù)集還可以實現(xiàn)并行處理。
為了確定一種Apriori算法的可行性,我們將展開一項具體的實驗,對這種新設計的平臺工作效果進行驗證。
Aprior算法是數(shù)據(jù)挖掘十大經(jīng)典算法之一,是一種挖掘關聯(lián)規(guī)則的頻繁項集算法,其核心思想是通過候選集生成和情節(jié)的向下封閉檢測兩個階段來挖掘頻繁項集,已經(jīng)被廣泛的應用到商業(yè)、網(wǎng)絡安全等各個領域。首先,將頻繁1-項集的集合用L1來表示,將L1作為已經(jīng)完成的經(jīng)驗,用以推導頻繁2-項集,頻繁2-項集用L2來表示,再將L2看做已經(jīng)完成的經(jīng)驗,來完成對頻繁3-項集的探索,頻繁3-項集用L3來表示,以此類推,將常數(shù)設為k,利用這種方法一直向下探索,直到再也找不到一個頻繁k-項集。與此同時,在使用這個算法時應當注意的是,在每一次尋找頻繁相機Lk的過程中,都要經(jīng)歷一次在數(shù)據(jù)庫中尋找的過程。
另外,在眾多數(shù)據(jù)挖掘算法中,存在著許多以Apriori算法為基礎的改進算法,例如,基于哈希的數(shù)據(jù)挖掘算法,沒有備選項集的FP-GROWTH算法以及基于數(shù)據(jù)切割的算法等,由此可見,Apriori算法是一種較為經(jīng)典的數(shù)據(jù)挖掘算法。到算法中,就是我們所說的Apriori算法。
這項實驗所用到的設備是一臺運行內存4G、存儲空間128G、操作系統(tǒng)為Windows XP的臺式計算機,在這臺設備的內部安裝3個采用Linux操作系統(tǒng)的虛擬機,并且分別在這3個虛擬機中設置上不同形式的節(jié)點。
在完成設備的準備以及其他相關的調試之后,要將與實驗算法相關的數(shù)據(jù),采用C++程序代碼檢索重點詞語的手段,將其轉變?yōu)槿萘繛?024MB的PLM文件。再將轉變完成的文件利用HDFS傳輸?shù)竭M行實驗的模擬平臺上,按照類別完成存儲。在上述的工作完成之后,就可以正式進行計算機系統(tǒng)的運行,按照系統(tǒng)運行的情況,對數(shù)據(jù)的變化進行實時且詳細的記錄,對實驗中頻繁出現(xiàn)的項集要密切關注。
實驗的過程中,我們在運行系統(tǒng)中傳輸了幾種不同大小的文件,最終得到了相對的運行時間,具體數(shù)據(jù)如表1所示。
從表1中的數(shù)據(jù),我們可以得出以下結論,在文件大小逐步增加的情況下,文件運行的時間也在不斷地增加,這時候,采取Apriori算法,會獲得比較好的結果。它可以實現(xiàn)在數(shù)據(jù)龐大繁雜且不斷增多的情況下,迅速地搜尋到頻繁出現(xiàn)的項集。因此,通過實際的實驗,我們可以得知,這種算法可以實現(xiàn)對龐大數(shù)據(jù)信息的挖掘,滿足用戶的使用需求。
表1 文件大小與運營時間的關系表
總結:綜上所述,隨著信息化社會的不斷發(fā)展,信息產(chǎn)
Apriori算法得以實現(xiàn)是根據(jù)Apriori性質,它的主要內容是頻繁項集的非空子集也必須是一種頻繁項集。接下來我們對Apriori性質進行更深入的研究,依據(jù)頻繁項集的定義,這個定義簡單來說,就是如果一個項集I的最小支持度小于閾值support-min,則該項集就不屬于頻繁項集。這時,我們向這個項集中添加一個新的項X,這時,原本的項集I就變成了一個新的項集,我們用項集XUI來表示,這個新的項集的最小支持度依舊比閾值support-min小,因此,這個新的項集也不是一個頻繁項集。按照以上對于該種性質的研究,將其應用業(yè)已經(jīng)成為我國國民產(chǎn)業(yè)中最重要的一環(huán)。物聯(lián)網(wǎng)與云計算都是信息化社會發(fā)展之中的先進產(chǎn)物,是當今社會信息化發(fā)展的重要體現(xiàn),正在被各行各業(yè)廣泛的應用,在其中發(fā)揮著重要的作用。云計算的形成和發(fā)展為物聯(lián)網(wǎng)數(shù)據(jù)挖掘技術的發(fā)展提供了更多的可能性,依托這一背景,物聯(lián)網(wǎng)數(shù)據(jù)挖掘技術在未來一定會在各個領域中發(fā)揮更大的作用。