APP下载

基于J2EE的钻完井数据统计分析系统的构建及应用

2021-02-28陈美君李君杨可三

现代信息科技 2021年16期
关键词:数据分析

陈美君 李君 杨可三

摘  要:海洋石油钻完井作业信息化逐渐成为大趋势,为了弥补Wellview钻完井信息管理系统只能对单井进行统计的不足,开发人员参考国内外优秀的数据分析思想,开发了一套基于J2EE技术标准的钻完井数据统计分析系统,实现了多口井之间钻完井数据的批量拉取及横向数据分析,为设计人员提供了高效、准确的数据分析及决策支持。文章主要从架构设计、数据库结构研究、具体功能模块设计、应用效果等方面介绍了该系统的搭建及应用情况。

关键词:海上油气田;钻完井数据库;数据分析

中图分类号:TP311.1                      文献标识码:A文章编号:2096-4706(2021)16-0038-03

Construction and Application of a J2EE-based Drilling and Completion Data Statistical Analysis System

CHEN Meijun, LI Jun, YANG Kesan

(Engineering Technology Zhanjiang Branch, CNOOC Energy Development Co., Ltd., Zhanjiang  524057, China)

Abstract: Informatization of offshore oil drilling and completion operations has gradually become a major trend. In order to make up for the insufficiency that Wellview drilling and completion information management system can only perform statistics on single well, the developers refer to the excellent data analysis ideas at home and abroad and develop a set of drilling and completion data statistical analysis system based on J2EE technology standard. It realizes batch extraction and lateral data analysis of drilling and completion data among multiple wells, providing designers with efficient and accurate data analysis and decision support. This paper mainly introduces the construction and application of the system from the aspects of architecture design, database structure research, specific functional module design, and application effects.

Keywords: offshore oil and gas field; drilling and completion database; data analysis

0  引  言

近幾十年来,随着海洋石油产业的发展壮大,海上油气田数据量激增。为了更好地对现场钻完井报表进行存储和管理,中海油引进了Wellview钻完井信息管理系统。由于Wellview仅仅是对各井数据进行简单的存储,并不具备横向的统计及分析功能,在实际工作中,设计人员往往需要花费大量精力分别针对多口井的施工参数进行查询、分析并作出决策,随着近年来作业量的不断增加,人工统计工作模式下的数据准确性不足、检查困难、查询效率低等问题日益凸显。

为了让用户从重复单一的数据提取环节中脱离出来,快速获取某区块井的普遍特点,将更多的精力集中在决策、设计等核心环节上,提高其工作效率,进一步推进“海上数字油田”建设,开发团队在Wellview数据库的基础上,结合当前中海油常用报表模板,开发了一套基于J2EE的钻完井数据统计分析系统,实现了多井钻完井工程数据的横向汇总、对比、分析及图表生成等功能。

1  技术路线

1.1  系统开发语言及架构形式

本系统采用Java作为开发语言,其强大的跨平台特性使其能够避免因操作系统不同而需要重新定制开发的烦琐,可移植性较强。此外,信息安全也是系统构建中的重要环节之一,Java语言的字节码验证机制可确保代码符合JVM规范并防止恶意代码运行环境,类加载器可防止不受信任的代码干扰Java程序的运行,在一定程度上降低了工程数据的丢失、篡改、泄露风险。

架构选择方面,考虑到本系统的使用群体主要为设计人员,且多为陆地分散办公,内网状态下网络通信较为稳定,因此本系统采用B/S架构开发。其优势在于:对用户而言,B/S架构对操作系统的种类及具体配置要求较低,无须安装应用软件,在内网状态下通过浏览器即可轻松访问系统;对开发团队而言,B/S架构业务拓展及后期维护较为简单,只需在服务器端操作即可实现全体用户的同步更新,从源头上避免了分散办公带来的维护成本较高的问题。

1.2  系统框架

