BOSS接口監控及應急解析
中國移動(dòng)通信集團廣東有限公司佛山分公司 陳健榮 2009/07/10
圖1 BOSS2.0接口系統框架
由圖1可知,從調用方向的角度看,接口可分為主動(dòng)接口和被動(dòng)接口,分別表示BOSS調用外圍系統服務(wù),以及外圍系統調用BOSS服務(wù)。主動(dòng)接口由BOSS應用服務(wù)器驅動(dòng),即BOSS應用服務(wù)器上的主動(dòng)服務(wù)接口進(jìn)程,是調用CICS對相關(guān)待處理表進(jìn)行輪詢(xún),并將每一條記錄封裝為一條消息放入MQ隊列(該隊列均由消息組成),接口機上的主動(dòng)接口再從隊列中取出消息進(jìn)行解析,進(jìn)而根據控制信息發(fā)送到指定系統執行。被動(dòng)接口則是由外圍系統驅動(dòng),通過(guò)接口機上的CICS客戶(hù)端調用BOSS應用服務(wù)器上的業(yè)務(wù)層服務(wù)操作數據庫。
值得一提的是,作為BOSS與外圍系統的承接點(diǎn),接口的功能最終可歸結為對BOSS與外圍系統數據庫的操作。其中,主動(dòng)接口的實(shí)現邏輯對BOSS2.0接口監控措施的實(shí)現至關(guān)重要。
接口監控措施
監控接口是避免故障突發(fā)的重要措施。通過(guò)分析運行情況,監控接口能實(shí)現異常情況的提前預警,有效地縮短故障持續時(shí)間。
從分析方法的角度看,監控可分為定性和定量?jì)煞N,前者關(guān)注受監控體相關(guān)因素本質(zhì)是否發(fā)生變化,是常用手段,而后者則深入到相關(guān)因素變化的數量,使分析更為徹底。
1.接口定性監控
接口的本質(zhì)是進(jìn)程,監控進(jìn)程一般采用查看進(jìn)程狀態(tài)以及日志分析。作為有具體應用的進(jìn)程,接口還有其特殊性,因而接口的定性分析至少覆蓋以下4個(gè)層次。
1)系統環(huán)境
指操作系統及硬件環(huán)境穩定,提供進(jìn)程足夠的信息資源,不存在非兼容應用等情況,這些是接口賴(lài)以生存的基本條件。
2)進(jìn)程狀態(tài)
在系統環(huán)境滿(mǎn)足的情況下,檢測進(jìn)程狀態(tài)是最重要的方法,但必須注意進(jìn)程活躍并不等同于進(jìn)程正常工作,在Linux系統中,其進(jìn)程可能因異常而停止工作,但仍能在活躍列表中查詢(xún)到,此時(shí)需配合日志做進(jìn)一步定位。發(fā)生后這種現象的原因是,在正常情況下,所有的進(jìn)程動(dòng)作都會(huì )被寫(xiě)入log文件。
3)日志分析
在日志分析環(huán)節,主要包括寫(xiě)入狀態(tài)與日志內容,如果檢測到日志處于寫(xiě)狀態(tài),則說(shuō)明對應進(jìn)程是活躍的,但進(jìn)程正常與否尚需進(jìn)一步判斷日志內容。異常操作時(shí),在日志中會(huì )有失敗代碼關(guān)鍵字返回,如failed、error等。
4)進(jìn)程時(shí)態(tài)
進(jìn)程時(shí)態(tài)指從業(yè)務(wù)角度看進(jìn)程活躍的時(shí)間段。并非所有進(jìn)程都是24小時(shí)處于工作狀態(tài),正如銀行劃扣接口一般只允許在夜間啟動(dòng),因此白天期間檢測日志是無(wú)法判斷該進(jìn)程是否正常,若不考慮該特性,則可基本判斷該進(jìn)程結果是否有可能出錯。
在接口的定性監控方面,只有充分結合以上4個(gè)因素,才能對接口運行情況形成較全面認識。
在具體實(shí)施上,為了形成統一的體系以方便監控并達到告警信息與實(shí)時(shí)的反饋,可將以上4個(gè)層面因素納入IBM公司開(kāi)發(fā)的TIVOLI監控系統。除此之外,為實(shí)現告警信息的自動(dòng)推送與分發(fā),可將自行開(kāi)發(fā)告警信息轉發(fā)程序接入TIVOLI監控系統信息庫。一旦檢測到異常信息存在則立即進(jìn)行短信或郵件的發(fā)送,確保維護人員及時(shí)了解接口系統運行情況。整個(gè)過(guò)程如圖2所示。
圖2 TIVOLI監控接口模型
2.接口定量監控
上文措施均從接口本身入手,并定性分析其運行情況。根據圖1對主動(dòng)接口實(shí)現機制的描述,本節文字將從外系統(BOSS庫表)的角度提出監控措施,并利用表面不關(guān)聯(lián)的數據實(shí)現對接口性能的定量分析。
由于主動(dòng)接口的業(yè)務(wù)數據來(lái)源于BOSS庫表,那么,庫表數據累積情況即反映了接口的運行情況,而庫表數據的遞減情況也就反映了接口的性能。示意圖如圖3。
圖3 庫表數據變動(dòng)邏輯示意圖
假設主動(dòng)接口在正常工作的情況下進(jìn)程數為N,庫表原有數據量U,業(yè)務(wù)請求增速恒定Su,經(jīng)過(guò)時(shí)間t后U降低為0(生產(chǎn)環(huán)境中取接近0,若庫表數據隨時(shí)間不斷增加則說(shuō)明接口性能不滿(mǎn)足),則接口單個(gè)進(jìn)程性能為Ci=(U+Sut)/Nt。通過(guò)接口性能能夠評估其吞吐能力,再結合業(yè)務(wù)量重新調整接口進(jìn)程數,達到資源優(yōu)化配置。
對于不間斷工作的主動(dòng)接口(如HLR施工),若其計得性能c,業(yè)務(wù)請求增速恒定為Su,在相鄰的2個(gè)單位時(shí)間內查得的庫表數據量,先后為Ut、Ut+1,則如果|Ut-Ut+1|≈|c-Su|則說(shuō)明接口正常,否則接口可能存在異常,需要引起重視。
對于被動(dòng)接口,BOSS庫表的作用是保存業(yè)務(wù)執行結果,因此在計算性能時(shí)只需考慮外部請求滿(mǎn)負荷情況下庫表的增速Sp,即Cp=Sp。但必須注意的是,庫表數據的增長(cháng)速度s低于Cp并不能說(shuō)明接口一定異常,因為在非滿(mǎn)負荷情況下s
對于負責業(yè)務(wù)查詢(xún)的接口,其數據源與結果均不經(jīng)過(guò)BOSS庫表,因此上述方法不具有普適性。
使用定性分析與定量分析的兩種監控方法,都只涉及接口的某一特性,在監控時(shí)還需充分考慮各種因素,建立完整的接口健康度模型,在定性方法無(wú)法判斷接口運行狀態(tài)時(shí)需進(jìn)一步進(jìn)行定量分析,使得兩種方法優(yōu)勢互補,提高監控的有效性。
應急方案與工具
應急是在故障事實(shí)既定時(shí)的補救措施,主要包括應急方案與工具,前者是完整的流程及措施,后者能輔助方案的順利實(shí)施。
1.制定應急措施并演練
作為BOSS與外圍系統的惟一連接點(diǎn),接口故障將導致內外系統完全中斷。因此,最好的應急措施之一就是在故障時(shí)立即將服務(wù)切換到備機。為保證一次切換成功率,應急方案須詳盡、具可操作性與驗證性,并至少在方案中詳細描述以下關(guān)鍵點(diǎn)。
1)接口機與備機網(wǎng)絡(luò )環(huán)境,包括邏輯連接圖、備機IP、網(wǎng)絡(luò )聯(lián)通等作為判斷條件;
2)接口啟動(dòng)方式與配置參數,包括指令路徑及執行方式,配置文件具體修改方法,接口已正常啟動(dòng)的標志;
3)備機具備對主機完全可代替的條件,包括接口進(jìn)程類(lèi)型、數量,操作系統環(huán)境,配置信息及網(wǎng)絡(luò )結構等;
4)誤操作回滾邏輯,包括操作步驟、命令字,檢測回滾成功的方法。該部分的描述在出現切換失敗時(shí)顯得尤為重要;
5)切換結果測試用例,在切換成功后根據預先設計好的輸入檢測輸出是否符合要求,是檢測切換結果的有效手段。
必須強調的是,完善的應急預案并不能保障應急成功,只有配合熟練演練才能真正發(fā)揮預案的作用。
2.開(kāi)發(fā)應急工具
應急工具能有效縮短故障恢復時(shí)間。廣東移動(dòng)通信有限公司自主開(kāi)發(fā)的“BOSS接口異常數據輔助處理系統”便是處理客服接口故障的重要應急工具之一,系統通過(guò)將異常數據封裝為協(xié)議包直接送接口執行,可有效彌補BOSS前臺功能不足、或前臺界面異常及因流程冗長(cháng)引起的施工延時(shí)或故障,同時(shí)由于該方式精簡(jiǎn)流程,執行效率與成功率高,能有效應對緊急情況。
圖4 智能網(wǎng)號碼充值流程
以圖4智能網(wǎng)充值開(kāi)機流程為例,其經(jīng)歷的步驟繁多,特別是其中信控判斷邏輯復雜,程序處理耗時(shí)多,是引起月結用戶(hù)充值到賬但無(wú)法及時(shí)開(kāi)機的關(guān)鍵環(huán)節。站在服務(wù)用戶(hù)的角度,最直接的應急方式便是提取已繳費入賬的號碼直接送HLR施工開(kāi)機,對于存在欠費可能的用戶(hù),其開(kāi)機狀態(tài)在正常流程進(jìn)行修復,但對于充值后仍欠費的用戶(hù),其開(kāi)機狀態(tài)將在經(jīng)歷過(guò)信控后自動(dòng)被修改為停機。
盡管該方式可能產(chǎn)生欠費風(fēng)險,但考慮到大部分用戶(hù)將根據欠費額度進(jìn)行充值,同時(shí)流程修復時(shí)間也相對較短,該方法依然是可行的。
利用BOSS接口異常數據輔助處理系統執行以上應急流程的方式是:在提取號碼后,根據客服協(xié)議開(kāi)機命令字10007格式要求(HandsetNo~工號~返回格式~nCode~sType~備注),將批量號碼構造成報文列表并導入系統執行。主界面如圖5所示。
圖5 系統主界面
該系統的設計模型如圖6所示。由設計模型可看出,系統主要實(shí)現協(xié)議包的封裝與發(fā)送,后續流程由接口進(jìn)程完成,因此,只要是接口協(xié)議支持的業(yè)務(wù)系統即可。統計《客服接口說(shuō)明》命令字可知系統支持的業(yè)務(wù)類(lèi)型約計500種,能有效滿(mǎn)足多種需求。
圖6 系統設計模型
為了調節對接口所產(chǎn)生的壓力,系統還實(shí)現線(xiàn)程數與執行時(shí)間的動(dòng)態(tài)配置,在接口壓力較大時(shí)可減少系統線(xiàn)程,并把對資源需要量多的任務(wù)定時(shí)在晚間自動(dòng)啟動(dòng),避免對接口日常運作造成不良影響。
總結
本文主要研究BOSS接口的監控方法以及應急措施,將傳統手段納入監控系統,并重點(diǎn)介紹利用庫表定量分析。在應急措施中,主要討論應急方案以及自建系統在應急中的作用,通過(guò)監控預防故障突發(fā),利用應急措施降低故障影響范圍,形成較完整的接口維護體系,佛山移動(dòng)目前在實(shí)踐中已經(jīng)驗證了該方法的有效性。
通信世界周刊
3G元年:惠普軟件讓3G體驗更美好 2009-07-06 |
國外運營(yíng)商3G資費策略:算好資費這筆帳 2009-07-01 |
業(yè)務(wù)支撐系統SSS 幫助電信運營(yíng)商贏(yíng)得先機 2009-07-01 |
運營(yíng)商多思維破解支撐系統轉型難題 2009-06-29 |
思特奇王瀟:構建新一代全業(yè)務(wù)支撐系統 2009-06-24 |