基于B/S架构的油田生产数据管理系统应用研究

2018-08-24 07:50,,
计算机测量与控制 2018年8期
关键词:油田框架数据库

,,

(中国石油大学(北京) 地球物理与信息工程学院,北京 102249)

0 引言

随着数字化油田不断推进,油田现场部署的数字化设备不断增多,设备规模越来越大,分布范围也越来越广,故障率也随之上升,因此需要对这些数字化油田设备进行更加完备的数据化管理[1]。

本系统实现对油田现场终端设备进行全方位﹑全生命周期的动态信息管理。动态信息数据包括油田现场设备所采集到的实时数据。通过对包括设备的工作电压、电流等参数的油田现场设备生产数据进行比较,确定设备是否运行正常。通过本系统能够全方位的对油田设备进行实时管理,能够方便决策者对油田现场物资状况全方位掌握。

1 系统整体框架

本系统由Oracle数据库和WEB发布系统组成。上位机通过控制数字化终端设备将采集到的油田现场实时数据存入数据库。WEB发布系统通过对数据库中油田生产数据实时读取,以实现对油田设备生产状况的实时监控。具体包括如下功能模块:地图总览模块、动态信息模块、故障诊断模块、统计分析模快、工况分析模块、用户反馈模块。通过WEB发布系统各个模块,实现对现场设备的全生命周期的管理。对比采集到的数据,通过生产过程电压、电流等参数判断设备是否正常运行,以便维修人员能够及时维修。系统的框架如图1所示。

图1 系统框架图

2 系统数据库设计

数据库是整个系统的中心,随着数字化油田推行,数字化信息也越来越多,信息存储成为当前油田的一大问题。数据库用来存储远程终端设备实时采集到的数据并可以做到永久保存,实时查看和调用。

本系统采用的Oracle数据库。数据库不但用来存储远程终端设备采集到的油田生产数据,并且包括了油田设备的实时状态和设备的一些基本信息,用来对设备进行实时查看和管理。本系统引入数据库的目的是为了存储油田现场设备的生产数据,实现对油田现场设备的管理,因此需要对油田现场设备的数据接口进行统一的规范,方便数据存储。

3 WEB发布系统设计

3.1 开发工具及环境

WEB发布系统运行于Windows操作系统,其使用Eclipse作为系统开发工具、Oracle9I版本作为系统数据库、Tomcat作为系统Web服务器。本系统采用B/S架构[2],软件总体上采用Spring框架,使用JSP作为网站页面开发语言。

3.2 系统功能模块设计

分析系统功能需求,分为如下模块:

1)地图总览模块。地图总览模块包括RTU基本信息﹑RTU实时数据﹑视频监控等三大功能显示模块,因为RTU上传数据中包含其经纬度数据,所以在百度地图中RTU的地理位置均被标注清楚,方便用户和管理人员查看。视频监控可以使得管理人员快速掌握燃气设备的运行状况。

2)动态信息模块。设备动态信息展示的是设备运行过程中的一些电量参数,如设备的工作电压﹑电流﹑设备通讯状态等信息,通过每隔一定时间读取数据库中设备的最新状态信息,显示到界面供客户查询。

3)故障诊断模块。设备故障信息是通过对设备状态的原始数据进行分析和判断的基础上得出的。软件后台会每隔十分钟,会读取数据库中设备状态表中最新更新的数据,根据状态表中一些电压、电流、电池电量等参数判断设备是否运行正常。若设备出现故障,将相关故障信息写入设备故障表,同时显示设备警报。

4)统计分析模块。设备统计分析可对不同类型﹑不同厂家的设备故障情况进行统计展示和上线设备的数目进行统计,提供如折线图﹑柱状图﹑饼状图等多种图表展示。

5)工况分析模块。该模块是通过对故障维修表进行查询,对比故障发生的时间和工作人员维修的时间以及故障结束的时间,判断工作人员的维修效率,方便决策者做出判断。

6)用户反馈模块。用户在Web发布系统页面填写完用户反馈后,系统会将反馈信息﹑填写日期以及反馈用户手机号码存储到数据库中,使管理人员可以更快捷的查看用户反馈信息,并迅速作出对策,提升用户满意度。

系统的功能模块结构图如图2所示。

图2 系统功能模块结构图

3.3 系统技术框架设计

系统采用B/S架构的WEB系统,整体框架采用SSH架构,SSH即Spring、Hibernate、Struts。采用HTML和JavaScript进行web页面的编写。最后,通过Tomcat服务器进行发布[3]。

