辛榮寰,陳禮波,曹童杰(中訊郵電咨詢設計院有限公司,北京 100048)
工業(yè)控制系統(tǒng)(ICS——Industrial Control System)是工業(yè)場景下由多種傳感器和自動化控制組件組成的控制系統(tǒng),也是工業(yè)互聯(lián)網(wǎng)的基石,而工業(yè)互聯(lián)網(wǎng)是工業(yè)革命的基石。IIOT將5G、AI、大數(shù)據(jù)、云等信息技術(shù)融合進ICS,促進了多行業(yè)的自動化、智能化發(fā)展,形成了新的應用形態(tài)。但工業(yè)裝置的低速率、低內(nèi)存、高能耗等問題,大大制約了IIOT 的發(fā)展,現(xiàn)代IIOT 技術(shù)多與云計算技術(shù)結(jié)合,將復雜的計算內(nèi)容上傳至云端,利用云的高速處理能力快速完成任務,提高工業(yè)生產(chǎn)效率。但隨著海量設備的接入,數(shù)據(jù)量越來越大,任務越來越復雜,上傳至云端進行處理再返回結(jié)果的過程也越來越長,可能無法滿足低時延的要求,長距離傳輸?shù)哪芎囊彩浅杀对鲩L的,因此制約了云計算在對實時性要求較高的工業(yè)場景中的使用。除此之外,在網(wǎng)絡資源和編排管理等問題上,由于缺少全局拓撲圖,無法從全局的角度對資源進行分配和編排,會造成大量的浪費,不利于IIOT的發(fā)展。
為了解決云計算的不足,改善工業(yè)應用的QoS,研究人員將多接入邊緣計算引入工業(yè)互聯(lián)網(wǎng)場景,將簡單的計算任務就近分配下沉至邊緣服務器,并由邊緣服務器處理并返回結(jié)果;復雜的計算任務上傳至云端,由云端處理器執(zhí)行任務。這種邊緣云一體的體系架構(gòu)能合理地應用計算資源,降低了帶寬壓力,保證了任務的實時性,對于大帶寬、低時延的工業(yè)應用有很好的適用性。圖1為邊緣計算應用在工業(yè)互聯(lián)網(wǎng)的體系架構(gòu)。

圖1 邊緣計算應用在工業(yè)互聯(lián)網(wǎng)的體系架構(gòu)
云結(jié)構(gòu)和邊緣云一體結(jié)構(gòu)的區(qū)別主要體現(xiàn)在時延、負載、安全和成本方面。
a)時延:邊緣計算的核心特征就是低時延。傳統(tǒng)云計算需要把數(shù)據(jù)和任務上傳至云端,在云端計算后再返回,一旦云端和終端設備的距離較遠,數(shù)據(jù)傳輸就會花費很多時間,如果同時有多個任務需要執(zhí)行,還要根據(jù)優(yōu)先級等待,會進一步拉高時延,所以很難應用在對時延敏感的任務中。邊緣計算將計算能力下沉到了邊緣側(cè),分布式的邊緣服務器可以同時執(zhí)行多個就近任務,減少了數(shù)據(jù)傳輸?shù)臅r間,有效地提高了生產(chǎn)效率。但邊緣計算的計算能力稍弱,不適合處理復雜任務,因此采用邊緣云一體的計算結(jié)構(gòu),將復雜或?qū)r延不敏感的任務上傳至云服務器處理,簡單或?qū)r延非常敏感的任務下沉到邊緣服務器處理,保證時延的同時也保證了計算效率。
b)負載:傳統(tǒng)云計算需要將所有任務一一上傳至云端,當數(shù)據(jù)量較大或多個任務同時上傳時,網(wǎng)絡會承受極大的壓力并可能擁堵,給工業(yè)生產(chǎn)帶來一定損失;邊緣云一體架構(gòu)可以解決這個問題,該架構(gòu)集成了云服務器和多個分布式邊緣服務器,任務會自動下沉至最近的邊緣服務器,多個邊緣服務器可以同時執(zhí)行多個任務,釋放了網(wǎng)絡的壓力,避免了堵塞。
c)安全:云平臺雖然在復雜任務的計算上有較高的優(yōu)勢,但也存在一定安全隱患。數(shù)據(jù)傳輸和云端的計算都有被攻擊和數(shù)據(jù)泄露的風險;邊緣云計算結(jié)構(gòu)由于將計算能力下沉到了邊緣側(cè),數(shù)據(jù)無需進行長時間傳輸,也避免了在云端泄露的風險。即使邊緣服務器被攻擊,也不會影響其他服務器,將損失降到最小。
d)成本:傳統(tǒng)云計算要將所有的數(shù)據(jù)都上傳至云端,并在云端進行數(shù)據(jù)存儲和管理,隨著設備數(shù)量和數(shù)據(jù)量的增長,云平臺的壓力越來越大,能耗和存儲成本也越來越高,不適用于高并發(fā)的應用場景;邊緣計算將數(shù)據(jù)直接存儲在邊緣側(cè),分攤了云端的壓力,降低了存儲成本,可以有效保證企業(yè)的QoS。
軟件定義網(wǎng)絡(SDN)是一種新型的網(wǎng)絡架構(gòu),其與傳統(tǒng)網(wǎng)絡結(jié)構(gòu)的主要區(qū)別是數(shù)控分離以及物理設施與控制功能的隔離。這種方式可以使網(wǎng)絡更加扁平化,同時控制平面擁有全局視野,能更好地對資源進行調(diào)配,解決工業(yè)互聯(lián)網(wǎng)中的信息孤島問題,實現(xiàn)工業(yè)互聯(lián)網(wǎng)從內(nèi)到外的高效通信。圖2為SDN的網(wǎng)絡架構(gòu)。

