資源描述:
《華為128培訓教材128》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、一.原BAM系統(tǒng)的弊端A.系統(tǒng)龐大,調試維護性差。由于歷史的原因,整個BAM服務器就是一個進程,雖然分為幾個模塊,但模塊間相互影響比較大,沒有真正實現(xiàn)模塊的獨立。同時隨著功能的擴大,系統(tǒng)顯得越來越大,維護自然差。B.沒有充分利用操作系統(tǒng)的特性,執(zhí)行效率很底。核心機制是通過不斷的輪詢緩沖對列,而進行相應的調度處理實際上就是串行執(zhí)行?,F(xiàn)在的操作系統(tǒng)都是多線程,多進程的模式,加強并行處理的效率。C.面向業(yè)務性不強。設計的基礎是單表操作,沒有形成真正的數(shù)據(jù)庫的管理模式,因而事物處理能力不強,自然面向業(yè)務比較困難。二.128終端開發(fā)的目標與特
2、性A.面向業(yè)務。充分利用SQLServer事務處理的特性,將業(yè)務用存儲過程實現(xiàn),不但執(zhí)行效率高,而且能保證業(yè)務處理的完整性,一致性。B.提高并行執(zhí)行的效率。充分利用NT操作系統(tǒng)的特性,將BAM系統(tǒng)分成多個進程,每個進程中有存在多個線程,充分提高業(yè)務執(zhí)行的效率BAM服務器與并行性。進程結構線程1進程2進程1線程2線程n進程nCOM組件COM組件C.易調試,維護,升級。模塊獨立性強,業(yè)務進程互不干涉,對于業(yè)務進程,典型的三層開發(fā)模式:表示層,事務層,數(shù)據(jù)層。核心層事物層利用COM機制實現(xiàn)業(yè)務,COM的特色是自動升級與兼容,代碼重用性強。
3、A.安全,穩(wěn)定。權限管理限到命令一級,對于用戶的每一次操作,由工作站,B.命令碼,操作員決定當前的操作是否允許。通過建立監(jiān)控進程,負責業(yè)務進程的執(zhí)行狀態(tài),同時監(jiān)視整個系統(tǒng)的內存,CPU的占用情況,分析系統(tǒng)的效率。重新啟動與關閉業(yè)務進程。充分利用NT中的群聚技術(Cluster),當應用失敗時自動在檢查點(checkpoint)恢復執(zhí)行。三.系統(tǒng)框架結構與數(shù)據(jù)流A.整個終端的框架結構如下主機端BAM服務器客戶端數(shù)管進程zhMML通訊層測試進程交換進程通訊層MML進程通訊層主機軟件通訊層告警進程安全監(jiān)控進程MML通訊層維護進程數(shù)據(jù)庫訪問
4、層DBLIB存儲數(shù)據(jù)的數(shù)據(jù)庫根據(jù)業(yè)務的性質及處理流程,將整個終端業(yè)務處理模塊分成六個獨立的進程,再加上編譯進程,安全監(jiān)控進程以及與交換機通訊的交換進程構成整個128終端模塊,各部分通過高速共享內存進行數(shù)據(jù)通訊,這樣使各個業(yè)務的實現(xiàn)比較獨立,系統(tǒng)調試維護方便。業(yè)務臺處理獨立而且并行,當其中一個業(yè)務臺出現(xiàn)問題時,其他業(yè)務臺能夠正常運行。整個128終端系統(tǒng)框架分為9個進程,各進程的功能簡述如下:1.MML進程:接收MML客戶端的文本串,并編譯生成一種結構形式,通過共享內存發(fā)給對應的業(yè)務臺進行業(yè)務處理;同時能夠將業(yè)務臺的處理結果發(fā)給對應的M
5、ML客戶端,暫時將權限管理也置于該進程中,將編譯后的結果進行權限檢測。2.Exchange進程:接收業(yè)務進程的數(shù)據(jù)幀,發(fā)送給交換機;同時將交換機發(fā)出的數(shù)據(jù)幀發(fā)給對應的業(yè)務臺進行處理。該進程能夠監(jiān)視業(yè)務臺與交換機間的數(shù)據(jù)包,同時內置有加載功能,數(shù)據(jù)格式裝換以及設定功能。3.DataMan進程:主要是數(shù)據(jù)管理業(yè)務處理,現(xiàn)在利用SQLServer將大部分數(shù)據(jù)業(yè)務封裝在存儲過程中,簡化了數(shù)據(jù)管理,簡稱數(shù)管臺。4.Bill進程:主要是話單業(yè)務處理,簡稱話單臺。5.Maintain進程:主要是維護交換機業(yè)務處理,簡稱維護臺。6.Stats進程:
6、主要是話務統(tǒng)計業(yè)務處理,簡稱話務臺。7.Warn進程:主要是交換機告警業(yè)務處理,簡稱告警臺。8.Test進程:主要是交換機測試業(yè)務處理,簡稱測試臺。9.安全監(jiān)控進程:負責其他進程的安全,保證業(yè)務處理的安全性。A.數(shù)據(jù)流圖進程間通過共享內存進行通訊。每個進程都有一個共享內存,接收其他進程發(fā)過來的數(shù)據(jù)包,正是這些共享內存,將各個獨立的進程連成一體。數(shù)據(jù)流圖如下:(箭頭代表數(shù)據(jù)幀的流向,陰影矩形代表屬于其上面進程的共享內存)。DataMan進程Bill進程Maintain進程Exchange進程MML進程Test進程Warn進程Stats
7、進程對于每個進程,底層都有一個專門的線程接收其他進程過來的數(shù)據(jù)幀;發(fā)送也是采用獨立的線程,不過對于每個被發(fā)送的進程,采用一個線程。因此每個進程框架底層通訊模式是一個接收線程加上多個發(fā)送線程,這樣使每對進程間的通訊比較獨立,不會影響其他進程間的通訊。同時為了提高進程間的通訊速度,采用組幀的方式,每一次向共享內存中寫數(shù)據(jù)時,盡可能放多個數(shù)據(jù)幀,直到共享內存中放不下一個完整的數(shù)據(jù)幀。經測試,在PII266,64兆內存,4G硬盤的機器通過32K的共享內存進程間通訊的速率為8000—9000幀/秒(每幀135個字節(jié)),而在P166,32兆內存
8、,2G硬盤的機器上速率減半,顯然速度還是很快,原因如下:共享內存操縱的是物理內存;同時采用獨立的線程收發(fā)數(shù)據(jù)包,而NT?對于同等級別的線程為平均時間的調度機制。因此框架能夠保證數(shù)據(jù)幀在進程間的流通,關鍵還是業(yè)務處理速度。四.業(yè)務處理流