一种用于钻完井现场同时集成WITS数据和WITSML数据的方法与流程

文档序号:11154929阅读:1608来源:国知局
一种用于钻完井现场同时集成WITS数据和WITSML数据的方法与制造工艺

本发明涉及石油行业钻完井现场数据信息集成技术,尤其是一种用于钻完井现场钻完井现场同时集成WITS数据和WITSML数据的方法。



背景技术:

钻完井现场数据实时集成是一种采用计算机技术将不同钻井服务商的数据进行实时采集、存储和传输的技术,解决井场数据无法远程无缝共享问题。

出于技术保密或其他商业原因,不同钻井服务商向第三方提供的数据格式一般都是不一致的,比如有的支持WITS(井场信息传输标准Wellsite Information Transfer Standard)格式数据,有的支持WITSML(井场信息传输标准标记语言Wellsite Information Transfer Standard Markup Languages)格式数据。国内一些主流软件只能集成WITS数据或者WITSML数据的其中一种类型数据,不能同时实现集成两种标准的数据,造成钻完井实时数据系统存在不同标准的数据格式,影响数据无缝流转的效率,甚至形成数据孤岛。通常情况下,钻完井现场都在偏远地区,基地与现场间的网络环境较差,支持不同格式的数据传输软件系统同时向基地大量的回传数据,会挤占网络带宽,造成网络拥堵,不便于高效利用卫星网络带宽,数据也会出现不同程度的延迟,无法为基地专家提供高效的实时数据支持。



技术实现要素:

本发明的目的是减少井场数据的流转环节,去除不同格式数据共享壁垒,提供了一种用于钻完井现场同时集成WITS数据和WITSML数据的方法,以统一的格式进行存储和传输,节约了网络带宽,提高了数据流转效率。

本发明提供的技术方案为:

一种用于钻完井现场同时集成WITS数据和WITSML数据的方法,包括:

步骤一、采用socket通讯或串口通讯方式,采集WITS数据源;采用SOAP协议以XML流的方式采集WITSML数据源;

步骤二、存储WITSML标准数据的表,按照WITSML标准的各种对象为主表,对象节点为字段,对象的子节点递归建立子表,以树形结构建立数据库表存储数据;WITSML中Log对象表每增加一个数据表名称字段,都对应WITS数据表名称,并且Log对象子节点表LogCurveinfo表增加一个对应本Log对象数据表的字段名称,使WITS和WITSML建立对应关系;

步骤三、将井场数据库中数据按照WITSML对象组织成WITSML数据流,以统一的WTISML标准格式将井场数据库的数据同步到基地服务器,并同时分享到各服务商和/或用户。

优选的是,步骤一中,WITS数据采集步骤包括:

采用socket或者串口通讯与数据源建立通讯连接;

获取会话采集的数据集A1;

读取到开始标志&&和结束标志!!界定数据范围;

将数据内容以回车换行<CR><LF>拆分为各数据项;

将各数据项拆分为标识符和值;

将数据组织完成后推送给数据存储层存入到数据库。

优选的是,步骤一中,WITSML数据采集步骤包括:

采用SOAP协议与WITSML数据源建立连接,通过数据源服务器认证;

获取有权限并需要传输的井W1和井眼WB1信息;

获取W1和WB1下所有Log对象列表信息,并选择需要获取的Log对象L1;

将W1、WB1和L1推送给数据存储层存入到数据库。

优选的是,步骤二中,数据存储的过程为:

a、检查数据库中有无公共数据库,没有公共数据库就创建公共数据库,建立井基本信息表以存储井数据库的库名称、井名称和井眼名称;

b、建立井数据库,存储WITS数据表结构,并且以WITS标准定义的表结构来定义;存储WITSML数据表结构,并且以WITSML标准定义的对象为主表,设置与WITS标准定义的表名相同的Log对象数据,并在Log对象数据表中增加一个WITS数据表名称的字段,存储WITS表名称,使其Log对象和WITS数据表建立关联;

c、接收来自采集层的数据。

优选的是,接收来自采集层的数据包括以下步骤:

如果是WITS数据,根据其字段标识和数据存储在相应的WITS数据表中;

当接收到WITS标准的测斜数据时,实时将测斜数据转换为Trajectory对象;

如果是WITSML对象数据,将对象中字段和节点名对应Well表中的字段,将对象的字段值和节点值存储到数据库中。

优选的是,步骤三中,将井场数据库的数据同步到基地服务器的步骤包括:

a、通讯模块建立与基地传输的通道,通过其认证;

b、将WITSML对象信息组织成XML文档,将XML文档以标准的ZIP模式压缩,DES加密后传输给基地服务接口;

当传输Log对象时,根据Log表中定义的数据表字段值确定对应的Log数据表,并以其子对象LogCurveinfo定义为标识字段查询数据表中的数据,以LogCuveinfo定义的顺序,以逗号分割组织成Logdata数据集,合并成Log对象的XML文档,实现统一对外传输WITSML接口向基地发送数据。

优选的是,步骤一中,采用如下公式对采集的数据进行滤波:

Y(k)=αX(k)+(1-α)Y(k-1)

其中,

X(k)为第k个采样周期的原始数据,Y(k)为滤波后第k个采样周期的数据,ω为采样频率,为原始数据平均值,n为原始数据数量。

本发明的有益效果是:本发明提供的用于钻完井现场同时集成WITS数据和WITSML数据的方法,为钻完井现场数据信息集成提供了一整套的数据采集、存储、传输方法,使数据在不同服务商和用户之间能形成无缝流转和共享。应用本发明可减少井场数据的流转环节,去除不同格式数据共享壁垒,提高井场数据流转效率,降低井场不同服务商之间的数据集成成本,最终实现钻完井井场数据共享,为钻井工程风险实时决策、勘探开发实时决策提供实时数据支撑。

附图说明

图1为本发明所述的用于钻完井现场同时集成WITS数据和WITSML数据的方法流程图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

如图1所示,本发明提供了一种用于钻完井现场同时集成WITS数据和WITSML数据的方法,以现有WITS标准和WITSML标准为依据,通过特定的数据集成算法和数据库结构,将两种不同标准的数据整合在一起,以统一的格式进行存储和传输,最终达到节约网络带宽,提高数据流转效率的目的。

钻完井现场数据集成分为数据采集,数据存储和数据传输三部分,本发明将从三个部分描述技术方案,具体如下:

步骤一S110、数据采集

数据采集的数据源分为WITS数据源和WITSML数据源,这两种数据源采用的数据标准和协议不同,我们将这两种数据分开来采集。WITS数据源采集采用socket通讯和串口通讯两种方式,WITSML数据源采用SOAP协议以XML流的方式进行数据采集。

a、WITS数据采集步骤:

采用socket或者串口通讯与数据源建立通讯连接;

获取会话采集的数据集A1;

读取到开始标志&&和结束标志!!界定数据范围;

将数据内容以回车换行<CR><LF>拆分为各数据项,如08133561.35;

将各数据项拆分为标识符和值,如0813标识符,表示WITS_8表的13通道,3561.35表示值;

将数据组织完成后推送给数据存储层存入到数据库。

b、WITSML数据采集步骤:

采用SOAP协议与WITSML数据源建立连接,通过数据源服务器认证;