圖2 SDN的網(wǎng)絡架構(gòu)
SDN 控制器(SDN-Controller)是負責控制流量的應用程序,位于中間的控制層,既可以為應用層的業(yè)務應用提供可編程接口,又可以為基礎(chǔ)設施層的n個網(wǎng)絡設備轉(zhuǎn)發(fā)流表,收集參數(shù)。OpenFlow 交換機也是SDN 網(wǎng)絡架構(gòu)的核心組件,其核心部分是負責匹配和轉(zhuǎn)發(fā)數(shù)據(jù)包的流表,其原理如圖3所示。

圖3 OpenFlow原理圖
傳統(tǒng)的工業(yè)互聯(lián)網(wǎng)控制功能都附著在物理設備上,且各設備只能獲取自己負責區(qū)域的設備狀態(tài),這就容易造成資源分配不均。本文將SDN 架構(gòu)引入工業(yè)互聯(lián)網(wǎng),實現(xiàn)數(shù)據(jù)平面和控制平面的解耦合,可以從全局角度對設備進行管理和調(diào)度,滿足現(xiàn)代工業(yè)應用對動態(tài)、實時和靈活的要求。圖4 為基于SDN 的工業(yè)互聯(lián)網(wǎng)架構(gòu)。

圖4 基于SDN的工業(yè)互聯(lián)網(wǎng)架構(gòu)
該架構(gòu)由4 層組成,最底層為工業(yè)生產(chǎn)設備組成的現(xiàn)場層,數(shù)據(jù)經(jīng)過PLC 和網(wǎng)關(guān),到達OpenFlow 交換機,再傳輸?shù)絊DN 控制器,進行集中管理和調(diào)度,最上層是應用層,可以根據(jù)不同的業(yè)務需求進行開發(fā)。
基于SDN 架構(gòu)的工業(yè)互聯(lián)網(wǎng)多接入邊緣計算(SDN-IIOT-MEC)架構(gòu)是將多接入邊緣計算引入SDN-IIOT,主要目的是將集中式算力改為分布式算力,在靠近設備的邊緣側(cè)部署邊緣服務器,達到降低時延的目的,其結(jié)構(gòu)如圖5 所示。最下層為工業(yè)生產(chǎn)設備、傳感器設備等物理設施,主要用于實際的工業(yè)生產(chǎn)。各設備會將數(shù)據(jù)上傳至最近的邊緣計算網(wǎng)關(guān)或邊緣服務器,網(wǎng)關(guān)用于處理簡單任務,服務器作為數(shù)據(jù)通信的總接口,主要負責監(jiān)控、決策、數(shù)據(jù)上傳等復雜問題處理。SDN 網(wǎng)絡層主要由SDN 控制器和交換機組成,負責全局的控制和調(diào)度,能快速地完成計算任務請求的卸載決策,根據(jù)實際業(yè)務需求制定數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則,為任務卸載提供依據(jù)。云計算層主要用于高數(shù)據(jù)量的復雜任務處理,同時還負責多個任務中心之間的調(diào)度、編排等工作,可以和邊緣計算相配合,靈活滿足不同需求。

圖5 基于SDN架構(gòu)的工業(yè)互聯(lián)網(wǎng)多接入邊緣計算架構(gòu)
在實際的生產(chǎn)中,工業(yè)設備種類繁多,任務要求也各不相同,有的需要大帶寬,有的需要低時延,且經(jīng)常需要根據(jù)實際情況或突發(fā)狀況進行調(diào)整,因此如何進行任務卸載是該架構(gòu)要解決的一個重要問題。圖6是基于多接入邊緣計算的任務卸載流程。SDN控制器首先會做全局拓撲圖,收集網(wǎng)絡鏈路參數(shù)和空閑的計算節(jié)點;當有任務計算請求出現(xiàn)時,控制器會在一定范圍內(nèi)搜索可使用的計算節(jié)點,并通過任務卸載算法,將任務下放給各可使用的計算節(jié)點;除此之外,該流程還定義了任務卸載的時延和CPU 利用率模型,根據(jù)時延和CPU 情況,最終決定將任務卸載到計算機點上還是本地執(zhí)行。這種方法可以實時獲取網(wǎng)絡資源,快速編排業(yè)務,大大提高整體網(wǎng)絡資源的利用率。

圖6 基于多接入邊緣計算的任務卸載流程
本文針對傳統(tǒng)工業(yè)互聯(lián)網(wǎng)自動化程度低、靈活性差等問題,提出了一種基于多接入邊緣計算和軟件定義網(wǎng)絡的工業(yè)互聯(lián)網(wǎng)體系架構(gòu),并給出了架構(gòu)圖。多接入邊緣計算主要滿足工業(yè)應用對低時延的要求,軟件定義網(wǎng)絡主要解決了控制功能不集中,容易有資源浪費的問題。除此之外,本文還根據(jù)架構(gòu)圖給出了一種基于多接入邊緣計算的任務卸載算法和流程圖,解決了現(xiàn)有任務傳輸路徑算法的不足,保障了工業(yè)生產(chǎn)的整體效率。