成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件架構的可靠性設計

企業(yè)動態(tài)
在網(wǎng)絡設備軟件功能越來越復雜的今天,軟件架構的可靠性占有非常重要的地位。

在網(wǎng)絡設備軟件功能越來越復雜的今天,軟件架構的可靠性占有非常重要的地位。沒有一個可靠的軟件架構,設備的可靠性將無從談起。本文以H3CComware V7軟件平臺為例,介紹其采用的軟件架構可靠性設計方法。

故障隔離和自愈

軟件和Bug是一對伴生的兄弟。在一個龐大的軟件系統(tǒng)中,即使是經(jīng)驗再豐富的程序員也無法保證沒有任何Bug。硬件設備工作再穩(wěn)定,如果不幸遇到軟件Bug,也會引起異常,設備將無法正常工作。因此,故障隔離和自愈是軟件設計中必須要考慮的問題。

故障隔離

故障隔離指在軟件發(fā)生故障的時候,把故障造成的危害限制在最小范圍內(nèi)。為了達到此目標,Comware V7系統(tǒng)采用了Linux操作系統(tǒng)架構,絕大部分程序都是用戶態(tài)程序。在Linux系統(tǒng)中,每個用戶態(tài)程序擁有獨立的進程空間,這樣,一旦某個程序崩潰,并不會對其他的程序產(chǎn)生影響。我們稱這種進程空間獨立的架構設計為真正的模塊化設計。

舉例來說,路由協(xié)議中,OSPF是一個獨立的用戶態(tài)程序,IS-IS也是一個獨立的用戶態(tài)程序。運行期間,在某個極其特殊的情況下,OSPF走入某個代碼異常分支處理流程,而在這里有一個Bug,運行到這就會引起整個OSPF進程崩潰。但IS-IS作為一個獨立的路由協(xié)議,擁有獨立的進程空間,它的運行不受任何影響,還可以正常運行。

故障自愈

故障自愈是讓系統(tǒng)從故障中恢復到正常的工作狀態(tài)。想要做到自愈,首先要發(fā)現(xiàn)錯誤。Comware V7系統(tǒng)有一套完整的進程運行狀態(tài)監(jiān)控機制,可以及時發(fā)現(xiàn)某個用戶態(tài)程序"異常"。其基本工作原理如下

1. 所有的用戶態(tài)程序都是系統(tǒng)初始化進程SCM(Service Control Manager)的子進程,SCM可以感知所有子進程的狀態(tài),一旦發(fā)現(xiàn)某個用戶態(tài)程序崩潰,會主動回收它的資源,然后重新啟動一個相同的用戶態(tài)程序,接替崩潰的程序繼續(xù)工作。

2. 有時一個用戶態(tài)程序出了問題,無法正常工作,但還沒有達到崩潰的地步,這時Comware系統(tǒng)中另外一套主動檢測機制則起作用,過程如圖1所示。

圖1 進程故障發(fā)現(xiàn)與自愈過程

圖1 進程故障發(fā)現(xiàn)與自愈過程

這個特殊的監(jiān)控程序--Monitor,會周期性的檢查各個用戶態(tài)程序,主動向其他的用戶態(tài)程序發(fā)送查詢消息。其他的用戶態(tài)程序在收到Monitor發(fā)來的這個消息后,會進行自檢,并將自身的情況回應給Monitor,Monitor根據(jù)回復的消息得知某個用戶態(tài)程序異常。在更為嚴重的異常情況下,用戶態(tài)程序無法處理Monitor發(fā)來的消息,無法應答,Monitor在一段時間內(nèi)沒有收到應答,則判斷這個用戶態(tài)程序"異常"。

一旦監(jiān)控進程發(fā)現(xiàn)某個用戶態(tài)程序異常,就會通知SCM,SCM重復步驟一:回收它的資源,然后重新啟動一個相同的用戶態(tài)程序,接替崩潰的程序繼續(xù)工作。

