王勇 王杰
摘 要:針對電信運營商業務支撐系統(BSS)賬務處理模塊體量龐大、邏輯復雜、難于驗證的特點。遵循"面向對象"的設計思想,在對BSS賬務處理對象進行邏輯建模的基礎上,提出了"方法戳"的概念和BSS賬務處理分類驗證的方案,并在此基礎上提供了上述方案的一個具體實現,有效解決了電信運營商BSS系統賬務處理流程化驗證的問題。
關鍵詞:BSS;賬務處理;分類驗證;方法戳
1 引言
BSS系統(Business support system,即業務支撐系統)是電信行業IT戰略規劃三大支柱內容之一,是電信運營商一體化和信息資源共享的支持性系統,它主要由網絡管理、系統管理、計費、賬務、營業和客戶服務等功能模塊組成。在BSS系統的幾個主要功能模塊中,賬務處理處于一個舉足輕重的特殊地位,它是BSS系統賬單生產流程的“發動機”,直接決定了BSS系統賬單生成的質量,并對用戶感知具有重大影響。
2 BSS賬務處理模型概述
雖然各運營商的BSS系統之間并不具有兼容性,但是由于客體對象的一致性,因此可以為BSS賬務處理構建一個統一的模型。
BSS賬務處理的客體對象是用戶,用戶的通信行為產生不同類型的賬單,用戶對象和賬單對象分別具有不同的屬性;賬務處理對象與用戶對象和賬單對象交互,根據用戶訂購,參考用戶對象和賬單對象的屬性,執行賬務處理方法,生成輸出。
根據分析得出如下結論:BSS系統賬務處理驗證工作是一項復雜程度很高的任務,完全按照原系統處理邏輯復制處理器的驗證方式,成本太高,實際是行不通的;要完成這項任務,就應該在與宿主系統實現充分耦合的基礎上,獨辟蹊徑,找到一種復雜程度適中、資源要求不高的“綠色環保”的處理方式。
3 BSS賬務處理分類驗證方案的提出
基于上述結論,結合筆者多年從事BSS系統維護工作的經驗,現提出一種BSS賬務處理驗證的新思路,即:BSS賬務處理分類驗證方案;該方案的基本思想是對賬務處理方法進行分類,針對每個類別,分別給出相對簡單的UPDATE語句或存儲過程,驗證賬務處理方法執行的正確性。
4 方案創新點
此方案主要具有以下幾個方面的創新點:一是在處理方法集合和驗證方法集合之間建立起了一個N對一的映射,大幅度降低了任務的復雜程度,使方案的實施成為可能;二是屏蔽了宿主系統的實現細節,為方案實施植入了易用性的天然基因;三是獨創性。本文是國內首篇系統論證BSS賬務處理驗證的論文,所提出的分類驗證項具有開創性的工作。雖然這個方案可能并非最好,也不是最高效的,但是對于后來者而言,它應該可以起到拋磚引玉的作用。
5 方案技術難點
本論文論述的方案主要具有以下幾個方面的技術難點:一是如何確定方案的數據模型和數據流程;二是如何實現對海量處理方法的有效分類;三是如何實現界面化的多任務并發執行;四是如何實現對Update語法的擴展。把握住四個難點,實施正確的方法,增強方案的易用性,使方案的實施成為可能。
6 BSS賬務處理分類驗證方案的實現
以宿主系統為例,采用Java Web編程技術,在逐一給出本案技術難點解決方案的基礎上,詳細說明BSS賬務處理分類驗證方案的具體實現(以下簡稱為樣本實施)。
6.1宿主系統數據模型
宿主系統的數據模型是一個樹形結構,從頂層的資費到底層的費用優惠和費用計算,是通過表間的縱向關聯實現的;樣本實施需要把這種縱向模型轉化為橫向模型,以簡化本案分類驗證思想的實現。
6.2 樣本實施數據模型
樣本實施數據模型包括參數、清單和方法定義三部分,核心是資費明細表和批價政策明細表。資費明細表是將宿主系統的數據模型橫向展開到優惠動作級別,其邏輯含義為:滿足什么條件,執行什么操作;其中的cond_detail解析了到達動作的條件路徑,param_impl_detail解析了宿主系統的參數化實現,exec_detail解析了宿主系統的費用優惠定義。
批價政策明細表是在上述資費明細表的基礎上,將宿主系統的數據模型進一步展開到明細條件級別,以解析出宿主系統明細條件配置中參考的對象;其中object_id為對象標識,source_detail為參考對象的引用場景,譬如:條件、計算或優惠結果。
6.3 樣本實施數據流程
樣本實施的數據流程是一個以結果表求取為中心的數據流程,它包括求取流程和參數流程兩部分,流程的運行由頁面操作驅動且支持用戶中斷和斷點處理;在結果表的求取和驗證過程中,求取流程和參數流程之間將產生多點交互。
需要說明的是,訂購求取中的事務一致性處理是為了保證用戶集的事務完整性,即保證能取到所有相關用戶的訂購和賬單數據。
6.4 賬務處理方法分類實施方案
為了對賬務處理方法進行有效分類,特提出方法戳的概念:方法戳是賬務處理方法參考屬性的集合,能夠標識賬務處理方法的特征,是賬務處理方法分類的主要依據。
在賬務處理模型的幾類屬性中,費用賬單屬性(費用)和累計量賬單屬性(累計量)都是數值型屬性,在賬務處理方法中僅做簡單的四則運算和判斷,只需用一個是或否的標志映射到方法戳中即可。
6.5多任務并發執行實施方案
多任務并發執行的實施需要用到軟件設計中的多線程技術,其設計模式與業務場景密切相關;設計目標是在實現并發的同時,保證數據的完整性和一致性。
在樣本實施中,系統基于本地網運行(每個本地網分別維護一套獨立的參數集),其中存在著本地網和用戶兩種層級的并發場景;要保證兩種并發場景下數據的完整性和一致性,就必須實現系統的多點登陸和單點執行。
6.6后臺過程并發實施
樣本實施中的后臺過程包括資費構成分析、批價政策構成分析、參考賬目分析、結果賬目分析、資費分類表分析、稽核流程執行六大任務;其中除稽核流程執行為用戶并發外,其它任務均為本地網并發;任務的類型、優先級及其與功能框架的對應關系。
6.7驗證語句并發實施
對于用戶層級的驗證語句并發而言,“多點登陸,單點執行”的含義為:在用戶邊界內,多點登陸場景下的并發事務只能以單點模式執行,而在事務內部則允許多任務的并發執行,驗證語句并發的對象模型,
6.8 Update語法擴展實施方案
對Update原生語法的擴展主要有兩個目的:一是為了簡化語句的書寫,二是為了解析語句書寫過程中使用到的變量。采用的技術是JAVA中基于正則表達式的字符串解析技術,主要實現了三種類型的擴展,即:字面值替換、參數型替換、函數型替換。字面值替換是根據正則表達式的規則字符串,對Update語句中的目標字符串做簡單的替換處理;參數型替換在字面值替換的基礎上,為正則替換的結果增加單引號邊界;函數型替換主要用于求取資料屬性在方法戳中的位置,建立對象名到字段名的映射
7 結論
論文的分類驗證思想是在對BSS系統邏輯建模的基礎上提出的,因此不具有特異性,可以供各電信運營商在規劃BSS系統時參考;而樣本實施作為本案的個性化實現,可以在中國聯通內部推廣應用。
參考文獻:
[1] 劉偉,張利國.Java Web開發與實戰[M].科學出版社,2008.
[2]劉啟明,韓慶田.網頁設計教程[M].清華大學出版社,2010.
作者簡介:
王勇,男,1972年出生,河北省衡水市人,工程師;王杰,男,1974年出生,高級工程師,河北省元氏人。