本系统遵循了J2EE的技术规范,采用MVC设计模式,将系统分为了模型(Model),视图(View),控制器(Controller)三大模块,进而细分为视图层、业务控制层、逻辑处理层、数据持久层等多个层次,有效降低了不同组件之间的耦合度,减少代码冗余。其中,视图层包含了钻完井数据统计分析系统的全部用户界面,用于接收用户输入的表单数据及呈现处理结果;业务控制层用于接收、解析视图层传输而来的请求参数,并将其分发到具体逻辑处理模块进行处理,最终将处理结果输出到视图层展示出来;逻辑处理层是钻完井数据统计分析系统的核心工作层,包含了数据校验、数据逻辑计算、数据流向、文件资源生成等核心功能;数据持久层配置了对接wellview数据库的连接池文件,用于集中控制与数据库的连接、中断环节。基于MVC的分层设计模式有效地将钻完井数据统计分析系统的各层级模块分离开来,使得各模块各司其职成为可能,极大程度地缩减了系统应用的开发时长,降低了后期系统功能维护及模块拓展的难度,有利于维护人员工程化、工具化地管理程序代码。

1.3  数据库结构研究

Wellview采用的是关系型数据库,根据现实中各类钻完井数据之间的逻辑关系作为数据的组织方式形成数据表。为了减少各數据表间属性的冗余度,提高数据更新的同步性,在存在上下级逻辑关系的数据表之间设置了外键约束作为这两张表的连接纽带。以井及其各井眼段信息的关联关系为例,在实际生产中,井与井眼、井眼与井眼段之间均是一对多的关系,如图1所示。因此,在数据库中,将井、井眼、井眼段划分为三张独立的数据表,为了将这三者关联起来,数据库设计人员将井序列号作为井眼表的外键,将井眼序列号作为井眼段表的外键,这种在两张表之间设置主键和外键约束的方式极好地维护了数据的完整性和一致性。

2  系统功能特点

2.1  异步传输模式下的模糊筛选

为提高用户在页面上输入井名的便捷度,本系统采用SQL模糊查询的方式为用户检索出符合条件的井名列表备选,用户只需要输入井的部分字符并搭配通配符或占位符即可快速搜索出所需井。

在数据传输模式方面,传统的同步传输模式会带来频繁的页面跳转。当浏览器向服务器请求资源时,服务器会返回一个携带资源的页面返回到浏览器端,此时,无论返回的资源有多少,整个页面都会进行重新渲染,严重浪费了网络带宽,也增加了用户等待的时长。为了提高页面的加载速度,本系统使用了异步传输技术(Ajax),浏览器将用户请求发送到XMLHttpRequest异步对象之中,异步对象对请求进行封装,然后再发送给服务器。同时,XMLHttpRequest异步对象会不停监听服务器状态的变化,并将请求到的资源输出到页面的指定位置中,从而实现了页面的局部更新。在此模式下,用户可以多次提交需要查询的井进行模糊查询并分批添加到待提交列表中,避免了页面整体渲染后丢失前一次表单信息的情况。在Ajax模式下借助模糊查询快速检索井名效果如图2所示。

2.2  跨表联合查询

前面提到,Wellview数据库是关系型数据库,通过主键及外键的约束维护着数据表的完整性和一致性。在提取钻完井数据时,如某口井的基本概况、某口井各井段数据等,往往涉及多张数据表,因此,系统采用内连接、外连接、交叉连接等方式将每口井散布在不同数据表里的数据根据外键关系连接在一起,并加以具体的条件约束,实现跨表联合查询。

2.3  钻完井数据的横向统计分析

设计人员在长期的钻完井设计工作中已经形成了固定的工作模板,开发人员分别根据这些报表模板编写具体的代码,形成了以下数据统计分析模块

(1)基本概况统计。批量拉取井的基本信息,包括作业时间、完钻地层、井深、作业平台、钻井周期等数据。

(2)井身结构统计。通过关联查询,批量拉取某井下全部井眼相对应的井段数据,包括井段直径、套管下深等数据。

(3)钻头使用记录统计。批量拉取某井所使用过的全部钻头信息,包括钻头类型、接头尺寸、厂家型号、IADC代码、钻头长度、待钻井眼尺寸、出入井深度、进尺等数据。

(4)钻井液密度分析。对用户所选井的集合根据深度数值进行地层划分,并分别针对上述地层,分析这些井在该地层的钻井液密度变化及套管下深。

(5)钻井工期分析。批量拉取对应井的钻井工期、套管下深、套管层次数进行对比,绘制统计图。

(6)完井/生产管柱信息统计。通过关联查询,批量拉取各完井/生产管柱及其对应组件的详细施工数据,包括工具名称、扣型、内径、外径、长度等数据。

