曲 藝
(北部灣大學(xué)電子與信息工程學(xué)院,廣西 欽州 535000)
如今物聯(lián)網(wǎng)已經(jīng)成為大家交換和共享信息的重要途徑,人們的生活也與互聯(lián)網(wǎng)緊密連接,所以,越來(lái)越多人使用現(xiàn)有互聯(lián)網(wǎng)體系去連接物聯(lián)網(wǎng)應(yīng)用,一它可以大幅度減少上層應(yīng)用的研究成本,二強(qiáng)化了物聯(lián)網(wǎng)系統(tǒng)的通用性[1]。但目前從研究結(jié)果上來(lái)看,對(duì)于物聯(lián)網(wǎng)應(yīng)用之間的數(shù)據(jù)通信與交換方式還不夠完善,存在許多格式差異問(wèn)題,不利于交換到現(xiàn)有互聯(lián)網(wǎng)體系當(dāng)中。
通過(guò)三維空間的拉伸與壓縮,實(shí)現(xiàn)輕量級(jí)[2]的數(shù)據(jù)交換,該方法無(wú)論在數(shù)據(jù)儲(chǔ)存量上,還是對(duì)人的認(rèn)識(shí)感知上都優(yōu)于二維空間,同時(shí)應(yīng)用監(jiān)測(cè)機(jī)制[3],解決了在數(shù)據(jù)交換過(guò)程中的安全問(wèn)題。該方法首先將二維網(wǎng)格拉伸算法轉(zhuǎn)換到三維空間,然后通過(guò)分割比對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),基于此數(shù)據(jù)存儲(chǔ)方法,能夠在拉伸操作中讓數(shù)據(jù)更新的時(shí)間變短,使復(fù)雜度降低,同時(shí)對(duì)大量級(jí)數(shù)據(jù)交換提出了一種局部多區(qū)域拉伸方法,有效縮短了數(shù)據(jù)交換時(shí)間[4]。大多數(shù)的三維空間交換方法是通過(guò)XML(eXtensible Markup language)壓縮來(lái)完成[5],但在物聯(lián)網(wǎng)前端感知中一般采用低成本、高效率的嵌入式系統(tǒng),計(jì)算方法、儲(chǔ)存量和網(wǎng)絡(luò)速度都會(huì)受到一定程度上的限制,并對(duì)交換的輕量性有較高要求[6],其次,因?yàn)槲锫?lián)網(wǎng)中使用的數(shù)據(jù)交換除了數(shù)據(jù)內(nèi)容自身,還包括了自描述的控制信息,會(huì)產(chǎn)生大量的信息冗余,從而延長(zhǎng)了數(shù)據(jù)交換時(shí)間、提高了數(shù)據(jù)交換成本。綜上所述,XML操作的復(fù)雜性高且開銷大,對(duì)于低成本、儲(chǔ)存量受限的物聯(lián)網(wǎng)前段感知系統(tǒng)負(fù)擔(dān)過(guò)重,難以實(shí)現(xiàn)輕量級(jí)的壓縮方式。
為了解決這些問(wèn)題,提出了一種物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換方法EasiDEF,經(jīng)過(guò)實(shí)驗(yàn)結(jié)果證實(shí)EasiDEF比經(jīng)典方法提高了5~10倍的壓縮效果,能夠在物聯(lián)網(wǎng)的資源受限環(huán)境中支持輕量級(jí)數(shù)據(jù)交換。
數(shù)據(jù)交換邏輯結(jié)構(gòu)是指交換方法針對(duì)于制定格式穩(wěn)定的不同結(jié)構(gòu)數(shù)據(jù),進(jìn)行同一匹配、轉(zhuǎn)換、篩選、轉(zhuǎn)運(yùn)和加載的處理結(jié)構(gòu)[7],其結(jié)構(gòu)如圖1所示。

