璇玑系统实时监控与预警软件设计及实现

2024-03-25 03:27侯晓东卢华涛
现代制造技术与装备 2024年1期
关键词:璇玑数据项数据源

侯晓东 卢华涛 关 婧 尹 博

(中海油田服务股份有限公司,三河 065201)

在璇玑系统作业过程中,作业工程师不但要根据井下上传的信息实时判断底部钻具组合工作是否正常[1-2],还要通过测量结果判断井眼轨迹控制是否合理,并识别和预警井下可能发生的风险。为此,需要开发一套实时监控与预警软件,配合璇玑地面软件IDEAS 系统,高效、灵活地完成对井下数据的实时监控、分析和预警[3]。

1 应用场景需求分析

在璇玑系统作业过程中,不同的作业场景有着不同的监控需求。而且不同应用场景下的数据类型不同,对数据的预警也各有差异。主要的应用场景有3 种。

第一,璇玑系统在钻井现场作业过程中,现场随钻、定向工程师需要实时监控和分析地面传感器数据、泥浆脉冲实时解码数据[4],从而及时掌握井下仪器工作状态、钻井工程参数、测斜数据、测井数据等的变化,提高钻井效率,并预警风险。

第二,现场作业数据通过传输系统从井场实时传输到云端数据库后,远程专家支持中心的作业支持专家需要查看和回放数据,从而实时做出决策,指导现场作业。

第三,在车间维保过程中,维保工程师需要实时监控仪器吊零、刻度、长时间测试等过程,当出现异常情况时,应按照预设的程序进行操作[5]。

基于上述需求,实时监控与预警软件的开发目标如下。第一,支持多数据源。软件需要支持璇玑现场作业数据采集系统IDEAS 作业数据、璇玑作业支持系统的云端数据、璇玑专用文件系统数据等。第二,支持多种数据类型和展现方式。第三,支持软件模块扩展。针对不同的数据应用,支持扩展开发不同的应用模块。

2 系统架构设计

图1 为系统架构,从上到下分为4 层,分别是数据源适配层、数据存储层、基础设施层、数据可视化层。

图1 系统架构设计

数据源适配层主要解决因不同应用场景的数据源异构而产生的数据结构不统一、调用方式多样化的问题。根据数据监控业务的需求,将IDEAS 边端数据源、IDEAS 云端数据源、CDX 文件等抽象为通用的数据接口,上层应用只需调用通用数据接口就能完成数据的访问。不同数据源通过各自的适配动态链接库,完成从异构数据到通用数据的转换,实现软件对多数据源的支持,增加了软件的可扩展性。

数据存储层用于缓存大量数据,并支持数据持久化存储到本软件的指定缓冲文件中,以解决调用同一数据时反复访问远程数据源的问题,在加载大量历史数据时提高数据访问的效率。

基础设置层为数据可视化提供基础的功能模块,包括工程管理、动态插件管理、单位转换、报告生成组件等,同时针对数据提取、数据可视化、数据分析、特定的业务逻辑等进行标准化和封装,从而将业务和数据可视化进行解耦合,以降低软件开发和维护的复杂性。

数据可视化层通过动态插件的方式完成数据显示,通过配置通用接口提供的数据类型,从缓冲区中获取数据,并根据数据的特点进行定制化显示。数据可视化插件可以灵活绑定数据源,自由选择数据的展现方式[6-8]。用户在后期可以基于新的数据类型,快速开发可视化插件,并挂接到系统中。

3 关键模块设计与实现

3.1 多数据源数据访问

为了解决多数据源的挂接问题,首先需要分析多源异构的数据对象的业务特征,抽象出统一的业务数据模型。本软件定义了IDataSource 统一数据源接口规范和一系列业务数据对象类型,包括井、作业、仪器、曲线等,它们构成了璇玑作业业务数据的数据源体系。基于IDataSource 接口和机制可以实现多种数据源对象访问,即支持用户访问多种不同类型的数据源数据,如基于IDEAS 数据库的IDEAS 数据源、基于CDX 文件的CDX 数据源等。

以IDEAS 数据源为例,其类架构如图2 所示。图2 中数据源工厂是用于创建数据源对象的接口规范,IDEAS 数据源工厂按照该规范创建了IDEAS 数据源对象的工厂类,通过其可动态创建IDEAS 数据源对象实例。IDEAS 数据源对象按数据源接口规范实现了对IDEAS 数据库各数据对象的访问,包括对井、作业、仪器、曲线等对象的元数据获取、修改和对曲线数据的存取、访问。插件模块是数据源插件接口规范,应用层通过数据源插件的方式管理数据源和调用数据,实现软件和数据源的解耦合。

