摘 要 : 本论文通过对数据仓库解决方案中的几项关键技术进行的程序设计开发等技术实践,对元数据管理、联机分析、数据挖掘、决策支持等技术进行了综合分析,论述了其技术关键和应用特点,并结合企业网开发应用环境以及油田开发数据库技术应用现状,提出了构建具有石油专业领域特色的数据仓库应用的设想。
主 题 词 : 油田开发 数据仓库 元数据 数据整合 联机分析 数据挖掘 综合应用
1. 油田开发数据仓库解决方案技术实践的目的
数据仓库是近几年来出现的一项新技术,目前,数据仓库技术在理论研究上有了较大的进展,围绕数据仓库解决方案的软件产品也如雨后春笋般出现。国内科研院所也都在开展相应的研究,但多数局限于对理论、对模型、对某个软件产品的评价。自1998年开始,我厂对数据仓库及其相关技术进行了技术跟踪。
构建油田开发数据仓库可以和构建其它数据仓库一样采用相同的工程方法学,或相同的软件支持工具,但油田开发有其很强的专业领域特征,并不是照搬照抄能做到的。因为数据仓库不是一个产品,虽然需要一定的软件产品作支持,但数据仓库本身必须根据企业自身的应用特点来构建。
基于上述原因,我们以我厂的油田开发应用为背景,开展了系列数据仓库解决方案的技术实践。
2.油田开发数据仓库解决方案技术实践的总体设计
为了探索数据仓库及其相关技术在油田开发领域中的应用模式,我厂确定了以《开发动态分析》为应用原型,开展了基于油田开发数据库之上的系列技术实践的研究。
经过系统的需求分析,我们进行了数据仓库解决方案的概要设计,并形成了软件开发工作框架。其总体结构如下图所示。
其中,数据仓库管理能够实现对主题数据的存储和综合,OLAP实现多维数据分析,数据挖掘用以挖掘隐藏在数据内部的知识,决策支持应用完成对油田开发领域知识的应用开发实践。最终将它们集成为综合决策支持系统,相互补充、相互依赖、发挥各自的辅助决策优势,实现更有效的辅助决策。
3.技术关键之一: 元数据与数据仓库管理
数据仓库的管理是通过元数据进行的,包括数据的抽取、转换、整合、校验等;基于数据仓库的联机分析是以元数据的定义为基础的;其他决策支持性工具软件的开发应用也是以元数据为接口的。
合理的元数据设计与管理应该具备如下优点:
1.1将全局数据资源和应用资源通过在系统表中的定义,统一管理和维护起来;
1.2将全局不同数据资源(表、视图、存储过程、应用构件)的数据结构公开发表,促使用户直接在此基础上对数据库进行直接应用,加快开发数据仓库的应用推广过程;
1.3将开发数据库标准化、规范化体系建设与系统管理控制过程结合在一起,为信息系统标准化提供有利的环境支持;
1.4根据元数据结构定义内容,使建立数据库语义分析处理过程和自动化程序设计过程成为可能,这必将大大加快系统深层次开发工作效率。
考虑元数据在数据仓库中的作用,我们着重对元数据进行了内容设计、结构设计与编码设计。在《开发数据库逻辑结构及填写规定》以及附录A、B、C入库的基础上,又加入了其它如过程定义信息、联机分析信息等,使其能够覆盖所要求的功能。同时,我们在技术实践中采用VC编程实现了基于元数据的数据仓库管理工具的开发,通过对元数据进行的维护变换,实现数据的移植、整合、分析、应用。
4. 技术关键之二: 数据整合
数据仓库管理工具的目的最终是为了管理数据,包括数据的移植、抽取、校验、整合等。
通用性较强的功能可通过公共程序模块实现,例如数据的移植。考虑到分布式异构数据库的情况,这样的程序虽很复杂,但技术上不难实现,设计思路是在我厂已开发的《分布式异构数据库通用维护软件》的基础上,在数据仓库管理中实现所需功能模块的调用。
数据校验功能也可通过在元数据中定义数据校验类型开发通用程序模块。例如,对于连续型变量取值范围的校验,只需在程序模块中判断其大小即可,如生产日期不能早于1970年,不能晚于系统日期等;对于离散值的校验,最普遍的是有标准编码约束的数据项,如井别、小区块代码、措施代码、采油方式等,基本上是执行一个标准的 IN 判断;对于外部取值约束情况,即某一个数据项的取值受限于另一个数据项的取值,如所有井号必须在daa01中出现,是在元数据中定义了进行数据校验的SQL语句;更为复杂的情况,可以定义校验程序在进行数据校验时调用。在数据校验执行后要给出数据情况分析报告,确定数据的可用程度。
数据整合与上述功能需求不同,它的特点是按照业务需求进行定义的。如我们在处理井组连通数据时,为了保证应用的优化,在数据仓库设计中对daa05数据库进行了程序处理,使其由一口井连通周围145度角的数据变成连通周围360度的数据。又如,在使用同位素吸水剖面数据中,为了使其与小层连通数据关联以便进行动态分析,同样进行了程序处理,进行了一些相关的数据换算。这些程序模块需要独立开发,但重要的是要规范,并与元数据定义一致,包括参数、数据依赖等,这样在数据仓库管理中可以为其定制执行计划,保证数据的自动更新。
5. 技术关键之三: 联机分析
联机分析工具应具备的基本功能是完成对数据的钻取、旋转和切片。其最终目标是取代传统的定制报表程序设计的方式,满足用户各种不同角度的数据统计分析。
我们在技术实践中借用了sqlserver olap services联机分析服务器,利用控件技术开发了浏览器上应用的客户端工具,以摆脱服务器运行环境的限制。
联机分析工具仅是一种工具软件,而真正给提供给用户使用时必须建立起应用模型,即多维数据集,这是需要进行一定的需求分析工作的,而且是在数据仓库(集市)建立成型的基础上进行的。目前我们建立了基本的维表,如日期维(年、季、月、旬、周、日等)、井网维(老井、一次调整井、扩边井等)、矿队维、井站维(联合站、中转站、计量间)、区块维(油田、区块、单元、小区块等),还有其他形式的如措施维、采油方式维、关井原因维等等。这些维表与事实表进行关联后即可实现按照维表的各种视角组织浏览数据。例如,以井史数据为事实表,可以按照年季月、矿队、井站、井网、区块等角度分析汇总生产数据情况。分析工作在同一个窗口通过鼠标拖拽点击即可完成。
即便是软件工具已经足够成熟,但应用模型的建立是不能停止的,必须进一步按照应用需求组织各种相关的事实数据及其与维数据的对应关系。另外,多维数据分析对数据质量的要求比较高,必须保证能进行维表与事实表的正确关联,否则会出现错误汇总数据。
6. 技术关键之四: 数据挖掘
OLAP局限在对数据的统计分析处理,而数据挖掘是通过某种算法,对数据仓库中的数据进行学习,获得隐藏在数据内部的内在关系和相关知识,用于分析、预测和描述。目前已经比较成熟的数据挖掘算法有粗集方法、遗传算法、决策树方法、神经网络方法、公式发现、模糊论方法等。我们在技术实践中开发应用了聚集、决策树、神经网络的挖掘算法。主要是应用Matlab、SQL Server等提供的功能或开发接口进行的软件开发实践。
为了探索数据挖掘在油田开发中的应用模式,我们尝试性的建立了几个数据挖掘模型。例如,我们建立了影响示功图解释成果的原因分析挖掘模型,从油井的静态属性方面,分析其对功图的影响,通过机器的自动学习,发现,影响示功图解释成果的因素按照其相关性强度依次为开采层位、投产日期、油层中部深度、原始饱和压力、区块、原始地层压力。其中,开采层位在S2P1,投产日期在1996到1998之间,原始饱和压力在5.83以下的井,在功图异常井中86.84%呈供液不足状态。又如,在井组动态分析中,我们把油井生产数据细化到每个生产小层上,同时给出与其连通的水井在该小层上的注水情况,使用数据挖掘工具对其进行数据挖掘,决策树用以实现判定主要影响该井该小层生产的水井,同时给出各水井相关性的强度,而神经网络算法通过学习和训练可以实现预测功能,即如果改变某小层某水井的注水方案,油井的生产情况会如何变化。
7. 技术关键之五: 油田开发综合应用
以《开发动态分析》应用模型为例,我们以人工动态分析方法为工作框架(如下示意图),在数据仓库中建立了油田开发领域专家知识库,并以元数据为接口,融合了联机分析功能与数据挖掘功能,开展了动态分析软件的研制。
按照数据仓库解决方案进行的领域知识应用程序设计不同于以往的软件程序设计。其最大的特点是将油田开发领域知识(专家给定的经验值、分析方法等)作为数据仓库的一部分创建,即知识库的构造与应用。这样,在不同的应用模型中,通过改变知识库,即可完成应用的调整,而不再需要进行程序代码的修改。例如,在分析油井月度产量变化过程中,以20%的幅度判断日产油量在10到30吨之间的井的产油量变化情况,这是领域专家给出的经验取值。这些经验取值以及一些分析方法都定义为知识库的一部分,以数据的形式存放,并在程序中通过接口服务加以调用,而且该知识即可以通过人工修订,也可在机器的不断自我学习中加以更正。
由于在应用中融合了数据挖掘功能,通过机器学习得来的知识以及通过动态分析得出的结论也要作为知识保存下来,并作为新的知识反馈给用户。这样做的一个明显的好处是使动态分析工作不会因为人员的调离而出现分析知识断档的现象。
8. 结论与建议
数据仓库解决方案的应用在油田开发领域有着广阔的扩展空间。但就目前而言,选择某个厂商的软件平台并大规模投入开发应用,企业将要承担较大的投资风险。据不完全了解,一个ORACLE数据仓库系统软件报价在80万美金,从这一点也足以看出其技术的含金量及其投入的人力、物力资源,这些非是我厂几个技术人员所力所能及的。但通过我们的技术实践过程,我认为,作为油公司这样一个大型企业,完全可以结合油田开发生产实际情况,开发出具有石油专业领域特色的数据仓库应用。
1. 人工智能及其应用 蔡自兴、徐光祐著 清华大学出版社
2. 数据仓库—客户服务器计算指南 Harjinder S.Gill著, 王中谋、刘书舟译 清华大学出版社
3.Oracle8数据仓库分析、构建实用指南 Michael J. Corey等著 陈悦等译 机械工业出版社
4. 数据仓库 W.H.Inmon著 王志海等译 机械工业出版社
5. MATLAB数据处理与应用 李强、赵伟著 国防工业出版社
6.作者简介 刘学霞,女,1970年3月9日出生,曾昭虎,男,1970年4月7日出生,二人皆为计算机应用工程师,现就职于大庆油田有限责任公司第五采油厂信息中心。邮编:163513,电话:4597222,Email:lxx@cy5.dq.cnpc.com.cn。