EPDM通用存取接口研究和应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EPDM通用存取接口研究和应用

EPDM通用存取接口研究和应用   摘要:目前EPDM(勘探开发数据模型)已经成为中国石油行业内的数据模型标准,它必将成为中国石油信息规划中一系列大型软件应用的基础。由于模型庞大、结构关系复杂,给软件开发人员带来了很大的困扰。为此,本文阐述了建立基于EPDM的通用存取接口,使软件开发人员在不需深入研究模型的前提下进行开发并达到较好的应用效果。   关键词:EPDM ORM 数据模型 存取接口   中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2011)09-0048-01      1、引言   EPDM模型体现了勘探开发一体化原则,以中石油勘探开发的业务需求和数据需求为出发点,以POSC(石油技术开放标准联盟)参考模型为指导,以PCDM2002 字典和油田数据库标准为基础,通过对EDM( Engineer’s Data Model)模型进行扩充和修改后形成了石油天然气总公司的业务数据模型。   随着A1、A2项目在油田的实施应用,该模型已经成为中国石油行业内事实上的数据库标准,也必将成为中国石油信息规划中一系列大型勘探开发专业软件应用的基础。但由于模型设计过于复杂和庞大,完全按照面向对象思想,使得广大油田软件开发人员一时难以完全适应,造成目前基于EPDM模型进行软件开发存在较大困难。为此,需要油田软件开发人员尽快适应模型变化的新形势,打破思维定势,掌握设计理念全新、结构关系复杂的EPDM模型,进而开发相应的软件。本文在介绍EPDM模型的基础上,阐述数据存取接口的设计思路以及应用前景,使软件开发人员在不需深入研究模型的前提下进行开发,提高软件开发效率。   2、EPDM模型概述   EPDM模型集勘探开发业务于一体,采用面向对象的数据建模技术,具有统一的井筒、地质单元和层位管理,从基本实体出发,分别描述钻完井、井筒作业、油田生产、工程监测分析等业务模型,并可以直观地描述分支井和水平井业务对象,保证了油田各专业数据的一致性和高度共享。模型具有面向对象设计、勘探开发一体化、支持多井筒多层段数据管理、支持井历史数据回算、油藏精确描述、开放性强易扩展等特点。   模型数据存储于Oracle关系型数据库中,数据表与代码表总量两千多个。其中采油厂已经在用A2(油气水井生产数据管理)系统共涉及应用表与代码表近200个。EPDM基本实体关系结构涉及到19个表,18条关系线,数据级联关系最多达到5层,表与表之间全部通过主外键关系实现关联。从这些数据量能够看出,软件开发人员需要耗费大量时间和精力研究模型结构和表间关联关系等,在此基础上通过编写多层SQL语句才可实现数据调用。   3、EPDM数据存取接口的设计   3.1 设计思路   在设计过程中,将模型中的关系型数据表作为研究对象,利用ORM技术(Object Relational Mapping,对象关系映射)将数据表映射为实体类,使传统的直接对数据表、表间关系的操作转换成了对接口式实体类、类间关系的操作;再利用软件开发框架提供的数据持久化接口以及相关组件的支持,自动生成数据操作方法代码和操作语句;通过对模型的操作封装后形成通用的数据存取接口。   3.2 实现过程   3.2.1 实体关系映射   业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,实现关系数据库数据到程序对象的映射。   一对一关联:两个实体通过关键字的一对一关联,需要在关联的两实体中各增加一列,以指导映射关系和查询。   一对多关联:一个实体通过被关联实体的一个外键关联多个被关联实体的集合,需要在两实体中各增加一列,以指导映射关系和查询。   由于基于EPDM模型进行研究,不存在多对多关系,因此不考虑多对多关联的情况。   3.2.2 数据库访问封装   采用抽象工厂模式,在接口内部创建支持指定数据库的操作方法类,以及调用这些类的接口,当用户需要执行数据库访问操作时,无须亲自访问数据库,通过接口自动实现。即用户只需要知道需要什么,而不用知道怎么实现。创建数据库访问接口类,定义数据连接所需的属性,具体的数据库连接信息从系统配置文件读取,数据库改变时,只需修改系统配置文件即可。   3.2.3 生成CRUD操作类   按照实体映射结果生成配置文件和读取配置文件的类,再有数据库访问封装研究结果重构数据操作方法,从而生成数据操作接口。将自动生成的CRUD操作与实体类的操作规则整合封装,利用泛型技术实现只提供数据类型及相应数值,完成数据操作。   3.2.4 应用效果   应用该接口时,通过提供的智能感知功能方便地自动调用相关数据表、数据项,简单易行。具体

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档