首页> 中国专利> 使用格兰杰因果关系的根本原因分析

使用格兰杰因果关系的根本原因分析

摘要

一种系统包括:存储器(116),其可存储计算机可执行组件;处理器(120),其可操作地耦合到存储器(116),并且可以执行被存储在存储器(116)中的计算机可执行组件。计算机可执行组件可包括维护组件(108),其可以通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障原因。

著录项

  • 公开/公告号CN114846449A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN202080086820.0

  • 申请日2020-12-04

  • 分类号G06F11/07(2006.01);G06F17/18(2006.01);G06K9/62(2022.01);G06N20/00(2019.01);G06N7/00(2006.01);G05B23/02(2006.01);G01M99/00(2011.01);G07C3/00(2006.01);

  • 代理机构北京市中咨律师事务所 11247;北京市中咨律师事务所 11247;

  • 代理人刘薇;于静

  • 地址 美国纽约

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06F11/07 专利申请号:2020800868200 申请日:20201204

    实质审查的生效

  • 2022-08-02

    公开

    国际专利申请公布

说明书

技术领域

本公开涉及可以基于时间序列数据变量之间的格兰杰(Granger)因果关系的一个或多个根本原因分析,更具体地,涉及基于时间序列数据变量之间的一个或多个格兰杰因果关系来确定机械系统的一个或多个故障的原因和/或发作(onset)。

背景技术

大规模工业系统中的机械故障可导致重大的经济损失。在许多情况下,系统中的单个部件或部件集可发生故障,其中,故障然后传播到系统的其它部件和/或部分。故障的传播可导致整个系统的集体故障。最初发生故障的一个或多个部分通常被称为系统故障的根本原因。通常,在根本原因事件与集体系统故障之间可存在延迟。例如,故障可以在一段时间(例如,数天、数周、和/或数月)内从根本原因传播到系统故障。系统故障的常规分析涉及主题专家,其可以在故障事件之后修复系统。在一些情况下,专家可以识别系统故障的根本原因,但是,专家通常不可能准确地识别根本原因在何时开始(例如,系统故障的发作)。因此,在本领域中需要解决上述问题。

发明内容

以下给出了提供对本发明的一个或多个实施例的基本理解的概述。本概述不旨在标识关键或重要元素,或描绘特定实施例的任何范围或权利要求的任何范围。其唯一的目的是以简化形式呈现概念,作为稍后呈现的具体实施方式的序言。在本文描述的一个或多个实施例中,描述了可以基于时间序列数据变量之间的一个或多个格兰杰因果关系考虑根本原因分析的系统、计算机实现的方法、装置和/或计算机程序产品

从第一方面来看,本发明提供了一种系统,其包括:存储器,其存储计算机可执行组件;以及处理器,其可操作地耦合到存储器,并且执行被存储在存储器中的计算机可执行组件,其中,计算机可执行组件包括:维护组件,其通过采用贪心爬山(greedy hillclimbing)过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障原因。

从另一方面来看,本发明提供了一种系统,包括:存储器,其存储计算机可执行组件;以及处理器,其可操作地耦合到存储器,并且执行被存储在存储器中的计算机可执行组件,其中,计算机可执行组件包括:维护组件,其通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障发作。

从另一方面来看,本发明提供了一种计算机实现的方法,其包括:由操作地耦合到处理器的系统通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障原因。

从另一方面来看,本发明提供了一种计算机实现的方法,其包括:由操作地耦合到处理器的系统通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障发作。

从另一方面来看,本发明提供了一种用于识别关于机械系统的故障的信息的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储由处理电路执行以执行用于执行本发明的步骤的方法的指令。

从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,其包括软件代码部分,当所述程序在计算机上运行时,软件代码部分用于执行本发明的步骤。

从另一方面来看,本发明提供了一种用于分析机械系统的故障的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,程序指令可由处理器执行以使处理器通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,由处理器检测机械系统的故障发作。

根据一个实施例,提供了一种系统。该系统可以包括可存储计算机可执行组件的存储器。该系统还可以包括处理器,该处理器可操作地耦合到存储器,并且可以执行被存储在存储器中的计算机可执行组件。计算机可执行组件可以包括维护组件,其可以通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障原因。这种系统的优点可以是由于使用多项式数量的条件独立性测试而不是指数数量的测试,因此可以提高执行因果发现算法的效率。

根据另一个实施例,提供了一种系统。该系统可以包括可存储计算机可执行组件的存储器。该系统还可以包括处理器,该处理器可操作地耦合到存储器,并且可以执行被存储在存储器中的计算机可执行组件。计算机可执行组件可以包括维护组件,其通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障发作。这种系统的优点可以是确定根本原因首先在何时引发机械系统的操作的恶化。

根据实施例,提供了一种计算机实现的方法。该计算机实现的方法可以包括由操作地耦合到处理器的系统通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障原因。这种计算机实现的方法的优点可以是使用机器学习来最小化对人类交互以识别根本原因的需要。

根据另一个实施例,提供了一种计算机实现的方法。该计算机实现的方法可以包括由操作地耦合到处理器的系统通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障发作。这种计算机实现的方法的优点可以是由于使用多项式数量的条件独立性测试,减少了用于执行贪心爬山过程的因果发现算法的运行时间。

根据一个实施例,提供了一种用于分析机械系统的故障的计算机程序产品。计算机程序产品可以包括具有程序指令的计算机可读存储介质。程序指令可由处理器执行以使处理器通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的格兰杰因果关系,从而检测机械系统的故障发作。这种计算机程序产品的优点可以是减少用于执行贪心爬山过程的因果发现算法的错误发现率。

附图说明

本专利或申请文件包含至少一个彩色附图。具有(一个或多个)彩色附图的本专利或专利申请公开的副本将由官方在请求并支付必要费用后提供。

图1示出根据本文所描述的一个或多个实施例的可确定机械系统故障的根本原因和/或机械系统故障的发作以促进预防性维护的示例非限制性系统的框图;

图2示出根据本文所描述的一个或多个实施例的可构建关于时间序列数据的一个或多个格兰杰因果关系结构以促进根本原因分析的示例非限制性系统的框图;

图3示出根据本文所描述的一个或多个实施例的可用于确定时间序列数据的变量之间的一个或多个格兰杰因果关系的示例非限制因果发现算法的示图;

图4示出根据本文所描述的一个或多个实施例的可生成关于时间序列数据的一个或多个邻接矩阵以促进根本原因分析的示例非限制性系统的框图;

图5示出根据本文所描述的一个或多个实施例的可将一个或多个邻接矩阵聚类成两个不同的聚类组以促进根本原因分析的示例非限制性系统的框图;

图6示出根据本文所描述的一个或多个实施例的可基于表征时间序列数据的变量之间的格兰杰因果关系的经聚类的邻接矩阵识别系统故障的发作的示例非限制性系统的框图;