圖1 交換結(jié)構(gòu)
由圖1可知,改交換結(jié)構(gòu)的特點(diǎn)是對(duì)數(shù)據(jù)交換約束能力較強(qiáng),數(shù)據(jù)能夠預(yù)定義的跨域安全交換,具體的交換步驟如下所示:
步驟1:交換數(shù)據(jù)匹配過(guò)程。內(nèi)部空間數(shù)據(jù)預(yù)處理區(qū)中的交換匹配,是由制定的交換方法從系統(tǒng)中提取交換信息,然后將其轉(zhuǎn)換為相同格式進(jìn)行統(tǒng)一加密處理,最后放入緩沖區(qū)域內(nèi)。
步驟2:交換數(shù)據(jù)轉(zhuǎn)換過(guò)程。對(duì)發(fā)送節(jié)點(diǎn)上特定交換程序的完整性進(jìn)行檢驗(yàn),檢驗(yàn)結(jié)束后關(guān)閉特定程序控制點(diǎn),打開內(nèi)部空間處理區(qū)與交換主節(jié)點(diǎn)的特定程序,把數(shù)據(jù)從內(nèi)部空間中的緩沖區(qū)轉(zhuǎn)換到主節(jié)點(diǎn)的緩沖區(qū)中,處理完成后啟動(dòng)特定程序控制點(diǎn)。
步驟3:交換數(shù)據(jù)篩選過(guò)程。利用數(shù)據(jù)交換程序的檢驗(yàn)結(jié)果與交換方法對(duì)緩沖區(qū)中交換信息做篩選處理,再將制定處理后的交換篩選信息轉(zhuǎn)換到相匹配的接收緩沖區(qū)中。
步驟4:交換數(shù)據(jù)加載過(guò)程。對(duì)接收節(jié)點(diǎn)上的特定交換程序完整性進(jìn)行檢驗(yàn),檢驗(yàn)完成后關(guān)閉特定程序控制點(diǎn),打開特定程序,由信息交換轉(zhuǎn)換到公開數(shù)據(jù)處理區(qū)的交換緩沖區(qū)中,再將匹配區(qū)的交換傳輸?shù)较到y(tǒng)中。整個(gè)交換結(jié)構(gòu)都在制定的管控下運(yùn)行。
物聯(lián)網(wǎng)數(shù)據(jù)是數(shù)據(jù)信息中重要的一部分,它是一種離散型數(shù)據(jù)[8]。本文數(shù)據(jù)的安全交換是在三維空間基礎(chǔ)上通過(guò)拉伸和壓縮完成,從三維空間中選取一個(gè)維度進(jìn)行拉伸,其它空間上的數(shù)據(jù)則被壓縮。針對(duì)數(shù)據(jù)交換的安全問(wèn)題,提出一種監(jiān)控機(jī)制,實(shí)現(xiàn)數(shù)據(jù)交換的實(shí)時(shí)性以及安全性。
為了加強(qiáng)數(shù)據(jù)交換的安全型,在交換的初級(jí)階段與穩(wěn)定運(yùn)行階段添加了監(jiān)測(cè)機(jī)制,為此設(shè)置一個(gè)獨(dú)立節(jié)點(diǎn)來(lái)安裝監(jiān)控,實(shí)時(shí)檢測(cè)交換內(nèi)容,并增加了入侵檢測(cè)規(guī)定[9],一旦發(fā)現(xiàn)攻擊便直接給基站發(fā)送報(bào)警信息,以便進(jìn)行及時(shí)處理,流程如圖2所示。

圖2 監(jiān)測(cè)流程
由圖2可知,若產(chǎn)生報(bào)警信號(hào),則直接進(jìn)入黑名單,此檢測(cè)流程下的數(shù)據(jù)交換更加具有保障性,其具體的內(nèi)容如下所示:
1)數(shù)據(jù)收集。數(shù)據(jù)收集階段所得到的信息都是復(fù)雜的,為了能夠有效完成后續(xù)的進(jìn)程,要對(duì)儲(chǔ)存前的信息進(jìn)行過(guò)濾,將過(guò)濾后得到的數(shù)據(jù)儲(chǔ)存起來(lái),在限定時(shí)間內(nèi)或者內(nèi)存信息量過(guò)多時(shí)再刪除。
2)規(guī)定使用。規(guī)定使用階段是把儲(chǔ)存的數(shù)據(jù)用既定規(guī)定來(lái)檢驗(yàn),若信息沒有完成其中某條規(guī)定,則失效次數(shù)會(huì)加1。
3)入侵檢測(cè)。入侵檢測(cè)部分是通過(guò)系統(tǒng)中的統(tǒng)計(jì)分析技術(shù),把統(tǒng)計(jì)后的失效數(shù)量和設(shè)定的失效閾值進(jìn)行對(duì)比,若失效的數(shù)量大于失效閾值,那么就算是一次入侵。所以,每當(dāng)發(fā)生異常行為的數(shù)量大于某個(gè)閾值時(shí),監(jiān)測(cè)節(jié)點(diǎn)就判定其為攻擊行為。
4)發(fā)出報(bào)警信號(hào)。發(fā)出報(bào)警信號(hào)階段是監(jiān)測(cè)節(jié)點(diǎn)將報(bào)警信號(hào)發(fā)送給基站。
5)進(jìn)入黑名單。在所有過(guò)程結(jié)束后,每一個(gè)節(jié)點(diǎn)都會(huì)接收一份黑名單,自動(dòng)標(biāo)記黑名單節(jié)點(diǎn),若遇到次節(jié)點(diǎn),發(fā)送信息就會(huì)被屏蔽。
拉伸算法是建立在三維空間范圍內(nèi)的一種數(shù)據(jù)結(jié)構(gòu)算法,三維體空間有六個(gè)面連接構(gòu)成,其中各有兩個(gè)面垂直于x軸、y軸和z軸,若要觀察密集空間內(nèi)的數(shù)據(jù),需要拉伸對(duì)應(yīng)的六個(gè)面來(lái)組成這種空間,與x軸、y軸和z軸垂直的面被統(tǒng)一控制,如圖3所示。

