楊 帆,姚玉南,鄭洪江,陳 偉
(1.武漢理工大學(xué),湖北 武漢 430063;2.上海智能網(wǎng)聯(lián)車載終端工程技術(shù)研究中心,上海 200030)
隨著信息化技術(shù)的飛速發(fā)展,人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)逐漸進(jìn)入了生產(chǎn)和生活中。中國船級社(CCS)在總結(jié)了國內(nèi)外智能船舶使用經(jīng)驗(yàn)后,提出了智能船舶集成平臺的構(gòu)想。在智能船舶的航行過程中,船端數(shù)據(jù)和應(yīng)用相統(tǒng)一的集成平臺在建成后,需要與管理智能船舶的監(jiān)測云平臺進(jìn)行數(shù)據(jù)的交互[1]。但是現(xiàn)有的服務(wù)平臺仍然存在著不少問題,其所面向的是復(fù)雜的運(yùn)行環(huán)境,超大規(guī)模的服務(wù),高度復(fù)雜的代碼,船岸通信網(wǎng)絡(luò)的動(dòng)態(tài)變化等,對智能船舶監(jiān)測云平臺的可靠性評估帶來了巨大的挑戰(zhàn)。
目前研究人員將故障注入[2]、馬爾可夫[3]、多階段多狀態(tài)[4]等理論引入了對平臺的評估中,但是評估的對象具有單一性,基本都是通信云平臺,并沒有給出完整的理論分析和定量分析,存在著一定的局限性。本文通過對智能船舶監(jiān)測云平臺的功能模塊進(jìn)行分析,將系統(tǒng)分為四個(gè)層級和三個(gè)狀態(tài),利用隨機(jī)Petri網(wǎng)模型對其進(jìn)行可靠性評估,結(jié)果顯示本文構(gòu)建的模型對于云平臺的可靠性評估具有重要意義。
智能船舶監(jiān)測云平臺是智能船舶智能航行的技術(shù)保障,船端集成平臺對船舶的運(yùn)行數(shù)據(jù)進(jìn)行初步的整合后,通過船岸通信系統(tǒng),將所有數(shù)據(jù)發(fā)送到智能船舶云平臺中,工作人員可以通過該平臺對船舶的運(yùn)行進(jìn)行監(jiān)督,當(dāng)船舶出現(xiàn)故障時(shí),可以直接對該平臺數(shù)據(jù)庫存儲的數(shù)據(jù)進(jìn)行分析,得出初步結(jié)論后,結(jié)合船端的實(shí)際情況,對故障原因進(jìn)行深度的剖析。智能船舶云平臺包括硬件平臺、基礎(chǔ)軟件平臺、應(yīng)用軟件平臺等,同時(shí)平臺中對應(yīng)《智能船舶規(guī)范》中的規(guī)定,同樣集成了智能航行、智能機(jī)艙、智能能效管理等子系統(tǒng),從而形成智能船舶系統(tǒng)。
智能船舶云平臺的可靠性需要考慮平臺組成中的硬件可靠性和軟件可靠性,單單使用一種方法對其可靠性進(jìn)行評估都是片面的,針對系統(tǒng)的可靠性,人們提出了組合法和狀態(tài)法[5],組合法對可靠性的分析主要依靠失效數(shù)據(jù),在已知系統(tǒng)故障的數(shù)據(jù)的基礎(chǔ)上對可靠性進(jìn)行評估。狀態(tài)法主要在分析系統(tǒng)的運(yùn)行狀態(tài)后,基于狀態(tài)之間的轉(zhuǎn)移對可靠性進(jìn)行建模。
目前,對于網(wǎng)構(gòu)軟件和云平臺的評價(jià)大多采用狀態(tài)法[6],利用馬爾可夫鏈直接對系統(tǒng)的狀態(tài)進(jìn)行建模分析,但智能船舶云監(jiān)控平臺作為一個(gè)復(fù)雜系統(tǒng),擁有著龐大的代碼和特殊的功能模塊,若直接采用馬爾可夫?qū)υ破脚_進(jìn)行可靠性評估的話會導(dǎo)致狀態(tài)空間過大,過程繁瑣,且容易產(chǎn)生錯(cuò)誤,因此本文擬采用隨機(jī)Petri網(wǎng)結(jié)合馬爾可夫模型對其進(jìn)行可靠性評估。
傳統(tǒng)的Petri網(wǎng)是一種網(wǎng)狀信息流模型,在網(wǎng)狀模型中節(jié)點(diǎn)主要分為條件和事件2種,在2種節(jié)點(diǎn)構(gòu)成有向二分圖的基礎(chǔ)上增加表示狀態(tài)信息的分布,利用事件的變化引發(fā)狀態(tài)變遷,從而體現(xiàn)整個(gè)系統(tǒng)的變化過程[7]。近年來,對Petri網(wǎng)進(jìn)行建模時(shí)一般會引入時(shí)間等參數(shù),每個(gè)變遷都會與一個(gè)時(shí)間時(shí)延變量相聯(lián)結(jié),這種網(wǎng)絡(luò)結(jié)構(gòu)就叫做隨機(jī)Petri網(wǎng)(SPN)[8]。
SPN變遷的時(shí)延服從負(fù)指數(shù)分布,具有無記憶性,若SPN模型的變遷服從指數(shù)分布,具有無記憶性,則該模型的狀態(tài)可達(dá)圖可同構(gòu)于一個(gè)馬爾可夫鏈,SPN的每個(gè)標(biāo)識對應(yīng)MC中的一個(gè)狀態(tài),SPN的可達(dá)標(biāo)識集同構(gòu)于一個(gè)MC的狀態(tài)空間[9]。計(jì)算各狀態(tài)空間的分布概率即可得到系統(tǒng)的可靠性概率。
目前,智能船舶監(jiān)測云平臺的功能系統(tǒng)主要分為3個(gè):智能航行系統(tǒng)、智能機(jī)艙系統(tǒng)、智能能效管理系統(tǒng)。智能船舶監(jiān)測云平臺是一個(gè)商業(yè)化平臺,設(shè)立有登錄模塊,新用戶可以通過注冊進(jìn)入系統(tǒng)。進(jìn)入主界面后,用戶可以根據(jù)需要選擇對應(yīng)的功能,系統(tǒng)通過搜索與調(diào)用對應(yīng)數(shù)據(jù)庫中數(shù)據(jù),對數(shù)據(jù)進(jìn)行可視化處理,并提供服務(wù)給用戶[9]。同時(shí),數(shù)據(jù)庫在合適的時(shí)候會通過衛(wèi)星通信連接船端平臺進(jìn)行智能船舶數(shù)據(jù)的更新。
由于智能船舶云平臺的功能屬于線性連接,相應(yīng)的模塊之間屬于串聯(lián),任何一個(gè)構(gòu)件出現(xiàn)故障都會影響到系統(tǒng)的正常運(yùn)行,但系統(tǒng)構(gòu)件過多,直接建模易出現(xiàn)狀態(tài)爆炸等問題。故建模時(shí)對系統(tǒng)進(jìn)行分層處理,如圖1所示,第一層為系統(tǒng)層,這一層為智能船舶監(jiān)測云平臺系統(tǒng);第二層為子系統(tǒng)層,分為登錄系統(tǒng)、智能航行系統(tǒng)、智能機(jī)艙系統(tǒng)、智能能效管理系統(tǒng)、船岸連接系統(tǒng);第三層為模塊層,包括登錄模塊、數(shù)據(jù)庫模塊、顯示模塊等;第四層為基礎(chǔ)構(gòu)件層,這一層的劃分與構(gòu)件的功能相對應(yīng),為整個(gè)系統(tǒng)的最底層,也是云平臺系統(tǒng)最基礎(chǔ)的組成部分。
圖1 智能船舶監(jiān)測云平臺層級劃分
智能船舶監(jiān)測云平臺屬于一個(gè)動(dòng)態(tài)運(yùn)行的多態(tài)系統(tǒng),各子系統(tǒng)的狀態(tài)與系統(tǒng)的狀態(tài)進(jìn)行組合,就能形成構(gòu)件組成系統(tǒng)異常、構(gòu)件異常系統(tǒng)正常、構(gòu)件異常系統(tǒng)異常,構(gòu)件正常系統(tǒng)異常4個(gè)狀態(tài),但第四種狀態(tài)存有爭議,一般不進(jìn)行考慮。Petri網(wǎng)是一種常用于復(fù)雜多態(tài)系統(tǒng)的有效工具,根據(jù)系統(tǒng)的功能對其進(jìn)行構(gòu)件組成分解后,利用Petri網(wǎng)可以快速實(shí)現(xiàn)對構(gòu)件狀態(tài)和系統(tǒng)狀態(tài)的判斷,進(jìn)而對系統(tǒng)可靠性進(jìn)行評估。而在隨機(jī)Petri網(wǎng)絡(luò)中引入瞬時(shí)變遷,可以有效降低網(wǎng)絡(luò)的運(yùn)行速度,增加求解的精度。
由于軟件系統(tǒng)模塊內(nèi)部存在著一定的冗余性,即某一模塊出現(xiàn)故障,卻不影響其他模塊功能的正常使用。智能船舶監(jiān)測云平臺采用的設(shè)計(jì)架構(gòu)為微服務(wù)架構(gòu),各個(gè)構(gòu)件、系統(tǒng)之間相對獨(dú)立,內(nèi)聚性強(qiáng),具有較小的耦合性。而智能航行系統(tǒng)、智能機(jī)艙系統(tǒng)、智能能效管理系統(tǒng)三者并無連續(xù)性關(guān)系,用戶可以單獨(dú)使用其中任一功能而不需要考慮其他功能是否可以正常使用。這3個(gè)系統(tǒng)為一個(gè)并聯(lián)系統(tǒng),如果冗余性大于故障的嚴(yán)重程度,根據(jù)軟件故障傳播定律,故障將會局限在一個(gè)模塊內(nèi),僅僅只會影響到一個(gè)子系統(tǒng)的使用,但不影響其他系統(tǒng)的正常運(yùn)行,因此根據(jù)故障的嚴(yán)重程度,可以將智能航行等3個(gè)系統(tǒng)的運(yùn)行狀態(tài)分為三態(tài),即小微故障、嚴(yán)重故障、系統(tǒng)正常運(yùn)行,一般情況下系統(tǒng)在正常運(yùn)行狀態(tài),一旦出現(xiàn)故障,系統(tǒng)的狀態(tài)進(jìn)行變化,根據(jù)故障的嚴(yán)重程度,系統(tǒng)最終所處的狀態(tài)是小微故障與嚴(yán)重故障中的一個(gè),并不能同時(shí)轉(zhuǎn)移到兩者中,二者為沖突關(guān)系。
對3個(gè)系統(tǒng)進(jìn)行沖突行為建模,由于系統(tǒng)采用微服務(wù)架構(gòu),各子系統(tǒng)之間的連接關(guān)系較為明確,整個(gè)系統(tǒng)為一個(gè)串并結(jié)構(gòu),串聯(lián)系統(tǒng)主要為登錄系統(tǒng)、船岸交互系統(tǒng),這兩者為整個(gè)系統(tǒng)提供支持,若這2個(gè)系統(tǒng)出現(xiàn)故障,將會直接影響到整體系統(tǒng)的運(yùn)行,故不存在多態(tài),只取故障和正常兩態(tài)。智能航行等3個(gè)系統(tǒng)為并聯(lián)方式,三者存在著一定的耦合性與獨(dú)立性,若一個(gè)系統(tǒng)出現(xiàn)故障,其余系統(tǒng)正常運(yùn)行,用戶并沒有使用這個(gè)系統(tǒng),云平臺提供的服務(wù)仍然定義為是可靠的,服務(wù)的占有率可以根據(jù)用戶的點(diǎn)擊量進(jìn)行計(jì)算,統(tǒng)計(jì)一年來的數(shù)據(jù),可以算出智能航行系統(tǒng)使用的概率為0.5,智能能效管理使用的概率為0.3,智能機(jī)艙系統(tǒng)的使用概率為0.2。占有率與小微故障的乘積即為小微故障這一狀態(tài)的轉(zhuǎn)移概率。云平臺各子系統(tǒng)之間的串并聯(lián)關(guān)系如圖2所示。
圖2 云平臺各子系統(tǒng)之間的串并聯(lián)關(guān)系
根據(jù)上述分析,對系統(tǒng)進(jìn)行分解和分析,利用PIPE4.3.0(Platform Independent Petri Net Editor 4.3.0)軟件建立云平臺的SPN模型,云平臺子系統(tǒng)層級的SPN模型如圖3 所示,模型中元素含義如表1所示。
圖3 云平臺子系統(tǒng)層級的SPN模型
表1 SPN模型中各元素的具體含義
云平臺的故障存在著一定的隨機(jī)性和連續(xù)性,故障之間也存在著一定的耦合,為了簡化模型,假設(shè)其故障的發(fā)生是相對獨(dú)立的。設(shè)置各子系統(tǒng)庫所的容量函數(shù)K=1,即表示庫所中的標(biāo)識只能有1個(gè),P14為子系統(tǒng)的故障數(shù)目,根據(jù)子系統(tǒng)的數(shù)量設(shè)置庫所容量K=5。圖4為SPN模型的狀態(tài)躍遷圖,圖4中的有向箭頭代表著狀態(tài)轉(zhuǎn)移的發(fā)生,橢圓形為穩(wěn)定狀態(tài),三角形為瞬時(shí)狀態(tài),軟件運(yùn)行初期其可靠性是時(shí)變的,一段時(shí)間后進(jìn)入穩(wěn)定運(yùn)行狀態(tài),各個(gè)可達(dá)狀態(tài)的出現(xiàn)概率趨于常數(shù)[5]。由于瞬時(shí)狀態(tài)出現(xiàn)的時(shí)間過短,軟件失效率遠(yuǎn)小于執(zhí)行率,因此我們僅考慮軟件運(yùn)行達(dá)到穩(wěn)定狀態(tài)后的失效行為。根據(jù)狀態(tài)躍遷圖所示,任一子系統(tǒng)的故障,都會引起狀態(tài)的躍遷,進(jìn)而影響到系統(tǒng)狀態(tài)的變化,但對子系統(tǒng)的故障進(jìn)行維修,系統(tǒng)最終返回到初始狀態(tài)。
圖4 SPN模型的狀態(tài)躍遷圖
在SPN模型中,M0代表著初始狀態(tài),SPN 網(wǎng)模型中的每一次變遷的發(fā)生和標(biāo)識的變化,形成一個(gè)新的標(biāo)識 M1。各狀態(tài)運(yùn)行可達(dá)標(biāo)識集如表2所示。
表2 各狀態(tài)運(yùn)行可達(dá)標(biāo)識集
構(gòu)件的故障率根據(jù)國家關(guān)于軟件可靠性的標(biāo)準(zhǔn)與軟件FMEA分析表,綜合計(jì)算構(gòu)件的嚴(yán)酷度等級,將故障程度分為10個(gè)級別。為了與故障程度相對應(yīng),設(shè)置冗余度的等級也為10個(gè)級別,冗余度主要根據(jù)構(gòu)件的使用次數(shù)、連接的構(gòu)建數(shù)目、程序的復(fù)雜度計(jì)算得出。冗余度的計(jì)算公式如下:
(1)
式中,μ為故障的冗余度級別,即故障的等級如果低于構(gòu)件的冗余度級別,該故障影響可以被消除,故障被屏蔽;n為該子系統(tǒng)的代碼數(shù)量;n總為整個(gè)系統(tǒng)的代碼數(shù)量;ki為該子系統(tǒng)被調(diào)用的次數(shù);k總為所有子系統(tǒng)的調(diào)用次數(shù);li為該子系統(tǒng)連接的子系統(tǒng)數(shù)目;lmax為子系統(tǒng)中連接數(shù)量最大。
小微故障的躍遷率即為影響被屏蔽的故障發(fā)生的概率與子系統(tǒng)使用概率的乘積,計(jì)算冗余度之后,對在冗余度等級之下的故障進(jìn)行統(tǒng)計(jì),可以獲得小微故障的分布概率。
軟件的維修率為在給定時(shí)間內(nèi)隔離和修復(fù)系統(tǒng)中故障的概率。由于設(shè)備的復(fù)雜性,各構(gòu)件之間差異較大,所以維修率并非一個(gè)定值,根據(jù)實(shí)際維修情況,維修率的計(jì)算公式如下:
(2)
式中,μij(t)為i構(gòu)件j故障的維修率,t為構(gòu)件運(yùn)行的總時(shí)間;Ni為系統(tǒng)中i構(gòu)件運(yùn)行的總次數(shù);nij為i構(gòu)件由于j故障的維修次數(shù)。
結(jié)合云平臺的運(yùn)行數(shù)據(jù)和開發(fā)手冊,對故障數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,得到各個(gè)子系統(tǒng)故障和維修的概率,λi為系統(tǒng)的變遷概率,即每個(gè)變遷對應(yīng)的故障率與維修率,SPN模型中各庫所的變遷概率如表3所示。
表3 SPN模型中各庫所的變遷概率
利用PIPE4.3.0軟件自帶的分析功能對各狀態(tài)的概率進(jìn)行求解分析,各子系統(tǒng)可靠度和故障概率如表4所示,各個(gè)庫所擁有令牌的概率,P0庫所代表的意義為系統(tǒng)正常,其概率即系統(tǒng)的可靠性,其值為0.739 37。P14為系統(tǒng)出現(xiàn)故障的數(shù)目,若系統(tǒng)出現(xiàn)一個(gè)或多個(gè)故障,該庫所都會出現(xiàn)令牌,該庫索的概率即為不可靠度,所以系統(tǒng)的不可靠度為0.260 63,系統(tǒng)的不可靠度與可靠度之和為1。同時(shí)計(jì)算P1與P2庫所,P3、P4、P5這3個(gè)庫所,其概率之和結(jié)果為1,證明該模型正確。
表4為各子系統(tǒng)可靠度和故障概率,根據(jù)表4數(shù)據(jù),對其分析可知,智能船舶監(jiān)測云平臺的可靠度為0.739 37,屬于一個(gè)較低的水平,結(jié)合各個(gè)子系統(tǒng)的可靠度分析,智能航行等3個(gè)并聯(lián)子系統(tǒng)的故障概率較大,可靠度均在0.95之下,串聯(lián)的子系統(tǒng)可靠度較高,可靠度均在0.95以上,這也與正常的軟件可靠性分配模型相似,智能航行和智能機(jī)艙的可靠度為系統(tǒng)最低,所以為了提高系統(tǒng)整體的概率,可以提高這2個(gè)系統(tǒng)的冗余度或?qū)Σ糠种匾獦?gòu)件進(jìn)行備份,在構(gòu)件出現(xiàn)故障時(shí),可以利用備份構(gòu)件提供云服務(wù)。
表4 各子系統(tǒng)可靠度和故障概率
智能船舶監(jiān)測云平臺由于其工作環(huán)境復(fù)雜,代碼繁瑣,通信不穩(wěn)定等問題,導(dǎo)致對其進(jìn)行可靠性分析較為困難。該方法可以很好地權(quán)衡軟硬件可靠性評估,從狀態(tài)的變化出發(fā),能夠簡單快速地計(jì)算出模塊的可靠性指標(biāo),給云平臺的維護(hù)和使用提供了理論參考。