王敏麗 石靖寧 李 微
(中國移動通信集團信息技術有限公司,廣東 深圳 518048)
移動通信技術持續演進,新業務和新的結算模式不斷涌現,未來Billing and Charging Evolution(BCE)將取代Transferred Account Procedures(TAP),成為國際漫游結算的主流機制。但正如移動通信網絡技術的演進是一個逐步替代的過程,TAP在相當長的時間內無法被BCE替代是運營商的普遍共識,國際漫游的BCE和TAP結算機制勢必長期共存。
在當前形勢下,繼續沿用TAP機制滿足新技術場景、BCE結算機制下對結算資費模式的新需求,以及隨著5G、物聯網技術的普及,國際漫游的話單量將可能大幅度增長,都將給國際漫游結算批價系統的建設帶來新的考驗。
國際漫游TAP和BCE兩種結算機制共存,對國際漫游資費批價系統至少有兩方面的影響:一方面,通過升級改造TAP話單支撐物聯網、5G等新業務,TAP話單就會變得更加復雜;另一方面,國際漫游的部分業務的結算通過BCE機制完成,BCE下的資費模式更加靈活多樣,對系統的批價能力的要求更高。當前,國際漫游資費批價系統實現所面臨的難點具體分析如下:
2.1.1 話單資費節點多
TAP文件依據ASN.1解碼,資費相關節點集中在Charge Information節點組下的21個節點中,如運營商開通CAMEL業務,CAMEL Service Used節點組下也存在5個相關資費節點。此外,IMSI、主被叫號碼、撥號號碼、APN、通話開始時間、通話時長、OSI等節點也可能屬于資費相關節點。而且話單樹形結構中節點存在必填(M),重復出現(R),選填(O),在某些條件下出現(C)等不確定因素,也給話單依據節點填值匹配資費規則帶來難度。
2.1.2 隨著業務發展,節點填值擴展造成屬性變化
隨著新業務的發展,TAP話單的節點填值需要不斷擴充,在不修改TAP話單節點組結構的情況下,給原有節點賦予新的填值是TAP機制支撐新業務的主要手段。比如,VoLTE話單基于GPRS流量話單承載,為識別VoLTE業務,TD.58規定根據CTL2和APN節點賦予新的填值區分;5G因為目前采用NSA架構,話單通過GPRS承載,所以在流量話單里暫時無法識別,而物聯網(包括M2M/NB-IOT等)等其他話單類型則可能通過IMSI、APN等區分。
通過對TAP話單節點的賦值,改造量相對較小,可以快速支撐新業務的上線,但增加了批價系統去匹配業務以及話單類型與資費規則的復雜度,直接影響到了批價結果的準確性和效率。
2.2.1 資費規則復雜
當前,國際漫游結算資費規則復雜,全球1000余家運營商其協議資費因國情不同,資費種類多、收費名目多,方式各異。如資費單元按線性、初始后續不同,Airtime和Toll Charge資費單元不同等;資費時段存在多個忙閑時區間;稅率分為固定稅率、固定稅值、區間稅率、可變稅率等;流量分切割話單、分段資費、上下行分別收費等。再者,運營商除了在AA.14或RAEX IOT中發布了標準資費的協議外,和部分漫游伙伴又存在著優惠資費SIOT,基礎資費和協議資費交叉共存。
2.2.1 資費模式靈活多樣
5G網絡的技術和應用場景及其商業模式分別為國際漫游的結算模式的發展提供了條件和推動力,未來國際漫游的結算模式將會更加多樣化。套餐資費、階梯計費等累計用量的模式將逐步取代當前的單價模式,成為5G國際漫游主要的結算模式;基于流量、速率、時延、連接次數或連接設備等多量綱、多層次的5G國際漫游結算模式也將逐漸成為趨勢;而且,憑借BCE結算機制,資費模式將更加靈活,比如,結算周期可以按日、周、月或年等靈活進行;參與結算的對象既可以是漫游的個人用戶,也可以是連接設備;既可以對全體漫游用戶實行統一的資費模式,也可以針對細分群體制定相應的資費模式等。
隨著4/5G的演進以及M2M、NB-IOT等技術在通信領域的應用,國際漫游話單量尤其是流量話單呈快速增長態勢,例如,香港某運營商自2016年至2021年話單量增長近5倍。同時部分運營商提出了更高的話單回傳時限要求,如灣區共享套餐要求出訪漫游業務實時批價,VPMN話單需要在20分鐘內完成包括資費校驗和批價等處理下發給HPMN。國際漫游話單量大幅度的增長,極大影響著批價系統的處理能力。
通過上文對國際漫游資費批價系統實現所面臨的難點的具體分析,國際漫游資費批價系統的設計思路有以下4點建議:
運營商資費規則雖然復雜,但是在參數方面存在共性,可大致分類為公共參數、話單節點參數、資費協議參數、費用參數等。依據不同的參數類別進行前臺公參表和后臺數據庫表字段設計,可以得到類別統一的資費維護數據庫表。雖一套資費分不同表配置,但各表之間也存在公共參數,方便配置人員理解和維護,降低了程序識別資費規則的難度。例如,依據運營商在資費制定時,優惠資費和批價資費基于普通語音、短信和流量話單,對于短號號碼、海事衛星等特殊號碼不存在優惠資費或者批價,所以將普通語音和短號、海事衛星進行拆分,分表維護。

