数据仓库在油田数据中心建设中的应用

  • 格式:pdf
  • 大小:188.63 KB
  • 文档页数:2

图1基于数据仓库的数据中心体系架构45《工业控制计算机》2008年21卷第6期摘要数据仓库是面向主题的、集成的、稳定的和随时间变化的数据集合。以数据仓库为基础,采用分层思想,进行了油田数据中心平台架构设计,并对数据仓库ETL给出了具体实现,为企业数据中心建设提供了参考。关键词:数据仓库,ETL,信息孤岛,数据中心AbstractDatawarehouseisasubject-oriented,integrated,non-volatileandtimevariantcollectionofdata.Thispaperdesignsar-chitectureoftheoilfielddatacenterplatform,anditadoptshierarchicalthoughtsandisbasedondatawarehouse,alsohasaconcreterealizationofthedatawarehouseETLDitprovidesareferenceforthedesignofenterprisedatacenter.

Keywords:datawarehouse,extract-transform-load,informationisland,datacenter

近年来油田信息化建设迅速发展,已经形成了以纵向归口部门为主导、面向管理基层的勘探开发、经营管理、生产自动化监控等应用系统,这些系统已成为各单位、部门日常工作中不可或缺的重要部分。由于系统开发的独立性与技术多样性,各系统之间相互通信、数据共享困难,很难形成一个统一的油田信息平台。随着业务的不断拓展,现有系统形成的“信息孤岛”严重阻碍着油田信息化的发展。数据仓库是面向主题的、集成的、稳定的和随时间变化的数据集合。它以传统数据库技术作为存储数据和管理资源的基本手段,以统计分析技术作为分析数据和提取信息的有效方法,以人工智能作为挖掘知识和发现规律的科学途径,通过对原有数据进行抽取、转换、加载形成真实、全面、统一的数据。因此,构建一个以数据仓库系统为核心的综合数据中心平台能大大提高油田应用信息化水平。1数据仓库系统设计1.1总体描述构建油田数据中心涉及海量数据信息,既包括历史数据,又包括油田生产实时监测数据。数据仓库的建设应该支持油田生产经营的各个方面,包括地质勘探、油藏分析、油气运输、经营管理等。采用分层结构“自底向上”构建数据中心平台,系统数据流程为从源系统抽取数据,进行数据转换后加载数据仓库中,然后由多维分析工具多层次分类成有效信息,与数据挖掘工具有机结合,最后通过可视化工具将分析结果呈现给用户。1.2系统功能设计结合油田生产实际情况,油田数据仓库的体系结构如图1所示。从图中可以看出,整个数据仓库的总体架构共分为源数据层、数据整合层、数据仓库管理层以及数据应用层4部分。源数据层主要是油田各业务系统数据库;油田业务涉及到多方面的数据源,如勘探数据、地质数据、油气运输数据等。此外还要考虑很多外部数据源,如物料价格等。所有这些数据存储在不同区域、不同部门的异构数据库中。源数据层收集、统计这些异构数据库,并明确各个数据库数据的具体用途,进行数据来源信息的登记管理。数据整合层进行数据的抽取、净化、转换等操作,并将处理后的数据加载到数据仓库;数据处理是一个存储区,装载维度表和事实表,为输出到数据集市做好准备。由于各个数据源采用的组织形式和操作系统平台的不同,可能造成数据不一致的问题,因此在构建数据仓库时必须用数据迁移工具通过专门的数据接

口对数据源进行提取、转换、清洁,然后按照一定规则集中到数据仓库中,从而保证数据的一致性。数据仓库管理层负责数据仓库和数据集市的管理与维护。数据仓库实现对预测主题和信息的存储与综合;预测执行完成后的结果存储在数据仓库中,形成决策信息库。如探井随钻分析,就可以把随钻分析的决策点信息存入到数据仓库中,和其它已存入数据仓库的地质数据信息进行综合分析,得出最优的钻井设计方案,提高生产措施的有效率。引入数据集市是因为通过将数据仓库和数据集市分离的方法,可以使数据仓库集中精力解决数据整合和清理等问题,而数据集市则致力于为特定的决策过程提供服务。数据仓库在数据源和直接面对决策支持过程的数据集市之间形成了一个缓冲,数据集市可以面向一个优良的数据仓库来建设,数据源的变化可以不直接影响到数据集市。数据应用层通过数据挖掘工具和联机分析处理工具,完成用户的决策处理任务;并通过问题的分析与综合、查询分析、管理维护等方式实现用户与系统的动态交互。建设数据仓库的最终目的,是让油田业务系统的管理人员能够方便地使用数据仓库这一集成的决策支持环境以获取有价值的信息,从而能对油田实际生产提供对策支持。因此,数据应用层要求提供界面友好、功能强大的交互界面。考虑到油田先进的局域网络,基于数据中心采取B/S方式,通过Web服务器为各客户端提供服务。

2数据仓库的ETL实现研究作为数据仓库项目重要环节的ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程;目的是将油田业务系统中的分散、零乱、标准不统一的数据整合到一起,整合处理的好坏直接关系到数据中心项目建设的成败。

