孫學軍,李長銀
(臨沂大學費縣校區,山東 臨沂 273400)
由于物聯網通信大數據庫中存在多種且復雜的數據種類,其中較為典型的半結構化數據,其數據量龐大域數據相似性較高,已經成為目前物聯網通信領域的重點研究對象。國內對半結構化數據的識別進行了大量研究,較為經典的能夠分成兩種即:多重分形理論半結構化識別算法[1]與Softmax回歸的識別方法[2],多重分形理論識別方法會擬定網絡通信數據流的分形譜,計算通信數據流的估計譜,在擬定的核域里融合灰色關聯度算法估計譜分析,以估計結果完成對數據的識別。該算法在低信噪比的狀態下,可以得到較高的識別率,但識別結果容易被分形特征提取的結果干擾,存在不穩定性。而Softmax回歸識別算法,會把網絡通信數據的循環譜密度特征當做訓練樣本集,通過主成分分析算法篩選數據特征,依靠Softmax回歸分類器對數據進行分類識別。該方法對數據的識別效果較好,但由于算法需要構建計算和回歸分類器,這就導致了該算法的識別效率低下。
針對上述問題,本文提出一種物聯網通信大數據庫半結構化數據識別方法,依靠對數據的稀疏度系數、系數子空間與半結構化數據的結構的分析,獲得數據之間的關聯特性和數據儲存的節點位置,隨后將主成分分析算法和德爾菲算法進行融合,依靠融合后的算法賦予識別指標權重,使用Tanimoto系數度量半結構化數據的相似性,憑借數據的相似性與其它數據的關聯性,實現對半結構化數據的識別。
為了識別半結構化數據,擬定一種D維數據集內存在N條記錄,所有維均離散化成θ種區間,同時所有記錄之間是互相獨立的,從中挑選出k種屬性構建K維立方體,此時N條記錄的概率為(1/θ)k,按照伯努利概率隨機分布至立方體內,所有區域中具有的平均記錄總量是其數據期望N×(1/θ)k。定義稀疏度系數與系數子空間數據是否存在偏移與偏移程度。
定義1:稀疏度系數S(D)的描述式擬定成

(1)
式中,n(D)代表存在于D內的對象總量,fk=1/θ為數據偏移程度,針對離群數據[2],其所處子空間中含有的記錄數遠遠低于平均值,所以稀疏度系數S(D)不會超過0。
定義2:針對一個隨機的半結構化數據集,其屬性集擬定成M,對象集擬定成G,擬定D1代表通過屬性集P1(P1?M)組成的|P1|維的隨機子空間[3],其含有的對象集是O(O?G),如果不具有通過屬性集P2(P2?P1)組成的子空間D2,同時D2內存在相同的對象集O,那么描述D1成約簡子空間[4],P1能夠描述成約簡屬性集。
定義3:針對一個隨機的半結構化數據集,其屬性集是M,對象集是G,TS代表擬定的稀疏度閾值,擬定D代表約簡屬性集P(P?M)組成的|P|維隨機約簡子空間,如果D的稀疏度系數是S(D)≤TS,則描述D代表稀疏子空間。

半結構化數據又能夠被描述成半形式概念數據,該數據的所有記錄節點都是一種形式概念,其通過兩部分構成:外延,即概念所覆蓋的實例;內涵,即表示的概念,該概念覆蓋實例的共同特征。此外,半結構化數據通過Hasse圖生成與簡潔的描述了這些半結構化數據之間存在的特性與泛化關系,由于半結構數據具有完備性、直觀性與簡潔等特性[5],其也被認為是一種數據描述的轉換工具。
定義4:一種形式背景K=(G,M,I)具有兩種集合G與M,其能夠被描述成是一種二元關系I?G×M,G內的元素為對象,M內的元素為屬性,假如g∈G與m∈M在二元關系I內,擬定成(g,m)∈I或gIm,即對象g內存在屬性m。
定義5:形式概念J即滿足以下兩種條件的一種序偶(A,B),其中A?G,B?M,A為形式概念J的外延,B為形式概念J的內涵。
A=B′={a∈G|?b∈B,aIb}
(2)
B=A′={b∈M|?a∈A,aIb}
(3)
其中,a、b為A和B中的元素。
定義6:擬定K=(G,M,I)代表隨機形式的數據背景,其中所有形式概念之間的偏序關聯[6]能夠被描述成(A1,B1)≤(A2,B2)?A1?A2?B2?B1,通過形式數據背景K內的所有概念與概念之間的偏序關聯能夠組成一種半結構,將該半結構描述成〈L(G,M,I)〉。
定義7:擬定K=(G,M,I)代表隨機形式數據背景,擬定h1=(A1,B1)與h2=(A2,B2)代表概念〈L(G,M,I)〉的隨機兩個節點,h1≤h2。假如不存在節點h3=(A3,B3),則h1≤h3≤h2成立,那么h1即為h2的直接例化,h1代表h2的子節點,也能夠將其描述成h1是h2的子概念,表達成h1=child(h2),擬定h2是h1的父節點[7],其也能夠描述成h2是h1的父概念,擬定成h2=father(h1),假如存在節點h3=(A3,B3),h1≤h3≤h2成立,那么描述h2是h1的祖先節點。
半結構化數據識別過程內的關聯流程就是確準識別指標的權重[8]。主觀賦權法與客觀賦權法是當前較為常見的兩種權重確定算法。主觀賦權法憑借決策者的意向確準所有指標之間的權重系數,決策或評測結果存在較大的主觀隨機性,常用的算法有層次分析法與德爾菲算法等。而客觀賦權法確準所有指標的權重系數,雖然其存在較強的數學理論依據,但其無法反映決策者的意向,常用的有主成分分析法與因子分析法等。為了避免單一賦權法的缺點,本文將主成分分析算法和德爾菲算法進行融合。使其成為一種綜合加權法。借助綜合加權法對識別指標賦予權重。其核心思想如下所示:
首先,查看半結構化數據的關聯信息模型,同時構建半結構化數據管理體系[9],依靠該體系搜索出半結構化數據的大致坐標,隨后運算出半結構化數據識別指標的數據資料。
1)把識別數據指標的初始數據進行標準化處理即

(4)
2)利用德爾菲算法對半結構化數據識別內的指標權重進行打分,指標的權重能夠描述成
γ=(α1,α2,α3,α4,α5,α6,α7,α8,α9)
(5)
對所有指標變量分別乘以權重系數,獲得改進之后的半結構化數據矩陣X′。
對X′內的指標數據進行主成分分析,獲得最終的半結構化數據識別指標權重。
1)計算獲得指標數據的關聯矩陣[10]

(6)
2)利用雅可比算法計算關聯系數矩陣R的特征值(λ1,λ2,…,λp)與對應的特征向量li=(li1,li2,…,lip),i=1,2,…,p。
3)挑選關鍵的主成分,同時擬定出主成分描述公式。
主成分分析能夠獲得p種主成分,但因為各個主成分的方差是遞減的,其所含有的信息量也是遞減的,因此在實際分析時,通常不會挑選p種主成分,而是憑借各個主成分累計貢獻率的大小挑選前m種出成分,這里的貢獻率即指某種主成分的方差占所有方差的比重,就是某種特征值占所有特征值合計的比重,其運算公式如式(7)所示

(7)
其中,λi為主成分的方差,即某種特征值。貢獻率越大就證明該主成分所含有的初始變量信息越多。在主成分個數挑選內,需要累計貢獻率超過85%以上,確保綜合變量能夠包含初始變量的大部分信息。
4)憑借主成分累計貢獻率85%,挑選m種主成分A=(k1,k2,…,km)。各項特征值對應的特征向量是(l1,l2,…,lm),隨后運算獲得的所有指標權重
F=A*(l1,…,lm)=(f1,f2,f3,f4,f5,f6,f7,f8,f9)
(8)
2.4.1 Tanimoto系數
Tanimoto系數又能夠被描述成Jaccard系數,能夠度量半結構化數據的相似性,同時在二元屬性情況下歸約成Jaccard系數,因此本文提出有一種基于字節頻率分布的半結構化數據識別模型,該模型以扇形的半結構化數據為最小測試單元,同時所有測試扇形區域內的字節頻率分布F(x),經過Tanimoto系數進行處理,就能夠獲得扇形測試區域V和樣本扇形區域S的相似度。

(9)

