任德旺,周俊鵬,倪 鑫,李麗娜,李亞暉,李運喜
(1.航空工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068;2.機載彈載計算機航空科技重點實驗室,陜西 西安 710065)
隨著信息技術(shù)的快速發(fā)展,嵌入式裝備系統(tǒng)性能不斷提升與完善,人機協(xié)同作業(yè)、有人無人協(xié)同工作已逐漸普及,并以成為未來作業(yè)模式的主要形態(tài)[1],業(yè)務應用逐步向以數(shù)據(jù)密集、智能化、協(xié)同化為顯著特征的智能應用轉(zhuǎn)變,其實時性需求愈發(fā)嚴苛,對大數(shù)據(jù)訪問、共享、利用的需求,趨向于低時延、低CPU負載,例如,智能態(tài)勢認知應用需要及時獲取周遭環(huán)境多源、多維度感知數(shù)據(jù),運用人工智能技術(shù),準確認識、分析環(huán)境態(tài)勢[2-3];多源數(shù)據(jù)融合應用需要快速匯聚不同角度、不同維度的感知數(shù)據(jù),融合以獲取更有價值的信息[4];協(xié)同數(shù)據(jù)處理應用面向海量數(shù)據(jù)分析處理,多節(jié)點協(xié)同處理,加速信息轉(zhuǎn)換與生成[5-6]。顯然,實現(xiàn)“從數(shù)據(jù)到?jīng)Q策”的根本是智能數(shù)據(jù)融合與分析技術(shù),增強指揮控制系統(tǒng)的智能化數(shù)據(jù)處理能力是完成“從信息到指令”的前提[7]。然而,異構(gòu)數(shù)據(jù)之間難以共享,可將底層數(shù)據(jù)源以數(shù)據(jù)服務的形式提供給用戶[8],例如,基于數(shù)據(jù)服務構(gòu)建縣級國土資源“一張圖”綜合管理系統(tǒng),實現(xiàn)跨平臺的數(shù)據(jù)傳輸[9];基于B/S架構(gòu),設(shè)計動態(tài)數(shù)據(jù)服務發(fā)布引擎,解決數(shù)據(jù)模型的異構(gòu)性問題[10];基于微服務架構(gòu),設(shè)計數(shù)據(jù)服務框架,實現(xiàn)靈活的數(shù)據(jù)共享[11]。
在嵌入式裝備系統(tǒng)領(lǐng)域,既有結(jié)構(gòu)化的時序數(shù)據(jù)、又有非結(jié)構(gòu)化的圖像視頻數(shù)據(jù),整體呈現(xiàn)數(shù)據(jù)流量大、帶寬需求高的特征,分散的數(shù)據(jù)源和分布式的任務處理節(jié)點,構(gòu)成分布式數(shù)據(jù)網(wǎng)絡(luò),因此有效管理和利用大數(shù)據(jù)意義重大。在分布式數(shù)據(jù)網(wǎng)絡(luò)中[12],數(shù)據(jù)的“管”與“用”相輔相成,“管”促進數(shù)據(jù)的“用”,“用”增強數(shù)據(jù)的“管”。然而,有限存儲、計算、通信資源制約大數(shù)據(jù)的深度使用,具體表現(xiàn)為:(1)多源異構(gòu)的數(shù)據(jù)缺乏統(tǒng)一管理,數(shù)據(jù)標準不規(guī)范,數(shù)據(jù)模型定義不一致,導致數(shù)據(jù)使用困難;(2)業(yè)務應用之間的壁壘,使數(shù)據(jù)孤島現(xiàn)象突出,導致數(shù)據(jù)共享困難;(3)任務系統(tǒng)相互獨立,對數(shù)據(jù)處理時,存在重復處理與開發(fā);(4)數(shù)據(jù)源分散,計算資源受限,導致數(shù)據(jù)缺乏深度加工和利用。為此,本文研究基于邊緣緩存的數(shù)據(jù)服務共享技術(shù),探索以數(shù)據(jù)服務的形式支撐智能應用,以促進數(shù)據(jù)的流通與共享、數(shù)據(jù)價值的實現(xiàn)。具體而言,首先基于邊緣計算架構(gòu),設(shè)計數(shù)據(jù)加工和服務共享架構(gòu),支持數(shù)據(jù)的加工和數(shù)據(jù)服務的生產(chǎn);然后基于元數(shù)據(jù)管理,提出分布式數(shù)據(jù)服務管理調(diào)度方法,支持集中式調(diào)度與分布式調(diào)度相配合;最后為加速數(shù)據(jù)服務請求響應速度,提出數(shù)據(jù)服務共享方法,通過預先緩存數(shù)據(jù)服務和元數(shù)據(jù)目錄,提高數(shù)據(jù)服務檢索定位效率和數(shù)據(jù)服務請求響應效率。
在分布式數(shù)據(jù)網(wǎng)絡(luò)中,數(shù)據(jù)除了海量、多源、異構(gòu)的特性之外,數(shù)據(jù)源具有分散性,不僅增大數(shù)據(jù)管理的難度,而且影響數(shù)據(jù)的流通性和共享性。隨著邊緣計算概念在移動互聯(lián)網(wǎng)中的應用普及,帶來了諸多益處:緩解核心網(wǎng)絡(luò)通信壓力、降低云中心計算壓力、提升數(shù)據(jù)處理效率、增強用戶服務質(zhì)量等[13-14]。本文基于邊緣計算,面向分布式數(shù)據(jù)加工與數(shù)據(jù)服務共享,以近數(shù)據(jù)端的計算節(jié)點作為邊緣節(jié)點,構(gòu)建多邊緣節(jié)點協(xié)作的數(shù)據(jù)加工與數(shù)據(jù)服務共享架構(gòu)。
數(shù)據(jù)加工與數(shù)據(jù)服務共享架構(gòu)由嵌入式裝備系統(tǒng)中的感知終端、邊緣節(jié)點(含管理節(jié)點)、數(shù)據(jù)訪問節(jié)點組成,如圖1所示。
圖1 分布式數(shù)據(jù)加工與數(shù)據(jù)服務共享架構(gòu)
(1)感知終端:由嵌入式系統(tǒng)中的傳感設(shè)備構(gòu)成,負責采集、感知周遭環(huán)境的數(shù)據(jù),并實時回傳至最近的邊緣節(jié)點。
(2)邊緣節(jié)點:由嵌入式系統(tǒng)中的任務處理機構(gòu)成,負責將原始數(shù)據(jù)轉(zhuǎn)化、加工為數(shù)據(jù)產(chǎn)品,以提升數(shù)據(jù)的價值,是數(shù)據(jù)加工和數(shù)據(jù)服務管理調(diào)度的核心,具體負責數(shù)據(jù)匯聚與預處理、數(shù)據(jù)存儲與索引、數(shù)據(jù)加工、數(shù)據(jù)服務構(gòu)建與封裝、數(shù)據(jù)服務推送與共享;其中一個邊緣節(jié)點擔任數(shù)據(jù)服務監(jiān)管與調(diào)度職責;邊緣節(jié)點之間可以相互共享數(shù)據(jù)或推送數(shù)據(jù)服務產(chǎn)品。
(3)數(shù)據(jù)訪問節(jié)點:主要是顯控設(shè)備、任務系統(tǒng)等,負責數(shù)據(jù)服務的請求與訪問,是數(shù)據(jù)產(chǎn)品的消費方,以數(shù)據(jù)服務的形式促進業(yè)務應用的運行;訪問的數(shù)據(jù)服務包括邊緣節(jié)點推送的和通過邊緣節(jié)點請求的。
分布式數(shù)據(jù)網(wǎng)絡(luò)中,邊緣節(jié)點預處理原始感知數(shù)據(jù)之后進行統(tǒng)一管理,根據(jù)數(shù)據(jù)模型劃分數(shù)據(jù)分類主題、抽取數(shù)據(jù)標簽、采集元數(shù)據(jù)信息、構(gòu)建數(shù)據(jù)索引目錄,使數(shù)據(jù)標準化、規(guī)范化、統(tǒng)一化,進而為數(shù)據(jù)深度加工和數(shù)據(jù)服務共享提供數(shù)據(jù)支撐。數(shù)據(jù)加工過程如圖2所示。
圖2 數(shù)據(jù)加工流程與數(shù)據(jù)服務形態(tài)
(1)數(shù)據(jù)加工:輸入是不同的主題數(shù)據(jù),目標是貼合業(yè)務需求,輸出是更通用、更有價值的數(shù)據(jù)信息。數(shù)據(jù)加工處理分兩類:一類是整合不同主題的數(shù)據(jù),以數(shù)據(jù)集的形式提供給數(shù)據(jù)訪問節(jié)點;另一類是對數(shù)據(jù)進行進一步的計算處理,最終輸出是中間分析結(jié)果數(shù)據(jù)。主要的加工處理包括:①數(shù)據(jù)整合:根據(jù)業(yè)務應用需求,篩選、整合不同主題數(shù)據(jù)庫中的不同數(shù)據(jù)作為復合型數(shù)據(jù),為業(yè)務應用提供不同主題、不同類型數(shù)據(jù)整合生成的服務信息;②數(shù)據(jù)挖掘:基于機器學習方法,挖掘數(shù)據(jù)中包含的關(guān)聯(lián)關(guān)系,并形成知識規(guī)則;③數(shù)據(jù)預測:基于歷史數(shù)據(jù)和當前數(shù)據(jù),預測未來一段時間的狀態(tài)、變化趨勢等;④數(shù)據(jù)分析:根據(jù)應用需求,對數(shù)據(jù)進行一定程度的預先分析,如求取最大、最小、平均值等。
(2)數(shù)據(jù)服務:數(shù)據(jù)服務與業(yè)務應用之間是通過數(shù)據(jù)API(或數(shù)據(jù)服務接口)貫通,具體而言,數(shù)據(jù)服務的形態(tài)有兩種模式,如圖2所示:①經(jīng)過預處理后更加通用化的數(shù)據(jù)集,包括單一型主題數(shù)據(jù)集、復合型主題數(shù)據(jù)集;②預處理后通用化數(shù)據(jù)和業(yè)務應用的部分通用功能結(jié)合體,為業(yè)務應用提供的是中間分析結(jié)果數(shù)據(jù),例如規(guī)則知識、業(yè)務關(guān)聯(lián)結(jié)果數(shù)據(jù)、組合標簽結(jié)果數(shù)據(jù)、多維分析結(jié)果數(shù)據(jù)、預測結(jié)果數(shù)據(jù)等。
(3)業(yè)務應用:數(shù)據(jù)服務的對象是業(yè)務應用,業(yè)務應用趨向于智能化、協(xié)同化,具體包括:①數(shù)據(jù)智能:包括特征工程、特征選擇、模型訓練(深度學習、自然語言處理、時序預測、機器學習)、模型可視化、在線服務;②決策支持:通過對多維大數(shù)據(jù)的深度處理分析,轉(zhuǎn)化或提取為更有價值的信息,為決策提供支撐依據(jù);③數(shù)據(jù)協(xié)同:跨節(jié)點、跨任務的多維度、多角度、多層面數(shù)據(jù)全域協(xié)同,提供統(tǒng)一化的數(shù)據(jù)信息;④推薦服務:通過分析歷史記錄數(shù)據(jù),挖掘用戶興趣點,以匹配合適的產(chǎn)品;⑤數(shù)據(jù)可視化:以直觀的形式呈現(xiàn)數(shù)據(jù)的特征、變化趨勢等。
邊緣節(jié)點利用近數(shù)據(jù)處理計算的優(yōu)勢,承載數(shù)據(jù)加工、數(shù)據(jù)產(chǎn)品生產(chǎn)、數(shù)據(jù)服務調(diào)度等功能,加工的原材料輸入是數(shù)據(jù),輸出是數(shù)據(jù)服務產(chǎn)品,服務對象是業(yè)務應用[15]。基于邊緣計算架構(gòu),分布式數(shù)據(jù)加工與數(shù)據(jù)服務邏輯功能自底向上劃分為數(shù)據(jù)管理層、數(shù)據(jù)加工層、服務共享層、數(shù)據(jù)應用層,如圖3所示。
圖3 數(shù)據(jù)服務共享與管理邏輯功能
(1)數(shù)據(jù)管理:為加工提供原材料,為此,具體功能包括:①數(shù)據(jù)感知與匯聚:通過感知終端采集原始數(shù)據(jù),匯聚至邊緣節(jié)點,并進行預處理;②數(shù)據(jù)預處理:在保證數(shù)據(jù)準確、完整的前提下,將原始感知數(shù)據(jù)規(guī)范化、標準化,支撐異構(gòu)數(shù)據(jù)的統(tǒng)一管理;③數(shù)據(jù)存儲與索引:預處理后的數(shù)據(jù)存儲于本地邊緣節(jié)點,根據(jù)主題模型,確定數(shù)據(jù)目錄,結(jié)合數(shù)據(jù)的標簽,構(gòu)建全局索引結(jié)構(gòu),支持分布式邊緣節(jié)點之間檢索查詢。
(2)數(shù)據(jù)加工:將數(shù)據(jù)加工為更具有價值的服務產(chǎn)品,具體功能包括:①數(shù)據(jù)加工結(jié)合數(shù)據(jù)屬性特征,并承載業(yè)務應用的通用功能,從多維、多源的數(shù)據(jù)中發(fā)掘更有價值的服務信息,或?qū)⒍嘣串悩?gòu)數(shù)據(jù)轉(zhuǎn)化為可執(zhí)行信息,主要包括數(shù)據(jù)整合、挖掘、分析、預測等;②數(shù)據(jù)服務構(gòu)建:抽取數(shù)據(jù)產(chǎn)品的屬性、功能、特征描述,構(gòu)建數(shù)據(jù)產(chǎn)品的元數(shù)據(jù),并以此作為數(shù)據(jù)服務的唯一標識,數(shù)據(jù)服務的標識備份至邊緣管理節(jié)點;③數(shù)據(jù)服務封裝:將數(shù)據(jù)服務封裝為標準化的服務接口,以方便數(shù)據(jù)產(chǎn)品的推送與共享。
(3)服務共享:調(diào)度、管理數(shù)據(jù)服務產(chǎn)品,并匹配數(shù)據(jù)服務與業(yè)務應用,具體功能包括:①數(shù)據(jù)服務注冊:數(shù)據(jù)服務構(gòu)建封裝后,其元數(shù)據(jù)信息備份至管理節(jié)點,以此注冊認證數(shù)據(jù)服務的合法性;②數(shù)據(jù)服務調(diào)度管理:管理全域的數(shù)據(jù)服務產(chǎn)品,構(gòu)建數(shù)據(jù)服務產(chǎn)品索引目錄,使數(shù)據(jù)服務請求、數(shù)據(jù)服務、邊緣節(jié)點之間一一映射;③數(shù)據(jù)服務定位:根據(jù)索引目錄,檢索定位數(shù)據(jù)服務的位置,并調(diào)度數(shù)據(jù)服務請求至對應的邊緣節(jié)點;④數(shù)據(jù)服務推送共享:根據(jù)歷史訪問記錄,主動向訪問節(jié)點推動數(shù)據(jù)服務產(chǎn)品,并支持分布式邊緣節(jié)點之間的服務共享。
(4)數(shù)據(jù)應用:數(shù)據(jù)應用作為數(shù)據(jù)服務產(chǎn)品消費方,具體功能包括:①數(shù)據(jù)服務訪問:獲取數(shù)據(jù)服務產(chǎn)品,包括主動數(shù)據(jù)服務訪問和被動數(shù)據(jù)服務推送;②數(shù)據(jù)服務應用:數(shù)據(jù)服務產(chǎn)品應用于具體的業(yè)務應用。
基于分布式數(shù)據(jù)加工與服務共享架構(gòu),邊緣節(jié)點將多源異構(gòu)數(shù)據(jù)加工、生產(chǎn)為數(shù)據(jù)服務產(chǎn)品;同時,利用多邊緣節(jié)點協(xié)作,實現(xiàn)數(shù)據(jù)服務產(chǎn)品的管理與服務請求的調(diào)度,以解耦數(shù)據(jù)加工與服務管理,即分布式加工與集中式管理相配合。
元數(shù)據(jù)信息用于描述、定位、識別對應的數(shù)據(jù)服務產(chǎn)品,元數(shù)據(jù)結(jié)構(gòu)如圖4所示,以鍵值對形式管理,其中數(shù)據(jù)服務標識符作為Key、數(shù)據(jù)服務主要屬性組合作為Value,其結(jié)構(gòu)如下:(1)標識符:唯一標識相應的元數(shù)據(jù),通過標識符可以定位對應的數(shù)據(jù)服務;(2)類別:表明數(shù)據(jù)服務的形態(tài),即主題數(shù)據(jù)集形式、中間計算結(jié)果形式;(3)屬性描述:描述數(shù)據(jù)服務的屬性,包括數(shù)據(jù)來源、數(shù)據(jù)是否在線等信息;(4)邊緣節(jié)點編號:記錄提供數(shù)據(jù)服務的節(jié)點編號;(5)訪問控制策略:定義數(shù)據(jù)服務的關(guān)鍵等級,以及對應級別的訪問權(quán)限控制。
圖4 數(shù)據(jù)服務管理與調(diào)度示意圖
邊緣節(jié)點生產(chǎn)數(shù)據(jù)服務產(chǎn)品,按照元數(shù)據(jù)格式抽取相應的元數(shù)據(jù)信息,并實時備份至管理節(jié)點,管理節(jié)點收集、管理全局數(shù)據(jù)服務產(chǎn)品的元數(shù)據(jù)信息。如圖4所示,元數(shù)據(jù)構(gòu)建元數(shù)據(jù)與數(shù)據(jù)服務、數(shù)據(jù)服務與邊緣節(jié)點之間的映射關(guān)系,基于哈希表,維護元數(shù)據(jù)標識符與元數(shù)據(jù)之間的映射關(guān)系、快速定位元數(shù)據(jù)的位置[16]。對于元數(shù)據(jù)寫入操作,哈希表使用哈希函數(shù)將哈希值計算到存儲桶,從中可以找到寫入位置,利用哈希沖突算法(如鏈地址法、線性探測法 )解決沖突;對于元數(shù)據(jù)讀取操作,哈希表對鍵進行哈希操作,所得到的哈希值便指向其對應值的存儲位置。對于服務訪問節(jié)點的服務請求,響應過程如圖4所示,首先通過解析請求、提取元數(shù)據(jù)標識符,基于哈希表搜尋元數(shù)據(jù)信息;然后通過元數(shù)據(jù)確定數(shù)據(jù)服務對應的邊緣節(jié)點,并將請求重定向至對應的邊緣節(jié)點;最后邊緣節(jié)點向訪問節(jié)點提供請求的數(shù)據(jù)服務。
在分布式邊緣網(wǎng)絡(luò)架構(gòu)中,邊緣管理節(jié)點主要負責數(shù)據(jù)服務的元數(shù)據(jù)信息管理、服務請求與數(shù)據(jù)服務之間的動態(tài)映射,其作用不言而喻,邊緣管理節(jié)點的選擇需要兼顧邊緣節(jié)點服務負載和節(jié)點推薦率兩方面的屬性:(1)服務負載以邊緣節(jié)點在規(guī)定時間段內(nèi)CPU占用比衡量;(2)邊緣節(jié)點推薦率指邊緣節(jié)點的推薦得票率,即每個邊緣節(jié)點生成全局節(jié)點的推薦得分,邊緣管理節(jié)點匯總、計算、生成每個節(jié)點的推薦得票率。因此,本文設(shè)計兩階段法選擇、確定邊緣管理節(jié)點:(1)當前邊緣管理節(jié)點要根據(jù)全域節(jié)點的推薦率確定候選管理節(jié)點集;(2)從候選節(jié)點集中按照服務負載高低確定新的邊緣管理節(jié)點;(3)新舊管理節(jié)點更替,即數(shù)據(jù)服務元數(shù)據(jù)信息從舊邊緣管理節(jié)點遷移至新邊緣管理節(jié)點,舊邊緣管理節(jié)點向全局所有邊緣節(jié)點發(fā)送新、舊邊緣管理節(jié)點更替通知消息。
分布式邊緣網(wǎng)絡(luò)中數(shù)據(jù)服務的共享模式為“請求-響應”方式,數(shù)據(jù)服務消費者為服務訪問節(jié)點,數(shù)據(jù)服務消費者為邊緣節(jié)點,在分布式網(wǎng)絡(luò)中,邊緣節(jié)點的服務負載動態(tài)變化、訪問節(jié)點的服務請求難以提前預測[17],因此如何將服務請求匹配定位至合適的邊緣節(jié)點是數(shù)據(jù)服務共享中的關(guān)鍵問題,該問題分為服務節(jié)點的定位選擇子問題、數(shù)據(jù)服務的響應子問題。為此,本文提出基于預先緩存的數(shù)據(jù)服務共享技術(shù)解決上述兩個子問題,即在服務訪問節(jié)點預先緩存數(shù)據(jù)服務的元數(shù)據(jù)信息、在邊緣節(jié)點預先緩存完成加工的數(shù)據(jù)服務產(chǎn)品,以加速數(shù)據(jù)服務共享。
數(shù)據(jù)服務請求的調(diào)度有兩種方式:(1)集中式調(diào)度方式:邊緣管理節(jié)點調(diào)度所有服務訪問節(jié)點的服務訪問請求,包括服務請求解析、數(shù)據(jù)服務檢索查詢、服務請求重定向,請求調(diào)度與服務響應流程如圖5中虛線所示;(2)分布式調(diào)度方式:數(shù)據(jù)服務元數(shù)據(jù)信息表分發(fā)至訪問節(jié)點,訪問節(jié)點據(jù)此檢索數(shù)據(jù)服務,請求調(diào)度與服務響應如圖5中實線所示。顯然,集中式調(diào)度方式容易造成管理節(jié)點的負載過重,影響服務請求響應時延和服務質(zhì)量;分布式調(diào)度方式容易造成元數(shù)據(jù)信息更新不及時、不一致的問題,且需要頻繁執(zhí)行更新操作。為此,本文利用集中式與分布式的優(yōu)勢,將最新的數(shù)據(jù)服務元數(shù)據(jù)信息集合分發(fā)至每個訪問節(jié)點,使得訪問節(jié)點本地檢索、直接訪問相應的邊緣節(jié)點;新增加的元數(shù)據(jù)信息依然備份在邊緣管理節(jié)點,服務請求經(jīng)管理節(jié)點重定向至對應的邊緣節(jié)點;訪問節(jié)點緩存的元數(shù)據(jù)信息周期性更新。這樣不僅可以緩解管理節(jié)點的壓力,而且可以提高服務檢索定位的效率,同時盡最大可能維護元數(shù)據(jù)信息的一致性。
圖5 數(shù)據(jù)服務請求調(diào)度示意圖
邊緣節(jié)點預先緩存已經(jīng)完成加工的數(shù)據(jù)服務產(chǎn)品或提前加工將來可能被訪問的數(shù)據(jù)服務產(chǎn)品,當服務請求到達時,直接向訪問節(jié)點返回訪問結(jié)果,但受限于邊緣節(jié)點有限的存儲空間,緩存哪些數(shù)據(jù)服務產(chǎn)品需要考慮。本文設(shè)計基于服務熱度排名的數(shù)據(jù)服務緩存策略,即通過統(tǒng)計分析歷史訪問請求記錄,綜合計算服務的熱度,并結(jié)合剩余存儲容量的大小,選擇熱度靠前的數(shù)據(jù)服務進行緩存。通過周期更新,替換長時間未被訪問的數(shù)據(jù)服務。
針對嵌入式裝備系統(tǒng)中數(shù)據(jù)共享、使用的新需求,本文提出基于邊緣緩存的分布式數(shù)據(jù)服務共享技術(shù),旨在通過數(shù)據(jù)服務的加工生產(chǎn)、管理調(diào)度、共享分發(fā),促進“數(shù)據(jù)→信息→知識→決策”之間的快速轉(zhuǎn)化。首先,基于邊緣計算,構(gòu)建分布式數(shù)據(jù)加工與數(shù)據(jù)服務調(diào)度架構(gòu),并詳細介紹架構(gòu)的邏輯功能、數(shù)據(jù)加工流程、數(shù)據(jù)服務形態(tài);然后,為了提高數(shù)據(jù)服務檢索定位效率,設(shè)計基于元數(shù)據(jù)管理的數(shù)據(jù)服務管理與調(diào)度方法,并闡述數(shù)據(jù)服務管理調(diào)度方法、邊緣管理節(jié)點的選擇方法;最后,為了加速數(shù)據(jù)服務訪問請求的響應效率,提出基于預先緩存的數(shù)據(jù)共享方法,以提升數(shù)據(jù)服務共享性。