杂志汇教育科学博览

ZH-2 综合录井仪中多层架构的应用分析

作者:刘正伟(中国石化胜利石油工程有限公司地质录井公司 山东东营 257064)

刘正伟(中国石化胜利石油工程有限公司地质录井公司 山东东营 257064)

作者简介:刘正伟,男,1981年生,工程师,2009年西南石油大学计算机应用技术专业硕士研究生毕业,从事录井信息技术研究工作。

  摘要:本文简要介绍了ZH-2综合录井仪系统采用多层架构思想设计开发总体架构和各层的重要功能,并对分层的原则和思路进行了分析研究。

关键词:ZH-2;综合录井;多层架构;业务逻辑实现

1 引言

石油地质是石油勘探中不可或缺的重要手段,而综合录井仪是石油地质的重要依仗设备。SLEXPLORERZH-2综合录井仪是胜利录井自主产权的主力设备,它是钻井过程中集气测、钻井工程监测、钻井液及地质录井于一体的理想钻井监测系统,其研发过程中采用多层架构的方式优化了设备软件的性能。

2 ZH-2综合录井仪

SL-EXPLORERZH-2综合录井仪是在借鉴了多家国内外先进录井装备,汲取了各家优点的基础上设计开发的,是一种数字化、多参数随钻录井设备,对及时发现油气显示、随钻保护油气层、指导钻井安全施工和优化钻井参数等方面有着重要作用。该综合录井仪系统充分利用了C++语言面向对象技术,以及Windows32位程序的多任务、多线程、界面美观等特性,使软件在易用性、稳定性和可维护性上有了很大程度上的提高,并使现在计算机硬件的高性能得以充分发挥[1]。它严格按照录井工程的实际工艺,为录井技术人员提供快速、直接、及时的第一手资料。系统具有以下特点:

1)显示灵活。全部实时参数和曲线的显示格式均可由用户自己选定;

2)功能强大。井场工况自动识别,并自动切换相应显示画面;

3)终端完善。终端系统相对独立,用户可以随意选择显示画面,不影响前台机工作;

4)曲线记录。利用彩色打印机实时打印参数曲线,可代替二次仪表;

5)网络功能。联机系统组成一局域网,为数据的共享提供了更大的方便。

6)报警功能。对捞砂等特殊施工或任何用户设定参数的异常进行声光报警。

7)远传功能。可通过卫星、微波或拨号等方式实现实时数据的远程传输功能。

8)黑匣子功能。增大了信息存储量,提高了录井服务质量。

3 多层架构分析

多层架构的核心思想是将整个业务应用的表示层、业务处理和数据操作分开。表示层用于用户界面交互,业务处理实现业务过程逻辑,在数据层读写数据资源,这样可以将复杂的业务逻辑从界面中剥离出来,用对象加以建模和组织,极大的有利于系统的开发、维护、部署和扩展。典型的三层架构的职责如下:

1)数据访问层:负责与数据源交互,给业务层提供数据;

2)业务逻辑层:负责系统领域业务处理,并实体化逻辑性数据;

3)表示层:负责输入输出,展示业务层运算和处理结果。

4 ZH-2综合录井仪中多层架构的应用

4.1 总体架构

依据多层架构的思想,ZH-2综合录井系统采用六层架构设计,分别为表示层、业务实体层、业务逻辑层、数据实体层、数据访问层和数据层。

(1)数据层。数据层主要是前端录井需求的传感器参数。主要是获取系统需要的各种数据,为系统的各种操作提供数据支持。数据层包括485采集时各种传感器的实时模拟量和数字量,气测工作站的气体成分和含量的模拟值等。

(2) 数据访问层。数据访问层提供访问和获取数据的方法,通过它分离业务逻辑和数据。串口读写、数据库查询等都是对底层数据库的访问方法。另外,通过多种传感器采集来的仪器参数的实时状态值等也是。

