用以最大化钻井钻速的控制变量确定

申请号 CN201480042430.8 申请日 2014-09-19 公开(公告)号 CN105473812B 公开(公告)日 2017-07-28
申请人 萨思学会有限公司; 发明人 莫里·莱恩; 戴维·波普; 基思·R·霍尔达威; 詹姆斯·杜阿尔特;
摘要 本 发明 提供一种确定用于钻井操作的控制的最优值的方法。接收来自钻井操作的钻井数据。所述钻井数据包含针对所述钻井操作期间的多个钻井控制变量中的每一者测量的多个值。使用所述经接收钻井数据确定目标函数模型。所述目标函数模型最大化所述钻井操作的钻速。接收包含用于不同钻井操作的当前钻井数据值的经测量钻井数据。通过以包含用于所述不同钻井操作的所述当前钻井数据值的所述经测量钻井数据作为输入执行所述经确定目标函数模型来确定用于所述不同钻井操作的控制的最优值。输出所述经确定最优值用于所述不同钻井操作的所述控制。
权利要求

1.一种其上存储计算机可读指令的非暂时性计算机可读媒体,所述计算机可读指令在由计算装置执行时使所述计算装置:
接收来自先前钻井操作的历史钻井数据,其中所述历史钻井数据包含针对所述先前钻井操作期间的多个钻井控制变量中的每一者测量的多个值;
使用所述经接收历史钻井数据及神经网络模型确定目标函数模型,其中所述目标函数模型最大化用于所述先前钻井操作的钻速;
接收包含用于不同钻井操作的当前钻井数据值的经测量钻井数据,其中所述不同钻井操作意指所述不同钻井操作的井眼不同于所述先前钻井操作的井眼;
通过以包含用于所述不同钻井操作的所述当前钻井数据值的所述经测量钻井数据作为输入执行所述经确定目标函数模型来确定用于所述不同钻井操作的控制的最优值;
输出所述经确定最优值用于所述不同钻井操作的所述控制;
接收额外钻井数据,其中所述额外钻井数据包含针对所述多个钻井控制变量中的每一者测量的第二多个值,其中所述额外钻井数据是在输出所述经确定最优值用于所述不同钻井操作的所述控制之后而测量;
使用所述经接收额外钻井数据确定第二目标函数模型,其中所述第二目标函数模型最大化所述先前钻井操作的钻速;
接收包含用于所述不同钻井操作的第二当前钻井数据值的第二经测量钻井数据;
通过以包含用于所述不同钻井操作的所述第二当前钻井数据值的所述第二经测量钻井数据作为输入执行所述经确定第二目标函数模型来确定用于所述不同钻井操作的所述控制的第二最优值;及
输出所述经确定第二最优值用于所述不同钻井操作的所述控制。
2.根据权利要求1所述的非暂时性计算机可读媒体,其中所述目标函数模型是通过评估多种神经网络模型配置来确定。
3.根据权利要求1所述的非暂时性计算机可读媒体,其中确定所述目标函数模型包括:
定义训练数据集作为所述经接收历史钻井数据的第一部分;
定义验证数据集作为所述经接收历史钻井数据的第二部分;
定义第一神经网络模型配置;
使用所述经定义训练数据集基于所述经定义第一神经网络模型配置来训练第一神经网络模型;
以所述经定义验证数据集作为所述经训练第一神经网络模型的输入来预测模型输出数据;
比较所述经预测模型输出数据与所述验证数据集的输出数据;及
基于比较所述经预测模型输出数据与所述验证数据集的输出数据来确定所述经训练第一神经网络模型的第一有效分数。
4.根据权利要求1所述的非暂时性计算机可读媒体,其中预测模型是使用所述经接收历史钻井数据来确定,其中所述预测模型预测被输入到所述经确定目标函数模型的控制变量的值。
5.根据权利要求1所述的非暂时性计算机可读媒体,其中所述目标函数模型进一步最小化用于所述先前钻井操作的机械比能。
6.根据权利要求1所述的非暂时性计算机可读媒体,其中所述目标函数模型进一步优化所述先前钻井操作的所述井眼稳定性
7.根据权利要求1所述的非暂时性计算机可读媒体,其中所述经确定最优值被输出到显示装置。
8.根据权利要求1所述的非暂时性计算机可读媒体,其中所述经确定最优值被输出到与调整所述控制的设置点相关联的控制装置。
9.根据权利要求3所述的非暂时性计算机可读媒体,其中确定所述目标函数模型进一步包括:
定义第二神经网络模型配置;
使用所述经定义训练数据集基于所述经定义第二神经网络模型配置来训练第二神经网络模型;
以所述经定义验证数据集作为所述经训练第二神经网络模型的输入来预测第二模型输出数据;
比较所述经预测第二模型输出数据与所述验证数据集的所述输出数据;及基于比较所述经预测第二模型输出数据与所述验证数据集的所述输出数据来确定所述经训练第二神经网络模型的第二有效分数。
10.根据权利要求4所述的非暂时性计算机可读媒体,其中所述计算机可读指令进一步使所述计算装置确定被输入到所述经确定目标函数模型的所述控制变量的当前预测值,其中所述经确定目标函数模型是进一步以所述当前预测值作为输入来执行。
11.根据权利要求4所述的非暂时性计算机可读媒体,其中使用决策树模型确定所述预测模型。
12.根据权利要求5所述的非暂时性计算机可读媒体,其中所述目标函数模型进一步优化用于所述先前钻井操作的所述井眼稳定性。
13.根据权利要求9所述的非暂时性计算机可读媒体,其中所述目标函数模型基于所述经确定第一有效分数与所述经确定第二有效分数之间的比较而被确定为所述经训练第一神经网络模型或所述经训练第二神经网络模型。
14.一种计算装置,其包括:
处理器;及
可操作地耦合到所述处理器的非暂时性计算机可读媒体,所述计算机可读媒体上面存储计算机可读指令,所述计算机可读指令在由所述处理器执行时使所述计算装置接收来自先前钻井操作的历史钻井数据,其中所述历史钻井数据包含针对所述先前钻井操作期间的多个钻井控制变量中的每一者测量的多个值;
使用所述经接收历史钻井数据及神经网络模型确定目标函数模型,其中所述目标函数模型最大化所述先前钻井操作的钻速;
接收包含用于不同钻井操作的当前钻井数据值的经测量钻井数据;
通过以包含用于所述不同钻井操作的所述当前钻井数据值的所述经测量钻井数据作为输入执行所述经确定目标函数模型来确定用于所述不同钻井操作的控制的最优值;
输出所述经确定最优值用于所述不同钻井操作的所述控制;
接收额外钻井数据,其中所述额外钻井数据包含针对所述多个钻井控制变量中的每一者测量的第二多个值,其中所述额外钻井数据是在输出所述经确定最优值用于所述不同钻井操作的所述控制之后而测量;
使用所述经接收额外钻井数据确定第二目标函数模型,其中所述第二目标函数模型最大化所述先前钻井操作的钻速;
接收包含用于所述不同钻井操作的第二当前钻井数据值的第二经测量钻井数据;
通过以包含用于所述不同钻井操作的所述第二当前钻井数据值的所述第二经测量钻井数据作为输入执行所述经确定第二目标函数模型来确定用于所述不同钻井操作的所述控制的第二最优值;及
输出所述经确定第二最优值用于所述不同钻井操作的所述控制。
15.根据权利要求14所述的计算装置,其中预测模型是使用所述经接收历史钻井数据来确定,其中所述预测模型预测被输入到所述经确定目标函数模型的控制变量的值。
16.根据权利要求14所述的计算装置,其中所述目标函数模型进一步最小化用于所述先前钻井操作的机械比能。
17.根据权利要求16所述的计算装置,其中所述目标函数模型进一步优化所述先前钻井操作的所述井眼稳定性。
18.根据权利要求15所述的计算装置,其中所述计算机可读指令进一步使所述计算装置确定被输入到所述经确定目标函数模型的所述控制变量的当前预测值,其中所述经确定目标函数模型是进一步以所述当前预测值作为输入来执行。
19.根据权利要求18所述的计算装置,其中使用决策树模型确定所述预测模型。
20.一种确定用于钻井操作的控制的最优值的方法,所述方法包括:
接收来自先前钻井操作的历史钻井数据,其中所述历史钻井数据包含针对所述先前钻井操作期间的多个钻井控制变量中的每一者测量的多个值;
由计算装置使用所述经接收历史钻井数据及神经网络模型确定目标函数模型,其中所述目标函数模型最大化所述先前钻井操作的钻速;
接收包含用于不同钻井操作的当前钻井数据值的经测量钻井数据;
由所述计算装置通过以包含用于所述不同钻井操作的所述当前钻井数据值的所述经测量钻井数据作为输入执行所述经确定目标函数模型来确定用于所述不同钻井操作的控制的最优值;及
由所述计算装置输出所述经确定最优值用于所述不同钻井操作的所述控制;
接收额外钻井数据,其中所述额外钻井数据包含针对所述多个钻井控制变量中的每一者测量的第二多个值,其中所述额外钻井数据是在输出所述经确定最优值用于所述不同钻井操作的所述控制之后而测量;
由所述计算装置使用所述经接收额外钻井数据确定第二目标函数模型,其中所述第二目标函数模型最大化所述先前钻井操作的钻速;
接收包含用于所述不同钻井操作的第二当前钻井数据值的第二经测量钻井数据;
由所述计算装置通过以包含用于所述不同钻井操作的所述第二当前钻井数据值的所述第二经测量钻井数据作为输入执行所述经确定第二目标函数模型来确定用于所述不同钻井操作的所述控制的第二最优值;及
由所述计算装置输出所述经确定第二最优值用于所述不同钻井操作的所述控制。
21.根据权利要求20所述的方法,其中使用所述经接收历史钻井数据确定预测模型,其中所述预测模型预测被输入到所述经确定目标函数模型的控制变量的值。
22.根据权利要求20所述的方法,其中所述目标函数模型进一步最小化用于所述先前钻井操作的机械比能。
23.根据权利要求21所述的方法,其中所述计算机可读指令进一步使所述计算装置确定被输入到所述经确定目标函数模型的所述控制变量的当前预测值,其中所述经确定目标函数模型是进一步以所述当前预测值作为输入来执行。
24.根据权利要求21所述的方法,其中使用决策树模型确定所述预测模型。
25.根据权利要求22所述的方法,其中所述目标函数模型进一步优化所述先前钻井操作的所述井眼稳定性。

