用于建模油田的自动校准的制作方法

文档序号:17286716发布日期:2019-04-03 03:37阅读:174来源:国知局
用于建模油田的自动校准的制作方法

用于建模和模拟油田的参数(例如,岩石渗透率、压实规律、基础热流等)是高度不确定的,特别是在考虑地质时期的情况下。标准程序是对特定测量的所选不确定性进行手动校准。例如,镜质体反射率数据可用于校准基础热流和热导率,而孔隙率和孔隙压力可用于校准岩石渗透率和压实规律。



技术实现要素:

通常,在一个方面,用于建模油田的自动校准的实施方案包括一种用于执行油田的油田操作的方法。所述方法包括基于油田的测量执行模型校准迭代。每个模型校准迭代包括:在油田操作期间获得油田的当前测量,生成对应于油田的模型实现的似然值,其中通过至少将油田的当前测量与对应模型实现的建模结果进行比较来生成每个似然值;基于似然值,从模型实现中选择至少一个所选模型实现;通过至少调整至少一个所选模型实现的第一输入值,基于至少一个所选模型实现生成油田的经调整的模型实现;以及将经调整的模型实现添加到模型实现中。所述方法还包括基于来自模型校准迭代中的至少一个的经调整的模型实现来生成油田的经校准的建模结果。

其它方面将从以下描述及所附权利要求中变得显而易见。

附图说明

附图示出了用于建模油田的自动校准的若干实施方案,并且不应被视为对其范围的限制,因为用于建模油田的自动校准可允许其它同等有效的实施方案。

图1.1是油田的部分横截面的示意图,其中可实现用于建模油田的自动校准的一个或多个实施方案;

图1.2示出了根据一个或多个实施方案的系统的示意图;

图2示出了根据一个或多个实施方案的流程图;

图3.1、3.2、3.3、3.4、3.5和3.6示出了根据一个或多个实施方案的实施例;

图4.1和4.2示出了根据一个或多个实施方案的系统。

具体实施方式

现在将参考附图详细描述具体实施方案。为了一致性,各个图中的相同元件由相同的附图标记表示。

在实施方案的以下详细描述中,提出了许多具体细节,以便提供更透彻的了解。然而,本领域的普通技术人员将明白,可以在脱离这些具体细节的情况下实践一个或多个实施方案。在其它情况下,没有详细描述众所周知的特征,以避免不必要地使说明书变得复杂。

通常,实施方案提供了一种用于通过至少生成油田的校准建模结果来执行油田操作的方法和系统。在一个或多个实施方案中,基于来自多个模型校准迭代中的至少一个的经调整的模型实现来生成经校准的建模结果。基于油田的多个测量来执行模型校准迭代。具体地,每个模型校准迭代包括在油田操作期间获得油田的当前测量。基于当前测量,生成对应于多个模型实现的多个似然值。具体地,通过至少将油田的当前测量与对应模型实现的建模结果进行比较来生成每个似然值。基于多个似然值,从多个模型实现中选择至少一个模型实现。通过至少调整至少一个所选模型实现的输入值,基于至少一个所选模型实现来生成油田的经调整的模型实现。因此,将经调整的模型实现添加到多个模型实现中以用于后续模型校准迭代。

图1.1描绘了油田(100)的部分横截面的示意图,其中可实现用于建模油田的自动校准的一个或多个实施方案。在一个或多个实施方案中,图1.1中所示的模块和元件中的一个或多个可省略、重复和/或替换。因此,不应认为用于建模油田的自动校准的实施方案限于图1.1中所示的模块的特定布置。

如图1.1中所示,油田(100)包括地下地层(104)、数据采集工具(102-1)、(102-2)、(102-3)和(102-4)、井场系统a(114-1)、井场系统b(114-2)、井场系统c(114-3)、地面单元(112),以及勘探和生产(e&p)计算机系统(118)。地下地层(104)包括若干地质结构,例如砂岩层(106-1)、石灰岩层(106-2)、页岩层(106-3)、砂层(106-4),以及断层线(107)。具体地,这些地质结构形成含有流体(例如,烃)的至少一个储层,如下所述。

石油(即,油和气体)可通过沉积有机物质材料的化学反应在盆地内形成。在生成之后,石油通过可渗透的路径在盆地内迁移,直到石油在多孔和可渗透的储层岩层中聚积,或者石油通过化学或生化反应消散,或泄漏到盆地表面。在任何特定的盆地内,可能存在一种或多种可能产生烃的“间隙”。美国地质调查局将“间隙”定义为“表现出几乎相同的地质特征(如诱捕方式、储层类型和密封性质)的一组已发现或未发现的油气聚积或勘探”。储层可包括几种不同的间隙,这些间隙在岩层的孔隙空间内的流体的性质和/或其压力方面彼此不同。“储层”是具有基本均匀的岩石矿物特性和渗透率空间分布的岩层,使得岩层具有储存流体的能力,并且具有通过施加适当的压力变化使流体移动通过的能力。

建模是一种使用数学和物理规则来表示和模拟油田的至少一部分(例如,油田(100)、地下地层(104)、井场系统a(114-1)等)的特征、操作和其它行为的技术。建模结果可包括与使用这样的数学和物理规则导出的油田(100)的特征、操作和其它行为相关的值。盆地建模(或盆地模拟)是一种建模地质过程的技术,这些地质过程可能在各个地质时期发生在沉积盆地中。例如,盆地建模可模拟沉积物随地质时间的沉积和侵蚀,从而计算温度、压力和岩石应力分布。盆地建模的输入参数包括埋藏历史、古水深度图、swit(沉积物-水界面温度)、hf图和几种岩石属性(例如,热导率、渗透率、岩石密度、放射源)。在盆地建模期间,通过求解微分方程(例如,通过使用有限元求解器)来确定温度和压力。在一个或多个实施方案中,可使用盆地建模而不考虑任何烃流体或储层。在一个或多个实施方案中,可利用盆地建模来执行超压预测,以揭示与潜在的烃储存容量和压裂(即,潜在烃储存容器的密封强度)相关的盆地范围内的水流连通性、孔隙率分布。此外,盆地建模也可用于评估盆地范围内的温度分布,这是决定在源岩内生成烃的化学反应速度的主要控制参数。因此,可建模用于定义源岩的含烃潜力的成熟度。

在一个或多个实施方案中,盆地建模包括石油系统建模,所述建模模拟导致储层岩中烃的产生、迁移和聚积的事件。在这样的实施方案中,盆地建模的输入包括“载荷潜力”(例如,源岩有机碳含量、源岩厚度和源岩特性)和间隙的捕集(例如,储层几何形状、储层和密封质量)。在一个或多个实施方案中,盆地建模还可包括建模热量、压力以及烃的生成和迁移历史,以预测盆地内的当前烃质量和空间分布。在一个或多个实施方案中,盆地建模还可包括石油流体的描述(例如,压力、体积和温度(pvt)、成分等),其至少部分地由管控流体成分的生成和排出的过程确定,以及负责储层中的二次迁移和聚积期间每个流体相的组分分布的pvt行为。可以根据所选化合物类别(例如,co2、h2s,甲烷、c2-5、c6-15、c16+)以组合形式跟踪聚积物或单个储层的载荷历史。被称为状态方程的热力学模型,例如,srk(soave-redlich-kwong)和pr(peng-robinson)可用于进行相性质预测,例如气油比(gor)、流体密度和/或流体粘度。还可模拟聚积后改变过程,例如生物降解、水洗和油气裂化。还可建模源岩追踪、组合物随时间的演变,所生成和释放的产物的产率和组成。