获取有权限并需要传输的井(Well)W1和井眼(Wellbore)WB1(对象信息;

获取W1和WB1下所有Log对象列表信息,并选择需要获取的Log对象L1;

将W1、WB1和L1推送给数据存储层存入到数据库。

步骤二S120、数据存储

数据库分为公共数据库和井数据库,公共数据库存放所有井的基本信息,井数据库存放钻完井实时数据信息,每口井对应各自单独的井数据库。井数据库中存储WITS标准数据的表按照WITS标准定义的结构来建立,增加格林尼治时间标签字段,并预留多个备用字段进行系统扩展。存储WITSML标准数据的表按照WITSML标准的各种对象为主表,对象节点为字段,对象的子节点递归建立子表,以树形结构建立数据库表存储数据。WITSML中Log对象表增加一个数据表名称字段,对应WITS数据表名称,Log对象子节点表LogCurveinfo表增加一个对应本Log对象数据表的字段名称,使WITS和WITSML建立对应关系。

a、检查数据库中有无公共数据库,没有公共数据库就创建公共数据库,建立井基本信息表以存储井数据库的库名称,井名称,井眼名称等配置信息。

b、建立井数据库,存储WITS数据表结构以WITS标准定义的表结构来定义,比如WITS_8标准(见附录b)中定义的是ShortMnemonic来作为字段名,字段类型为标准定义的类型,并增加15个备用字段作为系统扩展使用。存储WITSML数据表结构以WITSML标准定义的对象为主表,比如附录Well井W1,Well为表名,对象中的字段和节点名为Well表中的字段,如uid,name等,字段类型为Well对象定义的字段类型,当有多级别字节点时创建子表,比如其中的Welllocation节点,则创建Welllocation表,并增加父对象名称字段和父对象的标识字段建立它们的主从关联。系统内置与WITS标准定义的表名相同的Log对象数据,并在Log对象数据表中增加一个WITS数据表名称的字段,存储WITS表名称,使其Log对象和WITS数据表建立关联。Log对象子节点表LogCurveinfo表增加一个对应本Log对象对应数据表的字段名称,使WITS和WITSMLLog对象参数建立对应关系。

c、接收来自采集层的数据:

如果是WITS数据,根据其字段标识和数据存储在相应的WITS数据表中。深度基准表无效数据校验方法:如果其深度小于深度基准表的深度数据,则属于无效数据,将这些数据写入日志文件,不写入数据库。气测表无效数据校验方法:如果其深度大于深度基准表的深度数据,则属于无效数据,将这些数据写入日志文件,不写入数据库。WITS表增加特定格林尼治时间字段,存储时间标识的格林尼治时间格式为年(4位)月(2位)日(2位)+当天秒数(5位),总共位数为13位,例如2016年1月1日0点0分0秒表示为2016010100000;

当接收到WITS标准的测斜数据时,根据其配置参数,实时将测斜数据转换为Trajectory对象;

如果是WITSML对象数据如附录W1,将对象中字段和节点名对应Well表中的字段,将对象的字段值和节点值存储到数据库中;

接收Log对象时首先按照Log对象定义的标识为数据表名,定义的曲线集的标识名为字段名,浮点为数据类型建立Log对象数据表。解析Log对象到数据集Logdata时将每个data数据按照逗号分割,按照定义的曲线顺序,存储到Log对象数据表中。

步骤三S130、数据传输

将井数据库中数据按照WITSML对象组织成WITSML数据流,以统一的WTISML标准格式将井场数据库的数据无缝同步到基地服务器,并可同时分享到各服务商和用户。

a、通讯模块建立与基地传输的通道,通过其认证。

b、选择需要传输的WITSML对象信息。

c、将WITSML对象信息组织成XML文档,比如Well对象,按照标准定义的格式信息组织数据,将井数据库中Well表中的字段和Well对象的字段和节点名对应,得到Well对象的值信息,填充到Well对象中,形成Well对象XML文档,将XML文档以标准的ZIP模式压缩,DES加密后传输给基地服务接口。当传输Log对象时,根据Log表中定义的数据表字段值确定对应的Log数据表,并以其子对象LogCurveinfo定义的曲线参数数据字段为标识字段查询数据表中的数据,以LogCuveinfo定义的顺序,以逗号分割组织成Logdata数据集,合并成Log对象的XML文档,实现统一对外传输WITSML接口向基地发送数据。

本发明为钻完井现场数据信息集成提供了一整套的数据采集、存储、传输方法,使数据在不同服务商和用户之间能形成无缝流转和共享。应用本发明可减少井场数据的流转环节,去除不同格式数据共享壁垒,提高井场数据流转效率,降低井场不同服务商之间的数据集成成本,最终实现钻完井井场数据共享,为钻井工程风险实时决策、勘探开发实时决策提供实时数据支撑。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1