图7示出根据本文所描述的一个或多个实施例的基于时间序列数据确定系统故障的一个或多个根本原因和/或系统故障的发作的示例非限制性系统的框图;

图8示出根据本文所描述的一个或多个实施例的可展示基于在时间序列数据中找到的一个或多个格兰杰因果关系的一个或多个自主根本原因分析的功效的示例非限制性图表的示图;

图9A示出根据本文所描述的一个或多个实施例的可展示基于在时间序列数据中找到的一个或多个格兰杰因果关系的一个或多个自主根本原因分析的功效的示例非限制性图表的示图;

图9B示出根据本文所描述的一个或多个实施例的可展示基于在时间序列数据中找到的一个或多个格兰杰因果关系的一个或多个自主根本原因分析的功效的示例非限制性图表的示图;

图9C示出根据本文所描述的一个或多个实施例的可展示基于在时间序列数据中找到的一个或多个格兰杰因果关系的一个或多个自主根本原因分析的功效的示例非限制性图表的示图;

图10示出根据此处本文所描述的一个或多个实施例的可展示基于在时间序列数据中找到的一个或多个格兰杰因果关系的一个或多个自主根本原因分析的功效的示例非限制性图表的示图;

图11示出根据本文所描述的一个或多个实施例的可促进可识别机械系统故障的一个或多个发作的一个或多个根本原因分析的示例性非限制性计算机实现的方法的流程图;

图12示出根据本文所描述的一个或多个实施例的可促进一个或多个计算机系统故障的一个或多个根本原因分析的示例非限制性计算机实现的方法的流程图;

图13示出根据本文所描述的一个或多个实施例的可促进一个或多个计算机系统故障的一个或多个根本原因分析的示例非限制性计算机实现的方法的流程图;

图14描绘了根据本文所描述的一个或多个实施例的云计算环境;

图15描绘了根据本文所描述的一个或多个实施例的抽象模型层;

图16示出其中可促进本文所描述的一个或多个实施例的示例非限制性操作环境的框图。

具体实施方式

以下的详细描述仅是说明性的,并且不旨在限制实施例和/或实施例的应用或使用。此外,并不意图受在前面的背景技术或发明内容部分或具体实施方式部分中呈现的任何明示或暗示的信息的约束。

现在参考附图描述一个或多个实施例,其中相同的附图标记始终用于表示相同的元素。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻理解。然而,在各种情况下,显然可在没有这些特定细节的情况下实践一个或多个实施例。

考虑到机械系统的根本原因分析的其它实现的问题;本公开可以被实现为通过并入基于在时间序列数据中找到的格兰杰因果关系的自主根本原因分析来产生对这些问题中的一个或多个问题的解决方案,其中自主根本原因分析可以确定系统故障的一个或多个根本原因和/或发作。有利地,本文所描述的一个或多个实施例能够识别机械系统故障的根本原因在何时发生。进一步地,本文所描述的各种实施例可识别系统故障的发作以促进预防性维护。由此,在本文的各种实施例中描述的根本原因分析可识别系统故障的发作和/或根本原因,以实现可防止系统故障和与系统故障相关联的成本的预防性维护措施。

本发明的各种实施例可以涉及促进机械系统故障的高效、有效和自主(例如,没有直接的人工指导)的根本原因分析的计算机处理系统、计算机实现的方法、装置和/或计算机程序产品。例如,在本文所描述的一个或多个实施例中,可以采用一个或多个贪心爬山过程以执行多项式数量的条件独立性测试,以确定在给定调节集合下来自机械系统的时间序列数据的变量之间的一个或多个格兰杰因果关系。本文所描述的一个或多个实施例可以基于格兰杰因果关系的分析来识别系统故障的发作。另外,本文所描述的各种实施例可以基于格兰杰因果关系的分析来识别机械系统故障的一个或多个根本原因和/或一个或多个根本原因何时发生。

计算机处理系统、计算机实现的方法、装置和/或计算机程序产品采用硬件和/或软件以解决本质上高度技术性的问题(例如,机械系统故障的根本原因分析),这些问题不是抽象的并且不能作为一组智力活动由人类执行。例如个人或多个个人不能容易地监视和/或分析时间序列数据来以本文所描述的各种实施例的准确性和效率确定格兰杰因果关系。本文所描述的一个或多个实施例可以通过将条件独立性测试的数量从指数数量减少到多项式数量来构成对用于发现时间序列数据之间的格兰杰因果关系的传统技术的技术改进。通过减少格兰杰因果发现算法所需的条件独立性测试的数量,本文描述的一个或多个实施例可以以比传统技术所经历的统计成本更低的统计成本确定格兰杰因果关系。进一步地,本文所描述的各种实施例可以关注贪心爬山过程的实际应用以执行多项式数量的条件独立性测试,以确定在给定调节集合下时间序列数据之间的格兰杰因果关系,从而确定机械系统故障的发作和/或根本原因。

图1示出了可以执行一个或多个根本原因分析的示例性非限制性系统100的框图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。在本发明的各种实施例中的系统(例如,系统100等)、装置或过程的各方面可以构成一个或多个机器可执行组件,其体现在一个或多个机器内,例如,体现在与一个或多个机器相关联的一个或多个计算机可读介质(或多个介质)中。这样的组件在由一个或多个机器(例如,计算机、计算设备、虚拟机等)执行时可以使机器执行所描述的操作。

如图1所示,系统100可以包括一个或多个服务器102、一个或多个网络104和/或输入设备106。服务器102可以包括维护组件108。维护组件108可进一步包括通信组件110和/或划分组件112。而且,服务器102可以包括至少一个存储器116或以其他方式与之相关联。服务器102还可以包括系统总线118,其可以耦合到各种组件,例如但不限于维护组件108和相关联的组件、存储器116和/或处理器120。虽然在图1中示出了服务器102,但是在其他实施例中,各种类型的多个设备可以与图1中所示的特征相关联或包括这些特征。进一步地,服务器102可与一个或多个云计算环境进行通信。

一个或多个网络104可以包括有线和无线网络,包括但不限于蜂窝网络、广域网(WAN)(例如,因特网)或局域网(LAN)。例如,服务器102可以使用实际上任何期望的有线或无线技术与一个或多个输入设备106通信(反之亦然),这些技术包括例如但不限于:蜂窝、WAN、无线保真(Wi-Fi)、Wi-Max、WLAN、蓝牙技术、其组合等。进一步地,尽管在所示的实施例中,维护组件108可以被提供在一个或多个服务器102上,但是应当理解,系统100的体系架构不限于此。例如,维护组件108或维护组件108中的一个或多个组件可以位于另一个计算机设备处,诸如另一个服务器设备、客户端设备等

