房悅
摘要:目前,物聯(lián)網(wǎng)產(chǎn)生的繁雜的數(shù)據(jù),缺乏有效的管理方法。云和集群技術(shù)提供了解決這些問(wèn)題的思路。文章旨在建立數(shù)據(jù)挖掘與物聯(lián)網(wǎng)的關(guān)系本文討論了一種基于actors模型和物聯(lián)網(wǎng)概念的數(shù)據(jù)挖掘算法的分布式執(zhí)行方法。該方法允許將數(shù)據(jù)挖掘算法分解為參與者,并在分布式環(huán)境中執(zhí)行。該模型將應(yīng)用在物聯(lián)網(wǎng)的集中系統(tǒng)(云計(jì)算)和分布式系統(tǒng)中提供數(shù)據(jù)分析。實(shí)驗(yàn)表明,文章所提出的模型提高了數(shù)據(jù)分析的性能,減少了終端設(shè)備和云之間的網(wǎng)絡(luò)流量。
關(guān)鍵詞:物聯(lián)網(wǎng);數(shù)據(jù)挖掘;模型;流量
中圖分類號(hào):TP311.13;TP391.44;TN929.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1001-5922(2021)01-0163-04
物聯(lián)網(wǎng)(Internet of Things,loT)代表了下一代互聯(lián)網(wǎng),它包含數(shù)百萬(wàn)個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)將代表從不同設(shè)備到web服務(wù)器的對(duì)象。它協(xié)調(diào)了計(jì)算機(jī)和通信的新進(jìn)展,制造了因特網(wǎng)的改進(jìn)。物聯(lián)網(wǎng)識(shí)別和控制現(xiàn)有網(wǎng)絡(luò)中的對(duì)象,為將物理世界直接混合到基于計(jì)算機(jī)的系統(tǒng)中創(chuàng)造機(jī)會(huì),從而提高效率、準(zhǔn)確性和經(jīng)濟(jì)效益
物聯(lián)網(wǎng)中的數(shù)據(jù)可分為地址/唯一標(biāo)識(shí)符、RFID數(shù)據(jù)流、位置數(shù)據(jù)描述數(shù)據(jù)、傳感器網(wǎng)絡(luò)數(shù)據(jù)、環(huán)境數(shù)據(jù)等。數(shù)據(jù)挖掘是從不同角度分析數(shù)據(jù)并將其壓縮為有用信息的過(guò)程。它結(jié)合了從大數(shù)據(jù)中發(fā)現(xiàn)新的、創(chuàng)新的、有趣的和有用的模式,并應(yīng)用算法挖掘隱藏的數(shù)據(jù)。圖1顯示數(shù)據(jù)挖掘的過(guò)程。數(shù)據(jù)挖掘使用了許多不同的術(shù)語(yǔ),如數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)(KDD)、從原始數(shù)據(jù)中提取知識(shí)、模式分析和信息獲取。任何數(shù)據(jù)挖掘過(guò)程的目的都是建立一個(gè)模型,該模型能夠有效地預(yù)測(cè)或描述最適合它的大數(shù)據(jù),并且還可以推廣到新數(shù)據(jù)。
目前,物聯(lián)網(wǎng)產(chǎn)生的繁雜的數(shù)據(jù),缺乏有效的管理方法。云和集群技術(shù)提供了解決這些問(wèn)題的思路。因此,數(shù)據(jù)挖掘和云計(jì)算技術(shù)的集成是非常現(xiàn)實(shí)可行的。
本文提出了一種針對(duì)不同物聯(lián)網(wǎng)體系結(jié)構(gòu)構(gòu)建數(shù)據(jù)挖掘系統(tǒng)的方法。將數(shù)據(jù)挖掘算法表示為功能塊序列和分布式計(jì)算模型。論文的結(jié)構(gòu)如下:第一節(jié)將回顧物聯(lián)網(wǎng)數(shù)據(jù)挖掘系統(tǒng)的體系結(jié)構(gòu)。第二部分描述了一種通用方法,該方法允許將算法分解成模型上的塊進(jìn)行映射。第三部分描述了多層體系結(jié)構(gòu)的實(shí)現(xiàn)方法。最后一部分討論了將該方法的實(shí)驗(yàn)與結(jié)果分析。
1物聯(lián)網(wǎng)數(shù)據(jù)挖掘系統(tǒng)的體系結(jié)構(gòu)
目前。廣泛用于解釋物聯(lián)網(wǎng)方法的物聯(lián)網(wǎng)基本架構(gòu)為三層結(jié)構(gòu):
其中,感知層是進(jìn)行數(shù)據(jù)采集的底層,可以看作是硬件層或物理層;網(wǎng)絡(luò)層(中間層)負(fù)責(zé)連接感知層和應(yīng)用層,使數(shù)據(jù)能夠在它們之間傳遞;應(yīng)用層通常扮演提供服務(wù)或應(yīng)用程序的角色,這些服務(wù)或應(yīng)用程序集成或分析從其他兩層接收的數(shù)據(jù)。
一些研究人員提議擴(kuò)展這些層m,添加了新層,如圖1所示。
接人網(wǎng)關(guān)層負(fù)責(zé)消息路由、發(fā)布和訂閱,并在需要時(shí)執(zhí)行跨平臺(tái)通信;中間件層是底層硬件層和上層應(yīng)用層之間的接口,負(fù)責(zé)設(shè)備管理、信息管理等關(guān)鍵功能,并負(fù)責(zé)數(shù)據(jù)過(guò)濾、數(shù)據(jù)聚合、語(yǔ)義分析、訪問(wèn)控制、信息發(fā)現(xiàn)等問(wèn)題。
通常,應(yīng)用程序和中間件層的實(shí)現(xiàn)都使用云計(jì)算技術(shù)。云提供可伸縮的存儲(chǔ)、計(jì)算時(shí)間和其他工具來(lái)構(gòu)建應(yīng)用程序服務(wù)。在這種情況下,網(wǎng)絡(luò)層負(fù)責(zé)連接物聯(lián)網(wǎng)設(shè)備(如傳感器、RFID、攝像頭和其他設(shè)備)和云。它通過(guò)互聯(lián)網(wǎng)產(chǎn)生很大的流量。這個(gè)問(wèn)題的解決方案可以是Fog計(jì)算。霧將云擴(kuò)展到更靠近產(chǎn)生和作用于物聯(lián)網(wǎng)數(shù)據(jù)的設(shè)備。Fog節(jié)點(diǎn)提供本地化,因此支持低延遲和上下文感知,云提供全局集中。許多應(yīng)用程序既需要霧定位,也需要云全球化,特別是對(duì)于分析和大數(shù)據(jù)。
為了構(gòu)建物聯(lián)網(wǎng)的數(shù)據(jù)挖掘服務(wù),現(xiàn)行通常的方法是使用readmake云(如Azure機(jī)器學(xué)習(xí))或大數(shù)據(jù)的數(shù)據(jù)挖掘系統(tǒng)。
微軟Azure機(jī)器學(xué)習(xí)(Azure ML)為一個(gè)基于SaaS云的預(yù)測(cè)分析服務(wù)。它提供付費(fèi)服務(wù),允許我們進(jìn)行一個(gè)完整的數(shù)據(jù)分析周期(獲取數(shù)據(jù)、預(yù)處理數(shù)據(jù)、定義特征、選擇和應(yīng)用算法、評(píng)估模型、發(fā)布模型)。用戶只能在Azure ML機(jī)器學(xué)習(xí)算法中應(yīng)用:分類、回歸、異常檢測(cè)和聚類。用戶只能添加機(jī)器學(xué)習(xí)市場(chǎng)上可用的算法。它包含可以通過(guò)Azure API發(fā)布集成的其他模塊和服務(wù)。
Apache Spark機(jī)器學(xué)習(xí)庫(kù)(MLlib)是ApacheSpark平臺(tái)上可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù)。它由常用的學(xué)習(xí)算法和工具組成,包括分類、回歸、聚類、協(xié)同過(guò)濾、降維,以及低級(jí)優(yōu)化原語(yǔ)和高級(jí)流水線api。它有自己的MapReduce范例實(shí)現(xiàn),它使用內(nèi)存來(lái)存儲(chǔ)數(shù)據(jù)(而ApacheHadoop使用磁盤存儲(chǔ))。它使我們能夠提高算法性能的效率。用戶可以通過(guò)自己的實(shí)現(xiàn)擴(kuò)展一組機(jī)器學(xué)習(xí)算法。但是,用戶應(yīng)該在地圖上分解算法,減少和其他Spark的特定功能。它極大地限制了數(shù)據(jù)挖掘算法的并行化能力。
Weka4WS是著名的開源數(shù)據(jù)挖掘庫(kù)Weka(用于知識(shí)分析的Waikato環(huán)境)的擴(kuò)展。擴(kuò)展實(shí)現(xiàn)了支持WSRF網(wǎng)格中數(shù)據(jù)挖掘算法執(zhí)行的框架。weka4ws允許在遠(yuǎn)程網(wǎng)格節(jié)點(diǎn)上執(zhí)行其所有數(shù)據(jù)挖掘算法。為了支持遠(yuǎn)程調(diào)用,Weka庫(kù)提供的數(shù)據(jù)挖掘算法作為Web服務(wù)公開,可以很容易地部署在可用的網(wǎng)格節(jié)點(diǎn)上。Weka4WS只能處理單個(gè)存儲(chǔ)節(jié)點(diǎn)包含的數(shù)據(jù)集。然后將該數(shù)據(jù)集傳輸?shù)揭诰虻挠?jì)算節(jié)點(diǎn)。很遺憾,現(xiàn)在不支持此庫(kù)(2008年7月的最新版本)。
這些系統(tǒng)在大型計(jì)算集群上的集中式云上運(yùn)行良好。但是,它們不能用于將計(jì)算移近數(shù)據(jù)(例如,在霧節(jié)點(diǎn)上)。因此本文使用actors模型作為分布式計(jì)算平臺(tái)來(lái)解決這個(gè)問(wèn)題。
2分布式模型算法描述
本文使用了將數(shù)據(jù)挖掘算法表示為功能塊序列的方法(基于功能語(yǔ)言原理)。在函數(shù)語(yǔ)言中的經(jīng)典函
實(shí)驗(yàn)使用Azure ML中的數(shù)據(jù)集。其參數(shù)如表1所示。對(duì)于采用集中式架構(gòu)的系統(tǒng),我們將執(zhí)行時(shí)間計(jì)算為數(shù)據(jù)加載和數(shù)據(jù)分析的時(shí)間。所有這些系統(tǒng)的數(shù)據(jù)加載時(shí)間設(shè)置為相同。對(duì)于采用分布式結(jié)構(gòu)的系統(tǒng),我們將數(shù)據(jù)集分為2、4和8個(gè)光纖陀螺節(jié)點(diǎn)。這些節(jié)點(diǎn)中的每一個(gè)都保存數(shù)據(jù)集的相等部分。
實(shí)驗(yàn)結(jié)果如圖5所示,對(duì)于大型數(shù)據(jù)集(當(dāng)數(shù)據(jù)量大于挖掘模型的大小時(shí)),基于actors模型(DXel.poes)的分布式體系結(jié)構(gòu)物聯(lián)網(wǎng)中的算與傳統(tǒng)算法(Data loading、zure ML、Spark MLb)的執(zhí)行時(shí)間更快,因?yàn)樗恍枰獣r(shí)間將數(shù)據(jù)加載到集中存儲(chǔ)中。在這種情況下,向量的數(shù)量比數(shù)據(jù)量更重要,因?yàn)槲募煌ㄟ^(guò)網(wǎng)絡(luò)傳輸,但向量是并行處理的。因此,采用分布式體系結(jié)構(gòu)的物聯(lián)網(wǎng)分析數(shù)據(jù)集更快。因此,將計(jì)算移近數(shù)據(jù)可以提高物聯(lián)網(wǎng)系統(tǒng)的性能。
5結(jié)語(yǔ)
物聯(lián)網(wǎng)可以采用集中式或分布式架構(gòu)。大多數(shù)現(xiàn)有的物聯(lián)網(wǎng)數(shù)據(jù)挖掘解決方案只能使用集中式體系結(jié)構(gòu)。然而,分布式體系結(jié)構(gòu)(Fog計(jì)算)由于能夠減少大量終端設(shè)備在Internet上的網(wǎng)絡(luò)流量而變得越來(lái)越流行。文章提出的方法使數(shù)據(jù)挖掘算法在不同的物聯(lián)網(wǎng)體系結(jié)構(gòu)中的應(yīng)用成為可能。我們使用的方法是將數(shù)據(jù)挖掘算法分解為功能塊,并將它們映射到參與者上。所提出的模型提高了數(shù)據(jù)分析的性能,減少了終端設(shè)備和云之間的網(wǎng)絡(luò)流量。