基于REST构架的油田设备管理系统软件的设计
2016-11-17何得平张少华王声辉王玉峰丁大伟梁华庆
宋 松, 何得平,张少华,王声辉,孙 威,王玉峰,丁大伟,梁华庆
(1.中石油华北油田分公司数据中心,河北 任丘 062552;2.中国石油大学(北京)地球物理与信息工程学院, 北京 102249)
基于REST构架的油田设备管理系统软件的设计
宋 松1, 何得平2,张少华2,王声辉2,孙 威1,王玉峰1,丁大伟2,梁华庆2
(1.中石油华北油田分公司数据中心,河北 任丘 062552;2.中国石油大学(北京)地球物理与信息工程学院, 北京 102249)
研发的油田设备管理系统软件可完成设备的静态信息管理、设备动态信息管理、设备运行统计分析和设备维护等功能;系统以Eclipse作为开发平台,以Spring框架为开发模式,使用JSP进行具体开发工作,数据库使用企业级的Oracle数据库,通过Hibernate框架访问数据库,可以将实现业务逻辑的代码和数据库访问代码有效分开,使程序结构更加清晰,减少了软件维护的难度;文章详细介绍了软件的主要功能模块和系统的关键技术;该系统已经部署于油田现场,实现了对智能远程终端设备的初步的全生命周期管理,保障设备的安全运行。
设备管理软件;Oracle数据库;Spring框架;全生命周期
0 引言
在数字油田逐步推进的过程中,随着部署的规模越来越大,需要维护管理的数字化设备越来越多,故障率上升,上线率不高,厂区级在数字化管理过程中越来越迫切解决以下问题:
1) 无法第一时间获得现场设备运行故障和站控运行故障,信息滞后;
2) 在要求数据上线率和正确率的条件下,无法统计上线率和正确率不高的原因,也就无法针对故障原因做有效的决策;
3) 发现故障后,无法具体准确定位是哪个设备或者哪个具体原因造成的,往往需要借助专业技术人员经过排查才能获知原因。
研发的“设备管理系统软件”可对终端设备(传感器、RTU等等)进行初步的全生命周期的管理,这包括两类信息的管理:终端设备静态信息的管理和终端设备动态信息的管理。
通过对这两类信息的管理,作业区和厂区级的管理人员可以获得数字化设备的基本信息及其运行信息,辅助分析运行故障原因,统计分析故障产生原因,从而保证数字化的上线率、准确率、完好率。同时,方便管理层能够及时全面地掌握实时的实物资产状况。
1 系统整体框架
系统框图如图1所示。系统由安装于抽油机上的远程智能化终端设备(传感器、RTU、RTM)、上位机软件、Oracle数据库和设备管理系统软件组成。
部署于油田作业区中心控制室的上位机远程控制数字化终端设备完成设备参数的实时采集,并将采集到的数据存入数据库。设备管理软件通过对数据库中设备工作参数与状态数据的实时读取,实现对设备状况的实时监控与管理。
图1 系统框图
2 系统软件的设计
2.1 软件功能概述
系统软件主要功能包括“设备静态信息管理”、“设备动态信息监测”、“设备运行统计分析”和“设备维护”等。
2.2 软件模块
依据软件功能需求,将软件分为如下模块。
1)静态信息管理模块:
该模块主要实现对远程终端设备静态信息的管理。静态信息包括设备所属单位、设备编号、设备类型、厂家信息、安装地点、使用年限、检修周期等信息。
2)动态信息监测模块:
设备动态信息监测模块主要是根据RTU与智能仪表在线信息、状态信息(是否工作正常)、电池电量信息进行判识告警并记录告警处理过程。
对动态信息进行监控,可以帮助管理人员及时、有效地掌握设备运行状态,辅助分析运行故障原因。除了对于节点上的RTU、传感器、控制器的监测,也包括通信状态的监控。通过对设备的监控管理,从而实现系统的“即开、即入、即管、即用”功能。
3)设备运行统计分析模块:
该模块统计设备故障情况,可按照设备的故障类型、故障时间、设备类型进行统计,对设备的性能与环境适应性进行分析,为以后设备的选型、采购提供建议和参考依据。
4)设备维护管理模块:
设备维护管理分两个部分:日常维护和故障维护。日常维护即设备日常的保养维护记录。故障维护是针对有故障的设备采取的维护,故障维护信息的录入会同时消除相关设备警报信息,同时更新设备故障信息,并根据维修时间和处理措施,来评判维修人员的维修效率和维修效果。
系统的功能模块图如图2所示。
图2 系统软件功能模块结构图
3 软件的实现与实现
3.1 软件开发环境
软件运行环境为Windows XP系统,开发工具为Eclipse、数据库采用Oracle9I版本、Web服务器采用Tomcat。
3.2 软件构架
设备管理系统软件是基于B/S(浏览器/服务器)开发模式的WEB系统,其设计框架如图3所示。客户端就是浏览器程序,通过HTTP协议访问服务器端的应用。服务器端与通信有关的处理是由服务器软件Tomcat负责。将开发的应用程序部署于WEB服务器中,客户端就可以访问整个应用程序的代码。
图3 软件整体构架
3.3 软件关键技术
1)Servlet组件:
Servlet组件的工作原理如图4所示。Web用户向服务器发送请求,Tomcat服务器接收到请求后会创建一个ServletRequest对象,将请求信息封装起来,然后将对象传给Servlet特定方法中,处理完成以后,将结果封装在ServletResponse对象中返回给Web服务器,进而传递给客户端。
图4 Servlet 工作原理
2)REST框架:
REST中文意为表征状态转移,是Web应用开发中常见的架构设计风格。REST应用于Servlet端,其设计风格将每一个功能抽象为一个资源,并且每个资源有唯一对应的资源标识即URL,使软件层次分明,便于后期升级和维护。REST部分代码如图5所示,程序中将一个Javabean服务抽象为一个URL资源,方便浏览器调用。
图5 REST代码
3)JavaBean组件:
JavaBean组件是遵循特定接口格式的Java类,在Java Web开发中被用来处理业务逻辑。JavaScript和Servlet通过调用JavaBean组件实现特定的业务功能。图6所示代码就是一个JavaBean组件,该组件实现了对数据库的链接。
图6 JavaBean组件
4)Hibernate技术:
Hibernate是一个开源的对象/关系映射框架。它对JDBC进行了轻量级的对象封装。Hibernate对象将JavaBean对象和数据库中表建立对应关系,使数据库中的表对应于JAVA中的对象。在对数据库中数据操作时,只需调用JavaBean对象而不用写SQL语句。Hibernate体系结构如图7所示。
图7 Hibernate体系结构
图8是Hibernate中对数据库操作的JavaBean对象代码,实现了对数据库的增删改查操作。
图8 数据库操作JavaBean对象
4 软件效果展示
研发的软件经过测试,能够很好地实现预期的功能。包括对数据库中数据的实时读取、浏览器显示以及故障判断等预定功能。系统软件的主要功能界面运行效果如下。
1)系统主界面:
程序启动后进入登录界面,输入指定用户名和密码进入主界面,可以看到主界面上4个主要功能模块。
2)设备信息显示:
通过点击主界面上设备管理按钮,可实现按厂家和设备类型对设备进行查询,也可查询到一定时间段内设备的实时状态。
3)故障诊断和查询:
软件设定每隔一段时间自动访问数据库中的状态信息表,提取新数据,通过分析比较诊断出设备是否故障,然后将故障信息显示到界面,同时该信息可导出至EXCEL表中。
5 结束语
设备管理软件系统旨在对应用于油井现场的数字化设备进行系统的管理。软件使得作业区和厂区级的管理人员可以获得数字化设备的基本信息及其运行状况信息,统计分析故障产生原因,查看维修情况,从而保证数字化设备的上线率、准确率、完好率,方便管理层能够及时全面地掌握实时的实物资产状况。所研发的系统软件经过测试,具有运行良好、性能稳定、功能齐全等特点,能够很好地满足油田现场对设备管理的要求。
[1] 徐进明, 但正刚. JSP网站开发技术, 清华大学出版社, 2007.
[2]李代平. Oracle 9i应用系统开发技术[M]. 北京:冶金工业出版社, 2004.
[3] 贾素玲, 王 强. JSP应用开发技术[M]. 北京:清华大学出版社, 2009.
[4] 刘振杰, 何娟丽. 网页制作技术[M]. 北京:人民邮电出版社, 2009.
[5] 张 伟. Java语言程序设计[M]. 北京:电子工业出版社, 2008.
[6] 沈应逵. Java Web数据库系统应用开发与实例[M].北京:人民邮电出版社, 2004.
[7] Li D P. Application system development technology Oracle9I[M]. Metallurgical Industry Press, 2004.
Design and Development of Device Management Software for Oilfield
Song Song1,He Deping2,Zhang Shaohua2,Wang Shenghui2,Sun Wei1,Wang Yufeng1,Ding Dawei2,Liang Huaqing2
(1.Data center, North China Oil Field Branch, Renqiu 062552,China;2.College of earth physics and information engineering,China University of Petroleum, Beijing 102249,China)
The developed oil field equipment management system software can achieve the static information management, dynamic information management, statistical analysis of equipment operation and maintenance, and other functions. The development platform of the system is Eclipse in the Spring framework for developmend mode, using JSP to develop specific work. The database uses the enterprise-grade Oracle database, using the Hebernate framework to access the database can separate the code of implementing the business logic and accessing the database, which can make program structure more clearly and reduce the difficulty of software maintenance. This article introduces the key technology and main function modules of the system software in detail. The system has been deployed in the oil field which achieve the preliminary total life cycle management of intelligent remote terminal unit and guarantee the safe running of the equipment.
device management software; Oracle database; Spring frame; full life-cycle
2016-03-16;
2016-04-18。
国家发改委下一代互联网技术在智慧油田的应用示范项目(CNGI-12-03-043)。
宋 松(1984-),男,河北行唐人,工学学士,工程师,主要从事油田信息化方向的研究。
1671-4598(2016)09-0170-02
10.16526/j.cnki.11-4762/tp.2016.09.047
TP3
A