说明书全文

用以最大化钻井钻速的控制变量确定

[0001] 相关申请案的交叉参考
[0002] 本申请案是2014年9月18日申请的第14/490,189号美国专利申请案的接续案,所述申请案的全部内容特此以引用方式并入。本申请案进一步根据35U.S.C.§119(e)主张2013年9月19日申请的第61/879,933号美国临时专利申请案的权益,所述申请案的全部内容特此以引用方式并入。

背景技术

[0003] 用于各种环境(陆地、地、海床、深海海床等等)中的各种工业(天然气、油、建筑、电信、电气等等)的所有类型及大小的钻孔可为复杂、昂贵且危险的过程。发明内容
[0004] 在实例实施例中,提供一种确定用于钻井操作的控制的最优值的方法。接收来自先前钻井操作的历史钻井数据。所述历史钻井数据包含针对所述先前钻井操作期间的多个钻井控制变量中的每一者测量的多个值。使用经接收历史钻井数据及神经网络模型确定目标函数模型。所述目标函数模型最大化用于所述先前钻井操作的钻速。接收包含用于不同钻井操作的当前钻井数据值的经测量钻井数据。不同的钻井操作意指不同的钻井操作的井眼不同于先前钻井操作的井眼。通过以包含用于所述不同钻井操作的所述当前钻井数据值的所述经测量钻井数据作为输入执行经确定目标函数模型来确定用于所述不同钻井操作的控制的最优值。输出经确定最优值用于所述不同钻井操作的所述控制。接收额外钻井数据,所述额外钻井数据包含针对所述多个钻井控制变量中的每一者测量的第二多个值。所述额外钻井数据是在输出所述经确定最优值用于所述不同钻井操作的所述控制之后而测量。使用经接收额外钻井数据确定第二目标函数模型。所述第二目标函数模型最大化所述先前钻井操作的钻速。接收包含用于所述不同钻井操作的第二当前钻井数据值的第二经测量钻井数据。通过以包含用于所述不同钻井操作的所述第二当前钻井数据值的所述第二经测量钻井数据作为输入执行所述经确定第二目标函数模型来确定用于所述不同钻井操作的所述控制的第二最优值。输出经确定第二最优值用于所述不同钻井操作的所述控制。
[0005] 在另一实例实施例中,提供一种其上存储计算机可读指令的计算机可读媒体,所述计算机可读指令在由计算装置执行时使所述计算装置执行确定用于钻井操作的控制的最优值的方法。
[0006] 在又另一实例实施例中,提供一种计算装置。所述计算装置包含但不限于处理器及操作地耦合到所述处理器的计算机可读媒体。所述计算机可读媒体上面具有指令,所述指令在由计算装置执行时使所述计算装置执行确定用于钻井操作的控制的最优值的方法。
[0007] 此类及其它实施例可任选地包含以下特征中的一或多者。所述目标函数模型可通过评估多种神经网络模型配置来确定。用于确定所述目标函数模型的所述指令可包含:定义训练数据集作为所述经接收历史钻井数据的第一部分;定义验证数据集作为所述经接收历史钻井数据的第二部分;定义第一神经网络模型配置;使用经定义训练数据集基于经定义第一神经网络模型配置来训练第一神经网络模型;以经定义验证数据集作为经训练第一神经网络模型的输入来预测模型输出数据;比较经预测模型输出数据与所述验证数据集的输出数据;及基于比较所述经预测模型输出数据与所述验证数据集的输出数据来确定所述经训练第一神经网络模型的第一有效分数。用于确定所述目标函数模型的所述指令还可包含:定义第二神经网络模型配置;使用所述经定义训练数据集基于经定义第二神经网络模型配置来训练第二神经网络模型;以所述经定义验证数据集作为经训练第二神经网络模型的输入来预测模型输出数据;比较经预测第二模型输出数据与所述验证数据集的所述输出数据;及基于比较所述经预测第二模型输出数据与所述验证数据集的所述输出数据来确定所述经训练第二神经网络模型的第二有效分数。所述目标函数模型可基于经确定第一有效分数与经确定第二有效分数之间的比较而被确定为所述经训练第一神经网络模型或所述经训练第二神经网络模型。可使用所述经接收历史钻井数据确定预测模型,所述预测模型可预测被输入到所述经确定目标函数模型的控制变量的值。所述计算机可读指令还可使所述计算装置确定被输入到所述经确定目标函数模型的所述控制变量的当前预测值,所述经确定目标函数模型可进一步以所述当前预测值作为输入来执行。可使用决策树模型确定所述预测模型。所述经接收额外钻井数据可包含针对所述不同钻井操作期间的所述多个钻井控制变量中的每一者测量的第二多个值。所述目标函数模型还可最小化用于所述先前钻井操作的机械比能。所述目标函数模型还可优化所述先前钻井操作的井眼稳定性。所述目标函数模型还可优化所述先前钻井操作的所述井眼稳定性。所述经确定最优值可被输出到显示装置。所述经确定最优值可被输出到与调整所述控制的设置点相关联的控制装置。所述计算装置可物理地位于钻机上。在其它实施例中,所述计算装置可物理地远离所述钻机。
[0008] 在阅读以下附图、详述及随附权利要求书之后,所属领域技术人员将明白所揭示主题的其它主要特征。

