基于Epicentre数据模型的油田生产数据可视化
2018-03-28宗堡
, , , , 宗堡
(1.东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318; 2.中国移动通信集团黑龙江有限公司鸡西分公司,黑龙江 鸡西 158100; 3.中国石油技术开发公司,北京 100028; 4.大庆油田第一采油厂信息中心,黑龙江 大庆 163318; 5.东北石油大学 地球科学学院,黑龙江 大庆 163318)
近年来,石油产业的勘探开采技术得到了很大的提高,也促进了计算机技术在油田领域中的应用。石油技术开放标准协会(POSC)的Epicentre 数据模型[1-2]通过对油田勘探开发数据的整理及分析,采用面向对象的分析方法对油田数据进行抽象及归类。
Epicentre数据模型基本能满足石油勘探与开发工业活动中对各种数据的需求[3]。通过对该模型进行扩展,给出实体可视化的描述,实现业务模型的可视化。业务模型被可视化后,不但展现了业务与其他业务活动之间的关系,还展现了业务活动所包含的相关业务活动以及该业务活动的流程。通过这些流程信息,相关技术人员可以快速理解一些业务流程。可视化能够展示业务活动的相关场景以及施工活动所涉及的设备等元素,可使相关技术人员更好地了解施工场景及施工设备。
1 油田勘探开发业务模型
1.1 Epicentre数据模型概述
Epicentre数据模型采用面向对象技术定义的网状层次结构。该模型主要是为了定义勘探开发数据模型而提出的,在逻辑上完全与底层的物理存储分离并相互独立[4-6]。Epicentre的格式包括实体名称、实体描述、实体属性的定义、实体规则的描述、实体超类路径的描述以及实体图表相关引用的描述。
Epicentre数据模型采用面向对象的方法对模型中的实体进行描述[3]。根据面向对象的思想,它首先定义了一个根基类实体e_and_p_data。e_and_p_data包含过程数据(process_data)、地质过程(geologic_process)、关注对象(object_of_interest)、参考数据(ref_data)、关系(association)、活动(activity)等6个高层子实体。每个子实体又包含相应的子实体,如此便构成了一个高层模型。这个高层模型主要描述实体的分类以及实体间的相互关系。
Epicentre数据模型和传统数据模型的理念不同,它不是以对象为中心,而是以活动为中心。在油田勘探开发的整个生命周期中,通过对象、活动、特性以及它们三者之间的关系合理地构建具有特定结构的数据体系,可有效再现勘探开发领域中涉及到的业务活动及其所产生的相关数据。活动、对象以及特性三者间的关系如图1所示。
图1 活动、对象及特性三者之间的关系Fig.1 Relationship among activities,objects and features
1.2 活动分析
活动是指为了共同的目的而联合起来完成一项工作的一些动作的集合。在油田勘探开发过程中,涉及到许多项业务,每一项业务由一个或多个活动构成,因此活动是建立油田勘探开发业务模型及数据模型的一个非常重要的因素。
业务模型所体现的是一组有序的活动及其之间的关系,而业务单元是对某一业务活动的具体描述,说明了业务活动所涉及的对象及产生的结果等。
由于企业业务模型的多样性,因此活动的定义采用元数据法,即每一个活动都由一个元数据结构来描述。元数据法在可扩展性方面表现尤为突出,能够在模型结构不变的情况下对实体进行扩展,从而保持了模型结构的稳定性。
1.3 勘探开发业务模型分析
勘探开发业务的划分是建立在对油田详细业务流程进行整理及分析的基础上,并按照POSC业务参考模型进行划分[3-7]。本文根据实际需求把油田勘探开发生产周期划分方法作为主要划分方法,并尽量符合油田勘探开发生产过程中一直沿用的一些习惯,最终把油田勘探开发业务划分为井筒工程、综合研究、分析化验、物化探、开发生产、地面工程、公共等7大业务领域。
业务划分后还要对每个业务领域进行更详细划分,即形成细化业务领域的业务单元。对于业务活动的划分,应该充分保证所划分业务活动涵盖了勘探开发涉及的所有业务,没有业务疏漏。同时,还要保证不同业务领域之间的业务活动不能重复,对于业务的描述要清晰,符合油田业务命名规定。
业务划分后对业务模型进行构建。构建过程中最重要的就是对业务单元下数据项的提取,确定数据项时要完全体现出该业务活动所涉及的所有数据,并且不能出现重复的数据项。同一数据项可以出现在不同的业务单元中。勘探开发业务模型如图2所示。unit标识业务,业务的属性含义如下所示:id为业务的唯一标识,name为业务的名字,detail为业务的描述。dataItem标识数据项,数据项的属性含义如下所示:id为数据项的唯一标识;name为数据项的名字,de为数据项所对应的数据元标识,op为数据项的操作。
图2 勘探开发业务模型Fig.2 Exploration and development business model
2 油田勘探开发业务模型可视化
2.1 油田勘探开发数据模型可视化属性扩展
Epicentre数据模型标准是一种规范,适用于大多数油田勘探开发领域。勘探开发数据模型完全以Epicentre为参考模型,但Epicentre数据模型中不存在与可视化相对应的实体。本文实现了基于Epicentre数据模型的勘探开发数据模型可视化实体添加以及可视化属性扩展。
在不影响现有模型稳定性的基础上,新增实体SPR_VISUAL_TYPE和SPE_VISUAL。实体SPR_VISUAL_TYPE为参考实体,定义并添加了2个描述属性,分别为visual_type_name和path。其中,visual_type_name表示SPR_VISUAL_TYPE的名称,path描述可视化实体的保存路径。SPE_VISUAL 实体的基本定义如下所示:
visual _name ( M,K∶ndt_identifier )
description( O,I∶ndt_comment )
visual _type( M,K∶spr_visual_type(spe_visual ) )
visual_source ( O,K∶spe_object_of_interest(involved_visual ) )
part_of_visual( O,V∶spe_visual(part_of_visual ) )
involving_object( V,set[0∶?]∶spe_object_of_interest(involved_visual ) )
增加SPE_VISUAL实体后,相关实体的属性也要做相应变化。其中,根基类实体e_and_p_data添加属性visual_description( V∶set[0 ∶ ?]spe_visual( visual_description ) ),这样根基类下所有继承子类也相应增加了扩展属性visual_description( V,I∶set[0 ∶ ?]spe_visual( visual_description ))。此处添加的引用属性为集合类型,即该属性所描述的实体可以没有可视化属性,也可以有多个可视化属性。
2.2 数据项可视化分析
本文主要分析数据项所对应数据元的核心实体、约束实体以及源实体。核心实体是对数据元最主要的描述,而约束实体是对数据元最主要的限制,源实体则表示业务单元中数据项的来源。按照核心实体是否能够可视化的原则对数据项进行一次划分,可分为可视化和非可视化2类。结合核心实体、约束实体以及源实体对一次划分后的数据项进行分析,进一步进行可视化划分并抽取出可视化对象。
以数据项“循环携砂液泵压”为例进行分析,它的核心实体为SPE_ACTIVITY,源实体为SPP_TRANSIENT_PRESSURE,约束实体如下所示:
SPP_TRANSIENT_PRESSURE.ACTIVITY=SPE_ACTIVITY
SPP_TRANSIENT_PRESSURE.TYPE[SPR_PROPERTY_TYPE].IDENTIFIER=^循环携砂液泵压^
通过分析可以得出“循环携砂液泵压”来自于SPP_TRANSIENT_PRESSURE实体,并且是一个具有瞬时压力属性的实体,它被一个活动实体SPE_ACTIVITY约束,类型标识符为“循环携砂液泵压”。通过以上分析,把“循环携砂液泵压”数据项划分到可视化活动类中。最终可以把数据项的可视化分类划分为活动类、材料类、设施类、角色类、综合类。
2.3 业务流程及描述分析
本文以“绕丝割缝筛管防砂施工”为例,应用6W模型对其进行描述,具体如下所示:
发起者(WHO):SPE_BUSINESS_ASSOCIATE。
操作地点(WHERE):SPE_WELL。
活动时间(WHEN):SCHEDULE78357。
操作对象(WHICH):SPE_WELLBORE、SPE_WELL_OPERATION_FLUID、SPE_WELL_OPERATION_SOLID、SPE_EARTH_FEATURE_CLASS。
活动原因(WHY):防止采油过程中堵砂。
产生对象(WHAT):SPP_ABSOLUTE_ABUDANCE、SPP_BUCK_VOLUME_TOTAL、SPP_TRANSIENT_PRESSURE。
结合勘探开发数据模型中活动的存储结构确定该流程的数据库实例表。发起者( WHO )由instance_creator项表示,活动时间( WHEN )由schedule_activity、constraint_for和constrained_by表示。schedule_activity表示一个活动进度表,也就是一些有序活动的集合;constraint_for表示该活动所约束的活动;constrained_by表示约束该活动的活动。操作地点(WHERE)由activity_context表示,活动原因( WHY )由description表示。操作对象( WHICH )由involved_object表示,产生对象( WHAT )由pty_general_property和process_data表示。其中,pty_general_property表示活动过程中所产生的特性,process_data表示活动过程中所产生的数据。
通过对“绕丝割缝筛管防砂施工”业务单元的分析,结合防砂施工作业规范及数据模型,得出和绕丝割缝筛管防砂施工相关的施工活动,包括下管柱施工、试压施工、洗井施工、座封施工、试挤施工、填砂施工、起管柱施工、探冲砂作业施工。施工活动的工序由活动的constraint_for和constrained_by 2个属性控制。constraint_for属性表示该活动具有一个限制行为,该限制行为是对施工计划中其他施工的限制,即只有该施工活动完成后,其他施工活动才能启动。constrained_by属性表示该活动被施工计划中的其他施工活动所限制,即只有其他施工活动完成后,该施工活动才能启动。
2.4 业务模型可视化
本文对油田勘探开发业务模型的可视化采用可扩展标记语言(XML)可视化描述文件[8],获得用于绘制二维图的节点、边以及节点与边的关系,然后进行绘制。具体流程如下所示:
(1)创建了XML空文件,为其添加根节点。从描述活动的数据库中查询是否存在父活动,如果存在则在XML的根节点下插入一个父活动节点,并设置其与根节点的关系。查询发起者是否存在,如果存在则在XML的根节点下插入一个发起者节点,并设置其与根节点的关系。查询操作地点对象是否存在,如果存在则获取操作地点对象的个数并设置其与根节点的关系。然后,根节点个数减1,判断根节点是否为空,如果不为空则获取下一个根节点。如此循环,直到场景元素为空,那么所有的操作地点对象与根节点关系设置完成。
(2)按照操作地点对象的设置方式设置操作对象。
(3)判断是否存在相关的活动。如果不存在则该施工活动只有一个相关活动,然后保存可视化描述文件并进行绘制。如果存在则通过constraint_for属性判断其是否约束了其他活动,即它的下一个活动是否存在。如果存在下一个活动则将该活动插入到根节点下,并设置其与根节点以及下一个活动间的关系。如此循环,直到读取并设置完所有相关的活动状态后,保存以上过程生成的可视化描述文件。
(4)对此可视化描述文件进行解析,并结合二维图绘制方法,生成一个以所查询业务活动为中心并与操作地点对象、操作对象、相关活动等相关联的可视化显示结果,如图3所示。
图3 基于XML的业务活动二维图形Fig.3 Two-dimensional graphics for business activities based on XML
3 基于业务场景模板的虚拟场景
模板是具有相似性一组事物的通用模型或框架模式,它包含了客观事物的基本结构及基本内容。场景模板是基于模板思想对某类业务或业务活动的一种场景描述,本文基于不同业务活动定义了几种适用于油田勘探开发的场景模板。通过对场景模板的解释生成虚拟场景,从而提高编辑和制作虚拟场景的效率。
3.1 基于业务描述的场景模板生成
由于很多业务涉及的操作地点对象、操作对象以及活动过程所产生的相关施工活动是相似的[9],因此通过对与业务相关对象的分析与抽象,提出了油田场景模板。以“滤砂管防砂施工”为例,做如下定义:WELL表示井,WB表示井筒,T表示防砂工具,CY表示仪表车,CB表示泵车,CS表示混砂车,CW表示水罐车,CZ表示作业车,P表示施工单位,STR表示地层;FQ表示前置液,FB表示后置液,FX表示携砂液,FW表示洗井液,SS表示砂子。施工工序如下所示:A1为下防砂管柱施工,A2为试压施工,A3为座封施工,A4为填砂施工,A5为洗井施工,A6为起管柱施工。通过以上方法所生成的防砂场景模板的描述如下所示:
R(WELL);
D(WELL,WB,p);
D(WELL,STR,p);
R(WB);
I(WB,T,p);
I(WB,FQ,p);
I(WB,FB,p);
I(WB,FX,p);
I(WB,FW,p);
I(WB,SS,p);
W(WELL,CY,p);
N(WELL,CB,p);
E(WELL,CS,p);
S(WELL,CW,p);
S(WELL,CZ,p);
N(WELL,P,p);
AS (A1,A2,A3,A4,A5,A6);
该场景模板描述以井WELL和井筒WB为参考实体,在井口的下方位置p处有井筒WB,在另一个位置p处有地层STR,在井筒内位置p处有防砂工具T。此外,在井筒内相应的位置处有前置液、后置液、携砂液、洗井液和砂子。在井口的西面位置p处有仪表车CY,在井口的北面位置p处有泵车CB,在井口的东面位置p处有混砂车CS,在井口的南面位置p处有水罐车CW;另一个位置p处有一个作业车CZ,在井口的北面位置p处有施工单位P(一般是施工人员)。防砂施工的施工工序为A1到A6。这样,后期通过对场景模板的解析,就可以生成相应的虚拟场景。
3.2 基于场景模板的虚拟场景生成
对于滤砂管防砂虚拟场景的实现,首先从场景模板数据库中取出参考对象及其相关参数,然后判断当前参考对象是否为基本参考对象[10]。如果是则初始化基本参考对象,设置其位置等信息;如果不是则继续判断是否存在与当前对象相关的其他对象及对象间的关系。如果存在与当前对象相关的其他对象及对象间的关系则提取与当前对象相关的其他对象及其关系,并设置这些关系;如果不存在则判断当前对象是否为最后一个对象。如果不是最后一个对象则读取下一个参考对象及其参数,并对其进行初始化设置;如果是则完成了场景的构建。生成的虚拟场景如图4所示。
图4 滤砂管防砂场景Fig.4 Sand control scene of sand filter tube
4 结语
本文通过对Epicentre数据模型以及油田勘探开发数据模型和业务模型的分析,结合可视化技术,实现了油田勘探开发业务模型的可视化。同时,通过模板思想的引入并结合虚拟现实技术,构建了油田虚拟场景。本文研究表明,业务模型可视化可以对油田勘探开发领域中业务活动的流程进行形象展示,同时也可使相关技术人员对油田勘探开发过程产生形象认识。基于模板的虚拟场景实现有助于油田开发人员快速生成场景,降低开发难度。
[1] POSC.Base computer standards[M].Englewood Cliffs:PTR Prentice Hall,1994.
[2] POSC.Data access and exchange[M].Englewood Cliffs:PTR Prentice Hall,1994.
[3] 袁满,张连滨,文必龙,等.Epicentre的核心模型及其数据映射技术[J].大庆石油学院学报,2000,24(4):52-56.
YUAN Man,ZHANG Lianbin,WEN Bilong,et al.Epicentre kernel data model and technique of mapping data[J].Journal of Daqing Petroleum Institute,2000,24(4):52-55.
[4] POSC.Epicentre data model[M].Englewood Cliffs:PTR Prentice Hall,1994.
[5] POSC.POSC exchange format[M].Englewood Cliffs:PTR Prentice Hall,1994.
[6] POSC.E&P user interface style guide[M].Englewood Cliffs:PTR Prentice Hall,1994.
[7] 王海平.基于POSC的油田业务分析与建模方法研究[D].青岛:中国石油大学,2010.
WANG Haiping.Business process modeling method study based on POSC in petroleum industy[D].Qingdao:China University of Petroleum,2010.
[8] 任庆东,苏斐,李井辉.利用XML实现异源数据库中的数据交换[J].计算机应用研究,2001,18(12):129-130.
REN Qingdong,SU Fei,LI Jinghui.Using XML to exchange data among different databases[J].Computer Application Research,2001,18(12):129-130.
[9] CELENTANO A,GAGGI O.Template-based generation of multimedia presentations[J].International Journal of Software Engineering and Knowledge Engineering,2003,13(4):419-445.
[10] SUN Jing,BACIU G,YU Xiaobo.Image-based template generation of road networks for virtual maps[J].International Journal of Image and Graphics,2004,4(4):701-720.