圖3 三維空間平面分割比
若只移動(dòng)一個(gè)面,則位于該平面的所有數(shù)據(jù)的位置都會(huì)發(fā)生變化,并需要對(duì)所有數(shù)據(jù)進(jìn)行更新,對(duì)于實(shí)際位置的數(shù)據(jù)儲(chǔ)存空間難以完成這種交換方法,但若是只針對(duì)一個(gè)平面去制定一個(gè)拉伸區(qū)域,則改變制定的位置就是局部的,降低了數(shù)據(jù)交換的復(fù)雜程度,該拉伸算法其公式如下所示。
首先對(duì)三維空間進(jìn)行分割,如式(1)所示:
xA=(x5-x3)×x4+x3=(0.78-0.45)×0.4+0.45
=0.582
(1)


(2)
則數(shù)據(jù)點(diǎn)在A上的坐標(biāo)為
xp=l*t+xs
yp=m*t+ys
zp=n*t+zs
(3)
其中

(4)
由此得到的拉伸距離為

(5)
三維空間的數(shù)據(jù)交換采用EasiDEF方法,它是在XML序列化的基礎(chǔ)上進(jìn)行輕量級(jí)物聯(lián)網(wǎng)數(shù)據(jù)交換,通過(guò)壓縮方式減少了數(shù)據(jù)交換數(shù)量,實(shí)現(xiàn)了物聯(lián)網(wǎng)在不同系統(tǒng)中數(shù)據(jù)交換的問(wèn)題。
XML序列化的過(guò)程實(shí)際上就是將文件轉(zhuǎn)變?yōu)樽址饕菍?duì)文件進(jìn)行壓縮,減少冗余數(shù)據(jù),其次是對(duì)字符串傳輸運(yùn)行做處理,其主要核心是通過(guò)元素標(biāo)簽(Tag)來(lái)展現(xiàn)XML數(shù)據(jù),包含了XML文件中的元素(Element)、屬性(Attribute)、文本(Text)。例如:“X”標(biāo)簽代表XML文件中的Element,“X4root”代表字符信息長(zhǎng)度為4的元素“root”,“X4root”是一種完整性的標(biāo)簽組合,所以,在XML中所有的字符元素,都能夠在EasiDEF序列化的方式下用標(biāo)簽來(lái)代表。標(biāo)簽組合還包含了Tag數(shù)據(jù)長(zhǎng)度(Length)與數(shù)據(jù)值(Value),縮寫為TLV,由于在XML中元素一般會(huì)以“”為起始端和結(jié)束端,會(huì)導(dǎo)致有大量的冗余信息,但利用標(biāo)簽化[10]的這種方法能夠解決這種問(wèn)題,有效縮短了數(shù)據(jù)的長(zhǎng)度,并且數(shù)據(jù)不會(huì)出現(xiàn)重復(fù)的情況,大幅度減少了冗余信息,經(jīng)典方法在利用XML時(shí),需要對(duì)每一個(gè)字符都進(jìn)行掃描,檢驗(yàn)XML的元素與屬性名稱以及字符信息在某個(gè)位置結(jié)束,這樣的方法不僅浪費(fèi)時(shí)間,而且不利于實(shí)際應(yīng)用。但XML的標(biāo)簽化方法,就解決了這一問(wèn),提高了操作的時(shí)效性。因?yàn)樵贓asiDEF中,可以提前觀測(cè)到文本信息的長(zhǎng)度,根據(jù)文本信息的長(zhǎng)度可判斷出交換數(shù)據(jù)的長(zhǎng)度和需要支配空間的范圍,避免了像XML方法只能在掃描到結(jié)束字符時(shí),才能夠知道交換數(shù)據(jù)的長(zhǎng)度,所以EasiDEF方法的優(yōu)點(diǎn)在于有一定的預(yù)判能力,可提前處理數(shù)據(jù)所需要的系統(tǒng)資源[11]。
EasiDEF是由頭部(EasiDEF Header)和主體(EasiDEF Body)構(gòu)成,EasiDEF頭部包含了識(shí)別EasiDEF的差別標(biāo)識(shí)位(Distinguishing Flag)、頭部長(zhǎng)度(Lengh)、版本號(hào)(Version),EasiDEF的主體是由連續(xù)的標(biāo)簽組合構(gòu)成,標(biāo)簽“Z”是所有EasiDEF完成的標(biāo)志,其結(jié)構(gòu)如圖4所示。