一个或多个输入设备106可以包括一个或多个计算机化设备,其可以包括但不限于:个人计算机、台式计算机、膝上型计算机、蜂窝电话(例如,智能电话)、计算机化平板(例如,包括处理器)、智能手表、键盘、触摸屏、鼠标、其组合等。一个或多个输入设备106可以用于将机械系统的时间序列数据输入到系统100中,从而与服务器102共享(例如,经由直接连接和/或经由一个或多个网络104)所述数据。例如,一个或多个输入设备106可向通信组件110发送数据(例如,经由直接连接和/或经由一个或多个网络104)。另外,一个或多个输入设备106可以包括一个或多个显示器,其可以向用户呈现由系统100生成的一个或多个输出。例如,一个或多个显示器可以包括但不限于:阴极管显示器(CRT)、发光二极管显示器(LED)、电致发光显示器(ELD)、等离子体显示面板(PDP)、液晶显示器(LCD)、有机发光二极管显示器(OLED)、其组合和/或类似物。

在各种实施例中,一个或多个输入设备106和/或一个或多个网络104可以用于将一个或多个设置和/或命令输入到系统100中。例如,在本文所描述的各种实施例中,一个或多个输入设备106可以用于操作和/或操纵服务器102和/或相关联的组件。另外,一个或多个输入设备106可以用于显示由服务器102和/或相关联的组件生成的一个或多个输出(例如,显示、数据、可视化等)。进一步地,在一个或多个实施例中,一个或多个输入设备106可以被包括在云计算环境内和/或可操作地耦合到云计算环境。

在各种实施例中,一个或多个输入设备106可以包括被包括在机械系统内的一个或多个传感器和/或检测器,其中,一个或多个输入设备106可以收集和/或测量时间序列数据。可以被包括在一个或多个输入设备106内的示例传感器可以包括但不限于:温度传感器、压力传感器(例如,无液气压计传感器、压力计传感器、布尔登管压力传感器、真空压力传感器、其组合和/或类似物)、振动传感器(例如,加速度计、应变计、电容式位移传感器、其组合和/或类似物)、超声传感器、触摸传感器、接近传感器、液位传感器、烟雾传感器、气体传感器、阀测量传感器、壳体压力测量传感器、其组合和/或类似物。

在一个或多个实施例中,一个或多个输入设备106可以用于将时间序列数据输入到系统100中(例如,经由手动操作、自主收集、自主检测和/或自主测量)。时间序列数据可以关注在机械系统内包括的一个或多个部件的操作。例如,机械系统可被包括在物联网(IoT)内,其中,一个或多个输入设备106可包括监视机械系统的一个或多个部分的操作的一个或多个传感器和/或检测器。时间序列数据可以包括由一个或多个输入设备106收集、检测和/或测量的数据。例如,时间序列数据可以包括描述机械系统的一个或多个部分在操作期间经历的振动量、温度和/或压力量的数据点以及一个或多个部分在何时经历了数据点。

例如,机械系统的各个部分的操作特性可以由一个或多个数据点表示,该数据点可以按照时间顺序被索引(例如,按照在连续时间点取得的序列被索引)以建立时间序列数据。例如,一个或多个输入设备106可以以给定时间间隔收集、检测和/或测量各个部分的操作状态,其中,在每个时间间隔收集、检测和/或测量的数据可以被加上时间戳,并被加到在先前的时间间隔收集、检测和/或测量的数据上以建立时间序列数据。由此,时间序列数据可以经由一个或多个输入设备106手动地(例如,经由一个或多个用户)或自主地(例如,经由一个或多个传感器和/或检测器)输入,和/或可以表征机械系统的各个部分随时间的操作状态。

在各种实施例中,一个或多个输入设备106可以经由通信组件110和/或一个或多个网络104与维护组件108共享时间序列数据。通信组件110可以接收时间序列数据,并与本文所描述的维护组件108中的一个或多个相关联的组件共享时间序列数据(例如,经由系统总线118)。在一个或多个实施例中,通信组件110可以接收时间序列数据,并将时间序列数据存储在一个或多个存储器116中,以用于由维护组件108处理。

划分组件112可以基于定义的时间段间隔将时间序列数据分成多个组。示例性时间段间隔可以包括但不限于:小时、天、周、月、年、其组合等。在各种实施例中,一个或多个输入设备106可以用于定义时间段间隔。另外,划分组件112可以将从时间序列数据提取的多个数据组存储在一个或多个存储器116中。例如,在时间段间隔是一周的情况下,则划分组件112可以将时间序列数据分成多个组,其中,每个组包括与给定周相关联的时间序列数据。例如,在时间段间隔是一周的情况下,表征机械系统内的一个或多个部分在九月的第一周期间的操作状态的时间序列数据可被分为第一组;而表征该一个或多个部分在九月的第二周期间的操作状态的时间序列数据可以被分成第二组。

图2示出根据本文所描述的一个或多个实施例的进一步包括结构组件202的示例非限制性系统100的图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。在各种实施例中,结构组件可针对每个定义的时间序列数据组采用一个或多个因果发现算法,以生成多个组的推断因果关系结构。

在一个或多个实施例中,结构组件202可采用一个或多个参数或非参数条件独立性测试器以推断在时间序列数据组内包括的变量之间的因果结构。例如,结构组件202可采用机器学习以执行一个或多个因果发现算法,这些算法可使用一个或多个条件独立性测试器以执行测试以确定边的存在和/或不存在来生成一个或多个贝叶斯网络(例如,描绘时间序列数据中的变量之间的关系的有向图)。条件独立性测试器的示例可以包括但不限于:ParCorr、CCIT和/或RCOT。

结构组件202可利用一个或多个条件独立性测试器以确定一个或多个p值,该p值可对应于被包括在时间序列数据内的变量之间的假设关系是独立的概率。例如,p值可以表示在给定第三时间序列数据变量下第一时间序列数据变量独立于第二时间序列数据变量的概率。例如,p值可以对应于在给定时间序列数据下对于任何

在一个或多个实施例中,结构组件202可以利用一个或多个条件独立性测试器以根据下面的等式1确定表征时间序列数据之间的可能依赖性的关联测量。

Assoc

其中,“DI”可对应于定向信息,“a”可对应于定义的p值阈值。大于p值阈值α的p值可以被剪切到p值阈值α。因此,p值阈值α可以对应于给定的时间序列数据变量之间的最大关联。因此,结构组件202可以利用一个或多个条件独立性测试器确定p值,然后可以根据等式1将该p值与关联测量相关。

