稠油热采一体化数据管理系统设计与实现
2012-06-09孙伟峰戴永寿李立刚谢腾腾
孙伟峰,戴永寿,王 艳,李立刚,谢腾腾
(1.中国石油大学(华东)信息与控制工程学院,山东 青岛 266580;2.青岛滨海学院 机电工程学院,山东 青岛 266555)
滨南油区单家寺稠油油藏至今已有近30年的开发历史,目前主要采用蒸汽吞吐的开采方式进行生产[1]。在周期生产过程中积累了大量数据,主要包括周期注汽数据、周期生产数据、汽窜数据等,这些数据对于生产运行分析、热采效果评价、注汽参数优化及生产决策等具有重要价值。目前,这些数据主要通过人工录入Excel表格进行保存和分析,生产运行监测和优化决策主要依赖经验、通过繁杂的人工计算完成,工作强度大、效率低且易出错;生产运行数据缺乏实时性和可靠性,优化决策和油井热采效果预测周期长、效率低且准确性差,如何对这些数据进行有效组织与优化管理成为亟待解决的问题。
随着网络技术的发展,基于web的信息查询与发布技术越来越多地应用到各类系统的开发中[2],而目前还没有专门针对稠油生产的数据管理系统。为了实现稠油开发周期生产过程中数据的有效组织、管理与维护,设计开发了稠油热采一体化数据管理系统。该系统利用oracle数据库技术有效集成多种数据源形成统一的数据管理平台,采用先进的模型(Model)-视图(View)-控制器(Controller)(即 MVC)三层结构设计[3],综合利用 JSP动态网页技术[4]、Ajax动态关联技术[5]、JFreeChart图表绘制技术[6]、POI报表生成技术[7]、MapXtreme动态地图技术[8]等,实现了周期数据管理、汽窜数据管理、井控管理及用户管理4个主要功能。
系统在滨南采油厂服务器上安装部署,半年多的现场运行表明,系统运行稳定可靠,数据查询动态灵活,统计分析直观形象,井控管理便捷高效。与其他系统相比,本系统可扩展性强,易维护,具有灵活性、实用性、专业性及针对性等特点。
1 系统总体设计
1.1 总体结构设计
系统在B/S架构下基于MVC模型进行设计。该模型将应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组件相互独立,可以进行交互和重用,使得整个系统结构清晰,易于维护和扩展,且便于移植,系统总体架构如图1所示。
图1 系统总体结构图Fig.1 Structure diagram of the data management system
其中,Model层建立稠油热采数据库,主要包括油井基础数据子库、单井周期数据子库和汽窜数据子库,为每个数据子库建立对应的模型并封装对相应数据的增、查、改、删等操作,将对数据的操作转换为对模型的操作;Controller层负责接收各功能模块的用户请求,实现系统的主要功能并调用相应的视图显示处理结果,主要功能包括:数据查询与报表生成、数据录入、审核、修改、删除、数据统计分析、井控管理及用户管理。View层实现与用户的交互,获取用户提交的参数并传递给Controller层,并显示Controller层返回的处理结果。具体实现时,采用JSP+JavaBean+Servlet的开发模式,Servlet控制器负责处理数据,并将有关的结果存储到JavaBean中,实现存储与处理的分离;负责视图功能的JSP页面只要使用JavaBean标记显示其中的数据即可。这种组件式设计模型可降低开发工作量,提高系统运行速度。
1.2 功能模块设计
根据实际功能需求,系统需要建立稠油热采数据库,并具备周期数据管理、汽窜数据管理、井控管理及用户管理4个主要的功能,如图2所示。
图2 系统功能模块框图Fig.2 Block diagram of the system functional module
稠油热采数据库集成多种数据源形成统一的生产及管理数据平台,实现数据的有效组织、管理与维护,为系统运行提供基础数据;周期数据管理及汽窜数据管理分别实现周期数据与汽窜数据的录入、查询、修改、删除及统计分析等功能;井控管理实现不同类型油井间的井距计算、汽窜井控查询、井位图绘制及井控通知单生成功能;用户管理负责系统用户授权及操作权限管理分配。
根据系统的总体结构及实现的功能,系统设计分为稠油热采数据库设计与动态网页模块设计两部分。
2 稠油热采数据库设计
2.1 数据库设计
稠油热采数据库是一体化数据管理系统运行的基础,其设计是否规范将直接影响到系统中对数据的维护、查询、分析等功能。数据库设计依据第三范式设计规范[9],同时考虑到数据库的运行效率,适当增加了冗余。设计时充分考虑到各类数据间的关联性、数据的规范性与安全性、数据表的可扩展性与易维护性。结合稠油开发生产运行管理的实际需求,建立了油井基础数据子库、单井周期数据子库与汽窜数据子库。其中,油井基础数据子库由油井归属信息及油井坐标数据组成;单井周期数据子库由周期注汽数据、周期生产数据及作业大事纪要等组成;汽窜数据子库按照目前稠油开发井控安全需求及油井正常生产分析需要建立,由生产井数据、停产井数据及汽窜井数据组成,该子库的建立将最终形成一个井控安全运行系统,为管理者和技术人员提供及时、可靠的油井汽窜井控安全预警平台。
2.2 数据库选择
单家寺稠油油区有上千口油井,需要存储的数据量大。为了保证多个用户同时访问时系统能够稳定、高效运行,从数据库性能、运行平台、并行性与安全性等方面综合考虑[10],选用oracle 10g数据库软件进行开发。该版本的数据库管理开销低,性能稳定,简化了数据库配置与升级步骤,能够进行自动存储管理,可以自动地完成基于磁盘的备份与恢复,为数据库平台的安全稳定运行提供了技术保障。
2.3 数据导入模块设计
平台运行所需数据有3个来源:1)采油矿现有的以Excel表格形式保存的历史数据;2)采油厂数据库中的油井生产日度数据;3)需要技术人员人工录入的数据。为了实现数据的正确转换、提取及录入,系统利用POI技术集成了Excel表格转换功能,能够将Excel表格数据导入相应的数据子库;利用oracle软件的远程访问功能实现了采油厂数据库数据的正确提取;对需要人工录入的数据,提供了相应的人工录入界面。
2.4 数据库连接
为了解决频繁地建立与断开连接带来的系统性能降低问题,提高数据库连接的使用效率,保证多个用户同时访问网站时的响应速度,系统采用数据库连接池技术实现数据库的连接[11]。系统中设计了DBConnectionManager类来管理数据库连接池,数据库的连接配置可以在db.properties文件中进行配置,可灵活修改,使用方便。
稠油热采数据库的组成及连接如图3所示。
图3 稠油热采数据库组成与连接框图Fig.3 Block diagram of the database parts and inter-connection
3 动态网页模块设计
3.1 功能设计与实现
以稠油热采数据库为基础,动态网页模块实现对单井周期数据与汽窜数据的录入、查询、审核、修改、删除、统计分析、报表生成以及井控管理、井位图绘制、用户管理等功能。
1)数据录入。数据录入模块为单井周期数据及汽窜数据的录入提供接口界面,录入界面设计以保证录入数据的准确性及方便录入为准则。为确保数据录入的准确性,对录入字段作了合理性校验,包括:①记录唯一性校验。对记录进行唯一性约束,违反唯一性约束条件的数据禁止写入数据库。比如,单井周期数据由井号与周期组成唯一性约束条件,对于同一井号同一周期的数据,数据库中仅允许一条记录存在。②空值校验。对必填字段进行空值判断,当字段为空时禁止提交并给出相应提示。③数据格式与取值范围校验。当数值型数据字段录入非数字字符或录入数据超出正常取值范围时,禁止提交并给出错误提示。④逻辑校验。对相互关联字段的逻辑关系正确性进行了验证,比如射孔顶界必须小于射孔底界等。同时,为方便录入,对周期间不经常变动的数据进行了自动关联提取;日期数据从日历控件中选择,方便录入的同时也规范了日期格式;对可枚举数据以下拉菜单的方式提供选择。录入界面中仅提供必填字段,提交合法数据后,系统会对需要计算得到的字段(如周期油汽比、累计采油等)进行自动计算,并为每条记录自动添加录入人及录入时间信息。
2)数据动态查询。该功能实现对单井周期数据及汽窜数据的动态查询,查询功能具有如下特点:①多条件组合查询。可以按照采油队、区块、井组、井号及重要生产数据字段进行组合查询,其中,采油队、区块、井组、井号可多选,并采用Ajax技术实现了动态级联;井组可作个性化定制;数值及日期字段可进行范围限定。②查询字段可动态设定。可根据查询需要动态设定查询字段,方便灵活。③查询结果显示灵活。可以按照周期、区块及采油队对查询结果进行排序及累计、平均统计,对查询结果可按照详细信息及统计信息的方式进行显示;为了便于查看多条记录或多个字段,标题栏可浮动显示。以单井周期数据查询为例,其高级查询及查询结果显示界面如图4所示。
图4 周期数据高级查询与结果显示示例Fig.4 An example of advanced query and results display
3)数据审核与修改、删除。系统审核人可对录入数据库中的数据进行审核,高级管理人员可对查询得到的数据进行修改及删除操作。审核人审核之后的数据,高级管理人员不能再对其进行修改,保证数据的准确性。
4)曲线图形绘制。基于JFreeChart技术实现了查询数据的曲线图形绘制,能够以曲线图、柱状图、饼图及多轴曲线等形式对统计结果进行直观显示。曲线颜色依照油田生产约定的风格,如采油量用红色显示,注汽量用黄色表示等。
5)井控管理。实现了直井、斜井、水平井等不同类型油井之间的距离自动精确计算,点击一口井,可查询其周围一线井、二线井及汽窜井的井号、井数、井距及目前井控情况,自动生成井控通知单,解决了人工计算井距时工作量大且计算不准确的问题。
6)井位图绘制。根据油井的实际经纬度坐标,基于MapXtreme技术实现了油井井位图绘制;在井位图上点击一口井,能够自动标示其周围的汽窜井、一线井、二线井以及油井目前的井口状况、生产情况,使井控查询更为直观,如图5所示。井位图可灵活地进行平移、放大、缩小,并具有测距、查找等功能。
7)报表生成。基于Apache POI接口实现了查询报表自动生成,可将查询结果以Excel表格的形式导出,便于打印分发。
8)用户管理。为确保数据安全,平台采用管理员、审核员、高级用户与普通用户四级用户管理,为不同级别的用户定制了不同的功能,防止数据丢失以及数据的越权访问。管理员具有最高权限,负责平台的管理维护,可以对平台的数据信息及用户信息进行操作;审核员与高级用户具有对平台数据进行录入、修改、删除及查询的操作权限;普通用户只可对数据进行查询及统计分析。
图5 井位图显示示例Fig.5 An example of well location map display
3.2 系统的特点
1)灵活性。系统的一个显著特点是“动态”、“灵活”,查询与显示字段可动态设定,多种查询条件可灵活组合,查询条件动态联动,显示方式、排序与统计方式可动态选择,操作灵活方便。
2)实用性。系统功能设计结合现场用户实际需求,可以进行个性化井组查询功能,不同的用户可以根据需要灵活设置井组;查询结果以浮动表头的形式呈现,方便数据查看;能够按井号、井组、采油队、区块等条件对各类数据进行统计分析,并以图表的形式直观显示;查询结果能够以Excel报表形式导出;可以计算各类油井间的井距并生成井控通知单;井位图可直观显示油井位置及井控信息等,实用性强。
3)专业性。数据库及网页设计都严格遵守相关技术规范,提供了专业的曲线图、柱状图、饼图等统计图线图形、Excel报表、动态地图等的快速生成工具。
4)针对性。系统专门针对稠油油藏蒸汽吞吐开采过程中数据的组织、管理、查询与分析,区别于常规油藏的管理与查询软件。
4 结论
为了更好地利用稠油热采过程中形成的历史数据和实时数据,让这些资源产生更好的经济效益和管理效益,设计开发了稠油热采一体化数据管理系统,实现了数据的准确导入、多条件查询、多功能显示、统计分析、井控管理、报表下载等多项功能。系统操作灵活,可扩展性强。系统的应用使人们能够及时、准确、全面地掌握生产数据并对数据进行深层次的分析,优化了生产过程,提高了生产效率,同时,为后续注采参数优化、周期生产效果预测及生产优化决策提供了基础数据保障,也为后续一体化运行管理系统的开发奠定了基础。
[1]曾玉强,刘蜀知,王琴,等.稠油蒸汽吞吐开采技术研究概述[J].特种油气,2006,13(6):5-9.ZENG Yu-qiang, LIU Shu-zhi, WANG Qin, et al.Overview of heavy oil cyclic steam stimulation recovery technology[J].Special Oil and Gas Reservoirs,2006,13(6):5-9.
[2]黄娟娟,李晓明,张莲梅,等.基于Web的多异构电力信息集成系统的开发与应用[J].电力科学与工程,2003(4):58-61.HUANG Juan-juan, LI Xiao-ming, ZHANG Lian-mei, et al.Development and application of heterogeneous-configuration electric power information integration system based on web[J].Electric Power Science and Engineering,2003(4):58-61.
[3]陈静.基于MVC模式的Struts框架在稠油生产数据查询系统中的应用[D].北京:中国地质大学,2006.
[4]肖必武.用JSP构建动态网站[J].现代电子技术,2003(13):12-17.XIAO Bi-wu.Constructing dynamic website using JSP[J].Modern Electronic Technique,2003(13):12-17.
[5]周旋,王丽芳,蒋泽军.基于Ajax的即时消息系统的设计与实现[J].科学技术与工程,2009,9(2):446-449.ZHOU Xuan, WANG Li-fang, JIANG Ze-jun.Design and implementation of ajax based Instant messaging system[J].Science Technology and Engineering,2009,9(2):446-449.
[6]高建利,王丽芳,李志国.基于Struts与XML的图形报表系统的设计[J].科学技术与工程,2008,9(3):1350-1353.GAO Jian-li,WANG Li-fang,LI Zhi-guo.Design of graphic report system based on struts and XML[J].Science Technology and Engineering,2008,9(3):1350-1353.
[7]张海波,董槐林.一种基于POI的Web表格生成[J].计算机技术与发展,2008,18(2):21-23.ZHANG Hai-bo,DONG Huai-lin.A kind of web spreadsheets based on POI[J].Computer Technology and Development,2008, 18(2):21-23.
[8]徐宇梁.基于MapX的车辆定位系统实现[J].科学技术与工程,2009,19(16):4862-4864.XU Yu-liang.Cars location orientation system based on MapX [J].Science Technology and Engineering,2009,19(16):4862-4864.
[9]沈金发.关系数据库系统ORACLE[M].1版.北京:清华大学出版社,1992.
[10]尚华.基于Web的医学文献数据库的设计与实现[D].武汉:武汉科技大学,2011.
[11]易芹芹,丁振国.MVC模式下数据库连接池的Web应用方案[J].微计算机信息,2007(18):169-171.YI Qin-qin,DING Zhen-guo.Web application of connection pool based on MVC mode[J].Microcomputer Information,2007(18):169-171.