圖4 壓縮結(jié)構(gòu)圖
在EasiDEF頭部布局中,差別標(biāo)志位占有兩個(gè)節(jié)點(diǎn);頭部的長(zhǎng)度代表接下來(lái)版本和編碼控制數(shù)據(jù)所占具的節(jié)點(diǎn)數(shù),用一個(gè)取值為5的節(jié)點(diǎn)表示;EasiDEF版本取值VL0,版本號(hào)為數(shù)字1,占用了一個(gè)節(jié)點(diǎn),而EasiDEF的主體則是由多種XML方式組建的標(biāo)簽組合構(gòu)成,最后以字符“Z”完成,EasiDEF中ASCII碼字符代表數(shù)字,但事實(shí)上EasiDEF中使用的是二進(jìn)制字符。EasiDEF的標(biāo)簽式方法使系統(tǒng)不需要逐個(gè)對(duì)數(shù)據(jù)進(jìn)行掃描,標(biāo)識(shí)XML的結(jié)束字符。使用該方法不僅降低了數(shù)據(jù)交換過(guò)程中的信息冗余、壓縮數(shù)據(jù)長(zhǎng)度,還縮短了操作時(shí)間,比經(jīng)典的操作方法更簡(jiǎn)便,同時(shí)避免了占據(jù)系統(tǒng)內(nèi)大面積內(nèi)存,因此三維空間壓縮方法有利于輕量級(jí)物聯(lián)網(wǎng)數(shù)據(jù)交換的實(shí)際操作[12]。
為檢驗(yàn)該方法監(jiān)測(cè)機(jī)制的實(shí)時(shí)性,對(duì)數(shù)據(jù)交換的實(shí)驗(yàn)過(guò)程進(jìn)行安全性分析,情況如表1所示。所受攻擊情況以能量消耗方式來(lái)體現(xiàn),每次交換中初級(jí)階段和穩(wěn)定階段分別考慮。通過(guò)安裝監(jiān)控節(jié)點(diǎn)和普通節(jié)點(diǎn)的對(duì)比分析得出最終結(jié)果。

表1 不同節(jié)點(diǎn)的監(jiān)控效果(μJ)
由表1可以看出,安裝監(jiān)控節(jié)點(diǎn)對(duì)整個(gè)數(shù)據(jù)交換能量耗散的影響在可接受的范圍內(nèi),說(shuō)明此方法實(shí)現(xiàn)了數(shù)據(jù)交換的安全性。
為了驗(yàn)證三維空間數(shù)據(jù)交換方法的實(shí)際效果,分析其時(shí)效性,構(gòu)建三維空間算法框架,如圖5所示。

