基于动态存储的天然气地质信息共享平台构建
2021-10-18帅训波石文昌周兆华
帅训波 石文昌 冯 梅 周兆华 贺 佩
1.中国石油勘探开发研究院信息技术中心 2.中国人民大学信息学院
3.中国石油勘探开发研究院气田开发研究所 4.中国石油勘探开发研究院油气地球物理研究所
0 引言
我国石油天然气信息化历程划分为面向局部应用的分散建设、体系标准规范化的统一建设、跨信息系统的集成应用和面向服务的智能共享等4个主要阶段[1]。随着云计算、大数据、物联网和人工智能等新兴信息技术在我国油气行业的深度应用,石油天然气工业信息化建设正在迈入数字化转型和智能化发展的新征程[2-4]。加快推进信息系统之间的数据共享交换与综合分析应用,是我国油气行业实现数字化转型、智能化发展的重要先决条件[5-6]。
一般说来,国内目前具有对天然气地质信息进行综合管理功能的信息系统主要划分为如下3类[1,7-11]:①行业内各大型油气集团公司分别统一规划建设的勘探与生产数据管理信息系统、油气水井生产数据管理信息系统等;②各集团公司分别建设的勘探与生产ERP应用集成类大型信息系统;③各油气田分公司根据自身业务特色而自建的典型应用类信息系统。应用实践表明[7],上述信息系统已经基本实现了“云化”部署应用,而且各个系统在不同程度上均积累了“海量”的天然气地质数据。
笔者通过调研与分析当前信息系统之间数据互联互通的应用现状发现,天然气地质数据的交换共享存在的突出问题主要有包括:①数据通常存储分散在不同的应用信息系统中,难以形成企业级数据统计与分析;②多系统中的相同数据项管理不一致,各业务部门间对数据的赋值填报类型异构,并且量值“打架”,数据质量不高;③在基础类数据管理方面,粒度粗细不均,连同数据质量参差不齐等诸因素共同导致了数据综合分析应用水平偏低。
对国外大型能源公司关于数据共享交换与综合分析应用现状的调研结果表明[12-15],主要最佳实践案例情况如下:①壳牌公司建立了系统完备的数据模型标准和信息系统交互标准,将全球数千个油田的数据传到亚马逊服务器,通过相似性比较,提高了决策质量;②埃克森美孚公司以云计算技术为支撑,构建了数据生态与智能认知环境;③斯伦贝谢公司以数据生态为技术,集成人工智能与大数据分析技术,构建了勘探开发智能云计算平台。
云计算技术通过基于网络的计算方式,将共享的软件、硬件资源和信息进行组织整合,按需提供给计算机和其他信息系统使用。业界公认的云计算架构包括基础设施层或资源层、平台层、软件服务层或应用层共3个层次,其对应名称分别为 IaaS、PaaS和 SaaS。云计算技术具有资源共享好、计算能力强和存储自主扩展性能好等技术优势,为解决信息化建设中“信息孤岛”问题提供了很好的思路。
针对各信息系统之间难以进行数据共享的问题,在对云计算技术应用案例与信息系统平台化建设方案详细调研基础之上[15-16],从数据管理的角度,应用云计算技术,开展了基于动态存储的天然气地质信息共享平台构建研究。此项工作对于实现石油天然气行业生产的降本增效和管理模式优化等高质量发展,具有非常重要的科学意义和工程价值。
1 平台数据集成与管理
从数据管理角度,依据对地质特征描述的分辨率由高到低的标准来划分,天然气地质信息主要包括岩石物理、测井、地震和地质文档等四大类主要数据。岩石物理数据主要刻画气井各层位的详细信息;测井数据用于表达气井单井的地层特征;地震数据从三维空间对地层综合特征进行表示;地质文档大多是直接描述沉积和构造特征的非结构化类型的文本和图表形式。
本文所构建的平台管理数据对象主要有:①岩石物理、测井、气藏和生产动态等基础结构化数据;②天然气地质信息相关文档、图片、音频和视频等非结构化数据。为了兼顾数据共享应用效率,平台对体量大且格式复杂的地震类数据,暂时没有作为重点集成应用对象。
1.1 结构化数据集成及接口设计
数据库设计是天然气信息共享平台构建过程中关键环节,是一种将现实世界中数据及关系与信息编码之间建立映射的方式。当前正在实际生产运行的诸多油气信息系统在建设过程中,均采用了基于实体—联系模型(ER模型)应用的数据库设计方法。
应用实践表明,对于各种类型的天然气信息管理系统,无论是分散建设和统一建设,还是集成应用等不同阶段中,中国石油企业标准《勘探开发数据结构第1部分:基础数据:Q/SY10547.1—2018》对各天然气信息系统的数据库设计和应用管理,均起到了坚实的基础性作用,这给本文的天然气地质信息共享平台的数据库建设奠定了很好的应用基础。
为了使得已有各信息系统间进行高效数据集成与共享,结构化数据库结构依据中国石油企业标准《勘探开发数据结构第1部分:基础数据:Q/SY10547.1—2018》中的数据库结构规范而设计。数据库满足对地质基础信息的综合管理需求,其所包含的基础地质信息有基本实体、物探、测井、试油试采、地质与气藏等8类133个关键数据项(表1)。
表1 天然气基础地质信息类别统计表
天然气地质信息共享平台的基础数据库中的地质基础数据,主要是从当前中石油等集团公司统建或各油气田公司自己建设的天然气数据库信息应用系统中读取,并集成应用。对于某些关键数据项,既存在集团公司统建数据库系统中,又存在相关的油气田公司自建的数据库系统中的情况,以数据最近的更新时间为依据进行选择读取与集成应用的对象。数据交换中间件技术是实现对所有集成数据源的集成调度管理和负载均衡的工具,因此,应用数据交换中间件技术实现对数据源的汇集,经过数据质量和数据关系约束等校验后,将从各信息系统中读取的数据安全地存储在本文构建的地质信息共享平台数据库中。基于数据交换中间件的天然气地质信息共享平台的数据集成应用接口设计如图1所示。
1.2 非结构化数据存储与检索
平台选用具有存储数据持久、存储空间可扩展性能强和集群部署无单点故障的OpenStack Swift工具来实现对视频、音频和图像等类型的非结构化数据分布式存储管理。为了避免命名空间与存储位置之间的索引和转换,平台在搭建过程中采用了对外的命名空间直接指定存储位置的策略方式。存储的过程中,首先采用人工辅助标注的方式生成与其一一对应的非结构化文档,并且该非结构化文档是对其对应的视频、音频或图像的重要关键特征信息进行尽可能地详细描述。
以满足用户对信息检索的快速响应需求为目标,对大量的非结构化数据的高效检索方法是本文研究的重点之一。对文档类型非结构化数据的快速检索的基本思想是,根据用户对天然气地质信息检索习惯,用户提交的检索往往均为名词或名词组,例如:含油气盆地、寒武系和低渗透等,因此,对文档中名词分类提取是检索实现的关键,根据每个词的统计,选取频次高的一系列词组作为文档的特征词向量。将文档的特征词向量与用户提交的检索词组进行匹配,以匹配中的特征词所指向的文档,作检索结果返回。
关于文档名词提取的实现方法,国内常用代表性工具有清华大学研制的HULAC包(https://github.com/thunlp/THULAC-Python)和北京理工大学的PyNLPIR分词系统(https://github.com/tsroten/pynlpir)。从软件易调用的角度,考虑到PyNLPIR是一整套对原始文本集处理和加工的软件,提供了中间件处理效果可视化展示。因此,研究过程选用了PyNLPIR中文分词系统。此次提出基于文档特征词抽取的非结构化数据检索方法流程如图2所示。
1)特征文档生成。对音频、视频和图像等非结构化数据进行关键信息描述,形成特征文档。
2)名词分词。对文档进行分词处理,提取文档中的名词向量,并统计每个名词在其文档中出现的频度。
3)特征向量提取。根据石油天然气领域科研常识或经验,枚举常用的地质名词列表。参照该名词列表,依据名词在其文档中出现频度自高向低排序,提取频度高的几个或多个名词构成文档特征词向量。
4)检索对象优化。兼顾到检索的有效性,根据用户提供的检索词,依据某些原则,选取在期望时间内可以完成对特征词向量匹配的文档集合,作为被检索对象。
5)检索结果排序。对于选定的被检索对象集合,将用户检索词依次与每个被检索对象进行匹配。对于匹配成功的多个文档,首先以用户提交的检索词匹配成功顺序对返回结果排序;对于同一词匹配成功多份文档的情况,根据历史用户对文档检索点击数量对返回结果进行排序。
6)非结构化数据输出。根据返回结果,判定特征向量所指向的非结构化数据类型。如果是文档数据,则直接返回;如果音频、视频或图片等数据,将再进一步根据特征文档的所指向,返回相应的音频、视频和图像等非结构化数据。
1.3 数据质量管理
如果将天然气地质信息共享平台的数据库视为一个汇集各信息系统综合数据的“数据湖”,那么平台的数据集成应用接口就是各信息系统通向“数据湖”的溪流。因此,对平台“数据湖”中的地质基础数据质量管理,是平台对数据的全生命周期管理的关键环节。从数据源入口集成、数据入库审批、数据使用到数据校对等环节进行严格的细粒度监控,以提高数据质量。面对异构或多源的数据集成现象,在集成应用之前,主要从管理与技术相结合的方式,采取了数据标准建设和可信数据源管理等两个策略实现平台的整体数据质量管理。
在数据标准建设方面,通过借鉴国家标准、行业标准、企业标准以及信息系统标准规范等文件,对平台的数据标准规范进行制定,对平台所涉及的各项数据进行定义与解释,以及数据质量及安全性要求进行统一定义,包含数据在业务层面的定义和数据在技术层面的定义等。在与各信息系统接口集成时,遵循数据标准中所规范的数据定义和语义解释等进行相应的数据入库,从而确保了数据库目录架构的准确性与一致性。在可信数据源管理方面,通过从信息系统集成情况,判别可信数据源是否有且只有唯一,若唯一,则直接确认;若有多个数据源头,以业务逻辑模型为输入信息,梳理出各个属性在信息系统的分布情况,然后借助专家经验从数据属性分布、业务管理流向以及IT系统的相关业务操作的时间戳等三个方面来综合分析与判断,辅助确定可信数据源。
2 数据挖掘应用方法集成
当前,人工智能在油气行业得到了深度应用,像基于人工神经网络、遗传算法和机器学习等为代表的各类数据挖掘算法在油气工程领域也出现了不同程度的应用创新[17-20]。由于地质条件自身的复杂性与构造差异性,相同数据挖掘算法应用于不同地质构造的数据集合时,其各个参数是不同的。例如地震反演遗传算法,分别应用于四川盆地地震数据、松辽盆地地震数据和柴达木盆地地震数据时,其杂交率和变异率等参数设置是不同的。因此,对于开发或者勘探地质人员来说,面对不同的综合地质数据对象,选择什么样的挖掘应用算法,以及所选择的算法参数如何选取一直是一个“被重视”并“被困扰”的问题。
2.1 数据挖掘方法程序及其参数管理
平台主要是从如下两个方面对数据挖掘算法及其参数应用进行集成应用:
1)应用编程语言将每个数据挖掘算法进行编程实现,并编译形成动态连接库文件,然后把动态连接库文件封装在一个执行文件中,使其拥有入口和出口,可独立运行完成算法流程运算。
2)根据对各个算法在实际应用的参数调整研究或者专家经验分析结果,对于各个算法用于不同构造时而进行参数调整,分别详细记录,形成算法参数“设置指南”,主要包括区块名称、计算的历史数据量、参数个数、参数类型和最佳参数设置等详细信息,为算法应用于不同区块或不同计算量数据而设置最优参数提供指导。数据挖掘算法程序块与其对应的参数“设置指南”进行统一的存储与管理。
2.2 数据挖掘方法库字典构建
通过构建方法库字典的方式对信息平台中应用算法进行应用管理。方法库字典主要包括算法类别、算法功能、适用范围、参数设置指南、算法程序调用入口和典型案例应用与展示等。从用户使用的角度,通过构建方法库字典对算法实现最优化调度管理,主要功能有如下三方面:
1)搭建方法库用户操作界面,丰富平台的基础服务功能。用户可以通过方法库字典对算法检索,对算法功能信息和案例应用等进行了解,为如何应用好相关算法提供帮助。
2)提供算法参数设置推荐,扩展平台的辅助决策功能。用户通过方法库字典检索到某种数据挖掘算法时,根据计算的数据对象属性,比如区块和地质年代等,可以依据参数设置指南的内容对算法的应用参数进行最优化设置,以确保数据挖掘算法的应用效果。
3)提供丰富的算法典型案例,建立方法库与数据库之间的共享应用桥梁。一方面,用户从数据库里选取一定量的数据集合后,通过与方法库中算法的典型案例的数据集比较,可以对所选取数据集的数量和质量进行初步评判,为数据体的质量提升提供辅助参照;另一方面,用户通过方法库字典的算法入口地址快速调用算法,将数据集合和数据挖掘算法结合起来进行计算,计算结果既可以以直观清晰方式在线展现,也可下载到本地存储,供决策者使用。此外,经过实践验证或者专家综合分析判定为算法计算结果为理想的算例,作为方法库中关于本算法的典型应用案例,为算法被后续调用提供参考。
3 平台功能设计与数据架构
3.1 主要应用功能
根据应用功能设计,平台划分为基础设施管理子系统、数据管理子系统、文档管理子系统、分析预警子系统、优化决策子系统、数据展示子系统、系统管理子系统和安全管理子系统等8个部分,功能架构如图3所示。
基础设施管理子系统采用私有云架构,为地质信息共享平台系统提供基础资源支撑。
数据管理子系统主要实现从目前国内现行的A1和A2等大型石油天然气数据库中进行接口式集成应用,为天然气地质信息共享平台提供数据源支撑。
文档管理子系统主要是构建天然气知识库,包括视频数据、音频数据、开发方案、产能建设、日常管理数据等,为数据分析预警、优化决策提供数据源支撑。
分析预警子系统实现综合数据查询、分类统计、压力和产量分析、效益分析和气田风险预警等,为管理决策人员、技术管理人员和基层技术人员提供综合分析。
优化决策子系统实现生产优化、智能决策、效益预测、前期评价、智能评价、动态分析等功能,为天然气业务管理决策人员提供综合分析参考。
数据展示子系统主要实现综合数据的单井展示、区块展示、气田展示、预警展示、产量态势预测等功能,实现数据动态的可视化应用。
系统管理和安全管理两个子系统分别对平台安全提供管理保障和技术保障。
3.2 平台实现的数据架构
根据数据在平台中的功能应用,平台实现的数据架构自下而上划分为六层,依次为:数据源、数据采集层、数据管理层、数据分析层,数据应用层及数据展示层,数据架构如图4所示。
1)数据源层主要为平台各种功能与服务运行提供数据资源,主要包括行业内的A1、A2、A4、A5等典型应用数据库。
2) 数据采集层主要按照本文1.1节的接口设计方式,实现平台数据采集,采集方式包括代理采集、数据推送和系统自动导入。代理采集方式应在各个天然气基础库服务器上部署采集代理,从资源层实时采集数据;而推送方式需要各个资源层的数据库向平台实时推送数据。
3)数据管理层是平台的核心层,主要分为生产运行数据库和知识文档库两个数据库对综合数据全面管理。对生产运行数据库存储从资源层采集的结构化数据,按照本文1.3节的数据质量管理方式,对数据进行质量校验后入库;知识文档数据库实现对非结构化数据存储、管理和分析。
4)数据分析层主要实现对生产运行库和知识文档库的综合应用分析,该层所采用的技术方法包括统计计算、查询处理、SQL分析、批处理及机器学习等。
5)数据应用层提供数据分析与预警服务,包括数据查询、分类统计、数据报表、动态分析、气田预警、前期评价、效益评价、智能决策等应用。
6)数据展示层为用户提供良好的人机交互界面,支持终端操作应用包括本地PC终端、智能手机终端和大屏终端等。
4 平台开发与应用实例
为了提高平台的代码开发效率,平台开发框架选用开源轻量级Java平台的SpringBoot技术,采用开箱即用和约定优于配置的策略,很好地解决了外部依赖jar包的版本冲突和引用不稳定等问题。平台的Web 应用程序的前端采用基于Bootstrap 的工具包开发,实现了表单、表格和网格系统等应用;采用AngularJS技术实现前端页面的应用开发。
平台安全管理作为在应用功能架构中重要基础模块之一,细分为用户认证、权限管理、存储安全管理和传输安全管理等四个主要功能。采用基于角色的访问控制权限管理,平台根据其所面向的用户不同而配置不同的访问权限。存储管理主要是依据加密算法对存储在数据库中的敏感数据进行加密,管理员无法直接从数据库查看数据,可保证敏感数据不被篡改或者恶意利用。
以苏里格气田东区的综合数据管理为例对平台进行应用测试,动态集成加载气田东区的综合地质数据、关键指标数据和历年产能非结构化报表等不同类别数据,实现对气田东区相关的基础数据表、重要的文档和图件的动态存储、共享检索和特征分析。对气田东区的综合数据查询所示(图5),储层岩性与物性关联分析(图6)。
根据储层、渗透率、孔隙度和有效厚度等参数设置,选用苏里格气田气井动态分类方法[21],将井划分为优质井、中等井和劣质井,分别标注为Ⅰ类井,Ⅱ类和Ⅲ类井。通过对三类不同井的历史产量数据,调用方法库中的Arps常规递减模型算法,实现了对不同类别井的产量趋势分析(图7)。
从A趋势曲线可以看出,投产初期,Ⅰ类井产量大,Ⅲ类井产量最低,Ⅱ类井居中。随着投产时间的延长,Ⅰ类井产量递减为产量最低,Ⅲ类井产量反而最高,Ⅱ类井产量居中,因为Ⅰ类井初期产量大,导致地层能量消耗快,因此中后期产量递减快;Ⅲ类井在整个生产过程中,产量递减速度缓慢;到生产后期阶段,Ⅰ类井,Ⅱ类和Ⅲ类井的产量均趋于平稳。可以看出,对不同类别井的产量数据综合分析,其变化趋势符合实际生产动态规律。
5 结论
1)从天然气地质数据应用管理角度,应用“云化”动态存储和共享集成应用,提出了当前各信息应用系统之间进行数据高效共享应用的技术方案。
2)平台建设不仅实现了天然气地质结构化数据的共享管理和非结构化数据的动态存储与搜索;同时也实现了天然气地质数据挖掘算法集成应用及其参数调优管理。
3)从软件工程角度,对天然气地质信息共享平台的应用功能进行详细设计,并对其采用Spring Boot技术进行软件实现。应用测试效果表明构建的天然气地质信息共享平台具有较好的推广应用前景。