以上是對故障隔離與自愈機制的簡單描述,Comware V7實際的工作方式要復雜的多。因為作為一個通信系統(tǒng),各個獨立的用戶態(tài)程序之間并不是真正完全"孤立"的,它們之間會進行各種通信,協(xié)作完成網(wǎng)絡設備的各種功能。所以,想要讓重新運行的用戶態(tài)程序真正的正常工作,還需要記錄大量的程序正常工作時的狀態(tài)信息,以便在重啟以后,使其恢復到故障之前的正常狀態(tài)。

同時,Comware V7擁有EEM(Embedded Event Manager)系統(tǒng),系統(tǒng)管理員可以編寫腳本,在異常發(fā)生時通過EEM觸發(fā)這個腳本。這樣,除上述所提到的中止異常程序重新運行的動作外,還能夠按照腳本做更為復雜的動作,進行異常的遠程上報、進一步的異常診斷分析,或者其他任何可以通過腳本觸發(fā)的動作。這樣,軟件系統(tǒng)的可維護性也大大提升。

進程級備份

故障隔離與自愈功能,僅僅是單硬件系統(tǒng)上的行為。單硬件系統(tǒng)是指只有一個硬件主板的集中式系統(tǒng)(大部分盒式產(chǎn)品都屬于這種情況),或者是分布式設備上的IO板,沒有另外一塊單板作為備份(如分布式設備的大部分接口板、業(yè)務板)。

在硬件有冗余備份的情況下,則需要進程級備份功能,也稱為進程級HA。所謂進程級備份,是相對于單板級HA而言的,主要是指參與備份和倒換的實體不再是整個單板,而是單板上的一個個用戶態(tài)進程。具體過程如圖2所示。

圖2 進程級HA倒換過程示意

圖2 進程級HA倒換過程示意

在主板Master和備板Slave上都有相同的用戶態(tài)程序OSPF在運行,一個工作在"主"狀態(tài),一個工作在"備"狀態(tài)。初始化時,OSPF的"主"進程運行在Master Board上,"備"進程運行在Slave Board上。一旦"主"狀態(tài)的程序異常,Master Board上的Monitor發(fā)現(xiàn)以后,就會通知本板的HA,同時也通知本板SCM。SCM關閉本端的異常程序,再重新啟動,并使其工作在"備"狀態(tài);而HA接到通知后,就會通知Slave Board上的HA,Slave Board上的HA在通知本板的OSPF進程由"備"升級為"主"。

可見,進程級HA是在自愈機制的基礎上,增加了進程級的主備倒換。那么它能帶來哪些額外的好處呢?

自愈過程中,系統(tǒng)會中止"舊"程序、重啟"新"程序,而新程序從啟動到正常工作需要一段時間,在某些情況下可能會很長。在這段時間內(nèi),由于程序還不能夠正常工作,無法完成同外界設備的交互,會引起網(wǎng)絡上的振蕩,造成流量中斷。而進程級HA,工作在"備"狀態(tài)的程序"時刻準備著"接替"主"用程序,一旦發(fā)現(xiàn)異常,立即切換工作狀態(tài),可以大大縮短切換時間,讓外界幾乎感覺不到設備曾經(jīng)"切換過"。

進程級HA的另一個特點是可以通過人為控制,讓一部分程序的"主"進程工作在Master Board上,另一部分程序的"主"進程工作在Slave Board上,這樣就可以達到負載分擔的效果,避免所有的"主"進程都工作在Master上,減輕Master的壓力。

當然,進程級HA需要硬件支持冗余備份,因此適用于堆疊產(chǎn)品,或者分布式產(chǎn)品的主控板,分布式產(chǎn)品的接口板或其他集中式產(chǎn)品都不具備這樣的硬件條件,因此還要依靠自愈來提升可靠性。

上述兩種設計方法配合使用,極大的提升了Comware V7系統(tǒng)的可靠性,并使得Comware V7系統(tǒng)的可靠性設計變得非常富有"彈性",可以適應各種不同產(chǎn)品形態(tài)的需要。