此外为使数据更好地展示,还引入了JFreeChart、HighChart等图表制作工具。

如图3所示是整个软件的系统框架。

图3 系统技术框架图

由图中可看出,系统采用Hibernate框架实现对数据库表到Java类的映射[4],然后使用Spring框架对系统进行整合,使系统进行分层。将系统分为四层,最上层为UI界面,用HTML语言和JavaScript相结合,与用户进行交互。用户在UI界面点击查询,界面就会将表单传送给服务器。Restlet风格将所有的资源封装成URL[5],服务器根据界面提交的URL找到对应的Resource进行处理。Resource类中有很多依赖对象,Spring框架使类创建时依赖类自动加载进来,不用自行去创建。底层Oracle数据库采用Hibernate框架进行封装,通过操作对象实现数据持久化,以实现对象操作来修改数据库表中的数据。

3.4 SSH框架简介

本系统采用的是以Struts、Spring、Hibernate即SSH为核心的B/S架构系统。

系统选用Hibernate技术对Oracle数据库进行访问,实现数据库表与面向对象中对象的连接,将数据库中的表转化成程序中的对象,以实现对数据库的操作。

3.4.1 Spring框架

本系统进入Spring框架,软件请求处理原理:页面发送请求→接收请求→根据配置的规则,分配至对应的资源处理→处理完返回结果数据至页面→页面显示。

3.4.2 STRUTS框架

本系统选用的STRUTS版本是Struts2,Struts2是在传统的Struts1和WebWork上发展起来的,是一个非常优秀的MVC框架。MVC将WEB应用程序分为3个模块:模型(Model)、视图(View)、控制器(Controller)。这3个模块相辅相成,虽然各自执行不同的任务,但是彼此之间又紧密联系在一起,构成MVC的整体。

3.4.3 HIBERNATE框架

本系统采用的DataSource数据源如下所示。将DataSource数据源封装成Bean容器。DriverClassName提供了数据库连接所需要的驱动,url提供了远程数据库服务器的地址,username提供了数据库连接的用户名,password提供了数据库连接的密码。通过以上数据库参数,应用程序能够通过Hibernate框架连接到数据库。

数据库连接完成以后对数据库中表进行操作,需要实现关系型数据库到Java对象的映射。Hibernate通过XML配置文件实现这一目的,将数据库中表与Java对象建立连接。如下所示,要实现关系型数据库到Java对象的映射[6],必须要将数据库表中字段和Java对象中属性一一对应,并且两者的数据类型要完全一致。

name=”devid”

Column=”devid”

Class=”com.table.device”

Not-null=”true”

Lazy=”false”/

>

4 主要界面及运行效果

4.1 WEB发布系统功能模块及其页面

4.1.1 地图总览模块

地图总览模块包括RTU基本信息﹑RTU实时数据﹑视频监控等三大功能展示模块。RTU基本信息包括RTU单元编号﹑RTU单元用户表号﹑RTU单元用户表名﹑RTU编号﹑RTU区域﹑RTU类型﹑RTU负责人员手机号码﹑RTU负责人员姓名﹑RTU纬度﹑RTU经度﹑RTU安装时间﹑RTU最近更新时间。因为上传数据中包含RTU经纬度数据,所以在百度地图中RTU的地理位置均被标注清楚,方便用户和管理人员快速查看。RTU实时数据包括RTU门禁状态﹑RTU状态位﹑RTU内部时钟时间﹑RTU内部温度﹑RTU内部湿度﹑RTU错误信息﹑RTU电池电压﹑RTU电池剩余电量﹑RTU电池可用时间﹑RTUGPRS是否有SIM卡﹑RTU GPRS信号强度。上位机将RTU实时数据上传给Web发布系统,数据直接显示在地图总览模块客户端页面。视频监控模块可以使得管理人员快速掌握燃气设备的运行状况,方便管理人员进行检查与维护。

4.1.2 动态信息模块

设备动态信息展示的是设备运行过程中的一些电量参数,通过每隔一定时间读取数据库中设备的最新状态信息,如设备的工作电压,电流,设备通讯状态等信息,显示到界面供客户查询。设备动态信息是由上位机采集到现场远程终端设备的实时参数,然后将数据存储到数据库中。WEB系统从数据库中读取设备的动态信息,通过设备的动态信息中电流,电压等参数可以判断出设备是否运行正常。