回到图1.1的讨论,在一个或多个实施方案中,数据采集工具(102-1)、(102-2)、(102-3)和(102-4)沿着油田(100)的各个位置定位,以用于收集地下地层(104)的数据,称为勘测操作。具体地,数据采集工具适于测量地下地层(104)并检测地下地层(104)的地质结构的特征。例如,沿着油田(100)描绘数据图(108-1)、(108-2)、(108-3)和(108-4)以演示由数据采集工具生成的数据。具体地,静态数据图(108-1)是地震双向响应时间。静态数据图(108-2)是从地下地层的岩心样本(104)测量的岩心样本数据。静态数据图(108-3)是测井跟踪,称为测井记录。生产下降曲线或曲线图(108-4)是流体流速随时间的动态数据图。还可收集其它数据,例如历史数据、分析员用户输入、经济信息和/或其它测量数据和其它感兴趣的参数。

进一步如图1.1所示,井场系统a(114-1)、井场系统b(114-2)和井场系统c(114-3)中的每一个与钻机、井筒和被配置成执行井筒操作的其它井场设备(例如,测井、钻井、压裂、生产或其它适用操作)相关联。例如,井场系统a(114-1)与钻机(101)、井筒(103)和钻井设备相关联以执行钻井操作。类似地,井场系统b(114-2)和井场系统c(114-3)与相应的钻机、井筒、其它井场设备(例如,生产设备和测井设备)相关联以分别执行生产操作和测井操作。通常,勘测操作和井筒操作被称为油田(100)的油田操作。另外,数据采集工具和井场设备被称为油田操作设备。按照地面单元(112)的指示执行油田操作。例如,油田操作设备可由从地面单元(112)发送的油田操作控制信号控制。

在一个或多个实施方案中,地面单元(112)可操作地耦合到数据采集工具(102-1)、(102-2)、(102-3)、(102-4)和/或井场系统。具体地,地面单元(112)被配置为向数据采集工具(102-1)、(102-2)、(102-3)、(102-4)和/或井场系统发送命令并从其接收数据。在一个或多个实施方案中,地面单元(112)可位于井场系统a(114-1)、井场系统b(114-2)、井场系统c(114-3)和/或远程位置。地面单元(112)可设有计算机设施(例如,e&p计算机系统(118),以用于接收、存储、处理和/或分析来自数据采集工具(102-1)、(102-2)、(102-3)、(102-4)、井场系统a(114-1)、井场系统b(114-2)、井场系统c(114-3)和/或油田(100)的其它部分的数据。地面单元(112)还可在油田(100)处设有或具有用于致动机构的功能。然后,地面单元(112)可以响应于接收、存储、处理和/或分析的数据将命令信号发送到油田(100),例如用以控制和/或优化上述各种油田操作。

在一个或多个实施方案中,地面单元(112)通信地耦合到e&p计算机系统(118)。在一个或多个实施方案中,由地面单元(112)接收的数据可被发送到e&p计算机系统(118)以供进一步分析。通常,e&p计算机系统(118)被配置为基于从地面单元(112)提供的数据来分析、建模、控制、优化或执行上述油田操作的管理任务。在一个或多个实施方案中,e&p计算机系统(118)设有用于操纵和分析数据的功能,例如执行井场系统a(114-1)、井场系统b(114-2)和/或井场系统c(114-3)的生产操作的模拟、计划和优化。在一个或多个实施方案中,可显示由e&p计算机系统(118)生成的结果,以供分析员用户在二维(2d)显示器、三维(3d)显示器或其它合适的显示器上查看结果。虽然地面单元(112)被示出为与图1.1中的e&p计算机系统(118)分开,在其它实施例中,地面单元(112)和e&p计算机系统(118)也可组合。

虽然图1.1示出了陆地上的油田(100),油田(100)可以是海上油田。在这种情况下,地下地层可能位于海底。此外,可以使用用于收集油田数据的各种海上技术从作为海上油田的油田(100)收集油田数据。

图1.2示出了e&p计算机系统(118)的更多细节,其中可实现用于对建模油田的自动校准的一个或多个实施方案。在一个或多个实施方案中,图1.2中所示的模块和元件中的一个或多个可省略、重复和/或替换。因此,不应认为用于建模油田的自动校准的实施方案限于图1.2中所示的模块的特定布置。

如图1.2所示,e&p计算机系统(118)包括e&p工具(230)、用于存储输入数据、中间数据和e&p工具(230)的结果输出的数据存储库(238),以及用于执行油田操作的各种任务的油田任务引擎(231)。在一个或多个实施方案中,数据储存库(238)可包括一个或多个磁盘驱动器存储设备、一个或多个半导体存储设备、其它合适的计算机数据存储设备或其组合。在一个或多个实施方案中,存储在数据储存库(238)中的内容可存储为数据文件、链表、数据序列、数据库、图形表示、任何其它合适的数据结构或其组合。

在一个或多个实施方案中,存储在数据储存库(238)中的内容包括输入值集(233)、概率密度函数(pdf)(234)、模型实现(235)和校准建模结果(236)。在一个或多个实施方案中,每个输入值集(233)包括对应于用于建模油田(100)的输入参数的一组输入值。在一个或多个实施方案中,输入参数包括与油田(100)相关的边界条件(例如,压力、温度、饱和度等)、岩石参数(例如,孔隙率、渗透率、成熟度、导热率等)、孔隙流体数据(例如,流体密度、流体动力学等)、层和断层几何形状(例如,层厚度等)以及断层参数(例如,毛细管压力等)中的一个或多个。在一个或多个实施方案中,基于用户输入和/或油田测量从输入值集中分配输入值以建模油田(100)。例如,分配值的至少一部分是基于从上图1.1中所描绘的数据采集工具获得的测量。

在一个或多个实施方案中,使用多组输入值(例如,输入值集a(233-1)、输入值集b(233-2)、输入值集c(233-3)等)来生成多个模型实现(例如,油田(100)的模型实现(235))。模型实现是油田的模型。换句话说,模型实现是对油田的属性的估计。可能存在多个模型实现,其中每个模型实现的估计不同。在一个或多个实施方案中,可从多组输入值(例如,输入值集a(233-1)、输入值集b(233-2)、输入值集c(233-3)等)中为输入参数的至少一部分分配不同的值以生成不同的模型实现。例如,可分别基于输入值集a(233-1)和输入值集b(233-2)生成模型实现a(235-1)和模型实现b(235-2),所述输入值集对于至少一个输入参数具有不同的分配值。

在一个或多个实施方案中,可在油田(100)的建模期间自动调整一些输入值集(233)以生成经调整的输入值集。例如,可自动调整输入值集a(233-1)以生成经调整的输入值集a(233-4)。类似地,可自动调整输入值集b(233-2)以生成经调整的输入值集b(233-5)。

在一个或多个实施方案中,输入值集(233)的每个输入参数被分配pdf(234)中的一个。pdf是描述变量在一组值中具有任何给定值的概率的数学函数。例如,pdfa(234-1)可表示与输入值集(233)相关联的特定输入参数具有例如在遍及全部输入值集a(233-1)、输入值集b(233-2)、输入值集c(233-3)、经调整的输入值集a(233-4)、经调整的输入值集b(233-5)等中分配的对应值中的某一值的概率。在一个或多个实施方案中,概率是基于分配值的不确定性水平,例如,由上图1.1中所描绘的数据采集工具的设备分辨率和/或误差限制导致。在另一实施例中,pdfb(234-2)可以表示与输入值集合(233)相关联的另一输入参数采用在遍及输入值集合a(233-1)、输入值集合b(233-2)、输入值集c(233-3)、经调整的输入值集a(233-4)、经调整的输入值集b(233-5)等中分配的各个值的概率。

模型实现(例如,模型实现a(235-1)、模型实现b(235-2)、经调整的模型实现a(235-3)、经调整的模型实现b(235-4)等)包括用于表示油田(100)的一部分的三维(3d)体积(未示出)。例如,3d体积可代表上图1.1中所描绘的地下地层(104)的一部分。在一个或多个实施方案中,3d体积与具有对应于地下地层(104)中的位置的大量(例如,数千、数十万、数百万等)网格点的网格相关联。在一个或多个实施方案中,每个模型实现(例如,模型实现a(235-1)、模型实现b(235-2)、经调整的模型实现a(235-3)、经调整的模型实现b(235-4)等)还包括分配给每个网格点的信息,其描述油田(100)中对应位置的特征、操作或其它行为。分配给网格点的信息可包括输入值集中的输入值(称为建模输入数据)和/或从输入值集导出的建模结果(称为建模输出数据)。具体地,建模输出数据是下面描述的建模引擎(223)的输出。例如,模型实现a(235-1)的建模结果a(236-1)可包括导出的孔隙率或孔隙压力值,其被分配给网格点并且基于输入数据集a(233-1)导出。同样,模型实现b(235-2)的建模结果b(236-2)可包括导出的孔隙率或孔隙压力值,其被分配给网格点并且基于输入数据集b(233-2)导出。另外,经调整的模型实现a(235-3)的建模结果c(236-3)可包括导出的孔隙率或孔隙压力值,其被分配给网格点并且基于经调整的输入值集a(233-4)导出。

在一个或多个实施方案中,每个模型实现(例如,模型实现a(235-1)、模型实现b(235-2)、经调整的模型实现a(235-3)、经调整的模型实现b(235-4)等)还包括表示建模结果(例如,导出的孔隙率或孔隙压力值)匹配实际测量(例如,测量的孔隙率或孔隙压力值)的可能性的似然值。例如,似然值a(237-1)、似然值b(237-2)和似然值c(237-3)可表示建模结果a(236-1)、建模结果b(236-2)和建模结果c(236-3)分别匹配实际测量的可能性。在一个或多个实施方案中,似然值是统计测量,并且基于随时间获得的或从附加位置获得的新测值迭代地更新。校准是一种调整模型实现(235)(例如,模型实现a(235-1)、模型实现b(235-2)、经调整的模型实现a(235-3)、经调整的模型实现b(235-4)等)以改善表示建模结果与实际测量之间的匹配的似然值的准确程度的技术。在一个或多个实施方案中,在油田操作期间执行校准的多次迭代,以连续地改善模型实现的似然值(235)。

在一个或多个实施方案中,模型实现a(235-1)和模型实现b(235-2)是在执行模型实现(235)的任何校准之前生成的模型实现(235)的初始部分的一部分。具体地,建模结果a(236-1)、建模结果b(236-2)以及模型实现(235)的初始部分的任何其它建模结果被生成一次,而不是完全在模型实现(235)的后续校准期间再生成。在本文的上下文中,建模结果a(236-1)、建模结果b(236-2)以及初始部分的任何其它建模结果统称为初始建模结果。类似地,用于生成模型实现(235)的初始部分的输入值集(233)(例如,输入值集a(233-1)、输入值集b(233-2)等)的部分被称为输入值集的初始部分(233))。在校准期间,可试图调整初始部分中模型实现a(235-1)、模型实现b(235-2)和/或其它模型实现中的一个或多个,以增加所得模型实现(如经调整的模型实现a(235-3))的似然值。在本文的上下文中,模型实现(235)的初始部分被称为模型实现的初始集合,而模型实现(235)被称为模型实现的扩展集合。

