实时多变量时间序列搜索的制作方法

文档序号:23067964发布日期:2020-11-25 17:55阅读:99来源:国知局
实时多变量时间序列搜索的制作方法

相关申请的交叉引用

本申请要求于2018年1月26日在美国专利商标局提交的美国临时申请62/622,739的优先权,该申请的全部公开内容据此以引用方式并入。



背景技术:

在任何工业资产中,在操作期间有大量数据例如从传感器和/或操作参数采集。在一些情况下,由于缺乏可利用数据以进行故障排除的工具,多达约97%的采集数据可能未使用。例如,故障排除可集中于在故障时间段附近发生问题的特定安装。

为了从由工业资产产生的时间序列数据中搜索模式,搜索可通过从数据库中提取数据然后对其操作以搜索模式来执行。此类搜索耗时并且需要显著的处理能力。



技术实现要素:

本文所述的主题涉及实时多变量时间序列搜索。在一个方面,接收存储时间序列数据流的字符串表示的数据集的查询信号的字符串表示。时间序列数据由机器资产生成。通过至少确定查询信号与索引数据集的部分之间的距离,从索引数据集搜索查询信号的出现。提供索引数据集内查询信号的出现。还描述了相关的设备、系统、技术和制品。

本发明还描述了存储指令的非暂态计算机程序产品(即,物理地体现的计算机程序产品),该指令当由一个或多个计算系统的一个或多个数据处理器执行时,致使至少一个数据处理器执行本文的操作。类似地,还描述了计算机系统,该计算机系统可包括一个或多个数据处理器和耦接到一个或多个数据处理器的存储器。存储器可暂时地或永久地存储致使至少一个处理器执行本文所述的一个或多个操作的指令。此外,方法可由单个计算系统内或者分布在两个或更多计算系统之间的一个或多个数据处理器来实现。此类计算系统可连接,并且可经由包括网络(例如,互联网、无线广域网、局域网、广域网、有线网络等)上连接的一个或多个连接,经由多个计算系统中的一个或多个计算系统之间的直接连接等,交换数据和/或命令或其他指令等。

本文所述主题的一个或多个变型的细节在以下的附图和描述中阐述。根据说明书和附图以及权利要求书,本文所述主题的其他特征和优点将显而易见。

附图说明

图1是示出用表示为字符串的查询信号(例如,模式)搜索索引数据集的过程的示例性过程流程图,该字符串是时间序列数据的压缩表示。

图2是示出示例性时间序列数据和该时间序列数据的对应示例性字符串表示的曲线图。

图3示出了表示为字符串的时间序列数据的另一个示例。

图4是示出量化到对应于其字符串表示的层级的两个信号之间距离的曲线图。

图5示出了时间序列和查询信号相应的字符串表示。

图6是示出时间序列模式搜索系统的示例性框架的功能框图。

图7是示出归一化参考数据的两个曲线图。

图8是示出示例性查询的示例性l2范数距离的曲线图。

图9示出了具有突出显示部分的示例性时间序列数据,该突出显示部分指示在时间序列数据内找到查询信号。

在各个附图中,相似的附图标记指示相似的元件。

具体实施方式

当前主题可对数据集(在一些情况下,为大型数据集)实现通用时间序列模式搜索。在一些具体实施中,与工业机器(诸如油井和气井、涡轮、精炼厂等)相关的时间序列数据可在其存储时进行索引。例如,时间序列信号可被压缩为或表示为字符串表示。模式可通过使用字符串表示作为索引搜索数据集来检测。在一些具体实施中,系统接口可允许用户选择多变量时间序列信号的任何部分并且快速搜索非常大的数据集以识别类似的模式。一些具体实施可比当前可用的用于搜索时间序列数据集的行业标准实践快几个数量级。通过具有在时间序列中查询类似模式的快速方式,可提供关于工业机器故障开始或在其变得严重之前的麻烦操作的大量信息。

