優(yōu)勝?gòu)倪x擇開(kāi)始,我們是您最好的選擇!—— 中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)
0373-5939925
2851259250@qq.com
我要檢測(cè) 我要投稿 合法期刊查詢

NGN話單處理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)

作者:張帆來(lái)源:原創(chuàng)日期:2013-12-17人氣:1095
2006年底,河南網(wǎng)通公司對(duì)全省電話網(wǎng)絡(luò)進(jìn)行大改造,新建的網(wǎng)絡(luò)打破了以前的網(wǎng)絡(luò)結(jié)構(gòu),以兩個(gè)功能強(qiáng)大的新一代交換機(jī)(SS1,SS2)為樞紐,連接全省所有的市話交換機(jī)(市話、網(wǎng)關(guān)、匯接、長(zhǎng)途等交換機(jī)),對(duì)全省所有的話務(wù)進(jìn)行匯接、交換、統(tǒng)計(jì),交換機(jī)對(duì)每個(gè)地市的話務(wù)情況進(jìn)行詳細(xì)記錄,這樣一來(lái),對(duì)于我們網(wǎng)管來(lái)說(shuō),怎樣統(tǒng)計(jì)SS上的話單成為了一個(gè)新的問(wèn)題,由于省公司沒(méi)有提供相應(yīng)的程序,所以,只有自己想辦法解決。于是,經(jīng)過(guò)近1個(gè)月的努力,我開(kāi)發(fā)出了NGN話單處理程序。
1、NGN話單處理的概念
NGN話單就是功能強(qiáng)大的兩臺(tái)交換機(jī)SS1和SS2生成的話單文件,該文件包括3種類型:市話文件,長(zhǎng)話文件,對(duì)端入網(wǎng)。兩臺(tái)交換機(jī)互為負(fù)荷分擔(dān)。每個(gè)交換機(jī)產(chǎn)生的每種類型的文件數(shù)量相等,一天的文件為96個(gè),兩臺(tái)交換機(jī)每天共產(chǎn)生96*3*2個(gè)文件,這些文件存放在省公司的兩臺(tái)專門(mén)的ftp服務(wù)器上。要想處理話單文件首先第一步要每天下載這些文件,第二步對(duì)話單文件批量更名(轉(zhuǎn)換程序?qū)D(zhuǎn)換前的文件名稱有嚴(yán)格規(guī)定),然后用轉(zhuǎn)換程序?qū)⑦@些二進(jìn)制文件轉(zhuǎn)換成標(biāo)準(zhǔn)文本格式(廠家對(duì)二進(jìn)制文件的格式保密,只提供話單的格式轉(zhuǎn)換程序,將二進(jìn)制文件轉(zhuǎn)換為文本文件),具體話單樣式如下(兩條記錄):
1086A2AD3102393396000000158393481502007/08/2322:00:34.532007/08/2322:01:22.900000048.400062220017300000006000000001001583934815000000000EE
最后,對(duì)文本文件編程讀取內(nèi)容,插入到相應(yīng)的庫(kù)表中,再編寫(xiě)程序?qū)?kù)表中的文件進(jìn)行統(tǒng)計(jì)分析,得到我們需要的內(nèi)容,最終形成報(bào)表。
2、NGN話單處理系統(tǒng)的設(shè)計(jì)
話單處理系統(tǒng)采用兩臺(tái)服務(wù)器,一臺(tái)作為數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)采用sqlserver2000數(shù)據(jù)庫(kù),根據(jù)原始話單的特征,建立數(shù)據(jù)庫(kù)ngnbill,分配用戶py_ngnser,passwd:zhangfan,考慮到話單數(shù)據(jù)的量比較大,修改庫(kù)文件大小為10G建立原始庫(kù)表6張,ss1市話表ss1_loc,ss1長(zhǎng)途表ss1_tol,ss1對(duì)端入網(wǎng)ss1_tom,ss2市話表ss2_loc,ss2長(zhǎng)途表ss2_tol,ss2對(duì)端入網(wǎng)ss2_tom。
另外一臺(tái)服務(wù)器作應(yīng)用程序服務(wù)器,負(fù)責(zé)運(yùn)行程序,定時(shí)從省公司的ftp服務(wù)器上下載話單文件,然后執(zhí)行一系列程序,直到數(shù)據(jù)入庫(kù),分析出結(jié)果。
我開(kāi)發(fā)程序時(shí)使用的Powerbuilder6.5以及sqlserver2000數(shù)據(jù)庫(kù)。Powerbuilder6.5是Powersoft公司開(kāi)發(fā)的用于開(kāi)發(fā)大型數(shù)據(jù)庫(kù)應(yīng)用的工具,它是以客戶/服務(wù)器體系結(jié)構(gòu)來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,也是一種面向?qū)ο蟮膱D形方式的集成開(kāi)發(fā)工具。
3、NGN話單處理系統(tǒng)的程序簡(jiǎn)要流程圖:
4、各模塊說(shuō)明
4.1文件自動(dòng)下載,利用DOS的批處理程序和WINDOWS的計(jì)劃任務(wù)實(shí)現(xiàn)了自動(dòng)FTP功能,以下為程序部分源碼(略)
該程序主要是利用dos批處理取得當(dāng)前的日期,然后計(jì)算出昨天的日期,合成文件名的共性部分(文件名舉例:SISDN_200708230015.393.PY_01.LOC.04.0001),然后利用mget命令將所有符合條件的文件下載到本地服務(wù)器相應(yīng)目錄,說(shuō)明:利用批處理程序?qū)崿F(xiàn)日期的加減較為繁瑣,上面的程序用到了一個(gè)第三方的小程序date1,用來(lái)取前一天的日期,最終用windows的計(jì)劃任務(wù)定時(shí)運(yùn)行程序即可。本模塊我還提供了另外一種方式手動(dòng)方式下載,具體是利用現(xiàn)有的網(wǎng)絡(luò)下載工具cuteftp,可以時(shí)時(shí)根據(jù)需要下載自己需要的相應(yīng)日期或時(shí)區(qū)的文件,由于是現(xiàn)有的程序,不再介紹。
4.2文件批量更名模塊
上面提到了剛下載的文件的名字比較長(zhǎng),具體文件名舉例如下:
并且不符合轉(zhuǎn)換程序?qū)π枰D(zhuǎn)換文件的文件名的要求,具體要求文件名格式為d********.s12,“*”為任意數(shù)字,轉(zhuǎn)換后的文件名見(jiàn)下
SISDN_200708230245.393.PY_01.LOC.04.0011
SISDN_200708230015.393.PY_01.TOL.04.0001
SISDN_200708230045.393.PY_01.TOM.04.0003
該部分的程序用powerbuilder6.5編寫(xiě),部分主要代碼(略):
該段程序完成的功能是將計(jì)算機(jī)上相應(yīng)目錄下的文件找到,并按照事先規(guī)定的文件名規(guī)則進(jìn)行批量更名,主要用到了windows自帶的api函數(shù)movefile。
4.3文件轉(zhuǎn)換模塊
該程序主要功能是將符合文件名要求的話單文件從二進(jìn)制格式轉(zhuǎn)換為文本格式,另外還將轉(zhuǎn)換后的許多文件合成一個(gè)文本文件。其他不再介紹。
4.4文本文件入庫(kù)
該模塊的主要功能為將文本文件逐條讀取,然后插入到數(shù)據(jù)庫(kù)響應(yīng)的數(shù)據(jù)庫(kù)表中該程序有powerbuilder6.5編寫(xiě),主要是在窗口中的“開(kāi)始”按鈕中編寫(xiě)代碼,代碼省略。
該段代碼主要利用powerbuilder6.5的讀取文本文件的函數(shù)功能,將文本文件打開(kāi),然后循環(huán)逐條讀取,將讀取的字符串按照字段長(zhǎng)度逐級(jí)截取,然后將各個(gè)字符串插入到數(shù)據(jù)庫(kù)表中,直到最后一條為止,頁(yè)面的開(kāi)始時(shí)間和終止時(shí)間用來(lái)觀察所有一天的數(shù)據(jù)處理完成所需要的時(shí)間,判斷處理速度。
4.5話單的統(tǒng)計(jì)分析
話單的統(tǒng)計(jì)主要完成的功能是將話單按主叫或被叫號(hào)碼分析,根據(jù)號(hào)碼段判斷出所屬局向,從而計(jì)算出不同的局向產(chǎn)生的市話,長(zhǎng)途,以及對(duì)端入網(wǎng)的呼叫總時(shí)長(zhǎng),進(jìn)而計(jì)算出話務(wù)量,這在以前是不可能實(shí)現(xiàn)的,通過(guò)對(duì)這些日常話務(wù)量的監(jiān)控,發(fā)現(xiàn)話務(wù)量激增或銳減時(shí)可以立即對(duì)話單進(jìn)行核對(duì),從而做到發(fā)現(xiàn)問(wèn)題及時(shí)應(yīng)對(duì)。
該部分的程序編寫(xiě)主要是數(shù)據(jù)庫(kù)編程,編寫(xiě)好的數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程用powerbuilder6.5編寫(xiě)程序調(diào)用運(yùn)行,只所以這樣做主要考慮到ngn話單的量特別大,每天都有幾百萬(wàn)條數(shù)據(jù)需要處理,如果單獨(dú)用powerbuilder6.5和簡(jiǎn)單的sql語(yǔ)句處理起來(lái)速度相當(dāng)慢,用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程來(lái)處理會(huì)大大加快處理速度,這樣我們用同樣的服務(wù)器處理起來(lái)速度會(huì)成倍提高。主要的存儲(chǔ)舉例:市話處理存儲(chǔ)過(guò)程pro_sh_qq(將主叫號(hào)碼和被叫號(hào)碼分別截取前4位插入到千群表中),pro_zbjx(將千群表中的數(shù)據(jù)按照目前濮陽(yáng)各局向所包含的千群來(lái)增加主被叫局向同時(shí)插入到局向表中),這兩個(gè)存儲(chǔ)過(guò)程同時(shí)會(huì)處理長(zhǎng)途和對(duì)端入網(wǎng)的數(shù)據(jù),只不過(guò)截取的局向長(zhǎng)度不同,其他相同。有了主叫和被叫局向,我們就可以對(duì)所有的局向通話的總量進(jìn)行計(jì)算,從而得出任意局向間的通話情況。具體存儲(chǔ)過(guò)程代碼省略。
注意事項(xiàng):backuplogngnbillwithno_log的功能是截取數(shù)據(jù)庫(kù)日志文件長(zhǎng)度,因?yàn)閿?shù)據(jù)量比較大,日志增長(zhǎng)比較快,要及時(shí)截取,避免硬盤(pán)空間很快就滿時(shí)造成程序停止向下運(yùn)行。
4.6數(shù)據(jù)存儲(chǔ)
該部分的功能是將數(shù)據(jù)庫(kù)中處理后的數(shù)據(jù),根據(jù)所需保存成exccel文件,以便于形成報(bào)表。具體是利用powerbuilder6.5編寫(xiě),利用數(shù)據(jù)窗口的檢索功能將符合條件的數(shù)據(jù)檢索出來(lái),然后保存成excel文件。
另外值得注意的是如果處理的是對(duì)端入網(wǎng)時(shí)或者是對(duì)全區(qū)的數(shù)據(jù)進(jìn)行保存時(shí),不能保存成excel文件,因?yàn)閑xcel文件最大保存65536條記錄,這時(shí)只能保存成txt文件。

網(wǎng)絡(luò)客服QQ: 沈編輯

投訴建議:0373-5939925????投訴建議QQ:

招聘合作:2851259250@qq.com (如您是期刊主編、文章高手,可通過(guò)郵件合作)

地址:河南省新鄉(xiāng)市金穗大道東段266號(hào)中州期刊聯(lián)盟 ICP備案號(hào):豫ICP備2020036848

【免責(zé)聲明】:中州期刊聯(lián)盟所提供的信息資源如有侵權(quán)、違規(guī),請(qǐng)及時(shí)告知。

版權(quán)所有:中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)

關(guān)注”中州期刊聯(lián)盟”公眾號(hào)
了解論文寫(xiě)作全系列課程

核心期刊為何難發(fā)?

論文發(fā)表總嫌貴?

職院?jiǎn)挝话l(fā)核心?

掃描關(guān)注公眾號(hào)

論文發(fā)表不再有疑惑

論文寫(xiě)作全系列課程

掃碼了解更多

輕松寫(xiě)核心期刊論文

在線留言