賈焰,方濱興,汪祥,王永恒,安靜斌,李愛平,周斌
(1.國防科技大學,長沙 410073;2.中國工程院,北京 100088;3.之江實驗室,杭州 310012)
信息技術是推動各行業發展的催化劑,隨著網絡空間從面向信息的互聯網擴展到了人、機、物、服務與應用互聯的泛在網絡空間,傳統的高性能計算[1]、云計算[2]、霧計算[3]、邊緣計算[4]和多Agent 系統[5,6]等計算模式已經不能滿足網絡空間大數據分析處理的需要。
互聯網、移動互聯網、物聯網和社交網絡等的迅猛發展使得網絡空間日趨繁榮,促進網絡空間由單一互聯網發展到了泛在網絡空間。泛在網絡空間是一種建立在互聯網基礎之上的具有自適應性的智能網絡,通過各種有線和無線網絡與物聯網、互聯網、傳感網等進行融合,綜合利用海量的傳感器、智能處理設備等終端以及運行在這些終端上面的軟件、服務和應用,實現人、機、物、信息在任何時間、任何地點的安全有效聯接。網絡空間的擴展,使得傳統“以后臺處理為中心”的云計算模式不能滿足“互聯網+物聯網+移動互聯網”所形成的泛在網絡空間計算需求,計算模式需要從“以后臺處理為中心”向“后臺與邊緣、中間相結合”的方式轉變,這是必然發生的革命性變革。
大數據[7]是指在一定時間范圍內難以依靠已有數據處理技術進行有效采集、管理和分析的數據集合,以下從其5V 特征分析網絡空間大數據面臨的挑戰:
(1)規模大(Volume)。從太字節(TB)級躍升到拍字節(PB)級甚至皆字節(ZB)級,單一的應用程序和數據中心難以快速處理如此海量的數據,迫切需要像人類一樣由多知識體協同處理。
(2)數據類型繁多(Variety)。如文本、視頻、音頻、圖片、特定類型等,甚至包括這些文件類型的交叉融合。單一的個人、公司、研究機構等難以同時掌握不同類型數據的分析處理工作,迫切需要創建一種協同合作并保護各自知識產權和數據所有權的計算模式。
(3)速度快(Velocity)。數據高速生成,要求實時處理,迫切需要在數據的源頭和離源頭不遠的邊緣端或中間層進行數據處理,并與云端保持知識和信息交互。
(4)數據的準確性和可信性(Veracity)。數據及其來源存在不確定和不可信,迫切需要對不同來源的數據進行可信計算與交叉驗證。
(5)有價值(Value)。大量的數據中存在極有價值的信息,而價值的挖掘通常與領域相關,需要各行各業的領域專家相互配合協同挖掘大數據中的價值。
因此,泛在網絡空間大數據迫切需要大量個人、研究機構和企業等相互合作,在保護各自知識產權、數據隱私與所有權的基礎上,進行綜合的協同計算,這是當前計算模式難以滿足的。
網絡空間大數據尤其是物聯網數據、傳感器數據和移動應用數據等大多為不同的個人、組織或機構所有。由于隱私保護、所有權保護和保密等原因,當前大數據“信息孤島”現象明顯,數據和知識難以集中到某個數據中心進行統一的存儲、搜索、分析和挖掘[8]。在數據分析處理挖掘方面,分散在全世界各個研究機構和組織的專家在各自的行業和研究領域取得了豐碩的成果,但難以出現一家單位和機構能夠獨自解決當前泛在網絡空間大數據分析處理面臨的技術難題。迫切需要在保護各自知識產權的基礎上進行合作,使得世界上的優秀研究成果能夠協同計算,滿足泛在網絡空間大數據分析處理的需要。
為了解決上述問題,本文提出一種面向泛在網絡空間大數據的通用智能化“霧云計算”體系結構,通過前端(霧端)、中間層和云端知識體以及它們之間的協同計算,滿足網絡空間大數據在產權保護基礎上的實時及融合分析處理需求。本文知識體是一個自治的、智慧的軟件實體,其邏輯上有自己的領域、目標和功能,物理上有自己的知識庫、學習器、推理器、執行器和協同器。知識體不僅可以根據目標構建知識,并根據任務需要提供功能,還可以互相協同計算,共同完成某個任務。霧云計算體系結構可以應用在物聯網、智能家居、問答機器人等泛在網絡大數據計算場景,其中網絡空間大搜索[9]是霧云計算應用的典型案例。當前,蘋果移動操作系統(iOS)中的智能語音助手(Siri) [10]、華為語音助手HiVoice [11]等產品將本地手機中的應用軟件(APP)、用戶個人隱私數據與云端互聯網數據等進行協同計算,滿足用戶智慧解答的需求,體現了泛在網絡空間“霧云計算”的基本思想。
霧云計算通過對大數據海洋中抽取知識的霧端、知識融合的中間層和智慧計算的云端多知識體進行協同計算,獲得滿足用戶計算目標的過程。霧云計算由知識體、知識體之間的關系和知識體之間的協同操作3 部分組成,如式1 所示:

式(1)中, KnowledgeActor 表示知識體的集合,單個知識體可用KnowledgeActori(i= 1,…,n) 表示;R表示知識體之間的關系集合,Rjk表示知識體KnowledgeActori和KnowledgeActork之 間的 關 系,j,k= 1,…,n。Operation 表示知識體之間的協同操作與計算,Operationm表示與多知識體協同工作的任務Taskm相關的協同操作與計算。
知識體是一個智慧的軟構件,可以是霧端面向目標的簡單知識抽取軟構件,也可以是云端的超大規模知識體,如健康知識體、天氣預報知識體、人類常識知識體等。知識體具有自學習、自演化、可描述、可管理、靈活在線組裝、分布式部署等特點,并且知識體之間可以進行協調問題求解。某個知識體KnowledgeActori= {ID,O,A}由標識ID、目標Object 和內部架構Architecture 三部分組成,其中,目標O可表示為:

式(2)中,目標O包括數據獲?。–ollect Data)、知識獲?。↘nowledge Acquisition)、知識推理(Inference)、知識計算(Computing)和知識融合(Merging)等。
知識體的體系結構如圖1 所示,包括任務執行器(Task Executor)、知識庫(Knowledge Base)、推理器(InferEngine)、學習器(Learn Unit)、任務規劃及決策器(TPDK)、協同器(Cooperator)、知識輸入輸出接口(KInterface)、協同接口(CInterface)、數據接口(DInterface)、任務輸入接口(TInterface)等。知識體的體系結構A可以用下面公式形式化表示:

泛在網絡空間大數據“霧云計算”體系結構如圖2 所示,在多知識體及其協同推理的基礎上,由霧端的前端計算、中間層的融合計算和后端的云計算組成,其中各層知識體分別運行在不同的知識體運行平臺上。與邊緣計算、云計算的主要區別是:在多知識體的基礎上,支持前端(霧端)、中間和后端(云端)的高度協同計算能力。

圖1 知識體系統結構

圖2 霧云計算體系結構
云端知識體通常是霧云計算的遠端后臺處理中心,是分散在世界范圍內的邊緣物聯網節點、網頁(Web)應用、移動APP、互聯網中間節點知識的匯集地,也是分散在海量霧端和中間層知識體內容的集散地。云端知識體對霧端與中間層知識體上下文和時空位置敏感,是霧云計算的全局中心。云端知識體通常存儲非隱私的全局和上下文數據,并進行知識的全局推理。
云端知識體的特點主要表現在以下幾個方面:①計算和存儲能力非常強,網絡非常穩定;②通常是對分散的中間層知識體和霧端知識體數據進行全局性的綜合分析計算;③獲得的知識分布范圍廣,通常需要進行較大空間尺度的時空分析計算;④需要與中間節點知識體和霧端節點知識體進行協同推理計算;⑤由于數據量龐大和計算復雜,通常進行離線分析計算。
云端知識體通常運行在以下計算集群與平臺基礎上。
1.分布存儲集群
霧云計算平臺面向泛在網絡空間大數據計算任務,從遍布互聯網、物聯網的海量數據源獲取信息并經過各種功能知識體抽取、加工、融合,形成知識,并在此基礎上根據具體任務進行計算。作為運行大量各類具備知識和智能知識體的運行平臺,必然需要存儲大量結構化、半結構化和非結構化的數據,包括文件、網頁、知識圖譜、音視頻等。分布存儲集群由若干存儲服務器和索引服務器組成,采用分布式文件系統和圖數據庫等專用數據存儲管理系統構建。
2.人工智能(AI)計算集群
AI 計算集群用于云端知識體訓練圖片、音視頻等高密度計算任務。AI 計算集群采用中央處理器+圖形處理器(CPU+GPU)的架構,由若干高密度計算服務器節點通過高速互聯構成。
3.流數據處理集群
流數據處理集群用于對來自前端節點的數據源和知識體獲取的海量數據流進行實時處理,這些數據流可能來自于傳感器、移動終端,也可能來自于遠程部署的智能爬蟲。海量的流數據需要實時進行清洗、篩選和計算,然后存儲到分布存儲集群作為知識發現的素材,或者直接展現給搜索請求用戶知識發現。
4.高速緩存集群
高速緩存集群用于存儲索引、熱點數據等需要快速訪問的數據,主要采用內存存儲,為高實時性計算和需要快速響應的用戶請求提供支持。
5.消息交換集群
消息交換集群為大量知識體間協同計算提供底層通信基礎設施,集群服務器節點配置高速的網絡接口帶寬。
中間層知識體位于霧端和云端之間,通常部署在離邊緣節點較近的服務器上,有時也會部署在網關、路由器、通信基站等匯聚型節點上。中間層知識體通常運行在計算能力、存儲能力較強的服務器上,相對于云端節點來說,更貼近霧端邊緣節點和數據源,是局部邊緣知識體綜合計算的中心。中間層知識體在霧云計算中扮演核心角色:一方面,中間層知識體能夠訪問互聯網中的海量數據,并與云端知識體進行協同計算;另一方面,中間層知識體能夠訪問多個本地邊緣節點中的大量數據和知識(這些數據和知識通常是難以快速返回云端中心的信息,例如用戶的隱私信息通常希望存儲在本地、實時的視頻監控數據由于數據量過大而難以實時傳輸到云端計算中心),可以基于邊緣節點地理位置的分布進行協同計算。中間層知識體是全局網絡空間計算和本地數據結合的重要區域,是霧云計算的核心。例如,在一個家庭的霧云計算中間節點,存儲著大量的家庭傳感器數據、視頻監控數據和移動應用數據等,為了提供實時的綜合反饋和保護家庭隱私,本地的霧云計算中間節點將對這些數據與云端節點數據進行融合計算和實時反饋。
中間層知識體的特點主要表現在以下幾個方面:①計算和存儲能力較強,能夠進行較復雜的綜合計算分析,網絡較穩定;②貼近數據源,能夠基于地理位置的特點進行時空分析計算和融合;③實現多個邊緣節點數據(如視頻監控等不需要存儲在云端的數據、隱私數據等)和云端知識體的協同推理計算;④連接的霧端邊緣節點數據和知識具有異質性特點,對融合分析計算提出了嚴峻挑戰;⑤通常進行近實時的分析計算和反饋。
數量巨大的霧端邊緣節點是數據的直接來源,包括智能物聯網中的設備、傳感器網絡中的傳感器、移動互聯網中的APP、智能家居設備、安裝智能設備的交通工具(汽車、無人機等)等。這些邊緣節點中有很多也具備一定的計算能力,可用于部署本地實時計算和數據及知識獲取知識體,是泛在網絡空間大數據計算的一部分。
霧端知識體的特點主要表現為:①計算和存儲能力較弱,網絡不夠穩定;②是數據的直接來源;③具有時間和空間位置信息;④能夠在較大范圍內進行移動;⑤知識體通常進行實時計算和反饋。
分布在霧端、中間層、云端的多知識體,在協同計算語言的支持下進行協同計算與任務調度。多知識體協同計算語言對領域(Domain)、知識體(KnowledgeActor)、行動(Action)、問題(Problem)、目標(Goal)等一系列對象進行定義。多知識體協同任務規劃由多目標優化的任務規劃器生成,在知識體創建和組裝后,基于多知識體協同任務規劃生成多知識體的具體協同策略。針對多知識體協同計算任務,多目標優化器從任務規劃空間求解優化的任務規劃,根據生成的任務規劃,由知識體組裝及部署器進行知識體的在線組裝,并按需部署到計算節點。多知識體的協同既有層層間的協同(如從霧端向中間層和云端匯聚知識),也有同層之間的協同(如對不同數據和知識的計算進行分工合作)。多知識體的協同也是一種動態的協同,在任務執行期間,根據系統的負載情況或者知識源的變化情況,知識體可以動態地加入或退出任務。
本文針對泛在網絡空間大數據應用需要在云端、中間層和前端進行計算的問題,提出了一種基于知識體的云端、中間層和前端協同計算的“霧云計算”軟件體系結構。描述了“霧云計算”的基本概念,闡明了“霧云計算”體系結構的基本組成及其關系,其關鍵技術包括多層次多粒度多模態數據表示與知識推理、多知識體協同推理、時空融合分析計算、可信搜索與隱私保護等。
“霧云計算”體系結構適用于典型的泛在網絡空間大數據計算應用,為泛在網絡空間中前端、中間層和云端的協同計算提供了解決方案。“霧云計算”可應用在物聯網、智能家居、問答機器人等泛在網絡大數據計算場景,其中網絡空間大搜索是霧云計算的典型案例。網絡空間大搜索面向泛在網絡空間中的人、物體、信息和服務,在正確理解用戶意圖的基礎上,基于從泛在網絡空間大數據獲取的知識,給出滿足用戶需求的智慧解答。