一種對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端實時仿真的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及物聯(lián)網(wǎng)和云計算技術(shù)領(lǐng)域,尤其是一種對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端實時仿真的系統(tǒng)和方法。
【背景技術(shù)】
[0002]云計算技術(shù)和物聯(lián)網(wǎng)技術(shù)的快速發(fā)展必將給人類的生產(chǎn)、生活帶來一場巨大變革,物聯(lián)網(wǎng)技術(shù)的發(fā)展離不開云計算技術(shù)的支撐。感知設(shè)備是構(gòu)建物聯(lián)網(wǎng)的最基礎(chǔ)元素,隨著物聯(lián)網(wǎng)應(yīng)用范圍和規(guī)模的不斷擴(kuò)大,物聯(lián)網(wǎng)感知設(shè)備的數(shù)量和類型也在不斷的增長,由于物聯(lián)網(wǎng)傳感設(shè)備時時刻刻都在產(chǎn)生著各種不同類型的數(shù)據(jù),對多種類多類型大數(shù)據(jù)的處理就需要用云計算平臺做支撐。
[0003]物聯(lián)網(wǎng)的一個重要特性就是多智能傳感設(shè)備交互聯(lián)動,不同區(qū)域和不同網(wǎng)絡(luò)中傳感設(shè)備的聯(lián)動必將成為人類未來智能生活的基礎(chǔ)。然而,由于設(shè)備和網(wǎng)絡(luò)的復(fù)雜性,設(shè)備之間以及服務(wù)與設(shè)備之間的直接通信受到很大的限制,多個設(shè)備之間特別是處于不同區(qū)域中的多個設(shè)備之間的實時聯(lián)動效率較低。
[0004]當(dāng)云服務(wù)程序同時需要大量處于不同地區(qū)具有不同類型的物聯(lián)網(wǎng)感知設(shè)備的實時數(shù)據(jù)時,與每種設(shè)備直接進(jìn)行通信的方式不但會在同一時間給網(wǎng)絡(luò)和云服務(wù)器帶來巨大負(fù)載而且無法保證同時獲取到所有設(shè)備的最新數(shù)據(jù)。
[0005]當(dāng)多個應(yīng)用或服務(wù)程序同時訪問同一個物聯(lián)網(wǎng)感知設(shè)備時,同一設(shè)備同時與多個應(yīng)用或服務(wù)程序進(jìn)行通信就有可能造成對同一設(shè)備的訪問沖突。
[0006]物聯(lián)網(wǎng)系統(tǒng)的安全性保證是物聯(lián)網(wǎng)技術(shù)的一個極其重要方面,未來物聯(lián)網(wǎng)感知設(shè)備的聯(lián)動必然需要感知設(shè)備之間或感知設(shè)備與云服務(wù)程序之間相互開放,設(shè)備的直接對外開放勢必給感知設(shè)備本身和感知設(shè)備所在網(wǎng)絡(luò)帶來巨大安全威脅。
[0007]另外,由于物聯(lián)網(wǎng)感知設(shè)備的復(fù)雜性,其數(shù)據(jù)以及數(shù)據(jù)處理流程也是多種多樣的,提供一種簡化設(shè)備數(shù)據(jù)處理的方法就能夠降低云服務(wù)程序數(shù)據(jù)處理的復(fù)雜性。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是克服上述現(xiàn)有技術(shù)中存在的缺點,提出一種對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端實時仿真的系統(tǒng)和方法,在云端建立云端仿真節(jié)點對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行實時仿真,使物聯(lián)網(wǎng)感知設(shè)備和其所對應(yīng)的云端仿真節(jié)點的數(shù)據(jù)和屬性保持一致性,使得云端仿真節(jié)點具有同其對應(yīng)的感知設(shè)備同樣的功能,云服務(wù)程序或應(yīng)用程序通過訪問云端仿真節(jié)點的形式與物聯(lián)網(wǎng)感知設(shè)備進(jìn)行數(shù)據(jù)的交互而不必關(guān)心實際感知設(shè)備的位置及訪問方式。
[0009]本發(fā)明的技術(shù)方案是:一種對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端實時仿真的系統(tǒng),包括:
用于進(jìn)行數(shù)據(jù)采集和處理的物聯(lián)網(wǎng)感知設(shè)備、用于實現(xiàn)多種異構(gòu)網(wǎng)絡(luò)接入和融合的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備以及云端設(shè)備仿真中心;所述物聯(lián)網(wǎng)感知設(shè)備處于異構(gòu)網(wǎng)絡(luò)中;所述物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備接入互聯(lián)網(wǎng)中,該物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備通過直接或間接的方式與接入其中的物聯(lián)網(wǎng)感知設(shè)備進(jìn)行數(shù)據(jù)的交互;所述云端設(shè)備仿真中心是物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端仿真的載體。
[0010]上述系統(tǒng)還包括用于對外提供實時數(shù)據(jù)的發(fā)布和訂閱服務(wù)的MQTT服務(wù)器,該MQTT服務(wù)器處于所述云端,是所述物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備與云端設(shè)備仿真中心的數(shù)據(jù)傳輸中介,物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備采用MQTT協(xié)議作為一個客戶端利用MQTT服務(wù)器進(jìn)行消息的發(fā)布和訂閱;所述云端設(shè)備仿真中心作為另外一個客戶端利用MQTT服務(wù)器進(jìn)行消息的發(fā)布和訂閱。
[0011]上述物聯(lián)網(wǎng)感知設(shè)備包括用于采集環(huán)境數(shù)據(jù)和根據(jù)傳輸命令控制設(shè)備組件的數(shù)據(jù)感知模塊,以及用于與感知網(wǎng)絡(luò)中物聯(lián)網(wǎng)感知設(shè)備的主設(shè)備進(jìn)行通信或與所述數(shù)據(jù)感知模塊進(jìn)行直接交互以實現(xiàn)數(shù)據(jù)的發(fā)送、處理和接收的數(shù)據(jù)處理模塊。
[0012]上述云端設(shè)備仿真中心包括用于仿真數(shù)據(jù)處理的仿真數(shù)據(jù)處理模塊和用于云端仿真的仿真節(jié)點模塊,該仿真節(jié)點模塊從仿真數(shù)據(jù)處理模塊獲取所需要的仿真數(shù)據(jù)。
[0013]上述物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備有數(shù)據(jù)需要推送時通過MQTT服務(wù)器發(fā)布消息,有訂閱的消息到達(dá)時通過MQTT服務(wù)器進(jìn)行接收。所述云端設(shè)備仿真中心包括用于仿真數(shù)據(jù)處理的仿真數(shù)據(jù)處理模塊和用于云端仿真的仿真節(jié)點模塊,該仿真節(jié)點模塊從仿真數(shù)據(jù)處理模塊獲取所需要的仿真數(shù)據(jù)。所述仿真數(shù)據(jù)處理模塊將要發(fā)送給物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備的數(shù)據(jù)轉(zhuǎn)化成MQTT消息的格式,將以訂閱形式從物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備得到的消息轉(zhuǎn)換成key-value形式的數(shù)據(jù)。
[0014]上述仿真節(jié)點模塊包括云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng),利用所述云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng)在云端建立多個云端仿真節(jié)點。
[0015]上述仿真節(jié)點模塊包括云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng),利用所述云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng)在云端建立多個云端仿真節(jié)點;所述仿真數(shù)據(jù)處理模塊將接收到并且已處理的數(shù)據(jù)以key-value形式將對應(yīng)的ID和數(shù)據(jù)存入云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng)中;所述云端仿真節(jié)點根據(jù)自身屬性從云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng)中得到所需數(shù)據(jù)以與對應(yīng)物聯(lián)網(wǎng)感知設(shè)備保持同步;所述云端仿真節(jié)點將所得到的數(shù)據(jù)進(jìn)行封裝以接口形式對外提供服務(wù)供云服務(wù)程序調(diào)用,如果對應(yīng)的是可控的物聯(lián)網(wǎng)感知設(shè)備對外提供數(shù)據(jù)傳入接口供云服務(wù)程序調(diào)用,將得到的數(shù)據(jù)傳送給仿真數(shù)據(jù)處理模塊。
[0016]一種對物聯(lián)網(wǎng)感知設(shè)備進(jìn)行云端實時仿真的方法,包括以下步驟:
1)物聯(lián)網(wǎng)感知設(shè)備通過其所在的傳感網(wǎng)絡(luò)與物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備建立socket連接以進(jìn)行數(shù)據(jù)的傳送,所述物聯(lián)網(wǎng)感知設(shè)備或其所在網(wǎng)絡(luò)的主設(shè)備作為客戶端,所述物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備作為服務(wù)端;
2)物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備利用MQTT協(xié)議作為一個客戶端利用MQTT服務(wù)器4進(jìn)行消息的發(fā)布和訂閱,所述物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備一旦接到由物聯(lián)網(wǎng)感知設(shè)備發(fā)送的數(shù)據(jù)就以MQTT發(fā)布消息的形式實時推送出去,同時以MQTT訂閱消息的形式接收來自于仿真數(shù)據(jù)處理模塊發(fā)送的數(shù)據(jù);
3)仿真數(shù)據(jù)處理模塊利用MQTT協(xié)議作為另外一個客戶端利用MQTT服務(wù)器同物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備進(jìn)行消息的訂閱和發(fā)布,仿真數(shù)據(jù)處理模塊以MQTT消息訂閱的形式接收來自于物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備推送的實時數(shù)據(jù),以消息發(fā)布的形式推送來自于仿真數(shù)據(jù)處理模塊的數(shù)據(jù)給物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備;
4)仿真數(shù)據(jù)處理模塊將得到的數(shù)據(jù)進(jìn)行處理并根據(jù)物聯(lián)網(wǎng)感知設(shè)備的ID以key-value的形式將得到的數(shù)據(jù)存入到云服務(wù)器中的云端分布式內(nèi)存數(shù)據(jù)庫系統(tǒng)中;
5)仿真節(jié)點模塊根據(jù)物聯(lián)網(wǎng)感知設(shè)備的屬性在內(nèi)存數(shù)據(jù)庫中為每個云端仿真節(jié)點分配一個實時數(shù)據(jù)存儲空間,當(dāng)有同一 key對應(yīng)的新數(shù)據(jù)到來時替換原有數(shù)據(jù)以保證云端仿真節(jié)點與其所對應(yīng)的物聯(lián)網(wǎng)感知設(shè)備保持實時同步;
6)云端仿真節(jié)點通過仿真節(jié)點模塊在內(nèi)存數(shù)據(jù)庫中獲取到其所對應(yīng)的最新數(shù)據(jù),當(dāng)云服務(wù)程序訪問云端仿真節(jié)點時,仿真節(jié)點模塊以接口的形式將最新數(shù)據(jù)傳送給云服務(wù)程序。
[0017]上述步驟5)中一個云端仿真節(jié)點可以由一個物聯(lián)網(wǎng)感知設(shè)備組成也可以由多個物聯(lián)網(wǎng)感知設(shè)備組成,由多個物聯(lián)網(wǎng)感知設(shè)備組成的云端仿真節(jié)點,其對應(yīng)的物聯(lián)網(wǎng)感知設(shè)備可以是從同一物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備接入的多個物聯(lián)網(wǎng)感知設(shè)備也可是從多個不同物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備接入的多個物聯(lián)網(wǎng)感知設(shè)備,據(jù)此云端仿真節(jié)點可分為獨立仿真節(jié)點、本地組合仿真節(jié)點和遠(yuǎn)程組合仿真節(jié)點。
[0018]上述步驟6)中仿真節(jié)點模塊如果對應(yīng)的物聯(lián)網(wǎng)感知設(shè)備具有數(shù)據(jù)接收功能或受控功能,仿真節(jié)點模塊還需要有供云服務(wù)程序使用的數(shù)據(jù)接收的接口,當(dāng)云服務(wù)程序需要傳輸命令或數(shù)據(jù)給物聯(lián)網(wǎng)感知設(shè)備時直接調(diào)用云端仿真節(jié)點的接口,云端仿真節(jié)點將命令或數(shù)據(jù)傳送給仿真節(jié)點處理模塊,仿真節(jié)點處理模塊將命令反向推送給物聯(lián)網(wǎng)感知設(shè)備以保持物聯(lián)感知設(shè)備和其對應(yīng)的云端仿真節(jié)點的同步。
[0019]本發(fā)明的有益效果:本發(fā)明具有如下優(yōu)點:
1、在云端虛擬物聯(lián)網(wǎng)感知設(shè)備就如同感知設(shè)備處于云端一樣,便于云服務(wù)程序或遠(yuǎn)程應(yīng)用程序