敖錦蓉 王小峰 古英杰 周衛星



【摘 要】通過對電信在線計費系統可靠性提升方法的研究,分別從系統架構、業務流程、并發壓力、系統部署等方面進行剖析,論證了引入消息重發機制對在線計費系統可靠性帶來的提升,提出了基于消息重發和緩存的在線計費系統架構設計,并得到充分的技術驗證支撐,為企業構建高可靠性的在線計費系統提供技術參考,同時較好地支持了互聯網時代下電信運營商實時計費需求。
【關鍵詞】在線計費系統 BOSS BDS DCC 計費應用 消息重發
doi:10.3969/j.issn.1006-1010.2016.06.017 中圖分類號:TP31 文獻標識碼:A 文章編號:1006-1010(2016)06-0075-05
引用格式:敖錦蓉,王小峰,古英杰,等. 基于消息重發的電信在線計費系統可靠性提升研究[J]. 移動通信, 2016,40(6): 75-79.
1 引言
隨著移動互聯網時代的到來,實時計費已經是計費系統發展的必然趨勢,要求計費不僅從離線轉向實時,同時還要能保證在線計費率。實時計費相比傳統離線計費方式而言,是更加注重計費處理時效性及對用戶使用情況的授權和及時控制的計費方式。目前2G/3G/4G都是采用實時計費的,尤其是在4G高帶寬、高網速的體驗下,對計費處理實時性的要求更加凸顯。因此,采用實時計費方式是移動互聯網時代對BOSS(Business & Operation Support System,業務運營支撐系統)系統支撐能力轉變的主流趨勢。
2 在線計費系統特點
在線計費根據在線計費消息進行正算與反算,同時結合網元的實時話務控制能力,對欠費風險進行控制。OCS(Online Charging System,在線計費系統)需具備以下特點:
(1)高性能
◆內存計算:基于內存數據庫進行計算,優化流程、內存數據庫存儲和性能。
◆分布式:采用了集群化部署、分布式內存數據庫、分布式文件系統等,具備了負載均衡、路由管理和分布式計算。其中,分布式內存數據庫是完整的基于內存的關系型數據庫系統。
◆高速網絡帶寬:引入萬兆網、InfiniBand網絡。InfiniBand網絡是一種不同于傳統以太網的技術,支持多通道并發鏈接的“轉換線纜”技術,是將存儲、網絡和服務器連在一起的I/O技術。
(2)高可用
◆切換接管:在線計費應用集群部署同質化,即集群內各個節點無差異,同質化部署,能夠互相替代;提升應用、內存數據庫快速接管能力;多中心容災部署。
◆會話管理:對會話進行保存且備份。
◆消息重發:先在網元側有重發,然后在BOSS系統也進行消息重發,有了“雙保險”。
(3)應用集群可水平擴展
◆支持集群內新增在線計費應用節點,新節點就緒后在線消息再分發任務給其處理,應用節點擴展過程中不中斷業務處理。
◆新增節點集群業務處理性能可線性增強。
(4)應用與數據分離
在線計費集群不保存客戶資料、賬務信息等數據,在線計費節點通過統一數據訪問引擎獲取客戶資料、賬務信息和會話信息等數據,實現應用與數據分離。
(5)異常、超時會話的存儲周期可進行配置
3 基于消息重發的在線計費系統可靠性
提升設計
新引入了消息重發和緩存模塊,為了提升可靠性,應盡可能地將消息緩存備份在整個業務流程的前面,以減少信息丟失的可能性,如將緩存布置在在線接入應用層。并且在BDS(Billing Data Service,計費數據服務)做相應的避重處理以提升在線計費系統可靠性,從而減少丟包率和提高在線率。在線計費系統架構采用分層設計,主要由在線接入層、計費應用層、賬務數據層、數據持久層構成。
基于消息重發的在線計費系統功能架構圖如圖1所示:
具體說明如下:
(1)在線接入層:完成服務使用記錄的采集、數據傳輸、格式轉換、數據分發、負載均衡功能。
◆在線采集包含了協議適配、路由管理、DCC(Diameter Credit Control,信用控制協議)匯接代理。
◆數據傳輸完成了采集網元與BOSS之間、省BOSS與總部BOSS系統或其他運營商之間數據的傳輸。
◆格式轉換:從原始服務使用記錄到標準服務使用記錄的轉換。
◆消息重發:當系統出現異常,消息處理不成功或者丟失時,會觸發消息重發模塊進行重發消息,再次進入在線處理流程。
◆消息緩存:當消息從網元發過來時,同時在接入層備份一份消息存在緩存中。
(2)計費應用層
◆依據產品服務資費、用戶資料信息和計費資源完成個人客戶GPRS(General Packet Radio Service,通用分組無線服務)業務的計費過程,按照優惠方式批價。
◆詳單管理暫時改為清單直接寫入文件系統落地。
◆計費引擎根據計費依據和計費規則對輸入的待批價數據進行費用、費率以及可用額度等的計算。
◆計費引擎需要具備正算和反算的能力。正算是指根據用戶產品訂購、業務資費、用戶信息等計算使用的費用;反算是指用戶使用產品服務過程中,實時計費控制傳遞業務使用信息給計費引擎,計費引擎按照賬戶余額、用戶信息、訂購產品、產品資費和優惠等信息,計算可使用的業務額度。
◆預處理:檢錯完成了對原始服務使用記錄的有效性、準確性和完整性檢查;糾錯是針對檢錯輸出的記錄進行糾正,未能糾正的記錄則形成錯單。
(3)賬務數據服務層
◆用戶資料管理、累積量管理、余額管理、免費資源管理。
◆實現應用與數據分離,屏蔽應用對數據的可見性,實現“數據訪問方式”、“數據路由方式”驗證。
◆避重處理:當消息被觸發重發之后,會對緩存中的消息進行刪除或者標記,以避免信息重復處理。
(4)數據持久層
◆可分為資料庫、賬單庫、會話庫和余額庫,采用主備部署方式。
◆保證系統可靠性、可擴展和數據一致性。
基于消息重發的在線計費系統業務流程圖如圖2所示。
具體說明如下:
(1)用戶在通話請求時,向控制網元發起實時計費請求;BOSS系統收到在線計費請求。
(2)對采集和預處理消息進行緩存與備份,對在線控制協議進行適配路由,將格式轉換后的實時計費消息發給相應的計費應用節點。
(3)識別在線計費消息對應的業務。
(4)業務授權:依據業務識別結果對用戶服務使用鑒權。對于不需要實時計費的消息則返回放通消息;鑒權通過則進入反算流程;鑒權失敗則返回用戶無法使用服務應答。
(5)融合控制:依據配置的實時計費流程,調用計費引擎與實時出賬來計算用戶業務資費,根據BDS返回的用戶余額預留余額和用量,并通過在線采集在線控制通話。
(6)完成通話后,業務控制網元通過采集預處理向融合計費傳遞通話情況,融合計費依據服務使用量批價,并通過BDS扣減余額。若出現異常情況時,則會觸發重發進行再次在線計費,并進行避重處理,以避免多次計費、數據重復等情況。
(7)在線計費話單生成:用戶在線話單生成,同時生成整個在線計費過程生成的日志。
4 在線計費系統原型驗證分析
本次原型實驗采用Redis分布式緩存同步方式來進行消息重發,可提升在線計費可靠性,但同時會降低一定的性能。在線計費系統原型結構圖如圖3所示:
基于消息緩存重發與無重發情況下,多次模擬異常場景(斷掉計費應用節點),在同樣軟硬件配置和并發數情況下,在線率和資源占用情況對比如表1所示:
一個好的重發設計方案對于系統的可靠性和性能都至關重要。目前驗證發現重發機制對可靠性影響較大,其次就是并發壓力也會存在一定的影響。通過本次原型開發驗證,對基于消息重發的在線計費系統可靠性提升建議如下:
(1)業務流程上增加消息重發可以提升在線可靠性,但應盡量減少因消息重發而增加的業務流程,這樣可以相對減少整個在線計費過程時延。為了盡量縮短業務流程,可將消息重發盡可能設置在整個流程的最前面,如在線接入應用層。
(2)消息緩存備份應盡可能靠前,以減少消息丟失和重發的可能性。
(3)業務并發數需要權衡可靠性和性能,有重發情況下雖然可靠性得到提升,但隨著并發數據的增加,性能的下降速度比無重發情況下要快,可以通過設定閾值多次驗證得到合適的并發壓力。
(4)重發次數也是影響可靠性和性能的一個重要因素,需要對重發次數做合理限制,處理原則是若某條消息成功完成了在線計費,則在避重處理過程中可將存在緩存庫中的該信息刪除或者備份取出,以保證可靠性和性能。
(5)重發掃描頻率應根據系統資源情況設置。
5 結束語
本文通過對電信在線計費系統特征、架構設計和業務流程進行介紹、分析及設計,討論了基于消息緩存和重發的在線計費系統可靠性提升方法,并以原型開發進行驗證分析,給出了在線計費系統可靠性提升建議,為電信企業在線計費可靠性提升提供一種開發設計和建設技術參考。
參考文獻:
[1] 王海燕. 在線計費系統的架構與應用[J]. 軟件工程師, 2015(8): 46-48.
[2] 陳永華,張東生,楊碩. 在線計費系統高可靠性設計方法探討[J]. 電信技術, 2011(1): 84-85.
[3] 李福慶,李良. 在線計費系統(OCS)云化部署架構研究[J]. 郵電設計技術, 2013(12): 17-21.
[4] 朱穎輝. OCS在線計費系統解決方案分析[J]. 信息通信技術, 2009(6): 33-36.
[5] 武振宇. 內存數據庫及其在實時計費系統中的應用[J]. 電信工程技術與標準化, 2012(3): 62-65.
[6] 張健,阮前. 淺析計費系統性能的影響因素及優化措施[J]. 計算機光盤軟件與應用, 2012(16): 65-66.
[7] 王偉,楊利,劉建鋒. 一種高性能計算環境中的計費系統[J]. 計算機工程與科學, 2008(1): 148-150.
[8] 張江偉,司麗娜,張志鋒. 基于J2EE的電信計費系統的設計與實現[J]. 科技信息, 2008(33): 71-72.
[9] 李蔚,張效尉,李剛. 內存數據庫應用于電信計費系統的研究與實現[J]. 鄭州輕工業學院學報: 自然科學版, 2008(3): 42-44.
[10] 王慧嬪. 基于MMDB技術對電信計費系統研究與實現的探討[J]. 科技資訊, 2009(16): 230.★