移动通信数据仓库接口与ETL2设计论文

时间:2020-06-14 09:40:28 通信工程毕业论文 我要投稿

移动通信数据仓库接口与ETL2设计论文

  摘要:针对地市级移动通信的实际需求,数据集市的接口需要进行数据仓库接口设计和ETL2设计。数据仓库接口设计通过用户接口、业务量接口、帐务接口等设计来实现,ETL2设计通过抽取、FTP、清除和加载过程来实现。研究表明,该设计能够减少对数据仓库的影响和压力,并可以作为数据仓库扩展的重要补充。

移动通信数据仓库接口与ETL2设计论文

  关键词:移动通信;数据仓库;接口;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设计论文】相关文章:

1.甄选移动通信小论文

2.移动通信网络倒灌经验与启示论文

3.移动通信基站节能控制理论与实践论文

4.卫星移动通信系统的论文

5.移动通信市场营销论文

6.移动网通信质量检测与优化策略论文

7.5G移动通信技术论文

8.移动通信系统干扰控制分析论文