辛榮寰,陳禮波,曹童杰(中訊郵電咨詢?cè)O(shè)計(jì)院有限公司,北京 100048)
工業(yè)控制系統(tǒng)(ICS——Industrial Control System)是工業(yè)場(chǎng)景下由多種傳感器和自動(dòng)化控制組件組成的控制系統(tǒng),也是工業(yè)互聯(lián)網(wǎng)的基石,而工業(yè)互聯(lián)網(wǎng)是工業(yè)革命的基石。IIOT將5G、AI、大數(shù)據(jù)、云等信息技術(shù)融合進(jìn)ICS,促進(jìn)了多行業(yè)的自動(dòng)化、智能化發(fā)展,形成了新的應(yīng)用形態(tài)。但工業(yè)裝置的低速率、低內(nèi)存、高能耗等問(wèn)題,大大制約了IIOT 的發(fā)展,現(xiàn)代IIOT 技術(shù)多與云計(jì)算技術(shù)結(jié)合,將復(fù)雜的計(jì)算內(nèi)容上傳至云端,利用云的高速處理能力快速完成任務(wù),提高工業(yè)生產(chǎn)效率。但隨著海量設(shè)備的接入,數(shù)據(jù)量越來(lái)越大,任務(wù)越來(lái)越復(fù)雜,上傳至云端進(jìn)行處理再返回結(jié)果的過(guò)程也越來(lái)越長(zhǎng),可能無(wú)法滿足低時(shí)延的要求,長(zhǎng)距離傳輸?shù)哪芎囊彩浅杀对鲩L(zhǎng)的,因此制約了云計(jì)算在對(duì)實(shí)時(shí)性要求較高的工業(yè)場(chǎng)景中的使用。除此之外,在網(wǎng)絡(luò)資源和編排管理等問(wèn)題上,由于缺少全局拓?fù)鋱D,無(wú)法從全局的角度對(duì)資源進(jìn)行分配和編排,會(huì)造成大量的浪費(fèi),不利于IIOT的發(fā)展。
為了解決云計(jì)算的不足,改善工業(yè)應(yīng)用的QoS,研究人員將多接入邊緣計(jì)算引入工業(yè)互聯(lián)網(wǎng)場(chǎng)景,將簡(jiǎn)單的計(jì)算任務(wù)就近分配下沉至邊緣服務(wù)器,并由邊緣服務(wù)器處理并返回結(jié)果;復(fù)雜的計(jì)算任務(wù)上傳至云端,由云端處理器執(zhí)行任務(wù)。這種邊緣云一體的體系架構(gòu)能合理地應(yīng)用計(jì)算資源,降低了帶寬壓力,保證了任務(wù)的實(shí)時(shí)性,對(duì)于大帶寬、低時(shí)延的工業(yè)應(yīng)用有很好的適用性。圖1為邊緣計(jì)算應(yīng)用在工業(yè)互聯(lián)網(wǎng)的體系架構(gòu)。
圖1 邊緣計(jì)算應(yīng)用在工業(yè)互聯(lián)網(wǎng)的體系架構(gòu)
云結(jié)構(gòu)和邊緣云一體結(jié)構(gòu)的區(qū)別主要體現(xiàn)在時(shí)延、負(fù)載、安全和成本方面。
a)時(shí)延:邊緣計(jì)算的核心特征就是低時(shí)延。傳統(tǒng)云計(jì)算需要把數(shù)據(jù)和任務(wù)上傳至云端,在云端計(jì)算后再返回,一旦云端和終端設(shè)備的距離較遠(yuǎn),數(shù)據(jù)傳輸就會(huì)花費(fèi)很多時(shí)間,如果同時(shí)有多個(gè)任務(wù)需要執(zhí)行,還要根據(jù)優(yōu)先級(jí)等待,會(huì)進(jìn)一步拉高時(shí)延,所以很難應(yīng)用在對(duì)時(shí)延敏感的任務(wù)中。邊緣計(jì)算將計(jì)算能力下沉到了邊緣側(cè),分布式的邊緣服務(wù)器可以同時(shí)執(zhí)行多個(gè)就近任務(wù),減少了數(shù)據(jù)傳輸?shù)臅r(shí)間,有效地提高了生產(chǎn)效率。但邊緣計(jì)算的計(jì)算能力稍弱,不適合處理復(fù)雜任務(wù),因此采用邊緣云一體的計(jì)算結(jié)構(gòu),將復(fù)雜或?qū)r(shí)延不敏感的任務(wù)上傳至云服務(wù)器處理,簡(jiǎn)單或?qū)r(shí)延非常敏感的任務(wù)下沉到邊緣服務(wù)器處理,保證時(shí)延的同時(shí)也保證了計(jì)算效率。
b)負(fù)載:傳統(tǒng)云計(jì)算需要將所有任務(wù)一一上傳至云端,當(dāng)數(shù)據(jù)量較大或多個(gè)任務(wù)同時(shí)上傳時(shí),網(wǎng)絡(luò)會(huì)承受極大的壓力并可能擁堵,給工業(yè)生產(chǎn)帶來(lái)一定損失;邊緣云一體架構(gòu)可以解決這個(gè)問(wèn)題,該架構(gòu)集成了云服務(wù)器和多個(gè)分布式邊緣服務(wù)器,任務(wù)會(huì)自動(dòng)下沉至最近的邊緣服務(wù)器,多個(gè)邊緣服務(wù)器可以同時(shí)執(zhí)行多個(gè)任務(wù),釋放了網(wǎng)絡(luò)的壓力,避免了堵塞。
c)安全:云平臺(tái)雖然在復(fù)雜任務(wù)的計(jì)算上有較高的優(yōu)勢(shì),但也存在一定安全隱患。數(shù)據(jù)傳輸和云端的計(jì)算都有被攻擊和數(shù)據(jù)泄露的風(fēng)險(xiǎn);邊緣云計(jì)算結(jié)構(gòu)由于將計(jì)算能力下沉到了邊緣側(cè),數(shù)據(jù)無(wú)需進(jìn)行長(zhǎng)時(shí)間傳輸,也避免了在云端泄露的風(fēng)險(xiǎn)。即使邊緣服務(wù)器被攻擊,也不會(huì)影響其他服務(wù)器,將損失降到最小。
d)成本:傳統(tǒng)云計(jì)算要將所有的數(shù)據(jù)都上傳至云端,并在云端進(jìn)行數(shù)據(jù)存儲(chǔ)和管理,隨著設(shè)備數(shù)量和數(shù)據(jù)量的增長(zhǎng),云平臺(tái)的壓力越來(lái)越大,能耗和存儲(chǔ)成本也越來(lái)越高,不適用于高并發(fā)的應(yīng)用場(chǎng)景;邊緣計(jì)算將數(shù)據(jù)直接存儲(chǔ)在邊緣側(cè),分?jǐn)偭嗽贫说膲毫?,降低了存?chǔ)成本,可以有效保證企業(yè)的QoS。
軟件定義網(wǎng)絡(luò)(SDN)是一種新型的網(wǎng)絡(luò)架構(gòu),其與傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的主要區(qū)別是數(shù)控分離以及物理設(shè)施與控制功能的隔離。這種方式可以使網(wǎng)絡(luò)更加扁平化,同時(shí)控制平面擁有全局視野,能更好地對(duì)資源進(jìn)行調(diào)配,解決工業(yè)互聯(lián)網(wǎng)中的信息孤島問(wèn)題,實(shí)現(xiàn)工業(yè)互聯(lián)網(wǎng)從內(nèi)到外的高效通信。圖2為SDN的網(wǎng)絡(luò)架構(gòu)。
圖2 SDN的網(wǎng)絡(luò)架構(gòu)
SDN 控制器(SDN-Controller)是負(fù)責(zé)控制流量的應(yīng)用程序,位于中間的控制層,既可以為應(yīng)用層的業(yè)務(wù)應(yīng)用提供可編程接口,又可以為基礎(chǔ)設(shè)施層的n個(gè)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)流表,收集參數(shù)。OpenFlow 交換機(jī)也是SDN 網(wǎng)絡(luò)架構(gòu)的核心組件,其核心部分是負(fù)責(zé)匹配和轉(zhuǎn)發(fā)數(shù)據(jù)包的流表,其原理如圖3所示。
圖3 OpenFlow原理圖
傳統(tǒng)的工業(yè)互聯(lián)網(wǎng)控制功能都附著在物理設(shè)備上,且各設(shè)備只能獲取自己負(fù)責(zé)區(qū)域的設(shè)備狀態(tài),這就容易造成資源分配不均。本文將SDN 架構(gòu)引入工業(yè)互聯(lián)網(wǎng),實(shí)現(xiàn)數(shù)據(jù)平面和控制平面的解耦合,可以從全局角度對(duì)設(shè)備進(jìn)行管理和調(diào)度,滿足現(xiàn)代工業(yè)應(yīng)用對(duì)動(dòng)態(tài)、實(shí)時(shí)和靈活的要求。圖4 為基于SDN 的工業(yè)互聯(lián)網(wǎng)架構(gòu)。
圖4 基于SDN的工業(yè)互聯(lián)網(wǎng)架構(gòu)
該架構(gòu)由4 層組成,最底層為工業(yè)生產(chǎn)設(shè)備組成的現(xiàn)場(chǎng)層,數(shù)據(jù)經(jīng)過(guò)PLC 和網(wǎng)關(guān),到達(dá)OpenFlow 交換機(jī),再傳輸?shù)絊DN 控制器,進(jìn)行集中管理和調(diào)度,最上層是應(yīng)用層,可以根據(jù)不同的業(yè)務(wù)需求進(jìn)行開(kāi)發(fā)。
基于SDN 架構(gòu)的工業(yè)互聯(lián)網(wǎng)多接入邊緣計(jì)算(SDN-IIOT-MEC)架構(gòu)是將多接入邊緣計(jì)算引入SDN-IIOT,主要目的是將集中式算力改為分布式算力,在靠近設(shè)備的邊緣側(cè)部署邊緣服務(wù)器,達(dá)到降低時(shí)延的目的,其結(jié)構(gòu)如圖5 所示。最下層為工業(yè)生產(chǎn)設(shè)備、傳感器設(shè)備等物理設(shè)施,主要用于實(shí)際的工業(yè)生產(chǎn)。各設(shè)備會(huì)將數(shù)據(jù)上傳至最近的邊緣計(jì)算網(wǎng)關(guān)或邊緣服務(wù)器,網(wǎng)關(guān)用于處理簡(jiǎn)單任務(wù),服務(wù)器作為數(shù)據(jù)通信的總接口,主要負(fù)責(zé)監(jiān)控、決策、數(shù)據(jù)上傳等復(fù)雜問(wèn)題處理。SDN 網(wǎng)絡(luò)層主要由SDN 控制器和交換機(jī)組成,負(fù)責(zé)全局的控制和調(diào)度,能快速地完成計(jì)算任務(wù)請(qǐng)求的卸載決策,根據(jù)實(shí)際業(yè)務(wù)需求制定數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則,為任務(wù)卸載提供依據(jù)。云計(jì)算層主要用于高數(shù)據(jù)量的復(fù)雜任務(wù)處理,同時(shí)還負(fù)責(zé)多個(gè)任務(wù)中心之間的調(diào)度、編排等工作,可以和邊緣計(jì)算相配合,靈活滿足不同需求。
圖5 基于SDN架構(gòu)的工業(yè)互聯(lián)網(wǎng)多接入邊緣計(jì)算架構(gòu)
在實(shí)際的生產(chǎn)中,工業(yè)設(shè)備種類繁多,任務(wù)要求也各不相同,有的需要大帶寬,有的需要低時(shí)延,且經(jīng)常需要根據(jù)實(shí)際情況或突發(fā)狀況進(jìn)行調(diào)整,因此如何進(jìn)行任務(wù)卸載是該架構(gòu)要解決的一個(gè)重要問(wèn)題。圖6是基于多接入邊緣計(jì)算的任務(wù)卸載流程。SDN控制器首先會(huì)做全局拓?fù)鋱D,收集網(wǎng)絡(luò)鏈路參數(shù)和空閑的計(jì)算節(jié)點(diǎn);當(dāng)有任務(wù)計(jì)算請(qǐng)求出現(xiàn)時(shí),控制器會(huì)在一定范圍內(nèi)搜索可使用的計(jì)算節(jié)點(diǎn),并通過(guò)任務(wù)卸載算法,將任務(wù)下放給各可使用的計(jì)算節(jié)點(diǎn);除此之外,該流程還定義了任務(wù)卸載的時(shí)延和CPU 利用率模型,根據(jù)時(shí)延和CPU 情況,最終決定將任務(wù)卸載到計(jì)算機(jī)點(diǎn)上還是本地執(zhí)行。這種方法可以實(shí)時(shí)獲取網(wǎng)絡(luò)資源,快速編排業(yè)務(wù),大大提高整體網(wǎng)絡(luò)資源的利用率。
圖6 基于多接入邊緣計(jì)算的任務(wù)卸載流程
本文針對(duì)傳統(tǒng)工業(yè)互聯(lián)網(wǎng)自動(dòng)化程度低、靈活性差等問(wèn)題,提出了一種基于多接入邊緣計(jì)算和軟件定義網(wǎng)絡(luò)的工業(yè)互聯(lián)網(wǎng)體系架構(gòu),并給出了架構(gòu)圖。多接入邊緣計(jì)算主要滿足工業(yè)應(yīng)用對(duì)低時(shí)延的要求,軟件定義網(wǎng)絡(luò)主要解決了控制功能不集中,容易有資源浪費(fèi)的問(wèn)題。除此之外,本文還根據(jù)架構(gòu)圖給出了一種基于多接入邊緣計(jì)算的任務(wù)卸載算法和流程圖,解決了現(xiàn)有任務(wù)傳輸路徑算法的不足,保障了工業(yè)生產(chǎn)的整體效率。