(大庆油田有限责任公司第一采油厂 信息中心,黑龙江 大庆 163000)
数据查询作为最基础、最核心的数据库操作技术,在各行各业已广泛成熟应用。对于油田企业来说,生产数据查询贯穿于多个业务管理单元与专业技术领域,是管理人员掌握油水井生产情况、技术人员进行地下分析的重要抓手。
油田采油厂生产数据繁多,针对采出(注水)井的动静态数据,有多套基于客户端和Web 网页端的数据查询系统,多套系统的切换使用为用户带来极大不便,且各系统用户账号密码难以统一管理,为系统带来安全隐患。
针对以上问题,开发一套基于集成化报表的生产数据查询系统,以采油矿(队)动静态数据作为报表展示对象,结合图形化数据分析技术,可实现生产数据的查询、分析与综合应用,为基层生产管理单位及技术部门提供便捷高效的数据共享平台。
根据采油厂实际生产情况,整个系统主要由4 个功能模块组成,即PC端生产数据查询模块、移动端生产数据查询模块、油水井静态数据查询模块和问题反馈模块,可以整合用户权限,采用单点登录技术保证系统的安全性。通过权限限制,厂级技术管理人员可查询全厂生产数据,矿级用户仅可检索本矿生产数据。同时,可视化的图表展示功能,能够更加直观、清晰地为用户展示一段时间内单井的生产状态,为技术人员及管理人员进行数据分析决策提供依据。
油田企业涉及的管理部门多,业务繁杂,涉及多个跨业务的应用系统软件,如电力系统管理平台、大维修系统、基建项目管理系统等,每次用户登录都需要输入用户名和密码验证身份,给用户带来不好的体验感,同时易对系统的安全性及稳定性造成破坏。在企业内部有公共平台的情况下,单点登录技术便能解决这个问题。它的目的在于依托一个公共平台,每个用户通过公共平台中固定的一个用户名及密码,便能访问企业内部的多个平行系统[1]。
单点登录需要一个认证服务器,用来管理企业内部所有的用户身份信息。首先要在公共平台下统一维护用户的相关信息,再通过Web Service 对各系统的用户及权限进行关联,以实现用户的统一管理,对各系统的权限进行统一分配[2]。若认证服务器中没有尝试访问的用户信息,则该用户无法登录系统,从而为系统的安全性提供有力保障。
油田生产单位数据繁多,单一的单项数据查询无法满足不同业务人员的需求。生产管理者需要查看某口井每天的生产数据,如生产时间、掺水压力等,而技术人员需要进行分门别类的查询,如抽油机井、螺杆泵井等各种参数情况,所管辖井一段时期内产液量、产油量、含水的对比情况及各种原因导致油水井无法生产的影响情况等,这些就需要采用动态组合式复杂报表绘制技术满足不同业务人员的不同需求。
在设计查询报表时,预留业务人员想要的不同筛选条件,如矿名、队名、井号、采油方式、日期等,以此作为参数放置到报表引擎的参数面板中,不同人员使用时即可根据参数面板中不同的参数字段自由动态组合,缩小数据选择范围,精确到具体的查询目标。
单纯的报表式查询展示界面虽然能够满足业务人员查询基本数据的需求,但是直观性、美观性有所欠缺,对单井一段时期内的生产情况无法做到一目了然,而可视化的图表展示可以解决这一问题。就单井数据展示而言,通过一段时期内展示的单井产液量、产油量、含水及沉没度曲线,便能够看出该井生产状况、期间参数是否合理,对下一步技术人员对该井采取的针对性措施提供初步指导性意见。
随着时代的发展,移动办公已成为企业发展不可或缺的一部分。鉴于生产单位的特殊性,除了技术部门外,生产数据查询系统更多的是面向基层生产单位使用者,基层员工及管理人员能够通过手机、平板移动端的实时查询,突破时间和空间的限制,将数据“装进口袋”,真正做到实时掌控数据。
集成化报表的移动端可支持iOS 和Android 两种系统,通过连接服务器,获取服务器中配置的可访问报表,判断登录人员是否有查看报表的权限,如果有权限,则会根据移动端的展示界面大小通过自适应的方式展示出来。
油田企业的生产数据都存储于Oracle 数据库中,每一天的数据量都多达上万条,油田成立至今产生的数据量十分庞大。生产数据查询系统的数据都来源于Oracle 数据库,部分数据还要经过一系列复杂计算转化得来,如果只应用普通的查询语句,效率极为低下,导致系统无法正常使用。因此,需要应用Oracle 的存储过程、定时任务及索引等技术来提高系统的运行效率。
Oracle 提供了很多索引选项,对于一个应用程序来说,选择正确的索引十分重要,因为大量的数据很有可能引发应用程序死锁,从而导致数据库的性能急剧下降甚至造成程序终止。对于生产数据查询系统来说,由于业务人员多采用联合多种参数查询数据,因而组合索引的恰当使用可对系统查询效率的提高起到极为重要的作用。
Oracle 存储过程是开发查询系统时经常使用的方法,它的特点在于可以将需要执行的多条SQL 语句都封装到一个独立的单元中,供开发人员随时调用,既能节省开发软件时间,又能提高程序的执行效率[3]。Oracle 的定时任务就是可以任意设置固定的间隔时间,到时间就去执行存储过程,全部由Oracle自动执行。在生产数据查询系统中,可针对不同情况设置不同存储间隔;对于动态数据,可设置每0.5 小时数据更新一次;对于静态数据,可设置1 天执行更新一次;而对于其中涉及的复杂计算,可以将时间设置到非工作时间执行,不影响第二天业务人员对系统的正常使用。
生产数据查询系统主要由4 大功能模块组成,分别是PC端的油水井动态生产数据模块、移动端油水井动态生产数据查询模块、PC 端油水井静态数据查询模块和问题反馈模块。
PC 端油水井动态生产数据模块包含了油水井的日数据、单井日报月报、开关井查询、油水井日旬月对比等功能,可根据矿名、队名、井号和日期等参数进行单井的生产数据筛选与查询。同时,开发了数据钻取功能,点击单井井号便可进入该井的综合开采曲线页面中,通过调整不同的日期年份参数,就可以用可视化的方式直观看到该井过去某一时间到现在的生产情况;单井月报界面中,点击月份即可进入单井整个月的日数据页面中,无须再通过目录树中转。
移动端油水井动态生产数据查询模块同PC 端基本功能保持一致,但仅选择了使用频率较高的必要数据列,采取冻结模式滑屏显示数据,为移动端用户带来良好的体验感。
PC 端油水井静态数据查询模块类似于单井的数据搜索引擎,打造单井“百科全书”,实现油水井静态信息的一键查询全覆盖。既涵盖各类静态地质信息,如驱油方式、开采层位、饱和压力、地层系数等,又能够清晰追踪到该井从钻井开始的一切静态数据。
问题反馈模块用来收集用户在应用系统过程中发现的问题和建议,便于开发人员对共性问题进行系统功能的改进升级。
生产数据查询系统,在B/S 的架构设计下,应用集成化的报表平台,实现了多层级、多维度的采油厂生产数据分析查询及可视化图表展示功能。同时,移动端的开发让数据查询打破了地域和时间限制,为各级技术、管理及基层工作人员提供了更为便捷、高效的数据查询通道,为进一步挖掘数据价值打下坚实基础。生产数据查询系统全面应用后,小队级员工巡井检查时也能够通过手机端查询油水井相关生产数据,根据当前井的各项生产参数判断是否正常运行;各业务人员可按照想要查询的数据自行设置参数选项,快速高效地查询数据。
系统以油水井动静态数据、站库日数据为切入点,将井、站数据整合到一个统一的查询系统中;融合单井的可视化图表展示功能,单井阶段性生产状况趋势一目了然;单点登录保障系统安全,分权查询实现数据管控;多层级的数据钻取替代了以往的目录树中转,为业务人员使用提供便利;同时,移动端的查询更是做到了把数据“装进口袋”,实现生产状况时时心中有数、处处尽在掌握;系统提供单井数据参数接口,便于厂内其他系统通过参数调用查询单井数据。
整个系统数据源头达到统一,层级穿透便于使用,图表展示助于分析,分权查询实现管控,数据安全得到保障,为厂内各级员工提供了高效、便捷的以井、站为核心的一体化、可视化查询分析系统。