擬定半結構化數據di歸屬于第i類,同時i≠j,那么di∩dj=Φ。同一種類型的半結構化數據就存在類似的分布模型,就是聚集在同一分布范圍Ti中。T={T1,T2,…,Tm}內共存在m種半結構化數據類型。所以di的分布范圍能夠通過Ti進行標明,在Ti范圍里的半結構化數據屬于第i類半結構化數據。本文使用樣本數據訓練獲得標準值ηi,對于所有類的半結構化數據的分布范圍Ti,只在Ti≥ηi時,Ti才是存在效果的。
2.4.2 參數優化
識別半結構化數據的初始數據種類,與評測數據是否屬于復合型文件結構的一部分,是目前半結構化數據識別的難題所在。所以把特有的元數據與文件結構信息融合到物聯網通信大數據庫內,以此提升半結構化數據的識別率。
1)文件結構
數據類中特有的元數據或文件結構信息通過δ表示,那么δ={δ1,δ2,…,δm},其中δi={δ1,δ2,…,δπ},同時δi又能夠代表任意一種數據種類存在π種不同的特有元數據與文件結構信息π≥1。
2)分布范圍
同一半結構化數據間隔分布在32種數據塊里的可能性是80%。所以半結構化數據在磁盤內不會隨機分布,數據之間存在一定的關聯性,即某一段連續的半結構化數據屬于同一種文件。
2.4.3 識別過程
1)預處理
包括收取樣本模型S={S1,S2,…,Sm},收取半結構化數據特有的結構特征δ={δ1,δ2,…,δm}與收取半結構化數據字節頻率分布F(x)。
2)構建識別模型
經過Tanimoto系數構建對應的識別模型,運算樣本S和測試數據F(x)之間字節頻率分布的相似程度Tx。
3)評測被測試半結構化數據x的相似度Tx是否處于Ti范圍種。
如果Tx∈Ti,半結構化數據x屬于第i類數據,反之,如果Tx?Ti,半結構化數據x不屬于第i類數據,需要繼續評測Tx是否處于Ti+1范圍種。
4)參數優化1,搜集被測試半結構化數據x的相關結構特征δx。
擬定,第x種半結構化數據Tanimoto系數相似度是Tx∈Ti,同時δx產生在半結構化數據x內,δx=Tj。在i=j時,x∈Ti,反之在i≠j時,能夠認為該數據是無法識別的。
5)參數優化2,初步考慮半結構化數據之間的關聯性。
在i=j時,x∈Ti反之在i≠j時,繼續評測下一個半結構化數據x+1,直至連續產生?次的Ti=Tj,此時x∈Ti,反之評測該半結構化數據時無法識別的。
為了證明所提方法的實用性,進行仿真,擬定試驗環境為:一個1GB的閃存,物聯網的物理頁是2kB,所有半結構化數據塊內存在64個物理頁。把半結構化數據識別算法內的更新信息緩存擬定成最多可儲存50個更新區域,把不通過識別的半結構化數據隊列擬定成最多能夠保留100條數據信息。為了能夠更加快速的得到算法的優劣信息,首先在閃存內添加524個數據文件文件,最大的半結構數據占用8193個物理頁,最小的半結構化數據占用一個物理頁,這些數據總共占用閃存的90%空間,隨后擬定閃存空間的2倍是單輪更新的數據量。總共進行10輪更新,每次更新的半結構化數據從先前存在的524個數據內隨機挑選。
圖1即物聯網通信大數據庫半結構化數據在文獻[1]算法和文獻[2]算法與使用本文方法識別半結構化數據下,數據的有效重寫率,其結果如圖1所示。

圖1 半結構數據的有效數據重寫率
通過圖1能夠看出,由于半結構化數據既包含信息也包含結構的信息,本文方法的重寫率遠遠小于文獻[1]和文獻[2]方法,最高為半結構化數據比例為40%時,有效數據重寫率為1759塊。同時本文算法能夠有效的提取數據,大大縮減了半結構化數據的重寫操作,在回收冗余數據時,數據不會因為重寫率較高,產生冗余數據不斷回復問題,并且通過Tanimoto系數對半結構化數據的識別參數優化,以確定數據的種類,以降低數據重寫的概率。
為了進一步證明所提方法的實用性,擬定一個物聯網通信大數據庫內共存在1000個數據,將種類為10種,測試平臺是Matlab。現通過本文方法對上述10種不同種類的數據進行半結構化據識別,同時將其結果與已知結果進行對比,其對比圖如圖2所示。

圖2 本文提取算法與已知識別結果對比
通過圖2能夠看出,本文方法與已知識別結果相差不大,相較于文獻[1]方法和文獻[2]方法,識別正確率更高,其識別的正確率是98.6%,這就證明本文方法在半結構化數據識別中有著準確率高的優點。
為了凸顯半結構化數據的特性,提出一種物聯網通信大數據庫半結構化數據識別方法,依靠綜合加權法與Tanimoto系數實現對數據的識別。
1)半結構數據的有效數據重寫率實驗結果表明,本文方法有效數據重寫率較低,最高為半結構化數據比例為40%時的1759塊。
2)本文提取算法與已知識別結果對比實驗表明,本文方法半結構化數據識別正確率是98.6%。
3)由于所提方法內,會依靠稀疏系數自帶的粗去噪進行濾波,因此并沒有對數據的噪聲進行精準的去噪,導致識別的半結構化數據內,依舊存在少量噪聲,這種噪聲雖然不會干擾識別結果,但其會在數據塊內形成細小的白點,影響觀看與查詢的結果,因此下一步需要研究的課題即:在所提方法內添加濾波器,依靠濾波器進行精準的去噪處理。