圖1 資費場景參數歸類圖
資費規則引擎雖然具備場景豐富、匹配功能強大等優點,但存在功能復雜、流程冗長、維護難度大、可視化程度低、配置人員學習成本高等問題。復雜的系統導致操作流程牽涉人員角色多、配置流轉環節多、上線流程長、資費匹配錯誤溯源難度大等問題,無法滿足現有資費維護需求。
因此,需摒棄原有龐大復雜的規則引擎實現方式,數千套資費協議、數十萬條資費規則,要求流程簡潔、扁平、透明。因此,通過前臺界面公參維護,后臺數據庫表通過內存數據庫存儲,實時刷新,實現一鍵匯聚導入導出功能,省掉資費包、規則文件配置等人工操作難度大、易錯等流程,成為更優選擇。

圖2 資費規則前后臺更新邏輯圖
具體前臺公參表和后臺規則數據庫同步邏輯可以設計為前后臺定時刷新方式。當前臺配置界面規則記錄變更后,系統與現有配置數據按關鍵字進行生、失效時間的交叉判斷與規則拆分,對物理庫進行增刪改操作,同時將增刪改的數據的主鍵信息發送到消息中間件。內存庫對比刷新應用,從消息中間件獲取刷新主鍵,將物理庫數據刷新至內存庫。內存庫對比刷新應用定時對內存庫與物理庫數據進行對比,如發現差異以物理庫為準進行數據刷新。
面對未知的新業務和技術場景以及有限的已知的TAP節點,可行的建設思路是擴展系統中資費相關節點,在資費表中增加可變字段,支持擴展TAP文件常用的節點組信息,進行靈活配置。例如預留OSI、Cell Id、IMEI、Bearer Service Code等40余個節點,同時,支持字段填值前綴、后綴、區間等靈活匹配方式,節點填值可識別、可配置,以便靈活支撐后續新業務,實現最少改動量。
設計前臺展示字段和數據庫表字段,同時考慮到話單通常是基于數個節點填值組合判斷匹配資費規則,可以在相關界面增加節點名稱+節點填值字段組,字段組數量依據語音、流量、短信等具體的話單類型而定,通常2~3個可變節點組即可滿足需求。
為滿足億級話單的實時資費校驗與批價需求,可以應用分布式內存數據庫存放資費校驗與批價業務規則,供后臺資費校驗程序直接使用。關系型數據庫存放費校驗與批價前臺配置數據。HDFS共享文件系統,存放資費校驗與批價處理前和處理后的話單文件。
系統架構設計中外部接口層負載分發接口負責與預處理的Socket鏈接,并將接收到的預處理消息通過輪詢的方式以Dubbo協議分發給資費校驗接口。前臺配置接口負責對資費校驗前臺配置管理信息的處理,如配置規則的生、失效規則。處理層:由資費校驗與批價負責實際的業務處理;由內存庫對比刷新應用定時將內存庫與物理庫數據進行對比。數據訪問層則統一封裝數據訪問組件,可分為數據庫中間件訪問組件、內存庫查詢刷新組件、HDFS讀寫組件。

圖3 系統架構設計思路圖
采用分布式架構設計,要求主體節點資源具備良好的擴展性。具體使用Redis還是MDB則依據具體的應用場景而定,如果需要緩存的數據只是簡單的結構時,一般采用MDB,它也足夠穩定可靠。如果涉及到存儲、排序等一系列復雜的操作時,則建議選擇Redis。
本設計思路滿足了國際漫游復雜結算資費的批價需求,可供擁有數十萬級資費規則和百億級業務量的結算系統進行參考。鑒于未來BCE和TAP將長期共存,如CS電路域用TAP結算、PS分組域用BCE結算等,運營商和清算中心應積極跟進BCE標準的演進進程,盡早完成國際漫游資費批價系統相關功能的建設。