管理案例的版本转让专利

申请号 : CN201280071025.X

文献号 : CN104160373A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·库玛尔S·戈雷尔

申请人 : 兰德马克绘图国际公司

摘要 :

计算机系统记录多个案例。每一个案例被软件系统使用。软件系统的版本对于每一个案例是相同的。每一个案例包括一组输入数据。每一个案例包括父案例的识别,该案例中的输入数据从该父案例中拷贝,除非该案例是原始案例。该父案例的识别创建该案例与该父案例之间的父/子关系。该计算机系统创建多个案例之间的父/子关系的层级。该计算机系统响应于多个案例的搜索显示多个案例的子集。选择多个案例的较小的子集作为执行活动的环境的选择模型。

权利要求 :

1.一种方法,包括:

计算机系统记录多个案例,每一个案例被软件系统使用,所述软件系统的版本对于每一个案例是相同的,每一个案例包括:一组输入数据;以及

父案例的识别,除非所述案例是原始案例否则所述案例中的输入数据从所述父案例中拷贝,所述父案例的识别创建所述案例与所述父案例之间的父/子关系;

所述计算机系统创建所述多个案例之间的所述父/子关系的层级;

所述计算机系统响应于所述多个案例的搜索显示所述多个案例的子集;

选择所述多个案例的较小的子集作为执行活动的环境的选择模型;

使用所述选择模型计划所述活动的执行,以产生活动计划;以及使用所述活动计划进行所述活动。

2.根据权利要求1所述的方法,其中:所述计算机系统接收多个消息,每一个消息包括来自所述多个案例中的案例。

3.根据权利要求1所述的方法,其中:所述计算机系统显示所述多个案例的子集包括以能够识别所述多个案例的各子集之间的差异的方式来显示所述多个案例的所述子集。

4.根据权利要求1所述的方法,其中:所述计算机系统显示所述多个案例的子集包括以显示所述多个案例的所述子集之间的所述父/子层级的方式来显示所述多个案例的所述子集。

5.根据权利要求1所述的方法,还包括:所述计算机系统在一案例作为输入被提供给所述软件系统时将由所述软件系统产生的输出数据与所述案例相关联。

6.根据权利要求1所述的方法,其中:显示所述多个案例的子集包括使用查询识别所述多个案例的所述子集。

7.根据权利要求1所述的方法,其中:显示所述多个案例的子集包括遵循所述父/子层级分层级地显示所述多个案例的所述子集。

8.根据权利要求1所述的方法,其中:显示所述多个案例的子集包括显示所述多个案例的所述子集中的两个案例之间的差异。

9.根据权利要求8所述的方法,其中:显示所述多个案例的所述子集中的两个案例之间的差异包括在所述两个案例之间执行相似度分析。

10.一种存储在非瞬态计算机可读介质中的计算机程序,所述程序包括可执行指令,所述可执行指令使计算机:记录多个案例,每一个案例被软件系统使用,所述软件系统的版本对于每一个案例是相同的,每一个案例包括:一组输入数据;以及

父案例的识别,除非所述案例是原始案例否则所述案例中的输入数据从所述父案例中拷贝,所述父案例的识别创建所述案例与所述父案例之间的父/子关系;

创建所述多个案例之间的所述父/子关系的层级;以及响应于所述多个案例的搜索显示所述多个案例的子集。

11.根据权利要求10所述的计算机程序,还包括可执行指令,所述可执行指令使所述计算机:接收多个消息,每一个消息包括来自所述多个案例的案例。

12.根据权利要求10所述的计算机程序,当显示所述多个案例的所述子集时,所述计算机:以能够识别所述多个案例的各子集之间的差异的方式来显示所述多个案例的所述子集。

13.根据权利要求10所述的计算机程序,当显示所述多个案例的所述子集时,所述计算机:以显示所述多个案例的所述子集之间的所述父/子层级的方式来显示所述多个案例的所述子集。

14.根据权利要求10所述的计算机程序,还包括可执行指令,所述可执行指令使所述计算机:当一案例作为输入被提供给所述软件系统时将由所述软件系统产生的输出数据与所述案例相关联。

15.根据权利要求10所述的计算机程序,当显示所述多个案例的所述子集时,所述计算机:使用查询识别所述多个案例的所述子集。

