單玉東
(青島市技師學(xué)院 山東 青島 266229)
數(shù)據(jù)共享平臺可以實現(xiàn)用戶、應(yīng)用系統(tǒng)以及整個業(yè)務(wù)流程中間的協(xié)同合作以及信息共享[1-2]。因此,這就要求數(shù)據(jù)共享平臺不僅具有智能化查詢與檢索數(shù)據(jù)信息的功能,還應(yīng)該包括挖掘數(shù)據(jù)信息以及重組信息的功能。對于物聯(lián)網(wǎng)而言,物聯(lián)網(wǎng)的主要特點是在海量終端生成大量數(shù)據(jù)[3],由于物聯(lián)網(wǎng)數(shù)據(jù)具有數(shù)據(jù)規(guī)模大、結(jié)構(gòu)化強以及時序性等特征[4],因此設(shè)計物聯(lián)網(wǎng)數(shù)據(jù)共享平臺時應(yīng)考慮物聯(lián)網(wǎng)數(shù)據(jù)的自身特點,進行多層次平臺構(gòu)建。區(qū)塊鏈可以被視作一個共享數(shù)據(jù)庫,存儲于其中的數(shù)據(jù)或信息具有高效采集、不可偽造、身份認(rèn)證、信息追溯、數(shù)據(jù)共享和公開透明等特征。作為鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈各節(jié)點的數(shù)據(jù)塊會依照時間順序進行排列,確保數(shù)據(jù)共享的時效性。同時,區(qū)塊鏈的數(shù)據(jù)可溯源且不可篡改的特點,能夠有效確保共享數(shù)據(jù)存儲的安全性。將區(qū)塊鏈技術(shù)架構(gòu)作為數(shù)據(jù)共享平臺的底層架構(gòu)支持,可以實現(xiàn)無需信任的點對點協(xié)作和交易,為數(shù)據(jù)共享提供了良好的技術(shù)支持[5-6]?;诖耍疚脑O(shè)計了一種基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享平臺,利用區(qū)塊鏈的多層結(jié)構(gòu)確保海量物聯(lián)網(wǎng)數(shù)據(jù)可以得到較好的共享效果。
依據(jù)物聯(lián)網(wǎng)數(shù)據(jù)共享過程構(gòu)建區(qū)塊鏈技術(shù)下的物聯(lián)網(wǎng)數(shù)據(jù)共享平臺,整體的物聯(lián)網(wǎng)數(shù)據(jù)共享過程為:(1)物聯(lián)網(wǎng)數(shù)據(jù)采集。收集物聯(lián)網(wǎng)內(nèi)資源數(shù)據(jù),對數(shù)據(jù)進行實時更新處理后存儲到特定的數(shù)據(jù)庫中;初始化用戶的身份信息和消息認(rèn)證參數(shù),并向客戶端下發(fā)相關(guān)認(rèn)證參數(shù)。(2)身份認(rèn)證與訪問控制。當(dāng)客戶端獲取物聯(lián)網(wǎng)感知數(shù)據(jù)后,通過提取數(shù)據(jù)的標(biāo)簽屬性特征,經(jīng)過身份認(rèn)證與簽名認(rèn)證等處理后,將數(shù)據(jù)回傳至服務(wù)器中[7-8]。(3)數(shù)據(jù)共享的實現(xiàn)。服務(wù)器收到回傳數(shù)據(jù)后,利用服務(wù)管理智能合約進行數(shù)據(jù)查詢,結(jié)合區(qū)塊鏈技術(shù)查詢到所需的存儲于數(shù)據(jù)庫內(nèi)的目標(biāo)數(shù)據(jù),實現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)共享。
以物聯(lián)網(wǎng)數(shù)據(jù)共享為基礎(chǔ),利用區(qū)塊鏈技術(shù),將物聯(lián)網(wǎng)數(shù)據(jù)共享平臺分為4個層級(圖1),即數(shù)據(jù)采集、更新和存儲的數(shù)據(jù)層;射頻收發(fā)及RPC通信的網(wǎng)絡(luò)層;服務(wù)管理和交易的合約層;訪問、簽名、認(rèn)證的應(yīng)用層。其中,數(shù)據(jù)層和合約層是區(qū)塊鏈技術(shù)應(yīng)用中具有基礎(chǔ)性特征的數(shù)據(jù)層,有效提高數(shù)據(jù)共享平臺的數(shù)據(jù)處理能力;網(wǎng)絡(luò)層是共享數(shù)據(jù)高效傳輸必不可少的環(huán)節(jié),能夠提高物聯(lián)網(wǎng)數(shù)據(jù)共享平臺的數(shù)據(jù)加載能力;應(yīng)用層是確保數(shù)據(jù)可信、安全共享的層級,實現(xiàn)數(shù)據(jù)有效共享。
數(shù)據(jù)層主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)更新模塊和數(shù)據(jù)存儲模塊。在數(shù)據(jù)采集模塊中,配置的CPU核心控制模塊需具有高處理速度、低能耗以及高性價比的優(yōu)勢,因此選取了具有32位ARM7TDMI-S架構(gòu)的內(nèi)核,其在輸入和輸出中均可配置靈活接入的通用I/O口。同時,利用STC12C5A32AD單片機進行數(shù)據(jù)的模擬輸入,避免硬件上的直接連接,且該單片機內(nèi)置10位AD轉(zhuǎn)換器,具有處理速度快及價格低廉的優(yōu)勢。在數(shù)據(jù)更新模塊與數(shù)據(jù)存儲模塊中,主要使用的數(shù)據(jù)庫為MySQL數(shù)據(jù)庫進行存儲,該種數(shù)據(jù)庫主要用于中小型關(guān)系型數(shù)據(jù)的存儲與管理,該數(shù)據(jù)庫可以依據(jù)不同的用戶需求進行數(shù)據(jù)存儲,具有方便查詢的優(yōu)勢。在數(shù)據(jù)更新模塊中,主要使用UpdateInfo作為在線更新數(shù)據(jù)表,該表中存儲物聯(lián)網(wǎng)感知節(jié)點的ID號、節(jié)點端硬件配置以及操作系統(tǒng)類型的編碼信息、所運行的程序名稱以及需要更新的物聯(lián)網(wǎng)數(shù)據(jù)名稱、類型以及軟件的版本信息,同時可保存用戶登錄平臺的用戶名和密碼等用戶信息。
利用nrf24L01單片射頻收發(fā)器件作為網(wǎng)絡(luò)層的無線模塊,該型號信號收發(fā)器具的工作頻段為2.4~2.5 GHz,具有低功耗、傳輸距離較遠(yuǎn)的特點[9]。同時,該層配置區(qū)塊鏈RPC通信模塊,主要具有與區(qū)塊鏈節(jié)點的通信功能。RPC通信示意圖見圖2。
根據(jù)圖2可知,在注冊中心完成IP、端口和接口的服務(wù),優(yōu)化網(wǎng)絡(luò)層負(fù)載均衡。通過調(diào)用模塊、傳輸模塊和通信模塊,三者相互作用提升數(shù)據(jù)推送和服務(wù)共享效果。調(diào)用模塊通過對物聯(lián)網(wǎng)數(shù)據(jù)進行裝封,完成超時判斷、熔斷和限流,在資源庫中實現(xiàn)對共享數(shù)據(jù)的序列化處理。傳輸模塊通過協(xié)議編碼的形式完成數(shù)據(jù)格式轉(zhuǎn)換,通過可讀的格式協(xié)議編碼將數(shù)據(jù)存儲至信息庫,完成數(shù)據(jù)共享傳輸服務(wù)。通信模塊需要利用協(xié)議解碼的方式將信息庫的共享數(shù)據(jù)進行解碼網(wǎng)絡(luò)傳輸,在數(shù)據(jù)庫中生成具體化參數(shù)信息,為使用者提供集群化的數(shù)據(jù)服務(wù)。
服務(wù)管理模塊主要負(fù)責(zé)服務(wù)管理與服務(wù)上傳,其利用區(qū)塊鏈交互接口包括服務(wù)注冊接口、服務(wù)交易接口等。服務(wù)管理模塊還可以提供數(shù)據(jù)服務(wù)功能,包括物聯(lián)網(wǎng)數(shù)據(jù)瀏覽、數(shù)據(jù)查詢、數(shù)據(jù)下載、目標(biāo)數(shù)據(jù)挖掘等[10]。其中,數(shù)據(jù)查詢記錄本身是一種交易行為,每一次查詢記錄都會被記錄下來,永久保存在區(qū)塊鏈數(shù)據(jù)庫里。查詢記錄的哈希碼將一同被記錄,用于校驗查詢時間、查詢內(nèi)容等細(xì)節(jié)。
應(yīng)用層是底層區(qū)塊鏈模塊,包括身份認(rèn)證合約、訪問控制合約以及簽名認(rèn)證合約等。區(qū)塊鏈技術(shù)可以加密物聯(lián)網(wǎng)內(nèi)所有數(shù)據(jù),且每組數(shù)據(jù)均有單獨的解密密鑰。利用區(qū)塊鏈的非對稱加密對物聯(lián)網(wǎng)數(shù)據(jù)進行密鑰存儲,提高物聯(lián)網(wǎng)數(shù)據(jù)共享平臺安全性。應(yīng)用層在本質(zhì)上可理解為是由集合A= {A1,A2,A3,… ,Ai}構(gòu)成的網(wǎng)絡(luò)數(shù)據(jù)集,其中包含公鑰與私鑰兩種加密特性,可實現(xiàn)物聯(lián)網(wǎng)共享數(shù)據(jù)的加密性上傳與訪問,保證數(shù)據(jù)調(diào)用、數(shù)據(jù)傳輸和數(shù)據(jù)通信的安全性。在應(yīng)用層中,通過非對稱加密設(shè)置訪問控制,完成物聯(lián)網(wǎng)數(shù)據(jù)共享平臺的數(shù)字簽名?;诰W(wǎng)絡(luò)數(shù)據(jù)集A內(nèi)的不同特征類型共享數(shù)據(jù)生成訪問控制密鑰:
式中,P為公鑰,I為私鑰,γ為數(shù)據(jù)節(jié)點特征元素,v為數(shù)據(jù)鏈路速率。數(shù)據(jù)集A中的數(shù)據(jù)完成公鑰和私鑰后,發(fā)送公鑰至訪問請求數(shù)據(jù)節(jié)點,用以后續(xù)提取共享數(shù)據(jù)時使用。加密后的數(shù)據(jù)集A根據(jù)合約層的數(shù)據(jù)查詢記錄,對具體的共享數(shù)據(jù)Ai完成非對稱式加密。在應(yīng)用層中同意Ai通過公鑰實現(xiàn)數(shù)據(jù)傳輸通信。Ai可以通過建立數(shù)字簽名認(rèn)證不同數(shù)據(jù)接收者,確保共享數(shù)據(jù)的保密性。通過公式(2)構(gòu)建子簽名Hi:
式中,di為隨機數(shù),當(dāng)P和I的最大公約數(shù)[gcd (P,I)]為1時,則子簽名Hi的解密存在一定的時效。在此條件下,Ai完成物聯(lián)網(wǎng)數(shù)據(jù)共享平臺的密文通信設(shè)定。用私鑰加密共享數(shù)據(jù),利用數(shù)字簽名認(rèn)證完成隨機對稱加密。保密層通過對使用者的身份認(rèn)證,驗證不同訪問簽名的準(zhǔn)確性,若通過身份驗證即可在數(shù)據(jù)層、網(wǎng)絡(luò)層、合約層存儲訪問請求,實現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)共享的安全性。
物聯(lián)網(wǎng)數(shù)據(jù)具有實時性更新以及高并發(fā)請求的特點,因此以吞吐量、共享丟包率以及平均處理時間作為實驗指標(biāo)。選取ECS服務(wù)器用于性能測試,內(nèi)存為16 Gb,運行系統(tǒng)為Windows 7.0,CPU頻率為2.5 GHz。選擇了3個物聯(lián)網(wǎng)數(shù)據(jù)集分別標(biāo)號為數(shù)據(jù)集1、數(shù)據(jù)集2和數(shù)據(jù)集3,各數(shù)據(jù)集公開數(shù)據(jù)的占比分別為0.3,0.6和0.9,具體數(shù)據(jù)集信息見表1。
表1 3個數(shù)據(jù)集基本情況
隨機選取800個不同數(shù)據(jù)節(jié)點特征元素的物聯(lián)網(wǎng)數(shù)據(jù)作為測試對象,在平均處理時間為300 ms的設(shè)定下,通過模擬1 200次的數(shù)據(jù)共享請求,測試平臺吞吐量。測試結(jié)果見圖3。
對圖3中的吞吐量數(shù)據(jù)進行分析可知,隨著測試次數(shù)的增加吞吐量先增加后下降,在模擬請求次數(shù)為600次時趨于穩(wěn)定。這是因為,在前期的測試模擬請求過程中,需要通過密鑰加密和解密數(shù)據(jù)的交替轉(zhuǎn)換,所以在數(shù)據(jù)處理過程中產(chǎn)生了一定的數(shù)據(jù)能耗。通過200次的數(shù)據(jù)轉(zhuǎn)換完成了密鑰的設(shè)置全流程,所以吞吐量后續(xù)保持在穩(wěn)定的數(shù)值區(qū)間范圍內(nèi)。
共享丟包率可以有效反映平臺的數(shù)據(jù)共享效果。丟包率數(shù)值越小,則平臺共享效果越好,具體公式如下:
式中,E為測試中所丟失物聯(lián)網(wǎng)數(shù)據(jù)共享數(shù)量,Q為總體物聯(lián)網(wǎng)數(shù)據(jù)共享信息個數(shù)。
測試3個數(shù)據(jù)集的共享數(shù)據(jù)傳輸速度與收發(fā)數(shù)據(jù)量結(jié)果見表2。
表2 3個數(shù)據(jù)集的基本測試結(jié)果
結(jié)合表2數(shù)據(jù),可以看出本文所設(shè)計對不同數(shù)據(jù)集的傳輸速率與預(yù)期傳輸速率相差不大,滿足數(shù)據(jù)共享過程的通信傳輸需求。通過丟包率結(jié)果可以看出,本文所設(shè)計系統(tǒng)的丟包率較低,可滿足數(shù)據(jù)共享的實際需求。
通過迭代方式,驗證平臺的數(shù)據(jù)共享效率,對平均處理時間進行測試,平均處理時間越短,表明物聯(lián)網(wǎng)數(shù)據(jù)共享平臺數(shù)據(jù)處理效率越高,平均處理時間越長,表明物聯(lián)網(wǎng)數(shù)據(jù)共享平臺數(shù)據(jù)處理效率越低。測試結(jié)果見圖4。
根據(jù)圖4可知,由于在物聯(lián)網(wǎng)數(shù)據(jù)共享平臺設(shè)計中利用區(qū)塊鏈技術(shù),通過數(shù)據(jù)層、網(wǎng)絡(luò)層、合約層和應(yīng)用層對物聯(lián)網(wǎng)數(shù)據(jù)共享行為進行功能設(shè)定,提升了數(shù)據(jù)共享平均處理時間。因此,在多次迭代測試過程中,隨著迭代次數(shù)的增加,共享數(shù)據(jù)的平均處理時間在300 ms以下,由此表明物聯(lián)網(wǎng)數(shù)據(jù)共享平臺數(shù)據(jù)處理效率較高。
針對物聯(lián)網(wǎng)數(shù)據(jù)共享過程容易丟包且數(shù)據(jù)共享延時較長的問題,本文結(jié)合區(qū)塊鏈技術(shù)設(shè)計了物聯(lián)網(wǎng)數(shù)據(jù)共享平臺。實驗發(fā)現(xiàn)所設(shè)計平臺共享速度快、傳輸數(shù)據(jù)完整以及可以吞吐量較高的特點,表明所設(shè)計平臺可為物聯(lián)網(wǎng)數(shù)據(jù)共享提供一定的參考與借鑒。