圖5 三維空間算法框架
如圖5所示是對(duì)一個(gè)數(shù)據(jù)集的實(shí)例描述,詳細(xì)地說(shuō)明了分割比和位置變換的過(guò)程,其中數(shù)據(jù)集k=2,子集n=6,更新的數(shù)據(jù)集q=4,A和E表示移動(dòng)的分割面,D和B分別表示A和E的負(fù)節(jié)點(diǎn),過(guò)程如下所示:
1)實(shí)驗(yàn)中k=2,n=6,q=4,首先先移動(dòng)兩個(gè)面:將面A從0.1的位置移動(dòng)到0.3的位置,再讓面E從0.6的位置移動(dòng)到0.9的位置;
2)所有遞歸函數(shù)從節(jié)點(diǎn)D開始,經(jīng)過(guò)A,D和E,節(jié)點(diǎn)D要穩(wěn)定在移動(dòng)面A和E之間,其相對(duì)位置保持不變。
3)遞歸左子集,由上文所述公式,可以算出B的新位置與分割比。
4)則A的位置就不用通過(guò)計(jì)算得出,因?yàn)橐呀?jīng)在移動(dòng)間給出位置為0.3。
5)同樣E也不需要。
6)由于C、F兩個(gè)面在最終顯示時(shí),分割比值沒有改變,所以無(wú)需計(jì)算其新位置。
7)實(shí)驗(yàn)最終結(jié)果顯示,僅更新了q=4個(gè)數(shù)據(jù),且分割比都已經(jīng)被求出,剩下的分割比值都未改變。
若對(duì)大批量的數(shù)據(jù)進(jìn)行移動(dòng),會(huì)浪費(fèi)很多時(shí)間,該算法有利于局部的變換,即確定某一范圍,該范圍的邊界為0和1,計(jì)算出該范圍的分割比,通過(guò)分割比來(lái)儲(chǔ)存這些數(shù)據(jù),由此不用再計(jì)算其它范圍的數(shù)據(jù),減少了計(jì)算量,使數(shù)據(jù)交換的時(shí)效性有所提高。根據(jù)對(duì)物聯(lián)網(wǎng)系統(tǒng)中經(jīng)典XML數(shù)據(jù)交換的操作,通過(guò)GZIP、EXI和EasiDEF方法,對(duì)XML原數(shù)據(jù)進(jìn)行壓縮處理,從而對(duì)比出三種方法的壓縮率和處理速度。
如圖6所示,對(duì)比壓縮率效果,GZIP、EXI和EasiDEF雖然都顯示出對(duì)XML原數(shù)據(jù)產(chǎn)生壓縮效果,但壓縮效果最好的是EasiDEF,其壓縮率在20.01%~54.93%,EXI的壓縮率在36.46%~62.23%,GZIP的壓縮率在35.41%~69.74%,從結(jié)果可看出,EXI和EasiDEF的壓縮范圍比較接近,對(duì)比GZIP有30%的提升空間。強(qiáng)化壓縮效果有利于減少數(shù)據(jù)交換的傳輸量,但還要保證壓縮的處理速率,如圖7所示,同樣是對(duì)物聯(lián)網(wǎng)系統(tǒng)中經(jīng)典XML數(shù)據(jù)交換速度進(jìn)行分析,實(shí)驗(yàn)中以GZIP為參照物,對(duì)EXI和EasiDEF做歸一化處理,并通過(guò)處理速度(TPS)來(lái)對(duì)比壓縮所用時(shí)間,當(dāng)EasiDEF的交換處理速度為200%時(shí),代表交換處理速度為GZIP的2倍,也就是說(shuō)在處理相同數(shù)據(jù)時(shí),EasiDEF所用時(shí)間是GZIP的一半,從圖7可以看出,EXI和EasiDEF的交換速率要高出GZIP的250%,EasiDEF的交換速率比EXI高出10%。由此可以看出該方法實(shí)現(xiàn)了對(duì)輕量級(jí)數(shù)據(jù)三維空間安全交換的實(shí)用性與時(shí)效性。

圖6 壓縮率對(duì)比

圖7 交換速度對(duì)比
為了實(shí)現(xiàn)輕量級(jí)物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換方法,提出如下解決方法:首先在確保安全條件下進(jìn)行數(shù)據(jù)交換,本文提出一種三維空間數(shù)據(jù)拉伸算法,同時(shí)采用了一種新的分割比數(shù)據(jù)存儲(chǔ)方式,降低了計(jì)算的復(fù)雜度,并且支持局部的變換與多區(qū)域拉伸。最后利用EasiDEF壓縮方法法,在保證協(xié)議低開銷的前提下,能夠大幅度降低交換時(shí)間和數(shù)據(jù)傳輸量,實(shí)現(xiàn)了對(duì)輕量級(jí)數(shù)據(jù)三維空間安全交換的實(shí)用性和時(shí)效性,有利于輕量級(jí)數(shù)據(jù)三維空間安全交換的實(shí)際應(yīng)用。本文設(shè)計(jì)和研究的三維空間數(shù)據(jù)拉伸算法的創(chuàng)新點(diǎn)是給出數(shù)據(jù)預(yù)定義的跨域安全交換的具體的步驟。對(duì)于未來(lái)的研究中,可以就輕量級(jí)物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換的智能硬件和無(wú)線通信等方面進(jìn)行更加深入的研究。