进一步地,结构组件202可利用关联测量以对多个时间序列数据组执行因果发现算法。在因果发现算法的第一阶段期间,可以基于由一个或多个条件独立性测试器促进的p值和/或关联测量来构建因果图(例如贝叶斯网络)。进一步地,结构组件202可以参考因果图以识别与目标时间序列数据变量具有高关联(例如,超过经由一个或多个输入设备106设置的阈值)的时间序列数据变量,并将所识别的时间序列数据变量包括在候选父集合中。时间序列数据变量可以被重复地添加到候选父集合中,直到没有更多的关联为止。例如,一个或多个条件独立性测试器可以执行多项式数量的测试以找到与目标变量具有最大关联的变量。在因果发现算法的第二阶段期间,结构组件202可修剪候选父集合以移除一个或多个不相关变量(例如,通过移除在第一阶段期间被添加到因果图中的虚假边)。另外,结构组件202可将一个或多个错误发现率控制并入因果发现算法中。

图3示出根据本文所描述的一个或多个实施例的可例示可由结构组件202执行的一个或多个因果发现算法的示例性非限制性MMPC-p缩减算法300的图。为了简洁,省略了在本文描述的其它实施例中采用的类似元素的重复描述。如图3所示,MMPC-p缩减算法300可以是基于贝叶斯网络的贪心爬山算法,其采用条件独立性测试器以识别来自时间序列数据的一组变量上的因果图。

如图3所示,MMPC-p缩减算法300可以通过分析被初始化在φ的时间序列数据变量j的候选父(CP)开始。进一步地,MMPC-p缩减算法300可以基于K值形成候选父的调节集合,该调节集合可以等于候选父减去K值。在各种实施例中,可经由一个或多个输入设备106设置K值,和/或K值可大于或等于零。例如,在有5个候选父并且K的值是1的情况下,调节集合可以等于4个候选。进一步地,在MMPC-p缩减算法300的第一阶段期间执行的条件独立性测试的数量可以是K值的多项式数量。例如,在MMPC-p缩减算法300的第一阶段期间执行的条件独立性测试的数量n可以等于n

在条件集合的候选者之中,MMPC-p缩减算法300则可以(例如,经由一个或多个条件独立性测试器和/或由等式1定义的关联测量)找到两个给定时间序列数据变量i与j之间的最小关联。然后,MMPC-p缩减算法300分析尚未在时间序列数据变量j的候选父集合中的时间序列数据变量i的父候选,以使得关联测量被最大化(例如,以j的当前候选父集合为条件)。在i的候选父已经在j的候选父集合中的情况下,关联测量将是零,因此不是最大关联。在i的候选父被发现具有最大关联测量(例如,大于零的值)时,i的候选父被添加到j的候选父集合中。从而,可以分析在j的初始候选父集合之外的候选父,以识别会标记它们被包括到j的候选父集合中的关联(例如,由大于0的关联测量表征)。

一旦由MMPC-p缩减算法300的第一阶段建立了j的候选父集合(例如,如以上所描述并在图3的第1-7行所示的),MMPC-p缩减算法300的第二阶段可以修剪候选父集合(例如,如图3的第8-20行所示的)。对于候选父集合中的每个成员Y,MMPC-p缩减算法300可以以候选父集合中的剩余成员为条件确定Y与j之间的关联(例如,经由一个或多个条件独立性测试器和/或由等式1表征的关联测量),以识别具有最小关联的成员。在最小关联等于零的情况下,可以从候选父集合中移除给定的成员。在最小关联大于零的情况下,可以维持给定的成员。由此,MMPC-p缩减算法300可以修剪候选父集合的组成。

在一个或多个实施例中,MMPC-p缩减算法300的第二阶段还可确定给定父以什么p值被添加到候选父集合,候选父集合由图3的第1、19、21和/或22行中的

图4示出了根据本文所描述的一个或多个实施例的进一步包括矩阵组件402的示例非限制性系统100的图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。在各种实施例中,矩阵组件402可以基于由结构组件202导出的一个或多个因果关系结构来针对每个时间序列数据组构建多个邻接矩阵。

例如,矩阵组件402可以针对结构组件202构建的每个因果关系图构建邻接矩阵。邻接矩阵可以基于因果发现算法(例如MMPC-p缩减算法300)的确定来描绘给定组中的每个时间序列数据变量的父。例如,邻接矩阵可以布尔格式组成(例如,其中每行可以索引组内的各种变量;每列可以索引可能的父;如由因果发现算法确定的父候选可以对应于矩阵内的值1;如由因果发现算法确定的非父可以对应于矩阵内的值0)。

图5示出了根据本文所描述的一个或多个实施例的进一步包括聚类组件502的示例非限制性系统100的图。为了简洁,省略了在本文描述的其它实施例中采用的类似元素的重复描述。在各种实施例中,聚类组件502可采用机器学习以执行一个或多个K均值聚类技术以将多个邻接矩阵聚类成不同的聚类组。

例如,第一聚类组可以包括表征机械系统的标准操作的邻接矩阵。例如,第一聚类组可以包括邻接矩阵,该邻接矩阵包括在机械系统未在经历故障(例如,由一个或多个输入设备106的传感器监视的每个部分以标准方式操作,诸如在预期公差内)的时间间隔期间的时间序列数据之间的格兰杰因果关系。第二聚类可以包括表征非标准操作机械系统的邻接矩阵。例如,第二聚类组可以包括邻接矩阵,该邻接矩阵包括在机械系统正经历故障(例如,由一个或多个输入设备106的传感器监视的一个或多个部分在以非标准方式操作,诸如在预期公差之外)的时间间隔期间的时间序列数据之间的格兰杰因果关系。

在一个或多个实施例中,邻接矩阵的数据拓扑可以取决于机械系统的给定部分是否已经历了故障而关于描述给定部分的操作的时间序列数据而变化。由此,聚类组件502可以基于数据拓扑的变化而将邻接矩阵聚类成单独的聚类组以:将与机械系统的标准操作相关联的邻接矩阵聚类为第一聚类组,并将与机械系统的非标准操作(例如故障)相关联的邻接矩阵聚类为第二聚类组。

图6示出了根据本文所描述的一个或多个实施例的进一步包括发作组件602的示例非限制系统100的图。为了简洁,省略了在本文描述的其它实施例中采用的类似元素的重复描述。在各种实施例中,发作组件602可以分析经聚类的邻接矩阵以识别机械系统的根本原因故障的发作。

例如,发作组件602可以识别在时间序列数据的时间序列内与另一个聚类组的一个或多个其他邻接矩阵相邻的一个或多个邻接矩阵。例如,跨在时间序列中布置的邻接矩阵的聚类组之间的转变可以标记机械系统的标准操作与非标准操作之间的转变,这可以指示由时间序列数据表征的一个或多个部分所经历的故障。例如,发作组件602可以基于与由给定邻接矩阵表征的时间序列数据组相关联的时间间隔来将经聚类的邻接矩阵排序成时间序列数据的时间序列。发作组件602可以通过沿着时间序列识别第一聚类组的邻接矩阵位于第二聚类组的邻接矩阵旁边的实例来确定根本原因的发作。由此,发作组件602可以基于时间序列数据的格兰杰因果关系中的数据拓扑变化(如由沿着时间序列从第一聚类组的邻接矩阵到第二聚类组的邻接矩阵的转变所描绘的)来确定根本原因何时发生和/或根本原因的发作。

