侯慶坤 董長青 歐培培 趙甲 薄冉
摘 要:隨著工業(yè)互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,工業(yè)APP云平臺成為國內(nèi)外企業(yè)爭相研究的熱點領(lǐng)域。但目前在汽車行業(yè),國內(nèi)還缺少一個統(tǒng)一的工業(yè)APP云平臺進行資源的整合和管理。同時大量工程經(jīng)驗知識缺乏數(shù)字化的繼承,制約了汽車行業(yè)更好更快地發(fā)展。對汽車行業(yè)工業(yè)APP云平臺設(shè)計架構(gòu)進行分析,設(shè)計了云平臺的整體功能架構(gòu),簡要介紹了平臺各層級的功能實現(xiàn)以及平臺架構(gòu)特點,對云平臺構(gòu)建過程中的OpenStack設(shè)計架構(gòu)和微服務(wù)架構(gòu)進行分析,為云平臺的實現(xiàn)提供了重要技術(shù)手段。汽車行業(yè)工業(yè)APP云平臺建設(shè)對汽車行業(yè)數(shù)字化改革具有重要參考意義。
關(guān)鍵詞:汽車行業(yè)工業(yè)APP云平臺;Openstack設(shè)計架構(gòu);微服務(wù)架構(gòu)
中圖分類號:U462.1 ?文獻標識碼:B 文章編號:1671-7988(2020)04-99-05
Analysis of the design framework of APP cloud platform for automotive industry
Hou Qingkun1, Dong Changqing2, Ou Peipei1, Zhao Jia1, Bo Ran1
( 1.China Automotive Data (Tianjin) Co., Ltd., Tianjin 300380; 2.Tianjin University, Tianjin 300072 )
Abstract:?With the vigorous development of industrial Internet technology, the industrial APP cloud platform has become a hot area for domestic and foreign companies to compete for research. But in the automotive industry, there is still a lack of a unified industrial APP cloud platform for resource integration and management in China. At the same time, the lack of digital inheritance of a large amount of engineering experience and knowledge has restricted the automotive industry to develop better and faster. Analyze the design framework of the industrial APP cloud platform in the automotive industry, design the overall functional architecture of the cloud platform, briefly introduce the functional implementation of each level of the platform, and the characteristics of the platform architecture. Analysis provides an important technical means for the realization of the cloud platform. The construction of the APP cloud platform for the automotive industry has important reference significance for the digital reform of the automotive industry.
Keywords: Automotive industry industrial APP cloud platform; Openstack design architecture; Microservice architecture
CLC NO.: U462.1 ?Document Code: B??Article ID: 1671-7988(2020)04-99-05
引言
工業(yè)APP是指基于工業(yè)互聯(lián)網(wǎng),承載工程知識經(jīng)驗,面向特定工業(yè)場景的工業(yè)軟件。最近幾年伴隨著工業(yè)互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,政府相關(guān)部門也推出了一系列的政策對工業(yè)APP進行推廣,并提出了“培育百萬工業(yè)APP”的目標[1]。國內(nèi)外企業(yè)已早早在此領(lǐng)域進行布局,建立了一系列技術(shù)先進的工業(yè)互聯(lián)網(wǎng)平臺。GE于2013年推出了Predix平臺,開創(chuàng)了借助工業(yè)互聯(lián)網(wǎng)進行工業(yè)APP開發(fā)的先河[2]。海爾的Cosmoplat云平臺以用戶實際需求為驅(qū)動,打造具有自主知識產(chǎn)權(quán)的工業(yè)APP定制平臺[3]。此外,還有西門子、航天云網(wǎng)、浪潮等一批企業(yè)對工業(yè)互聯(lián)網(wǎng)平臺的建設(shè)和工業(yè)APP的培育進行了研究[4]。但作為現(xiàn)代工業(yè)中的明珠-汽車行業(yè),目前還沒有建立一個統(tǒng)一的工業(yè)互聯(lián)網(wǎng)平臺來支撐汽車行業(yè)工業(yè)APP的培育和管理。汽車行業(yè)常年的工程實踐中積累了大量的知識和經(jīng)驗,缺乏數(shù)字化的方法對這些知識經(jīng)驗進行繼承。汽車行業(yè)工業(yè)APP從數(shù)量到質(zhì)量都不能滿足汽車行業(yè)數(shù)字化發(fā)展的需要。在此基礎(chǔ)上,本文提出了對面向汽車行業(yè)的工業(yè)APP云平臺設(shè)計架構(gòu)進行研究,給出了平臺功能架構(gòu)和關(guān)鍵技術(shù)架構(gòu),期望以此筑建汽車行業(yè)工業(yè)APP的孵化平臺和管理平臺,為汽車行業(yè)工業(yè)技術(shù)軟件化提供助力。
1 汽車行業(yè)工業(yè)APP云平臺架構(gòu)
汽車行業(yè)工業(yè)APP云平臺立足于工業(yè)互聯(lián)網(wǎng)技術(shù)和汽車行業(yè)特色,按照功能和業(yè)務(wù)分層原則,可分為數(shù)據(jù)采集層、軟硬件網(wǎng)絡(luò)環(huán)境、云服務(wù)基礎(chǔ)層、工業(yè)PaaS層、工業(yè)APP層。汽車行業(yè)工業(yè)APP云平臺的整體功能架構(gòu)如圖1所示。
平臺各層級之間采用標準體系接口,實現(xiàn)信息交互和數(shù)據(jù)流通,以統(tǒng)一的安全體系構(gòu)建系統(tǒng)軟硬件和信息安全防護。最底層的數(shù)據(jù)采集層面向企業(yè)研發(fā)生產(chǎn)過程,打通了云平臺與生產(chǎn)過程的信息鏈。軟硬件網(wǎng)絡(luò)環(huán)境層和云服務(wù)基礎(chǔ)層在硬件設(shè)備基礎(chǔ)之上通過虛擬化技術(shù)搭建起云服務(wù)基礎(chǔ),并提供云服務(wù)管理規(guī)則。工業(yè)PaaS層以通用PaaS平臺和行業(yè)組件庫構(gòu)筑起應(yīng)用服務(wù)部署基礎(chǔ),提供面向服務(wù)層的微服務(wù)組件工具和應(yīng)用開發(fā)環(huán)境。分層的云平臺架構(gòu)設(shè)計便于系統(tǒng)功能的模塊化搭建和模塊化管理。各層級按照功能進行解耦,避免了開發(fā)和部署過程中的互擾,由統(tǒng)一體系進行連接,保證平臺功能的完備性。通過整合各層的資源,向外輸出云資源服務(wù)、工業(yè)PaaS服務(wù)和工業(yè)APP服務(wù)。
1.2 平臺各層級功能
平臺各層級的主要功能如下:
(1)數(shù)據(jù)采集層通過預(yù)留的API接口,對車企的生產(chǎn)數(shù)據(jù)和研發(fā)仿真模型信息進行獲取,以TCP/IP報文形式上傳至信息匯總接口,完成信息的采集、存儲、分析,輔助企業(yè)對過程數(shù)據(jù)進行深加工,提取高價值信息,優(yōu)化生產(chǎn)流程。數(shù)據(jù)采集層的基本架構(gòu)如下所示:
(2)軟硬件網(wǎng)絡(luò)環(huán)境以O(shè)penStack為核心進行構(gòu)建,為平臺提供了硬件基礎(chǔ)設(shè)施和虛擬化資源。以大容量、高性能的服務(wù)器、存儲設(shè)備、安全設(shè)備作為起云平臺運行的硬件基礎(chǔ),實現(xiàn)大數(shù)據(jù)云計算的安全、穩(wěn)定運行。OpenStack實現(xiàn)了云系統(tǒng)在硬件設(shè)備上的部署,搭建了軟件系統(tǒng)和硬件系統(tǒng)之間的橋梁。借助虛擬機QoS來保證系統(tǒng)資源的合理化分配,避免資源的搶占和浪費;內(nèi)部網(wǎng)絡(luò)通過VPN實現(xiàn)信息交互;分布式路由(DVR)技術(shù)解決了跨子網(wǎng)的虛擬機通訊;大頁內(nèi)存技術(shù)完成了裸機和虛擬機之間的調(diào)度和管理。軟硬件網(wǎng)絡(luò)環(huán)境的基本框架如下所示:
(3)云服務(wù)基礎(chǔ)層與軟硬件網(wǎng)絡(luò)環(huán)境共同構(gòu)成了云平臺的IaaS層。該層主要負責(zé)云平臺的運營管理,包括用戶管理、權(quán)限管理、日志管理、流程管理等,確保平臺運行和云服務(wù)規(guī)范化、科學(xué)化。
(4)工業(yè)PaaS層主要由通用PaaS平臺和汽車行業(yè)工業(yè)組件庫兩部分組成,二者有機結(jié)合共同為工業(yè)APP提供開發(fā)和運行環(huán)境。通用PaaS平臺以中間件為媒介,通過DevOps服務(wù)設(shè)計,構(gòu)建平臺開放特性,加速平臺一體化開發(fā)進度。在通用PaaS平臺上將汽車行業(yè)工業(yè)組件庫進行加載部署,建立汽車行業(yè)工業(yè)APP應(yīng)用開發(fā)環(huán)境,以微服務(wù)組件形式集成到云平臺。同時依托容器技術(shù)和微服務(wù)組件,提供SaaS層應(yīng)用服務(wù)的分布式運行環(huán)境。工業(yè)PaaS層基本功能架構(gòu)如圖4所示。
(5)工業(yè)APP層是平臺的主要功能層,也是面向行業(yè)輸出服務(wù)的窗口。該層向下與工業(yè)PaaS層進行對接,完成云環(huán)境的調(diào)用和云數(shù)據(jù)的傳遞,向上通過部署其中的行業(yè)APP資源和API數(shù)據(jù)接口對客戶輸出行業(yè)智力資源,用戶通過訪問云平臺實現(xiàn)對APP和行業(yè)數(shù)據(jù)的調(diào)用。在工業(yè)APP的部署上,采用基于微服務(wù)架構(gòu)的云平臺分布式處理技術(shù),提高系統(tǒng)的集成能力和數(shù)據(jù)處理能力。工業(yè)APP層通過廣域網(wǎng)絡(luò)進行資源傳輸,只需客戶端瀏覽器登陸平臺賬號,即可享用平臺資源,減少本地資源配置。
平臺的設(shè)計架構(gòu)覆蓋了底層硬件、數(shù)據(jù)采集到面向汽車行業(yè)用戶的資源輸出,具備資源虛擬化、高擴展性、高可靠性、高經(jīng)濟型、彈性云計算等特點,實現(xiàn)了軟硬件的高效結(jié)合、資源利用的最大化。
(1)資源虛擬化
將硬件基礎(chǔ)資源虛擬化,構(gòu)建云平臺軟件系統(tǒng)的運行環(huán)境,保證硬件系統(tǒng)和軟件系統(tǒng)有機結(jié)合;將服務(wù)資源虛擬化,支持用戶在任何地點和環(huán)境下享受云計算服務(wù),并能夠使用多種終端設(shè)備獲取數(shù)據(jù)應(yīng)用服務(wù)。
(2)高擴展性
在不影響用戶使用云計算的前提下,及時實現(xiàn)平臺的擴展增容。這種動態(tài)擴展可自下而上,分層完成,以統(tǒng)一架構(gòu)方式和標準實現(xiàn)動態(tài)融合,滿足用戶平臺使用需求。
(3)高可靠性
以多級哈希值計算實現(xiàn)分布式存儲數(shù)據(jù),滿足大數(shù)據(jù)系統(tǒng)在分布式存儲過程中的動態(tài)擴展和高效定位需求。
獨立的備份和容災(zāi)模塊增強數(shù)據(jù)安全冗余,多租戶隔離機制避免了信息互擾和竊失,為云平臺提供高可靠性的云計算服務(wù)能力。
(4)彈性云計算
實時監(jiān)控資源使用,基于業(yè)務(wù)情況,采用自動負載均衡,彈性調(diào)控資源用量,緩解高峰資源并發(fā)運行的緊張態(tài)勢,低峰時段縮減容量,提高資源利用率。
2 OpenStack設(shè)計架構(gòu)分析
汽車行業(yè)工業(yè)APP云平臺的高效、穩(wěn)定、安全運行依賴于有效運維管理和科學(xué)資源調(diào)用。OpenStack為平臺提供了整體運維管理的引擎,實現(xiàn)了多級數(shù)據(jù)統(tǒng)一管理。
OpenStack的主要目的是實現(xiàn)硬件資源的虛擬化,承擔(dān)云平臺虛擬資源使用功能[5~7]。在平臺各基礎(chǔ)硬件設(shè)備上建立虛擬層,作為上層操作系統(tǒng)的運行環(huán)境,對各類數(shù)據(jù)信息進行運維管理。同時該虛擬層將各種硬件設(shè)備整合為一個統(tǒng)一整體,共同協(xié)作,通過操作軟件來管理資源輸出。虛擬層使硬件設(shè)備和軟件系統(tǒng)實現(xiàn)分離,可由多個操作系統(tǒng)或應(yīng)用程序共同使用硬件資源,建立多個互不干擾虛擬機來運行操作系統(tǒng)。虛擬化技術(shù)將硬件資源抽象化,打造靈活調(diào)用、輕便管理的資源池,實現(xiàn)平臺硬件基礎(chǔ)的高效集合、實時遷移。
OpenStack由多個具備HA能力的控制組件共同組成,各控制節(jié)點啟用Neutron的L3功能。其基本功能架構(gòu)如圖所示:
上圖中可以看出OpenStack的基本功能分為四大部分,基礎(chǔ)服務(wù)(數(shù)據(jù)庫和消息隊列)、計算、存儲、網(wǎng)絡(luò),統(tǒng)一由控制臺進行控制,同時設(shè)置API接口,用于內(nèi)外信息交互。
一個完整的OpenStack項目由四大集群組成:控制節(jié)點集群,計算節(jié)點集群,存儲節(jié)點集群以及網(wǎng)絡(luò)節(jié)點集群。
(1)控制節(jié)點集群
管理基礎(chǔ)服務(wù),對數(shù)據(jù)庫服務(wù)和消息隊列服務(wù)進行管理,保證項目的數(shù)據(jù)存放和消息通信。提供項目的認證、鏡像、計算、網(wǎng)絡(luò)、UI面板服務(wù),對虛擬機的建立和生命周期運行進行管理。同時支持擴展服務(wù)的管理,包括塊存儲、對象存儲等。
(2)計算節(jié)點集群
計算節(jié)點主要負責(zé)虛擬機的建立、運行、遷移等服務(wù),并提供與控制節(jié)點之間的任務(wù)關(guān)聯(lián)以及與網(wǎng)絡(luò)節(jié)點之間的信息交互。同時作為監(jiān)控代理對虛擬機的運行情況進行監(jiān)控,反饋至控制節(jié)點。
(3)存儲節(jié)點集群
存儲節(jié)點主要提供塊存儲和對象存儲功能。塊存儲對虛擬機擴展了存儲空間,保證虛擬機完成更多的功能操作。對象存儲為對象虛擬出存儲空間,該存儲空間僅可實現(xiàn)對象的存儲功能,無法進行修改操作。同時存儲節(jié)點可通過網(wǎng)絡(luò)端口實現(xiàn)與控制節(jié)點連接,接受控制節(jié)點控制,并與計算節(jié)點和網(wǎng)絡(luò)節(jié)點進行信息交互。
(4)網(wǎng)絡(luò)節(jié)點集群
網(wǎng)絡(luò)節(jié)點主要負責(zé)網(wǎng)絡(luò)服務(wù)功能,提供私有網(wǎng)絡(luò)和公有網(wǎng)絡(luò)之間、虛擬機內(nèi)外之間的信息溝通。網(wǎng)絡(luò)節(jié)點包含三個端口,可分別實現(xiàn)與控制節(jié)點的通信、與存儲節(jié)點和計算節(jié)點通信、與外部虛擬機和網(wǎng)絡(luò)之間通信。
OpenStack的主要功能通過一系列組件實現(xiàn),這些組件共同構(gòu)成了OpenStack的API服務(wù),主要組件如下所列:
(1)Horizon:提供web的接口,實現(xiàn)OpenStack的內(nèi)外服務(wù)交互。
(2)Nova:提供虛擬機的管理服務(wù),實現(xiàn)全生命周期管理。
(3)Neutron:實現(xiàn)OpenStack的網(wǎng)絡(luò)連接,為創(chuàng)建的虛擬機提供網(wǎng)絡(luò)服務(wù)。
(4)Swift:實現(xiàn)數(shù)據(jù)對象的存儲管理等服務(wù)。
(5)Clinder:提供塊存儲服務(wù),用于創(chuàng)建和管理塊存儲。
(6)Keystone:用戶身份管理,同時管理服務(wù)目錄。
(7)Glance:完成虛擬機鏡像的管理工作。
(8)Ceilometer:監(jiān)控云平臺的使用狀況。
上述組件之間的關(guān)系如圖6所示:
從上圖中可以看出,面板(Horizon)為系統(tǒng)提供UI管理界面;監(jiān)控(Ceilometer)為系統(tǒng)提供監(jiān)控功能;認證服務(wù)(KeyStore)為系統(tǒng)提供用戶認證;塊存儲(Clinder)為VM提供卷存儲;鏡像(Glance)為VM提供鏡像服務(wù);計算(Nova)為VM提供資源服務(wù),發(fā)起創(chuàng)建VM請求;網(wǎng)絡(luò)(Neutron)為VM提供網(wǎng)絡(luò)服務(wù)。
3 微服務(wù)架構(gòu)介紹
云平臺存在大數(shù)據(jù)、多并行的服務(wù)特點。微服務(wù)架構(gòu)可搭載平臺應(yīng)用、實現(xiàn)資源調(diào)度輸出、支撐多任務(wù)分布式并行處理,滿足云平臺服務(wù)需求[8]。微服務(wù)架構(gòu)聚合了多個微服務(wù)功能,采用復(fù)雜系統(tǒng)去中心化模式,將不同功能業(yè)務(wù)定制到獨立的微服務(wù)模塊中,減少彼此間的耦合度,降低多任務(wù)的并發(fā)運行成本和系統(tǒng)宕機風(fēng)險,實現(xiàn)功能任務(wù)的輕量化和定制化。
基于Spring Cloud的微服務(wù)架構(gòu)如圖7所示:
其中,Eureka集群可實現(xiàn)微服務(wù)的彈性注冊和實現(xiàn),在微服務(wù)運行的過程中,可在Eureka中注冊其服務(wù)名稱、服務(wù)地址等信息,以便于實現(xiàn)服務(wù)查詢。Ribbon集群解決了Eureka僅支持單循環(huán)條件的負載均衡,同時具備配置負載均衡和故障容錯的能力,自動捕獲Eureka中信息進行內(nèi)容填充。ConfigServer可提供集中式配置服務(wù),實現(xiàn)微服務(wù)的橫向擴展,分別更新不同版本的系統(tǒng)配置內(nèi)容。Hystrix可為分布式系統(tǒng)提供通用故障容錯實現(xiàn)模式,完成系統(tǒng)智能熔斷和恢復(fù),同時可提供來自各熔斷機制的重要指標。API網(wǎng)關(guān)對外部客戶端發(fā)出的請求進行處理,完成請求轉(zhuǎn)發(fā)、合成和協(xié)議轉(zhuǎn)換,對外部客戶端而言,API網(wǎng)關(guān)相當(dāng)于客戶端的定制化API。Spring-Security提供若干過濾器,攔截進入請求,協(xié)同認證和訪問管理器對進入請求進行處理,提高安全管理性能。Zuul通過加載動態(tài)過濾機制,實現(xiàn)驗證與安全保障、審查與監(jiān)控、動態(tài)路由、壓力測試、負載分配、靜態(tài)響應(yīng)處理等功能。
基于微服務(wù)架構(gòu)的應(yīng)用模式通過平臺微服務(wù)框架和API接口,實現(xiàn)工業(yè)APP的快速開發(fā)、及時部署,以及行業(yè)內(nèi)數(shù)據(jù)信息的開放式訪問,從而提高云平臺整體的并發(fā)性能和擴展性能,完成APP在線開發(fā)、應(yīng)用在線使用、行業(yè)數(shù)據(jù)信息在線共享,構(gòu)建汽車行業(yè)智力資源的一體化輸出平臺。其應(yīng)用模式如圖8所示:
4 結(jié)束語
云平臺作為工業(yè)互聯(lián)網(wǎng)技術(shù)發(fā)展的重要成果,對汽車行業(yè)的發(fā)展,乃至現(xiàn)代工業(yè)技術(shù)的發(fā)展,有巨大的推動作用。本文通過分層設(shè)計,展示了云平臺的整體功能架構(gòu)和實現(xiàn)手段。運用OpenStack架構(gòu)搭建了平臺硬件設(shè)備和操作軟件之間橋梁,通過硬件虛擬化技術(shù)為軟件運行創(chuàng)建了使用環(huán)境,奠定了云平臺的軟件基礎(chǔ)和云化基礎(chǔ)。微服務(wù)架構(gòu)的部署為云化APP的分布式應(yīng)用創(chuàng)造了條件,解決大數(shù)據(jù)情況下的并發(fā)運行問題。二者自下而上的串聯(lián)起了云平臺的硬件、軟件、應(yīng)用,共同構(gòu)成了平臺從云架構(gòu)到云服務(wù)的技術(shù)基礎(chǔ)。以云化開發(fā)環(huán)境、云化APP和云化數(shù)據(jù)的服務(wù)模式,實現(xiàn)整合汽車行業(yè)優(yōu)質(zhì)資源,推動汽車行業(yè)工業(yè)技術(shù)軟件化的進程,助力汽車行業(yè)標準化、自動化、智能化發(fā)展。
參考文獻
[1]?侯沁.工信部解讀《深化“互聯(lián)網(wǎng)+先進制造業(yè)”發(fā)展工業(yè)互聯(lián)網(wǎng)的指導(dǎo)意見》[N].中國電子報,2017-11-07(007).
[2]?許亞倩.借鑒Predix商業(yè)模式?發(fā)展我國工業(yè)互聯(lián)網(wǎng)平臺[N].中國計算機報,2018-09-24(013).
[3]?菲尼克斯電氣助力海爾COSMOPlat智能制造云平臺全球首發(fā)[J]. 自動化博覽,2017(05):4.
[4]?張金龍,門震江.工業(yè)互聯(lián)網(wǎng)發(fā)展現(xiàn)狀分析研究[J].遼寧經(jīng)濟,2018?(09):16-17.
[5]?黃玨.基于Openstack部署云計算管理平臺[J].無線互聯(lián)科技,2018,?15(19):44-45.
[6]?敬辰依.基于OpenStack-KVM架構(gòu)的虛擬機安全檢測系統(tǒng)設(shè)計及實現(xiàn)[D].電子科技大學(xué),2018.
[7] 邱晨,陳亞峰,周偉.基于容器化OpenStack云平臺及Ceph存儲的私有云實施案例[J].郵電設(shè)計技術(shù),2018(08):51-56.
[8]?洪華軍,吳建波,冷文浩.一種基于微服務(wù)架構(gòu)的業(yè)務(wù)系統(tǒng)設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2018,46(01):149-154.