图1是示出用于使用表示为字符串的查询信号(例如,模式)搜索索引数据集的过程的示例性过程流程图100,该字符串是时间序列数据的压缩表示。因为图1所示的过程可实现为在时间序列中查询类似模式的快速方式,所以可提供关于工业机器故障开始或在其变得严重之前的麻烦操作的大量信息。

在110处,接收特征化查询信号的字符串表示的数据。查询信号可以是存储由机器资产(诸如,工业机器资产)生成的时间序列数据的字符串表示的数据集。例如,如果时间序列数据是在表示为例如浮动或双精度数据类型的值范围内变化的涡轮每分钟转数,则那些值可被转换(例如,编码)成从字符串值的固定集中获取的字符串值。

图2是示出示例性时间序列数据和该时间序列数据的对应示例性字符串表示的曲线图200。通过将时间序列数据转换成字符串表示,时间序列数据的振幅值被有效地量化为对应于多个字符串值中的一个字符串值的离散层级。在图2的示例中,时间序列数据的振幅被量化为三个值(“a”、“b”或“c”)中的一个。

图3是示出表示为字符串的时间序列数据的另一个示例的曲线图300。时间序列数据(左轴上的振幅值)可从“a”、“b”、“c”、“d”、“e”和“f”的集合中分配一个值(分配方案在右轴上示出)。这一方法可为有利的,因为每个符号可需要比实数更少的位(例如,浮动、双精度等)。此外,在一些具体实施中,几乎100倍的压缩是可能的,而基本上不损失保真度,并且该方法可为噪声免疫。这可以实现,因为在一些具体实施中,不预过滤时间序列数据以抑制数据的某些特征或特性。

再次参考图1,在120处,从索引数据集搜索查询信号的出现。例如,可通过至少确定查询信号与索引数据集的部分之间的距离来搜索索引数据集。可使用滑动窗口方法将距离计算为查询信号中的串字符与索引数据集之间的距离。该距离可包括欧氏距离或分段聚集近似(paa)距离,该paa距离可在时间序列离散化和聚集时使用。可使用其他距离量度。例如,图4是示出量化至对应于其字符串表示的层级的两个信号之间距离的曲线图400,并且图5是示出时间序列和查询信号相应的字符串表示的曲线图500。“a”和“b”之间的欧氏距离为1,而“a”和“d”之间的欧氏距离为3。对于图4的表示,这可正式表达为

其中q是查询信号,而c是索引数据集。在信号表示为字符串的情况下,欧氏距离可正式表达为

其中dist()返回两个字符串之间的整数间距。在一些具体实施中,确定两个字符串之间的距离可通过表格查找来实现,其中每对字符串或字符之间的距离包括在表格中。表格查找可以是可快速执行的o(常数)评估。

再次参考图1,在130处,可提供索引数据集内查询信号的出现。该出现可表示为,例如数据集内模式发生处的时间索引。该出现可包括与最小计算距离相关联的时间索引。在一些具体实施中,提供多次出现,例如与低于预定值或最小n距离的所有计算距离相关联的索引,其中n为预定的。

提供该出现可包括以突出显示时间序列导致匹配的部分的方式显示时间序列数据。例如,图9示出了具有突出显示部分的示例性时间序列数据,该突出显示部分指示在时间序列数据内找到查询信号。

所提供的出现特征化数据集内模式的存在或匹配,这可表示事件的发生。例如,这可在现场有许多资产产生多年的数据的情况下使用。一旦确定给定资产中的模式匹配,就可确定哪些资产以及其他资产以前是否发生过同样的事件以及何时发生。可确定那些所识别的资产如何随时间而劣化,以及事件发生的结果。这一分析和学习可用于采取纠正措施以防止当前资产具有类似问题。换句话讲,当前主题可使工业机器操作者能够早期识别潜在的操作问题,并且在进一步损坏或性能损失发生之前采取适当措施。

