摘要: 本文主要讲述了数据仓库技术在一个企业信息化实际项目中的应用,提出了从数据仓库的建立、数据的抽取到数据多维分析并通过数据透视表显示的一个构想。
主题词:数据仓库 数据抽取 OLAP 数据透视表 生产智能决策
1 引言
随着自动化技术及信息技术的迅猛发展,企业的信息化已成为衡量企业先进水平的重要标。生产数据一直是工厂最关心的信息。过去,这些数据信息只能记录和显示在车间控制室。随着网络的普及和发展,各企业都拥有自己的局域网,这为发展工业生产数据监测系统提供了基本的硬件环境。如何把这些数据信息上网和职能部门的管理信息进行整合,作为厂领导和有关管理部门直接地、实时地监测现场的工艺运行状况。为了适应现代化生产管理的需要,有必要设计并开发一套生产智能控制和管理决策,使生产调度、生产管理部门及时、准确、全面地把握过程工业的生产过程、生产状况。为企业更科学合理的生产决策提供数据依据。
2 系统设计
生产智能控制和管理决策系统采用数据仓库技术,并使用当前比较先进的.NET技术架构,旨在建立一个集实时数据采集、生产数据实时监测和生产数据智能分析与管理一体化的生产智能控制和管理决策系统。系统主要由如下各子系统构成:生产车间及空压站的数据采集和监测子系统,生产调度子系统,班组核算子系统。
2.1 数据采集和生产监测子系统
数据采集是生产智能控制和管理决策系统的基础,石化企业大量采用了DCS(Distributed Control System,集散控制系统)、PLC(Programmable Logic Controller,可编程控制器)等自动化仪表及控制设备进行生产过程、公用工程、罐区等的自动化控制。数据采集包含生产装置、油品罐区、计量系统、公用工程的数据采集几个部分,涉及绝大部分生产数据,实现全厂范围内数据的集成。
生产实时监测管理子系统主要功能如下:流程图显示,按设备以分页方式显示带有实时工况参数的工艺图;仪表指示棒图显示,棒上可显示该位号仪表的量程,正常范围,测量值和超限值;历史趋势图,以曲线方式显示指定时间范围内的工况参数记录数据;报警功能,可随时显示关键数据点的运行状态(正常/低限/高限),指定人员可任意修改报警点及其上下限数据;远程监测功能,系统支持通过电话拨号或Internet网进行生产过程的远程监测。
2.2 生产调度子系统
石化企业生产部总调度室是石化企业和生产部门联系最频繁的一个处室,是企业有关领导及时了解企业生产情况和指挥企业生产的窗口。为了实现调度处的信息化管理,需要建立一个集业务处理、数据分析、 Web查询于一体,同时易于实现数据共享且保障数据高度安全的、上下一致的、易于使用和管理的生产调度子系统。
2.3 班组核算子系统
班组核算子系统是以班组经济核算为起点,包括班组、车间、总厂三级成本核算系统。通过每天对生产成本进行核算,并通过与计划对比,班与班之间的对比,与本车间曾经达到的先进指标对比,一天中零点班、四点班、白班之间的对比,以利于班组、车间、总厂管理人员加强对成本的日常监控,及时掌握成本信息和发现存在的差距和问题,采取对策,防止成本超支。
班组核算软件包括五大功能模块,系统维护模块、数据录入模块、数据处理模块、数据查询模块和报表处理模块。
3 系统实现
本系统采用微软Microsoft SQL Server提供可扩充的基于COM的OLAP接口。它通过一系列服务程序支持数据仓库应用。数据传输服务DTS(Data Transformation Services)提供数据输入/输出和自动调度功能,在数据传输过程中可以完成数据的验证、清洗和转换等操作,通过与Microsoft Repository集成,共享有关的元数据;Microsoft Repository存储包括元数据在内的所有中间数据;SQL Server OLAP Services支持在线分析处理;PivotTable Services提供客户端OLAP数据访问功能。
3.1 数据仓库构建
数据仓库在构建之初应明确其主题,主题是一个在较高层次将数据归类的标准,每一个主题对应一个宏观的分析领域,针对具体决策需求可细化为多个主题表,具体来说就是确定决策涉及的范围和所要解决的问题。建立一个数据仓库需要经过以下几个处理过程:数据仓库设计;数据抽取;数据管理。
(1) 数据仓库设计
根据决策主题设计数据仓库结构,一般采用星型模型和雪花模型设计其数据模型,在设计过程中应保证数据仓库的规范化和体系各元素的必要联系。主要有以下3个步骤:a. 定义该主题所需各数据源的详细情况,包括所在计算机平台、拥有者、数据结构、使用该数据源的处理过程、仓库更新计划等。b. 定义数据抽取原则,以便从每个数据源中抽取所需数据;定义数据如何转换、装载到主题的哪个数据表中。c. 将一个主题细化为多个业务主题,形成主题表,据此从数据仓库中选出多个数据子集,即数据集市(DataMart)。
(2) 数据抽取模块
该模块是根据元数据库中的主题表定义、数据源定义、数据抽取规则定义对异地异构数据源(包括各平台的数据库、文本文件、XML文件、)进行清理、转换,对数据进行重新组织和加工,装载到数据仓库的目标库中。
本模块实现计划处及各车间的原始数据到OLAP数据的转换以及Cube 数据本身的Processing 更新, 具体完成3 个方面的任务:a. 使用数据转换系统(Data Transact System)将原始数据转移到OLAP 所需要的数据库表中。即将多张原始表结合成OLAP 的目标表;b. 运行Marking Procedure 进行业务分类;c. 在数据移入完成后, 对Cube 中的数据进行Processing 更新。
为了实现对上面3 个过程的处理顺序, 需要制作一个DTS Package, 在此包中规定一个工作流, 工作流定义好先做A 再做B、 C的工作顺序。流程如图所示。 (图片)
原数据 目的数据 可执行sql任务 (3)数据维护模块
该模块分为目标数据维护和元数据维护两方面。目标数据维护是根据元数据库所定义的更新频率、更新数据项等更新计划任务来刷新数据仓库,以反映数据源的变化,且对时间相关性进行处理。元数据是数据仓库的重要组成部分,元数据的质量决定整个数据仓库的质量。
3.2 利用ADO配合MDX来制作OLAP分析
MDX提供了强有力的功能帮助我们来处理Analysis服务器多维数据集中的多维数据。下面以生产完成情况分析多维数据集为例来说明。
轴线维:季度、产量类别
切片维:度量、年、产品、车间
X-轴:车间和产量类别维,内容包括:(产量,计划),(产量,实际完成),(质量优级品率,计划),(质量优级品率,实际完成)
Y-轴:季度维,内容包括:一月,二月,三月,二季度,三季度,十月,十一月,十二月
MDX语句如下:
SELECT CROSSJOIN({产量,质量优级品率},{计划,实际完成})ON COLUMNS,{一季度.CHILDREN, 二季度,三季度,四季度.CHILEREN} ON ROWS FROM ProductAchieve WHERE(Achieve,[2002],Products.ALL, Plant.ALL)
多维数据集构建完成后必须要能够显示给用户看,Microsoft SQL Server提供的客户端组件——数据透视表服务(PivotTable Services),它是一个让客户端应用程序连接到OLAP的组件,用户可以通过它来取还多维数据。
3 结束语
总之,在充满了剧烈竟争的当今世界,正确及时的决策是企业生存和发展的最重要环节。只有利用计算机和网络技术、数据仓库技术深层次地挖掘分析当前和历史的生产业务数据及各种有用数据,对企业生产和计划的完成情况及相关环境数据进行多角度多层次的分析,才能使企业的决策者及时掌握企业的运行情况和发展趋势,并对制定生产计划和长远规划提供理论指导,提高企业的管理水平和竟争优势。
参考文献
1. 数据仓库—客户服务器计算指南Harjinder S.Gill著, 王中谋、刘书 清华大学出版社
2. 数据仓库W.H.Inmon著,王志海等译 机械工业出版社
3. SQL Server 2000 OLAP 服务设计与应用 飞思科技产品研发中心 编著 电子工业出版社
作者简介:袁小珍(1975-),女,江苏常州人,硕士研究生,主要研究方向:网络与数据库。许南山(1956-),男,福建莆田人,副教授,主要研究方向:网络与数据库、过程工业实时监控系统;
(School of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029,China)Yuan,Xiaozhen Xu,Nanshan
联系地址:北京市朝阳区北苑家园清友园12号楼2407室 袁小珍 100012
电话:010-8496-6028(h) 135-223-73583
5/29/2005
|