基于元数据驱动的勘探开发综合数据库通用查询系统

基于元数据驱动的勘探开发综合数据库通用查询系统

2023年7月19日发(作者:)

大 庆 石 油 学 院 学 报 第34卷 第6期 2010年12月 JOuRNAI 0F DAQING PETR0I EUM INSTITUTE Vo1.34 No.6 Dec. 2010 基于元数据驱动的勘探开发 综合数据库通用查询系统 任庆东 ,李永盛 ,袁文翠 ,姜 伟。 (1.东北石油大学计算机与信息技术学院,黑龙江大庆 163318; 2.大庆职业学院技术培训中心,黑龙江大庆 163255) 摘要:鉴于勘探开发综合数据库模型本身先进性及面向对象技术,使模型在查询时变得比较复杂,通过分析勘探 开发综合数据库模式层,采用元数据驱动技术构建支撑通用查询的元模型,优化查询过程,设计并实现可以满足用户个 性化定制与查询的系统.该系统实现了不同油田数据不同组合,满足自动化构建查询条件,使数据查询趋于通用化、便捷 化,实际应用效果较好. 关键词:元数据驱动;勘探开发综合数据库;面向对象;模式层;查询定制 中图分类号:TP311 文献标识码:A 文章编号:1000一l891(201O)06—0001一O3 0 引言 中国石油勘探与生产技术数据管理系统(A1)中,勘探开发综合数据库(Petrol China Engineer Data Model,PCEDM)是较重要的组成部分,以石油行业标准数据库模型(Petrotechnical 0pen Standards Con— sortium,POSC)为指导,地质数据模型ll (Epicentre)为依托,中国石油标准数据库模型(Petrol China Data Model,PCDM)和油田数据库标准为基础,分析各个专业数据需求后建立的.通过对I andMark公司标准 石油数据库模型(Engineer's Data Model,EDM)进行扩展,正式版本1.0已经公布并应用于实践_2].虽然 PCEDM数据模型用关系数据模型构建,但运用面向对象思想,是复杂的网状数据模型. 传统的油田数据查询方法只使用数据库提供的工具如PL/SQL,而LandMark开发的Openwells只 能对单一数据库、单一数据表进行查询,无法完成对多专业组合数据查询,因此局限性大,不能满足用户多 变的需求¨3].用户需求和某些业务流程会随市场或企业战略的改变而改变,需要不断修改应用程序以适应 变化.元模型驱动 思想对企业建模有重要意义,它解决数据一致性与企业信息共享的问题 ],研究组织 如OMG提出MDA模型¨6].用元数据描述用户需求和系统运行企业环境,用户可以通过定制系统,在专 业数据库元数据和业务实体元数据支持下,形成用户需求的元数据描述;查询引擎通过元数据读取用户需 求,查询专业数据库并形成用户个性化界面. 笔者采用元数据驱动技术,提出基于元模型的通用数据查询方法,将复杂的PCEDM模型用数据字典 进行描述,形成适合通用数据查询的框架体系模型,设计查询优化改进方法,提高数据查询效率及灵活性. 1 框架体系模型 定制查询框架体系模型包括查询定制系统设计、元模型设计和查询优化设计(见图1). 1.1查询定制系统设计 查询定制系统设计通过对单表或多表数据的定制形成统一视图,并针对定制视图进行一次或二次查 询,提供一种与业务无关、通用的查询功能实现框架.通过数据字典查询相关表和字段,降低查询定制功能 收稿日期:2010一O6—0l;审稿人:张方舟;编辑:任志平,张兆虹 基金项目:黑龙江省石油领域数据规范化核心技术研究项目(11541008);黑龙江省教育厅科学技术研究项目(115310l3) 作者简介:任庆东(1960一),男,副研究员,主要从事计算机控制、数据集成等方面的研究. 大庆石油学院学报 第34卷2010年 图1 定制查询框架体系模型 实现难度.与传统的直接编写查询页面方法不同,系统开发中使用通用查询模块,使开发人员仅需在查询 定义中引入完善的数据字典,即可完成系统定制查询功能.查询的交互界面、查询语句和查询结果等由模 块自动生成. 用户查询时,服务器通过元数据驱动技术将查询请求映射到通用查询模块(见图2).Web服务器在收 到查询请求后,根据请求查找相应的查询定义(元数据),从元数据库中提取查询条件(元数据驱动)并形成 交互界面发送给用户;再根据用户在交互界面中提交的元数据信息动态生成查询命令(SQL语句),执行 查询命令并将查询结果返给用户. 1.2查询优化设计 1.2.1 优化原则 查询优化任务之一是产生代价最小的查询执行计划,过程分2步:(1)产生与给定表达式逻辑上等价 的表达式l_7 ;(2)对产生的表达式做不同方式注释,生成候选计划. 从整体上看,这2步交叉进行,首先产生一部分表达式并注释,接着产生另一部分表达式并注释.表达 式中每个运算可以用不同算法实现,这些算法可能用到不同索引.表达式中各运算的协调执行(实体化计 算方法、流水线计算方法)是查询优化设计第2步需要完成的主要任务(见图3). 用户— 定制表、字段信息—- 定制条件— 通用查询模块 特定查询请求 找到查询定义 从元数据库中 提取壹洵条件(元数据驱动) , 形成查淘sQL oWeIl . 杏询结果返 给用J 用户 执行查询命令 图2 查询定制系统流程框图 图3 查询优化执行例子 1.2.2优化方法 查询优化方法包括:(1)选择实现关系运算具体算法(包括与算法密切相关的各种索引);(2)协调各关 系运算的具体执行(采用实体化计算方法或流水线计算方法);(3)对整个关系代数表达式Ⅲ进行优化,产 生代价最小的查询执行计划. 第6期 任庆东等:基于元数据驱动的勘探开发综合数据库通用查询系统 1.2.3查询条件 查询优化任务是找出表达式中代价最小运算并确定查询处理过程.数据查询过程中多表关联的数据 查询条件优化显得尤为复杂,包括2部分 :(1)内部隐藏的关联关系.由用户选择数据表时通过在数据字 典中建立的外键关系自动生成并添加到查询条件中.(2)由用户根据实际需要设定查询条件.这类查询条 件必须以用户选择的表为基础,首先选择作为查询条件的表,然后选择表中的某个字段,最后选择字段的 具体值,反复添加多个查询条件. 查询定制系统能够实现用户定制过程中无用字段自动过滤,将真正有用字段展现给用户,方便用户选 择;自动提取查询条件,减少查询过程步骤,使对模型关系不清楚的用户也能方便定制视图. 1.3元模型设计 元数据作为数据查询定制系统的核心,联系定制系统各步骤,驱动查询引擎查询专业数据库形成用户 视图;专业数据库信息发生改变时只需修改相应的元数据,不必修改程序.因此,元数据使查询系统更加适 应用户需求和企业环境变化. 构建元数据模型是查询定制系统设计的重点.基于定制视图过程与查询视图流程构建元数据模型,包 括专业元数据、视图信息元数据、条件元数据和对象元数据(见图4).元数据模型保证定制信息、条件信息 及专业元数据的有效结合,形成通用定制信息,解决油田数据不一致性与信息共享问题. [匿 垦塑 里 匾匿 j 数据字段(代码) i区 匿图定制视图基编名本码称 信息 数据名称 定制者 专业信息 自动关联条件 业代码、上级专 图4查询定制系统元数据模型 查询定制元数据模型以定制视图和用户为核心,是与定制视图相关的客观实体;所属实体包括用户、 组织机构等,是与定制视图相关的主观实体.由于可以为用户和部门定制视图,所以可用视图包括用户视 图和部门视图.查询引擎首先查询用户表,提取用户和部门信息,通过查询部门视图和用户视图构建用户 界面;然后从元数据库中提取构建的视图信息元数据,形成组合SQL语句,最终查询专业数据库形成用户 视图. 元模型设计的优势包括:(1)PCEDM数据模型随着实际应用的扩展及业务的增加而扩展,但元模型 并不会因此而变化并能自动适应,不影响数据定制查询的整个过程,具有很强的适用性.(2)元模型将查询 过程进行分割,每一部分抽象为元数据存储,不仅对PCEDM数据模型适用,也适用于其他数据模型;不仅 适用于石油领域数据模型,也适用于其他领域数据模型,具备一定的通用性. 2 查询优化的实现 查询优化是为查询选择最有效的查询执行计划的过程:一方面在关系代数级进行优化,找出与给定表 达式等价且执行效率最高的表达式;另一方面选择查询语句处理策略,如选择执行运算所采用具体算法及 将使用的特定索引等.实现过程包括定义表集合、数据问自动关联、排除重复记录和构造自关联表查询 条件. 2.1定义表集合 单继承表定义为 A1∈U1一{Al,A2,A。,…,A }, ・9 ・ 大庆石油学院学报 第34卷2010年 其中,A 为A 的父表,A。为A 的父表,以此类推. 多继承表定义为 ,…r【, A1,A2,A3 ,A }; I U A 1,A l+l A 1+2,…,Aml+ ); ,A1 E U A 2,A +l A 2+2,…,A 2+ }; ,I.‘ I U A ,A +1 A +2,…,A + }, ,其中,ml—m2一,…,一m . 2.2数据间自动关联 通过数据字典建立表之间的继承关系,数据字典中字段标注外键引用关系及具体引用哪个表中的哪 个字段,通过递归筛选出完整的表间引用链.如完井层段一井筒一井一组织机构、工区,该引用链既包括单 表继承又包括多表继承;因此提取过程中出现重复遍历并产生重复数据表,需要进一步排除重复记录. 2.3重复记录排除 用户选择某些数据表时由于关联关系复杂,可能出现一个表的字段被其他不同表中字段引用的情况, 所以遍历时出现对同一表重复操作而产生重复的数据表.由于被选取数据表不重复运行,重复的数据表必 须被移除,所以每次选择表时必先遍历已被选人的表是否和新选人的表有重复,没有重复继续遍历;反之, 跳过此表继续遍历下一个表.如此反复进行,直至没有父节点. 2.4 自关联表查询条件构造 用户选择一口具体井时,可能会因为数据库大量处理数据而发生死机现象,即使是计算机硬件条件达 标,其逻辑关系上可能难以满足用户要求.如根据关联关系,用户选择一口井时,首先确定该井属于哪个 队,该队属于哪个矿,该矿属于哪个厂,如果单纯选择井而不考虑厂、矿、队就会出现数据冗余现象,用户无 法区分筛选出的井是属于哪个厂、矿队,加大搜索范围和搜索量,影响数据查询的速度.虽然可以通过编写 SQL语句解决,但是难以将SQL语句自动转化成通用的用户可选择的拼接条件.当用户选择 厂、矿、队等组织机构自关联表(见表1)中 表1组织机构自关联表(Pc_ORGNIZATION) 具体井时,首先建立井和组织机构之间的 关联关系,然后选择具体的厂、矿、队数据. 由于是自关联表,故不能将SQL语句写成 “WHERE PC—ORGNIZATION.ORG一 NAME一‘采油一厂’and 0RGNIZATION.ORG—NAME一‘采油一矿’and ORGNIZATIoN.ORG— NAME=‘采油一队”’. 用户构建组合查询条件时,如能定位到某厂某矿某队的具体井名,不但可以解决目标井定位问题,还 能解决某项具体值因数据量庞大难以快速显示的问题.针对此问题提出3种解决方案: (1)利用树形结构l_】 .当用户选择字段名时,通过数据字典判断是否是外键,引用字段所在表是否是 自关联表;若是,则弹出对话框选择井所在的厂、矿、队,确定后将条件信息录入数据库,待查询时提取.此 方法主要解决通用SQL语句问题. (2)若用户是专业人员,可自行在条件器中拼接查询条件. (3)对专业数据库用户还提供直接填写SQL语句功能,将SQL语句录入到数据库中,供查询时提取. 3 结束语 基于元数据驱动和通用查询技术,提出通用化定制查询模型,构建元数据模型,用元数据描述用户需 求,通过元数据驱动查询引擎查询专业数据库并形成用户界面,保持了通用查询良好的数据库接口优势, 很大程度上能够适应数据库结构和查询条件的变化,满足用户不同需求而无需修改程序.普通用户可以根 据自己的需求定制查询,方便用户管理,提高工作效率. ・94・ 第6期 任庆东等:基于元数据驱动的勘探开发综合数据库通用查询系统 参考文献: [1]袁满,文必龙,张林,等.Epicentre数据模型应用标准及其实现[J].大庆石油学院学报,1998,22(3):40—42. [2]曾庆猛,王冬梅,姚子修,等.中石油A1系统PCEDM数据模型基本实体初步研究EJ].勘探地球物理进展,2008,31(6):464—465. [3]王颖.PCEDM地质油藏模型的分析与改进EJ].大庆石油学院学报,2010,34(2):38—42. [4]Tamer O M,Valduriez P.Principles of distributed database system[M].北京:清华大学出版社,2002. [5]王峥,王亚平.关系代数与SOl 查询优化的研究[J].电子设计工程,2009,10(8):110—111. [6]李辉,王瑞波.多条件分页查询优化的设计方法[J].计算机工程.2OlO,36(2):51—52. [7]Chen A,Goes P,Gupta A,et a1.Heuristics for selecting robust database structures with dynamic query patterns[J].European Jour— nal of Operational Research,2006,168(1):200—220. [8]周俊,徐林,李征.元模型驱动的企业建模[J].计算机工程与应用,2005,27(3):215—217. [9]洪霞,王光明.基于MDA的Web应用系统开发研究[J].计算机工程与设计,2008,29(1):240—241. [10]王嘉.Vc++中利用递归遍历目录树.机械管理开发厂J].2006,20(1):44—45. (上接第82页) 4 结论 (1)建立适用于锦45区块稠油蒸气驱高温情况下的黏温关系式,为预测井底闪蒸提供依据. (2)建立锦45区块稠油蒸气驱生产井井底温度计算模型,依据井口温度、产量、含水率等生产参数及 井身结构参数实时监测井底温度,实现由低温向高温的计算过程.同时,根据锦45区块蒸气驱的多口实测 井的温度数据,确定井底温度计算模型中的地温梯度取值范围,为井底闪蒸预测提供依据. (3)根据稠油蒸气驱生产井井底温度、压力计算模型,结合水饱和蒸气临界温度一压力曲线,提出锦 45区块稠油蒸气驱闪蒸预测方法. 参考文献: [1]周宏志.原油粘温公式的精度分析[J].炼油与化工,2009,3(2o):8—9. [23杨筱蘅,张国忠.输油管道设计与管理[M].北京:石油大学出版社,1995,56—59. [3]冯叔初,郭揆常,王学敏.油气集输[M].北京:石油大学出版社,2004:54—55. [4]万仁溥,罗俊英.采油技术手册[M].北京:石油工业出版社,1996:136—153. [5] 王谊.特超稠油井井筒温度场计算与分析[D].东营:中国石油大学(华东),2008. [6]唐海雄,张俊斌,王堂青,等.海上高温油井的井筒温度剖面预测[J].大庆石油学院学报,2010,34(3):96—100. [7]唐海雄。张俊斌,王堂青,等.试采过程的气井非线性井筒温度剖面预测EJ].大庆石油学院学报,2010,34(3):101—103 [8] 晓丹.垂直井筒两相流温度场计算方法研究与应用[D].东营:中国石油大学(华东),2007. [9]王照亮,王杏花,梁金国.注气井井筒温度分布的模拟计算[J].石油大学学报:自然科学版,2003,27(1):76—80. [1o]单学军,张士诚,王文雄.稠油开采中井筒温度影响因素分析[J].石油勘探与开发,2004,31(3):136—139. [11]谢俊.微积分法计算抽油井井底压力[J].山东科技大学学报:自然科学版,2003,22(1):104—107. ・ 95 ・ 

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689765448a284350.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信