图6是示出时间序列模式搜索系统的示例性框架的功能框图600。查询信号可以以多变量形式被接收并且被转换成字符串表示,该字符串表示近似多变量查询信号。此外,传入数据被接收(例如,从工业机器接收),被转换成字符串表示,并且传入数据和字符串表示两者作为索引数据集存储在数据库中。为了执行搜索,可使用滑动窗口比较查询信号近似与索引数据集,并且在滑动窗口的每个位置处计算距离的量度。这一方法实现在时间序列数据被接收时(例如,索引正在进行并且数据集在执行搜索之前被预处理)并在一定规模上(例如,模式匹配可同时跨许多大的数据集执行)对时间序列数据进行索引。

当前主题可对非常大的数据集快速执行模式搜索。这可通过在摄取(例如,接收和存储)数据集时索引数据集来实现。通过预索引,可实现查询速度的显著增益。

在一些具体实施中,窗口大小可动态地确定或预定。窗口大小可基于特定应用(例如,基础时间序列数据)确定。例如,窗口大小可基于正被搜索的事件的时间长度确定。此外,滑动窗口可具有变化的步长(例如,窗口在距离计算之间移动的样本数),这可影响检测速率和查询速度性能两者。

当前主题可为有利的,因为索引也可用作压缩(例如,编码)方案。通过将时间序列数据的表示改变为字符串格式,索引数据集的大小可显著小于原始时间序列数据。可通过改变用于表示字符串格式的时间序列数据的层级数(例如,量化层级,诸如所使用的串字符的数量)改变压缩的层级和压缩的保真度。

在一些具体实施中,可缩放数据的单位方差。这可执行,因为给定时间序列数据可具有动态振幅范围,并且事件可以以不同的振幅发生。通过在创建字符串表示时缩放(例如,归一化)时间序列数据和查询信号,可改善模式检测。例如,图7是示出归一化参考数据的两条曲线700和750。

图8是示出示例性查询的示例性l2范数距离的曲线图800。字符串表示转换导致数据的平级近似。因此,距离计算可能无法具体识别模式匹配(例如,事件)的开始。因此,可执行附加处理以检测对应于模式开始的索引。这可通过检测具有相同值的距离序列并且将它们视为单个匹配来实现。例如,如果距离被计算为“3,2,3,1,1,1,2,3”;则系列“1,1,1”可被视为单个匹配(例如,因为它是平的)而不是三个匹配。可基于窗口大小执行组合,以将匹配位置报告为单个匹配而不是多个值。

在一些具体实施中,数据的平级近似可通过识别最小距离值来处理;在返回的所有索引中,可确定索引位置的一阶差值;并且响应于索引位置差值等于1,可组合那些位置。

尽管上文已详细描述了少数变型,但其他修改或添加也是可能的。例如,在一些具体实施中,搜索技术可并行化以大规模操作。当前主题可启用多变量,并且可包括用于快速(例如,接近实时地)处理数据(包括索引和搜索)的框架。索引可针对时间序列数据的区段独立执行和并行执行。在时间序列索引中搜索查询可通过拆分时间序列和并行化处理来并行执行。

本文所述主题可提供许多技术优点。例如,当前主题的一些具体实施可在摄取时归一化和索引数据集;基于数据的物理现实(窗口大小、步长等)组装查询字符串和时间序列数据;在字符串域中执行单变量距离搜索;使用l2范数计算多变量距离;沿时间序列搜索最小距离;突出显示满足最小阈值的位置;等等。

此外,当前主题的一些具体实施可通过索引和快速搜索索引数据在摄入期间实现时间序列的压缩;确定多变量域中查询序列与时间序列之间距离的定量度量的能力;使用并行计算加速大规模计算;等等。当前主题可实现以低计算负担和大规模(例如,跨大范围的数据集)搜索大型时间序列数据集。因为当前主题不依赖于一些变换,诸如快速傅里叶变换或小波表示,所以当前主题可不易受噪声影响,并且其可更好地缩放至更大的数据集。此外,当前主题的一些具体实施可包括归一化数据集空间和

针对预设数量的层级确定字符串近似;创建索引并且将索引作为时间的函数存储到同一数据集中;组装查询并且滚动(例如,滑动)通过索引数据集。一些具体实施还可包括多变量方法,其中与基于单变量的方法相比,当查询扫过数据集时可确定距离度量。