16.根据权利要求10所述的计算机程序,当显示所述多个案例的所述子集时,所述计算机:遵循所述父/子层级分层级地显示所述多个案例的所述子集。

17.根据权利要求10所述的计算机程序,当显示所述多个案例的所述子集时,所述计算机:显示所述多个案例的所述子集中的多个案例中的两个之间的差异。

18.根据权利要求17所述的方法,当显示所述多个案例的所述子集中的所述多个案例中的两个之间的差异时,所述计算机:在所述两个案例之间执行相似度分析。

说明书 :

管理案例的版本

背景技术

[0001] 复杂技术软件系统(诸如用来建模石油系统的那些系统)的用户常创建几个案例(case)或场景来解释软件系统的已知输入参数中的不确定性或在“假设分析(what-if)”中尝试不同版本的输入参数变量。这些软件系统常对于案例输入数据进行操作并产生输出数据。管理由此所得到的案例版本和由此所得到的输出数据可能具有挑战性。

附图说明

[0002] 图1是管理案例的版本的现有技术方法的例示。
[0003] 图2是用于创建并管理案例的系统的例示。
[0004] 图3、图4A、图4B、图5以及图6示出智能转译层的操作。
[0005] 图7示出用于创建并管理案例的系统的特征。
[0006] 图8示出更改文件和更改文件的一个记录。
[0007] 图9示出案例文件和案例文件的一个记录。
[0008] 图10-14和图16示出多个案例之间的层级。
[0009] 图15和图17示出按照案例记录的名称父字段的案例之间的层级。
[0010] 图18示出搜索的层级结果。
[0011] 图19示出对从父案例到子案例的改变的显示。
[0012] 图20示出对案例的选择。
[0013] 图21示出两个案例之间的差异的视图。
[0014] 图22是流程图。

具体实施方式

