曲 藝
(北部灣大學(xué)電子與信息工程學(xué)院,廣西 欽州 535000)
如今物聯(lián)網(wǎng)已經(jīng)成為大家交換和共享信息的重要途徑,人們的生活也與互聯(lián)網(wǎng)緊密連接,所以,越來越多人使用現(xiàn)有互聯(lián)網(wǎng)體系去連接物聯(lián)網(wǎng)應(yīng)用,一它可以大幅度減少上層應(yīng)用的研究成本,二強化了物聯(lián)網(wǎng)系統(tǒng)的通用性[1]。但目前從研究結(jié)果上來看,對于物聯(lián)網(wǎng)應(yīng)用之間的數(shù)據(jù)通信與交換方式還不夠完善,存在許多格式差異問題,不利于交換到現(xiàn)有互聯(lián)網(wǎng)體系當(dāng)中。
通過三維空間的拉伸與壓縮,實現(xiàn)輕量級[2]的數(shù)據(jù)交換,該方法無論在數(shù)據(jù)儲存量上,還是對人的認識感知上都優(yōu)于二維空間,同時應(yīng)用監(jiān)測機制[3],解決了在數(shù)據(jù)交換過程中的安全問題。該方法首先將二維網(wǎng)格拉伸算法轉(zhuǎn)換到三維空間,然后通過分割比對數(shù)據(jù)進行存儲,基于此數(shù)據(jù)存儲方法,能夠在拉伸操作中讓數(shù)據(jù)更新的時間變短,使復(fù)雜度降低,同時對大量級數(shù)據(jù)交換提出了一種局部多區(qū)域拉伸方法,有效縮短了數(shù)據(jù)交換時間[4]。大多數(shù)的三維空間交換方法是通過XML(eXtensible Markup language)壓縮來完成[5],但在物聯(lián)網(wǎng)前端感知中一般采用低成本、高效率的嵌入式系統(tǒng),計算方法、儲存量和網(wǎng)絡(luò)速度都會受到一定程度上的限制,并對交換的輕量性有較高要求[6],其次,因為物聯(lián)網(wǎng)中使用的數(shù)據(jù)交換除了數(shù)據(jù)內(nèi)容自身,還包括了自描述的控制信息,會產(chǎn)生大量的信息冗余,從而延長了數(shù)據(jù)交換時間、提高了數(shù)據(jù)交換成本。綜上所述,XML操作的復(fù)雜性高且開銷大,對于低成本、儲存量受限的物聯(lián)網(wǎng)前段感知系統(tǒng)負擔(dān)過重,難以實現(xiàn)輕量級的壓縮方式。
為了解決這些問題,提出了一種物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換方法EasiDEF,經(jīng)過實驗結(jié)果證實EasiDEF比經(jīng)典方法提高了5~10倍的壓縮效果,能夠在物聯(lián)網(wǎng)的資源受限環(huán)境中支持輕量級數(shù)據(jù)交換。
數(shù)據(jù)交換邏輯結(jié)構(gòu)是指交換方法針對于制定格式穩(wěn)定的不同結(jié)構(gòu)數(shù)據(jù),進行同一匹配、轉(zhuǎn)換、篩選、轉(zhuǎn)運和加載的處理結(jié)構(gòu)[7],其結(jié)構(gòu)如圖1所示。
圖1 交換結(jié)構(gòu)
由圖1可知,改交換結(jié)構(gòu)的特點是對數(shù)據(jù)交換約束能力較強,數(shù)據(jù)能夠預(yù)定義的跨域安全交換,具體的交換步驟如下所示:
步驟1:交換數(shù)據(jù)匹配過程。內(nèi)部空間數(shù)據(jù)預(yù)處理區(qū)中的交換匹配,是由制定的交換方法從系統(tǒng)中提取交換信息,然后將其轉(zhuǎn)換為相同格式進行統(tǒng)一加密處理,最后放入緩沖區(qū)域內(nèi)。
步驟2:交換數(shù)據(jù)轉(zhuǎn)換過程。對發(fā)送節(jié)點上特定交換程序的完整性進行檢驗,檢驗結(jié)束后關(guān)閉特定程序控制點,打開內(nèi)部空間處理區(qū)與交換主節(jié)點的特定程序,把數(shù)據(jù)從內(nèi)部空間中的緩沖區(qū)轉(zhuǎn)換到主節(jié)點的緩沖區(qū)中,處理完成后啟動特定程序控制點。
步驟3:交換數(shù)據(jù)篩選過程。利用數(shù)據(jù)交換程序的檢驗結(jié)果與交換方法對緩沖區(qū)中交換信息做篩選處理,再將制定處理后的交換篩選信息轉(zhuǎn)換到相匹配的接收緩沖區(qū)中。
步驟4:交換數(shù)據(jù)加載過程。對接收節(jié)點上的特定交換程序完整性進行檢驗,檢驗完成后關(guān)閉特定程序控制點,打開特定程序,由信息交換轉(zhuǎn)換到公開數(shù)據(jù)處理區(qū)的交換緩沖區(qū)中,再將匹配區(qū)的交換傳輸?shù)较到y(tǒng)中。整個交換結(jié)構(gòu)都在制定的管控下運行。
物聯(lián)網(wǎng)數(shù)據(jù)是數(shù)據(jù)信息中重要的一部分,它是一種離散型數(shù)據(jù)[8]。本文數(shù)據(jù)的安全交換是在三維空間基礎(chǔ)上通過拉伸和壓縮完成,從三維空間中選取一個維度進行拉伸,其它空間上的數(shù)據(jù)則被壓縮。針對數(shù)據(jù)交換的安全問題,提出一種監(jiān)控機制,實現(xiàn)數(shù)據(jù)交換的實時性以及安全性。
為了加強數(shù)據(jù)交換的安全型,在交換的初級階段與穩(wěn)定運行階段添加了監(jiān)測機制,為此設(shè)置一個獨立節(jié)點來安裝監(jiān)控,實時檢測交換內(nèi)容,并增加了入侵檢測規(guī)定[9],一旦發(fā)現(xiàn)攻擊便直接給基站發(fā)送報警信息,以便進行及時處理,流程如圖2所示。
圖2 監(jiān)測流程
由圖2可知,若產(chǎn)生報警信號,則直接進入黑名單,此檢測流程下的數(shù)據(jù)交換更加具有保障性,其具體的內(nèi)容如下所示:
1)數(shù)據(jù)收集。數(shù)據(jù)收集階段所得到的信息都是復(fù)雜的,為了能夠有效完成后續(xù)的進程,要對儲存前的信息進行過濾,將過濾后得到的數(shù)據(jù)儲存起來,在限定時間內(nèi)或者內(nèi)存信息量過多時再刪除。
2)規(guī)定使用。規(guī)定使用階段是把儲存的數(shù)據(jù)用既定規(guī)定來檢驗,若信息沒有完成其中某條規(guī)定,則失效次數(shù)會加1。
3)入侵檢測。入侵檢測部分是通過系統(tǒng)中的統(tǒng)計分析技術(shù),把統(tǒng)計后的失效數(shù)量和設(shè)定的失效閾值進行對比,若失效的數(shù)量大于失效閾值,那么就算是一次入侵。所以,每當(dāng)發(fā)生異常行為的數(shù)量大于某個閾值時,監(jiān)測節(jié)點就判定其為攻擊行為。
4)發(fā)出報警信號。發(fā)出報警信號階段是監(jiān)測節(jié)點將報警信號發(fā)送給基站。
5)進入黑名單。在所有過程結(jié)束后,每一個節(jié)點都會接收一份黑名單,自動標記黑名單節(jié)點,若遇到次節(jié)點,發(fā)送信息就會被屏蔽。
拉伸算法是建立在三維空間范圍內(nèi)的一種數(shù)據(jù)結(jié)構(gòu)算法,三維體空間有六個面連接構(gòu)成,其中各有兩個面垂直于x軸、y軸和z軸,若要觀察密集空間內(nèi)的數(shù)據(jù),需要拉伸對應(yīng)的六個面來組成這種空間,與x軸、y軸和z軸垂直的面被統(tǒng)一控制,如圖3所示。
圖3 三維空間平面分割比
若只移動一個面,則位于該平面的所有數(shù)據(jù)的位置都會發(fā)生變化,并需要對所有數(shù)據(jù)進行更新,對于實際位置的數(shù)據(jù)儲存空間難以完成這種交換方法,但若是只針對一個平面去制定一個拉伸區(qū)域,則改變制定的位置就是局部的,降低了數(shù)據(jù)交換的復(fù)雜程度,該拉伸算法其公式如下所示。
首先對三維空間進行分割,如式(1)所示:
xA=(x5-x3)×x4+x3=(0.78-0.45)×0.4+0.45
=0.582
(1)
(2)
則數(shù)據(jù)點在A上的坐標為
xp=l*t+xs
yp=m*t+ys
zp=n*t+zs
(3)
其中
(4)
由此得到的拉伸距離為
(5)
三維空間的數(shù)據(jù)交換采用EasiDEF方法,它是在XML序列化的基礎(chǔ)上進行輕量級物聯(lián)網(wǎng)數(shù)據(jù)交換,通過壓縮方式減少了數(shù)據(jù)交換數(shù)量,實現(xiàn)了物聯(lián)網(wǎng)在不同系統(tǒng)中數(shù)據(jù)交換的問題。
XML序列化的過程實際上就是將文件轉(zhuǎn)變?yōu)樽址饕菍ξ募M行壓縮,減少冗余數(shù)據(jù),其次是對字符串傳輸運行做處理,其主要核心是通過元素標簽(Tag)來展現(xiàn)XML數(shù)據(jù),包含了XML文件中的元素(Element)、屬性(Attribute)、文本(Text)。例如:“X”標簽代表XML文件中的Element,“X4root”代表字符信息長度為4的元素“root”,“X4root”是一種完整性的標簽組合,所以,在XML中所有的字符元素,都能夠在EasiDEF序列化的方式下用標簽來代表。標簽組合還包含了Tag數(shù)據(jù)長度(Length)與數(shù)據(jù)值(Value),縮寫為TLV,由于在XML中元素一般會以“”為起始端和結(jié)束端,會導(dǎo)致有大量的冗余信息,但利用標簽化[10]的這種方法能夠解決這種問題,有效縮短了數(shù)據(jù)的長度,并且數(shù)據(jù)不會出現(xiàn)重復(fù)的情況,大幅度減少了冗余信息,經(jīng)典方法在利用XML時,需要對每一個字符都進行掃描,檢驗XML的元素與屬性名稱以及字符信息在某個位置結(jié)束,這樣的方法不僅浪費時間,而且不利于實際應(yīng)用。但XML的標簽化方法,就解決了這一問,提高了操作的時效性。因為在EasiDEF中,可以提前觀測到文本信息的長度,根據(jù)文本信息的長度可判斷出交換數(shù)據(jù)的長度和需要支配空間的范圍,避免了像XML方法只能在掃描到結(jié)束字符時,才能夠知道交換數(shù)據(jù)的長度,所以EasiDEF方法的優(yōu)點在于有一定的預(yù)判能力,可提前處理數(shù)據(jù)所需要的系統(tǒng)資源[11]。
EasiDEF是由頭部(EasiDEF Header)和主體(EasiDEF Body)構(gòu)成,EasiDEF頭部包含了識別EasiDEF的差別標識位(Distinguishing Flag)、頭部長度(Lengh)、版本號(Version),EasiDEF的主體是由連續(xù)的標簽組合構(gòu)成,標簽“Z”是所有EasiDEF完成的標志,其結(jié)構(gòu)如圖4所示。
圖4 壓縮結(jié)構(gòu)圖
在EasiDEF頭部布局中,差別標志位占有兩個節(jié)點;頭部的長度代表接下來版本和編碼控制數(shù)據(jù)所占具的節(jié)點數(shù),用一個取值為5的節(jié)點表示;EasiDEF版本取值VL0,版本號為數(shù)字1,占用了一個節(jié)點,而EasiDEF的主體則是由多種XML方式組建的標簽組合構(gòu)成,最后以字符“Z”完成,EasiDEF中ASCII碼字符代表數(shù)字,但事實上EasiDEF中使用的是二進制字符。EasiDEF的標簽式方法使系統(tǒng)不需要逐個對數(shù)據(jù)進行掃描,標識XML的結(jié)束字符。使用該方法不僅降低了數(shù)據(jù)交換過程中的信息冗余、壓縮數(shù)據(jù)長度,還縮短了操作時間,比經(jīng)典的操作方法更簡便,同時避免了占據(jù)系統(tǒng)內(nèi)大面積內(nèi)存,因此三維空間壓縮方法有利于輕量級物聯(lián)網(wǎng)數(shù)據(jù)交換的實際操作[12]。
為檢驗該方法監(jiān)測機制的實時性,對數(shù)據(jù)交換的實驗過程進行安全性分析,情況如表1所示。所受攻擊情況以能量消耗方式來體現(xiàn),每次交換中初級階段和穩(wěn)定階段分別考慮。通過安裝監(jiān)控節(jié)點和普通節(jié)點的對比分析得出最終結(jié)果。
表1 不同節(jié)點的監(jiān)控效果(μJ)
由表1可以看出,安裝監(jiān)控節(jié)點對整個數(shù)據(jù)交換能量耗散的影響在可接受的范圍內(nèi),說明此方法實現(xiàn)了數(shù)據(jù)交換的安全性。
為了驗證三維空間數(shù)據(jù)交換方法的實際效果,分析其時效性,構(gòu)建三維空間算法框架,如圖5所示。
圖5 三維空間算法框架
如圖5所示是對一個數(shù)據(jù)集的實例描述,詳細地說明了分割比和位置變換的過程,其中數(shù)據(jù)集k=2,子集n=6,更新的數(shù)據(jù)集q=4,A和E表示移動的分割面,D和B分別表示A和E的負節(jié)點,過程如下所示:
1)實驗中k=2,n=6,q=4,首先先移動兩個面:將面A從0.1的位置移動到0.3的位置,再讓面E從0.6的位置移動到0.9的位置;
2)所有遞歸函數(shù)從節(jié)點D開始,經(jīng)過A,D和E,節(jié)點D要穩(wěn)定在移動面A和E之間,其相對位置保持不變。
3)遞歸左子集,由上文所述公式,可以算出B的新位置與分割比。
4)則A的位置就不用通過計算得出,因為已經(jīng)在移動間給出位置為0.3。
5)同樣E也不需要。
6)由于C、F兩個面在最終顯示時,分割比值沒有改變,所以無需計算其新位置。
7)實驗最終結(jié)果顯示,僅更新了q=4個數(shù)據(jù),且分割比都已經(jīng)被求出,剩下的分割比值都未改變。
若對大批量的數(shù)據(jù)進行移動,會浪費很多時間,該算法有利于局部的變換,即確定某一范圍,該范圍的邊界為0和1,計算出該范圍的分割比,通過分割比來儲存這些數(shù)據(jù),由此不用再計算其它范圍的數(shù)據(jù),減少了計算量,使數(shù)據(jù)交換的時效性有所提高。根據(jù)對物聯(lián)網(wǎng)系統(tǒng)中經(jīng)典XML數(shù)據(jù)交換的操作,通過GZIP、EXI和EasiDEF方法,對XML原數(shù)據(jù)進行壓縮處理,從而對比出三種方法的壓縮率和處理速度。
如圖6所示,對比壓縮率效果,GZIP、EXI和EasiDEF雖然都顯示出對XML原數(shù)據(jù)產(chǎn)生壓縮效果,但壓縮效果最好的是EasiDEF,其壓縮率在20.01%~54.93%,EXI的壓縮率在36.46%~62.23%,GZIP的壓縮率在35.41%~69.74%,從結(jié)果可看出,EXI和EasiDEF的壓縮范圍比較接近,對比GZIP有30%的提升空間。強化壓縮效果有利于減少數(shù)據(jù)交換的傳輸量,但還要保證壓縮的處理速率,如圖7所示,同樣是對物聯(lián)網(wǎng)系統(tǒng)中經(jīng)典XML數(shù)據(jù)交換速度進行分析,實驗中以GZIP為參照物,對EXI和EasiDEF做歸一化處理,并通過處理速度(TPS)來對比壓縮所用時間,當(dāng)EasiDEF的交換處理速度為200%時,代表交換處理速度為GZIP的2倍,也就是說在處理相同數(shù)據(jù)時,EasiDEF所用時間是GZIP的一半,從圖7可以看出,EXI和EasiDEF的交換速率要高出GZIP的250%,EasiDEF的交換速率比EXI高出10%。由此可以看出該方法實現(xiàn)了對輕量級數(shù)據(jù)三維空間安全交換的實用性與時效性。
圖6 壓縮率對比
圖7 交換速度對比
為了實現(xiàn)輕量級物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換方法,提出如下解決方法:首先在確保安全條件下進行數(shù)據(jù)交換,本文提出一種三維空間數(shù)據(jù)拉伸算法,同時采用了一種新的分割比數(shù)據(jù)存儲方式,降低了計算的復(fù)雜度,并且支持局部的變換與多區(qū)域拉伸。最后利用EasiDEF壓縮方法法,在保證協(xié)議低開銷的前提下,能夠大幅度降低交換時間和數(shù)據(jù)傳輸量,實現(xiàn)了對輕量級數(shù)據(jù)三維空間安全交換的實用性和時效性,有利于輕量級數(shù)據(jù)三維空間安全交換的實際應(yīng)用。本文設(shè)計和研究的三維空間數(shù)據(jù)拉伸算法的創(chuàng)新點是給出數(shù)據(jù)預(yù)定義的跨域安全交換的具體的步驟。對于未來的研究中,可以就輕量級物聯(lián)網(wǎng)數(shù)據(jù)三維空間安全交換的智能硬件和無線通信等方面進行更加深入的研究。