设备状态信息展示的设备运行的实时状态信息如图4所示,上位机会实时将现场数据保存到ORACLE数据库中,WEB系统从数据库中读取到的就是设备的实时数据。同时提供信息的分类查询功能,支持按时间、设备类型、设备厂家查询。

图4 设备状态信息管理

4.1.3 故障诊断模块

设备故障信息是在对设备状态信息的原始数据分析和判断的基础上得出的。软件后台会每隔十分钟,会读取数据库中设备状态表中最新更新的数据,根据状态表中一些电压、电流、电池电量等参数判断设备是否运行正常,若设备出现故障,将相关故障信息写入设备故障表,同时显示设备警报。设备管理软件的首要目的就是能对设备的实时参数进行判断,并进行故障报警,方便现场人员能及时做出处理,不影响油田生产。

故障出现以后,维修人员可以根据故障信息找到对应的故障模块,然后进行维修,维修完成以后需要写维修记录,如果故障排除,故障信息就自动写为已处理,同时记录下这次维修记录到维修记录表里,以便于以后进行查询。查询结果如图5所示。

图5 故障维护信息

设备维护包括日常维护和故障维护,日常维护是指对设备进行定期的保养和监测,以提高设备的使用寿命。故障维护是由工作人员对设备故障处理完成后,手动记录故障维护的基本信息,当故障处理完成且维护记录被录入后,设备报警就会自动消除。如图6所示。

图6 设备维护信息录入(故障维护)

自动触发事件的间隔时间可在配置文件中设置,方便根据实际需求更改,下图代码配置的间隔时间为十分钟。相关配置如下所示:

设备警报是对当前有故障的设备发出的,当对设备维护成功后,设备警备就会自动消除,而设备故障是对设备整个生命周期出现故障的记录,设备维修好正常运行后,以前的故障记录不会消除。同时为了方便用户观察,同一设备同一种警报只出现一条警报信息。

4.1.4 统计分析模块

统计展示采用Highcharts工具,在后台页面发送URL请求,通过配置文件映射到相应资源处理后,返回处理的数据,在页面调用Highcharts函数显示,返回数据格式为Json,折线图如图7所示。

图7 统计分析示意图(折线图)

设备统计除了对设备的数目进行了统计,还对设备的故障率进行了统计,方便管理者对设备的质量有整体的认识,设备故障率的统计可以针对各个设备在一定时间的故障次数,可以统计不同厂家设备的故障率,还可以查看各个类型的设备的故障情况,从而使管理者对设备的运行情况和质量有一个清晰的认识,来判断是否继续使用该设备,是否继续选取该厂家的设备。设备的故障率如图8所示。

图8 设备的故障率

4.1.5 工况分析模块

工况分析可以根据故障发生的时间和维修的时间来分析维修人员的工作状况,维修效率,方便决策者做出判断,也可以分析出不同故障维修所用的时间,如图9所示。

图9 维修人员的维修效率

工况分析是本系统中重要的部分,工况分析对决策者尤为重要,可以使管理人员不用时刻监督员工的工作状态,只需要查询报表中人员处理故障所花费的时间就可以对工作人员的工作效率有一定的判断,从而做出合理的人事安排,如图10所示。

图10 故障的维护率

4.1.6 用户反馈模块

用户在Web发布系统中用户反馈页面填写完用户反馈信息后提交,系统会将反馈信息﹑反馈信息提交日期以及反馈用户手机号码存储到数据库中,当管理人员查看用户反馈信息时,系统会快速将反馈信息从数据库中提取出来并显示到用户反馈页面,使系统管理人员能迅速对用户的看法作出对策,提升用户满意度。

5 结束语

研发基于B/S架构的油田生产数据管理系统,并在华北油田现场布控,实现对整个油田现场生产设备的实时监控,做到油田生产现场的监控、管理一体化。现场工作人员不用实时去现场读取设备参数,只需要坐在中控室读取系统参数,根绝设备参数和故障报表查看设备是否有故障,以便做到及时维修。本系统极大程度的降低了油田工人的劳动强度,提高了工人的工作效率,同时增强了生产安全性,使油田生产﹑管理迈入自动化﹑数据化的模式。

猜你喜欢
油田框架数据库
相变换热技术在油田稠油开采中应用
有机框架材料的后合成交换
框架
油田工人
数据库
中小型油田修井机效率提升改造及应用
光泽or油光?向夏日“大油田”sayno
数据库
数据库
数据库