图7示出了根据本文所描述的一个或多个实施例的进一步包括原因组件702的示例性非限制性系统100的图。为了简洁,省略了在本文描述的其它实施例中采用的类似元素的重复描述。在各种实施例中,原因组件702可以分析所识别的聚类组转变的邻接矩阵(例如,如由发作组件602识别的)以识别与所识别的邻接矩阵之间的最大变化相对应的一个或多个时间序列数据变量。在一个或多个实施例中,变量与所识别的邻接矩阵之间的最大变化相关联,并且指示机械系统故障的根本原因,或者潜在机械系统故障的根本原因。

例如,原因组件702可以确定由发作组件602识别的邻接矩阵(例如,定义聚类组转变的邻接矩阵)的时间序列数据变量之间的汉明距离。例如,原因组件702可以确定被包括在第一邻接矩阵和第二邻接矩阵内的变量之间的汉明距离;其中,第一邻接矩阵可属于第一聚类组并位于可属于第二聚类组的第二邻接矩阵旁边。基于汉明距离,原因组件702可以识别与两个邻接矩阵之间的最大变化相关联的定义变量数量(例如,五个变量)。在一个或多个实施例中,可以经由一个或多个输入设备106设置定义变量数量。由所识别的变量表征的机械系统的一个或多个部分可以是过去故障的根本原因或者是潜在故障的根本原因。进一步地,邻接矩阵从一个聚类组转变到另一个聚类组的时间可以是所识别的部分(例如,如由所识别的变量描述的)经历故障的时间(例如,可以是根本原因的发作发生的时间)。

图8示出了根据本文所描述的一个或多个实施例的可以展示使用各种条件独立性测试器的MMPC-p缩减算法300的功效的示例非限制性图表800和802的图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。图表800和802可关注对包含由Kuramoto振荡器生成的10个时间序列变量的综合数据集执行因果发现算法。

如图表800所示,线804可对应于传统的因果发现算法,其可利用指数数量的条件独立性测试以构建格兰杰因果图。例如,线804可以对应于使用CCIT条件独立性测试器和α值0.1对时间序列数据执行MMPC算法。线806和808可关注执行本文所描述的基于贝叶斯网络的贪心爬山因果发现算法,其可采用多项式数量的条件独立性测试以构建造格兰杰因果图。例如,线806可以对应于使用CCIT条件独立性测试器和α值0.1执行MMPC-p缩减算法300。同样,线808可以对应于使用ParCorr条件独立性测试器和α值0.1执行MMPC-p缩减算法300。如图表800和/或802所示,与传统技术相比,执行本文所描述的基于贝叶斯网络的贪心爬山因果发现算法(例如,MMPC-p缩减算法300)可实现改进的误报率(false positive rate)和/或漏报率(false negative rate)。

图9A、9B和/或9C示出了根据本文所描述的各种实施例可展示可由维护组件108执行的根本原因分析的功效的示例性非限制性图表900、902和/或904。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。图表900、902和/或904可关注包括来自蒸汽涡轮机的传感器读数的时间序列数据。蒸汽涡轮机的独特操作可导致时间序列数据的一个或多个属性,其可使因果发现具有挑战性。例如,时间序列数据可以表现基于时间的变化属性。例如,蒸汽涡轮机在大多数夜晚不运转。而且,在白天期间,蒸汽涡轮机可具有可改变变量之间的关系的各种操作模式。在另一个示例中,时间序列数据可以表征滞后依赖性和高频变化。变量的行为可以迅速地改变,但是,变量变化对其他变量的影响的实现可被延迟。例如,转子的振动可在几秒内改变,但对蒸汽涡轮机的功率输出的影响可花费几分钟来观察。

为了对抗因果发现挑战,维护组件108可以在导出在图表900、902和/或904中呈现的分析时实施以下试探法。首先,结构组件202可以对时间序列数据集的五次bootstrap(自助采样)执行因果发现算法(例如,MMPC-p缩减算法300),并构建加权因果图。因果图的边的权重可以表示在其中检测到该边的bootstrap数量。其次,结构组件202可以以两分钟的间隔对时间序列数据进行子采样,从而允许因果发现算法(例如,MMPC-p缩减算法300)发现关系,而不管上述的滞后。

图表900描绘了关于蒸汽涡轮机内的七个轴承的推力振动(例如,由输入设备106的一个或多个传感器测量的)的沿着时间序列绘制的时间序列数据的格兰杰因果关系。如图9A所示,划分组件112可将时间序列数据组织成多个组(例如,图9A所示的组0-7)。图表902描绘了图表900的从9月15日到9月29日的放大部分。如图9B所示,聚类组件502可以将多个组的邻接矩阵聚类成两个聚类组(例如,图9B所示的聚类组1和聚类组2)。例如,时间序列数据组0、1和2可以具有相似的数据拓扑,并且被聚类到聚类组1中;而时间序列数据组3可以具有与时间序列数据组0、1和2不同的数据拓扑,并且可以被聚类到聚类组2中。由此,发作组件602可以识别与时间序列数据组2和3相关联的邻接矩阵之间的聚类组转变,以确定根本原因的发作。

此外,原因组件702可以确定与时间序列数据组2相关联的邻接矩阵和与时间序列数据组3相关联的邻接矩阵的变量之间的汉明距离。如图9B所示,与轴承1、4、6和2相关联的变量可被(例如,原因组件702)识别为具有最大汉明距离。图表904描绘了图表900的从10月7日到10月19日的放大部分。如图9C所示,由于在时间序列组2和3之间识别出的发作(例如,在9月22日的发作),轴承1、4、6和2可以开始对变量有它们先前没有引起的因果效应。进一步地,因果效应被示为可视地改变时间序列数据组5中的操作行为,因此,维护组件108可以确定在时间序列数据组2中发生的并在时间序列数据组5中显现出显著的操作恶化的根本原因的发作,并且可以确定造成根本原因的可能变量与轴承1、4、6和2的操作相关联。

图10示出了根据本文所描述的各种实施例的可进一步展示可维护组件108执行的根本原因分析的功效的示例性非限制性图表1000。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。图表1000可进一步关注在图9A、9B和/或9C中分析的蒸汽涡轮机的时间序列数据。蒸汽涡轮机在7月6日经历了第二系统故障,并且图表1000可描绘根本原因的发作,如根据本文所描述的各种实施例由维护组件108所确定的。如图表1000所示,与时间序列数据组7相关联的邻接矩阵和与时间序列数据组8相关联的邻接矩阵可以被聚类到不同的聚类组中,从而指示根本原因的发作。在图表1000中还示出了与压力和/或控制值相关联的一些读数随着时间的推移而减小,其中,在聚类组转变处的一个或多个压力和/或控制值中的故障可以对应于根本原因的发作。

