宿建春,蒋能记,杨开赞
(中国石油新疆油田分公司 风城油田作业区,新疆 克拉玛依 834000)
蒸汽辅助重力泄油 (SteamAssistedGravityDrainage,SAGD)是一种将蒸汽从位于油藏底部附近的水平生产井上方的一口直井或一口水平井注入油藏,被加热的原油和蒸汽冷凝液从油藏底部的水平井产出的采油方法,具有高的采油能力、高油汽比、较高的最终采收率及降低井间干扰,避免过早井间窜通的优点。
SAGD开采方式是一个精细调控过程,需实时监测分析井口和井底的温度、压力监测参数,及时发现异常情况,防止井口和井底的闪蒸现象。想要做到超稠油油藏科学合理化的开采,需准确认识SAGD汽腔发育情况,掌握油藏生产规律。
SAGD稠油油藏研究平台,整合了油藏地质建模、油藏数值模拟、专业软件应用成果等数据资源和专业应用软件,实现地质在线分析、生产预警、动态分析、远程调控的一体化综合应用,把油田“搬”到桌面上,实现对SAGD井高效管理,为生产决策提供技术支持。
SAGD稠油油藏研究系统采用面向服务的体系结构(SOA),将系统总体划分为数据持久层、业务层、表现层。数据持久层将代理类和数据库(Oracle)绑定在一起,提供对数据库中数据的访问;业务层负责处理各种业务逻辑,为各业务准备数据直接提供给表现层;表现层实现数据的集中展示,根据不同业务、不同模块可以实现同一数据的多种表现形式。结构分层间通信制定标准的服务接口,采用WEBService+XML实现业务请求和数据传递。系统功能的实现离不开油田地质资料、工程资料、油水井生产动态资料、测试数据等,数据主要来自于各专业数据网络数据库。需对分散的各专业数据进行集成应用,因此系统设计遵循了SOA设计概念。
系统采用三层架构(3-tierapplication),通常意义上的三层架构就是将整个业务应用划分为:表现层 (UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得;业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理;数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等,见图1。
图1 三层架构示意图
SAGD智能油藏分析决策平台,在水平方向上按业务类型及功能用途划分为数据服务模块,数模成果分析,地质分析,实时数据展示等子系统;每个子系统可视作为一个粗粒度的模块。为达到“高内聚,低耦合”的设计目标,使整个平台有更高的可靠性,可扩展性,在垂直方向划分系统,平台引入三层架构模式,以降低各层之间的依赖,同时保持各层的可替换行。
系统应用环境平台划分为客户层、服务层、数据层三个层次。
客户层主要用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。主要应用功能有数据管理、共享与交换、信息搜索等。
服务层的设计遵循SOA体系规范,基于J2EE体系采用Spring应用框架来开发组织可复用的服务框架,该服务框架不提供任何具体的功能服务,所有的功能服务封装在各个服务插件中,实现服务的解耦和灵活装配。通过统一的方式(服务总线)对外提供服务,实现应用服务统一管理。服务总线是客户端与应用服务交互的通道,支持消息传递(同步、异步、点对点、发布-订阅),可统一应用业务规则,充实其它来源的消息,分拆和组合多个消息,以及处理异常。
数据层也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说就是实现对数据的增、删、改、查的操作。如果要加入对象关系映射的元素,那么就会包括对象和数据表之间的映射关系,以及对象实体的持久化。
系统功能涵盖了数据库建设、储层综合研究、油藏地质建模、油藏数值模拟、SAGD生产动态分析五大功能模块,见图2。
图2 功能结构图
(1)数据库建设,提供SAGD观察井、静态数据入库接口,为系统实现在线分析提供数据支持;建立动态数据库链路,以便进行生产数据查询及统计分析等工作;链接实时数据库,监测生产数据变化,为生产预警提供数据支持。
(2)储层综合研究,以井位图导航,一键自动提取数据成图,快速高效;丰富灵活的图形展示功能,二、三维交互功能:单井柱状图,四性关系图,地层对比图,砂体对比图,油气藏剖面图,栅状图,构造图,有效厚度图,孔、渗、饱等值图;图件展示中可定义用户模板,满足用户个性化需求。
(3)油藏地质建模,制定网格数据存储标准,建立油藏模型成果库;远程调用地质建模软件进行分析计算;解析地质建模软件输入数据格式,开发数据接口,为地质建模软件提供数据前处理服务;解析地质建模软件输出数据格式,研发转换插件,把建模成果推送到SAGD稠油油藏研究平台进行分析。
(4)油藏数值模拟,制定网络数据存储标准,建立油藏数值模拟成果库;远程调用数模软件进行成果的预览、查看、管理等操作;解析数模软件输入数据格式,开发软件数据接口,为数模软件提供数据前处理服务;解析数模软件输出数据格式,研发转换插件,把模拟结果推送到研究平台进行分析。
(5)SAGD生产动态分析,实现生产数据综合查询,并按照SAGD区块进行报表定制,一键切换自动生成用户所需图件,并提供个性化模板;SAGD生产动态分析,通过平台完成大量数据统计分析工作,包含阶段产量对比、分级统计等18个功能模块,直接生成报表及图件;通过对实时数据的异常诊断结果,实现生产预警;通过对历史生产数据进行拟合,实现区块及单井组的生产趋势预测。
2.3.1 多线程技术应用
图3 地质图件管理界面
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。多线程是为了同步完成多项任务,提高资源使用效率来提高系统的效率。
使用多线程可以把占据时间长的程序任务放到后台去处理;用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条显示;程序的运行速度可能会加快。系统中地质图件成果网络共享管理采用多线程技术,实现服务器在后台通过多线程的处理,完成成果的上传、下载、预览等。
2.3.2 组件技术应用
组件化程序设计强调真正的软件可重用性和高度的互操作性。它侧重于组件的产生和装配,这两方面一起构成了组件化程序设计的核心。组件的装配使得软件产品可以采用类似于搭积木的方法快速地建立起来,不仅可以缩短软件产品的开发周期,同时也提高了系统的稳定性和可靠性。组件和对象所处的具体位置不应用影响程序员的开发方式,也不妨碍它们之间的交互操作,即的“位置透明性”。对软件的升级应用具有灵活性,组件的更新不会对现有的应用程序的运行造成不良影响;提供满足用户需要的安全性。
系统以平面导航图为切入点,可通过在平台上显示平面井位图对关注的目标井进行导航,根据各类基础数据生成地层对比图、砂体对比图、剖面图、开采现状图等,开展在线地质分析工作。油藏地质建模与数值模拟模块通过软件接口开发实现建模成果和数模成果的管理、共享及可视化展示,与井位图上的单井和区块进行关联展示,见图3。系统将所有的地质图件成果进行规范化统一入库管理,实现大量的、多格式的地质图件上传到统一的平台,实现图件的网络共享,方便地质专业人员的协同作业。
SAGD稠油油藏研究平台应用实时采集的生产、测试、油田监测等数据信息,结合油田油气水井生产数据管理系统(A2)数据库,开发静态数据等,实现对SAGD井生产现状在线动态分析、油藏地质建模、油藏数值模拟、生产趋势预测等一体化综合应用,把油田“搬到”桌面上,辅助生产调控。
[1]黄长青.多线程程序设计在数据库查询中的应用[C]//武汉市第二届学术年会、通信学会2006年学术年会论文集,2006:311.
[2]靳利.浅析稠油热采技术[J].中国石油和化工标准与质量,2013(21):46.
[3]王菁,魏霞.Java 语言多线程技术及应用探讨[J].农业网络信息,2009(5):121-123.
[4]胡勇.组件技术在企业信息系统中的应用[D].武汉:武汉工业大学,2006.