



1 系統(tǒng)概述
1.1話單處理系統(tǒng)的概念
話單處理系統(tǒng),本著提高網(wǎng)管分析水平,為經(jīng)營部門提供準確的數(shù)據(jù)依據(jù),從而達到對其它運營商的一些高端用戶進行策反的目的,利用powerbuild編程工具及sq1server2000數(shù)據(jù)庫技術(shù),將原有的網(wǎng)關(guān)局交換機(華為交換機)生成的話單(文本文件)進行分析處理的系統(tǒng),它包含了話單初始化,Ip查詢,Ip統(tǒng)計,其它運營商查詢及統(tǒng)計,后續(xù)分析等幾大功能模塊。通過對網(wǎng)關(guān)局話單的分析處理,得出我公司各個局向每天撥打各種Ip(包括其它運營商Ip)的主叫號碼及呼叫次數(shù)、呼叫時長等;通過對其它運營商的入網(wǎng)呼叫分析,得出其它運營商的哪些號碼為高端用戶。

1.2話單處理系統(tǒng)的設(shè)計
話單處理系統(tǒng)采用c/s模式,服務(wù)器端安裝windows2000 server操作系統(tǒng),sq1 serv er2000數(shù)據(jù)庫,客戶端安裝windows2000 p rofessional操作系統(tǒng),sq1 server2000客戶端,通過分析得知,網(wǎng)關(guān)局的話單(文本格式)具有一定的標準,按照此標準建立相應(yīng)的庫表hdcl,通過sq1 server2000企業(yè)管理器將文本文件導(dǎo)入到數(shù)據(jù)庫中,然后對主叫號碼進行分析,從而得出不同局向的主叫號碼及呼叫不同Ip的主叫號碼,通過對主叫號碼呼叫次數(shù)的高低分析排序得出高端用戶,從而將得出的數(shù)據(jù)交于我們的營銷人員。
1.3話單處理系統(tǒng)流程說明
利用sq1 server的企業(yè)管理器中導(dǎo)入數(shù)據(jù)功能將原始話單入庫(入到hdcl表),入庫完畢后對庫中每一條紀錄進行分析,根據(jù)主叫號碼將紀錄分類,每一條紀錄加上一個局向插入到另外一個表中(hdjx),然后將hdjx中的紀錄按照Ip和其它運營商入網(wǎng)進行分析處理,然后保存成文件。
2 話單處理系統(tǒng)的功能模塊及各功能模塊說明
2.1話單入庫
利用sq1 server2000企業(yè)管理器中的導(dǎo)人數(shù)據(jù)功能,按照話單的特征選擇文件格式,然后進行導(dǎo)入(如圖1)。
2.2話單預(yù)處理