图11示出了根据本文所描述的一个或多个实施例的可基于时间序列数据促进一个或多个根本原因分析的示例非限制性计算机实现的方法1100的流程图。为了简洁,省略了在本文描述的其它实施例中采用的类似元素的重复描述。

在1102,计算机实现的方法1100可以包括由操作地耦合到处理器120的系统100接收(例如,经由通信组件110和/或输入设备106)关于机械系统的时间序列数据。例如,时间序列数据可以关注被包括在机械系统内的一个或多个部分的操作状态。在各种实施例中,时间序列数据可以由监视机械系统的操作的一个或多个传感器和/或检测器收集、确定和/或测量。进一步地,在一个或多个实施例中,时间序列数据可以经由一个或多个网络104(例如,利用一个或多个云计算环境)接收。

在1104,计算机实现的方法1100可以包括通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定条件集合下来自时间序列数据的变量之间的格兰杰因果关系,由系统100检测(例如,经由维护组件108)机械系统的故障原因。例如,根据本文所描述的各种实施例,在1104处的检测可以包括(例如,经由发作组件602)识别表征格兰杰因果关系的邻接矩阵之间的聚类组转移。进一步地,根据本文所描述的各种实施例,在1104的检测可以包括确定(例如,经由原因组件702)定义聚类组转移的邻接矩阵的变量之间的汉明距离。在一个或多个实施例中,具有最大汉明距离的变量可被识别为与故障的根本原因相关联。

图12示出了根据本文所描述的一个或多个实施例的可基于时间序列数据促进一个或多个根本原因分析的示例非限制性计算机实现的方法1200的流程图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。

在1202,计算机实现的方法1200可包括由操作地耦合到处理器120的系统100接收(例如,经由通信组件110和/或输入设备106)关于机械系统的时间序列数据。例如,时间序列数据可以关注被包括在机械系统内的一个或多个部分的操作状态。在各种实施例中,时间序列数据可以由监视机械系统的操作的一个或多个传感器和/或检测器收集、确定和/或测量。进一步地,在一个或多个实施例中,时间序列数据可以经由一个或多个网络104(例如,利用一个或多个云计算环境)接收。

在1204处,计算机实现的方法1200可以包括通过采用贪心爬山过程以执行多项式数量的条件独立性测试以确定在给定条件集合下来自时间序列数据的变量之间的格兰杰因果关系,由系统100检测(例如,经由维护组件108)机械系统的故障发作。例如,根据本文所描述的各种实施例,在1204的检测可以包括(例如,经由发作组件602)识别表征格兰杰因果关系的邻接矩阵之间的聚类组转变。聚类组转变可定义格兰杰因果关系的数据拓扑中所标记的变化,和/或可指示机械系统内的故障最初在何时发生。在一个或多个实施例中,计算机实现的方法1200可以检测关于所经历的机械系统故障的发作,以促进修复。在一个或多个实施例中,计算机实现的方法1200可以检测关于潜在系统故障的发作,以促进预防性维护。

图13示出了根据本文所描述的一个或多个实施例的可基于时间序列数据促进一个或多个根本原因分析的示例非限制性计算机实现的方法1300的流程图。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。

在1302,计算机实现的方法1300可包括由操作地耦合到处理器120的系统100接收(例如,经由通信组件110和/或输入设备106)关于机械系统的时间序列数据。例如,时间序列数据可以关注被包括在机械系统内的一个或多个部分的操作状态。在各种实施例中,时间序列数据可以由监视机械系统的操作的一个或多个传感器和/或检测器收集、确定和/或测量。进一步地,在一个或多个实施例中,时间序列数据可以经由一个或多个网络104(例如,利用一个或多个云计算环境)接收。

在1304,计算机实现的方法1300可包括由系统100将时间序列数据(例如,经由划分组件112)分成固定长度的组。例如,根据本文所描述的各种实施例,固定长度可以基于定义的时间间隔。在1306,计算机实现的方法1300可包括由系统100针对每一组执行(例如,经由结构组件202)一个或多个因果发现算法以构建表征时间序列数据中的格兰杰因果关系的一个或多个格兰杰因果图。例如,根据本文所描述的各种实施例,一个或多个因果发现算法是基于贝叶斯网络的贪心爬山算法,其具有条件独立性测试器以在时间序列数据上识别格兰杰因果图,诸如MMPC-p缩减算法300。

在1308,计算机实现的方法1300可以包括由系统100基于格兰杰因果图构建(例如,经由矩阵组件402)一个或多个邻接矩阵。例如,根据本文所描述的各种实施例,一个或多个邻接矩阵可以包括关于时间序列数据的每个变量所索引的候选父。在1310,计算机实现的方法1300可以包括由系统100使用K均值聚类将一个或多个邻接矩阵聚类(例如,经由聚类组件502)成两个聚类组。例如,根据本文所描述的各种实施例,第一聚类组可以与机械系统的一个或多个标准操作状态相关联,和/或第二聚类组可以与机械系统的一个或多个非标准操作状态(例如,包括一个或多个故障的操作)相关联。

在1312,计算机实现的方法1300可以包括由系统100识别(例如,由发作组件602)沿着时间序列彼此相邻定位并且属于不同聚类组的邻接矩阵。例如,根据本文所描述的各种实施例,所识别的邻接矩阵可以定义沿着时间序列的聚类组转变。进一步地,聚类组转变可以指示机械系统的根本原因和/或潜在故障的发作。在1314,计算机实现的方法1300可包括由系统100确定(例如,经由原因组件702)所识别的邻接矩阵的变量之间的汉明距离。例如,具有定义聚类组转变的邻接矩阵之间的最大汉明距离的变量可以与机械系统的故障或潜在故障的根本原因相关联。

应当理解,尽管本公开包括关于云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。

云计算是一种服务交付模式,用于实现对共享的可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、VM和服务)池的方便、按需的网络访问,可配置计算资源可以以最小的管理成本或与服务提供商进行最少的交互来快速供应和释放。这种云模式可以包括至少五个特性、至少三个服务模型和至少四个部署模型。

特征如下:

按需自助式服务:云的消费者可以单方面自动地按需提供计算能力(诸如服务器时间和网络存储),而无需与服务提供者进行人工交互。

广泛的网络接入:能力在网络上可用并通过促进异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用的标准机制来接入。

资源池:提供商的计算资源被归入资源池以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和再分配。一般情况下,消费者不能控制或不知道所提供的资源的确切位置,但是可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:可以迅速且有弹性地(在一些情况下自动地)提供能力以快速向外扩展并被迅速释放以快速缩小。对于消费者,可用于提供的能力通常看起来是无限的,并可以在任何时间以任何数量购买。