附图说明

[0009] 下文将参考附图描述所揭示主题的说明性实施例,其中相似数字标示相同元件。
[0010] 图1描绘根据说明性实施例的钻井数据搜集系统的方框图
[0011] 图2描绘根据说明性实施例的模型定义装置的方框图。
[0012] 图3描绘说明根据说明性实施例的由图2的模型定义装置执行的操作的实例的流程图
[0013] 图4描绘根据说明性实施例的优化装置的另一方框图。
[0014] 图5描绘根据说明性实施例的说明由图4的优化装置执行的操作的实例的流程图。
[0015] 图6描绘根据说明性实施例的关于钻井操作期间的钻速的计算。
[0016] 图7描绘根据说明性实施例的分布式处理系统的方框图。
[0017] 图8描绘根据说明性实施例的图7的分布式处理系统的事件流处理(ESP)装置的方框图。
[0018] 图9描绘说明根据说明性实施例的由图8的ESP装置执行的操作的实例的流程图。

具体实施方式

[0019] 参考图1,示出根据说明性实施例的钻井数据搜集系统100的方框图。钻井数据搜集系统100可包含多个钻机101、网络110及数据仓库112。较少、不同及/或额外组件可被并入到钻井数据搜集系统100中。为了说明,多个钻机101可包含第一钻机102、第二钻机104、第三钻机106、第四钻机108。多个钻机101可包含任何数目的钻机。多个钻机101中的某个钻机可为活动或不活动的。多个钻机101可经配置以钻出各种环境(例如,陆地、冰地、海床、深海海床等等)中的各种工业(例如,水、天然气、油、建筑、电信、电气等等)的任何类型及大小的孔。多个钻机101可局部、区域性或全局分布。
[0020] 网络110可包含相同或不同类型的一或多种网络。网络110可为有线及/或无线公共或专用网络的任何类型或组合,包含蜂窝网络、局域网、广域网,例如因特网等等。网络110进一步可包括子网络且由任何数目的装置组成。多个钻机101通过网络110将通信发送到数据仓库112。多个钻机101可使用如所属领域技术人员了解的可为有线及/或无线的各种发射媒体进行通信。
[0021] 数据仓库112存储来自多个钻机101的钻井数据,其包含针对钻孔或钻井操作期间的多个钻井控制变量(用于预测模型化的相依或目标变量)中的每一者测量的多个值。所述多个值可经测量用于某个时段内的多个时刻的多个钻井控制变量中的每一者。例如,所述多个值可经测量用于长达一年的时段内每小时的多个钻井控制变量中的每一者,但是也可使用其它时段长度及测量间隔。
[0022] 参考图2,示出根据说明性实施例的模型定义装置200的方框图。模型定义装置200可位于多个钻机101中的某个钻机上或远离多个钻机101。模型定义装置200可包含输入接口202、输出接口204、通信接口206、计算机可读媒体208、处理器210、模型定义应用程序222、数据仓库112、目标函数模型224及预测模型225。较少、不同及/或额外组件可被并入模型定义装置200中。
[0023] 如所属领域技术人员了解,输入接口202提供接口用于从用户接收信息以输入到模型定义装置200中。输入接口202可与各种输入技术(包含但不限于键盘212、鼠标214、麦克215、显示器216、轨迹球、小键盘、一或多个按钮等等)介接,以允许用户将信息输入到模型定义装置200中或作出用户接口中呈现的显示在显示器上的选择。相同接口可支持输入接口202及输出接口204两者。例如,包括触屏的显示器216提供用户输入且将输出呈现于用户。模型定义装置200可具有使用相同或不同输入接口技术的一或多个输入接口。输入接口技术进一步可由模型定义装置200通过通信接口206存取。
[0024] 输出接口204提供接口用于输出信息以供模型定义装置200的用户审阅及/或另一应用程序使用。例如,输出接口204可与各种输出技术介接,所述各种输出技术包含但不限于显示器216、扬声器218、打印机220等等。模型定义装置200可具有使用相同或不同输出接口技术的一或多个输出接口。输出接口技术进一步可由模型定义装置200通过通信接口206存取。
[0025] 如所属领域技术人员了解,通信接口206提供接口用于使用各种协议、发射技术及媒体在装置之间接收及发射数据。通信接口206可使用可为有线及/或无线的各种发射媒体支持通信。模型定义装置200可具有使用相同或不同的通信接口技术的一或多个通信接口。例如,模型定义装置200可使用以太网端口、蓝牙天线、电话插孔、USB端口等等支持通信。数据及消息可使用通信接口206在模型定义装置200及/或分布式系统232、一或多个钻井操作传感器226及/或多个钻机101的一或多个钻井操作控制参数228之间传输。
[0026] 如所属领域技术人员了解,计算机可读媒体208是用于信息的电子存放点或存储装置,因此信息可由处理器210存取。计算机可读媒体208可包含但不限于任何类型的随机存取存储器(RAM)、任何类型的只读存储器(ROM)、任何类型的快闪存储器等等,例如磁性存储装置(例如,硬盘软盘、磁带、……)、光盘(例如,压缩光盘(CD)、数字通用光盘(DVD)、……)、智能卡、快闪存储器装置等等。模型定义装置200可具有使用相同或不同存储器媒体技术的一或多个计算机可读媒体。例如,如所属领域技术人员了解,计算机可读媒体208可包含可经分层组织以提供对其中存储的数据的有效存取的不同类型的计算机可读媒体。作为实例,高速缓冲存储器可被实施于更小、更快的存储器中,所述更小、更快的存储器存储来自最频繁/最近存取的主存储器位置的数据的副本以减小存取延时。模型定义装置
200还可具有支持存储器媒体(例如CD、DVD、外置硬盘驱动器等等)的加载的一或多个驱动器。一或多个外置硬盘驱动器进一步可使用通信接口206连接到模型定义装置200。
[0027] 处理器210如所属领域技术人员了解般执行指令。所述指令可由专用计算机、逻辑电路硬件电路实行。处理器210可在硬件及/或固件中实施。处理器210执行指令,意指其执行/控制所述指令需要的操作。术语“执行”是运行指令需要的应用程序或实行指令需要的操作的过程。指令可使用一或多种编程语言、脚本语言、汇编语言等等写成。处理器210可操作地与输入接口202、输出接口204、通信接口206及计算机可读媒体208耦合以接收、发送及处理信息。处理器210可从永久存储器装置检索指令集且以可执行形式将指令复制到通常呈某种形式的RAM的暂时存储器装置。模型定义装置200可包含使用相同或不同处理技术的多个处理器。
[0028] 模型定义应用程序222执行从存储在数据仓库112中的数据定义用于一或多个钻井操作的目标函数模型224及/或预测模型225相关联的操作。本文中描述的一些或所有操作可被体现在模型定义应用程序222中。所述操作可使用硬件、固件、软件或此类方法的任何组合来实施。参考图2的实例实施例,模型定义应用程序222是在存储于计算机可读媒体208中且可由处理器210存取以执行体现模型定义应用程序222的操作的指令的软件(包括计算机可读及/或计算机可执行指令)中实施。模型定义应用程序222可使用一或多种编程语言、汇编语言、脚本语言等等写成。
[0029] 模型定义应用程序222可被实施为网络应用程序。例如,模型定义应用程序222可经配置以接收超文本传输协议(HTTP)响应及发送HTTP请求。HTTP响应可包含网页,例如响应于HTTP请求产生的超文本标记语言(HTML)文档及链接对象。每一网页可由除了含有要存取的资源的计算装置上的资源的位置以外还包含所述计算装置的位置或地址的统一资源定位符(URL)识别。文件或资源的类型取决于因特网应用程序协议,例如文件传输协议、HTTP、H.323等等。所存取的文件可为简单文本文件、图像文件、音频文件、视频文件、可执行文件、通用网关接口应用程序、Java小程序、可扩展标记语言(XML)文件或由HTTP支持的任何其它类型的文件。
[0030] 数据仓库112可被存储在计算机可读媒体208中或者一或多个计算装置(例如,分布式系统232)上且使用通信接口206存取。存储在数据仓库112中的数据可接收自所述一或多个钻井操作传感器226。实例传感器包含传感器、温度传感器、位置传感器、速度传感器、加速度传感器、流速传感器等等,其可被安装到用作钻井操作的部分的各种组件。例如,所述一或多个钻井操作传感器226可包含:表面传感器,其测量起吊负荷、流体速率、温度及进出井眼的密度、立管压力、表面扭力、钻管的旋转速度、钻速、机械比能等等;及井底传感器,其测量钻头的旋转速度、流体密度、井底扭力、井底振动(轴向、切向、横向)、施加于钻头处的重量、环空压力、压差、方位、倾角、折线曲率(dog leg severity)、测量深度、垂直深度、井底温度等等。其它数据可包含一或多个钻井操作控制参数228及控制设置,例如泥浆达速度对流量比、钻头直径、预测地层顶部、地震数据、天气数据等等。其它数据可使用物理模型产生,所述物理模型例如地球模型、天气模型、地震模型、井底组合件模型、井身模型、环空摩擦力模型等等。除了传感器及控制设置之外,例如数据仓库中还可存储以下预测输出,例如钻速、机械比能、起吊负荷、流入流体速率、流出流体速率、压、表面扭力、钻管的旋转速度、环空压力、环空摩擦压力、环空温度、当量循环密度等等。
[0031] 可测量来自相同钻井操作、一或多个相邻钻井操作、具有类似地理特性的一或多个钻井操作、一或多个钻井操作中的任一者等等的多个值。例如,可使用具有类似钻速及孔隙率的环境中的钻井操作。所述多个值可起因于由操作者在前一时段期间对相同或不同钻井操作选择的控制变量值。
[0032] 存储在数据仓库112中的数据可包含以任何计算机可读格式表示的任何类型的内容,所述计算机可读格式例如二进制、字母数字、数字、字符串、标记语言等等。内容可包含文字信息、图形信息、图像信息、音频信息、数字信息等等,其可使用如所属领域技术人员了解的各种编码技术来编码。数据仓库112可使用如所属领域技术人员了解的各种格式存储,所述格式包含文件系统、关系数据库、表格系统、结构化查询语言数据库等等。例如,数据仓库112可被存储在跨如所属领域技术人员了解的计算机的网格分布的立方体中。作为另一实例,数据仓库112可被存储在如所属领域技术人员了解的多节点 群集中。ApacheTM 是用于由Apache软件基金会支持的分布式计算的开源式软件框架。作为
另一实例,数据仓库112可被存储在计算机的端中且使用如所属领域技术人员了解的云端计算技术存取。由美国北卡罗来纳州的卡瑞的SAS Institute公司开发及提供的
LASRTM分析服务器可被用作分析平台以使得多个用户能够同时存取被存储在数据仓库112中的数据。
[0033] 如果数据仓库112是跨分布式系统232分布,那么可使用分布式处理系统。为了说明,分布式处理系统可使用如所属领域技术人员了解的多节点 群集、使用存储数据的立方体的计算机的网格、使用 LASRTM分析服务器、使用计算机的云端等等来实施。例如,当由模型定义装置200请求时,分布式控制装置可协调对跨分布式系统232分布的数据仓库112的存取。分布式处理系统的一或多个组件可支持多线程,如所属领域技术人员了解。分布式处理系统的组件可位于单个房间或相邻房间、单个设施中及/或在地理学上可彼此分布。
[0034] 如所属领域技术人员了解,数据仓库112中的数据可经净化以插补缺失值、平滑化噪音数据、识别并删除异常值及/或解决矛盾。如所属领域技术人员了解,数据仓库112中的数据可经变换以标准化并聚合数据、统一例如日期的数据格式及将标称数据类型转换为数字数据类型。
[0035] 参考图3,描述与模型定义应用程序222相关联的实例操作。模型定义应用程序222可用于使用存储在数据仓库112中的数据创建目标函数模型224及/或一或多个预测模型225。目标函数模型224支持使用钻井操作期间由一或多个钻井操作传感器226测量的感测数据及/或使用钻井操作的一或多个钻井操作控制参数228的控制设置对用于钻井操作的控制的最优值的确定。预测模型225支持使用钻井操作期间由一或多个钻井操作传感器226测量的感测数据及/或使用经读取用于钻井操作的一或多个钻井操作控制参数228的控制设置对钻井操作的控制变量的预测值的确定。
[0036] 取决于实施例可执行额外、较少或不同操作。图3的操作的呈现次序不旨在限制。虽然按次序呈现一些操作流,但是也可以各种重复、同时(并行,例如使用线程)及/或除了所说明的次序以外的其它次序执行各种操作。如所属领域技术人员了解,例如,用户可执行模型定义应用程序222,其呈现第一用户接口窗,所述第一用户接口窗可包含与模型定义应用程序222相关联的多个菜单及选择器,例如下拉菜单、按钮、文本框、超链接等等。指示符可指示来自用户接口的一或多个用户选择、进入用户接口的数据字段中的一或多个数据条目、从计算机可读媒体208读取或以其它方式用一或多个默认值定义的一或多个数据项等等,其作为输入由模型定义应用程序222接收。
[0037] 在操作300中,接收一或多种类型的预测模型、配置及要预测的一或多个控制变量的第一指示符。预测模型根据数据集中的其它变量的值预测所述数据集中的一或多个控制变量的值。例如,第一指示符指示预测模型的类型的名称及使用所述类型的预测模型预测的控制变量。可对多个控制变量定义一或多种类型的预测模型及配置以独立或组合地(例如以其中预测的控制变量是所述一或多个控制变量中的不同控制变量的另一预测模型的输入的次序)支持多个控制变量的预测。对于多个控制变量中的每一者来说,预测模型的类型的名称是可选择的。要预测的实例控制变量包含钻速、机械比能、起吊负荷、流入流体速率、流出流体速率、泵压、表面扭力、钻管的旋转速度、环空压力、环空温度、环空摩擦压力、当量循环密度等等。
[0038] 为了说明,预测模型的类型的名称可为“神经网络”、“线性回归”、“非线性回归”、“支持向量机”、“决策树”、“最小二乘法”、“梯度渐近”等等。某种配置基于预测模型的类型识别一或多个初始化值。例如,当预测模型的类别被指示为“神经网络”时,第一指示符可识别隐藏层的数目、每层的节点的数目、传播方法等等。可定义多种配置。例如,当预测模型的类型是神经网络时,第一指示符还可识别隐藏层的数目、每层的节点的数目等等的范围。
[0039] 为了进一步说明,要预测的一或多个控制变量及数据仓库112中的数据可被提供到 Enterprise MinerTM用于由美国北卡罗来纳州的卡瑞的SAS Institute公司开发及提供的预测模型化。作为实例, Enterprise MinerTM包含多种类型的预测模型,其用于神经网络(AutoNeural、DMNeural、神经网络)、决策树决策树、梯度渐近)、回归模型(Dmine回归、最小角度回归(LARS)、回归)、k最近邻模型(基于存储器的推理(MBR))、最小二乘法模型(最小二乘法)、支持向量机(Support Vector Machine)、经集成以定义预测模型的全体模型(Ensemble)等等。
[0040] 第一指示符可在从用户接口窗选择之后或在用户输入到用户接口窗中之后由模型定义应用程序222接收。预测模型及配置的类型的默认值可进一步存储在例如计算机可读媒体208中。在替代实施例中,预测模型及配置的类型及要预测的一或多个控制变量可能是不可选择的。
[0041] 在操作302中,接收数据仓库112的第二指示符。例如,第二指示符指示数据仓库112的位置。作为实例,第二指示符可在从用户接口窗选择之后或在用户输入到用户接口窗中之后由模型定义应用程序222接收。在替代实施例中,数据仓库112可能是不可选择的。例如,可自动地使用最近创建的数据仓库。
[0042] 如先前讨论,数据仓库112可存储在跨计算机的网格分布的立方体中、可存储在跨一或多个计算机分布的多节点 群集中、可存储在跨一或多个计算机分布的文件系统中、存储在关系数据库、一或多个表格、结构化查询语言数据库等等中。
[0043] 在操作304中,开发及挖掘存储在数据仓库112中的数据以选择对于要预测的一或多个控制变量中的每一者的预测模型的确定具有重要意义的控制变量(输入、独立变量)。例如,在操作304中,减少存储在数据仓库112中的数据以获得尺寸及体积的最小表示以及保留一致的方差及熵用于类似分析结果。如所属领域技术人员了解,可离散化数字数据类型以简化分析处理。
[0044] 如所属领域技术人员了解,实例数据挖掘技术包含因素分析、主成分分析、相关分析等等。为了说明,由美国北卡罗来纳州的卡瑞的SAS Institute公司开发及提供的Enterprise MinerTM包含用于开发数据及选择或修改控制变量作为输入变量的节点。实例节点包含变换节点、群集节点、相关规则节点、变量选择节点、描述统计节点、主成分节点等等。
[0045] 例如,可选择相对于预测要预测的一或多个控制变量中的每一者具有最高相关度的输入变量。实例输入变量包含起吊负荷、流入流体速率、流出流体速率、泵压、表面扭力、钻管的旋转速度、环空压力、环空温度、环空体积等等。输入变量进一步可包含背景变量,例如岩性、流体性质流变学、所施加电功率、所施加水力、钻头类型、井底组合件设计、温度等等。输入变量仍然进一步可包含岩土力学描述模型、预测岩性、修井设计等等。
[0046] 在操作306中,接收用于从数据仓库112选择用于预测模型的训练数据的第三指示符。第三指示符可例如在从用户接口窗选择之后或在用户输入到用户接口窗中之后由模型定义应用程序222接收。第三指示符识别存储在数据仓库112中的数据的第一部分以用于训练预测模型。第三指示符可指示所包含的数据点的数目、所包含的整个数据仓库112中的数据点的百分比等等。可通过采样从数据仓库112创建子集。实例采样算法是均匀采样。可使用其它随机采样算法。
[0047] 在操作308中,接收用于从数据仓库112选择用于预测模型的验证数据的第四指示符。第四指示符可例如在从用户接口窗选择之后或在用户输入到用户接口窗中之后由模型定义应用程序222接收。第四指示符指示存储在数据仓库112中的数据的第二部分以用于验证预测模型。第四指示符可指示所包含的数据点的数目、所包含的整个数据仓库112的数据点的百分比等等。可通过采样从数据仓库112创建子集。实例采样算法是均匀采样。可使用其它随机采样算法。针对验证数据选择的来自数据仓库112的数据点可不同于针对训练数据选择的来自数据仓库112的数据点。
[0048] 在操作310中,基于第一指示符或基于存储在计算机可读媒体208中的默认模型来选择预测模型。在操作312中,初始化选定预测模型。在操作314中,使用如由第三指示符指示般选择的训练数据来训练经初始化预测模型。
[0049] 在操作316中,以由第四指示符指示般选择作为经训练预测模型的输入的验证数据来预测输出数据。在操作318中,比较经预测输出数据与随验证数据包含的实际输出数据。在操作320中,基于比较确定有效分数。在操作322中,将经确定有效分数存储在例如与选定预测模型的指示符相关联的计算机可读媒体208中。
[0050] 在操作324中,作出关于是否有另一预测模型要评估的确定。当有另一预测模型要评估时,处理在操作310中继续进行。当没有另一预测模型要评估时,处理在操作326中继续进行。在操作310中,基于第一指示符选择下一个预测模型。
[0051] 在操作326中,选择用于要预测的一或多个控制变量中的每一者的最优预测模型。例如,比较经存储用于操作322的每一反复的有效分数且选择与最优有效分数相关联的预测模型。最优有效分数可为经存储用于操作322的每一反复的有效分数的最小或最大值。例如,如果有效分数是误识率,那么最小有效分数指示最优模型;而如果有效分数是正确识别率,那么最大有效分数指示最优模型。
[0052] 在操作328中,将选定最优预测模型存储在例如计算机可读媒体208中。可结合特定钻井位置、特定钻场、钻井环境的特定类型等等存储选定预测模型。选定预测模型被存储为预测模型225。可对要预测的一或多个控制变量中的每一者定义不同预测模型225。
[0053] 在操作330中,接收目标函数模型及配置的一或多个类型的第五指示符。第五指示符可指示目标函数模型最大化钻速、最小化机械比能及/或优化井眼稳定性。例如,第五指示符指示目标函数模型及要最大化/最小化/优化的一或多个控制变量的类型的名称。为了说明,名称可为“神经网络”、“线性回归”、“非线性回归”、“支持向量机”、“决策树”、“最小二乘法”、“梯度渐近”等等。某种配置基于目标函数模型的类型识别一或多个初始化值。例如,当目标函数模型的类型被识别为“神经网络”时,第一指示符可识别隐藏层的数目、每层的节点的数目、传播方法等等。可定义多种配置。例如,当目标函数模型的类型是神经网络时,第一指示符还可识别隐藏层的数目的范围、每层的节点的数目的范围等等。
[0054] 例如, Enterprise MinerTM包含多种类型的目标函数模型,其用于神经网络(AutoNeural、DMNeural、神经网络)、决策树(决策树、梯度渐近)、回归模型(Dmine回归、最小角度回归(LARS)、回归)、k最近邻模型(基于存储器的推理(MBR))、最小二乘法模型(最小二乘法)、支持向量机(Support Vector Machine)、经集成以定义预测模型的全体模型(Ensemble)等等。
[0055] 作为实例, Enterprise MinerTM包含可用于配置、初始化、训练、预测神经网络模型及给神经网络模型计分的神经网络程序PROCNEURAL。输入节点可为输入变量,例如起吊负荷、流入流体速率、流出流体速率、泵压、表面扭力、钻管的旋转速度、环空压力、钻头类型、所施加电功率、所施加水力及修井设计。输出节点可为经预测设置点以控制流入流体速率、流出流体速率、表面扭力及钻管的旋转速度以最大化钻速、最小化机械比能及/或优化井眼稳定性。为了说明,目标函数模型可被实施为具有两个或三个隐藏节点、前馈适应、监督式学习模式及反向传播的神经网络以执行敏感度分析,其确定每一输入变量如何影响输出节点以最大化钻速、最小化机械比能及/或优化井眼稳定性。
[0056] 第五指示符可例如在从用户接口窗选择之后或在用户输入到用户接口窗中之后由模型定义应用程序222接收。用于目标函数模型及配置的类型的默认值可进一步存储在例如计算机可读媒体208中。在替代实施例中,目标函数模型及配置的类型可能是不可选择的。操作302到328是以用目标函数模型取代预测模型而重复以选择最优目标函数模型而非最优预测模型。选定最优目标函数模型被存储作为目标函数模型224。
[0057] 数据的群集分析可用于将实际结果分层以在工作条件下评估预测模型225及/或目标函数模型224。群集分析可用于在操作304中选择变量且在操作326中选择预测模型225及/或目标函数模型224。群集分析的类型可基于井眼设计的目标地质及机械方面而选择。作为实例,如果在岩层下钻井,那么群集分析模型的类型可不同于在沙地中钻井时使用的群集分析模型的类型。可使用多种神经网络使得一种神经网络将输入提供到另一神经网络。
[0058] 为了说明,可在操作324中针对多个解(例如机械比能、钻速及水力井眼稳定性)选择预测模型。用于机械比能、钻速及水力井眼稳定性的预测值可被输入到目标函数模型,其确定用于表面控制输入变量的最优值,所述表面控制输入变量例如起吊负荷、流入流体速率、流出流体速率、表面扭力、钻管的旋转速度及环空压力以实现经预测机械比能、钻速、水力井眼稳定性及当量循环密度。
[0059] 参考图4,示出了根据说明性实施例的优化装置400的方框图。优化装置400可包含第二输入接口402、第二输出接口404、第二通信接口406、第二计算机可读媒体408、第二处理器410、预测模型225、目标函数模型224、控制数据414、感测数据412及优化模型416。较少、不同及/或额外组件可被并入到优化装置400中。
[0060] 在使用模型定义装置200选择之后,预测模型225及/或目标函数模型224可被存储在第二计算机可读媒体408中及/或由优化装置400通过第二通信接口406存取。模型定义装置200及优化装置400可被集成到相同计算装置中。模型定义装置200及优化装置400可为不同的计算装置。优化装置400可位于多个钻机101中的某个钻机上或远离多个钻机101。优化装置400可位于不同于其中数据存储在数据仓库112中的多个钻机101的钻机上。由优化装置400产生的数据可通过第二通信接口406存储在数据仓库112中。
[0061] 虽然是指优化装置400,但是第二输入接口402提供相同或类似于参考模型定义装置200的输入接口202描述的功能的功能。虽然是指优化装置400,但是第二输出接口404提供相同或类似于参考模型定义装置200的输出接口204描述的功能的功能。虽然是指优化装置400,但是第二通信接口406提供相同或类似于参考模型定义装置200的通信接口206描述的功能的功能。数据及消息可使用第二通信接口406在优化装置400及钻井操作控制228及/或钻井操作传感器226之间传输。数据及消息可使用第二输入接口402及/或第二输出接口404在优化装置400及钻井操作控制228及/或钻井操作传感器226之间传输。虽然是指优化装置400,但是第二计算机可读媒体408提供相同或类似于参考模型定义装置200的计算机可读媒体208描述的功能的功能。虽然是指优化装置400,但是第二处理器410提供相同或类似于参考模型定义装置200的处理器210描述的功能的功能。
[0062] 优化模型416支持使用钻井操作期间测量的感测数据412及钻井操作期间产生的控制数据414对钻井操作的控制的最优值的确定。本文中描述的一些或所有操作可被体现在优化模型416中。优化模型416的操作可使用硬件、固件、软件或此类方法的任何组合而实施。参考图4的实例实施例,优化模型416是在存储于第二计算机可读媒体408中且可由第二处理器410存取以执行体现优化模型416的操作的指令的软件(包括计算机可读及/或计算机可执行指令)中实施。优化模型416可使用一或多种编程语言、汇编语言、脚本语言等等写成。优化模型416可被实施为网络应用程序。
[0063] 参考图5,描述与优化模型416相关联的实例操作。取决于实施例可执行额外、较少或不同操作。图5的操作的呈现次序不旨在限制。虽然按次序呈现一些操作流,但是也可以各种重复、同时(并行,例如使用线程)及/或除了所说明的次序以外的其它次序执行各种操作。
[0064] 在操作500中,针对选定钻机定义初始钻速图表。例如,描绘预期钻井过程期间面临的钻井状况的输入变量被输入到预测模型225及/或目标函数模型224以定义初始钻速图表。
[0065] 参考图6,示出了根据说明性实施例的钻速图表。钻速图表可包含设计钻速(ROP)曲线600、上限ROP曲线602、下限ROP曲线604、实际ROP曲线606、预测ROP曲线608及最优ROP曲线610。设计ROP曲线600可经定义用于描述预期钻井过程期间面临的钻井状况的被输入到优化模型416的输入变量。图6中示出的钻速图表表示钻井完成之后的最终ROP。初始ROP图表可包含计划ROP曲线600、上限ROP曲线602及下限ROP曲线604。
[0066] 上限ROP曲线602及下限ROP曲线604可使用统计概率极限来计算。为了说明,上限ROP曲线602及下限ROP曲线604可使用如所属领域技术人员了解的休哈特(Shewhart)公式来确定。上限ROP曲线602及下限ROP曲线604可与传统上被所属领域技术人员称作由休哈特博士创建用于创建警报的“西部电气规则”相关联。
[0067] 实际ROP曲线606示出了从起始到完成的钻井操作期间引起的实际ROP。预测ROP曲线608示出了钻井操作期间使用预测ROP的预测模型225预测的ROP。预测ROP曲线608可使用针对ROP确定的预测模型而计算。最优ROP曲线610示出了使用优化模型416中的目标函数模型224确定的最优ROP。最优ROP曲线610可使用针对ROP确定的优化模型而计算。
[0068] 再次参考图5,在操作502中,接收控制数据414及感测数据412。例如,与操作304中指示的输入变量相关联的控制数据414及感测数据412是实时或近似实时地分别接收自指示并测量用于钻井操作的当前控制变量值的钻井操作控制228及钻井操作传感器226。
[0069] 在操作504中,通过以经接收控制数据414及感测数据412作为输入来执行选定目标函数模型确定用于钻井操作的一或多次控制的设置点。用于控制变量的经确定设置点寻求最大化钻速、最小化机械比能及/或优化井眼稳定性。作为实例,由美国北卡罗来纳州的卡瑞的SAS Institute公司开发及提供的 OR包含OPTMODEL程序,其提供框架用于指定并求解目标函数模型224。实例控制包含针对钻井操作控制流入流体速率、流出流体速率、表面扭力及钻管的旋转速度。
[0070] 在操作506中,输出用于钻井操作的一或多次控制的经确定设置点。例如,用于钻井操作的一或多次控制的经确定设置点可被输出到显示器216、扬声器218及/或打印机220以供用户检查。作为又另一实例,用于钻井操作的一或多次控制的经确定设置点可被输出到与调整每一控制的设置点相关联的控制装置。当经确定设置点大于用于控制的当前设置点时,可增加用于控制的值;而当确定设置点小于用于控制的当前设置点时,可减小用于控制的值。
[0071] 在操作508中,更新ROP图表中的预测ROP曲线608及最优ROP曲线610以基于用于钻井操作的一或多次控制的经确定设置点反映预测值及最优值的变化。在操作510中,输出经更新ROP图表。例如,经更新ROP图表可被输出到显示器216及/或打印机220以供用户检查。
[0072] 在操作512中,作出关于对目标函数模型224还是对用于要预测的控制变量中的任一者的预测模型225执行更新的确定。可接收指示对模型中的一或多者执行更新的指示符。例如,可定期(例如,每秒钟、每分钟、每小时、每天、每周、每月、每年等等)更新目标函数模型224及/或预测模型225。定时器可触发指示符的接收。用户可触发指示符的接收。例如,用户可监测例如经更新ROP图表的钻井控制变量且确定执行更新。如果确定执行更新,那么处理在操作514中继续进行以更新模型中的一或多者。如果确定不执行更新,那么处理在操作
502中继续进行以在实时接收到控制数据414及感测数据412时继续处理控制数据414及感测数据412。
[0073] 在操作514中,例如通过更新存储在数据仓库112中的数据且对目标函数模型224及/预测模型225重复操作302到328中的一或多者来更新所述一或多个模型。例如,可重复操作310到328。除了在操作328的最后反复之后经测量且存储在数据仓库112中的数据之外,还可使用在操作328的前一反复中存储在数据仓库112中的数据来更新所述一或多个模型。
[0074] 参考图7,示出了根据说明性实施例的钻井系统700的方框图。钻井系统700可包含第一钻机102、网络110及模型定义装置200。较少、不同及/或额外组件可被并入到钻井系统700中。第一钻机102可包含钻井操作传感器226、产生控制数据414的钻井操作控制参数
228、钻机控制接口装置704、本地数据聚合器706、事件流处理(ESP)装置708、可视化系统
710及第二网络712。钻机控制接口装置704可经配置以从钻井操作传感器226及钻井操作控制参数228接收数据。经接收数据可被聚合在预存钻机聚合器上,所述钻机聚合器例如如所属领域技术人员了解的本地数据聚合器706。可视化系统710提供关于第一钻机102的当前状态的显示。例如,除了其它当前控制设置点值之外,可视化系统710可向第一钻机102的操作者呈现图6的ROP图表。
[0075] 第二网络712可包含相同或不同类型的一或多种网络。第二网络712可为有线及/或无线公共或专用网络的任何类型或组合,包含蜂窝网络、局域网、广域网,例如因特网等等。第二网络712进一步可包括子网络且由任何数目的装置组成。虽然通过第二网络712进行的连接并未在图7的说明性实施例中明确示出,但是钻井系统700的组件中的一或多者可使用如所属领域技术人员了解的包含可为有线及/或无线的各种发射媒体的第二网络712进行通信。钻井系统700的组件中的一或多者可直接连接或集成到一或多个计算装置中。
[0076] 参考图8,示出了根据说明性实施例的ESP装置708的方框图。ESP装置708可包含第三输入接口800、第三输出接口802、第三通信接口804、第三计算机可读媒体806、第三处理器808及ESP应用程序810。较少、不同及/或额外组件可被并入到ESP装置708中。
[0077] 虽然是指ESP装置708,但是第三输入接口800提供相同或类似于参考模型定义装置200的输入接口202描述的功能的功能。虽然是指ESP装置708,但是第三输出接口802提供相同或类似于参考模型定义装置200的输出接口204描述的功能的功能。虽然是指ESP装置708,但是第三通信接口804提供相同或类似于参考模型定义装置200的通信接口206描述的功能的功能。数据及消息可在ESP装置708及模型定义装置200、钻机控制接口装置704及/或可视化系统710之间使用第二通信接口804而传输。虽然是指ESP装置708,但是第三计算机可读媒体806提供相同或类似于参考模型定义装置200的计算机可读媒体208描述的功能的功能。虽然是指ESP装置708,但是第三处理器808提供相同或类似于参考模型定义装置200的处理器210描述的功能的功能。
[0078] ESP应用程序810实时或近似实时地执行与执行优化模型416的操作相关联的操作。本文中描述的一些或所有操作可被体现在ESP应用程序810中。所述操作可使用硬件、固件、软件或此类方法的任何组合而实施。参考图8的实例实施例,ESP应用程序810是在存储于第三计算机可读媒体806中且可由第三处理器808存取以执行体现ESP应用程序810的操作的指令的软件(包括计算机可读及/或计算机可执行指令)中实施。ESP应用程序810可使用一或多种编程语言、汇编语言、脚本语言等等写成。ESP应用程序810可基于由美国北卡罗来纳州的卡瑞的SAS Institute公司开发及提供的事件流处理引擎。
[0079] 参考图9,描述了与ESP应用程序810相关联的实例操作。取决于实施例可执行额外、较少或不同操作。图9的操作的呈现次序不旨在限制。虽然按次序呈现一些操作流,但是也可以各种重复、同时(并行,例如使用线程)及/或除了所说明的次序以外的其它次序执行各种操作。
[0080] 在操作900中,在ESP装置708处例证ESP应用程序实例。在说明性实施例中,创建引擎容器,其例证ESP引擎(ESPE)。在ESP装置708处执行的ESPE的组件可包含一或多个工程项目。工程项目可被描述为由ESPE管理的模型中的第二层容器,其中所述工程项目的线程池大小可由用户定义。引擎容器是管理所述一或多个工程项目的资源的模型中的顶层容器。所述一或多个工程项目中的每一工程项目可包含又称作模型的一或多次连续查询。所述一或多次连续查询可包含一或多个源窗口及一或多个衍生窗口。在说明性实施例中,例如,ESP应用程序810的每一实例只存在一个ESPE。ESPE可或不可持久。
[0081] 继续查询模型化涉及定义针对事件流操控及变换的窗口的定向图。连续查询可被描述为源窗口、关系窗口、图案匹配窗口及程序窗口的定向图。所述一或多个源窗口及所述一或多个衍生窗口表示连续执行查询,其在新的事件串流通过ESPE时对查询结果集产生更新。
[0082] 事件对象可被描述为可存取为字段集合的数据包,其中字段中的至少一者被定义为密钥或唯一识别符(ID)。事件对象可使用包含二进制、字母数字、XML等等的各种格式来创建。每一事件对象可包含被指定为事件的主ID的一或多个字段,因此ESPE可支持包含插入、更新、更新/插入(upsert)及删除的事件的操作代码(opcode)。如果密钥字段已经存在,那么更新/插入操作代码更新事件;否则,插入事件。为了说明,事件对象可为字段值的集合的打包二进制表示且包含与事件相关联的元数据及字段数据两者。元数据可包含指示事件是表示插入、更新、删除还是更新/插入的操作代码、指示事件正常、部分更新还是来自保存策略管理的保存产生事件的旗标的集合及可用于延时测量的微秒时戳的集合。
[0083] 事件块对象可被描述为事件对象的分组或包装。事件流可被描述为事件块对象的连续流。所述一或多次连续查询中的某一次连续查询使用所述一或多个源窗口及所述一或多个衍生窗口将由发布到ESPE中的串流事件块对象组成的源事件流变换为一或多个输出事件流。连续查询还可被视为数据流模型化。
[0084] 所述一或多个源窗口是在定向图的顶部处且其中无窗口馈入。事件流被发布到所述一或多个源窗口中,且事件流从所述一或多个窗口引导到如由经创建钻井模型定义的连接窗口的下一集合。所述一或多个衍生窗口全部是经例证窗口,其并非源窗口且其中具有其它窗口串流事件。所述一或多个衍生窗口对进入的事件流执行计算或变换。所述一或多个衍生窗口基于窗口类型(即,运算符,例如接合、筛选、计算、聚合、复制、图案匹配、程序、并集等等)及窗口设置来变换事件流。由于事件流被发布到ESPE中,其被连续查询,且连续更新此类查询中的衍生窗口的所得集合。
[0085] 所述一或多次连续查询是由ESPE例证为模型。为了说明,所述一或多次连续查询可经定义以施加ESPE内的优化模型416的操作中的一或多者(例如,图5的操作504及508)于被串流到ESP装置708的感测数据412及/或控制数据414且将经确定设置点及更新的钻速图表输出到可视化系统710及/或钻机控制接口装置704。为了创建连续查询,识别具有流入到所述一或多个源窗口中的密钥的模式的输入事件结构。还识别也具有将由所述一或多个源窗口及/或所述一或多个衍生窗口产生的密钥的模式的输出事件结构。所述一或多个源窗口及所述一或多个衍生窗口是基于将输入事件流变换为输出事件流的关系、图案匹配及程序算法来创建。
[0086] ESPE可分析并处理运动中的事件或“事件流”。ESPE可存储查询并通过查询串流数据以允许在接收到数据时连续分析所述数据,而非存储数据并针对存储的数据运行查询。
[0087] 针对ESPE初始化发布/订阅(pub/sub)能力。在说明性实施例中,针对所述一或多个工程项目中的每一工程项目初始化发布/订阅能力。为了初始化并启用ESPE的发布/订阅能力,提供端口编号。发布/订阅客户端使用端口编号以建立到ESPE的发布/订阅连接。由ESPE例证的一或多次连续查询分析并处理输入事件流以形成被输出到事件订阅装置的输出事件流。
[0088] 发布/订阅应用程序编程接口(API)可被描述为库,其使得事件发布者(例如,钻机控制接口装置704、本地数据聚合器706及/或模型定义装置200)能够将事件流发布到ESPE或事件订阅器(例如可视化系统710及钻机控制接口装置704)中以订阅来自ESPE的事件流。发布/订阅API提供ESP应用程序810与其它联网应用程序之间的跨平台连接及字节序兼容性。发布/订阅API可包含ESP对象支持库,因此事件发布者或事件订阅器可创建或操控其分别发送或接收的事件。例如,钻机控制接口装置704可使用发布/订阅API以将事件块的流(事件块流)发送到ESPE中,且可视化系统710可使用发布/订阅API以从ESPE接收事件块的流。
[0089] 在操作902中,ESPE接收包含控制数据414及/或感测数据412的一或多个事件块。含有一或多个事件对象的事件块对象被注入到一或多个源窗口中的某个源窗口中。
[0090] 在操作904中,通过在ESPE内执行的优化模型416的一或多个操作处理事件块。在操作906中,将第二事件块发送到可视化系统710。例如,可更新钻速图表且将其输出在被发送到可视化系统710以供操作者检查的一或多个事件块中。
[0091] 作为另一实例,可计算控制值且将其输出在一或多个事件块中并在操作908中将其发送到钻机控制接口装置704,其可控制钻井操作控制参数228的控制的设置点的变化。
[0092] 类似于操作512,在操作910中,作出关于对目标函数模型224还是对用于要预测的控制变量中的任一者的预测模型225执行更新的确定。如果确定执行更新,那么处理在操作912中继续进行。如果确定不执行更新,那么处理在操作902中继续进行以在实时接收到控制数据414及感测数据412时继续处理控制数据414及感测数据412。
[0093] 在操作912中,停止工程项目。在操作914中,根据模型定义装置200更新优化模型416的目标函数模型224及/或预测模型225。在操作916中,以接收自模型定义装置200的已更新优化模型416重启ESPE中的工程项目,且处理在操作902中继续进行以在实时接收到控制数据414及感测数据412时继续处理控制数据414及感测数据412。
[0094] 字词“说明性”在本文中意指用作为实例(example)、实例(instance)或说明。本文中描述为“说明性”的任何方面或设计不必解释为优于其它方面或设计或比其它方面或设计有利。此外,为了本发明目的且除非另有指定,否则“一”意指“一或多个”。更进一步,除非另有具体指示,否则使用详述中的“及”或者“或”旨在包含“及/或”。说明性实施例可被实施为使用标准编程及/或工程设计技术以生产软件、固件、硬件或其任何组合以控制计算机实施所揭示实施例的方法、设备或制品。
[0095] 已出于说明及描述目的呈现所揭示主题的说明性实施例的以上描述。其不旨在详尽的或将所揭示主题限于所揭示的精确形式,且鉴于上述教示修改及变更是可能的或可从所揭示主题的实践而获取。选取并描述所述实施例以解释所揭示主题的原理且所述实施例被描述为所揭示主题的实际应用,以使得所属领域技术人员能够在各种实施例中且以合适用于所设想特定用途的各种修改来利用所揭示主题。
QQ群二维码
意见反馈