• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于HNBJSON的物聯(lián)網(wǎng)數(shù)據(jù)壓縮方法

      2021-02-24 13:03:50鐘永彥
      關(guān)鍵詞:集中器壓縮率字典

      劉 凱,鐘永彥,陳 娟,朱 震

      (南通大學(xué)電氣工程學(xué)院,江蘇 南通 226019)

      隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,萬物互聯(lián)(Internet of Everything,IoE)的規(guī)模將越來越大[1-3]。 據(jù)思科、摩根士丹利與華為等公司估計(jì),2019年全球約有400億戶的IoE連接,2020年連接規(guī)模達(dá)到750億戶,2025年將高達(dá)1 000億戶[4]。尤其在智能電網(wǎng)中,由于引入了大量先進(jìn)的計(jì)算技術(shù)、通信技術(shù)與數(shù)據(jù)采集技術(shù)[5-6],海量的傳感器與智能電表接入電網(wǎng),這將帶來井噴式的通信數(shù)據(jù)增長,進(jìn)而造成數(shù)據(jù)阻塞現(xiàn)象,導(dǎo)致云邊網(wǎng)絡(luò)通信時(shí)延增大[7-8],這對數(shù)據(jù)壓縮方法提出新的挑戰(zhàn)。 常見的無損數(shù)據(jù)壓縮方法主要有LZW算法和Huffman算法,它們具有通用性強(qiáng)、壓縮效果好的特點(diǎn)[9-10]。然而,LZW算法易造成大量內(nèi)存浪費(fèi),Huffman算法則占用CPU大量時(shí)間。當(dāng)處理器內(nèi)存和CPU性能受限時(shí),將這兩種算法直接用于物聯(lián)網(wǎng)數(shù)據(jù)處理往往達(dá)不到預(yù)期效果[11-12]。

      考慮到物聯(lián)網(wǎng)終端設(shè)備常采用JSON或XML數(shù)據(jù)格式進(jìn)行數(shù)據(jù)傳輸,而JSON數(shù)據(jù)格式在瀏覽器中使用更加廣泛[13-14],因此,對 JSON 數(shù)據(jù)進(jìn)行壓縮成為研究熱點(diǎn)。文獻(xiàn)[15]使用Zlib將JSON數(shù)據(jù)進(jìn)行壓縮,減少了數(shù)據(jù)文件大小,但縮減量有限且僅用于數(shù)據(jù)存儲。文獻(xiàn)[16]提出通過數(shù)據(jù)映射的方式對JSON數(shù)據(jù)進(jìn)行壓縮,在原始數(shù)據(jù)分隔符較少的情況下,該方法存在壓縮效率低的缺點(diǎn)。文獻(xiàn)[17]介紹了SJSON算法,該方法將JSON鍵值對拆分,再分別編碼壓縮。當(dāng)JSON數(shù)據(jù)結(jié)構(gòu)較復(fù)雜時(shí),具有壓縮效率高、壓縮時(shí)間短的優(yōu)勢,而數(shù)據(jù)內(nèi)容復(fù)雜時(shí),壓縮率表現(xiàn)較差。文獻(xiàn)[18]提出從云端主字典中提取用戶字典的方式實(shí)現(xiàn)JSON數(shù)據(jù)壓縮,但該方法并未涉及到具體的提取方式且字典未進(jìn)行自適應(yīng)更新,當(dāng)JSON數(shù)據(jù)發(fā)生變化時(shí),壓縮效率會大打折扣。文獻(xiàn)[19]使用共享壓縮字典的方式實(shí)現(xiàn)JSON數(shù)據(jù)壓縮,但此方式根據(jù)通訊成本更新壓縮字典,導(dǎo)致壓縮率仍有提升空間。

      目前已有的JSON數(shù)據(jù)壓縮方法,在進(jìn)行物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)傳輸時(shí),雖然實(shí)現(xiàn)了通訊數(shù)據(jù)的降低,但存在著壓縮率較低,通用性不強(qiáng)且更新速度不顯著等缺點(diǎn)。

      本文結(jié)合邊云協(xié)同思想,提出了一種基于HNBJSON(Huffman?Naive Bayesian JSON)算法的數(shù)據(jù)壓縮方法。該方法在云端通過樸素貝葉斯分類器對實(shí)時(shí) JSON數(shù)據(jù)進(jìn)行分類,提取 JSON數(shù)據(jù)的Keyword組,根據(jù)Huffman編碼原理生成若干壓縮字典,并將生成的壓縮字典發(fā)送至邊緣設(shè)備。同時(shí),云端服務(wù)器根據(jù)壓縮率實(shí)現(xiàn)壓縮字典的自適應(yīng)更新。將該壓縮算法應(yīng)用于某高校教學(xué)場景中的用電監(jiān)控,有效降低了邊云通信數(shù)據(jù)量,緩解了因數(shù)據(jù)阻塞而造成的時(shí)延現(xiàn)象。

      1 HNBJSON算法

      1.1 樸素貝葉斯公式

      貝葉斯決策利用事件發(fā)生的先驗(yàn)概率來推斷后驗(yàn)概率,通過調(diào)整因子保障后驗(yàn)概率更加貼近真實(shí)概率,是概率框架下實(shí)現(xiàn)分類決策的基本方法。

      假設(shè)一個(gè)變量集U={X,C}是樣本數(shù)據(jù)與類別標(biāo)記集合,其中X={X1,X2,…,Xn} 是樣本數(shù)據(jù)集,C={c1,c2,…,cm} 是類別標(biāo)記集。x=(x1,x2,…,xq)是樣本數(shù)據(jù)集X的特征值集,樣本Xi屬于類別cj的后驗(yàn)概率P(C=cj|X=Xi)可表示為

      式中,P(cj)為先驗(yàn)概率,表示cj在集合C中出現(xiàn)的概率。P(Xi|c(diǎn)j)/P(Xi) 為調(diào)整因子,通過樣本Xi對于cj的類條件概率P(Xi|c(diǎn)j) 與證據(jù)因子P(Xi) 計(jì)算得出。在此基礎(chǔ)上假設(shè)每個(gè)特征值屬性都是相互獨(dú)立的,不難得出樸素貝葉斯公式的類條件概率公式為

      根據(jù)式(1)和(2),可聯(lián)立得樸素貝葉斯公式為

      考慮到實(shí)際分類過程中,新出現(xiàn)的樣本可能不包含某些特征值xk。在進(jìn)行概率計(jì)算時(shí),需要進(jìn)行拉普拉斯平滑,避免概率為0的誤判,修正后的概率公式為

      式中,Dcj,xk表示特征值xk出現(xiàn)在類別標(biāo)簽Cj中的集合,Dc表示所有類別標(biāo)簽的集合,Nk表示第k個(gè)特征值可能的類別數(shù)。

      在進(jìn)行數(shù)據(jù)分類判定時(shí),類條件概率為避免因連乘導(dǎo)致下溢出,需將乘積結(jié)果取自然對數(shù),最終的樣本數(shù)據(jù)Xi歸屬設(shè)備的表達(dá)式L(Xi)為

      通過對比樣本數(shù)據(jù)Xi歸屬于不同類別標(biāo)簽的概率,即可實(shí)現(xiàn)樣本數(shù)據(jù)快速分類。

      1.2 HNBJSON 結(jié)構(gòu)

      根據(jù)JSON數(shù)據(jù)結(jié)構(gòu)與樸素貝葉斯分類器,針對多設(shè)備源的JSON數(shù)據(jù),設(shè)計(jì)一種自適應(yīng)更新的壓縮算法HNBJSON,算法體系結(jié)構(gòu)圖如圖1所示。

      圖1 HNBJSON算法體系結(jié)構(gòu)圖

      首先,邊側(cè)獲取原始JSON數(shù)據(jù),解析對應(yīng)的JSON對象。其次,將JSON對象Keyword與 Value進(jìn)行分離,Keyword根據(jù)壓縮字典進(jìn)行字典壓縮,Value保留不處理。最終,整合壓縮后的Keyword與Value形成壓縮后的JSON數(shù)據(jù)。同時(shí),云端服務(wù)器解壓并解析壓縮后的JSON數(shù)據(jù),通過樸素貝葉斯分類器完成對數(shù)據(jù)特征值的提取。再根據(jù)特征值將JSON對象數(shù)據(jù)進(jìn)行設(shè)備源分類。然后統(tǒng)計(jì)同種設(shè)備源中數(shù)據(jù)字符長度較長且出現(xiàn)頻率較高的特征值,按Huffman編碼原理(用較短代碼映射概率高的字符串?dāng)?shù)據(jù),較長代碼映射概率低的字符串?dāng)?shù)據(jù))編入每個(gè)設(shè)備對應(yīng)的壓縮字典,保障JSON數(shù)據(jù)壓縮率。最終,云端服務(wù)器壓縮字典與邊側(cè)同步,實(shí)現(xiàn)邊緣側(cè)壓縮字典自適應(yīng)更新。

      2 基于HNBJSON的數(shù)據(jù)壓縮

      2.1 數(shù)據(jù)采集

      在智能電網(wǎng)中,數(shù)據(jù)集中器采集用電側(cè)產(chǎn)生的單相/三相電壓、單相/三相電流、功率因數(shù)、頻率和開關(guān)狀態(tài)等數(shù)據(jù),并上傳至云端,最終在云端服務(wù)器完成數(shù)據(jù)的處理和分析。典型的數(shù)據(jù)采集流向圖如圖2所示。

      圖2 數(shù)據(jù)采集流向圖

      遠(yuǎn)傳電表通常采用支持RS485協(xié)議智能電表,用來實(shí)時(shí)采集電網(wǎng)用電側(cè)電力數(shù)據(jù)。數(shù)據(jù)集中器設(shè)計(jì)邊緣計(jì)算線程與邊緣通信線程,實(shí)現(xiàn)數(shù)據(jù)采集與字典同步。邊緣計(jì)算線程通過數(shù)據(jù)解析線程轉(zhuǎn)化邊緣數(shù)據(jù)為標(biāo)準(zhǔn)JSON格式,然后利用內(nèi)置數(shù)據(jù)壓縮模塊,配合儲存在MySQL數(shù)據(jù)庫的壓縮字典,實(shí)現(xiàn)數(shù)據(jù)壓縮。邊緣通信線程通過MQTT協(xié)議,實(shí)現(xiàn)邊緣數(shù)據(jù)上報(bào)與壓縮字典同步更新。

      2.2 壓縮字典

      JSON是一種輕量級的數(shù)據(jù)交換格式,易于閱讀與編寫,常通過一對大括號與“Keyword/Value”的無序鍵值對組合進(jìn)行數(shù)據(jù)傳輸。“Keyword”與“Value”通過冒號分割,不同無序鍵值對通過逗號進(jìn)行分割,形如:{‘keyword1’:Value1,‘keyword2’:Value2}??紤]到電網(wǎng)JSON數(shù)據(jù)中的Value常為數(shù)字量,壓縮收益不高,因此選取“Keyword”組進(jìn)行壓縮字典構(gòu)造,如圖3所示。

      云端服務(wù)器根據(jù)各個(gè)采集器采集的歷史JSON數(shù)據(jù)訓(xùn)練出的樸素貝葉斯分類器,對實(shí)時(shí)上云的JSON數(shù)據(jù)進(jìn)行分類,添加至對應(yīng)的采集器鏡像數(shù)據(jù)庫中,用于生成壓縮字典。若JSON數(shù)據(jù)壓縮率小于等于預(yù)期壓縮率Cmin,則更新壓縮字典,具體步驟如下。

      首先,統(tǒng)計(jì)同類型采集器內(nèi)邊緣終端設(shè)備數(shù)據(jù)的Keyword,當(dāng)Keyword字符長度大于設(shè)定最短字符長度Lmin且出現(xiàn)頻率高于設(shè)定最小頻率fmin時(shí),將Keyword緩存至字典隊(duì)列。

      其次,將緩存的Keyword進(jìn)行字符串切割,根據(jù)字符段出現(xiàn)頻率進(jìn)行排序與編碼。

      最后,根據(jù)排序結(jié)果更新壓縮字典,生成壓縮字典如表1所示。

      表1 壓縮字典示例

      2.3 壓縮字典邊云協(xié)同

      為滿足壓縮需求,保障云邊通信穩(wěn)定可靠,需確保邊緣側(cè)與云端壓縮字典同步并進(jìn)行自適應(yīng)更新,壓縮字典邊云協(xié)同示意圖如圖4所示。場景1表示數(shù)據(jù)集中器連接云端上傳數(shù)據(jù)并進(jìn)行壓縮字典優(yōu)化的過程。首先,數(shù)據(jù)集中器根據(jù)壓縮字典將原始數(shù)據(jù)進(jìn)行字典壓縮,壓縮后的數(shù)據(jù)發(fā)送至云端,默認(rèn)初始壓縮字典為空;其次,根據(jù)數(shù)據(jù)集中器類型在云端查找壓縮字典,若沒有同類型集中器,則建立新的壓縮字典并將其發(fā)送至數(shù)據(jù)集中器1,若有同類型集中器,則調(diào)用同類型集中器的壓縮字典,如請求場景2中數(shù)據(jù)集中器2的壓縮字典;最后,數(shù)據(jù)集中器根據(jù)壓縮字典進(jìn)行數(shù)據(jù)壓縮,再將壓縮數(shù)據(jù)上傳至云端,若壓縮效果未達(dá)到設(shè)定的壓縮率,則迭代更新壓縮字典,直至滿足壓縮要求。

      圖4 壓縮字典邊云協(xié)同示意圖

      3 網(wǎng)關(guān)測試與結(jié)果分析

      實(shí)際測試中,選取DDSU666型單相費(fèi)控智能電表對教室1、實(shí)驗(yàn)室與圖書館3個(gè)應(yīng)用場景的電壓、電流、有功功率與頻率數(shù)據(jù)進(jìn)行采集,樣本數(shù)據(jù)共3 000組,隨機(jī)選取樣本數(shù)據(jù)的80%作為訓(xùn)練集,其余作為測試集?;跇漭蒀M4開發(fā)數(shù)據(jù)集中器,其內(nèi)存為 4 GB,處理器為 ARM Cortex?A72,包含RS485接口、RS232接口與無線網(wǎng)卡。云端服務(wù)器內(nèi)存16 GB,處理器為 Intel i5?9300H,使用庫函數(shù)sklearn構(gòu)建樸素貝葉斯分類器。云服務(wù)器與數(shù)據(jù)集中器均安裝python3.8.0與MySQL5.7.25,使用庫函數(shù)paho?mqtt實(shí)現(xiàn)MQTT通信。

      3.1 分類測試

      分別將訓(xùn)練集與測試集代入構(gòu)建的樸素貝葉斯分類器中,調(diào)整特征值的數(shù)量,計(jì)算分類準(zhǔn)確率,如表2所示。

      表2 壓縮字典示例

      測試結(jié)果表明,隨著設(shè)定的特征值數(shù)量的提高,分類準(zhǔn)確率逐漸提升,當(dāng)特征值數(shù)量大于16時(shí),分類準(zhǔn)確率在98%左右??紤]到特征值數(shù)量的提高會引起CPU占用率的提高,且分類準(zhǔn)確率并未明顯變化,故采取特征值數(shù)量為16的樸素貝葉斯分類器進(jìn)行數(shù)據(jù)分類,為構(gòu)建壓縮字典提供正確數(shù)據(jù)源。

      3.2 壓縮測試

      根據(jù)分類后的數(shù)據(jù)構(gòu)建壓縮所需的壓縮字典,對實(shí)時(shí)JSON數(shù)據(jù)進(jìn)行HNBJSON壓縮,并將其與傳統(tǒng)的LZW壓縮、Huffman壓縮與字典壓縮進(jìn)行對比,根據(jù)壓縮率公式計(jì)算壓縮率,壓縮率公式為

      每隔300條數(shù)據(jù)計(jì)算一次數(shù)據(jù)壓縮率與數(shù)據(jù)壓縮總時(shí)間,以數(shù)據(jù)量為橫軸,繪制壓縮效果對比圖,如圖5所示。

      圖5 字典壓縮與HNBJSON壓縮效果對比圖

      圖5(a)中,隨著數(shù)據(jù)量的增長,LZW壓縮率在85%左右波動,HNBJSON壓縮、Huffman壓縮與字典壓縮分別穩(wěn)定在 76.9%,76.2%與 72.8%左右。HNBJSON壓縮率稍遜于LZW壓縮,優(yōu)于其他兩種壓縮算法。圖5(b)中,HNBJSON壓縮所需壓縮時(shí)間少于其他3種壓縮算法,且4種算法的壓縮時(shí)長呈線性增長。當(dāng)壓縮數(shù)據(jù)達(dá)到3 000條時(shí),HNBJSON壓縮僅需要2.94 s,即平均每條數(shù)據(jù)壓縮時(shí)長約為0.98 ms,而字典壓縮、Huffman壓縮和LZW壓縮的壓縮時(shí)間總長分別為3.22 s、4.95 s和18.37 s。特別是LZW壓縮的壓縮時(shí)間過長,反而會導(dǎo)致時(shí)延的增長,使得壓縮率高的優(yōu)勢喪失。因此,HNBJSON壓縮對比于其他3種經(jīng)典壓縮算法,不僅在數(shù)據(jù)壓縮率方面具有一定的優(yōu)勢,壓縮時(shí)間也得到了充分保證,在縮減邊緣側(cè)電力數(shù)據(jù)的同時(shí),減少了數(shù)據(jù)在邊緣側(cè)傳輸時(shí)的排隊(duì)時(shí)間,從而緩解了邊云間通信時(shí)延。

      3.3 自適應(yīng)更新測試

      選取與教室1數(shù)據(jù)源相似的應(yīng)用場景教室2作為測試對象,使用數(shù)據(jù)集中器采集電壓、電流、有功功率、頻率以及投影儀等多媒體設(shè)備的開關(guān)狀態(tài)。根據(jù)設(shè)計(jì)的分類器,教室2數(shù)據(jù)集中器將會被分類到教室1所屬的大類中,并獲取教室1的壓縮字典作為初始壓縮字典。以數(shù)據(jù)量為橫軸,每隔300條數(shù)據(jù)計(jì)算一次壓縮率,繪制的教室1與教室2數(shù)據(jù)壓縮率變化趨勢如圖6所示。

      圖6 壓縮字典自適應(yīng)更新壓縮效果圖

      圖6中,教室1的壓縮字典在教室1數(shù)據(jù)集中器中表現(xiàn)良好,壓縮率基本恒定在76.9%左右。但在教室2數(shù)據(jù)集中器中,初始壓縮率低于期望值,僅為58%左右,此時(shí)云端服務(wù)器根據(jù)教室1數(shù)據(jù)鏡像生成教室2數(shù)據(jù)集中器鏡像,并接收教室2實(shí)時(shí)數(shù)據(jù)進(jìn)行壓縮字典更新,經(jīng)過600條實(shí)時(shí)數(shù)據(jù)的訓(xùn)練后,壓縮率為76.9%左右,滿足數(shù)據(jù)壓縮要求。測試結(jié)果說明HNBJSON算法兼容性與擴(kuò)展性強(qiáng),新接入設(shè)備可以繼承同類設(shè)備壓縮字典,具有良好的自適應(yīng)更新能力。

      4 結(jié)束語

      本文針對物聯(lián)網(wǎng)中的 JSON數(shù)據(jù),提出了HNBJSON壓縮算法,并將其應(yīng)用于某高校教學(xué)場景用電監(jiān)測。該算法采用邊云協(xié)同的思想,在云端建立壓縮字典,然后分發(fā)至數(shù)據(jù)集中器,有效降低了邊緣側(cè)計(jì)算壓力。采用先分類再編碼的方式創(chuàng)建多個(gè)壓縮字典,減少了查表時(shí)長,縮短了壓縮時(shí)間,緩解通信時(shí)延問題。經(jīng)實(shí)驗(yàn)測試,該系統(tǒng)面對復(fù)雜情況時(shí)具有自適應(yīng)能力強(qiáng)、壓縮效果優(yōu)良的優(yōu)點(diǎn),具有廣闊的應(yīng)用前景。

      猜你喜歡
      集中器壓縮率字典
      開心字典
      家教世界(2023年28期)2023-11-14 10:13:50
      開心字典
      家教世界(2023年25期)2023-10-09 02:11:56
      水密封連接器尾部接電纜的優(yōu)化設(shè)計(jì)
      纏繞墊片產(chǎn)品質(zhì)量控制研究
      談低壓集中器及表計(jì)在線故障快速排查方法
      電子制作(2017年8期)2017-06-05 09:36:15
      集中器常見死機(jī)原因分析及解決方法探究
      電子制作(2017年4期)2017-04-21 12:06:14
      多載波通信系統(tǒng)中CQI無損壓縮法研究
      分布式多視點(diǎn)視頻編碼在應(yīng)急通信中的應(yīng)用
      我是小字典
      正版字典
      讀者(2016年14期)2016-06-29 17:25:50
      嘉定区| 怀远县| 宁城县| 蛟河市| 玉环县| 宝兴县| 柳州市| 景洪市| 江川县| 洛川县| 图木舒克市| 兴海县| 仁布县| 宝鸡市| 平罗县| 堆龙德庆县| 曲松县| 钟山县| 昭苏县| 鸡泽县| 环江| 曲阜市| 沾益县| 吴川市| 宾川县| 晴隆县| 文登市| 韩城市| 神池县| 泗阳县| 健康| 英德市| 民权县| 遂昌县| 托里县| 涿州市| 岑溪市| 井冈山市| 云林县| 闵行区| 上虞市|