- 相關推薦
移動通信數據倉庫接口與ETL2設計論文
摘要:針對地市級移動通信的實際需求,數據集市的接口需要進行數據倉庫接口設計和ETL2設計。數據倉庫接口設計通過用戶接口、業務量接口、帳務接口等設計來實現,ETL2設計通過抽取、FTP、清除和加載過程來實現。研究表明,該設計能夠減少對數據倉庫的影響和壓力,并可以作為數據倉庫擴展的重要補充。
關鍵詞:移動通信;數據倉庫;接口;ETL2;
中圖分類號:TP303 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2015.12.050
0引言
在地市級移動通信數據集市的建設中,數據集市的接口設計主要通過數據倉庫接口和ETL2設計來實現。數據倉庫的接口由用戶接口、業務量接口、帳務接口、新業務接口、大客戶接口和競爭接口組成,并通過對相關表的設計具體實現。
1實驗方法
在數據集市ETL的設計中,有兩種思路:一是庫到庫的直接傳輸,不經過文件,直接從數據倉庫的表中,把對應的記錄插入到對應地市的數據集市的表中;二是從數據倉庫生成各個地市文件,分別插入到對應地市數據集市的表中[1]。第一種方法,可以采用數據倉庫工具來輔助完成;第二種方法,通過ETL過程來實現,生成各個地市文件,然后FTP到數據集市的服務器里,再進行加載,本文主要討論第二種方法的設計。
2數據倉庫接口
2.1用戶接口設計
2.1.1月表設計(1)DMD_PRODUCT_EXTFAMILYNO_YYYYMM:本表定義GSM語音服務用戶的親情號碼,最多允許定義5個親情號碼,對應于用戶狀態為當前有效的GSM語音用戶;(2)DMD_PRODUCT_EXPIP_YYYYMM:為IP直通車用戶綁定固定電話用戶附屬屬性表;(3)DMD_PRODUCT_EXTFUNC_YYYYMM:為用戶功能產品信息,包括用戶的主服務;(4)DMD_PRODUCT_EXTFUNCNEXT_MS:為DWD層用戶程控功能產品信息下周期生效表;(5)DMD_PRODUCT_EXTGPS_YYYYMM:本表定義每個用戶使用GPS所對應的附屬屬性信息表;(6)DMD_PRODUCT_PROMOTION_YYYYMM:本表定義每個用戶對應的促銷信息,一個用戶可以有多個促銷;2.1.2日表設計(1)DMD_PRODUCT_YYYYMMDD:為用戶資料的日全量表,只存放到本日為止在網的所有用戶資料,每日全量抽取在網用戶資料。(2)DM_PRODUCT_YYYYMMDD:為用戶日寬表,包括到本日為止所有在網用戶和本月初到本日為止的離網用戶。(3)DWD_PRODUCT_EXTFUNC_YYYYMMDD:為用戶程控功能產品信息日表,保存一日數據,每日全量抽取。
2.2業務量接口設計
。1)詳單相關表:主要包括語音詳單、漫入詳單以及相對應的滯后詳單。語音詳單表(CDR_CALL_XX_YYYYMMDD),本表按照“日+地市”的分表原則在數據倉庫中存放,同時開放到數據集市;滯后語音詳單表(CDR_LATER_CALL_XX_YYYYMM),存放每日滯后的語音詳單;漫入詳單表(CDR_CALL_ROAMIN_YYYYMMDD),記錄其它省用戶漫入到本省的詳單;(2)業務量級別相關數據表:主要包括兩類數據表,一類是業務量明細表,主要記錄用戶業務量級的數據,例如用戶的長途漫游等情況的明細數據,是一個用戶一天存放多條記錄的信息表,包括語音話單用戶業務量日統計表(DM_CALL_XX_YYYYMMDD)和語音話單用戶業務量月統計表(DM_CALL_XX_YYYYMM)。另一類是呼轉明細表,主要記錄詳單分離出來的和呼轉相關的明細數據信息,包括用戶呼轉日明細表(DM_PRODUCT_CALLFW_YYYYMMDD)和用戶呼轉月表(DM_PRODUCT_CALLFW_YYYYMM);(3)用戶級業務量相關表:主要記錄用戶的業務量,一個用戶一條記錄,包含用戶業務量日明細及累計表(DM_PRODUCT_CALL_YYYYMMDD)和用戶業務量月明細表(DM_PRODUCT_CALL_YYYYMM);
2.3帳務接口設計
2.3.1三級賬單表(1)當前月帳單表:是指當月出帳、抵銷預存后剛形成的帳單,本帳單等待用戶在下個繳費周期繳費單,因此后付費用戶不算在欠費用戶中,同時由于本帳單和歷史帳單的意義不同而單獨存放,以便于數據處理和查詢。包括帳戶當前月帳單表(Dmd_Acct_Bill_yyyymm)、用戶當前月帳單表(Dmd_Acct_Userbill_yyyymm)和用戶明細當前月帳單表(Dmd_Acct_UserbillItem_yyyymm)。(2)歷史月帳單表:是指除當前出帳月的帳單之外的其它月的帳單,本部分帳單是后付費用戶欠費計算的主要來源表。包括帳戶當前月帳單表(Dmd_Acct_Bill_H_yyyymm)、用戶當前月帳單表(Dmd_Acct_Userbill_H_yyyymm)、用戶明細當前月帳單表(Dmd_Acct_UserbillItem_H_yyyymm)。(3)預付費用戶帳單表:是指全球通預付費用戶的帳單,由于全球通預付費用戶是實時扣費的,因此本部分帳單和預付費用戶的帳單分開存放。包括預付費用戶帳戶當前月帳單表(Dmd_Acct_PreBill_yyyymm)、用戶當前月帳單表(Dmd_Acct_UserPrebill_yyyymm)、用戶明細當前月帳單表(Dmd_Acct_UserPrebillItem_yyyymm)。2.3.2帳務繳費表帳務繳費表主要包括繳費信息表、銀行繳費信息表和用戶資金平衡記錄表。(1)繳費信息表由兩張主表構成,一張是繳費記錄表,記錄用戶繳費時的記錄信息,一筆繳費一條記錄;另一張是繳費明細表,記錄具體沖賬的記錄明細表。例如一個客戶為三部手機繳納3個月的欠費,那么在本表則記錄9條記錄信息,包括用戶繳費記錄表(DMD_ACCT_BUSIREC_YYYYMM)和用戶繳費明細表(DMD_ACCT_BUSIFEE_YYYYMM);(2)銀行繳費信息表(DMD_ACCT_BANKREC_YYYYMM),本表同時在繳費記錄表中有相應的記載;(3)用戶資金平衡記錄表(DMD_ACCT_BALANCEREC_YYYYMM),本表記錄用戶每筆帳務資金的變化情況,包括每筆繳費以及每一筆的充銷情況。2.3.3帳戶相關信息表帳戶相關信息表包括全部帳戶和個人賬戶的相關信息表。具體指:(1)帳戶資料信息表,本表記錄全部帳戶包括個人和公用帳戶的資料信息表(DMD_ACCT_MSG_YYYYMM);(2)非公用資金信息表,記錄個人賬戶的全部資金信息,包括預付費和后付費的個人預存信息(DMD_ACCT_PREPAY_YYYYMM);(3)個人賬戶沉淀資金表,記錄個人賬戶在離網或者其它異常離網情況下的帳戶資金情況。2.3.4銷賬相關信息表銷賬子模塊記錄帳務銷賬單相關信息表,主要包括:一是帳戶銷賬信息表(DMD_ACCT_DERREC_YYYYMM),記錄全部銷帳戶帳單的數據信息。二是用戶銷賬信息表(DMD_ACCT_DERITEM_YYYYMM),記錄全部銷用戶帳單的數據信息。
2.4新業務接口設計
(1)IP記帳卡業務:IP記帳卡業務詳單表(DR_IP_XX),包括IP直通車業務,用來統計IP記賬卡用戶每日使用情況[2]。包括CDR_IP_YYYYMMDD、CDR_LATER_IP_YYYYMM、DM_NEWBUSI_IP_YYYYMMDD和DM_NEWBUSI_IP_YYYYMM。(2)智能網IP業務:包括CDR_PIP_YYYYMMDD、CDR_LATER_PIP_YYYYMM、DM_NEWBUSI_PIP_YYYYMMDD和DM_NEWBUSI_PIP_YYYYMM。(3)企業PBXVOIP業務,包括CDR_PBX_YYYYMMDD、CDR_LATER_PBX_YYYYMM、DM_NEWBUSI_PBX_YYYYMMDD和DM_NEWBUSI_PBX_YYYYMM。
2.5大客戶接口設計
(1)DMD_VIP_CUST_DM_YYYYMM:大客戶流水日表,保留當前月的大客戶新增、流失和所有到目前為止的在網大客戶。(2)DMD_VIP_INFO_YYYYMM:存放所有大客戶卡信息,包括歷史、在用、注銷。(3)DMD_VIP_MANAGER_YYYYMM:記錄大客戶和客戶經理的對應關系。
2.6競爭接口設計
(1)競爭對手相關資料表:主要記錄競爭對手客戶及大客戶的相關信息資料,包括競爭對手客戶月表(DM_COMP_CUST_YYYYMM)和競爭對手大客戶資料月表(DM_COMP_VIPCUST_YYYYMM),以存放每月競爭對手的大客戶資料。(2)競爭對手網間互通相關信息表:主要包括網間互通月表(DM_COMP_OPPOSITE_YYYYMM)和競爭對手日業務量信息表(DM_COMP_ALL_YYYYMMDD)。
3ETL2設計過程
ETL2通過抽取、FTP、清除和加載過程[3],從數據倉庫中抽取DMD明細數據和DM綜合查詢數據,生成分地市的數據文件,FTP到指定的服務器,然后裝載入數據倉庫中。對于詳單文件,直接加載到數據集市中。
3.1抽取(Extract)
。1)功能描述支持讀取表名和地市代碼配置文件功能;支持表名和地市代碼參數傳入功能,根據參數指定的表名和地市代碼抽取數據;支持批量抽取,可根據配置文件一次分別抽取多個表、多個地市的數據;后臺數據庫支持oracle和db2;支持表名自動匹配功能,例如配置文件或參數,如果表名帶yyyymmdd或yyyymm,程序將根據傳入的帳務周期做自動替換;地市參數值為999或為空時,抽取目標表全表的數據。(2)程序設計①抽取oracle數據庫設計[4]。改造現有的e_extract程序,并包裝為extract_mart.tcl,抽取oracle數據時,調用e_extract程序。目前的e_extract抽取程序不支持分地市抽取,需要對現在的程序改造和包裝以支持分地市抽取機制,并根據不同的地市生成不同的地市目標文件。調用方式如下:其中-ccityid參數是傳入的地市代碼信息,-oconfig_file參數是指抽取表的配置信息文件,文件內容為抽取數據的sql語句。調用e_extract命令抽取生成的文件命名為table_name.cityid.yyyymmdd.mmddhh,與以前添加了cityid信息和程序的-c參數一致。②抽取db2數據時,有兩種方法支持[5]。一是直接調用db2的抽取工具export,生成的數據文件命名為table_name.cityid.yyyymmdd.mmddhh。二是調用db2版本的extract程序,同時抽取生成多個地市文件。其設計思路和調用方法與oracle類似。(3)抽取方法批量抽取多個表、多個地市的數據①配置環境變量:MART_DATADIR為生成的數據文件的存放目錄,MART_TRACEDIR為日志文件目錄②配置參數文件,缺省為data_mart.cfg文件格式:settable_nocitylist"user_rightuser_user"settable_list""setcity_list"9990"其中:city_list是需要抽取數據的地市代碼列表table_list是需要抽取數據的表名列表,如果表是按照賬務周期分表,如dw_call_detail_201201,則在配置文件中表名配置為dw_call_detail_YYYYMMtable_nocitylist:是沒有city_id字段的表③調用程序extract_mart.tcl抽取數據extract_mart.tcl-d[connstring]-t[op_time]-p[timestamp]–f[file_name]-u[ddh]-v[rwh]如果不指定-f[file_name]參數,直接讀取data_mart.cfg3.2FTP與清除(1)功能描述用于在兩個服務器之間的文件傳輸功能,對抽取出的文件,直接傳給目的服務器。定期FTP源目錄下的所有文件到指定機器上的目的路徑下[6-7]。FTP前根據配置文件檢查數據文件是否完整(文件是否存在、文件大小是否不為零),對缺失的文件或不完整的文件,記錄錯誤日志。FTP完成后,記錄FTP成功日志和錯誤日志。根據FTP成功情況,刪除源目錄下的文件。(2)流程設計FTP與清除流程如圖1所示。(3)程序設計指定源路徑和目的路徑,文件傳輸;傳輸文件前檢查文件個數和大小,大小=0不傳輸,并記錄日志;刪除FTP成功的文件。
3.3加載(e_load)
數據從數據倉庫抽取成文件傳送到目標服務器后,需要分別自動加載到數據集市的不同表中。數據集市的加載使用開發的ETL產品“e_load_ctl,”它支持Oracle8i、Oracle9i、DB27.2EEE、db28等,可以運行在UNIX操作系統下,兼容IBMAIX、SUNSolaris、HP-UX等系統。在經過完整的ETL2過程后,數據集市的數據倉庫就建好了,接下來就是在數據倉庫中做數據挖掘、數據分析的過程[8]。
4結語
地市級移動通信數據集市的接口設計是一個復雜的過程,本設計通過數據倉庫的接口和ETL2設計,初步完成了數據集市系統的接口設計。其優勢體現為:第一,對數據集市各地市詳單的加載,采用特殊處理,從清理完的詳單文件進行分地市拆分后直接入庫,這樣減少了對數據倉庫的影響和壓力;第二,在數據倉庫中生成的支持數據集市綜合查詢的數據層(DM層),由數據倉庫完成,并作為數據倉庫擴展的重要補充。當然,隨著數據量的日益增加,對數據集市的深層信息還需要進一步的數據挖掘和分析。因此,數據集市的接口設計需要不斷地完善,以滿足用戶日益變化的需要。
參考文獻
[1]王亮.數據集市在電信客戶關懷系統中的應用研究[D].西安:西北大學,2008.
[2]林登奎.計算機網絡及防范技術研究[J].軟件,2013,34(1):144-145.
【移動通信數據倉庫接口與ETL2設計論文】相關文章:
K接口在光纖通信的應用論文10-11
衛星移動通信系統的論文10-15
移動通信傳輸工程設計特點分析論文06-06
異步串行通信接口的IP核設計08-11
串行通信接口可靠性的研究論文06-12
移動通信基站布局規劃研究論文06-24
關于物聯網移動通信技術論文10-25
5G移動通信技術論文08-07
RS232接口轉USB接口的通信方法08-16