在一个或多个实施方案中,可使用数据采集工具(如上图1.1所描绘)来在不同的时间点或从油田(100)的不同位置获得实际测量(例如,测量的孔隙率或孔隙压力值)。因此,似然值a(237-1)和似然值b(237-2)可取决于执行实际测量的时间和地点。例如,当钻井操作进行时在新的深度处执行新的孔隙压力测量时,可分别基于新孔隙压力测量与建模结果a(236-1)和建模结果b(236-2)之间的比较来更新似然值a(237-1)和似然值b(237-2)基于所述更新,改善表示初始建模结果与实际测量之间的匹配的似然值a(237-1)和似然值b(237-2)的准确度。例如,似然值a(237-1)和似然值b(237-2)中的一个或两个可增加或减少以改善准确度。

在一个或多个实施方案中,可在校准期间调整模型实现(235)中的一个或多个。例如,基于满足预定标准的似然值a(237-1),可在校准迭代期间选择模型实现a(235-1)以进行调整,从而生成经调整的模型实现a(235-3)。如上所述,基于经调整的输入值集a(233-4)而生成经调整的模型实现a(235-3),其根据在校准之前最初用于生成模型实现a(235-1)的输入值集a(233-1)进行调整。在一个或多个实施方案中,可在后续校准迭代中进一步调整经调整的输入值集a(233-4)以生成经进一步调整的输入值集,例如经调整的输入值集b(233-5)。

在一个或多个实施方案中,经校准的建模结果(236)是基于校准的至少一次迭代的建模结果。换句话说,经校准的建模结果(236)是基于模型实现(235)的初始部分和至少经调整的模型实现(例如,经调整的模型实现a(235-3))的组合。

在一个或多个实施方案中,e&p工具(230)包括输入接收器(221)、建模校准器(222)和建模引擎(223)。以下描述e&p工具(230)的这些组件中的每一个。

在一个或多个实施方案中,输入接收器(221)被配置为获得输入值集(233)和pdf(234),以供建模校准器(222)和建模引擎(223)分析。在一个或多个实施方案中,输入接收器(221)从用户获得输入值集(233)和pdf(234)的至少一部分。换句话说,输入值集(233)和pdf(234)的部分由用户指定。在一个或多个实施方案中,输入接收器(221)至少部分地从上图1.1中所描绘的地面单元(112)获得输入值集(233)和pdf(234)。例如,输入接收器(221)可响应于用户激活或者由事件触发而间歇地、周期性地从地面单元(112)获得输入值集(233)和pdf(234)的一个或多个部分。因此,建模校准器(222)和建模引擎(223)的中间和最终结果可响应于用户激活或者由事件触发而间歇地、周期性地生成。

