日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

淺談軟件架構(gòu)的可靠性

出處:王颶 發(fā)布于:2011-08-30 10:00:57

  軟件架構(gòu)(software architecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì)。軟件架構(gòu)是一個(gè)系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件。各個(gè)組件之間的連接則明確和相對細(xì)致地描述組件之間的通訊。在實(shí)現(xiàn)階段,這些抽象組件被細(xì)化為實(shí)際的組件,比如具體某個(gè)類或者對象。在面向?qū)ο箢I(lǐng)域中,組件之間的連接通常用接口_(計(jì)算機(jī)科學(xué))來實(shí)現(xiàn)。軟件架構(gòu)是指在一定的設(shè)計(jì)原則基礎(chǔ)上,從不同角度對組成系統(tǒng)的各部分進(jìn)行搭配和安排,形成系統(tǒng)的多個(gè)結(jié)構(gòu)而組成架構(gòu),它包括該系統(tǒng)的各個(gè)組件,組件的外部可見屬性及組件之間的相互關(guān)系。組件的外部可見屬性是指其他組件對該組件所做的假設(shè)。

  故障隔離和自愈

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

  軟件體系結(jié)構(gòu)是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ)。與建筑師設(shè)定建筑項(xiàng)目的設(shè)計(jì)原則和目標(biāo),作為繪圖員畫圖的基礎(chǔ)一樣,一個(gè)軟件架構(gòu)師或者系統(tǒng)架構(gòu)師陳述軟件構(gòu)架以作為滿足不同客戶需求的實(shí)際系統(tǒng)設(shè)計(jì)方案的基礎(chǔ)。

  軟件構(gòu)架是一個(gè)容易理解的概念,多數(shù)工程師(尤其是經(jīng)驗(yàn)不多的工程師)會從直覺上來認(rèn)識它,但要給出的定義很困難。特別是,很難明確地區(qū)分設(shè)計(jì)和構(gòu)架:構(gòu)架屬于設(shè)計(jì)的一方面,它集中于某些具體的特征。

  故障隔離

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

  故障自愈

  故障自愈是讓系統(tǒng)從故障中恢復(fù)到正常的工作狀態(tài)。想要做到自愈,首先要發(fā)現(xiàn)錯(cuò)誤。Comware

  V7系統(tǒng)有一套完整的進(jìn)程運(yùn)行狀態(tài)監(jiān)控機(jī)制,可以及時(shí)發(fā)現(xiàn)某個(gè)用戶態(tài)程序“異!。其基本工作原理如下:

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

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

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

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

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

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

  [#page_進(jìn)程級備份#]

  進(jìn)程級備份

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

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

  圖2 進(jìn)程級HA倒換過程示意

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

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

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

  結(jié)束語

  本文介紹了比較直接的提升軟件可靠性的機(jī)制和方法。實(shí)際上,在軟件整體架構(gòu)中,還有其他的提升可靠性的設(shè)計(jì)原則和方法,目標(biāo)是設(shè)計(jì)出真正的高內(nèi)聚低耦合的軟件系統(tǒng),減少在維護(hù)和功能擴(kuò)展過程中,軟件開發(fā)人員“犯錯(cuò)誤”的機(jī)會?傊,良好的軟件架構(gòu)是軟件可靠性的基礎(chǔ),是設(shè)備可靠性的重要的保障。


  
關(guān)鍵詞:淺談軟件架構(gòu)的可靠性軟件架構(gòu)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!