信息化软件 企业管理 营销管理 业界消息 标签索引
信息化软件目录
OA 办公自动化 CRM 客户关系管理 PM 项目管理 CC 协同商务 BPM 业务流程管理 KM/KBS 知识管理 CMS 内容管理 SCM 供应链管理 BI 商务智能 ERP 企业资源计划 HRM 人力资源管理 EAM 企业资产管理 电子商务系统 IT综合

面向对象技术在构建数据仓库中的应用研究

2010-02-25

  0 引 言

随着信息技术的飞速发展,数据仓库作为决策支持系统、客户关系管理、数据挖掘和联机分析等领域的结构化数据环境,已经得到了广泛应用。与以往很多技术不同,数据仓库主要是一种概念,在此概念指导下完成系统的构造。在以往关系数据库的设计和实现中,不仅有详细的理论推导。还有无数的设计实例,无论使用什么公司的数据库产品、开发工具,只要按照规范做,实现同一业务需求的方案都会很相似。而目前,数据仓库既没有可以直接购买到的现成产品,也没有具体的分析规范和实现方法,即没有成熟、可靠且被广泛接受的数据仓库标准,所以研究构建数据仓库的方法具有一定的现实意义。

按照Inmon对数据仓库的定义,数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。该定义突出了数据仓库的4个基本特征:1) 数据仓库中的数据是面向主题组织的,与传统的操作型数据库面向事务处理有本质区别。操作型数据库面向的各个业务系统之间各自分离,而数据仓库则按照一定的主题域集中组织数据。主题是在较高层次上将数据归类的标准,每个主题对应一个宏观的分析领域。2) 数据仓库的数据是集成的,即数据仓库中的数据经过对原有分散的数据库数据抽取、清理、加工、汇总和整理得到的,消除了源数据中的不一致性,保证数据仓库内的信息是关于同一主题域的全局信息。

3) 数据仓库的数据是稳定的,即数据仓库的数据主要用于企业决策分析,所涉及的数据操作主要是数据查询,一旦某个数据进人数据仓库以后,一般情况下将被长期保留,极少或根本不修改。4) 数据仓库的数据是随时间不断扩展的,即数据仓库的数据与时间有关,通常包含历史信息,通过这些信息,可对主题领域中的发展历程和未来趋势做出定量分析预测。

面向对象技术是软件设计中的一种方法,它能很容易地对现实世界中的客观事物进行抽象和总结,得到程序设计中对应的机器模型(类和对象的概念)。面向对象技术中的属性和方法的概念对应现实世界中事物的特征和行为,因此面向对象技术能够对现实世界的客观事物进行精确刻画,尽可能地实现现实世界和机器世界的对应逻辑,并且可以比较清楚地描述对象之间的关系和相互作用。应用对象的封装、继承和多样等特性,使应用领域的解决方案结构清晰,提高了开发效率,所以应用面向对象技术研究构建数据仓库的方法具有一定的应用价值。

软件体系结构中的面向对象技术,包括面向对象分析(OOA:Object-Oriented Analysis)、面向对象设计(OOD:Object-Oriented Design)、面向对象程序设计语言以及由此派生出的其他一些应用技术,如微软的OLE(Object Link Embedded)、ADO(Active Data Object)等技术。在本文的设计方案中,应用OOA定义了系统中各种对象的类(Class),应用OOD设计了经济指标数据仓库(ElDW:Economic Indicators Data Warehouse)结构模型,应用面向对象语言Visual C++ .NET实现了EIDW管理系统,应用ADO完成了数据仓库访问,应用OLE提供了异构系统数据的集成功能,使EIDW成为经济景气分析系统软件的后台数据环境。

将此后台环境与联机分析处理(OLAP:On-Line Analytical Processing)系统有机结合,形成了一个完整的经济动态分析、预测和监侧的决策支持系统。该系统面向的是计划部门的领导、各处室业务人员及专业研究人员,给他们提供了应用平台和分析工具,目前已在国家一些职能部门正式投如使用,运行效果良好。

面向对象技术在构建数据仓库中的应用研究:1 EIDW结构分析

我国经济体制处于向社会主义市场经济全面转轨时期,在经济快速发展的过程中,积累了大量的宏观经济、行业经济及企业经济的统计数据信息。这些信息对政府有关职能部门和研究单位监测和预测当前的或未来的经济发展形势,为领导部门制定宏观调控政策提供决策依据具有重要价值。然而,由于历史原因,很难形成本领域经济指标数据的时间序列,有些数据甚至现在还以报表或Excel文件的格式保存。

怎样依托先进的信息技术和现代化的管理技术,把反映我国经济活动的历史和当前的统计数据集中管理起来,将它们作为历史数据按统一格式转换后形成一个集成的信息源,这对整个中国经济的景气分析至关重要,因此应用最新技术,进行研发一种新型的EIDW势在必行。

在传统MIS(Management Information Systems)建设理论中,系统分析阶段阐述的方法一般都是结构化分析方法,通过运用数据词典和数据流图对系统模型进行结构化描述。这种方法一个显而易见的好处是需求分析结果简单明了,可以使整个系统分析工作规范化和逻辑模型描述标准化。

数据仓库的构建涉及到复杂的组织管理与技术环境,分析过程中要处理的有些向题是结构化分析方法所不能覆盖的,如果使用这种分析方法设计数据仓库,就有可能直接导致系统建设的失败。因此,笔者在EIDW分析中,使用软件工程中的一些需求分析方法——面向对象分析方法,引入对象的概念,用对象描述实体,结合实体关系图、对象及消息传递图、类结构图、对象状态转换图、主题词结构图等,对一些非结构信息进行分析,建立了非结构模型。

笔者应用OOA原理定义了3个抽象类:数据仓库类、统计部门类和数据指标类。以数据仓库类为例详细说明其方法和属性。

该类的方法有对库中指标数据的装载、更新、提取以及属性值的维护等功能,属性可按下列公式表示:

数据仓库类 {A,B,C,D,数值} (1)

其中,A为数值频率,可分为年度数据、季度数据和月度数据;B为数值时间点,若是年度数据,则为年份、若是季度数据,则为年度加季度、若是月度数据,则为年度加月度;C为数值单位,如元、吨、美元等;D为数值统计部门。

由于数据仓库中集成的指标数据包括宏观经济、行业经济及企业经济的统计数据信息,按照类的继承派生特征,进一步将数据仓库类派生出宏观数据仓库类、行业数据仓库类和企业数据仓库类,其扩充属性分别按下列公式表示:

宏观数据仓库类 {E,F} (2)

行业数据仓库类 {G,H} (3)

企业数据仓库类 {I,J} (4)

其中,E为宏观类型编号;F为宏观指标体系编号;G为行业类型编号;H为行业指标体系编号;I为企业类型编号;J为企业指标体系编号。

此外,统计部门类派生出政府部门类、行业类和企业类,数据指标类派生出年度指标类、季度指标类、月度指标类,它们分别对应于3个仓库类。

图1应用UML(Unified Modeling Language)描述了这些类及它们之间的继承和包含关系。

图1 EIDW结构类图

面向对象技术在构建数据仓库中的应用研究:2 EIDW模型设计

模型设计确定数据仓库将来的蓝图,主要包括确定主题、设计维度、划分粒度和设计事实表。下面按照面向对象分析的结果设计EIDW模型。

数据仓库的最大特色是面向主题的应用。通过前面的需求分析,可以确定本数据仓库所面向的主题是应用于宏观、行业和企业等经济领域中的指标数据,也就是以反映经济发展特点的指标体系为主线,定期汇集各部门、各行业和各企业统计的指标数据,为有关部门提供决策支持信息。

维度(Dimension)是人们观察客观世界的角度,可以把一个实体的多项重要属性定义为多个维度。与维度相关联的是事实(Fact),也为度量(Measure),它是数据仓库中的信息单元,可把它看成是在多维空间中的各个维文叉点上的值,可用以下形式表示:

<维1,维2,…,维n,事实值> (5)

在本数据仓库中,按照前面数据仓库类的描述,可将其属性定义为维度,事实就是指标数据,它表示为:

<经济模式,统计部门,指标名称,数值频率,采样日期,指标数据> (6)

其中,经济模式维包括宏观、行业和企业3个值,其他维度与数据仓库类的属性对应。

逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出用户需求。根据前面的维度设计,该数据仓库的逻辑模型设计了事实表和维度表,数据在事实表中维护,具有层次结构的维度数据在维度表中维护。每个维度表通过一个关键字直接与事实表相关联。

粒度是数据仓库的重要概念,是对数据仓库中数据综合程度的一个度量,即对一个主题的事实数据进行汇总的频率。本数据仓库设计为年度、季度和月度3种粒度,是指标的主要属性,依此可为所分析的数学模型提供不同数值频率的时间序列。

数据分割是把逻辑上统一整体的数据分割成较小的、可以独立管理的物理单元,进行存储,以便重构、重组、恢复和提高检索数据效率。本数据仓库的分割方案是对刻度值少的维度进行分割,如经济模式维只有宏观、行业和企业,分割后将1个5维结构转变成3个4维结构的数据集市:宏观集市、行业集市和企业集市,然后每个集市再分别按数值频率分割后又形成3个子集市:年度子集市、季度子集市和月度子集市,最后分割结果是9个3维结构的子集市,如图2所示。

图2 EIDW模型的数据分刻过程

面向对象技术在构建数据仓库中的应用研究:3 EIDW物理设计

物理设计的主要任务是定义支持模型设计必需的数据组织结构。数据仓库的数据组织结构有3种方式:虚拟存储方式、多维结构存储方式和关系表存储方式。虚拟存储方式没有具体的数据仓库实体,数据仍然存储在数据源中,当用户引用时根据多维需求,临时从数据源中提取所需数据,完成多维分析,其优点是简单、灵活和花费小,但访问效率低是其致命的缺点。多维结构存储方式同数据仓库的维度相对应,将数据存储在数据立方体(Data cube)中,通过维索引和相应的元数据实现对数据仓库的访问,其优点是直观和效率高,缺点是花费大,需要有数据立方体功能的管理系统。

关系表存储方式是用关系数据库实施数据仓库,将数据存储在关系数据库的表结构中,在元数据的管理下完成数据仓库功能,其优点是技术成熟,花费小,运行效率可以接受,但构建设计有一定难度。EIDW采用的是关系表存储方式,数据仓库中的各个表采用星状模型,充分体现了数据的多维视图。在关系数据库管理系统中,将数据仓库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,用以存放对应维的层次、成员类别等描述信息。维表和事实表通过主关键字联系在一起,其优点如下:

1) 这种设计在数据仓库增长或应用改变时,便于快速修改和添加,具有足够的灵活性;

2) 对于开发者和最终用户来说都易于理解;

3) 模仿了最终用户考虑和使用业务数据的典型方法;

4) 容易实现物理数据库,使关系型结构能较好地适应多维数据的表示和存储,而且很多关系数据库管理系统可以识别这种结构并对其进行优化,因此能够产生高效查询;

5) 能够保护现有关系数据库管理系统上的投资。

本数据仓库具体实施是在Microsoft Access中,按照逻辑模型设计了各种数据表的存储数据结构,创建了维表、事实表以及对应的索引。

面向对象技术在构建数据仓库中的应用研究:4 EIDW管理系统设计

面向对象的软件开发不仅需要基于面向对象技术的建模,而且还要有面向对象的程序设计语言以及集成开发工具的支持,所以使软件开发变得相对简单而高效。在EIDW管理系统设计过程中,选择了Microsoft Visual Studio .NET环境中的Visual C++ .NET程序设计语言,它作为一种编程语言,以图形化的编程方式将C++支持面向对象技术的特性完美地体现出来。在该语言的新版本中增加了许多新功能,特别是对ADO访问数据库的支持,使其功能更强,效率更高,软件运行速度更快。

EIDW管理系统将目前最完备的Visual C++ .NET系统软件开发工具、最灵活的ADO数据库开发思想和最先进的数据仓库原理等技术应用于设计过程中。在系统的功能开发方面,注重了应用的广泛性、数据的安全性、操作的交互性以及同经济景气分析软件的有效结合性,为数据仓库管理人员和经济景气分析用户提供一个可视化操作环境,从而实现了对各种指标的数据集成、加工、保存、维护和提取等功能。

为了实现指标统计频率定期集成来自外部系统数据的需要,特别是在EIDW初始化阶段,更需要把统计部门信息和该统计领域的指标体系结构信息由外部文档形式装载到本系统中,因此必须对这些异构数据信息进行转换。但由于外部系统的复杂性,有可能在转换对象之间存在着各种语法和语义上的冲突,如命名冲突、格式冲突、结构冲突、类型冲突以及一些其他冲突等,给数据转换带来了困难。本系统在进行异构数据转换过程中,借助于Excel文档在Windows环境下的通用性,预先根据数据仓库结构要求设计一个对应数据的Excel标准表格,它等于本系统同外部应用程序之间的数据交换协议,外部应用程序按照这个表格提供Excel文档,再由EIDW管理系统的对应功能处理这些数据。

这个方案的好处在于避免了与外部应用程序的直接接触,利用“中间件(middleware)”OLE技术,解决了异构数据之间冲突的难题。OLE是面向对象技术应用的产物,不是一种编程技术,而是根植于Windows环境的一种编程模式技术,其核心在于允许一个Windows应用程序通过容器对象的方式,控制和操作另一个Windows应用程序。按照OLE自动化技术原理,本系统为自动化控制器,Excel应用程序为自动化服务器。在应用编程中,通过反复试验和调试,完成了对Excd文档的连接和操作,实现了各种源数据的集成。

EIDW作为经济景气分析的数据集,在集成外部数据时除了数据转换外,还要确保数据质量问题,否则系统的设计是失败的。EIDW管理系统为了保证数据质量,在设计集成数据功能时必须要保证数据的完整性,包括源数据、数据取值和维度取值是否完整等;数据的准确性包括源数据、编码映射关系和处理逻辑是否准确等;数据的一致性包括源系统之间同一数据,源数据与抽取的数据、数据仓库内部各处理环节数据是否一致等;数据的逻辑合理性,主要从指标逻辑的角度判断数据是否正确。为此,本系统加强了数据质量控制检验功能。当执行集成数据功能时,首先根据不同的数据对象对应的Excel文档标准,自动对外部系统提供的Excel数据格式进行全面检查,如果不满足标准格式要求,则拒绝处理该文档。

当对应文档满足标准格式要求时,对文档中的每个数据从各种逻辑关系方面进行分析和检验。如果满足逻辑关系要求,则接收该数据,否则在拒绝接收的同时,将该数据的错误信息输出到错误信息文件中,并接着处理下一个数据。当对应文档中数据处理结束后,用户可根据错误信息文件中的内容分析处理错误数据。从数据集成过程看,它本身并不能分析判断数据的正确性,因为所有集成的数据均来自统计部门,对于数据的准确性还是可信的,但它能发现一些各种逻辑关系方面的质量问题,从而提醒用户检查处理。

为了给政府部门宏观经济调控政策的制定和分析提供科学的决策依据,EIDW管理系统必须为OLAP系统提供有效接口。在OLAP系统中,包含了一些宏观经济计量、景气分析和监侧预警等模型,不同模型对经济指标数据有不同的需求。按照面向对象的思想,通过抽象指标类,继承和派生出各种模型相对应的指标类,在接口功能的支持下,满足了OLAP系统提取指标数据的需求,而且使EIDW管理系统和OLAP系统组合为一个完整的决策支持系统(DSS)。DSS结构图如图3所示。

图3 DSS结构

面向对象技术在构建数据仓库中的应用研究:5 结 语

笔者提出了基于面向对象技术构建数据仓库的一种解决方案。在具体实施过程中,注重了应用的广泛性,其主要体现如下几个方面:

1) 该数据仓库可适用于宏观、行业和企业等领域,在此,也可称为3种模式。用户可根据自己的需求在这3种模式之中有所选择,也可以构建一个综合模式,即包含宏观、行业和企业3种模式。

2) 凡是需要管理与时间有关的历史数据,均可根据本部门特点,在EIDW初始化时,建立相应的指标体系和部门信息。

3) 在系统数据的兼容性方面,可从Excel文件和文本文件中提取数据后汇集到数据仓库中,也可将数据仓库中的数据按照用户的需求输出到Excel文件和文本文件中,所以可与其他系统进行数据交流。

目前,在EIDW基本结构设计完成的基础上,主要的工作是对EIDW管理系统在使用过程中的进一步完善和提高,使之在经济景气分析领域发挥更大作用。

相关链接
基于数据仓库的目标市场营销支撑系统...2010-02-18 Informatica第二季度营收1.173亿美元2010-03-06
数据挖掘技术在ERP系统中的应用2010-02-14 BI商业智能,软件厂商你还要关注什么?2010-02-13
拯救失落中BI的三个要素和五大策略2010-02-10 数据挖掘应用在互联网上产生商业价值2010-02-07
面向商业OLAP的并行数据抽取接口设计2010-03-15 动态数据仓库设计与应用浅谈2010-03-16
MySQL被并购 开源数据库将倒退十年2010-03-17 “数据≠信息”:BI价值如何发掘?2010-02-05
返回首页 信息化软件 企业管理 营销管理 业界消息 文档查询
Copyright © 2005-2010   http://www.ourdoc.cn, 知识文档中心