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