王華 肖榮軍
中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司
隨著全業(yè)務(wù)的快速發(fā)展及移動(dòng)互聯(lián)網(wǎng)的普及,公益性、經(jīng)營(yíng)性呼叫業(yè)務(wù)平臺(tái)和保險(xiǎn)、金融、電商及客服類呼叫業(yè)務(wù)平臺(tái)數(shù)量日益增長(zhǎng),對(duì)電信運(yùn)營(yíng)商提供的專線、業(yè)務(wù)平臺(tái)等性能和壓力要求很高。集團(tuán)客戶(簡(jiǎn)稱集客)呼叫業(yè)務(wù)平臺(tái)一般由電信運(yùn)營(yíng)商IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))網(wǎng)絡(luò)承載呼叫業(yè)務(wù)。對(duì)于提供網(wǎng)絡(luò)服務(wù)的電信運(yùn)營(yíng)商,在集客項(xiàng)目上線交付時(shí),需要對(duì)服務(wù)網(wǎng)絡(luò)質(zhì)量以及平臺(tái)自身運(yùn)行狀況進(jìn)行業(yè)務(wù)功能、性能指標(biāo)以及極限業(yè)務(wù)量下各項(xiàng)性能的驗(yàn)證,以保障業(yè)務(wù)和網(wǎng)絡(luò)的運(yùn)行質(zhì)量,降低風(fēng)險(xiǎn)。
現(xiàn)有傳統(tǒng)驗(yàn)證測(cè)試手段,包括人工撥打和自動(dòng)撥測(cè),僅能驗(yàn)證業(yè)務(wù)功能和業(yè)務(wù)流程的正確性,不能模擬大話務(wù)量呼叫,無(wú)法對(duì)集客業(yè)務(wù)平臺(tái)在極限壓力場(chǎng)景下的性能進(jìn)行評(píng)估。
(1)集客業(yè)務(wù)平臺(tái)設(shè)計(jì)缺陷或配置的不合理。當(dāng)業(yè)務(wù)量增大時(shí),集客呼叫業(yè)務(wù)平臺(tái)軟硬件資源逐漸耗盡,導(dǎo)致業(yè)務(wù)降質(zhì)直至阻斷。
(2)服務(wù)網(wǎng)絡(luò)的資源配置不合理。業(yè)務(wù)高峰期時(shí)業(yè)務(wù)量驟增,對(duì)電信運(yùn)營(yíng)商的服務(wù)網(wǎng)絡(luò)可能會(huì)形成數(shù)據(jù)風(fēng)暴沖擊,影響網(wǎng)絡(luò)運(yùn)行狀態(tài),造成服務(wù)質(zhì)量劣化,甚至?xí)绊懙椒?wù)網(wǎng)絡(luò)承載的其它集客平臺(tái)業(yè)務(wù)質(zhì)量。
如何在集客業(yè)務(wù)平臺(tái)正式上線運(yùn)行之前,預(yù)先模擬正常及極限業(yè)務(wù)場(chǎng)景,評(píng)估網(wǎng)絡(luò)及業(yè)務(wù)平臺(tái)的隱患,對(duì)提前解決所發(fā)現(xiàn)的問(wèn)題,降低正式上線后的風(fēng)險(xiǎn),具有重要意義。
圖1 技術(shù)方案
采用軟件仿真的方式,模擬多路并發(fā)的大話務(wù)量對(duì)業(yè)務(wù)平臺(tái)進(jìn)行測(cè)試,為集客呼叫業(yè)務(wù)平臺(tái)的正式上線和維護(hù)提供保障、降低風(fēng)險(xiǎn)、節(jié)約成本。無(wú)需專有硬件支持,采用軟件方式模擬信令協(xié)議,仿真IMS網(wǎng)絡(luò) SBC(Session Border Controller,會(huì)話邊界控制器)網(wǎng)元,從Gm接口接入現(xiàn)網(wǎng)PCSCF(Proxy Call Session Control Function,代理呼叫會(huì)話控制功能)網(wǎng)元設(shè)備,模擬IMS用戶發(fā)起呼叫業(yè)務(wù)流程,對(duì)呼叫業(yè)務(wù)平臺(tái)進(jìn)行大話務(wù)量的并發(fā)呼叫壓力測(cè)試,驗(yàn)證集客呼叫業(yè)務(wù)平臺(tái)、服務(wù)網(wǎng)絡(luò)在極限話務(wù)量場(chǎng)景下的承壓能力、運(yùn)行性能。
(1)網(wǎng)絡(luò)接入
通過(guò)IP承載網(wǎng)物理接入,模擬Gm接口接入IMS網(wǎng)絡(luò)。
(2)網(wǎng)元設(shè)備仿真
仿真SBC網(wǎng)元設(shè)備,接入現(xiàn)網(wǎng)PCSCF網(wǎng)元。
(3)SIP協(xié)議棧仿真
對(duì)IMS SIP協(xié)議棧進(jìn)行構(gòu)造,從SBC向上級(jí)網(wǎng)元發(fā)起測(cè)試。
(4)業(yè)務(wù)測(cè)試
使用真實(shí)IMS用戶賬號(hào),并發(fā)呼叫至集客呼叫業(yè)務(wù)平臺(tái),同步監(jiān)測(cè)呼叫業(yè)務(wù)的接通率、時(shí)延、語(yǔ)音質(zhì)量等關(guān)鍵KQI指標(biāo)。
測(cè)試中心按如下步驟進(jìn)行測(cè)試:
(1)在測(cè)試中心配置相關(guān)測(cè)試參數(shù),包括:IMS測(cè)試用戶賬號(hào)、仿真的SBC網(wǎng)元屬性、接入的現(xiàn)網(wǎng)PCSCF網(wǎng)元屬性、被測(cè)試的集客呼叫業(yè)務(wù)平臺(tái)號(hào)碼、測(cè)試并發(fā)度、通話時(shí)長(zhǎng)、呼叫間隔等。
(2)測(cè)試中心自動(dòng)使用測(cè)試號(hào)碼,從Gm接口發(fā)起IMS注冊(cè)流程,以保障測(cè)試號(hào)碼處于在線活動(dòng)狀態(tài),為后續(xù)呼叫測(cè)試提供基礎(chǔ)。
(3)測(cè)試中心以被測(cè)試的集客呼叫業(yè)務(wù)平臺(tái)號(hào)碼作為被叫號(hào)碼,根據(jù)測(cè)試并發(fā)度,自動(dòng)發(fā)起多路并發(fā)呼叫,對(duì)呼叫信令流程進(jìn)行控制,接通后,經(jīng)過(guò)預(yù)設(shè)的通話時(shí)長(zhǎng)超時(shí)后自動(dòng)掛機(jī),然后重新發(fā)起呼叫,以保持一定的話務(wù)量CAPS(Call Attempts Per Second,每秒建立呼叫數(shù)量)。
測(cè)試呼叫信令流程如下:
圖2 呼叫信令流程
(4)測(cè)試結(jié)束后自動(dòng)生成測(cè)試評(píng)估報(bào)告,并可以對(duì)單條測(cè)試記錄的話單、信令流程進(jìn)行查詢,基于時(shí)間、號(hào)碼等維度進(jìn)行統(tǒng)計(jì),呈現(xiàn)接通率、接通時(shí)延、通話時(shí)長(zhǎng)、語(yǔ)音質(zhì)量、失敗原因等業(yè)務(wù)指標(biāo)。
本方案與其它測(cè)試驗(yàn)證手段比對(duì)如下表:
表1 測(cè)試方法比對(duì)
與現(xiàn)有的人工和自動(dòng)撥測(cè)方法相比,本方案對(duì)呼叫業(yè)務(wù)平臺(tái)上線的高效評(píng)估、維護(hù)人員數(shù)量的減少以及成本的降低有顯著的效果,具有發(fā)現(xiàn)網(wǎng)絡(luò)及平臺(tái)隱患的優(yōu)點(diǎn),這是現(xiàn)有測(cè)試手段無(wú)法做到的。
系統(tǒng)采用分層架構(gòu),包括:公共支持層、協(xié)議仿真層和測(cè)試應(yīng)用層。
圖3 系統(tǒng)架構(gòu)
(1)公共支持層
提供整個(gè)功能的公用支持模塊功能。
1)并發(fā)管理模塊:對(duì)呼叫業(yè)務(wù)的多路并發(fā)進(jìn)行高效管理。
2)配置管理模塊:對(duì)測(cè)試涉及到的配置進(jìn)行管理,包括:測(cè)試號(hào)碼配置、接口配置、仿真網(wǎng)元配置、互通的現(xiàn)網(wǎng)網(wǎng)元配置等。
3)資源管理模塊:對(duì)系統(tǒng)所需內(nèi)存、消息隊(duì)列、存儲(chǔ)等資源進(jìn)行管理。
4)通信管理模塊:對(duì)通信通道提供大容量高效管理。
(2)協(xié)議仿真層
對(duì)IMS SBC網(wǎng)元進(jìn)行仿真,依據(jù)接口協(xié)議標(biāo)準(zhǔn)規(guī)范進(jìn)行處理。
1)TCP/IP協(xié)議棧仿真處理模塊:對(duì)IP、TCP、UDP協(xié)議進(jìn)行仿真處理。
2)應(yīng)用層協(xié)議仿真處理模塊:對(duì)SDP、SIP應(yīng)用層協(xié)議進(jìn)行仿真處理。
3)接口協(xié)議仿真處理模塊:對(duì)Gm接口進(jìn)行仿真,與現(xiàn)網(wǎng)PCSCF進(jìn)行互通。
4)網(wǎng)元仿真處理模塊:仿真IMS網(wǎng)絡(luò)SBC網(wǎng)元實(shí)體行為。
(3)測(cè)試應(yīng)用層
提供業(yè)務(wù)測(cè)試、業(yè)務(wù)質(zhì)量評(píng)估和報(bào)表輸出。
1)業(yè)務(wù)測(cè)試模塊:進(jìn)行注冊(cè)、呼叫業(yè)務(wù)自動(dòng)并發(fā)測(cè)試。
2)業(yè)務(wù)質(zhì)量分析模塊:對(duì)業(yè)務(wù)測(cè)試的接通率、時(shí)延、語(yǔ)音質(zhì)量、失敗原因等指標(biāo)進(jìn)行質(zhì)量分析。
3)測(cè)試報(bào)表輸出:對(duì)測(cè)試進(jìn)行統(tǒng)計(jì)分析,生成報(bào)表結(jié)果,輸出給用戶。
一個(gè)IMS測(cè)試的生命周期包含一個(gè)狀態(tài)序列,任一時(shí)刻都處于某一種狀態(tài)中,每個(gè)狀態(tài)為一定時(shí)間內(nèi)穩(wěn)定的“暫態(tài)”,當(dāng)接收到外部事件觸發(fā)后,狀態(tài)會(huì)遷移到下一個(gè)狀態(tài)。IMS測(cè)試的狀態(tài)遷移圖示例如下:
圖4 測(cè)試狀態(tài)遷移
狀態(tài)之間存在一定的時(shí)間間隔,當(dāng)某一路測(cè)試保持于某個(gè)狀態(tài)而無(wú)外部消息觸發(fā)時(shí),則處于“等待”狀態(tài),處理機(jī)可以轉(zhuǎn)而處理其它測(cè)試,從而實(shí)現(xiàn)N路并發(fā)測(cè)試處理。
具體實(shí)現(xiàn)中,每一路呼叫在內(nèi)存中分配一個(gè)呼叫控制塊,記錄呼叫的狀態(tài)、主叫號(hào)碼、被叫號(hào)碼、呼叫進(jìn)展時(shí)間戳、控制面IP地址、媒體面IP地址、端口以及定時(shí)器等基本呼叫信息。測(cè)試過(guò)程中,根據(jù)當(dāng)前所處的狀態(tài),對(duì)外部觸發(fā)消息進(jìn)行處理,更新呼叫控制塊中相應(yīng)的信息后,并遷移到下一個(gè)狀態(tài),以完成測(cè)試流程的控制。
同時(shí)采用如下機(jī)制,以保障在大話務(wù)量并發(fā)場(chǎng)景下事務(wù)處理的實(shí)時(shí)性和高效性。
(1)高速消息交互機(jī)制:采用零內(nèi)存拷貝,統(tǒng)一封裝的內(nèi)存管理機(jī)制和內(nèi)存節(jié)點(diǎn)鏈交互,保證了海量數(shù)據(jù)的實(shí)時(shí)處理,大大減少了數(shù)據(jù)交互在臨界區(qū)的時(shí)間。
(2)高效消息隊(duì)列機(jī)制:針對(duì)多線程之間的大量交互消息隊(duì)列,消息通知和定時(shí)器消息間相互結(jié)合的掃描處理機(jī)制,保證了消息的實(shí)時(shí)處理和高效率。
(3)高速通信機(jī)制:封裝了實(shí)時(shí)通信接口模塊,同時(shí)支持10萬(wàn)量級(jí)以上的實(shí)時(shí)SOCKET無(wú)阻塞并發(fā)通信,實(shí)現(xiàn)了多進(jìn)程、多線程之間的高速通信交互。
在具備必要的硬件處理資源條件下,即可完成大話務(wù)量并發(fā),對(duì)呼叫業(yè)務(wù)平臺(tái)進(jìn)行承壓性測(cè)試。
在測(cè)試過(guò)程中,同步跟蹤監(jiān)控測(cè)試號(hào)碼的所有IMS業(yè)務(wù)測(cè)試流程,自動(dòng)關(guān)聯(lián)所有的信令交互過(guò)程,實(shí)時(shí)展現(xiàn)在圖形終端,提供信令流程顯示,流程圖上能按時(shí)間次序呈現(xiàn)各個(gè)子過(guò)程的信令流程,供系統(tǒng)操作用戶分析使用。根據(jù)不同的信令過(guò)程自動(dòng)分色顯示,提供詳細(xì)到比特位的信令解碼。存儲(chǔ)信令消息碼流,實(shí)現(xiàn)數(shù)據(jù)的過(guò)程回放功能,為測(cè)試結(jié)果的分析提供有力的支撐手段。
圖5 信令同步跟蹤
充分利用數(shù)據(jù)挖掘技術(shù),從測(cè)試數(shù)據(jù)的提取、存儲(chǔ)管理、業(yè)務(wù)呈現(xiàn)方面提高運(yùn)維效率,方便查找網(wǎng)絡(luò)問(wèn)題。
從任務(wù)總攬界面圖、網(wǎng)元實(shí)體指標(biāo)總覽圖上通過(guò)簡(jiǎn)單點(diǎn)擊,可以獲取某個(gè)任務(wù)最近48小時(shí)的運(yùn)行成功率指標(biāo)曲線(魚骨圖、柱狀圖、報(bào)表等)、某周的日成功率比較曲線、某月的成功率周比較曲線,從一個(gè)測(cè)試任務(wù)的指標(biāo)曲線中能顯示成功率下降的故障的時(shí)間點(diǎn),并關(guān)聯(lián)到相應(yīng)的詳細(xì)話單和碼流及告警記錄。支持測(cè)試業(yè)務(wù)所有任務(wù)的魚骨分布圖,對(duì)各種故障原因名稱和比例按業(yè)務(wù)流程順序呈現(xiàn)在魚骨圖上,并從魚骨刺上提供查詢到相應(yīng)CDR的功能,從CDR進(jìn)一步關(guān)聯(lián)到消息碼流和過(guò)程流程圖,并最終能關(guān)聯(lián)到消息的解碼顯示等。
圖6 測(cè)試數(shù)據(jù)挖掘分析
(1)更接近現(xiàn)網(wǎng)運(yùn)行場(chǎng)景的一體化性能壓力測(cè)試
為了向客戶提供穩(wěn)定可靠的服務(wù),采用軟件仿真的方式模擬多路并發(fā)的大話務(wù)量對(duì)呼叫中心平臺(tái)進(jìn)行測(cè)試,并不是孤立的對(duì)呼叫平臺(tái)進(jìn)行測(cè)試,而是在真實(shí)網(wǎng)絡(luò)環(huán)境下,使用實(shí)際用戶賬號(hào),經(jīng)過(guò)服務(wù)網(wǎng)絡(luò)進(jìn)行測(cè)試,這實(shí)現(xiàn)了呼叫平臺(tái)和網(wǎng)絡(luò)環(huán)境的一體化測(cè)試,更準(zhǔn)確地反映實(shí)際應(yīng)用場(chǎng)景下的承壓情況、運(yùn)行性能,為平臺(tái)的正式上線和維護(hù)提供保障、降低風(fēng)險(xiǎn)、節(jié)約成本。
(2)風(fēng)險(xiǎn)前置,減輕后續(xù)維護(hù)隱患
通過(guò)對(duì)呼叫中心平臺(tái)的性能壓力測(cè)試,提前發(fā)現(xiàn)傳輸、平臺(tái)、網(wǎng)絡(luò)側(cè)的隱患,在業(yè)務(wù)交付前對(duì)產(chǎn)品進(jìn)行壓力測(cè)試,增加了產(chǎn)品的穩(wěn)定性。為后續(xù)產(chǎn)品交付和維護(hù)減輕壓力。
(3)已在電信運(yùn)營(yíng)商網(wǎng)絡(luò)取得顯著的應(yīng)用效果
本系統(tǒng)已取得顯著的應(yīng)用效果,利用電信運(yùn)營(yíng)商IMS網(wǎng)絡(luò),對(duì)多個(gè)大型集客呼叫業(yè)務(wù)平臺(tái)實(shí)施大話務(wù)量壓力測(cè)試,發(fā)現(xiàn)多起服務(wù)網(wǎng)絡(luò)和業(yè)務(wù)平臺(tái)隱患。例如:江蘇移動(dòng)公司使用本系統(tǒng),對(duì)宿遷京東商城呼叫中心平臺(tái)進(jìn)行入網(wǎng)前的大話務(wù)量壓力測(cè)試,測(cè)試結(jié)果如下:
表2 測(cè)試結(jié)果
經(jīng)測(cè)試發(fā)現(xiàn)網(wǎng)絡(luò)和業(yè)務(wù)平臺(tái)存在隱患:
運(yùn)營(yíng)商網(wǎng)絡(luò)提供的IMS出口至呼叫中心平臺(tái)網(wǎng)絡(luò)帶寬不足,當(dāng)業(yè)務(wù)量達(dá)到閾值后,部分測(cè)試呼叫失敗。
呼叫中心平臺(tái)參數(shù)配置不合理,存在缺陷,導(dǎo)致極限情況下,平臺(tái)軟件崩潰異常。
經(jīng)過(guò)網(wǎng)絡(luò)及業(yè)務(wù)平臺(tái)的調(diào)整,測(cè)試結(jié)果正常,為業(yè)務(wù)平臺(tái)的入網(wǎng)正常運(yùn)行提供了有力的保障。
通過(guò)集客語(yǔ)音專線業(yè)務(wù)平臺(tái)性能壓力測(cè)試系統(tǒng)的實(shí)現(xiàn),為大容量集客呼叫業(yè)務(wù)平臺(tái)的入網(wǎng)上線提供了有力的驗(yàn)證支撐手段,最大程度降低了電信運(yùn)營(yíng)商和集客用戶的運(yùn)營(yíng)風(fēng)險(xiǎn)。當(dāng)然,測(cè)試系統(tǒng)還可以進(jìn)一步完善提高,擴(kuò)展測(cè)試的廣度,例如增加對(duì)集客專網(wǎng)數(shù)據(jù)業(yè)務(wù)的壓力測(cè)試,以適應(yīng)更多的應(yīng)用場(chǎng)景。