在一个或多个实施方案中,建模校准器(222)被配置为针对模型实现(235)执行校准的迭代。在每次迭代期间,建模校准器(222)生成和/或更新模型实现(235)的似然值(例如,似然值a(237-1)等)。在一个或多个实施方案中,建模校准器(222)通过至少部分地将模型实现(235)的建模结果与在每次校准迭代期间获得的当前测量进行比较来生成和/或更新似然值。换句话说,建模校准器(222)基于在油田操作进行时获得的一系列新测量迭代地改善似然值的准确度。例如,可从随着钻井操作的进行而可获得的不断增加的井筒轨迹中的井底组件获得一系列新的井测量。

此外,建模校准器(222)在每次迭代期间更新模型实现(235)。在一个或多个实施方案中,建模校准器(222)通过基于所生成/更新的似然值选择至少一个模型实现来更新模型实现(235)。例如,可选择具有高似然值(例如,超过预定阈值的似然值a(237-1))的模型实现(例如,模型实现a(235-1))。然后基于所选模型实现(例如,模型实现a(235-1))来生成经调整的模型实现(例如,经调整的模型实现a(235-3))。因此,通过添加经调整的模型实现(例如,模型实现a(235-1))来更新模型实现(235)。在一个或多个实施方案中,建模校准器(222)还可移除具有低似然值(例如,低于预定阈值的似然值b(237-2))的模型实现(例如,模型实现b(235-2)以更新模型实现(235)。

另外,建模校准器(222)被配置为至少部分地基于在至少一个模型校准迭代期间调整的模型实现(235-3)来生成经校准的建模结果(236)。在一个或多个实施方案中,建模校准器(222)执行校准迭代并使用参考下图2描述的方法生成经校准的建模结果(236)。参考下图3.2描述在校准迭代期间生成/更新模型实现(235)的示例。

在一个或多个实施方案中,建模引擎(223)被配置为执行油田(100)的建模。在一个或多个实施方案中,建模包括前述盆地建模和/或石油系统建模。在一个或多个实施方案中,建模还包括储层建模,例如执行如上图1.1所描绘的井场系统a(114-1)、井场系统b(114-2)和/或井场系统c(114-3)的勘探和/或生产操作的模拟、计划和优化。在一个或多个实施方案中,建模引擎(223)根据上述数学和物理定律来基于输入值集(233)生成模型实现(235)。在一个或多个实施方案中,建模引擎(223)使用基于物理定律执行数学计算的模拟器来生成模型实现(235)。数学计算的最终结果形成模拟器的输出,并作为模型实现的建模输出数据包括在内。在一个或多个实施方案中,建模引擎(223)使用参考下图2描述的方法生成模型实现(235)。

在一个或多个实施方案中,可使用二维(2d)显示器、三维(3d)显示器或其它合适的显示器向用户显示由e&p计算机系统(118)生成的结果。例如,经校准的建模结果(236)可以是用户用来预测油田(100)的全部各个部分的烃含量并促进油田(100)的钻井、压裂或其它勘探和/或生产操作。

在一个或多个实施方案中,e&p计算机系统(118)包括油田任务引擎(231),其被配置为至少基于由e&p工具(230)生成的结果来生成油田操作控制信号,例如基于经调整的模型实现a(235-3)和/或经校准的建模结果(236)。如上所述,上图1.1中所描绘的油田操作设备可由油田操作控制信号控制。例如,油田操作控制信号可用于控制钻井设备、致动器、流体阀或围绕上图1.1所描绘的油田(100)设置的其它电气和/或机械设备。

e&p计算机系统(118)可包括一个或多个系统计算机,例如下图4.1和4.2中所示,其可实现为服务器或任何传统的计算系统。然而,受益于本公开的本领域技术人员将理解,本文描述的各种技术的实现可在其它计算机系统配置中实现,包括超文本传输协议(http)服务器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络个人计算机、小型计算机、大型计算机等。

虽然描绘和/或描述了用于e&p计算机系统(118)和e&p工具(230)的单元和/或模块的特定组件,但是可使用具有各种功能的各种组件来提供用于e&p计算机系统(118)和e&p工具(230)的格式化、处理、实用程序和协调功能。组件可具有组合的功能性,并且可实现为软件、硬件、固件或其组合。

图2描绘了根据一个或多个实施方案的示例方法。例如,可以使用参考上图1.1和1.2描述的e&p计算机系统(118)来实践图2中所描绘的方法。在一个或多个实施方案中,图2中所示的元件中的一个或多个可省略、重复和/或以不同的顺序执行。因此,不应认为用于建模油田的自动校准的实施方案限于图2中所示的元件的特定布置。

最初在框201中,生成模型实现集合的初始部分。在一个或多个实施方案中,在校准迭代期间迭代地更新模型实现集合。在任何校准迭代之前,基于输入值集的初始部分生成模型实现集合的初始部分。在一个或多个实施方案中,蒙特卡洛(montecarlo)风险算法用于使用在输入值集的初始部分中指定的随机选择的输入值来生成模型实现集合的初始部分。

在框202中,在油田操作的当前部分期间获得油田的当前测量。例如,油田操作的当前部分可对应于在钻井操作期间钻出的特定深度。因此,新测量是从数据采集工具刚刚可访问的特定深度获得的。在一个或多个实施方案中,当前测量可包括通过使用诸如随钻钻井(lwd)、随钻测量(mwd)或其它合适测井技术的测井技术来获得的井压、温度测井、孔隙率数据、镜质体反射率、层厚度、热导率数据、地球化学数据、渗透率数据等。

在框203中,为模型实现集合中的每个模型实现生成似然值。在一个或多个实施方案中,通过至少将当前测量与对应模型实现的建模结果进行比较来生成似然值。具体地,生成误差的统计值作为比较的结果,以表示跨模型实现的网格点当前测量与建模结果之间的差异。例如,误差的统计值可以是网格点的比较差异的均方根平均值、算术平均值、几何平均值、中值或任何其它类型的统计平均值。基于均方根平均值的误差的示例统计值在下面的等式(1)中示出,其中表示第j个网格点的模拟参数值,djobs表示第j个网格点的测量参数值,并且n表示模型实现中的网格点数。

在一个或多个实施方案中,似然值包括与误差的统计值成反比的分量。例如,似然值可以包括误差统计值的倒数或误差统计值的其它反比例函数。基于上述等式(1)中所示的均方根平均值的示例似然值是1/rmse。

在一个或多个实施方案中,似然值包括取决于一组概率函数(pdf)的附加分量,其中每个pdf表示对于输入参数的不确定性水平。例如,似然值的附加分量通过使用调整因子或通过添加附加调整项来调整似然值。在一个或多个实施方案中,调整因子或附加调整项与包括在用于生成模型实现的输入值集中的输入参数值的pdf的乘积成比例。

在一个或多个实施方案中,基于要在后续校准迭代中使用的似然值来进一步调整pdf。例如,与高可能性模型实现相关联的输入值的概率可调整为较高。在一个或多个实施方案中,经调整的pdf是后验pdf。

在框204中,基于似然值从模型实现集合中选择至少一个模型实现。在一个或多个实施方案中,选择在模型实现集合中似然值最高的模型实现。在一个或多个实施方案中,选择似然值超过预定阈值的每个模型实现。在一个或多个实施方案中,使用统计采样技术来选择所述组建模实现的一部分,例如使用遗传算法、马尔可夫链蒙特卡罗(markovchainmontecarlo)算法、metropolis采样算法、卡尔曼(kalman)滤波算法等。

遗传算法是一种模仿自然选择过程的搜索启发式算法。在遗传算法中,众多候选解决方案(称为个体)被迭代地演化为更好的解决方案,其中每次迭代中的个体形成一代。每个个体具有可能在各代之间发生变异的一组可变的基因型特性(即,基因组)。在每一代中,对表示个体的适应度的目标函数进行评估以随机选择更适应的个体。所选个体基因组被修改(例如,重组或随机变异)以形成新一代。在一个或多个实施方案中,具有相关似然值和输入值集的每个模型实现被视为具有相关的适应度和基因组的个体,以便应用遗传算法。换句话说,似然值对应于适应度,输入值集对应于基因组,而选择模型实现对应于选择更适合的个体。

metropolis-hastings算法是一种用于从概率分布获得随机样本序列的马尔可夫链蒙特卡洛方法。在一个或多个实施方案中,模型实现集合的似然值被视为概率分布,以便应用metropolis-hastings算法。具体地,选择模型实现对应于选择metropolis-hastings算法中随机样本序列。

在框205中,通过调整一个或多个所选模型实现来生成经调整的模型实现。在一个或多个实施方案中,通过调整一个或多个所选模型实现的输入值集来生成经调整的模型实现。例如,可通过应用所选模型实现的多个输入值集的线性组合、应用随机调整(例如,噪声)至输入值集中的输入值、应用遗传算法、应用线性二次估计(例如,具有单个滤波器步长和阻尼因子为1或更大的稳态卡尔曼滤波器等来调整输入值集。

在一个或多个实施方案中,通过随机调整一个或多个输入值来调整输入值集,其在遗传算法中对应于变异个体的基因组。因此,通过将经调整的输入值集用作建模引擎的输入来模拟油田,生成经调整的模型实现。

在一个或多个实施方案中,通过随机组合所选模型实现的两个或更多个输入值集来生成经调整的模型实现,其在遗传算法中对应于重新组合两个个体的基因组。在一个或多个实施方案中,来自两个输入值集的输入参数值被混合以生成用于生成经调整的模型实现的经调整的输入值集。例如,来自输入值集的一个输入参数值可与来自另一输入值集的不同输入参数值组合以生成经调整的输入值集。因此,通过将经调整的输入值集用作建模引擎的输入来模拟油田,生成经调整的模型实现。具体来说,使用经调整的输入值集来模拟油田会更新所选模型实现中的建模输出数据,以生成经调整的建模实现。换句话说,经调整的建模实现包括从经调整的输入值集中导出的经更新的建模输出数据。

在框206中,将经调整的模型实现添加到要在后续校准迭代中使用的模型实现集合中。在一个或多个实施方案中,未选模型实现保留在模型实现集合中。

在框207中,基于经调整的模型实现生成经校准的建模结果。在一个或多个实施方案中,使用在扩展的建模实现集合中似然值最高的模型实现来生成经校准的建模结果。在一个或多个实施方案中,聚合来自扩展的建模实现集合的至少一部分的建模结果,以生成经校准的建模结果。例如,建模结果(表示为xi)乘以各自的似然值(表示为wi)并使用加权平均公式聚合(例如,下面的等式(2))以生成经校准的建模结果(表示为xc)。

xc=σmi=1wi*xi/σmi=1wi公式(2)

其中m表示聚合的模型实现的数量。

在一个或多个实施方案中,生成建模结果的统计分布作为经校准的建模结果。例如,统计分布可以是作为深度的函数的孔隙压力值的百分位分布。参考下图3.5和3.6描述包括百分位数分布的经校准的建模结果的示例。

在框208中,基于经校准的建模结果执行油田操作的当前部分。在一个或多个实施方案中,首先基于经校准的建模结果生成控制信号。因此,然后基于控制信号执行油田操作的当前部分。

在框209中,确定油田操作是否已经完成。如果确定是否定的,即油田操作尚未完成,则方法返回到框202,以执行后续校准迭代以用于油田操作的后续部分。如果确定是肯定的,即油田操作已经完成,则方法结束。

图3.1、3.2、3.3、3.4、3.5和3.6示出了根据一个或多个实施方案的示例。在一个或多个实施方案中,可使用图1.1和1.2中所示的e&p计算机系统和参考上图2描述的方法来实践这些图中所示的示例。以下示例是出于示例的目的,并非旨在限制权利要求的范围。

如上所述,盆地建模和/或石油系统建模考虑了沉积盆地在地质时间标度上的演变,这反映在盆地的地下地层的不同深度处获得的油田测量中。图3.1示出了用于执行在盆地建模和/或石油系统建模中使用的模型实现“c”的随机集合的实时自动校准的工作流程。具体地,实时自动校准是在油田操作期间执行,例如在地下地层(312)的钻机“a”处的钻井操作。通过将来自钻井操作的井测量“b”直接合并到模型实现“c”中来执行实时自动校准。井测量“b”可包括使用随钻测井(lwd)、随钻测量(mwd)获得)或其它标准的测井技术来获得的井压、温度测井、孔隙率、镜质体反射率、层厚度、热导率、地球化学数据、渗透率等。

在所述示例中,模型实现存储在可配置计算资源的共享池中,其被称为云(311)。如本文所使用的,云(311)是基于因特网的计算平台,其根据需要向用户计算机和其它设备提供共享的处理资源和数据。可用最少的管理工作快速地供应和释放云(311)。与油田操作相关的输入数据和输出数据(例如,井轨迹处)被存储以避免数据存储空间的爆炸。云计算和存储解决方案提供资源共享以实现一致性和规模经济,类似于通过例如电网的网络传播的实用程序。

随着新的实时井测量“b”与钻机“a”处的钻井操作同时被上传(例如,通过卫星链路(314))到云(311),相应地调整模型实现“c”的集合并用于计算改善的模型预测。此外,模型预测的不确定性可从各种模型实现中量化。因为可重新评估经更新的似然函数,所以即时执行已模拟的模型实现“c”的直接评估,以将实时反馈提供回钻机“a”。因此,当在钻井期间新数据“b”变得可用时,模型实现“c”的集合不断更新,并且所生成的模型预测可通过移动设备实时访问。然后立即使用最新的建模结果“d”(包括量化的不确定性)进行决策,例如调整钻井的钻探路径(313)或确定要钻探的新井的位置。基于实时井测量和最新建模结果的即时决策可缩短钻井时间并减少钻井故障。

盆地建模和/或石油系统建模工作流程可包括以下内容:建立输入模型、模拟模型和查看模拟输出。首先,来自工作站或本地计算机集群的模拟被移动到云计算环境中。云计算以低成本利用大规模并行计算设备,因此使用户能够将实时井测量与数百万个不同模型实现的建模结果进行比较。由于单个实现模拟独立运行并且必须在校准和模型添加步骤期间进行通信,因此模拟可分布在云中的大量处理器节点中并且并行运行。因此,自动校准工作流程可适用于云处理器上的并行计算。通过使用基于云计算的工作流程,在钻井操作期间迭代地生成经校准的建模结果,例如压力或泥浆重量深度图,以供用户通过移动设备(例如智能手机和平板电脑)观看。

图3.2示出了示例模型实现(235),诸如上文参考图1.2描述的模型实现的示例。具体地,模型实现(235)表示为二维(2d)区域(235-5),其对应于用于建模油田(100)的输入参数空间。2d区域(235-5)内的每个位置对应于输入参数的特定值集合。换句话说,2d区域(235-5)内的每个位置对应于特定输入值集。

模型实现(235)的初始部分中的每个模型实现(例如,模型实现a(235-1)、模型实现b(235-2)等)表示为2d区域(235-5)内的方形图标。每个方形图标的位置对应于用于生成初始部分中的模型实现的输入值集。另外,每个方形图标用“++”、“+”或“-”标注以指示相应模型实现的似然值。例如,“++”表示似然值处于高范围,“+”表示似然值处于中间范围,而“-”表示似然值处于低范围。

模型实现(235)中的每个经调整的模型实现(例如,经调整的模型实现a(235-3)、经调整的模型实现b(235-4)等)表示为2d区域(235-5)内的圆形图标。例如,可基于参考下图3.3描述的随机调整从模型实现a(235-1)生成经调整的模型实现a(235-3)。具体地,基于由注释“++”指示的高似然值来选择模型实现a(235-1)。在另一示例中,可以通过使用参考下图3.4描述的遗传算法组合模型实现a(235-1)和模型实现b(235-2)来生成经调整的模型实现b(235-4)。具体地,模型实现a(235-1)和模型实现b(235-2)分别基于由注释“++”和“+”指示的高似然值来选择。

通过应用随机调整和遗传算法到似然值相对高的模拟实现(例如,模型实现a(235-1)、模型实现b(235-2)),输入参数空间(即,2d区域(235-5))的高似然值区域(例如,由两条虚线界定的区域a(235-6)被勘探以扩展模型实现(235)并避免似然值的局部最大值或最小值(例如,在b区(235-7)和c区(235-8)区域内)。

图3.3示出了通过应用随机调整来生成经调整的模型实现的示意图。特别地,模型实现(235)的初始部分(235-5)中的模型实现a(235-1)和模型实现(235)的扩展部分中的模型实现b(235-2)是基于高似然值而选择。通过应用随机调整到模型实现a(235-1)的输入值,在包括经调整的模型实现a(235-3)的第一代中生成五个经调整的模型实现。通过应用随机调整到经调整的模型实现a(235-3)的输入值,在包括经调整的模型实现b(235-4)的第二代中生成五个经进一步调整的模型实现。在示例场景中,第一代在较早的校准迭代中生成,而第二代在后续校准迭代中生成。因此,添加五个经调整的模型实现以在较早的校准迭代中扩展模型实现(235)。随后,添加五个经进一步调整的模型实现以在后续校准迭代中进一步扩展模型实现(235)。具体地,除了经调整的模型实现a(235-1)之外,剩余的四个经调整的模型实现未被选择以在第二代中生成任何更多经调整的模型实现。在这种情况下,模型实现(235)视为基于适者生存而扩展。

在另一示例场景中,第一代和第二代都在相同的校准迭代中生成。因此,添加从第一代中选择的模型实现a(235-1)和从第二代中选择的经调整的模型实现b(235-4),以扩展模型实现(235)以供后续校准迭代。具体地,剩余的四个经调整的模型实现和剩余的四个经进一步调整的模型实现未被选择以生成任何更多经调整的模型实现来扩展模型实现(235)。在这种情况下,模型实现(235)视为基于适者生存而扩展。

图3.4示出了通过应用遗传算法来生成经调整的模型实现的示意图。具体地,基于高似然值,从模型实现(235)的初始部分(235-5)中的32个可能的模型实现对组合中选择五个模型实现对组合。通过混合每个所选模型实现对组合的输入值,生成包括经调整的模型实现a(235-3)和经调整的模型实现b(235-4)的五个经调整的模型实现。因此,添加五个经调整的模型实现以扩展模型实现(235)以供后续校准迭代。

图3.5示出了示例校准建模结果,其是当钻井操作达到2000m(米)的钻探深度时生成的等效泥浆重量图。具体地,示例等效泥浆重量图包括针对孔隙压力的等效泥浆重量的图a(320-1)和针对破裂压力的等效泥浆重量的图b(320-2)。为了指导钻井操作,针对孔隙压力的等效泥浆重量的图a(320-1)用作钻井用泥浆重量的下限,而针对破裂压力的等效泥浆重量的图b(320-2)用作钻井用泥浆重量的上限。根据图例(320),图a(320-1)中的每个“x”表示基于在从地面到2000m深度的钻井期间在相应深度处获得的井测量的孔隙压力值或破裂压力值。井测量用于在钻井达到相应深度时执行的自动校准迭代。具体地,井测量“a”和井测量“b”是在2000m深度处获得的并且分别对应于孔隙压力和破裂压力的新测量。具体地,井测量“a”和井测量“b”是在自动校准迭代中使用的上述当前测量,以生成所选模型实现并将经调整的模型实现添加到集合。基于具有新添加的经调整的模型实现的更新集合,生成深度2000m以下的孔隙压力预测和破裂压力预测作为经校准的建模结果。这些压力预测用于建立改善的泥浆重量限制,以防止由于压裂引起井喷和井破坏,并提高安全性和钻井速度。

如图3.5所示,深度2000m以下的孔隙压力预测包括图a(320-1)的p10、p50和p90,分别表示数百万个不同模型实现的模拟孔隙压力值的10%、50%和90%。换句话说,数百万个不同模型实现中10%的模拟孔隙压力值低于p10,数百万个不同模型实现中50%的模拟孔隙压力值低于p50,并且数百万个不同模型实现中90%的模拟孔隙压力值低于p90。类似地,深度2000m以下的断裂压力预测包括图b(320-2)的p10、p50和p90,其分别表示数百万个不同模型实现的模拟破裂压力值的10%、50%和90%。换句话说,数百万个不同模型实现中10%的模拟破裂压力值低于p10,数百万个不同模型实现中50%的模拟破裂压力值低于p50,并且数百万个不同模型实现中90%的模拟破裂压力值低于p90。

图3.6示出了示例校准的建模结果,其是当钻井操作达到3600m的钻探深度时生成的等效泥浆重量图。具体地,示例等效泥浆重量图包括针对孔隙压力的等效泥浆重量的图c(330-1)和针对破裂压力的等效泥浆重量的图d(330-2)。类似于上图3.5中描绘的示例等效泥浆重量图,针对孔隙压力的等效泥浆重量的图c(330-1)用作钻井用泥浆重量的下限,而用于破裂压力的等效泥浆重量的图d(330-2)用作钻井用泥浆重量的上限。根据图例(330),图a(320-1)中的每个“x”表示基于在从地面到3600m深度的钻井期间在相应深度处获得的井测量的孔隙压力值或破裂压力值。井测量用于在钻井达到相应深度时执行的自动校准迭代。具体地,井测量“c”和井测量“d”是在3600m深度处获得的并且分别对应于孔隙压力和破裂压力的新测量。具体地,井测量“c”和井测量“d”是在自动校准迭代中使用的上述当前测量,以生成所选模型实现并将经调整的模型实现添加到集合。基于具有新添加的经调整的模型实现的更新集合,生成深度3600m以下的孔隙压力预测和破裂压力预测作为经校准的建模结果。这些压力预测用于建立改善的泥浆重量限制,以防止由于压裂引起井喷和井破坏,并提高安全性和钻井速度。

如图3.6所示,深度3600m以下的孔隙压力预测包括图c(330-1)的p10、p50和p90,分别表示数百万个不模型实现的模拟孔隙压力值的10%、50%和90%。类似地,深度3600m以下的断裂压力预测包括图d(330-2)的p10、p50和p90,其分别表示数百万个不同模型实现的模拟破裂压力值的10%、50%和90%。

在上图3.5和3.6中描述的钻井操作期间,建模输入数据和一部分建模输出数据(例如,井轨迹处的建模结果)包括在模型实现中,以减少数据存储空间。执行任何模型实现的重新模拟以添加附加数据(例如,与新井位相关)以减少计算资源。

用于建模油田的自动校准的实施方案可在计算系统上实现。可以使用移动设备、桌面设备、服务器、路由器、交换机、嵌入式设备或其它类型的硬件的任何组合。例如,如图4.1所示,计算系统(400)可包括一个或多个计算机处理器(402)、非持久存储器(404)(例如,易失性存储器,例如随机存取存储器(ram)、高速缓存存储器)、持久存储器(406)(例如,硬盘、光驱,例如光盘(cd)驱动器或数字通用光盘(dvd)驱动器、闪存等),通信接口(412)(例如,蓝牙接口、红外接口、网络接口、光学接口等),以及许多其它元素和功能。

计算机处理器(402)可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个核或微核。计算系统(400)还可包括一个或多个输入设备(410),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其它类型的输入设备。

通信接口(412)可包括用于将计算系统(400)连接到网络(未示出)的集成电路(例如,局域网(lan),广域网(wan),诸如因特网,移动网络或任何其它类型的网络)和/或诸如另一计算设备的另一设备。

此外,计算系统(400)可包括一个或多个输出设备(408),例如屏幕(例如,液晶显示器(lcd)、等离子显示器、触摸屏、阴极射线管(crt)监视器、投影仪或其它显示设备)、打印机、外部存储器或任何其它输出设备。一个或多个输出设备可与输入设备相同或不同。输入和输出设备可本地或远程地连接到计算机处理器(402)、非持久存储器(404)和持久存储器(406)。存在许多不同类型的计算系统,并且上述输入和输出设备可采用其它形式。

用于执行实施方案的呈计算机可读程序代码形式的软件指令可全部或部分地、临时或持久地存储在非暂时性计算机可读介质上,诸如cd、dvd、存储设备、磁盘、磁带、闪存、物理存储器或任何其它计算机可读存储介质。具体地,软件指令可对应于计算机可读程序代码,当由处理器执行时,所述计算机可读程序代码被配置为执行一个或多个实施方案。

图4.1中的计算系统(400)可连接到网络或作为网络的一部分。例如,如图4.2所示,网络(420)可包括多个节点(例如,节点x(422)、节点y(424))。每个节点可对应于计算系统,例如图4.1中所示的计算系统,或者组合的一组节点可对应于图4.1中所示的计算系统。作为示例,可在连接到其它节点的分布式系统的节点上实现实施方案。作为另一示例,实施方案可在具有多个节点的分布式计算系统上实现,其中每个部分可位于分布式计算系统内的不同节点上。此外,前述计算系统(400)的一个或多个元件可位于远程位置并且通过网络连接到其它元件。

虽然未在图4.2中示出,节点可对应于服务器机箱中的刀片,所述刀片通过底板连接到其它节点。作为另一示例,节点可对应于数据中心中的服务器。作为另一示例,节点可对应于具有共享存储器和/或资源的计算机处理器或计算机处理器的微核。

网络(420)中的节点(例如,节点x(422)、节点y(424))可被配置为为客户端设备(426)提供服务。例如,节点可以是云计算系统的一部分。节点可包括用于从客户端设备(426)接收请求并将响应发送到客户端设备(426)的功能。客户端设备(426)可以是计算系统,诸如图4.1中所示的计算系统。此外,客户端设备(426)可包括和/或执行一个或多个实施方案的至少一部分。

图4.1和4.2中描述的计算系统或计算系统组可包括执行本文公开的各种操作的功能。例如,计算系统可在相同或不同系统上的进程之间执行通信。采用某种形式的主动或被动通信的各种机制可促进同一设备上的进程之间的数据交换。代表这些进程间通信的示例包括但不限于文件、信号、套接字、消息队列、管道、信号量,共享存储器、消息传递和存储器映射式文件的实现。以下提供关于所述非限制性实施方案中的一些的进一步细节。

基于客户端-服务器网络模型,套接字可充当接口或通信通道端点,从而实现同一设备上进程之间的双向数据传输。最重要的是,遵循客户端-服务器网络模型,服务器进程(例如,提供数据的进程)可创建第一套接字对象。接下来,服务器进程绑定第一个套接字对象,从而将第一个套接字对象与唯一的名称和/或地址相关联。在创建并绑定第一个套接字对象之后,服务器进程然后等待并侦听来自一个或多个客户端进程(例如,搜索数据的进程)的传入连接请求。此时,当客户端进程希望从服务器进程获取数据时,客户端进程通过创建第二个套接字对象开始。然后,客户端进程继续生成连接请求,所述连接请求至少包括第二套接字对象和与第一套接字对象相关联的唯一的名称和/或地址。然后,客户端进程将连接请求发送到服务器进程。根据可用性,服务器进程可接受连接请求,从而与客户端进程建立通信通道,或者忙于处理其它操作的服务器进程可将连接请求排入缓冲区直到服务器进程准备就绪。建立的连接通知客户端进程可开始通信。作为响应,客户端进程可生成指定客户端进程希望获得的数据的数据请求。随后将数据请求发送到服务器进程。在接收到数据请求时,服务器进程分析所述请求并收集所请求的数据。最后,服务器进程然后生成包括至少所请求的数据的回复,并将回复发送到客户端进程。数据可作为数据报或字符流(例如,字节)传输。

共享存储器指的是虚拟存储器空间的分配,以便实体化可由多个进程通信和/或访问数据的机制。在实现共享存储器时,初始化进程首先在持久存储器或非持久存储器中创建可共享区段。创建后,初始化进程然后安装可共享区段,随后将可共享区段映射到与初始化进程相关联的地址空间。在安装之后,初始化进程继续以识别并授予对一个或多个授权进程的访问许可,所述授权进程也可向可共享区段写入和从可共享区段读取数据。一个进程对可共享区段中的数据所做的更改可能会立即影响也与可共享区段相关联的其它进程。此外,当授权进程之一访问可共享区段时,可共享区段映射到所述授权进程的地址空间。通常,除可初始化进程之外,一个授权进程可在任何给定时间安装可共享区段。

在不脱离权利要求的范围的情况下,可使用其它技术来在进程之间共享数据,诸如本申请中描述的各种数据。这些进程可以是相同或不同应用程序的一部分,并且可在相同或不同的计算系统上执行。

除了在进程之间共享数据之外或者除了共享数据之外,执行一个或多个实施方案的计算系统可包括从用户接收数据的功能。例如,在一个或多个实施方案中,用户可通过用户设备上的图形用户界面(gui)提交数据。通过用户选择一个或多个图形用户界面小部件或使用触摸板、键盘、鼠标或任何其它输入设备将文本和其它数据插入图形用户界面小部件,可以经由图形用户界面提交数据。响应于选择特定项目,可通过计算机处理器从持久或非持久存储器获得关于特定项目的信息。在用户选择项目时,响应于用户的选择,可在用户设备上显示所获得的关于特定项目的数据的内容。

作为另一示例,可将获得关于特定项目的数据的请求通过网络发送到可操作地连接到用户设备的服务器。例如,用户可在用户设备的网络客户端内选择统一资源定位符(url)链接,从而发起超文本传输协议(http)或其它协议请求被发送到与url相关联的网络主机。响应于所述请求,服务器可提取关于特定所选项的数据,并将数据发送到发起请求的设备。一旦用户设备已接收到关于特定项的数据,则响应于用户的选择,可在用户设备上显示关于特定项目的接收数据的内容。进一步对于上述示例,在选择url链接之后从服务器接收的数据可提供可由网络客户端呈现并显示在用户设备上的超文本标记语言(html)的网页。

一旦获得数据,例如通过使用上述技术或从存储器获得数据,计算系统在执行一个或多个实施方案时可从获得的数据中提取一个或多个数据项。例如,可通过图4.1中的计算系统如下执行提取。首先,确定数据的组织模式(例如,语法、模式、布局),其可以基于以下各者中的一者或多者:位置(例如,位或列位置,数据流中的第n个令牌等)、属性(其中属性与一个或多个值相关联),或分级/树结构(包括不同细节级别的节点层,例如嵌套包报头或嵌套文档部分)。然后,在组织模式的上下文中,将未处理的原始数据符号流解析为令牌的流(或分层结构)(其中每个令牌可具有相关联的令牌“类型”)。

接下来,使用提取标准来从令牌流或结构中提取一个或多个数据项,其中根据组织模式处理提取标准以提取一个或多个令牌(或来自分层结构的节点)。对于基于位置的数据,提取由提取标准所识别的位置处的令牌。对于基于属性/值的数据,提取与满足提取标准的属性相关联的令牌和/或节点。对于分级/分层数据,提取与匹配提取标准的节点相关联的令牌。提取标准可与标识符字符串一样简单,或者可以是呈现给结构化数据存储库的查询(其中可根据数据库模式或数据格式(例如xml)来组织数据存储库)。

所提取的数据可用于供计算系统进一步处理。例如,图4.1的计算系统在执行一个或多个实施方案时可执行数据比较。数据比较可用于比较两个或更多个数据值(例如,a、b)。例如,一个或多个实施方案可确定a>b、a=b、a!=b、a<b等。可通过提交a、b和指定与比较相关的运算的运算码到算术逻辑单元(alu)(即,对两个数据值执行算术和/或按位逻辑运算的电路)来执行比较。alu输出运算的数值结果和/或与数值结果相关的一个或多个状态标志。例如,状态标志可指示数值结果是正、负、零等。通过选择适当的运算码,然后读取数值结果和/或状态标志,可执行比较。例如,为了确定是否a>b,可从a中减去b(即,a-b),并且可读取状态标志以确定结果是否为正(即,如果a>b,则a-b>0)。在一个或多个实施方案中,b可被认为是阈值,并且如使用alu所确定的,如果a=b或者如果a>b,则认为a满足阈值。在一个或多个实施方案中,a和b可以是矢量,并且将a与b进行比较包括比较矢量a的第一元素与矢量b的第一元素,矢量a的第二元素与矢量b的第二元素等。在一个或多个实施方案中,如果a和b是字符串,则可比较字符串的二进制值。

图4.1中的计算系统可实现和/或连接到数据存储库。例如,一种类型的数据存储库是数据库。数据库是为便于数据检索、修改、重新组织和删除而配置的信息集合。数据库管理系统(dbms)是一种为用户提供定义、创建、查询、更新或管理数据库的界面的软件应用程序。

用户或软件应用程序可向dbms提交语句或查询。然后dbms解释语句。语句可以是select语句来请求信息、更新语句、创建语句、删除语句等。此外,语句可包括指定数据的参数,或数据容器(数据库、表、记录、列、视图等)、标识符、条件(比较运算符)、函数(例如,连接、完全连接、计数、平均等)、排序(例如,升序、降序)或其它。dbms可执行所述语句。例如,dbms可访问存储器缓冲区、引用或索引文件以进行读取、写入、删除,或其任何组合,以响应语句。dbms可从持久存储器或非持久存储器加载数据并执行计算以响应查询。dbms可将结果返回给用户或软件应用程序。

图4.1的计算系统可包括呈现原始和/或经处理的数据的功能,例如比较和其它处理的结果。例如,呈现数据可通过各种呈现方法来完成。具体地,可通过计算设备提供的用户界面呈现数据。用户界面可包括在显示设备上显示信息的gui,例如计算机监视器或手持计算机设备上的触摸屏。gui可包括各种gui小部件,其组织显示什么数据以及如何向用户呈现数据。此外,gui可直接向用户呈现数据,例如,通过文本呈现为实际数据值的数据,或者由计算设备呈现为数据的可视表示,例如通过可视化数据模型。

例如,gui可首先从软件应用程序获得请求在gui内呈现特定数据对象的通知。接下来,gui可确定与特定数据对象相关联的数据对象类型,例如,通过从数据对象内的数据属性获得标识数据对象类型的数据。然后,gui可确定指定用于显示所述数据对象类型的任何规则,例如,由软件框架为数据对象类指定的规则,或者根据由gui定义的用于呈现所述数据对象类型的任何本地参数。最后,gui可从特定数据对象获得数据值,并根据所述数据对象类型的指定规则在显示设备内呈现数据值的可视表示。

还可以通过各种音频方法呈现数据。具体地,数据可被呈现为音频格式并且通过可操作地连接到计算设备的一个或多个扬声器呈现为声音。

还可通过触觉方法将数据呈现给用户。例如,触觉方法可包括由计算系统生成的振动或其它物理信号。例如,可使用由手持计算机设备产生的振动将数据呈现给用户,所述振动具有预定义的持续时间和振动强度以传送数据。

以上对功能的描述呈现了由图4.1的计算系统和图4.2中的节点和/或客户端设备执行的功能的一些示例。可使用一个或多个实施方案来执行其它功能。

虽然已经关于有限数量的实施方案描述了一个或多个实施方案,但是受益于本公开的本领域技术人员将理解,可以设计出不脱离本文所公开的范围的其它实施方案。因此,范围应受所附权利要求的限制。

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