本申请要求2014年3月25日递交的美国专利申请No.14/224,815的优先权,其全部内容通过引用并入本文。
背景技术:
井眼(borehole)图像日志目前提供用于储层(reservoir)地层评估的最高分辨率数字数据。井眼图像日志通常通过将信号(例如,声音、无线电等)发送到井孔岩石中,并且接收/处理反射信号以产生/记录井眼图像数据来产生。从井眼图像日志,可以解释各种地质属性,如结构下垂、断层、断裂和孔隙度。在一些情况下,缺少实际井眼图像日志数据可能阻碍解释和/或处理功能的性能,或者需要用于对解释和/或处理功能的数据的估计/假设。对数据的估计/假设可能导致由岩石物理(petrophisical)解释应用系统的不精确的岩相(lithofaci es)解释和三维(3D)岩石物理建模应用系统的储层地层和岩相分布的3D岩相模型。不准确的结果可能导致时间和业务资源的浪费,并造成商机和/或收益的损失。
技术实现要素:
本公开描述了用于为储层地层和岩相分布的建模提供360度井芯样本照片图像集成、校准和解释的方法和系统,其中包括计算机实现的方法、计算机程序产品和计算机系统。一种计算机实现的方法包括:接收360度井芯样本照片图像,由计算机对所接收的360度井芯样本照片图像进行地理空间锚定,由计算机将经过地理空间锚定的360度井芯样本照片图像分解成颜色数值阵列,由计算机将颜色数值阵列转换成地层图像日志,由计算机校准地层图像日志以使其与附加可用数据一致,以及由计算机使用地层图像日志产生3D岩相解释和预测数据。
该方面的其他实现包括相应的计算机系统、装置和记录在一个或多个计算机可读介质/存储设备上的计算机程序,它们均被配置为执行方法的动作。一个或多个计算机的系统可以被配置为通过在系统上的安装在操作时使得系统执行动作的软件、固件、硬件或者软件、固件或硬件的组合来执行特定操作或动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,所述指令在被数据处理装置执行时使得该装置执行动作。
前述和其他实施方式可以各自可选地以单独或组合的方式包括以下特征中的一个或多个。
第一方面,可与一般实施方式组合,其中对360度井芯样本照片图像进行地理空间锚定包括使用罗盘方向、纬度/经度、全球定位系统(GPS)坐标或深度参考数据中的至少一个。
第二方面,可与前述任意方面组合,其中颜色数值阵列包括用于蓝色、绿色、灰度或红色中的至少一个的数据。
第三方面,可与前述任意方面组合,其中所述地层图像日志具有井眼图像日志格式。
第四方面,可与前述任意方面组合,其中所述附加可用数据包括井孔方位角数据、井眼图像日志数据或3D地震数据中的至少一个。
第五方面,可与前述任意方面组合,包括将与地层图像日志相关联的数据与所述附加可用数据进行比较,以及在比较的结果超过阈值的情况下确定地层图像日志需要被校准。
第六方面,可与前述任意方面组合,还包括使用3D岩相解释和预测数据来产生岩相分布的3D模型。
在本说明书中描述的主题可以在特定实施方式中实现,以便实现以下优点中的一个或多个。首先,在井眼图像日志数据不可用的情况下,可用的井芯样本可以被转换为井芯图像样本数据作为井眼图像日志格式下的地层图像日志,并用于提供附加数据以增加储层地层的岩相建模的准确性。第二,将360度的井芯图像样本数据加载到数字解释应用系统中以用于分析,以确保完全的井孔覆盖。第三,井芯样本图像数据被分解并且通常被置为标准井眼图像日志格式,以通过现有工具提高灵活性和可用性。第四,标准化井眼图像日志格式化后的数据可以被提供给岩石物理解释应用系统,以解释岩相和/或岩相分布。第五,3D岩石物理模型应用系统可以用于基于附加解释的岩相和/或岩相分布来对储层地层进行建模。第六,在具有井芯样本数据但没有地层图像日志数据的井中,可以仿真地层图像日志。与获取实际的附加地层图像日志数据相比,这可以导致节省大量成本。其他优点对于本领域普通技术人员将是显而易见的。
在附图和以下描述中阐述了本说明书的主题的一个或多个实现的细节。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了根据实施方式的为对储层地层和岩相分布进行建模提供360度井芯样本照片图像集成、校准和解释的方法。
图2示出了根据实施方式的井芯样本的360度照片图像。
图3示出了根据实施方式的图2的井芯样本的经过地理空间锚定的360度数字照片图像。
图4示出了根据实施方式的将图3的360度井芯样本照片图像中的颜色变化分解为颜色数值阵列的示例分解。
图5示出了根据实施方式的基于具有至少可用的方位角数据的校准地层图像日志,图3的360度井芯样本照片图像的旋转。
图6示出了根据实施方式的与井相关联的数字校准以获得用于预测的置信度。
图7A示出了根据实施方式的高亮显示岩相分布的3D岩石物理模型中的层之一。
图7B示出了根据实施方式的具有岩相分布的3D岩石物理模型。
图8是示出了根据实施方式的用于提供360度井芯样本照片图像集成、校准和解释以对储层地层和岩相分布进行建模的示例性分布式计算机系统(EDCS)的框图。
在各个附图中,相似的附图标记和名称指示相似的元件。
具体实施方式
本公开总体描述了用于为储层地层和岩相分布的建模提供360度井芯样本照片图像集成和解释的方法和系统,包括计算机实现的方法、计算机程序产品和计算机系统。给出以下描述以使得本领域任何技术人员能够制作和使用本发明,并且所述描述在一个或多个特定实施方式的上下文中提供。对公开的实施方式的各种修改对本领域技术人员而言将显而易见,并且在不背离本发明的范围的情况下,此处定义的一般原理可适用于其他实施例和应用。因此,本公开并非意在限于所描述的和/或示出的实施例,而应赋予与此处公开的原理和特征一致的最宽范围。
井眼图像日志是对井孔周围的岩层的测量。通过分别向井孔发送或者从井孔接收信号(例如,声音、无线电和/或信号)的不同类型的测井工具来获取井眼图像日志数据。虽然精确,但其仍然是电子测量,并需要在收集井眼图像日志数据时从井孔移除钻井钻头;这是一个需要时间和精力来完成的过程。通常只有现场开发中的一小部分井被采集了井眼图像日志。通常,与井眼图像日志数据相反,所钻的井中具有井芯数据的井的占比高得多。
井眼图像日志目前提供用于储层地层评估的最高分辨率数字数据。根据特定井眼图像日志,可以解释各种地质属性,如结构下垂、断层、断裂和/或孔隙度。在一些情况下,缺少实际井眼图像日志数据可能阻碍解释和/或处理功能的性能,或者需要用于对解释和/或处理功能的数据的估计/假设。对数据的估计/假设可能导致由岩石物理解释应用系统的不精确的岩相解释和三维(3D)岩石物理建模应用系统的储层地层和岩相分布的3D岩相模型。不准确的结果可能导致时间浪费、业务资源的不必要支出和/或失去商机和/或收入。
井芯样本是一块岩石,包括从地表之下的井孔提取的一个或多个岩相,其提供储层地层特征(例如,岩石类型、岩层厚度等)的实际/准确的物理证据。在一些情况下,井芯样本还可以揭示结构浸渍、断层、断裂、孔隙率、矿物组成和/或其他值、状况等。传统上,地质学家或其他专家从视觉上检查井芯样本并在纸张上或以其他形式描述它。
在一些情况下,井芯样本的诸如位图、GIF、JPG或其它图形格式之类的360度照片可以由相机拍摄、存储为数字图像,并由地质学家或其他专家研究。虽然照片产生了井芯样本的360度可视化(并且扩展了井眼-因为井芯样本是围绕井眼周边留下的岩石的镜像),然而由于其原始格式(即,可视图像)以及其是无量纲(例如,没有空间和/或垂直深度信息)的事实,其不能由数字储层表征和解释应用系统原始地用于实现3D岩石物理建模。井芯样本照片只能提供定性参考,而不是适合数字解释应用程序的定量数据。不能进行与其他类型的数字数据(例如,井眼图像日志和有线日志数据)的并排相关和校准。
除其他之外,所描述的计算机实现的方法、计算机程序产品和系统允许使用本地格式化的360度照片用于储层地层和岩相分布的解释和建模。
在更高的层面,本公开涉及将井芯样本照片转换成数字岩相数据以指导3D岩石物理数字解释和建模。本公开讨论了传统井芯样本照片的变换,井芯样本照片在适当的3D空间(例如,区域地理坐标、深度等)中的地理空间定位、以及地理空间定位的井芯样本照片到数字井眼图像日志格式的地层图像日志的转换。例如,通过与来自相关联的井的方位信息对准,可以使用可用于井眼图像日志格式化数据的解释功能,来数字地分析从地理空间定位的井芯样本照片产生的地层图像日志。
在存在井芯样本照片图像和其它数据(例如,井眼图像日志数据、有线日志数据和/或其他数据)的井中,井芯样本照片的所述变换根据两种或更多种不同类型的测量提供相同岩层的相关性。通过用其它数据(如果可用)解释和校准地层图像日志数据,可以增加从地层图像日志数据解释的地质学的置信度。一旦在这些井上建立了相关和置信,就可以将下文描述的方法应用于不存在井眼图像日志数据(或其他数据)的井。由于许多井具有井芯样本数据而不是昂贵的井眼图像日志数据,本公开的主题可以帮助在没有高分辨率井眼图像日志数据的井中预测储层地层,并且通过最小化对获取昂贵的井眼图像日志的需要而潜在地降低实质成本。对所产生的地层图像日志的解释可以提供足够的数据点来以3D方式对储层建模并且增强对整体领域的理解。
图1示出了根据实施方式的为对储层地层和岩相分布进行建模提供360度井芯样本照片图像集成、校准和解释的方法100。换言之,方法100是360度井芯样本解释和3D建模应用工作流程。为了清楚地呈现,下文的描述总体在图1-图6、图7A-图7B和图8的上下文中描述了方法100。方法100可以视情况由任何合适的系统、环境、软件和/或硬件或系统、环境、软件和/或硬件的组合(例如,在下文的图8中描述的计算机系统)来执行。在一些实施方式中,方法100的各个步骤可以并行、组合、循环或以任意顺序执行。
在102,接收360度井芯样本照片图像。例如,在一些实施方式中,下文图8中描述的相机840可以用于获得360度井芯样本照片图像,并且通过网络830将其传送到计算机802以进行处理。
转到图2,图2示出了根据实施方式的360度井芯样本照片图像200。在该实施方式中,360度井芯样本照片图像200已被“平整”成二维表示。可以在360度井芯样本照片图像200中观察到各种岩相,例如岩相202和204。还应注意,如上所述,原生360度井芯样本照片图像200没有量纲(dimensionality)。在一些实施方式中,关于图像的信息(包括维度信息)可以存储在图像首部(header)、元数据等中。返回图1,方法100从102进行到104。
在104,将无量纲的360度井芯样本照片图像200地理空间锚定在3D环境中的适当3D位置。例如,可以用地理空间锚定数据(例如,罗盘方向)、纬度/经度坐标、包括芯的顶部和底部深度在内的深度数据等来增强360度井芯样本照片图像200。这可以被比作沿着一群山中的某座山旁边的远足小径拍摄树木的照片。如果在没有任何附加上下文的情况下看照片,人们将不能容易地分辨出是在具有海拔X的山A旁还是在具有海拔Y的山B旁边。然而,如果在照片中包括了全球定位系统(GPS)系统坐标和拍摄地点的适当海拔,则该照片具有更多的意义。例如,拍摄的树木的叶子的细节和变化模式将具有更多的意义,例如,树木可以被重新定位、被进一步研究等,以用于后续的数字研究。
转到图3,图3示出了根据实施方式的图2的井芯样本的经过地理空间锚定的360度数字照片图像300。应注意,已经至少利用图像取向数据302和参考深度数据304对360度数字照片图像300进行了地理空间锚定。在一些实施方式中,取向数据302可以是可在稍后时间点被调整的默认值(例如,参见图5以及下面的解释:最左侧轨道被设置为正北或0度)。在一些实施方式中,其他锚定类型数据(例如,罗盘方向、纬度/经度、GPS坐标等)也可以用于增强360度数字照片图像300。返回图1,方法100从104进行到106。
在106,图3的360度数字照片图像300的颜色变化被分解成与地层图像日志格式一致的颜色数值阵列(将在下文更详细地描述)。例如,图3所示的黄色/金色“风格”表示所显示的图像不再是纯照片,而是从颜色数值阵列产生的图像。在一些实施方式中,地理空间锚定的360度数字照片图像300的颜色变化被分解成蓝色、绿色、灰度和红色的特定颜色数值阵列。在其它实施方式中,取决于方法100或本发明的任何其它方面的特定目的,可将更多、更少或不同的颜色用于颜色数值阵列。
转到图4,图4示出了根据实施方式的将图3的地理空间锚定的360度井芯样本照片图像中的颜色变化分解为颜色数值阵列的示例分解400。对于颜色数值阵列,样本号由样本号402表示。测量深度404表示样本号402的测量深度。根据在特定测量深度沿水平条带的颜色复杂性,一些测量深度可以具有多个样本号402(例如,11974.11和1974.14)。在一些实施方式中,以强度来测量颜色数值阵列值406(例如,蓝[0]、绿[0]等)。
返回图1,方法100从106进行到108。
在108,将在106处产生的颜色数值阵列变换为地层图像日志。在一些实施方式中,地层图像日志是井眼图像日志格式。在其他实施方式中,地层图像日志可以是适合于方法100或本公开的任何其它方面的特定目的的任何格式。地层图像日志数据实现将丰富的数字解释功能用于储层表征、解释、建模等。方法100从108进行到110。
在110,确定地层图像日志是否被校准。如果在110处确定地层图像日志被校准,则方法100进行到114。如果在110处确定地层图像日志未被校准,则方法100进行到108。在一些实施方式中,可以根据是否存在用于用来校准(例如,修改)地层图像日志的附加数据(例如,附加数据112——井孔方位角、实际井眼图像日志、3D地震数据、芯描述数字数据和/或其它数据)、和/或地层图像日志是否在某个阈值(例如,百分比、测量等)内与附加数据112一致,来确定地层图像日志是否被校准。例如,如果井孔方位角数据可用于已经创建了地层图像日志的特定井,则可以校准地层图像日志以使地层图像日志与井孔方位角数据一致,从而确保地层图像日志数据与实际井孔方向对准。这引入了额外的保证,即,地层图像日志尽可能准确/完整。在一些实施方式中,可以基于通过方法100接收、处理和/或产生的任意数据来预定和/或动态计算阈值。
转到图5,图5示出了根据实施方式的基于具有至少可用的井孔方位角数据(附加数据112的一部分)的校准地层图像日志,图3的360度井芯样本照片图像的旋转500。应注意,360度井芯样本照片图像300已经旋转为与井孔方位线502对准。这可以通过查看与图2和图3两者中数据从图像的右边“缠绕”到左边相比已经向右移动的芯特征504来看到。在360度井芯样本照片图像300已经旋转的情况下,可以将相关联的地层图像日志数据与附加数据112(例如,实际井孔方位角数据)进行比较,以确保地层图像日志与附加数据112一致。校准过程通常是使用一种或多种类型的可用数据112的迭代过程。方法100从108进行到110。
在114,将校准的图像日志用于使用岩石物理解释应用来产生3D岩相解释和预测数据。方法100从114进行到116。
在116,使用产生的3D岩相解释和预测数据并使用3D岩石物理建模应用来产生岩相分布的3D模型。从116,方法100结束。
转到图6,图6示出了根据实施方式的与井相关联的数字校准以获得用于预测的置信度。如图所示,从左到右有存在六个轨迹(602a-602f)。轨迹602a示出了测量深度(MD)。轨迹602b示出了在彩虹颜色表中显示的伽马射线线型日志。轨迹602c示出了360度芯照片图像(例如,如图2所示)。轨迹602d是由绿线(例如,如图5所示)指示的具有272度的计划方位角旋转角度(在根据其他井信息和数据校准之后)的转换后的地层图像日志。轨迹602e是方位角对准的地层图像日志602d。轨迹602f是在井处获取的实际井孔图像日志,并且提供用于602e的校准/比较的数据。如果通过比较所描述的数据从该训练中增加了置信度和经验,则该方法可以应用于没有获得实际井眼图像日志数据的其他井(例如,地理位置靠近被测井上方的井)。置信度通常通过视觉比较(例如,对如上所述的602e和602f进行比较)来确定。如果视觉比较的结果是比较数据相对/合理地相似(可能基于集合和/或动态确定的阈值),则置信度增加,使得所执行的方法可以成功地用于其他井。其他井通常指仅具有井芯样本、井芯样本照片图像等但没有地层图像日志的那些井。如果井具有地层图像日志,则不需要使用所描述的方法产生仿真的地层图像日志。
转到图7A,图7A示出了根据实施方式的基于一个或多个360度地层图像日志解释的示例井现场的360度地层图像日志解释和3D岩相模型7A。例如,图7A中示出了来自360度地层图像日志解释的井孔702a、704a和706a的3D岩相建模。使用360度地层图像日志解释,即使没有360度井芯样本照片图像、井眼图像数据等,也可以预测与其他井相关的附加岩相。
转到7B,图7B示出了根据实施方式的基于一个或多个360度地层图像日志和解释(例如,如图7A所示的那些)所产生的3D岩相分布模型7B00。例如,来自如图7A所示的360度地层图像日志解释的井孔702、704和706的3D岩相建模被用于产生3D岩相分布模型7B。例如,在3D岩相分布模型7B中示出了岩相702b、704b和706b的分布。
转到图8,图8是示出了根据实施方式的用于提供360度井芯样本图像集成和解释以对储层地层和岩相分布进行建模的示例性分布式计算机系统(EDCS)的框图。在一些实施方式中,EDCS 800包括计算机802、网络830和相机840。
示出的计算机802旨在包括计算设备(例如服务器、台式计算机、膝上型/笔记本计算机、无线数据端口、智能电话、个人数字助理(PDA)、平板计算设备)、这些设备内的一个或多个处理器、或任意其他合适的处理设备(包括计算设备的物理和/或虚拟实例)。计算机802可以包括计算机,该计算机包括可以接受用户信息的输入设备(例如键区、键盘、触摸屏或其他设备(未示出))以及输出设备(未示出),该输出设备传达与计算机802的操作相关联的信息,包括数字数据、视觉和/或音频信息或用户界面。
计算机802可以用作客户端和/或服务器。在典型的实施方式中,计算机802用作并行处理节点102、针对软件代理304的主机和/或用于执行仿真202、仿真器204、库函数106、系统管理312和/或与本公开一致的其它应用(即使未示出)的主机。示出的计算机802可通信地与网络830耦接。在一些实施方式中,计算机802的一个或多个组件可以被配置为在并行处理和/或基于云计算的环境中操作。计算机802的实施方式也可以使用消息传递接口(MPI)或其他接口通过网络830进行通信。
在更高的层面,计算机802是可操作为接收、发送、处理、存储或管理与储层地层和岩相分布的建模相关联的数据和信息的电子计算设备。根据一些实施方式,计算机802还可以包括或通信地耦接到仿真服务器、应用服务器、电子邮件服务器、网络服务器、缓存服务器、流传输数据服务器、商业智能(BI)服务器和/或其他服务器。
计算机802可以通过网络830从应用807(例如,在另一计算机802上执行的应用)接收请求,并通过在适当的软件应用807中处理所述请求来响应所接收的请求。另外,还可以从内部用户(例如,从命令控制台或通过其他适当的访问方法)、外部或第三方、其他自动化应用以及任何其他适当的实体、个人、计算机、系统或计算机向计算机802发送请求。
计算机802的每个组件可以使用系统总线803进行通信。在一些实施方式中,计算机802的任意和/或所有组件(不论硬件和/或软件)可以使用应用编程接口(API)812和/或服务层813通过系统总线803与彼此和/或接口804进行接口连接。API 812可以包括针对例程、数据结构和对象类的规范。API 812可以是独立于或依赖于计算机语言,并且指的是完整的接口、单个功能或甚至是一组API。服务层813向计算机802和/或计算机802是其一部分的系统提供软件服务。计算机802的功能可以对于使用该服务层的所有服务消费者是可访问的。软件服务(例如由服务层813提供的软件服务)通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是以JAVA、C++或以可扩展标记语言(XML)格式或其它合适格式提供数据的其它合适语言所编写的软件。虽然被示为计算机802的集成组件,但是备选实施方式可以将API 812和/或服务层813示为作为相对于计算机802的其他组件独立的组件。此外,在不脱离本公开的范围的情况下,API 812和/或服务层813的任意或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或副模块。
计算机802包括接口804。虽然在图8中被示为单个接口804,但是可以根据计算机802的特定需要、期望或特定实现而使用两个或更多个接口804。接口804由计算机802用于与连接到网络830的分布式环境(包括并行处理环境)(无论是否示出)中的其它系统通信。通常,接口804包括以合适的组合以软件和/或硬件编码的逻辑,并且可操作为与网络830通信。更具体地,接口804可以包括支持与通过网络830的通信相关联的一个或多个通信协议的软件。
计算机802包括处理器805。虽然在图8中被示为单个处理器805,但是可以根据计算机802的特定需要、期望或特定实现而使用两个或更多个处理器。通常,处理器805执行指令并操纵数据以执行计算机802的操作。具体地,处理器805执行对储层地层和岩相分布建模所需的功能。
计算机802还包括保存计算机802和/或计算机作为其一部分的系统的其他组件的数据的存储器806。虽然在图8中被示为单个存储器806,但是可以根据计算机802的特定需要、期望或特定实现而使用两个或更多个存储器。虽然存储器806被示为计算机802的集成组件,但是在备选实施方式中,存储器806可以在计算机802外部。在一些实施方式中,存储器806可以保存和/或引用如上所述的360度井芯样本照片图像814、颜色数值阵列816和/或地层图像日志818中的一个或多个。
应用807是根据计算机802和/或计算机802是其一部分的系统的特定需要、期望或特定实现来提供功能(尤其是关于对储层地层以及岩相分布进行建模所需的功能)的算法软件引擎。例如,应用807可以用作与本公开一致的仿真202、仿真器204、并行处理节点102、库功能106、软件代理304、系统管理员312和/或其他应用(或其一部分)(不论是否示出)。在一些实施方式中,软件应用可以包括上述数字照片解释应用、岩石物理解释应用和/或岩石物理建模应用中的一个或多个。尽管被示为单个应用807,但是应用807可以被实现为计算机802上的多个应用807。另外,虽然被示出为与计算机802集成,但是在备选实施方式中,应用807可以在计算机802外部并且与计算机802分开执行。
可以存在与执行与本公开一致的功能的计算机系统相关联的任意数量的计算机802。此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”和其他适当的术语可以适当地互换使用。此外,本公开包含许多用户/处理可以使用一个计算机802,或者一个用户/处理可以使用多个计算机802。
相机840可操作为至少捕获井芯样本的360度图像。在一些实施方式中,相机840可以使用透镜组件将光聚焦到电子图像传感器上,并且以各种数字文件格式将图像信息数字地记录到存储器(未示出)中。例如,用于记录图像信息的数字文件格式可以是JPG、GIF、BMP、TIFF、PNG、AVI、DV、MPEG、MOV、WMV、RAW或其他合适的数字文件格式。在一些实施方式中,电子图像传感器可以是电荷耦合器件(CCD)、有源像素传感器(CMOS)或其他合适的电子图像传感器。相机840可以提供要拍摄的外部图像源的实时预览。相机840还可以以二维和三维提供光学和/或数字缩放功能和全景图像。在其他实施方式中,记录的图像信息可以是静止的和带声音的视频。
在一些实施方式中,由相机840记录的图像数据还可以通过网络830被传送到远程数据存储位置(未示出),而不是存储在存储器806中。虽然被示为通过网络830可通信地连接(例如通过电缆、无线连接等)到计算机802,但是在一些实施方式中,相机840还可以集成到计算机802和/或计算机系统800的其他组件(未示出),或直接连接到计算机802上的接口端口(未示出)。虽然计算机系统800被示为包含单个相机840,但是计算机系统800的备选实施方式可以包括任意数量的相机840(不论单独地或协同地工作),并且适用于EDCS 800。在一些实施方式中,相机840可以是用于对相机840和/或井芯样本进行移动、调节、稳定等以获得井芯样本的360度图像的机械组件(未示出)的一部分。
在本说明书中描述的主题和功能操作的实施可以在数字电子电路中、在有形实施的计算机软件或固件中、在计算机硬件中实现,包括在本说明书中公开的结构及其结构等同物、或它们中的一个或多个的组合。在本说明书中描述的主题的实施可以被实现为在有形非瞬时计算机存储介质上编码的一个或多个计算机程序,即计算机程序指令的一个或多个模块,用于由数据处理装置执行或者控制数据处理装置的操作。备选地或另外地,程序指令可以在人工产生的传播信号(例如,机器产生的电、光或电磁信号)上编码,所述信号被产生以对信息进行编码以传输到合适的接收机装置,以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机、多处理器或计算机。该装置还可以是或还包括专用逻辑电路,例如中央处理单元(CPU)、协处理器(例如,图形/视觉处理单元(GPU/VPU))、FPGA(现场可编程门阵列)或ASIC(专用集成电路)。在一些实施方式中,数据处理装置和/或专用逻辑电路可以是基于硬件和/或基于软件的。可选地,装置可以包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者上述各项中的一项或多项的组合的代码。本公开考虑具有或不具有常规操作系统(例如LINUX、UNIX、WINDOWS、MAC OS、ANDROID、IOS或任意其它合适的常规操作系统)的数据处理装置的使用。
可以以任何形式的编程语言来写计算机程序(也可以称作或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码),所述编程语言包括:编译或解释语言、或者声明或程序语言,并且可以以任何形式来部署计算机程序,包括部署为单独的程序或者部署为适合于用于计算环境的模块、组件、子例程、或者其它单元。计算机程序可以、但无需与文件系统中的文件相对应。程序可以存储在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中、或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或者在位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上执行。尽管各图中所示的程序的部分被示为通过各种对象、方法或其他处理实现各种特征和功能的单独模块,但是视情况处理可以替代地包括多个子模块、第三方服务、组件、库等。相反,各种组件的特征和功能可以视情况组合成单个组件。
本说明书中描述的过程和逻辑流可以由一个或多个可编程计算机来执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过操作输入数据并且产生输出来执行功能。过程和逻辑流也可以由专用逻辑电路(例如CPU、FPGA或ASIC)来执行,并且装置也可以实现为专用逻辑电路(例如CPU、FPGA或ASIC)。
适合于执行计算机程序的计算机可以基于通用或专用微处理器、这两者或任何其它类型的CPU。通常,CPU将从只读存储器(ROM)或随机存取存储器(RAM)或者这二者接收指令和数据。计算机的必不可少的元件是用于执行指令的CPU和用于存储指令和数据的一个或更多个存储器设备。通常,计算机还将包括用于存储数据的一个和或更多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作耦接以便从所述一个或更多个大容量存储设备接收或向其发送数据。然而,计算机不需要具有这些设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机或者便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个例子。
适合于存储计算机程序指令和数据的计算机可读介质(暂时或非暂时的)包括所有形式的非易失性存储器、介质和存储器设备,其包括例如半导体存储器设备、例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘(例如内部硬盘或可移动盘);磁光盘;以及CD ROM、DVD+/-R、DVD-RAM和DVD-ROM盘。存储器可以存储各种对象或数据,包括:高速缓存区、类(class)、框架、应用、备份数据、工作、网页、网页模板、数据库表格、存储商业信息和/或动态信息的知识库、以及包括任意参数、变量、算法、指令、规则、约束、对其的引用在内的任何其它适当的信息。另外,存储器可以包括任何其他适当的数据,诸如日志、策略、安全或访问数据、报告文件以及其他。处理器和存储器可以由专用逻辑电路来补充或者并入到专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题可以实现在计算机上,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)或等离子监视器)和用户可以向计算机提供输入的键盘和指点设备(例如,鼠标、轨迹球或轨迹板)。还可以使用触摸屏(诸如具有压敏性的平板计算机表面、使用电容或电感测的多点触摸屏或其它类型的触摸屏)向计算机提供输入。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何类型的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及可以以任意形式(包括声音、语音或触觉输入)来接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档或者从该设备接收文档,来与用户交互;例如,通过响应于从用户客户端设备上的web浏览器接收到的请求而向所述web浏览器发送网页,来与用户交互。
术语“图形用户界面”或GUI可以以单数或复数形式使用,以描述一个或更多个图形用户界面以及特定图形用户界面的每一次显示。因此,GUI可以表示任意图形用户界面,包括但不限于web浏览器、触摸屏或处理信息并且有效地向用户呈现信息结果的命令行界面(CLI)。通常,GUI可以包括多个UI元素,其中一些或全部与web浏览器相关联,诸如可由商业套件用户操作的交互式字段、下拉列表和按钮。这些和其他UI元素可以与web浏览器的功能相关或表示web浏览器的功能。
本说明书中描述的主题的实施可以实现在计算系统中,该计算系统包括后端组件(例如,数据服务器)、或包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有用户通过其可以与本说明书中描述的主题的实现进行交互的图形用户界面或者web浏览器的客户端计算机)、或者一个或更多个此类后端组件、中间件组件或前端组件的任意组合。可以通过任意形式或方式的有线和/或无线数字数据通信(例如,通信网络)来互连系统的组件。通信网络的示例包括局域网(LAN)、无线电接入网络(RAN)、城域网(MAN)、广域网(WAN)、全球微波接入互操作性(WIMAX)、使用例如802.11a/b/g/n和/或802.20的网络(WLAN)、互联网的全部或一部分、和/或一个或多个位置处的任意其它通信系统。网络可以在网络地址之间传递例如网际协议(IP)分组、帧中继帧、异步传输模式(ATM)单元、语音、视频、数据和/或其它适合信息。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。
在一些实施方式中,计算系统的任意或所有组件(硬件和/或软件)可以使用应用编程接口(API)和/或服务层彼此和/或与接口进行接口连接。API可以包括针对例程、数据结构和对象类的规范。API可以是独立于或依赖于计算机语言,并且指的是完整的接口、单个功能或甚至是一组API。服务层向计算系统提供软件服务。计算系统的各种组件的功能可以经由该服务层对于所有服务消费者是可访问的。软件服务通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是以JAVA、C++或以可扩展标记语言(XML)格式或其它合适格式提供数据的其它合适语言所编写的软件。API和/或服务层可以是与计算系统的其他组件相关的集成组件和/或独立组件。此外,在不脱离本公开的范围的情况下,服务层的任意或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或副模块。
尽管本说明书包含许多细节,然而这些细节不应被解释为对要求保护的范围或任何发明的范围构成限制,而是用于说明特定于具体发明的具体实施例的特征。在单个实现中,还可以组合实现本说明书中在独立实现的上下文中描述的特定特征。相反的,单个实现上下文描述的不同特征也可在多个实现中各自实现,或以适当的子组合来实现。此外,虽然特征可以在上面描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以示出的特定顺序或以顺序次序执行,或者需要执行所有示出的操作来实现期望的结果。在特定环境中,多任务处理和并行处理可能是有利的。此外,在上述的实施方式的各种系统模块和组件的分离和/或集成不应被理解为在所有实施方式中要求这样的分离和/或集成,并且应该理解的是,所描述的程序组件和系统一般可以一起集成在单个软件产品或封装为多个软件产品。
描述了本主题的具体实现。对于本领域技术人员显而易见的是,所描述的实施方式的其他实施方式、改变和置换在所附权利要求的范围内。例如,在权利要求书中记载的动作可以以不同顺序来执行,并且仍然实现期望结果。
因此,示例实施方式的上述描述不限定或限制本公开。在不脱离本公开的精神和范围的情况下,还可以有其他改变、替换和变化。