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