行動通訊資料倉庫介面與ETL2設計論文

才智咖 人氣:1.31W

摘要:針對地市級行動通訊的實際需求,資料集市的介面需要進行資料倉庫介面設計和ETL2設計。資料倉庫介面設計通過使用者介面、業務量介面、帳務介面等設計來實現,ETL2設計通過抽取、FTP、清除和載入過程來實現。研究表明,該設計能夠減少對資料倉庫的影響和壓力,並可以作為資料倉庫擴充套件的重要補充。

行動通訊資料倉庫介面與ETL2設計論文

關鍵詞:行動通訊;資料倉庫;介面;ETL2;

中圖分類號:TP303 文獻標識碼:A DOI:10.3969/.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_,抽取oracle資料時,呼叫e_extract程式。目前的e_extract抽取程式不支援分地市抽取,需要對現在的程式改造和包裝以支援分地市抽取機制,並根據不同的地市生成不同的地市目標檔案。呼叫方式如下:其中-ccityid引數是傳入的地市程式碼資訊,-oconfig_file引數是指抽取表的配置資訊檔案,檔案內容為抽取資料的sql語句。呼叫e_extract命令抽取生成的檔案命名為table_hh,與以前添加了cityid資訊和程式的-c引數一致。②抽取db2資料時,有兩種方法支援[5]。一是直接呼叫db2的抽取工具export,生成的資料檔案命名為table_hh。二是呼叫db2版本的extract程式,同時抽取生成多個地市檔案。其設計思路和呼叫方法與oracle類似。(3)抽取方法批量抽取多個表、多個地市的資料①配置環境變數:MART_DATADIR為生成的資料檔案的存放目錄,MART_TRACEDIR為日誌檔案目錄②配置引數檔案,預設為data_檔案格式: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_抽取資料extract_-d[connstring]-t[op_time]-p[timestamp]–f[file_name]-u[ddh]-v[rwh]如果不指定-f[file_name]引數,直接讀取data_3.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.