可测量的服务:云系统通过利用在适于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象程度的计量能力,自动地控制和优化资源使用。可以监视、控制和报告资源使用情况,为所利用的服务的提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可通过诸如网络浏览器的瘦客户机接口(例如,基于网络的电子邮件)来从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置以外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、或甚至单个应用能力等的底层云基础架构。

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用是使用由提供商支持的编程语言和工具创建的。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(IaaS):向消费者提供的能力是提供消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层云基础架构,但对操作系统、存储、所部署的应用具有控制权,对所选择的网络组件(例如,主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享,并支持具有共同利害关系(例如,任务、安全要求、政策和合规考虑)的特定共同体。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。

公共云:云基础架构可用于一般公众或大型产业群,并由销售云服务的组织拥有。

混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组成,这些云依然是独特实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语义的互操作性。计算的核心是包括互连节点网络的基础架构。

现在参考图14,描绘了说明性云计算环境1400。如图所示,云计算环境1400包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点1402,本地计算设备例如个人数字助理(PDA)或蜂窝电话1404、台式计算机1406、膝上型计算机1408和/或汽车计算机系统1410。节点1402可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文所描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境1400提供基础架构即服务、平台即服务和/或软件即服务,而云消费者不需要为其在本地计算设备上维护资源。应当理解,图14中所示的计算设备1404-1410的类型旨在仅仅是说明性的,计算节点1402和云计算环境1400可以在任何类型的网络和/或网络可寻址连接上(例如,使用网络浏览器)与任何类型的计算机化设备通信。

现在参考图15,示出了由云计算环境1400(图14)提供的一组功能抽象层。为了简洁,省略了在本文所描述的其它实施例中采用的类似元素的重复描述。应当预先理解,图15中所示的组件、层和功能旨在仅仅是说明性的,本发明的实施例不限于此。如图所示,提供了以下层和相应的功能。

硬件和软件层1502包括硬件和软件组件。硬件组件的示例包括:大型机1504;基于RISC(精简指令集计算机)架构的服务器1506;服务器1508;刀片服务器1510;存储设备1512;以及网络和联网组件1514。在一些实施例中,软件组件包括网络应用服务器软件1516和数据库软件1518。

虚拟化层1520提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器1522;虚拟存储1524;虚拟网络1526,包括虚拟专用网络;虚拟应用程序和操作系统1528;以及虚拟客户端1530。

在一个示例中,管理层1532可以提供下面描述的功能。资源供应功能1534提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价功能1536提供对在云计算环境中使用资源的成本跟踪,并为这些资源的消耗提供账单或发票。在一个示例中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份验证,并为数据和其他资源提供保护。用户门户功能1538为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能1540提供云计算资源分配和管理,以满足所需的服务水平。服务水平协议(SLA)计划和履行功能1542提供对根据SLA针对其预测未来需求的云计算资源的预安排和采购。

工作负载层1544提供了可以利用云计算环境的功能的示例。在该层中,可提供的工作负载和功能的示例包括:地图绘制和导航1546;软件开发及生命周期管理1548;虚拟教室的教学提供1550;数据分析处理1552;交易处理1554;以及根本原因分析1556。本发明的各种实施例可以利用参考图14和15描述的云计算环境来收集关于一个或多个机械系统的时间序列数据和/或基于时间序列数据执行一个或多个根本原因分析。

本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,计算机可读程序指令用于使处理器执行本发明的各方面。计算机可读存储介质可以是可保持并存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述存储设备的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如在上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码设备、以及上述设备的任何适当的组合。如本文所使用的计算机可读存储介质不应被解释为是暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的各方面。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器而执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,已使得在其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤将在计算机、其他可编程装置或其他设备上执行,以产生计算机实现的过程,以使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

为了提供用于本文描述的各种实施例的附加上下文,图16和以下的讨论旨在提供在其中可实现本文描述的实施例的各种实施例的合适的计算环境1600的一般描述。尽管在上文已在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述了各实施例,但本领域的技术人员将认识到,各实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。

通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员可以理解,本发明的方法可以用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型计算机、物联网(IoT)设备、分布式机械系统、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其中每一个可以操作上耦合到一个或多个相关联的设备。

本文所示出的实施例也可以在分布式计算环境中实践,其中某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。例如,在一个或多个实施例中,计算机可执行组件可以从存储器执行,该存储器可以包括一个或多个分布式存储器单元或由一个或多个分布式存储器单元组成。如本文所使用的,术语“存储器”和“存储器单元”可互换。进一步地,本文描述的一个或多个实施例可以以分布式方式执行计算机可执行组件的代码,例如,多个处理器组合或协同工作以执行来自一个或多个分布式存储器单元的代码。如本文所使用的,术语“存储器”可以包含在一个位置处的单个存储器或存储器单元或者在一个或多个位置处的多个存储器或存储器单元。

计算设备通常包括各种介质,其可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可由计算机访问的任何可用存储介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读存储介质或机器可读存储介质可结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据等信息的任何方法或技术来实现。

计算机可读存储介质可以包括但不限于随机存取存储器(“RAM”)、只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、光盘只读存储器(“CD-ROM”)、数字多功能盘(“DVD”)、蓝光光盘(“BD”)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、固态驱动器或其他固态存储设备、或可以用于存储所需信息的其他有形和/或非暂时性介质。在这一点,在本文中如应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂时性”将被理解为仅排除传播暂时性信号本身作为修饰语,并且不放弃对不仅传播暂时性信号本身的所有标准存储装置、存储器或计算机可读介质的权利。

计算机可读存储介质可以由一个或多个本地或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问,以用于关于由介质存储的信息的各种操作。

通信介质通常在数据信号(诸如调制数据信号,例如载波)或其它传输机制中体现计算机可读指令、数据结构、程序模块或其它结构化或非结构化数据,并包括任何信息传递或传输介质。术语“调制数据信号”或多个信号是指以在一个或多个信号中编码信息的方式设置或改变它的一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接连线连接)和无线介质(诸如声学、RF、红外和其它无线介质)。

再次参考图16,用于实现本文描述的方面的各实施例的示例环境1600包括计算机1602,计算机1602包括处理单元1604、系统存储器1606和系统总线1608。系统总线1608将包括但不限于系统存储器1606的系统组件耦合到处理单元1604。处理单元1604可以是各种市场上可购买到的处理器中的任何一种。双微处理器和其它多处理器体系结构也可用作处理单元1604。

系统总线1608可以是若干类型的总线结构中的任何一种,其可进一步使用各种市场上可购买到的总线体系结构中的任何一种互连到存储器总线(带有或没有存储器控制器)、外围总线、以及局部总线。系统存储器1606包括ROM 1610和RAM 1612。基本输入/输出系统(“BIOS”)可以被存储在非易失性存储器(诸如ROM、可擦除可编程只读存储器(“EPROM”)、EEPROM)中,其中BIOS包含帮助诸如在启动期间在计算机1602内的元件之间传输信息的基本例程。RAM 1612还可以包括高速RAM(诸如静态RAM)以用于高速缓存数据。