結束語

本文介紹了比較直接的提升軟件可靠性的機制和方法。實際上,在軟件整體架構中,還有其他的提升可靠性的設計原則和方法,目標是設計出真正的高內(nèi)聚低耦合的軟件系統(tǒng),減少在維護和功能擴展過程中,軟件開發(fā)人員"犯錯誤"的機會。總之,良好的軟件架構是軟件可靠性的基礎,是設備可靠性的最重要的保障。

Comware V7是H3C下一代的網(wǎng)絡產(chǎn)品軟件平臺。Comware V7系統(tǒng)構建在Linux體系架構之上,對其中網(wǎng)絡協(xié)議、通訊接口、分布式和高可靠性的方面進行了徹底的改造和擴展,以適應網(wǎng)絡設備的需要。ComwareV7的絕大部分程序都運行在用戶態(tài),是真正的模塊化系統(tǒng),***程度的提升了軟件系統(tǒng)整體的可靠性。同時,它支持多線程并發(fā)和搶占,支持SMP對稱多處理,支持64位CPU,支持設備虛擬化,支持進程級備份以及完整的ISSU。

責任編輯:佚名 來源: 51CTO.com
相關推薦

2010-12-28 20:16:24

2023-11-17 09:00:00

Kafka開發(fā)

2010-12-28 19:50:21

可靠性產(chǎn)品可靠性

2010-12-28 20:04:10

網(wǎng)絡的可靠性網(wǎng)絡解決方案可靠性

2010-12-28 20:14:53

2019-08-30 12:10:05

磁盤數(shù)據(jù)可靠性RAID

2020-12-06 14:51:23

物聯(lián)網(wǎng)可靠性IOT

2011-05-25 19:31:07

Stratus信息化

2018-05-07 10:20:38

Kafka存儲機制

2021-02-02 11:01:31

RocketMQ消息分布式

2018-09-27 14:13:27

云服務可靠故障

2013-11-04 17:05:37

銀行容錯

2011-05-04 19:17:36

VPLSVPN技術

2024-02-28 10:26:04

物聯(lián)網(wǎng)數(shù)據(jù)存儲

2024-03-13 13:09:14

性能智能座艙軟件

2009-04-08 10:23:00

軟交換網(wǎng)絡可靠

2013-11-04 17:04:22

容錯可靠

2017-06-23 18:25:51

kafka數(shù)據(jù)可靠性

2024-05-09 08:04:23

RabbitMQ消息可靠性

2010-09-15 17:12:28

UPS壽命
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线观看一区 | av黄色在线 | 亚洲成人网在线观看 | 中文字幕在线一区 | 91精品国产91久久久久久密臀 | 国产精品一区二区三区久久久 | 国产成人在线视频 | 正在播放国产精品 | 一区二区三区国产在线观看 | 久久免费看 | 97色在线视频 | 久久久网 | 国产乱码精品一区二区三区五月婷 | 色婷婷亚洲国产女人的天堂 | 久久精品一区二区三区四区 | 色综合色综合色综合 | 欧美日韩视频 | 日韩成人高清在线 | 一区二区三 | 国产精品国产成人国产三级 | 国产电影一区二区 | 国产色视频网站 | 国产成人网| 亚洲成人在线免费 | 亚洲成人黄色 | 九色在线| 国产精品不卡 | 欧美又大粗又爽又黄大片视频 | 亚洲一区黄色 | 麻豆久久精品 | av中文字幕网 | 在线天堂免费中文字幕视频 | 久久久久成人精品亚洲国产 | 日韩一级欧美一级 | 精品久久久久久久久久久久久 | 365夜爽爽欧美性午夜免费视频 | 久久久国产精品视频 | 亚洲精品一二区 | 男人天堂网址 | 国产欧美一区二区三区久久手机版 | 中文字幕视频三区 |