本地網(wǎng)農(nóng)村電話實時充值計費系統(tǒng)設(shè)計方案
資永壽 張?zhí)煸?張正忠 陶龍昌 2003/10/27
摘要:隨著通信技術(shù),計算機技術(shù)和社會經(jīng)濟的發(fā)展,電信企業(yè)原有的計費方式已不適應(yīng)當前復雜業(yè)務(wù)和客戶需求。本文介紹了云南曲靖電信自主開發(fā)的實時計費語音充值系統(tǒng),為新電信計費系統(tǒng)的設(shè)計提供了良好的可行性方案。
關(guān)鍵詞:電信 實時 計費 語音平臺
姿永壽 男 1965.09 高級工程師 北京郵電大學計算機系87屆 學士學位
張?zhí)煸?男 1973.10 工程師 重慶郵電學院計算機系92 本
1.引言
長期以來,農(nóng)村電話繳費難、查詢難的狀況造成農(nóng)村電話的大量欠費,企業(yè)資金無法及時收回,嚴重制約了我市農(nóng)村電話的發(fā)展,農(nóng)村電話分散,電信網(wǎng)點、銀行機構(gòu)稀少是用戶繳費難、電信收費難的根本原因,農(nóng)村特有的地理條件,使設(shè)立大量營收網(wǎng)點成本較高,過去的繳費方式已不能滿足企業(yè)生存發(fā)展的需要。經(jīng)過周密的調(diào)查研究,我們確立了語音充值查詢這一繳費方式,從根本上解決這一問題,采用語音查詢充值系統(tǒng)用戶可以隨時隨地通過電話輕松方便地進行話費查詢并完成話費交納,極大的方便了用戶。語音查詢系統(tǒng)從根本上解決了用戶繳費難、查詢難、電信收費難這些問題,推動和促進了中國電信農(nóng)村電話和農(nóng)村信息化的建設(shè),充分體現(xiàn)了"急用戶所急,想用戶所需"的面向市場的經(jīng)營理念。
2. 實時充值計費系統(tǒng)設(shè)計方案
農(nóng)村電話語音充值查詢系統(tǒng)結(jié)構(gòu)示意圖見圖1。
圖1、系統(tǒng)構(gòu)成示意圖
本系統(tǒng)可以分為:話單采集傳輸子系統(tǒng)、計費帳務(wù)處理子系統(tǒng)、收費服務(wù)子系統(tǒng)、語音查詢充值子系統(tǒng)、自動開停機子系統(tǒng)和監(jiān)控服務(wù)子系統(tǒng)六個模塊。
2.1. 話單采集傳輸
話單采集傳輸模塊主要用來實現(xiàn)交換機產(chǎn)生話單的采集、轉(zhuǎn)換和上傳。該模塊對程控交換機每天產(chǎn)生的話單進行實時采集和格式轉(zhuǎn)換,將原來的話單文件轉(zhuǎn)換成標準的計費話單文件并及時上傳到計費服務(wù)器處理。若采集前置機和計費服務(wù)器位于同一局域網(wǎng)內(nèi),則直接通過局域網(wǎng)資源共享將轉(zhuǎn)換后的話單文件上傳;若不在同一局域網(wǎng)內(nèi),則通過電信DCN網(wǎng)依靠FTP協(xié)議將文件上傳。
話單采集傳輸?shù)暮诵脑谟谠荚拞挝募霓D(zhuǎn)換。由于交換機型號、版本不同,交換機產(chǎn)生的原始話單文件格式也多種多樣,為了提高系統(tǒng)的靈活性和擴展性,系統(tǒng)采用定義話單格式的方法,實現(xiàn)僅需通過修改原始話單文件采集參數(shù),即能將不同話單的格式轉(zhuǎn)換成統(tǒng)一的標準話單文件。
采集參數(shù)配置采用<字段名,絕對偏移量,類型,長度,轉(zhuǎn)換方式>五元組完成。如:CC08交換機中定義。
主叫號碼 12(偏移量),字符10長度,按位轉(zhuǎn)換,即可獲得話單中的主叫號碼。通過對配置文件中四元組的定義,完成對不同交換機話單的靈活轉(zhuǎn)換。轉(zhuǎn)換方式的選擇視交換機而定,可能是按位,也可能是ASCII字符等等。為了避免話單重復采集,采集傳輸模塊生成采集傳輸日志,杜絕錯誤的發(fā)生。
2.2. 計費處理模塊
計費處理模塊主要用來完成對上傳的標準話單文件的分揀劃價。為了避免話單文件的重復處理,計費處理模塊將其分揀劃價至指定的備份目錄,刪除無效的、不符合標準話單格式的文件,同時提供話單重算功能。
計費處理模塊的核心在于標準話單文件分揀和劃價的準確性和高效性。話單的準確劃價依賴于話單分揀規(guī)則的準確定位,高效性體現(xiàn)在分揀規(guī)則定位的迅速。
分揀規(guī)則定義:序號、主叫、被叫、局向、計費類型、帳目類型、話單分揀規(guī)則的查找采用二叉樹查找,分揀規(guī)則如下:
二叉樹顯示出很強的功能、很大的靈活性和很高的效率,在計費分揀前將分揀規(guī)則載入內(nèi)存,更大大縮短了查詢時間,二叉樹的查找最多做log2n次比較,遠遠優(yōu)于鏈表查找。
為了提高計費速度,將電話設(shè)備的相關(guān)信息載入內(nèi)存,減少大量內(nèi)存初始化工作也是行之有效的方法。對與計費無關(guān)的設(shè)備信息無須載入內(nèi)存,在系統(tǒng)資源緊張的情況下將會造成大量的頁面交換,影響計費性能。本系統(tǒng)還提供計費類型和帳目類型對照關(guān)系表,適應(yīng)計費和帳目的靈活對應(yīng)。
2.3. 帳務(wù)處理
帳務(wù)處理主要完成計費結(jié)果數(shù)據(jù)的下帳處理。當帳務(wù)處理模塊發(fā)現(xiàn)有計費數(shù)據(jù)產(chǎn)生,它負責實現(xiàn)話單計量費用的優(yōu)惠和下帳。
計費處理和帳務(wù)處理兩個進程需要互相通信,為了避免兩個進程共享資源產(chǎn)生錯誤,實現(xiàn)兩個進程之間的互斥,使兩個進程不能同時處于臨界區(qū),系統(tǒng)采用信號量機制來完成。
若是計費信號量大于1 ,則將其減1并繼續(xù)。若值為0,則將進程睡眠。當計費信號量>0時,收費進程無法進入臨界區(qū),直到計費信號量減為0,收費進程才能進入臨界區(qū)并進行處理。當收費信號量大于0時,計費進程也無法進入臨界區(qū)處于等待狀態(tài),直到計費信號量減為0,計費進程才能進入臨界區(qū)完成計費工作。
2.4. 語音充值查詢
語音充值查詢模塊主要是完成用戶費用查詢和話費充值。
語音技術(shù)的關(guān)鍵是如何最大限度利用語音卡上的語音通道資源。其關(guān)鍵技術(shù)是如何做好分時多進程的控制。其特點是對并發(fā)事件的快速反應(yīng)和有效控制。當一個用戶撥入電話時,不能因其他用戶占用某一通道資源而不能為當前用戶提供服務(wù),多個用戶同時接入時如何有效控制流程等。
要提供一個機制來協(xié)調(diào)語音卡的幾個通路對CPU的使用,如果用While(1){…}死循環(huán)會獨占CPU的使用,即使語音卡的所有通道都空閑,別的通道也得不到系統(tǒng)的使用權(quán),顯然這種方法是行不通的。本系統(tǒng)采用設(shè)定定時器來輪循語音卡的幾個通道,具體而言提供一個公共通道函數(shù)100P(Init
num)來完成通道狀態(tài)的裝換和語音卡相關(guān)功能的執(zhí)行。這里采用switch(…){case…default…}的結(jié)構(gòu)來完成狀態(tài)切換。定義一個通道的結(jié)構(gòu),里面記錄通道的即時信息。當定時時間到,關(guān)閉定時器,對某一通道進行詢問,根據(jù)其通道結(jié)構(gòu)中狀態(tài)信息判斷應(yīng)執(zhí)行什么動作。執(zhí)行完畢后,修改通道結(jié)構(gòu)中狀態(tài)值,啟動定時器,當下一次定時時間到來,按照同樣步驟,對其它通道進行詢問。這樣周而復始,完成所有通道的輪詢工作。由于通道切換時間較短,讓用戶感覺到似乎所有通道都是同時運行。
2.5. 自動開停機模塊
自動開停機主要完成對語音充值模塊傳來的用戶復機指令和帳務(wù)處理模塊送來的開機指令的處理。
自動開停機的關(guān)鍵在于如何實現(xiàn)與交換機的通信。我們將交換機與計費機置于同一網(wǎng)絡(luò)內(nèi),向交換機指定端口發(fā)送開停機指令實現(xiàn)自動開停機。無論是通過串口或以太網(wǎng)口向交換機發(fā)送開停機指令。如何捕獲交換機返回也是至關(guān)重要。許多交換機指定的開停端口除響應(yīng)開停機指令,還響應(yīng)其他指令,這就給指令返回的捕獲帶來困難。我們采用窗口緩沖機制接收交換機返回,當緩沖區(qū)含有交換機對開停指令的返回,我們根據(jù)返回作相應(yīng)處理;如超過緩沖區(qū)大于仍未接收到交換機對開停指令的響應(yīng)。我們通知系統(tǒng)開停機失敗,在下一時刻重新處理該指令。
2.6.監(jiān)控模塊
監(jiān)控模塊主要完成對其他模塊運行情況的監(jiān)控。系統(tǒng)的監(jiān)控模塊提供網(wǎng)絡(luò)連通性,系統(tǒng)數(shù)據(jù)庫服務(wù)和應(yīng)用程序的監(jiān)控。
網(wǎng)絡(luò)連通性的監(jiān)控依賴于網(wǎng)絡(luò)層的網(wǎng)絡(luò)控制信息協(xié)議中的Ping命令。Ping向監(jiān)控網(wǎng)絡(luò)主機發(fā)送icmp消息echo,如果有icmp消息echo
reply 返回,說明監(jiān)控主機可達,網(wǎng)絡(luò)無問題;如果返回target unreachable,則說明監(jiān)控主機不可達。
對系統(tǒng)數(shù)據(jù)庫的監(jiān)控也是通過connet命令向數(shù)據(jù)庫指定的端口(oracle缺省端口是1521)發(fā)送消息包,如果有應(yīng)答,表示主機可以提供數(shù)據(jù)庫服務(wù),數(shù)據(jù)庫正常;如果在指定時間內(nèi)無應(yīng)答,表明主機不提供數(shù)據(jù)庫服務(wù),數(shù)據(jù)庫異常。
對應(yīng)用程序的監(jiān)控我們采用四元組進行描述:
alarm=(time,source,service,sererity)
其中與告警時間time相關(guān)的域?qū)嶋H上是一個時間戳,表示監(jiān)控對象最后一次運行的時間;告警源(source)是發(fā)出陷阱的網(wǎng)絡(luò)設(shè)備的標識,一般標識為網(wǎng)絡(luò)中IP地址;告警服務(wù)(service)是發(fā)出陷阱的網(wǎng)絡(luò)設(shè)備上的特定應(yīng)用服務(wù),如開停機服務(wù)。告警級別(severity)表示告警的嚴重程度分為已清除0(cleared),不確定1(indeterminate),一般信息2(information),警告告警3(waring),次要告警
4(minor),重大告警5(major),根據(jù)告警級別可以進行有效的告警過濾。
3. 系統(tǒng)中使用的優(yōu)化技術(shù)
3.1. 客戶/服務(wù)器工作負載的平衡
服務(wù)器最適合處理集合的數(shù)據(jù)檢索和修改?蛻魴C在顯示復雜用戶界面,處理數(shù)據(jù)格式化和特殊列或行的數(shù)據(jù)有效驗證時效率高。本系統(tǒng)將計費、收費放于不同服務(wù)器,日常統(tǒng)計數(shù)據(jù)存放在備份數(shù)據(jù)庫,充分利用其各自特點,發(fā)揮優(yōu)勢,均衡負載。
3.2.使用存儲過程,減少網(wǎng)絡(luò)負載
網(wǎng)絡(luò)是客戶/服務(wù)器的工作基礎(chǔ),網(wǎng)絡(luò)有限的帶寬也成為它的一個主要瓶頸,減少網(wǎng)絡(luò)負載,可以改善系統(tǒng)響應(yīng)時間、吞吐量,使用存儲過程代替SQL語言有效減少了網(wǎng)絡(luò)流量。
存儲過程的使用提高了系統(tǒng)的效率,節(jié)省了內(nèi)存,數(shù)據(jù)庫的操作業(yè)務(wù)規(guī)則全部統(tǒng)一在服務(wù)器端,保證多種應(yīng)用、多個客戶對數(shù)據(jù)使用的一致性。
3.3. 降低死鎖可能性
SQL SERVER中鎖可分為三種:
共享鎖(shared lock)由讀取頁的進程使用。共享鎖只在特定頁的讀取過程中有效。
修改鎖(update lock)用于將要修改數(shù)據(jù)的進程,當數(shù)據(jù)發(fā)生變化時,修改鎖自動改為獨占鎖。
獨占鎖(exdusive lock)用于正在修改數(shù)據(jù)的進程,獨占鎖用于影響到的負直至事務(wù)結(jié)束。
封鎖機制由SQL Server 自動完成。它保證了數(shù)據(jù)的一致性,但是也不可避免地帶來死鎖。當死鎖發(fā)生時,死鎖的任何進程無法進行系統(tǒng)性能受到嚴重影響,甚至造成數(shù)據(jù)丟失。
系統(tǒng)保證事務(wù)盡可能小,減少鎖定保持時間;用存儲過程控制易死鎖數(shù)據(jù)對象,減少鎖定時間,創(chuàng)建游泳索引,加快事務(wù)執(zhí)行減少封鎖時間。
設(shè)定locktime out,set lock-level 為不同用戶、不同應(yīng)用程序設(shè)置鎖定時間,鎖定級別,避免關(guān)鍵程序因死鎖(lock),阻塞(blocking)而無法運行,造成數(shù)據(jù)丟失或不一致。
4 . 系統(tǒng)應(yīng)用情況
本地網(wǎng)農(nóng)村電話實時充值計費系統(tǒng)從2001年 8 月規(guī)劃設(shè)計到 2001年12月正式在云南省曲靖電信公司投入使用以來,全市八縣一市一區(qū)的所有鄉(xiāng)鎮(zhèn)級及鄉(xiāng)鎮(zhèn)以下一級農(nóng)村交換網(wǎng)計費共151個網(wǎng)點,九萬農(nóng)村電話用戶全部割接至該系統(tǒng),改原有的營收點收繳費用為聲訊充值繳費,從提高企業(yè)勞動生產(chǎn)率方面來看,按每個營收點需配置一個營收員計算,營收員每月工資400.00元(臨時雇傭工標準),每年共需支付工人工資724800.00元,使用充值系統(tǒng)后,不再需設(shè)營收網(wǎng)點,就減少了營收終端的硬件投資,減少了硬件設(shè)備的更新改造維護費用,減少了技術(shù)工作人員的維護工作量。
該系統(tǒng)用戶可隨時隨地地通過本地電話和流動市話進行話費查詢完成話費交納的特點,使全員營銷的理論以技術(shù)支撐得到落實,由于充值用戶界面通俗易懂,操作方便,不需要多少專業(yè)技術(shù),可充分發(fā)動企業(yè)全員力量和社會各種渠道的代銷力量促銷話務(wù)量,通過充值卡的銷售,實現(xiàn)企業(yè)話務(wù)量的增長,利潤的實現(xiàn)。從該系統(tǒng)正式投入使用至今,在云南省曲靖市已售充值卡37360200.00元,累計農(nóng)村電話充值37287200.00元,平均每部電話每月話費收入達
49.52元(按九萬農(nóng)村用戶計算)。
該系統(tǒng)的使用有效的抑制了惡意欠費。2001年底云南省曲靖市電信農(nóng)村電話欠費295031.79元,其中一年以上欠費255141.68元,二年以上欠費193021.46元,使企業(yè)的資金不能及時收回,嚴重損害了企業(yè)經(jīng)濟利益,給企業(yè)的下一步經(jīng)營決策造成了后顧之憂。充值系統(tǒng)采用了預付費的方法,話費不足10元自動提示,余額小于信譽度時單向停機,單停一個月后仍未充值的雙向停機,從多方面有效的抑制了惡意欠費。
由于系統(tǒng)的實用性,使其得到了推廣,云南省德宏州、思茅地區(qū)在流動市話開通后不久相繼使用了該系統(tǒng),使用后得到了當?shù)赜脩艏半娦挪块T的好評,并順利通過了驗收。2002年7月29日在云南省曲靖市科技局的主持下,經(jīng)專家鑒定,該系統(tǒng)實時計費功能處于國內(nèi)先進水平,聲訊充值銷帳功能處于國內(nèi)領(lǐng)先水平。
農(nóng)村電話充值系統(tǒng)開創(chuàng)了固定電話計費繳費新方式,是二十一世紀生活的新方式新手段的一種,是計算機技術(shù)為適應(yīng)中國電信發(fā)展的一種技術(shù)創(chuàng)新,也是電信用戶消費方式的一種革新。
參考文獻
1、 電話語音卡的新應(yīng)用--企業(yè)一卡通的實現(xiàn) 王雪梅 徐群立 電信快報 2002.06 22-23頁
2、 網(wǎng)絡(luò)告警知識發(fā)現(xiàn)研究與實現(xiàn) 劉康平 李增智 計算機工程與研究 2001.23 25頁
3、 程控機房環(huán)境集中監(jiān)控系統(tǒng) 彭海清 計算機與通信 1999.04 40-44頁
4、 如何利用"九七工程"網(wǎng)絡(luò)實現(xiàn)NEAX-61E交換機欠費停機的實時恢復 楊春民 計算機與通信 1999.12 49頁
作者聯(lián)系方法:
云南電信分公司曲靖電信分公司計算機中心
郵政編碼:655000 電話:0874-3317116 0874-9261566
作者供稿 CTI論壇編輯
相關(guān)鏈接: