[0126] S3:在物聯(lián)網(wǎng)設(shè)備中構(gòu)建數(shù)據(jù)緩存區(qū),臨時(shí)存儲(chǔ)物聯(lián)網(wǎng)設(shè)備收集的數(shù)據(jù),設(shè)定物聯(lián)網(wǎng)設(shè)備向邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸間隔時(shí)間以及上傳閾值,根據(jù)時(shí)間和上傳閾值判斷是否上傳數(shù)據(jù)。
[0127] 在物聯(lián)網(wǎng)設(shè)備中構(gòu)建數(shù)據(jù)緩存區(qū),臨時(shí)存儲(chǔ)物聯(lián)網(wǎng)設(shè)備收集的數(shù)據(jù),并制定數(shù)據(jù)傳輸策略。
[0128] 根據(jù)物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)采集頻率調(diào)度模型的輸出結(jié)果,動(dòng)態(tài)調(diào)整物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)采集頻率 。
[0129] 在物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)采集過(guò)程中,監(jiān)測(cè)緩存區(qū)的占用率 ,占用率 表示緩存區(qū)已用空間占總空間的比例。
[0130] 從物聯(lián)網(wǎng)設(shè)備的最優(yōu)通信策略 中提取數(shù)據(jù)傳輸間隔時(shí)長(zhǎng) 作為最優(yōu)數(shù)據(jù)上傳間隔,根據(jù)數(shù)據(jù)傳輸間隔時(shí)長(zhǎng) 設(shè)定物聯(lián)網(wǎng)設(shè)備上傳數(shù)據(jù)定時(shí)器。
[0131] 當(dāng)?shù)竭_(dá)物聯(lián)網(wǎng)設(shè)備上傳數(shù)據(jù)定時(shí)器預(yù)定時(shí)間時(shí),讀取物聯(lián)網(wǎng)設(shè)備當(dāng)前緩存區(qū)的存儲(chǔ)狀態(tài),計(jì)算當(dāng)前緩存區(qū)的占用率 ,設(shè)定緩存區(qū)的上傳閾值 。
[0132] 當(dāng)?shù)竭_(dá)預(yù)定時(shí)間時(shí),若計(jì)算出緩存區(qū)的占用率 大于或等于緩存區(qū)的上傳閾值時(shí),將物聯(lián)網(wǎng)設(shè)備的緩存區(qū)數(shù)據(jù)上傳到上級(jí)邊緣節(jié)點(diǎn);若計(jì)算出緩存區(qū)的占用率 小于緩存區(qū)的上傳閾值 時(shí),不將物聯(lián)網(wǎng)設(shè)備的緩存區(qū)數(shù)據(jù)上傳到上級(jí)邊緣節(jié)點(diǎn)。
[0133] 在物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)采集過(guò)程中,監(jiān)測(cè)緩存區(qū)的占用率 ,以小于數(shù)據(jù)傳輸間隔時(shí)長(zhǎng) 的周期 ,例如 ;計(jì)算緩存區(qū)的占用率 。
[0134] 設(shè)定緩存區(qū)占用率的上閾值 和下閾值 ,在物聯(lián)網(wǎng)設(shè)備向上級(jí)邊緣節(jié)點(diǎn)
上傳數(shù)據(jù)的間隙中檢測(cè)緩存區(qū)占用率,當(dāng)占用率大于上閾值 時(shí),觸發(fā)緩存區(qū)數(shù)據(jù)上傳,當(dāng)占用率小于下閾值 時(shí),觸發(fā)緩存區(qū)擴(kuò)容。
[0135] 當(dāng)緩存區(qū)的占用率 大于上閾值 時(shí),物聯(lián)網(wǎng)設(shè)備向邊緣節(jié)點(diǎn)發(fā)送數(shù)據(jù)傳輸指令,將緩存區(qū)內(nèi)的所有數(shù)據(jù)上傳至邊緣節(jié)點(diǎn),同時(shí)對(duì)緩存區(qū)進(jìn)行擴(kuò)容?,擴(kuò)容的緩存區(qū)大小計(jì)算公式為:
[0136]
[0137] 其中, 為擴(kuò)容前的緩存區(qū)大小, 為擴(kuò)容系數(shù),控制擴(kuò)容幅度。
[0138] 當(dāng)緩存區(qū)占用率 小于下閾值 時(shí),對(duì)緩存區(qū)進(jìn)行縮容,減小緩存區(qū)的存儲(chǔ)空間;縮容的緩存區(qū)大小 的計(jì)算公式為:
[0139]
[0140] 其中,為縮容系數(shù),控制縮容幅度。
[0141] 在緩存區(qū)的管理過(guò)程中,通過(guò)動(dòng)態(tài)調(diào)整數(shù)據(jù)采集頻率和緩存區(qū)大小,實(shí)現(xiàn)緩存區(qū)的自適應(yīng)管理,減少數(shù)據(jù)溢出和存儲(chǔ)空間浪費(fèi)的情況,同時(shí)通過(guò)設(shè)立緩存區(qū),減少物聯(lián)網(wǎng)設(shè)備向上級(jí)邊緣節(jié)點(diǎn)傳輸數(shù)據(jù)的次數(shù),從而達(dá)到節(jié)能的效果。
[0142] S4:對(duì)物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)在上傳前進(jìn)行加密和壓縮,通過(guò)5.5G網(wǎng)絡(luò)上傳到邊緣節(jié)點(diǎn)。
[0143] 對(duì)物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)進(jìn)行加密上傳,將物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)加密上傳到上級(jí)邊緣節(jié)點(diǎn)。
[0144] 設(shè)物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)為原始明文數(shù)據(jù) ,加密后的數(shù)據(jù)為密文 ,密鑰為 ;
加密過(guò)程可表示為: ;其中, 為加密函數(shù),接收明文數(shù)據(jù) 和密鑰 作為
輸入,生成密文 作為輸出。
[0145] 設(shè)計(jì)基于異或(XOR)運(yùn)算和置換(Permutation)操作的加密算法,流程如下:
[0146] 將明文數(shù)據(jù) 按字節(jié)劃分為若干明文塊,每個(gè)明文塊長(zhǎng)度為 個(gè)字節(jié),不足 個(gè)字節(jié)的部分用0填充;設(shè)劃分后的明文塊為 ;?。
[0147] 對(duì)于每一個(gè)明文塊 , ,為明文塊總數(shù),執(zhí)行以下步驟:
[0148] 步驟a:將 與密鑰 進(jìn)行按位異或(XOR)運(yùn)算,得到中間結(jié)果 :
;其中, 表示按位異或運(yùn)算。
[0149] 步驟b:對(duì) 進(jìn)行置換操作,得到置換結(jié)果 : ;其中, 為置換函
數(shù),將 的字節(jié)順序按照預(yù)定義的規(guī)則進(jìn)行重新排列。
[0150] 步驟c:?將置換結(jié)果 作為當(dāng)前明文塊的加密結(jié)果,即密文塊 : 。
[0151] 步驟d:將所有密文塊 拼接起來(lái),得到最終的密文 :
;其中,表示拼接操作。
[0152] 在數(shù)據(jù)上傳前,物聯(lián)網(wǎng)設(shè)備使用加密算法對(duì)明文數(shù)據(jù) 進(jìn)行加密,得到密文 ;并繼續(xù)對(duì)加密后的密文進(jìn)行壓縮。密鑰 通過(guò)密鑰交換協(xié)議(如ECDH)在設(shè)備和邊緣節(jié)點(diǎn)間協(xié)商生成。
[0153] 該加密算法的安全性基于以下幾點(diǎn):異或運(yùn)算具有良好的混淆特性,可以有效地隱藏明文的統(tǒng)計(jì)特征;置換操作可以打亂數(shù)據(jù)的順序,增加加密的擴(kuò)散性;密鑰 的定期更新可以防止密鑰泄露后對(duì)歷史數(shù)據(jù)的解密。
[0154] 對(duì)加密后的密文數(shù)據(jù)進(jìn)行壓縮,減少數(shù)據(jù)傳輸量,節(jié)約物聯(lián)網(wǎng)設(shè)備的能耗;設(shè)加密后的密文數(shù)據(jù)為 ,壓縮后的數(shù)據(jù)為 ,壓縮算法為 ;壓縮過(guò)程可表示為: ;其
中, 為壓縮函數(shù),接受密文 作為輸入,生成壓縮后的數(shù)據(jù) 作為輸出。
[0155] 設(shè)計(jì)基于字典編碼和游程編碼相結(jié)合的壓縮算法,流程如下:
[0156] 將密文 按字節(jié)劃分為若干密文塊,每個(gè)密文塊長(zhǎng)度為 個(gè)字節(jié);設(shè)劃分后的密文塊為 , 為密文塊總數(shù)。
[0157] 構(gòu)建一個(gè)初始字典 其中包含所有單個(gè)字節(jié)的編碼;對(duì)于每一個(gè)密文塊 ,,執(zhí)行以下步驟:
[0158] 在字典 中查找 的最長(zhǎng)匹配子串 ,將其對(duì)應(yīng)的編碼記為 ;