[0015] 图1中示出的用于管理案例版本的现有技术方法105涉及对案例的识别。“案例”被定义为用来模拟产生输出(诸如输出文件120)的模拟器(诸如软件115)的一组输入数据(诸如输入文件110)。一些软件允许软件的用户录入关于案例的注释或注解,当用户在以后打开该案例用于分析时,这些注释或注解是可见的。本申请的受让人提供的一些软件(诸如 储层模拟软件)允许用户手动创建多个案例的层级系统。用户通过将这种信息写入实验室笔记本125来追踪多个案例之间的关系(即,通过拷贝案例A创建的案例B)以及案例的改变(即,储层温度被改变为200℃)。
[0016] 在该多个案例中进行搜索将是有用的,每一个案例可以具有与存储在实验室笔记本125中的多个不同项目有关的多个变量。另外,能够使用存储在实验室笔记本125中的案例的细节对案例进行分类将是有用的。例如,用户可能想要看一下过去五周内编辑的他/她近六个月内从事的案例或场景(即,多组链接的案例)。更进一步,软件115在处理案例的过程中可以使用的一个或多个外部计算机文件130。例如,用户可以接收电子表格、图像文件或包含与案例或场景有关的数据或信息的另一类型的文档。用户可能发现有用的是知道在处理案例或场景的过程中使用什么样的外部文件130。用户还可能发现有用的是存储外部文件130的副本使得案例或场景的处理能够被准确地复制。
[0017] 用于创建并管理案例和场景的系统205的一个实施例在图2中示出。在下文中,说明书将讨论创建并管理案例。将理解的是,创建并管理场景使用类似的技术。
[0018] 在一个实施例中,系统205包括智能转译层210,智能转译层210通过用户接口接收“用户数据”和/或“工程数据”215,并且通过格式改变、计算、重构和/或类似的操作将其转换成与软件115的输入规格匹配的形式(即,作为技术栈225的一部分的所需模型数据220)。
[0019] 在一个实施例中,数据管理层230创建并管理案例,如下文更详细讨论的。在一个实施例中,计算层235使用软件115执行对例如模型的计算。在一个实施例中,其它层240执行诸如在附接的监控器上显示模型数据、与网络(诸如局域网或互联网)上的其它系统进行通信、打印模型数据等其它功能,以及其它类似功能。
[0020] 智能转译层210的一个实施例的操作的示例在图3、图4A、图4B以及图5中示出。智能转译层210允许系统205的用户使用用户熟悉的参数和单元键入“用户数据”和/或工程数据215。例如,在图3所示的一个实施例中,用户已将参数键入到显示在计算机监控器上且使用计算机及其外设(诸如键盘、鼠标、图形输入板等)被操控的屏幕305中。这些参数(诸如储层长度、储层宽度等)为地质学家所熟悉,并且石油工程师可能使用这种系统。在一个实施例中,智能转译层210获取用户所键入的储层温度和相对气体比重参数的值(如屏幕305上的虚线框所突显的),并且计算在图3的底部示出的输出压力-体积-温度(“PVT”)文件的数据(其是对软件115有用的数据)。
[0021] 类似地,在一个实施例中,智能转译层210接收如图4A中的顶部虚线框突出显示的用户键入的储层长度、储层宽度、储层面积以及储层厚度以及如图4A中的底部虚线框表示的断裂段(fracture stage)的数量、断裂间距、断裂半长、断裂宽度以及断裂高度(所有的这些都是地质学家和石油工程师熟悉的参数),并且计算网格文件(其是对软件115有用的数据),如图4B所示。
[0022] 类似地,在一个实施例中,智能转译层210将图3、图4A以及图4B所示的储层数据与图5所示的井数据结合,尤其与图5中的虚线框突显的井侧向长度(lateral length)、井位置以及井方位结合,并且计算图5的底部示出的井文件(其是对软件115有用的数据)。
[0023] 在一个实施例中,如图6所示,用户键入的“用户数据”和“工程数据”的最终结果是基于断裂数据的自动生成的局部填充网格。
[0024] 在一个实施例中,数据管理层230通过给用户提供使案例名称能够被键入的屏幕来管理案例的创建。在一个实施例中,当案例被创建时键入数据输入字段的“用户数据”和/或“工程数据”(诸如图3、图4A以及图5所示的那些)与案例名称相关联。在一个实施例中,与案例名称相关联的数据是“用户数据”和/或“工程数据”215。在一个实施例中,与案例名称相关联的数据是所需的模型数据220。在一个实施例中,与案例名称相关联的数据包括“用户数据”和/或“工程数据”215以及所需的模型数据220。
[0025] 在一个实施例中,当案例被创建时,作为用户接口的一部分,系统205使用例如根据当前时间、本地或以其它方式计算的时间戳为正在被创建的案例主动创建名称。
[0026] 在一个实施例中,数据管理层230追踪案例的该组输入值的状态。数据管理层230并不是一个用于管理例如软件115的开发的软件开发版本管理系统。数据管理系统的目标是管理案例的创建和演化。
[0027] 通常,如图7所示,数据管理层230提供若干个特征。数据管理层230追踪案例705。在一个实施例中,数据管理层230通过例如存储反映案例被创建时的创建日期和时间的时间戳来追踪案例被创建的数据和时间。
[0028] 在一个实施例中,依据例如案例是否与同一区域或井相关联、输入数据的差异以及输出数据的差异,数据管理层230追踪案例彼此之间的关系。在一个实施例中,数据管理层230通过存储与每一个案例的这些比较点相关的数据并提供诸如数据库查询引擎等工具执行该功能,以使案例之间的数据的比较成为可能。
[0029] 在一个实施例中,通过指定案例参数值的范围、通过识别案例并请求“相关”的案例(其中,在一个实施例中,“相关”是指下文讨论的父/子或兄弟关系)或者通过识别案例并请求“类似”的案例(其中,在一个实施例中,“类似”是指下文讨论的案例之间的相似度),数据管理层230允许用户使用例如地理位置和/或正被建模的井或储层来搜索案例710。在一个实施例中,数据管理层230通过存储与每一个案例的这些搜索点相关的数据并提供诸如数据库查询引擎等工具执行该功能,以使案例的搜索成为可能。
[0030] 在一个实施例中,数据管理层230允许用户对案例715进行分类。在一个实施例中,例如通过地理位置、井场、地质参数值或一些其它分类,这些案例能够被分类成用户定义的“文件夹”,该“文件夹”可能对应于或者也可能不对应于操作系统文件夹。在一个实施例中,数据管理层230允许用户识别例如用户发现在其它案例的创建中有用或有影响的“喜欢的”案例。在一个实施例中,数据管理层230自动创建“文件夹”,该“文件夹”可能对应于或者也可能不对应于这样的操作系统文件夹,即该操作系统文件夹包含根据日期、地理区域或一些其它类似项相关的案例。在一个实施例中,用户能够通过“首选”接口指定这种自动文件夹的创建。
[0031] 在一个实施例中,数据管理层230为外部文件720提供支持。在一个实施例中,这包括裁剪来自操作系统(如来自目录、商店或云位置中的文件的列表)的数据或文件并将其存储在“糖果盒”(goodie box)中,“糖果盒”是保存用户发现有用的数据文件和其它材料的文件夹或者其它文件组织技术。在一个实施例中,数据管理层230允许来自糖果盒中的材料被拖动并下拉或被拷贝,并且与一案例或多个案例相关联。在一个实施例中,数据管理层230允许用户定义的元数据(诸如注解、来源、修订历史、测试有效性等)与外部文件(与案例相关联的那个)相关联。在一个实施例中,元数据包括反映案例的有效性的“用户等级”、案例被使用的程度或其它类似度量。例如,用户可以使用一颗星到五颗星的等级。在一个实施例中,五颗星的等级表明该案例是非常有用的或者具有非常高的品质,并且可能被指定为已呈现给客户或者提交给管理的案例。在一个实施例中,一颗星的等级表明从用户角度来看该案例具有低的品质。在一个实施例中,“用户等级”能够被用作在定位案例的过程中的搜索参数。这种搜索的一个实施例的示例是“搜索在顶深超过6000英尺的储层中钻探的井的侧向长度在1500英尺和3000英尺之间的、4颗星及更高的所有案例”。在一个实施例中,这种搜索的输出将局限于“用户等级”是四颗星或更多颗星的案例。
[0032] 在一个实施例中,数据管理层230提供案例725的层级视图。在一个实施例中,这种视图包括案例的父/子或兄弟关系,如下文更详细讨论的。在一个实施例中,这种视图依据案例的起源呈现这些案例,即,依据它们如何繁衍到后代和兄弟以及依据如下文描述的它们与父、后代以及子有什么不同来呈现这些案例。在一个实施例中,数据管理层230允许基于例如上文讨论的分类来过滤所查看的案例。在一个实施例中,通过例如依次右击将要进行比较的显示案例,数据管理层230允许选择在层级视图中显示的案例的比较。在一个实施例中,一旦选择了将要进行比较的案例,就能够按压或者点击屏幕上的“比较”按钮并且将提供对案例的比较。
[0033] 在一个实施例中,该数据管理层提供选自包括用于“用户数据”和/或“工程数据”215的数据输入点的几个默认模板、空白模板以及自定义模板的模板。图3、图4A以及图5中的屏幕示出若干个示例模板。在一个实施例中,选择模板中的数据能够被编辑为用户所期望的,被保存为案例,并且所需模型数据220的计算将针对该数据执行。
[0034] 在一个实施例中,数据管理层230允许案例“签入”和“签出”的。在一个实施例中,当案例“签出”时,用户能够修改与该案例相关联的“用户数据”和/或“工程数据”215。在一个实施例中,当案例“签入”时,与该案例相关联的“用户数据”和/或“工程数据”215被锁定并且不能被修改。在一个实施例中,当在“签出”之后再“签入”时,数据管理层230存储有关案例的数据。在一个实施例中,当案例“签出”时,数据管理层230周期性地(即,每10分钟或每小时)存储有关案例的数据。在一个实施例中,数据管理层230存储有关案例的数据,每当有关该案例的改变发生时,例如当图3、图4A以及图5所示的参数之一改变时。
[0035] 在一个实施例中,数据管理层230管理一组用户以及给予用户的每一个的特权,该特权是关于特定用户是否具有特权来“签出”案例、拷贝案例或者执行与该案例相关的其它操作。
[0036] 在一个实施例中,与案例相关联的输入数据例如通过将与该案例相关联的数据结构保存到硬驱动而由数据管理层230以持久的方式保持,即使其被拷贝、编辑、重命名或删除,并且基于子关系、父关系以及兄弟关系保持案例的层级表示,如下文讨论的。
[0037] 在一个实施例中,每一个案例的更改数据被存储在单独的文件中。在一个实施例中,创建来自其父的案例作出的改变被保持在一个文件中,并且在该案例创建之后对其作出的改变被保持在另一个文件中。在一个实施例中,对案例的所有改变被保持在单个文件中。在一个实施例中,对所有案例作出的改变被保持在单个文件中,而修订被整理在链接表中,例如图8所示的那样。图8示出链接表更改文件810的一个更改文件记录805。在一个实施例中,记录805包括可能不同于用户所建立的案例名称的唯一案例识别符字段815。在一个实施例中,唯一案例识别符字段815包括与案例被创建的日期和时间相关联的时间戳。
[0038] 在一个实施例中,更改文件记录805包括更改类型字段820。在一个实施例中,如果改变反映当案例被创建时来自父案例的改变,则更改类型字段820具有一个值(如“原始”或者“o”),如果改变反映在案例被创建之后对案例作出的改变,则更改类型字段820具有另一个值(如“修订”或者“r”)。在一个实施例中,更改类型字段820包括在作出改变时的时间戳。
[0039] 在一个实施例中,更改文件记录805包括更改字段820,该更改字段820包含所作出的改变。例如,在一个实施例中,更改字段包括正被改变的字段的识别符(即,“储层长度”或者表示该字段的代码)。在一个实施例中,更改字段820包括正被改变的字段的旧值。在一个实施例中,更改字段820包括正被改变的字段的新值。
[0040] 在一个实施例中,记录805包括指向该案例830的先前改变的向上链接。在一个实施例中,向上链接830是指向更改文件810中的另一个记录的指针(pointer)。在一个实施例中,向上链接是指向另一个文件中的记录的指针。
[0041] 在一个实施例中,记录805包括指向该案例835的下一个改变的向下链接。在一个实施例中,向下链接835是更改文件810中的另一个记录的指针。在一个实施例中,向下链接835是另一个文件中的记录的指针。
[0042] 在一个实施例中,数据管理层230保持更改文件810。
[0043] 在一个实施例中,数据管理层230为每一个案例保持案例记录905(诸如图9所示的案例记录905)。在一个实施例中,所有案例的案例记录905被存储在案例文件910中。在一个实施例中,案例记录905包括一个或者多个标题字段915。在一个实施例中,标题字段915包括案例的名称(其可以是与图8结合讨论的唯一案例识别符)、案例被创建的日期、案例的父(下文描述的)、与案例相关联的地理位置、区域、储层和/或与案例相关联的井。
[0044] 在一个实施例中,案例记录905包括一个或者多个输入数据字段920。在一个实施例中,输入数据字段920包括输入数据本身、输入数据文件的列表、指向输入数据文件的列表的指针、指向输入数据文件的链接表的指针和/或指向与案例相关联的文件(其在一个实施例中为外部文件(诸如外部文件130))的指针。
[0045] 在一个实施例中,案例记录905包括一个或者多个输出数据字段920。在一个实施例中,输出数据字段920包括输出数据本身、数据输出文件的列表、指向输出数据文件的列表的指针和/或指向输出数据文件的链接表的指针。
[0046] 在一个实施例中,案例记录905包括一个或者多个修订数据字段930。在一个实施例中,修订数据字段930包括包含在创建时来自父的修订的字段、包含因创建的修订数据的字段,包括修订数据本身和/或指向修订数据的链接表的指针。在一个实施例中,使用类似于图8所示的记录805的记录来记录对案例的修订。
[0047] 在一个实施例中,数据管理层230保持案例之间的层级关系。例如,在一个实施例中,图10所示的模板T1 1005可作为建立案例的起始点使用。在一个实施例中,案例C11105从模板T1 1005创建而来。在一个实施例中,数据管理层230将案例C1 1105记录为模板T1 1005的子并将模板T1 1005记录为案例C1 1105的父。在一个实施例中,模板T1
1005与案例C1 1105之间的差异被记录在更改文件810中的更改记录805中(诸如图8所示的那样),或者记录在案例记录905的修订数据930中(诸如图9所示的那样)。
[0048] 在一个实施例中,如果对案例C1 1105作出改变,则改变被记录在相关联的案例记录905和/或与图8结合讨论的更改文件810中,但是关系的改变未被记录,因为不需要进行记录。
[0049] 在一个实施例中,拷贝案例C1 1105以产生案例C11 1205,如图12所示。案例C111205被记录为案例C1 1105的子,并且案例C1 1105被记录为案例C11 1205的父,并且案例C11 1205与案例C1 1105之间的任何差异被记录在更改文件810中用于案例C11 1205的更改记录805中或者记录在与案例C11 1205相关联的案例记录905的修订数据930中。
[0050] 在一个实施例中,用户将案例C11 1205重命名为案例C11B 1205,如图13所示。在一个实施例中,名称更改被记录在合适的案例记录905中,并且关系被更新,即,案例C1
1105被更新为案例C11B 1205的父,并且案例C11B 1205被更新为案例C1 1105的子。在一个实施例中,名称更改被记录在更改文件810中和/或案例C11 1205的案例记录905的修订数据930中。
[0051] 在一个实施例中,拷贝案例C1 1105并且被命名为案例C12 1405,如图14所示。案例C12 1405被记录为案例C1 1105的子,并且案例C1 1105被记录为案例C12 1405的父,并且案例C12 1405与案例C1 1105之间的差异被记录在更改文件810中用于案例C12
1405的更改记录805中或者记录在与案例C12 1405相关联的案例记录905的修订数据930中。如在图14中能够看出的,案例C11B 1205是案例C12 1405的兄弟。
[0052] 在一个实施例中,图14所示的模板与案例之间的关系被具体实施为用于案例的每一个的案例记录905中的标题字段915的“名称”和“父”部分,如图15所示。在一个实施例中,对于所有的案例(其中案例C1 1105是父),通过查询图15所示的表来发现案例C11B 1205与案例C12 1405之间的兄弟关系。可选择地,在一个实施例中,类似于图8所示的更改文件810中的链接表字段830和835,兄弟字段的链接表被添加到案例记录905,并且兄弟关系能够使用这些字段来发现。
[0053] 在一个实施例中,如图16所示,案例C11C被添加为案例C11B的子,案例C13被添加为案例C1的子,并且案例C13A被添加为案例C13的子。案例C13 1605被记录为案例C11105的子,并且案例C1 1105被记录为案例C13 1605的父,并且案例C13 1605与案例C1
1105之间的任何差异被记录在更改文件810中用于案例C13 1605的更改记录805中或者与案例C13 1605相关联的案例记录905的修订数据930中。案例C13A 1610被记录为案例C13 1605的子,并且案例C13 1605被记录为案例C13A 1610的父,并且案例C13A 1610与案例C13 1605之间的任何差异被记录在更改文件810中用于案例C13A 1610的更改记录805中或者与案例C13A 1610相关联的案例记录905的修订数据930中。得到的关系表在图17中示出。
[0054] 在一个实施例中,使用任何可用的搜索算法,数据管理层允许包含案例记录905的案例文件910被搜索,以响应于搜索请求。搜索查询能够基于一个或者多个标准,例如案例的名称、正被建模的数据的地理位置、案例被创建或者修改的日期或者案例记录905中的任何字段或其组合。
[0055] 例如,图18示出显示以下查询的结果的显示屏幕1805:“储层长度<5000英尺,储层面积<200英亩,储层孔隙度<5%,本人所拥有”。如在图18中能够看出的,在一个实施例中,符合搜索标准的案例被显示并且呈案例被创建时建立的层级示出。
[0056] 另外,在一个实施例中,通过例如在连接父和子的线上停留光标能够发现案例之间的差异,如图19所示。在图19中,光标停留在连接案例C1和案例C13的线上,并且弹出窗口表明当从案例C1创建案例C13时,储层温度参数的值从200度改变为250度。在一个实施例中,该信息从与图9结合讨论的案例记录905和/或与图8结合讨论的更改文件810中提取得到。
[0057] 在一个实施例中,通过例如双击图18的该案例的表示能够发现对特定案例作出的改变,在双击时,描述因案例的创建而对案例作出的改变的弹出窗口将出现。
[0058] 在一个实施例中,如上文相对于图9讨论的,软件115的输出由数据管理层230保持。在一个实施例中,这使得比较两个或者多个案例的计算的输出简便。
[0059] 在一个实施例中,如果对父案例(诸如案例C11B 1205)的特定参数作出改变(参见图16),数据管理层230对该父案例的所有子案例(如案例C11C 1205)中相同的参数作出相同的改变。例如,如果案例C11B 1205中的储层长度参数从1000英尺改变为1100英尺,则将在案例C11C 1205中作出相同的改变。在一个实施例中,数据管理层230询问用户是否应当也对子案例作出对父案例的改变。在一个实施例中,数据管理层230列出或者显示正被改变的父案例的子案例并且询问这些子案例中的哪一个应当具有相同的改变。在一个实施例中,“特定参数”不包括诸如创建的名称、日期等参数以及案例记录的标题字段915中的父参数。在一个实施例中,数据管理层追踪更改文件810和/或案例文件910中受到影响的案例的案例记录905的修订数据930中的这种改变。
[0060] 在一个实施例中,类似地,通过在案例记录905中保持创建日期、修改日期、每一个案例的使用的频率、用户键入的喜欢状态等的记录来完成分类。在一个实施例中,自动计算每一对或每一组案例的相似度分数(affinity score),并且相似度分数是自动对案例进行分类或者快速自动地识别类似或相异案例的基础。
[0061] 在一个实施例中,为一对案例估计表示案例的相异性(dissimilarity)的相似度分数,以使得该相似度分数成为每一个案例的该组输入变量之间的距离的测量。在一个实施例中,给予用户对距离测量的选择。在一个实施例中,用户能够从诸如欧氏距离、Canberra距离、归一化平方欧氏距离、BrayCurtis距离等任何标准距离测量选择或者能够限定新的距离测量。在一个实施例中,用户还将能够选择在计算限定案例的每一个单独的输入变量或者一组输入变量的距离测量中使用的权值(例如储层维度),该组输入变量可以包括诸如长度、宽度以及鞋盒形储层模型的高度等各输入变量。
[0062] 距离计算的一个实施例在图20和图21中示出。在图20示出的一个实施例中,用户通过单击案例C12和案例C11C(如表示这两个案例的框的较浓阴影表示的)来选择它们。在一个实施例中,按压图20的右上角所示的“比较”按钮2005,并且两个案例之间的距离的表示出现,如图21所示。在一个实施例中,两个案例被表示为向量,并且两个案例之间的距离显示为两个向量之间的向量差。在一个实施例中,通过例如在差向量上停留光标能够发现两个案例之间的差异的要素。在图21所示的例示中,仅体现出两个维度:储层温度和相对气体比重。在该例示中,弹出框表明两个案例中的储层气体温度相同,但是案例C12中的相对气体比重是0.54,而案例C11C中的相对气体比重是0.62。在一个实施例中,相同的信息以表格形式来表示。
[0063] 在一个实施例中,也能够为三个或者多个案例立即计算相似度分数。此外,这一分数表示多个案例彼此之间或与一组案例之间有多相异或相差有多“遥远”,或者这一分数表示为对两个案例或一组案例有多类似或多相异的快速估计。在一个实施例中,该分数是定量的,即该分数是数字,例如100表示相同,或者75、50以及25表示相似度逐渐变低的程度。在一个实施例中,该分数是定性的,即该分数被表示为一种判断,该判断的范围为从非常低的相似度分数的“遥远”到表示逐渐变高的相似度程度的“非常相异”、“有些相异”、“类似”、“非常类似”以及“完全相同”。
[0064] 在一个实施例中,层级视图中示出的两个案例之间的相似度分数(诸如图19中的那样)被显示在例如图19所示的弹出窗口中,而弹出窗口中的文字描述了相似度分数而不是两个案例之间的差异。例如,在一个实施例中,图19中的弹出窗口中的文字读取“相似度分数=75,”表示案例C1与案例C13之间的相似度被计算为75。
[0065] 在一个实施例中,一案例与一组案例的距离或者一组案例与另一组案例的距离能够被计算为这些组案例的质心之间的距离。此外,在一个实施例中,用户能够从各种距离测量(诸如马氏距离)中选择,例如先前列举的测量或者对于一组点来说具有更多意义的其它测量。在一个实施例中,使用诸如海明距离、编辑距离等测量,距离计算包括布尔数据(其仅获取两个容许值或者状态)或者字符串。此外,在一个实施例中,用户能够将权值供应到输入变量或者一组输入变量,根据他或她的喜好。
[0066] 在一个实施例中,提供了使用户能够查看、选择和/或与多个案例交互的其它视图。在一个实施例中,在“列表”视图中示出了多个案例,该视图中列出了多个案例连同有关每一个案例的细节。在一个实施例中,提供的有关每一个案例的细节的量是可选择的(即,不包括有关多个案例的较少查询的一些细节的“粗略细节”、包括有关多个案例的全部或者大部分细节的“详细细节”)。在一个实施例中,提供了文件夹视图,在该视图中包含多个案例的文件夹被象征性地显示在屏幕上(即,每一个文件夹由“文件夹”图标表示)。在一个实施例中,在文件夹上单击或者选择文件夹将产生所选择的文件夹(其可能是一额外文件夹或者多个文件夹)的内容的显示、指定给文件夹的多个案例的列表、指定给文件夹的带有有关每一个案例的细节的多个案例的列表或者文件夹中多个案例的层级视图。
[0067] 在一个实施例中,即使在应用程序不运行时,应用程序外部的文件也能够被选择,以被发送到与该应用程序中特定分类(或者文件夹)相关联的应用程序,或者发送到无任何规格的应用程序。在后一种情况下,在一个实施例中,当该应用程序被用户打开时,他/她能够选择将所有无关联的外部文件与一个或者多个案例相关联。在一个实施例中,这些外部文件将被该应用程序(案例管理系统)存档,并且数据结构将保持与所有各外部文件的链接,因为它们与多个案例相关联。结果是,在一个实施例中,用户不仅能够容易地访问每一个案例的输入数据,如可用,用户还能够访问计算结果和所关联的外部文件。
[0068] 在使用的一个实施例中,如图22所示,数据管理层230记录多个案例,每一个案例包括输入数据和父案例的识别,除非该案例是原始案例(诸如模板T1 1005或者案例C11105)(方框2205)。在一个实施例中,多个案例以来自另一个系统(诸如智能转译层210)的多个消息形式提供。在一个实施例中,多个消息的每一个包含案例或者对案例的修改。
[0069] 在一个实施例中,数据管理层230创建多个案例(方框2210)之间的父/子关系的层级,例如图10-17所示。在一个实施例中,层级是图15和图17所示的排序的列表。在一个实施例中,层级包括使用链接表将父与子链接和/或将兄弟链接。
[0070] 在一个实施例中,数据管理层230响应于多个案例的搜索显示多个案例的子集(方框2215)。在一个实施例中,显示多个案例的子集包括以能够识别多个案例的子集的每一个之间的差异的方式来显示多个案例的子集,诸如图19所示。在一个实施例中,显示多个案例的子集包括以显示多个案例的子集之间的父/子层级的方式来显示多个案例的子集,例如图18、图19以及图20所示。在一个实施例中,显示多个案例的子集包括使用查询识别多个案例的子集。在一个实施例中,显示多个案例的子集包括遵循父/子层级分层级地显示多个案例的子集。在一个实施例中,显示多个案例的子集包括显示多个案例的子集中的多个案例中的两个之间的差异,例如图21所示。在一个实施例中,显示多个案例的子集中的多个案例中的两个之间的差异包括在两个案例之间执行相似度分析。
[0071] 在一个实施例中,数据管理层230允许用户选择多个案例的较小的子集作为油田被钻探的环境的选择模型(方框220)。在一个实施例中,多个案例的较小的子集是单个案例。在一个实施例中,多个案例的较小的子集多于一个案例,即一个案例用于储层的一部分,而另一个案例用于同一储层的另一部分。
[0072] 在一个实施例中,选择模型被用来计划油井的钻探以产生钻探计划(方框2225)。在一个实施例中,钻探计划被用来钻探油井(方框2230)。
[0073] 在一个实施例中,数据管理层230在一案例作为输入被提供给软件系统时将由软件系统产生的输出数据(诸如输出文件120)与该案例相关联。
[0074] 系统205以及尤其数据管理层230不限于在计划油井的钻探过程中使用。系统205和数据管理层230能够被用于其它油田/天然气田开发场景,例如为具有多个井的区域配置表面管线网络、优化多个井上或者管线中的压缩机的尺寸、优化气体处理厂的能力以处理产生的气体、校准气体或者产生的水的回注断裂(reinjection fraction)等。另外,系统205和数据管理层230能够被用于其它情况,其中有用的是追踪提交给软件系统的测试数据的演化和得到的输出数据,例如天气预报、交通建模、计算机网络优化等。
[0075] 上文描述了较广泛的发明的一个或者多个具体实施例。本发明还被实施成各种替代实施例,并且因此不限于本文描述的那些实施例。为了例示和说明的目的,提出了本发明的优选实施例的前述说明。不旨在是详尽的或将本发明限制为公开的精确形式。考虑到上述教义,许多变型和变化是可行的。本发明的范围不旨在被详细的说明书限制,而是由在此附加的权利要求书所限制。