本文所述主题的一个或多个方面或特征可在数字电子电路、集成电路、专门设计的专用集成电路(asic)、现场可编程门阵列(fpga)计算机硬件、固件、软件和/或它们的组合中实现。这些各个方面或特征可包括一个或多个计算机程序中的具体实施,该计算机程序在包括至少一个可编程处理器的可编程系统上可执行和/或可解释,该具体实施可为专用或通用,耦接以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并且发射数据和指令到存储系统、至少一个输入装置和至少一个输出装置。可编程系统或计算系统可包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络交互。客户端和服务器的关系由于在相应计算机上运行计算机程序并且彼此具有客户端-服务器关系而产生。

这些计算机程序(也可称为程序、软件、软件应用程序、应用程序、部件或代码)包括用于可编程处理器的机器指令,并且可以以高级过程语言、面向对象的编程语言、功能编程语言、逻辑编程语言和/或以汇编语言/机器语言来实现。如本文所用,术语“机器可读介质”是指用于向可编程处理器提供机器指令和/或数据的包括接收机器指令作为机器可读信号的机器可读介质的任何计算机程序产品、设备和/或装置,诸如,磁盘、光盘、存储器和可编程逻辑装置(pld)。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。机器可读介质可非暂态地存储此类机器指令,诸如,非暂态固态存储器或磁性硬盘驱动器或任何等同的存储介质将会做的。另选地或附加地,机器可读介质可以以瞬态方式存储此类机器指令,诸如,处理器高速缓存或与一个或多个物理处理器内核相关联的其他随机存取存储器将会做的。

为了提供与用户的交互,本文所述主题的一个或多个方面或特征可在计算机上实现,该计算机具有用于向用户显示信息的显示装置(诸如,阴极射线管(crt)或液晶显示器(lcd)或发光二极管(led)监视器)以及通过其用户可向计算机提供输入的键盘和指向装置(诸如,鼠标或轨迹球)。还可使用其他种类的装置来提供与用户的交互。例如,提供给用户的反馈可为任何形式的感官反馈(诸如,视觉反馈、听觉反馈或触觉反馈),并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。其他可能的输入装置包括触摸屏或其他触敏装置,诸如单点或多点的电阻式或电容式触控板、语音识别硬件和软件、光学扫描仪、光学指针、数字图像捕获装置以及相关联的解释软件等。

在上述说明书和权利要求中,短语诸如“至少一个”或“一个或多个”可在元件或特征的结合式要素列表之后出现。术语“和/或”也可出现在两个或更多个要素或特征的列表中。除非在短语用于其中的上下文中另有暗示或与该上下文明确地矛盾,否则此类短语旨在表示单独地列出的要素或特征中的任一者或者所列举要素或特征中的任一者与其他列举的要素或特征中的任一者的组合。例如,短语“a和b中的至少一者”、“a和b中的一者或多者”以及“a和/或b”各自旨在表示“a单独、b单独或a和b一起”。类似的解释也旨在用于包括三个或更多项目的列表。例如,短语“a、b和c中的至少一者”、“a、b和c中的一者或多者”以及“a、b和/或c”各自旨在表示“a单独、b单独、c单独、a和b一起、a和c一起、b和c一起、或a和b和c一起”。此外,上文和权利要求书中使用的术语“基于”旨在表示“至少部分地基于”,以使得未述及的特征或元件也是允许的。

本文所述的主题可体现在系统、设备、方法和/或制品中,这取决于所需配置。在前面描述中阐述的具体实施不表示与本文所述的主题一致的所有具体实施。相反,它们仅是与所述主题相关的方面一致的一些示例。尽管上文已详细描述了少数变型,但其他修改或添加也是可能的。具体地,还可提供除本文阐述的那些之外的特征和/或变型。例如,上述具体实施可涉及所公开特征的各种组合和子组合和/或以上公开的若干另外特征的组合和子组合。此外,附图中所描绘的和/或本文所述的逻辑流程不一定需要所示特定次序或顺序以实现所需结果。其他具体实施可在以下权利要求书的范围内。

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