(3)数据实体层。数据实体层负责提取和转换从数据访问层获取的数据。由于在录井过程中,所有相关仪器参数是实时联动操作,因此将从数据层产生大量离散和抽象的信息。为了使业务逻辑层能透明地利用这些信息,必须对信息进行提取、归纳和转换。在进行485传感器数据标定,数据都由数据实体层取自数据层。凡是与该工种有关的数据都会被取出来。即数据实体层继承了一切与之相关的数据层信息,而数据实体层则建立了一个数据库的映射关系,也就是说,数据库的每一个字段在这里都有一个常量和它对应关联。当用户在进行录井操作时,数据实体层通知数据访问层通过映射关系,从数据层中取出数据,并按照预先规定好的映射关系将其转换出来,供上一层调用和使用[2]。

(4)业务逻辑层。业务逻辑层位于数据实体层之上,它把包含多条记录的数据实体对象根据业务逻辑封装各类对象,通过提供属性的方式给上层实体层调用。在ZH-2综合录井系统架构体系中,业务逻辑层是最重要的一层,也是最复杂的一层,它包括了各种业务逻辑函数和处理算法,录井状态的实时反应策略,录井系统各部分之间的通讯协议方法等。

(5)业务实体层。它主要负责一些业务的前端处理,组织管理多个逻辑对象并为应用表示层提供显示准备。在ZH-2综合录井系统中,业务实体层主要负责的业务为应用表示层的各种触发事件准备动态函数及类对象。比如在进行参数校正时,当用户进行某项校正动作时,这个动作所触发的仪器参数变化、图形的实时变化和曲线变化等都由业务实体层来进行解析,并准备好调用表示层。

(6) 表示层。应用表示层是综合录井仪系统的用户感知层。它具体的表现形式既有图形仪表或者对话框窗体界面,也有仪器参数曲线波形。它把综合录井系统对用户的请求响应以图形、对话框窗体界面等形式返回给用户,是用户操作的服务功能的开始或结束[3]。系统架构中各层的业务关系如图1所示。


图1 业务关系图

4.2 业务逻辑层的实现

ZH-2综合录井系统在业务逻辑实现时,大量采用面向对象程序设计技术。由于录井工艺中涉及到的环节和独立过程较多,并且各个环节在录井过程的不同阶段有不同的状态,因此录井系统的环节对象被设计成了多种特性类。在录井曲线绘制时,不管传感器参数、气测参数还是随钻测井参数的操作,这是具有共性的。在研发系统的过程中,录井曲线绘制的操作被设计成一个类LogPlot。它对外提供一些公共属性和方法。就属性而言,包含了各参数仪器的通道号(ChannelID)、标定点(CalPoint)等参数。其中参数仪器的通道号(ChannelID)是用来标识参数数据通道的序列,由于录井时多通道同时工作,因此仪器的通道号(ChanalID)是实时校正、查询参数工作状态唯一标识。各属性设置不同,会影响曲线绘制及参数运算。因此LogPlot还应设计了对象的公共方法:参数设置方法(ParaConfig())、参数写入方法(WriteData())、数据发送方法(SendData())和工作曲线绘制方法(WorkingCurve())等,这样可以使系统处理后联合编译, 实现多模块独立开发,有利于提高系统研发效率和可维护性。录井曲线绘制业务实现的伪代码如下所示:

LogPlot()

{Dictionarydic=newDictionary();

for(inti=0;i

{dic.add(WriteData(i),ParaConfig(i));//将参数按通道号、参数值依次写入数组}

SendData(dic);//发送参数数据}

WorkingCurve(dic);//绘制工作曲线

5 结论

ZH-2综合录井仪系统采用采用多层架构设计研发,有效的提高软件模块的重用性,降低了系统测试难度,极大的优化了录井工艺环节对数据实时性、业务连续性的要求。它是多层架构在石油勘探装备研发中应用的典型案例,为我们新装备软件系统的研发提供了很好的参考。

参考文献:

1杨宏祥,多独立系统在综合录井仪中的应用,录井工程, 2012.01

2郑津,多层架构思想在测井模拟器上的应用,微计算机应用,2009.05

3宋正江,陈江,基于J2EE多层架构的石油装备基地设备管理系统的设计和开发,石油化工自动化2008,1:39-41

 

新常态下煤矿班组建设的几点思考

合作生成教学模式在物理新授课中的行动研究

在航运市场新环境下提升船员履职能力浅议

浅析镀锌钢管卡箍连接工艺

浅谈幼儿园室内班级活动区域的创设

低渗透油田提高采收率途径与对策探讨

相关文章