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