基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统.doc_第1页
基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统.doc_第2页
基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统.doc_第3页
基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统.doc_第4页
基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于数据仓库和维度转换技术的广东电信公话IC话机话务动态分析系统马根峰 (广东电信公用电话管理中心 广州 510635)摘要 在电信市场尤其是公话市场竞争激烈的今天,广东电信公话中心的有关经营分析人员比较迫切的想进行众多IC话机话务的动态分析,即不但要能从较高层面上分析全省或某些地区、所有或部分话机类型、某些地区某些话机类型的话务在某些时间段的变化,而且要能从细节上跟踪每一部IC话机的200、IC话务在不同时期的变化。从而了解IC话机话务变化的原因或找出其中的规律,为管理者决策提供依据。但目前话机资料及话务数据分散于不同数据库表的组织方式确不能提供这样的支撑,所以必须对数据进行重新组织,并且要按照不同的分析需要对数据按照不同的综合程度来组织。然而话务的动态分析还要求对话机资料更新、对话务信息表按照时间维度进行转换,通常的OLAP分析工具在对几十万条记录的数据表进行维度转换时效率就极为低下。在这种前提下笔者编写了”话务动态分析系统”,利用数据仓库技术对数据源进行挖掘、按照不同的粒度来组织;在数据仓库设计时兼顾动态分析的需要,在数据仓库数据生成时自已编写程序实现话务按照时间维度转换,轻松地实现了话务的动态分析。关键词 数据仓库;OLAP;维度;分布式数据库访问技术;事务 The system dynamic analyse of charge of pay phone for IC card in Public Payphone Center, Guangdong Telecom Corporation based on Data Warehousing & dimension conversionMA Gen-feng (Public Payphone Center, Guangdong Telecom Corporation, Guangzhou 510635)ABSTRACT: Today, the competition becomes more severe in telecom market, especially in public pay phone market. The analyst in Public Payphone Center, Guangdong Telecom Corporation want to analyze the change of 200 & IC charge of many pay phone for IC card in different time as well as the influence on the change of the charge of all or part areas, all or part user types of pay phone, part areas and part user types of pay phone. If they do this they can find the reason for those change or the rule hide in those change so that they can support the decision-maker to make decision well. But the data of pay phone for IC card and the charge of them every month is distributed in many tables in database in On-Line operating environment now, it result in the huge difficulty to supply the analyst with sufficient proof to analyze the change of those charge above. So it is necessary to organize these data and store them in different integration level. What is more, it is necessary to update the information of pay phone and convert the time dimensionality because of the analysis above. While the OLAP tools for Data Warehousing shows quite low efficient in the process of this conversion of table with millions records well. So I develop a system to process the analysis of the change of the charge of two hundred thousand pay phone for IC card easily. In the system, it is the first step to dig the detail data of phones and those charge to the Data Warehousing, followed by the high efficient time dimensionality conversion of phones and those charge to a table then data in different integration level is created.KEY WORDS: Data Warehousing; OLAP; Dimensionality; Access to distributed Database; Transaction1 引言200及IC卡业务是广东电信的一项重要业务,因而对于众多IC话机上发生的200及IC话务分析显得非常必要。目前对于它们的分析主要包括层面比较高的地区级话务的变化以及某一计费月IC话机的话务情况。但经营分析人员即使知道了全省或部分地区的话务变化,却不能找出其中的原因或规律。这所以采取这样的分析方式,就是因为IC卡业务及200业务数据分散于操作型环境之中,并且都是以细节级数据存贮的(每个月IC话机的资料、IC话机的IC话费、全省200业务的话费分别存放在一个数据库表中)。在这种操作型的环境中要想进行”先高层后低层”的话务动态分析,即按照地区市县支局的层次,结合IC话机的用户类型来一级一级地找出IC话机话费变化原因或规律,显然是不现实的 。要想解决上面的问题,必须利用数据仓库技术对话机资料数据及话务数据包括200及IC话务数据重新组织,对其按照不同的细节程度来设置不同的粒度来满足不同层次上话务动态分析目标的需要,形成一个综合的、面向分析的环境;然后去掉各级粒度表中的时间维度,来满足不同层次上话务动态分析目标的需要。但这些OLAP工具通常用于处理记录较少的表的维度转换,对于处理电信运营商中存在的每个月都是几十万、几百万乃至几千万条记录的表的维度转换时从执行时间上讲是不可行的(处理百万级数据表的维度转换时运行几百个小时也得不到结果),所以笔者首先利用数据仓库技术将数据进行挖掘,在数据仓库设计时兼顾动态分析的需要,在数据生成时自已编写程序实现维度转换,然后基于维度转换后的数据表来生成不同粒度的综合级表。最终在PC机上仅用了十五分钟就完成了二十多万部200专用话机资料的更新及二十几万条记录的话费表的处理并生成了数据仓库中的不同粒度的数据,从而轻松地实现了话务的动态分析。2数据仓库与OLAP2.1 数据仓库的特点数据仓库技术是用以更好地支持企业或组织的决策分析处理的,面向主题的,集成的,不可更新的、随时间不断变化的数据集合。它通过将数据按照不同的综合程度(即粒度)来组织,以满足不同分析的需要。 2.2 联机分析处理OLAPOLAP是针对特定问题的联机数据访问与分析。通过对信息(这里的信息已经从原始的数据进行了转换,以反映用户所能理解的企业的真实的”维”)的很多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。维是OLAP中的一个基本概念,它反映了人们观察数据的特定角度,如电信业务分析中从不同的计费月来观察话机的话务,这里的时间(计费月)就是一个维。一个维往往具有多个层次,如时间维可以从日期、月份、季度、年等不同的层次来描述。但在广东电信公话管理中心,对IC话机话务的动态话务分析主要从月份这个层次来进行。2.3 数据仓库中的星型模式及改进2.3.1 数据仓库中的星型模式星型模式是用关系数据库系统来实现的数据仓库中最常见的模式,在这种模式下,数据仓库由事实表和维表构成。事实表中包含着用于分析的指标和联接维表的主键。如下面细节级话机话务和话机资料的关系模式话机话务(电话号码,时间代码,200话费,IC话费)话机(电话号码, 地区代码,市县代码,支局代码,话机类型代码,话机安装地址,)地区(地区代码,地区名,)时间(时间代码,时间)在这种模型下,可以很轻松地分析出某个维(如时间维中各月份)的话务总体情况,这就是在事实表中增加维度的好处;对于事实表中记录不多的情况下,可以用OLAP的一些工具(如Brio)将时间维从事实表去掉,在事实表中增加时间维表的各个取值来作为事实表中的几个字段,这样就可以轻松地分析几个时段的某个或某些维的话费、某些话机的话费的变化这类问题了。2.3.2 本系统中对于传统星型模式的改进对于广东电信来说,每个月的IC话务数据都在二十多万条记录以上,n个月累加起来就是n*几十万,这样庞大的表用OLAP工具来进行维度转换显然是不现实,也是不可行的;并且它还无法处理每个月二十多万部IC话机的资料更新。笔者在中的解决方法是,直接在数据仓库各级粒度的话务表中去掉时间维度,增加时间维表中的值(各个月)作为各级粒度话务表的字段;又将话机资料和话务表合为一个表,这样不但在进行维度转换时同时更新话机资料,而且能够提高以后用户查询的响应速度。在系统中用自己编写的程序在PC机上仅运行了十五分钟的时间就完成了一个月二十多万条记录的话机资料表的更新和话务表的维度转换、并且生成了各级粒度的综合表。数据仓库采取这种设计方案的另一个好处理就是每一次处理只需要处理一个月的数据,而不是像OLAP工具那样一次需要处理n个月的数据。3 系统中的数据仓库设计3.1 广东电信公话中心操作型环境下的数据组织情况在广东电信公用电话管理中心,200话机资料、所有200业务费用的关系模式l IC话机资料的关系模式A84_xxxx(电话号码,地区代码,市县代码,支局代码,话机使用标志)l IC话机话务关系模式A92_IC_xxxx(电话号码,总次数,总时长秒,总时长分,总金额,免费次数,免时长秒,免时长分,地区代码)l 全省200业务话费的关系模式Fee_200_xxxx(电话号码,总次数,总通话时长秒,总计费时长分,总金额,IP国际次数,IP国际通话时长秒,IP国际计费时长分,IP国际金额,地区) xxxx表示年月,如0302代表2003年2月的话机资料或话机话费3.2 系统的中数据仓库设计考虑到篇幅,各步骤经过简化如下:l 概念模型设计l 逻辑模型设计l 数据仓库生成3.2.1概念模型设计中的界定系统边界在广东电信公话中心,管理者最迫切进行的分析主要有:l 分析各地区IC话机的200、IC话务的总体情况及不同时期的变化l 分析各种类型IC话机的200、IC话务总体情况及不同时期的变化l 分析各地区各种类型IC话机的200、IC话务情况及不同时期的变化l 分析各IC话机(包括新增、拆机的IC话机)的200、IC话务情况及不同时期的变化要进行以上的分析,所需数据应包括:l 各地区不同时期IC话机的200、IC话务l 各种类型不同时期IC话机的200、IC话务l 各地区各种类型IC话机不同时期的200、IC话务l IC话机在不同时期的200、IC话务3.2.2 逻辑模型设计l 确定粒度层次划分粒度是数据综合级别的程度。在数据仓库中,多重粒度是必不可少的。数据仓库的主要作用是DSS分析,因而其绝大部分查询都基于一定程度的综合数据之上,而只有较少的查询涉及细节。在本系统中采用了五重重粒度,早期细节级的IC话机资料表A84_src和话费细节级的表Fee_IC_src;维度转换后的细节级话机话费表PhoneICFee_detail;轻度综合级的各地区、市县、支局、话机类型的话务表phonefeeIC_littleuplvl表;较高综合级的各地区、话机类型的话务表phonefeeIC_midlvl;以及高度综合级的各地区话务表phonefeeIC_Areahighlvl、各话机类型话务表phonefeeIC_Userhighlvl。l 关系模式定义;A84_src(G200_xxxx表各个字段,话机资料日期)Fee_IC_src(电话号码,年月,200总金额,IC总金额,地区)PhoneICFee_detail(A84_xxxx表各字段,话机资料日期,200301_200金额,200301_IC金额,200412_200金额, 200412_IC金额) 这里及以下综合级表中的话机资料日期字段都经过了编码来反映话机的存在时间,不同于A84_src上边的话机资料日期字段phonefeeIC_littleuplvl(地区,市县,支局,话机类型,话机资料日期, 200301_200金额,200301_IC金额,200412_200金额, 200412_IC金额)phonefeeIC_midlvl(地区,话机类型,话机资料日期, 200301_200金额,200301_IC金额,200412_200金额, 200412_IC金额)phonefeeIC_Areahighlvl(地区,话机资料日期, 200301_200金额,200301_IC金额,200412_200金额, 200412_IC金额)phonefeeIC_Userhighlvl(话机类型,话机资料日期,200301_200金额,200301_IC金额,200412_200金额, 200412_IC金额)对于关系模式的这种设计,大家可能会一方面质疑它的扩展性,即它能用来分析其它年月的话务吗?另一方面可能会质疑如果它可以扩展来统计更多时间的话务情况,那最多可以统计几年的话务?只要向几个话务表中增加几个年月的金额字段,在我编写的维度转换程序中只要增加几个变量及几条赋值语句,就可以统计许多年的数据;两者,MS SQL SERVER7.0最多支持1024列的表,这可以用来统计分析40多年的数据。3.3 选定数据库产品来建立数据仓库目前数据仓库的实现还主要借助于关系数据库系统,两者由于本系统中数据仓库数据来自于远程数据库,因此要用到分布式访问技术。而远程数据库系统是MS SQL SERVER7.0,加上MS SQL SERVER与其它数据库系统的连接性能又比较好,更不用说与MS SQL SERVER的连接性能了,因此选用了MS SQL SERVER7.0来建立数据仓库。同时这也符合分布式数据库系统建立时尽量采用”同构同质”型局部数据库管理系统的建议。 3.4 数据仓库中数据的生成3.4.1 操作型环境数据的挖掘和数据仓库中综合级数据的生成在数据仓库设计步骤中,数据仓库的生成是其中的关键部分,它为DSS系统提供了基础数据的支持。在这一步里所要做的工作是接口编程,以实现将操作型环境下的数据装载进入数据仓库环境。建立和设计这个接口,不仅要对数据进行抽取,而且还要从面向应用和操作的环境生成完整的数据。数据挖掘的方法主要有DTS工具,用客户端开发语言的编程,以及DBMS的存贮过程。我在进行数据仓库数据挖掘及数据生成时均采用了存贮过程,原因在于它在数据库/数据仓库中的预编译特性及在数据库访问时的高效率。3.4.2数据生成时的数据完整性控制数据仓库中数据挖掘及综合级数据生成时都完成了大量数据的INSERT操作,如果在某一时刻发生了某种错误或系统掉电,那么加载到数据仓库中的数据的完整性就会遭到破坏,因此必须采取一定的措施来保障数据的完整性。MS SQL SERVER提供了事务,使得一个事务内的所有语句被作为一个整体来执行,遇到错误时,可以回滚事务,取消事务内所做的所有改变,从而保证数据的完整性、一致性。 在数据仓库数据挖掘时,由于用到了公布式数据访问技术,所以要使用分布式事务;而在进行维度转换时只需使用本地事务即可。3.4.3系统中的分布式数据库访问技术在数据仓库数据挖掘时,由于用到了远程数据库的访问,所以必须使用分布式数据访问技术。MS SQL SERVER提供了远程数据库访问技术,具体访问远程数据表的方法为SELECT Column1,Column FROM Remote_Server.Db

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论