主要功能:將原始話單逐條分析,過濾掉異常和長途話單,根據(jù)主叫號碼按局向分類,然后將數(shù)據(jù)逐條插入到另外一張表中(原始話單中沒有局向,每天的話單中有大約100萬條呼叫記錄)。
目的:將每一條話單按局向插入庫中(hdjx表),便于提高話單查詢速度,縮短統(tǒng)計所耗費的時長。
2.3各類Ip查詢
主要功能:根據(jù)不同局向,不同Ip任意組合,從而查詢出不同局向在某一時間段用某一種Ip呼叫的所有記錄,然后將其導(dǎo)人到數(shù)據(jù)庫中的iptj表中。
2.4各類Ip統(tǒng)計
主要功能:按不同局向,不同Ip的任意組合,統(tǒng)計出不同局向中不同的電話號碼在某一時間段用某一種Ip呼叫的總次數(shù),時長,話務(wù)量等信息,并按照呼叫次數(shù)對電話號碼進行排序,最終將其保存成excel文件。
2.5入網(wǎng)查詢
主要功能:按照不同運營商,不同的時間段,查詢出在該時間段中所有入網(wǎng)的紀錄,并將所有紀錄導(dǎo)入到庫表qtyy中,以便后續(xù)統(tǒng)計。其他運營商主要包括;電信、移動、聯(lián)通、鐵通。
2.6入網(wǎng)統(tǒng)計
主要功能:按照不同的運營商,在不同的時間段內(nèi),將呼叫入網(wǎng)的電話號碼按呼叫次數(shù)進行統(tǒng)計,并排序后存成文本excel文件。
3 程序詳細設(shè)計
3.1主要庫表說明
(1)hdc1(原始入庫表),作用:存放話單原始數(shù)據(jù)(如表1)。
(2)hdjx(話單局向表),作用:存放預(yù)處理后的話單(如表2)。
(3)iptj(Ip統(tǒng)計表),作用:存放統(tǒng)計后的各種lp紀錄(如表3)。
(4)qtyy(其它運營商呼叫記錄表),作用:存放其他四個運營商的話單數(shù)據(jù)(如表4)。
3.2設(shè)計說明
(1)數(shù)據(jù)庫的建立。
根據(jù)原始話單的特征,建立數(shù)據(jù)庫hdc1,分配用戶py_cxuser,passwd:zhangfan,考慮到話單數(shù)據(jù)的量比較大,所以選擇sq1server2000數(shù)據(jù)庫,并修改庫文件大小為10G,建立原始話單庫表hdc1,利用sq1 server企業(yè)管理器的導(dǎo)入數(shù)據(jù)功能將原始數(shù)據(jù)入庫,客戶端連接信息寫在客戶端的ini配置文件中(appform.ini)。
(2)原始話單預(yù)處理。
根據(jù)主叫號碼判斷出該號碼所在的局向,然后將該條紀錄連同局向一起插入到另外一張庫表hdjx中,操作時一般先將庫表全部清空,然后再進行導(dǎo)人數(shù)據(jù)操作,原因是每天的話單紀錄太多累積多天后,會因數(shù)據(jù)量太大而導(dǎo)致程序處理速度太慢。然后將數(shù)據(jù)庫的記錄取出逐條分析,根據(jù)實際情況截取主叫號碼的前幾位分析出該主叫號碼的所屬局向,然后插入到另外一張表hdjx中,直到最后一條記錄,主要技術(shù)為游標的使用。具體實現(xiàn)為在“話單預(yù)處理”按鈕的click事件中編寫代碼,取話單的主叫號碼進行分析,整體框架為定義一個游標DECLARE mycur C URSOR FORSELECT rj,bj,qsrq,qssj,zzrq,zzsj,sc FROMhdc1,從第一條數(shù)據(jù)庫中的第一條記錄一直取到最后一條記錄,然后逐條分析,利用的分析手段為游標中嵌套case語句,條件為先分析主叫號碼第一位,然后根據(jù)實際情況取主叫號碼的位數(shù)進行判斷分局,直到分析出該號碼所屬的局向為止,凡是沒有局向的記錄,一律分配局向為‘oth’,(這些號段還沒有被分配,或者為其它城市號段,在此我們不做處理)然后將該條記錄插入到另外一張表中。
(3)Ip查詢。
Ip查詢的特點是被叫號碼的前一部分為Ip,后一部分為真正的號碼,所以要查詢某一局向的呼叫Ip的量只需要兩個條件:bjlike‘Ip%’and jx=‘某一局向’即可。
查詢結(jié)束后經(jīng)過計算并將所得的紀錄插入到另外的庫表中(iptj),目的是為了計算出不同的主叫號碼在該時間段內(nèi)的呼叫次數(shù),然后為下一步統(tǒng)計并形成文件作鋪墊,具體計算方法為:查詢出的每一條紀錄按主叫號碼排序,然后從第一條記錄開始每次取兩條記錄進行主叫號碼比較,如果號碼相同,則次數(shù)變量加一,呼叫時長相加,然后取第二條和第三條記錄向比較,如果主叫號碼不同,則將上次的結(jié)果入庫,并繼續(xù)向下取記錄。依次循環(huán),直到所有的記錄循環(huán)完畢,具體實現(xiàn)為用一個for循環(huán)。技術(shù)上把握住相同號碼的次數(shù)和總時長是重點,同時要考慮到各種情況。
(4)Ip統(tǒng)計。
將某一局向某一時間段內(nèi)的某種Ip的查詢到數(shù)據(jù)窗口并按照次數(shù)進行排序,然后保存成文件。
3.3其它運營商的查詢的設(shè)計
其它運營商的查詢條件比較簡單,即從窗口中的下拉列標框中(dd1b_1)選擇運營商,在em_1和era_2中填寫時間條件,然后在查詢按鈕中retrieve即可。
入庫按鈕的作用為對查詢出的記錄進行統(tǒng)計然后入庫,即和Ip的入庫相同,注意事項為:一定要將查詢的內(nèi)容進行按主叫排序,技術(shù)上和Ip的入庫相