数据仓库在油田数据中心建设中的应用李坤(中国石油大学(华东)计算机与通信工程学院,山东东营257061)

ApplicationofDataWarehouseinDataCenterConstructionofOil-Field数据仓库在油田数据中心建设中的应用

(上接第44页)对RTU1700的通讯端口设置为:CommPort=2'设置通讯端口COM2Settings=″4800,n,8,1″定义传输格式PortOpen=True'打开端口MSComm1.OutBufferCount=0'清空发送缓冲区MSComm1.InBufferCount=0'清空接收缓冲区(2)握手通讯为保证通讯的可靠性,必须在通讯前通过握手通讯,判断上位机与RTU是否通讯正常。OnErrorGoTohandleComPonent.PortOpen=vNewValuehandle:IfError=8002ThenMsgBox″端口″&ComPonent.CommPort&″错误,程序退出″'退出EndIf(3)数据的传递数据的传输过程,由MSComm控件的Output、Iuput属性通过串行端口与外界通讯。以下是定义单井检测方法的程序片断,WellID为井的RTU地址:strInput=ComPonent.Input'清空输入缓冲区的内容ComPonent.Output=″p″'发送查询命令'接收处理(时间延迟85毫秒)strInput=ComPonent.Input'接收输入缓冲区ComPonent.Output=WellID&Chr(13)'发送1708的地址(时间延迟250毫秒)strInput=ComPonent.Input'接收输入缓冲区ComPonent.Output=″i″(时间延迟4.3秒)

strInput=ComPonent.Input'接收输入缓冲区IfstrInput=″″Then'如果数据没有到达则认为通讯错误Status=″未知″:Current=0:Volt=0RaiseEventDataArrived(WellID,Status,Current,Volt)'激活事件ExitSubEndIf4结束语本文对利用MSComm控件进行串行通讯的方法进行了探讨,实际应用可涉及国民生产的各个领域,如电力行业、冶金行业等。具体应用时,可根据现场情况进行数据初始化,并对程序作相应修改即可完成该领域的数据采集工作。可以看出,基于Windows平台下ActiverX技术在对串口编程时,只需要写少量的代码,就可以高效地完成通讯编程工作。

参考文献[1]潘新民,王燕芳.微型计算机控制技术[M].北京:人民邮电出版社,1999[2]王仲文,等.精通串行口通讯[M].北京:电子工业出版社,1994[3]SILERB,SPOTTSJ.VisualBasic6.0开发使用手册[M].北京:机械工业出版社,1999[收稿日期:2007.11.22]

2.1数据抽取数据抽取需要在项目调研阶段做大量的工作,首先要清楚数据是从哪些业务系统中来,各个业务系统的数据库服务器运行什么DBMS,是否存在手工数据及数据量大小,是否存在非结构化的数据等等。当收集完这些信息之后才可以进行数据抽取操作的设计。数据抽取通常按照以下几种情况进行:1)与数据仓库的数据库系统相同的数据源处理,数据库管理系统(SQLServer,Oracle)会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select语句直接访问。2)与数据仓库的数据库系统不同的数据源处理,数据抽取可以通过ODBC的方式建立数据库链接,如SQLServer和Oracle之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过将源数据,通过工具将数据导出成.txt或者是.xls文件,然后再将这些导出文件导入到ODS中;另外一种方法通过程序接口来完成。3)增量更新处理,增量更新是比较难处理的,对于数据量大的系统,必须考虑增量抽取。一般情况,业务系统会记录业务发生的时间,我们可以用来作为增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务系统取大于这个时间所有的记录。一般情况下,业务系统没有或者部分有时间戳。根据数据应用层的需求,数据抽取操作要进行相应的变更;通常情况下,数据抽取选择在用户的非工作时间进行,以免影响系统的效率。2.2业务数据清洗数据仓库作为油田数据中心项目的主要组成部分,是面向主题的、集成的、稳定的且随时间不断变化的数据集合;而实际业务系统中有可能存在着大量的噪声数据,引起的主要原因有:滥用缩写词、惯用语、数据输入错误、重复记录、丢失值、拼写变化等。为了清除噪声数据,必须进行数据清洗。业务数据清洗是一个反复的过程,不可能在几天内完成;只有不断发现问题,解决问题。对于是否过滤,是否修正一般要求系统客户确认;对于过滤掉的数据,写入Excel文件或者将过滤

数据写入数据表,在ETL开发初期可以每天向业务单位发送过

滤数据的邮件,促使他们尽快修正错误,同时也可以作为将来验证数据的依据。数据清洗需要对于每个过滤规则认真进行验证,并要求系统用户确认。经过清洗之后的数据,在整个数据中心平台中才是有价值的数据。3结束语文中对数据中心建设进行了架构设计,给出了数据仓库ETL的具体实现。基于数据仓库构建油田数据中心平台,增强油田各业务部门之间信息共享和数据综合利用能力,为建设“数字油田”提供技术支持,为企业建设数据中心提供参考。