胡濤 王前慧 鄧小紅 劉明鳴 鄭敏
摘? 要: 對邊緣設備接入技術(shù)的相關內(nèi)容進行了研究。分析了云計算和邊緣計算的區(qū)別,以及云計算接入和邊緣計算接入面臨的問題。提出了一種基于規(guī)則式協(xié)議轉(zhuǎn)換引擎的統(tǒng)一虛擬設備接入管理框架,闡述了這種設備接入框架的設計思路、組成部分和實現(xiàn)方案的關鍵步驟。經(jīng)實驗驗證,該框架能廣泛兼容和支持各種協(xié)議的智能設備的接入。
關鍵詞: 邊緣計算; 邊緣設備; 接入管理; 協(xié)議轉(zhuǎn)換
中圖分類號:TP399? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)03-07-03
Research on edge device access technology
Hu Tao, Wang Qianhui, Deng Xiahong, Liu Mingming, Zheng Min
(Sichuan Changhong Electric Appliance Co. LTD, Mianyang, Sichuan 621000, China)
Abstract: In this paper, the edge device access technology is studied. The difference between cloud computing and edge computing is analyzed, as well as the problems faced by cloud computing access and edge computing access. A unified virtual device access management framework with rule-based protocol conversion engine is proposed, and the design idea, components and key steps of the implementation of this framework are described. The experiment verification shows that the framework is widely compatible with and supports the access of the intelligent devices with various protocols.
Key words: edge computing; edge device; access management; protocol conversion
0 引言
隨著全球數(shù)字化浪潮的到來,5G、AI、大數(shù)據(jù)等新技術(shù)不斷涌現(xiàn),邊緣計算[1]成為新時代改變通信信息服務模式的關鍵創(chuàng)新技術(shù)之一。現(xiàn)有“云管端”物聯(lián)網(wǎng)模型[2]下構(gòu)建的系統(tǒng),設備間的互聯(lián)互通[3]主要通過云網(wǎng)關進行匯聚后,在云設備管理中心實現(xiàn)。在面臨海量設備類型和連接數(shù)量增長時,存在數(shù)據(jù)中心、系統(tǒng)擴充實施成本不斷增長、用戶數(shù)據(jù)隱私泄露[4]等諸多問題。利用邊緣計算的模式,系統(tǒng)可以直接將數(shù)據(jù)處理邏輯推送至系統(tǒng)內(nèi)部設施,能有效減少數(shù)據(jù)的外流,減少從外部接收指令的頻率,提升系統(tǒng)的隱私性和安全性,并能夠顯著提升系統(tǒng)響應效率。邊緣計算關鍵技術(shù)在于邊緣設備的接入,邊緣設備的接入涉及設備的種類繁多,技術(shù)復雜,因此,邊緣設備接入技術(shù)具有巨大的發(fā)展和提升的空間。
1 邊緣設備接入面臨的問題
由于設備的種類和數(shù)量不斷增加,這些設備相互之間異構(gòu),開發(fā)成本高;設備接入領域缺乏統(tǒng)一的技術(shù)標準和協(xié)作平臺,各大產(chǎn)品商的產(chǎn)品不能相互適配;設備存在計算、存儲和通信等資源受限問題,需要考慮降低功率消耗;同時,接入設備的安全和隱私也是物聯(lián)網(wǎng)安全的前提和保障。因此成本問題、標準化問題、功耗問題和安全問題[5]是邊緣計算接入和云計算接入所面臨的共同問題。
同時,傳統(tǒng)的“云管端”物聯(lián)網(wǎng)模型由于大規(guī)模的設備接入,如超過百萬級的并發(fā)設備接入,需要面臨高并發(fā)量的巨大挑戰(zhàn)。相較于云計算的集中式管理,邊緣計算的設備接入數(shù)量較少,系統(tǒng)相對穩(wěn)定,但是設備種類繁多[6],這就要求邊緣設備接入需要滿足多樣性的需求。
在多樣性接入格局下,接入設備種類和協(xié)議規(guī)范的格式多種多樣。①傳統(tǒng)的物聯(lián)網(wǎng)關接入方式,采取直接針對協(xié)議進行定向?qū)拥哪J?,針對一個協(xié)議,寫一個協(xié)議轉(zhuǎn)換器,其要求網(wǎng)關在發(fā)布時必須已經(jīng)完成對設備的協(xié)議支持,增加新的設備協(xié)議,需要對網(wǎng)關進行重新開發(fā),編程實現(xiàn)協(xié)議的轉(zhuǎn)換,因此支持新設備協(xié)議的網(wǎng)關開發(fā)比較復雜。②同時,隨著智能設備的增加,越來越多的智能設備作為邊緣網(wǎng)關,當需要接入新的設備協(xié)議時,需要對每個網(wǎng)關進行編程,即對已經(jīng)發(fā)布的網(wǎng)關通過程序進行升級,使其具備對新的設備協(xié)議接入的支持能力。③一些邊緣系統(tǒng)廠商嘗試采用JavaScript或Lua等開發(fā)語言作為載體,通過遠程推送的方式,使得網(wǎng)關發(fā)布后能具備對新的設備協(xié)議接入的支持能力,其新協(xié)議開發(fā)、測試周期較長以及協(xié)議轉(zhuǎn)換引擎較為復雜。
2 邊緣設備接入框架
介于上述所提出的問題,我們提出了一種統(tǒng)一虛擬設備接入管理框架,通過對各種格式協(xié)議的處理過程進行了抽象、形成了一種基于規(guī)則式的通用協(xié)議轉(zhuǎn)換引擎、網(wǎng)絡通道管理器和虛擬設備管理器。
如圖1所示,該框架由協(xié)議轉(zhuǎn)換引擎、網(wǎng)絡通道管理以及虛擬設備管理三個部分組成。
2.1 協(xié)議轉(zhuǎn)換引擎
協(xié)議轉(zhuǎn)換模塊負責將各設備間通信的字節(jié)流數(shù)據(jù)與系統(tǒng)傳輸數(shù)據(jù)進行相互轉(zhuǎn)化。由于JSON語言靈活簡單、可讀性強、且傳輸過程占用帶寬較小等特點,本文采用JSON作為系統(tǒng)內(nèi)部數(shù)據(jù)傳輸結(jié)構(gòu)。轉(zhuǎn)化過程中存在的映射關系使用自定義的規(guī)則文件進行描述,在編解碼時根據(jù)規(guī)則文件描述的映射關系進行編解碼,通用協(xié)議轉(zhuǎn)換引擎結(jié)構(gòu)如圖2所示。
其中,規(guī)則文件,采用可遞歸描述結(jié)構(gòu),對任意結(jié)構(gòu)的字節(jié)流數(shù)據(jù)消息形成通用性復雜結(jié)構(gòu)向?qū)哟螖?shù)據(jù)結(jié)構(gòu)的映射、使得數(shù)據(jù)可被通用的消息處理后端程序?qū)ο⑦M行結(jié)構(gòu)無關的數(shù)據(jù)訪問。協(xié)議轉(zhuǎn)換引擎包括規(guī)則式文件解析引擎、協(xié)議消息轉(zhuǎn)換器,規(guī)則式文件解析引擎用于解析從規(guī)則式文件服務器獲取到的規(guī)則式文件;協(xié)議消息轉(zhuǎn)換器用于構(gòu)建協(xié)議轉(zhuǎn)換規(guī)則結(jié)構(gòu)和計算方法,并定義各消息的編解碼數(shù)據(jù)處理、計算邏輯和規(guī)則的結(jié)構(gòu),協(xié)議消息轉(zhuǎn)換器包括解碼和編碼過程;解碼包括轉(zhuǎn)義、字節(jié)解碼、校驗和生成消息,編碼包括消息預處理、字段編碼、校驗碼和轉(zhuǎn)義等過程。
2.2 網(wǎng)絡通道管理器
網(wǎng)絡通道主要為每種設備的協(xié)議提供相對應的通道,將不同設備上傳的數(shù)據(jù)發(fā)送至上層。通過協(xié)議轉(zhuǎn)換引擎模塊轉(zhuǎn)化成的JSON數(shù)據(jù)將交給該協(xié)議對應的網(wǎng)絡通道,再由通道發(fā)送至上層模塊;同樣的,上層下發(fā)的JSON數(shù)據(jù)將根據(jù)需要發(fā)送的設備類型,分配給對應的通道,然后通道再交給對應的通用協(xié)議轉(zhuǎn)換引擎模塊轉(zhuǎn)化成字節(jié)流,最后發(fā)送給設備端。
2.3 虛擬設備管理器
為了簡化上層對設備發(fā)送數(shù)據(jù)的過程,需提供透明的、統(tǒng)一的設備管理服務,因此,需要將設備的物理特性封裝起來,主要使用特定的數(shù)據(jù)結(jié)構(gòu)對設備進行描述,記錄設備的物理硬件信息,這樣,當上層對設備發(fā)送數(shù)據(jù)時,也不需要關心具體的設備MAC地址等相關信息。
本框架的改進和創(chuàng)新性在于:
⑴ 當新增設備協(xié)議時,手動編輯生成與新增設備協(xié)議相對應的規(guī)則配置文件,并將其保存在邊緣控制端和云端,然后通過協(xié)議轉(zhuǎn)換引擎加載規(guī)則文件,將設備的消息文件轉(zhuǎn)換成系統(tǒng)需要的格式文件,即可完成設備的連接,新增設備協(xié)議時,只需要對規(guī)則配置文件進行修改即可,而不需要對網(wǎng)關重新進行編程開發(fā);
⑵ 同時,當針對一個新的設備協(xié)議編輯生成規(guī)則配置文件后,其他安裝有協(xié)議裝換引擎的網(wǎng)關設備均可以通過加載規(guī)則配置文件,而實現(xiàn)與新增設備的連接,而不需要對所有網(wǎng)關進行編程遠程推送升級。
3 實驗驗證
基于規(guī)則式協(xié)議轉(zhuǎn)換引擎的統(tǒng)一虛擬設備接入管理框架,以上行為例,主要分為以下步驟。
步驟1:首先根據(jù)設備協(xié)議,編輯生成其對應的協(xié)議轉(zhuǎn)換規(guī)則配置文件,并保存在云端和邊緣端。
步驟2:規(guī)則式文件解析引擎加載,并解析協(xié)議轉(zhuǎn)換規(guī)則配置文件。
步驟3:消息轉(zhuǎn)化器將設備消息的字節(jié)流文件轉(zhuǎn)化成系統(tǒng)需要的JSON格式文件。
步驟4:網(wǎng)絡通道管理器為每種設備的協(xié)議提供相對應的通道。
步驟5:虛擬設備管理將設備的物理特性封裝起來,使用特定的數(shù)據(jù)結(jié)構(gòu)對設備進行描述,記錄設備的物理硬件信息。
基于本文提出的統(tǒng)一虛擬設備接入管理框架,已經(jīng)使用C/C++語音開發(fā)出系統(tǒng)框架,能同時接入了BLE Mesh、Zigbee3.0等網(wǎng)絡,并對應用消息進行統(tǒng)一轉(zhuǎn)換,實現(xiàn)了對接入設備的統(tǒng)一管理。
以藍牙協(xié)議為例,先針對藍牙協(xié)議生成一個規(guī)則配置文件,然后通過協(xié)議轉(zhuǎn)換引擎將藍牙設備的字節(jié)流文件轉(zhuǎn)換成邊緣控制系統(tǒng)需要的JSON格式文件,實現(xiàn)藍牙設備和控制系統(tǒng)的連接,圖3給出的分別是藍牙設備的字節(jié)流文件和通過轉(zhuǎn)換引擎轉(zhuǎn)化成系統(tǒng)需要的JSON格式文件。
如圖4、圖5所示,通過使用本文提出的框架實現(xiàn)了對設備的接入,通過手機實現(xiàn)了對藍牙協(xié)議的智能燈和ZigBee協(xié)議的智能開關的控制。
圖6是網(wǎng)關設備,系統(tǒng)框架在樹莓派、安卓TV、Linux虛擬機等系統(tǒng)平臺上皆可運行,支持多種ZigBee設備和藍牙設備的接入,包括智能燈、智能開關、智能插座、門窗/門禁傳感器、智能安防設備等,并且系統(tǒng)運行穩(wěn)定。
4 結(jié)束語
本文提出了一種統(tǒng)一虛擬設備管理框架,通過對各種格式協(xié)議的處理過程進行抽象,形成了一種基于規(guī)則式協(xié)議轉(zhuǎn)換引擎的統(tǒng)一虛擬設備接入管理框架,該框架可以廣泛兼容各種協(xié)議、支持不同消息格式的邊緣設備接入,通過實驗驗證了該框架的可行性。該框架完成了邊緣網(wǎng)關對邊緣設備的連接,關于框架性能的優(yōu)化,以及規(guī)則文件生成方式的優(yōu)化將在后續(xù)的工作中進行研究。
參考文獻(References):
[1] Shi Weisong,CaoJie,ZhangQuan,et al. Edge Computing:Vision and challenges[J].IEEE Internet of Things Journal,2016.3(5):637-646
[2] 張子木.物聯(lián)網(wǎng)接入技術(shù)研究與系統(tǒng)設計[J].電子設計工程,2016.24(2):157-160
[3] 傅仁軒.智能工廠設備互聯(lián)的通信系統(tǒng)設計[J].工業(yè)控制計算機,2020.33(8):13-15
[4] 施巍,松孫輝,曹杰等.邊緣計算:萬物互聯(lián)時代新型計算模型[J].計算機研究與發(fā)展,2017.54(5):907-924
[5] 王書龍.物聯(lián)網(wǎng)接入系統(tǒng)架構(gòu)及關鍵技術(shù)研究[D].北京工業(yè)大學,2017.
[6] 王學.藍牙Mesh在物聯(lián)網(wǎng)中的應用[J].科技智囊, 2020.7:66-68