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