吴 萌,方 明
(西安石油大学 计算机学院,西安 710065)
近年来,为达到优化管理流程,充分挖掘和发挥钻井资料信息价值的目的,不断推进钻井信息化工作,许多专家学者和石油企业单位对钻井资料数据信息管理系统已有较多的研究、探索和实践,建立了相应的钻井数据库,研发或配套了部分应用软件,使钻井资料的管理逐步实现了信息化、智能化[1–4].这些系统的应用对钻井信息化水平的提升起到了促进的作用,并且一定程度上降低了勘探开发的成本.但传统的钻井资料数据信息管理系统还存在着系统集成能力较差、系统维护困难、系统操作对专业程度要求高、资料数据展示不够直观、数据可视化效果较差等问题.同时,随着钻井资料数据量的不断增多,以往系统的粗放式管理还会带来的数据漏报、错报等问题[5].因此,在大数据环境下,为更方便对钻井资料进行规范高效管理,本文设计实现了一个基于百度地图的钻井资料管理系统,有效实现对钻井资料信息的规范化高效管理和直观展示,从而能更好发挥钻井资料数据信息的应用价值.
百度地图API是由百度公司开发提供的免费对外开放的应用程序接口,用户在申请后可以直接使用百度地图JavaScript API在多种平台上开发功能强大,交互性强的地图应用[6].使用百度地图API 可以帮助应用程序.开发人员在无需了解复杂底层技术的情况下,完成地图应用的开发,从而达到提升系统开发效率的目的.使用百度地图API 开发的地图应用程序可以直观展示数据的空间位置信息,并且支持用户在地图界面自定义信息窗口、使用不同类型的地图样式灵活进行信息展示,使信息展示的效果更加直观,信息展示的交互性更强,达到提升信息展示效果的目的.
本文设计实现的基于百度地图的钻井资料信息系统使用浏览器和服务器架构模式开发,利用MySQL 数据库管理和保存钻井资料相关的各类属性数据,数据库中的内容可以根据用户在前端页面的操作执行相应的查询、增加以及修改操作.系统采用Java 语言完成服务器端程序的开发、测试和维护工作,其中地图展示的相关的功能使用百度地图API 提供的应用服务接口完成.系统采用JavaScript 来扩展百度地图API的功能,以更好地满足系统实际使用的需求.基于B/S 结构应用程序的特点,用户可以使用浏览器访问信息系统,用户成功登陆系统后就可以浏览地图展示界面以及查看钻井资料信息.同时,系统采用Apache 提供的完全由Java 语言开发的免费开源的轻量级Web 应用服务器Tomcat 作为后台应用程序的服务器[7].系统软件体系架构图如图1所示.
图1 基于百度地图的钻井资料信息系统体系架构图
1)建立钻井资料数据库
在分析和研究现有钻井数据资料信息管理需要的基础上,完成数据库结构的设计,建立满足实际使用需求的钻井资料信息系统,完成对历史钻井资料的数字化管理.规范钻井资料数据信息的管理.
2)实现对钻井资料数据信息的快速检索
为用户提供快速查询钻井资料数据信息的功能,实现对用户新上传的钻井数据进行专业审核的功能,保证钻井资料的格式和内容规范化、统一化.方便用户使用钻井资料管理系统快速准确的查找相关钻井资料,为解决传统管理方式数据表示抽象,更好的发挥钻井资料的价值,提供一种有效的解决方案.系统可以及时准确的提供钻井资料,帮助相关部门快速掌握钻井实时数据,为企业的后续决策提供数据支持.
3)地图展示功能
从数据库中获取单井的属性数据,结合基于百度地图开发的地理信息展示功能在地图上直观地显示钻井的空间和地理位置信息,可以通过自定义的信息窗口展示单井的基础信息,并且提供通过信息窗口提供的链接快速查找对应的钻井资料数据的功能.
在设计基于百度地图的钻井资料信息系统数据库的过程中,严格遵守数据库设计3个范式的要求和数据库设计规范化理论的要求,在开发过程中不断完善数据库设计,达到对数据库设计逐步求精的效果.保证数据库可以为系统的运行提供良好的数据服务.
以单井档案资料管理为例,创建的数据表包括,单井类型管理表(wellType)、钻井工作阶段管理表(wellPro)、单井信息管理表(single_well)、单井产量管理表(swell_product)、钻井资料管理表(recor).其中,单井类型管理表(wellType)属性有:油井类型编号、油井类型名称;钻井工作阶段管理表(wellProcess)属性有:工作阶段编号、工作阶段名称;单井信息管理表属性有:单井编号、所属集气站编号、油井类型编号、经纬度信息、钻井工作阶段编号、开钻日期、完井日期、钻井深度、油井状态;单井产量管理表属性有:油井产量信息编号、单井编号、日期、产量信息;钻井资料管理表属性有:档案编号、单井编号、上传者编号、上传时间、文件名称、文件路径、保密级别、状态等信息.各数据库表的结构如表1至表5.
表1 单井类型管理表(wellType)
表2 钻井工作阶段管理表(wellPro)
表3 单井信息管理表(single_well)
表4 单井产量管理表(s_well_product)
以单井钻井地理信息展示为例,展示基于百度地图的钻井资料管理系统的地图展示功能的实现步骤.
表5 钻井资料管理表(recor)
1)引入百度地图API,在网页中完成地图加载
在引入百度地图API 前,首先需要进入百度地图官网创建应用信息,提交后可以在应用列表中获取百度地图接口密钥(ak).完成准备工作后,就可以在应用程序页面中调用百度地图JavaScript API.详细代码如图2所示.
图2 引入百度地图API 代码
2)初始化地图
初始化地图内容的算法流程如算法1.
算法1.地图内容初始化算法1.用var map 创建地图全局实例;2.设置地图中心点坐标;3.使用centerAndZoom 方法获取中心点经纬度坐标,并设置地图级别;4.使用enableScrollWheelZoom 启用鼠标滚轮缩放功能;5.加入NavigationControl 控件,设置地图平移和缩放功能;6.加入ScaleControl 控件,显示地图比例尺;7.加入MapTypeControl 控件,设置地图显示模式.
3)数据显示
在网页完成地图的初始化,将地图加载完成后,会从后端数据库中获取单井的属性数据,在地图展示页面上显示单井的地理位置信息.用户可以通过自定义的信息窗口查看油井的基本信息,包括油井的编号、油井的类型等信息,支持用户快速查看该井的档案资料.加载单井属性数据到地图显示工作的算法流程如算法2.
算法2.加载单井属性数据到地图显示工作算法1.定义一个数组用来存储油井的经度和纬度的信息;2.使用循环依次加载油井的经纬度坐标;3.按照从数据库中获取到的经纬度数据信息在地图上生成新的坐标点;4.将新生成的坐标点添加到地图上进行显示;5.创建信息窗口显示基本信息.
单井信息地图展示结果界面如图3所示.
钻井资料是钻井工作人员在完成钻井工作后的相关数据记录,是钻井过程中科学数据的记载,钻井资料档案也承载着钻井施工过程中产生的技术研究数据,可以为以后的钻探开发工作提供重要的数据支持[8].对钻井资料数据信息进行科学有效的维护管理是充分发挥钻井资料理论科研价值的重要基础.钻井资料数据信息维护管理包括的功能有:钻井资料数据信息的上传、钻井资料数据信息的快速查询、钻井资料数据信息的审核等.钻井资料数据信息维护管理的程序流程图如图4所示.
图3 地图显示界面
图4 钻井资料数据信息维护程序管理流程图
1)钻井资料数据信息的上传
用户在成功登陆钻井资料管理系统后,可以根据权限上传钻井数据信息.用户在文件上传页面选择存储在本地的钻井数据信息.为提升程序开发效率,使用Apache 组织提供的开源组件Commons-FileUpload 完成文件的上传,使用该组件可以快速解析“mutipart/from-data”类型请求中的各种表单域,并且可以实现一个或多个文件上传.在文件上传界面,系统会自动获取当前用户的登录名,用户需要完成的工作包括选择钻井数据信息所属的部门、单位、上传时间,选择钻井资料数据信息的保密级别信息,选择包含钻井资料数据信息的文件,完成相关的准备工作后就可以点击文件上传按钮执行文件的上传操作.使用Apache 提供的开源组件Commons-FileUpload 完成钻井资料数据上传的程序流程如图5所示.
2)钻井资料数据信息的审核
系统会对上传的钻井资料数据进行两次审核,在用户上传钻井资料信息时,系统首先会对上传的钻井资料数据信息的属性进行审核,审核的内容包括上传文件的类型和上传文件的大小,只有通过审核后,用户选择的文件才会被允许执行上传操作.在文件成功上传到系统中后,会由专业的人员对上传的钻井资料数据信息的内容再次进行审核,确保上传的钻井资料数据信息是准确的、完整的,不存在信息的错报和漏报等情况.只有上传的钻井资料通过最终的各项审核才会被展示到档案列表页面,提供给用户进行下载操作.如果上传的文件没有通过专业审核,则输出提示信息,提示文件的上传者对上传的钻井资料文件进行修改,完成修改后重新上传.对文件属性进行审核的程序流程如图6所示.
图5 钻井数据资料上传程序流程图
图6 文件属性审核程序流程图
3)钻井资料数据信息的快速查询
系统提供的快速查询方式包括:快速查询当前用户上传的所有钻井资料,用户在成功登录后,系统会获取当前用户包括用户名在内的登录信息,使用登录用户的用户名信息可以快速查询出当前用户上传的所有钻井资料,其中包括未经过审核的和审核未通过的钻井资料信息.
在地图展示界面快速查询单井的所有钻井资料,用户可以在地图展示页面查看单井的空间位置信息的同时,通过使用系统自定义的信息窗口提供的链接对该井的所有钻井资料数据信息进行快速查询.
通过钻井资料列表快速查询所有钻井资料,用户可以按条件快速查询需要的钻井资料.
用户在使用以上方法查询出符合要求的钻井资料信息数据后,可以使用系统提供的文件下载功能,将钻井资料数据信息下载文本地使用.
结合百度地图API与传统信息管理系统,将日益成熟的地图服务应用到钻井资料的管理中,有助于优化钻井资料管理流程,提升管理效率,更加充分的挖掘和发挥钻井资料数据信息的研究与应用价值,避免由于钻井资料管理的不规范和不方便带来的损失,提升钻井资料数据管理的信息化水平.展示钻井的地理位置信息,实现的功能比较单一,在下一步的工作中可以引入地图的3D 地图展示功能和全景图展示功能,进一步丰富地图展示的信息内容,更加直观的展示钻井的实时状态.为钻井资料数据的信息化管理提供了一种实时、高效、直观的解决方案,为充分发挥钻井资料数据信息的理论和应用价值奠定基础.