系统功能模块架构,如图3所示。

2.4  可视化图表的生成与导出

数据可视化是本系统的另一核心功能,能够借助于图形化手段,清晰有效地将系统计算完毕后的信息传达给用户。本系统提供了两种数据展示方式:网页端图表展示及直接在服务器端生成Excel报表的方式。

网页端在线生成图表的方式能够实时生成包含各井数据的表格、折线图或柱形图,同时支持图表类型及源数据的互相转换、图片导出等功能。此功能的实现主要是通过在服务器端完成数据的统计分析后,配合Ajax异步传输技术,以流的形式将计算结果传输到网页端,并与基于JavaScript的JQuery图表插件相绑定,将纯数据转化为生动直观的表格或数据统计图。

服务器端生成Excel报表的方式能够方便用户保存到本地电脑并进行修改使用,其生成Excel文件的全过程均是在服务器端依赖Apache POI函数库完成的。Apache POI是一个能够实现对Microsoft office文档读写的开源函数库。对于布局较为简单,不需要进行合并单元格等操作的钻完井报表模板,开发人员在系统逻辑处理层采用边查询数据库边排版的策略,逐行进行数据查询并填充到Excel对应行中,但该策略会带来数据库查询次数增多、Excel文件生成速度降低等问题。对于布局较为复杂的钻完井报表模板而言,需要在逻辑处理层先完成对数据库的查询和具体数据的计算,而后针对结果集内的具体数据进行预处理,如数据排列方式的转置、数值单位的转换、数值显示方式的修改等,最后遍历预处理后的结果集,借助Apache POI完成Excel的排版及生成。

3  系统应用

钻完井数据统计分析系统借助权威的海洋石油钻完井大数据支持,在内网状态下进行单机部署试用,严防源程序及测试资料的外泄。此外,试用期间注重提升用户体验和数据准确度,不断丰富系统内钻完井报表模板的种类及提高系统易用性,及时根据用户反馈进行漏洞修补,打破了以往设计工作者依赖人工统计的工作模式,显著提高了邻井资料收集的效率及准确率,为钻完井设计工作者提供了稳定、精确的数据分析支持及决策参考,促进数据价值的最大化发挥。

4  结  论

钻完井数据统计分析系统参考了国内外优秀的数据分析思想,遵循当前主流的J2EE技术规范,采用便于维护的B/S架构模式,结合中海油海上油气田钻完井作业的实际情况,形成了海上油气田基本概况、井身结构、钻头使用情况、地层信息及钻井液密度、钻井工期、完井/生产管柱等海上一线工程数据的在线展示及报表导出模块,为设计及决策的高效进行提供了可靠、准确的数据支持服务,是实现钻完井数据信息化的成功尝试,后期在持续升级过程中应加强系统安全性建设,增加用户权限管控等管理模块。另一方面,有效、准确的数据来源是数据分析的基础,应将升级重点放在对基础数据的校验及预处理环节上,甄别无效数据,并进一步优化数据查询、分析流程,提高系统的响应速度。

参考文献:

[1] 魏刚.钻完井持续改进系统的开发及应用 [J].海洋石油,2017,37(4):72-75.

[2] 王晶晶.大数据下的海洋石油钻完井数据分析系统开发与应用 [J].中国石油和化工标准与质量,2016,36(21):60-61+63.

[3] 王伟.海上油气田钻完井数据管理系统开发及应用研究 [J].当代化工研究,2020(23):51-52.

[4] 张能.海洋钻完井数据库系统应用研究 [J].化工管理,2014(32):53+55.

[5] 胡永堂,张能.海洋钻完井数据库系统开发与应用 [J].内蒙古石油化工,2012,38(3):22-23.

作者简介:陈美君(1994—),女,汉族,助理工程师,本科,研究方向:钻完井信息化建设。

猜你喜欢

数据分析
电子物证检验的数据分析与信息应用研究
基于matlab曲线拟合的数据预测分析
分众媒体趋势下场景营销的商业前景
佛山某给水管线控制测量探讨
SPSS在环境地球化学中的应用
大数据时代高校数据管理的思考
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响
基于读者到馆行为数据分析的高校图书馆服务优化建议