计算机1602进一步包括内部硬盘驱动器(“HDD”)1614(例如,EIDE、SATA)、一个或多个外部存储设备1616(例如,磁软盘驱动器(“FDD”)1616、记忆棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1620(例如,其可以从CD-ROM盘、DVD、BD等读取或写入)。虽然内部HDD 1614被图示为位于计算机1602内,但是内部HDD 1614也可以被配置为在合适的机架(未示出)中外部使用。另外,虽然在环境1600中未示出,但是除了HDD 1614之外或者代替它,可以使用固态驱动器(“SSD”)。HDD 1614、(一个或多个)外部存储设备1616和光盘驱动器1620可以分别通过HDD接口1624、外部存储接口1626和光驱动接口1628连接到系统总线1608。用于外部驱动器实现的接口1624可以包括通用串行总线(“USB”)和电气和电子工程师协会(“IEEE”)1394接口技术中的至少一个或两者。其它外部驱动器连接技术也在本文描述的实施例的考虑范围内。

驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1602,驱动器和存储介质容纳以适当数字格式存储任何数据。尽管以上对计算机可读存储介质的描述涉及相应类型的存储设备,但本领域的技术人员应当理解,计算机可读的其它类型的存储介质,无论是当前存在的还是将来开发的,也可在示例操作环境中使用,并且进一步地,任何这种存储介质可包含用于执行本文所描述的方法的计算机可执行指令。

多个程序模块可被存储在驱动器和RAM 1612中,包括操作系统1630、一个或多个应用程序1632、其它程序模块1634和程序数据1636。操作系统、应用程序、模块和/或数据的全部或部分也可被高速缓存在RAM 1612中。本文描述的系统和方法可以利用各种市场上可购买的操作系统或操作系统的组合来实现。

计算机1602可以可选地包括仿真技术。例如,管理程序(未示出)或其它中介可仿真操作系统1630的硬件环境,并且可选地,所仿真的硬件可与图16所示的硬件不同。在这种实施例中,操作系统1630可包括在计算机1602处托管的多个虚拟机(VM)中的一个VM。此外,操作系统1630可以向应用程序1632提供运行时环境,例如Java运行时环境或.NET框架。运行时环境是允许应用程序1632在包括该运行时环境的任何操作系统上运行的一致执行环境。类似地,操作系统1630可以支持容器,并且应用1632可以是容器的形式,其是包括例如代码、运行时、系统工具、系统库和应用的设置的轻量级独立的可执行软件包。

进一步地,计算机1602可以启用安全模块,诸如可信处理模块(“TPM”)。例如,采用TPM,引导组件散列在时间上下一个引导组件,并且在加载下一个引导组件之前等待结果与安全值的匹配。该过程可以在计算机1602的代码执行栈中的任何层发生,例如,被应用在应用执行级别或在操作系统(“OS”)内核级别,从而在任何代码执行级别实现安全性。

用户可以通过一个或多个有线/无线输入设备(例如键盘1638、触摸屏1640、以及诸如鼠标1642的定点设备)向计算机1602输入命令和信息。其它输入设备(未示出)可包括麦克风、红外(“IR”)遥控器、射频(“RF”)遥控器、或其它遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴装置、游戏板、指示笔、图像输入设备(例如,(一个或多个)相机)、姿势传感器输入设备、视觉移动传感器输入设备、情绪或面部检测设备、生物特征输入设备(例如,指纹或虹膜扫描仪)等。这些和其它输入设备通常通过可耦合到系统总线1608的输入设备接口1644连接到处理单元1604,但也可通过其它接口(诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、

监视器1646或其它类型的显示设备也可经由接口(诸如视频适配器1648)连接到系统总线1608。除了监视器1646之外,计算机通常包括其它外围输出设备(未示出),诸如扬声器、打印机等。

计算机1602可以使用经由向一个或多个远程计算机(诸如(一个或多个)远程计算机1650)的有线和/或无线通信的逻辑连接在联网环境中操作。(一个或多个)远程计算机1650可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机1602所描述的许多或所有元件,尽管出于简明的目的,仅示出了存储器/存储设备1652。所描绘的逻辑连接包括向局域网(“LAN”)1654和/或更大的网络(例如广域网(“WAN”))1656的有线/无线连接。这种LAN和WAN联网环境在办公室和公司中是常见的,并促进企业范围计算机网络(诸如内联网),所有这些网络都可连接到全球通信网络,例如因特网。

当在LAN网络环境中使用时,计算机1602可以通过有线和/或无线通信网络接口或适配器1658连接到局域网1654。适配器1658可促进到LAN1654的有线或无线通信,该LAN还可以包括在其上设置的无线接入点(“AP”),用于以无线模式与适配器1658通信。

当在WAN网络环境中使用时,计算机1602可包括调制解调器1660,或可经由用于在WAN 1656上建立通信的其它手段(诸如通过因特网)连接到WAN 1656上的通信服务器。调制解调器1660可以是内置或外置的,并且可以是有线或无线设备,它可以经由输入设备接口1644连接到系统总线1608。在网络化环境中,相对于计算机1602或其部分描述的程序模块可被存储在远程存储器/存储设备1652中。可以理解,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其它手段。

当在LAN或WAN网络环境中使用时,计算机1602可以访问云存储系统或其他基于网络的存储系统,作为如上所述的外部存储设备1616的补充或替代。通常,计算机1602与云存储系统之间的连接可以例如分别通过适配器1658或调制解调器1660在LAN 1654或WAN1656上建立。在将计算机1602连接到相关联的云存储系统时,外部存储接口1626可以在适配器1658和/或调制解调器1660的帮助下管理由云存储系统提供的存储,如同它管理其他类型的外部存储一样。例如,外部存储接口1626可以被配置为提供对云存储源的访问,就像这些源被物理地连接到计算机1602一样。

计算机1602可操作为与在操作上被设置在无线通信中的任何无线设备或实体(例如打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何设备或位置(例如,公用电话亭、报亭、货架等)、以及电话)进行通信。这可以包括无线保真(“Wi-Fi”)和

以上描述的内容仅包括系统、计算机程序产品和计算机实现的方法的示例。当然,不可能为了描述本公开而描述组件、产品和/或计算机实现的方法的每个可想到的组合,但是本领域的普通技术人员可以认识到,本公开的许多进一步的组合和置换是可能的。此外,就在详细描述、权利要求书、附录和附图中使用术语“包括”、“具有”、“拥有”等来说,这些术语旨在以与术语“包含”在权利要求书中被用作过渡词时所解释的类似的方式是包含性的。已经出于说明的目的呈现了对各种实施例的描述,但是不旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号