图2 IDEAS 数据源类架构

3.2 数据实时同步机制

为了提高软件对应用场景和业务需求变化的适应性,设计了数据项、数据生产者、数据消费者等对象的接口规范和体系架构。实时监控与预警软件可以有多个数据生产者,数据提供者负责组织管理多个数据项,并为数据消费者提供数据来源。每个数据项都有数据缓冲对象和数据读取对象。其中,数据缓冲对象用于支持数据项内容的缓冲保存,数据读取对象用于从工作井数据中读取当前数据,形成数据缓冲区值序列。数据项-数据生产者-数据消费者机制为可定制的数据应用对象提供架构支持。

数据实时同步机制工作流程如下。应用程序主界面启动时调用井工作数据对象的StartSync 方法,启动数据同步下载线程。该线程调用各当前井的专业数据同步检测和下载方法,通过这些方法检查本地缓冲数据与数据源对应数据是否有差异。如果有差异,则需要采集、下载这些数据,并调用各数据生产者对象的onDataChange 方法。onDataChange 方法遍历各注册的数据消费者,并调用其Update 方法,完成数据计算或显示。将数据相关方抽象为数据生产者和数据消费者两种角色接口进行组织管理,每个角色可关联多个输入或输出数据项,实现数据动态配置,显著提升系统的适用性和可扩展性。

3.3 数据分析与预警

数据分析和预警指分析数据源中的数据,产生数据结果为用户提供预警的机制。分析方法与应用场景有关,需要用户自定义以适应未来的业务扩充。本软件设计了以数据分析器IDataAnalyzer 为核心的数据分析框架,并实现了配套的数据分析基础设施,在数据项-数据生产者-数据消费者机制配合下,可以实现各种可能的数据分析和预警功能。数据分析类设计,如图3 所示。

图3 数据分析类设计

数据分析器对象实现了数据消费者接口,从系统中获取数据项,并按照数据分析的方法进行分析处理,同时也实现了数据生产者接口,将计算输出的成果数据输出给其他数据消费者。系统在实时数据到达时会调用各个数据分析器的数据处理方法。该方法可以生成若干输入数据项,也可以按预定的逻辑执行一定的处理。预警控件可以将数据分析器的输出成果作为预警指标数据,实现自动可视化预报警功能。

IData Analysis Manager 负责数据分析器工厂对象及数据分析器模板对象的加载、管理。系统调用数据分析器工厂对象创建具体的数据分析器对象,并通过数据分析配置和数据分析模板配置数据分析器对象。通过数据分析器机制,可以快速开发自定义数据分析器。

4 软件应用

实时监控与预警软件已经成功应用于璇玑系统作业中,整合了现场数据采集系统IDEAS、璇玑云数据库、数据交换文件等多种数据源。该软件操作方便,可根据不同的作业场景定制不同的布局模板和主题灵活配置数据的显示内容和方式,实现实时监控和分析预警、数据回放和快速定位,可满足多场景、多业务、多数据的璇玑作业需求。在作业过程中,软件运行稳定,以数字表盘、大容量表格、靶盘、指示灯、测井图等多种方式监控作业数据,直观展示钻井工况数据、定向参数数据、测井曲线数据、旋转导向姿态数据等数据,并通过预定义的分析规则多次预警可能出现的问题,保证作业安全、高效进行。

5 结语

文章提出了一种基于璇玑系统的实时监控与预警软件的设计方案,实现了多数据源挂接、高效数据实时同步功能,支持自定义数据分析与预警以及高度定制交互界面,为璇玑系统的现场作业、车间维保测试、远程技术支持等场景提供了一种直观、高效、安全的数据浏览方式,满足井下钻井安全、井眼轨迹控制和仪器工作状态的监控预警要求。该软件的设计方案可为多场景、多业务、多数据的相关监控预警软件的开发提供参考。

猜你喜欢
璇玑数据项数据源
一种多功能抽签选择器软件系统设计与实现
非完整数据库Skyline-join查询*
基于Python的Asterix Cat 021数据格式解析分析与实现
Worksheet: Clothes&Weather
Web 大数据系统数据源选择*
Actions-progressive Crossword 延续性动词填一填
Worksheet (I) 学习清单 (I)
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
晋代“璇玑图”织锦的探索和研制