首页 / 专利库 / 电气元件和设备 / 半导体 / 数据流的自主异常检测与事件触发

数据流的自主异常检测与事件触发

阅读:2发布:2022-09-16

专利汇可以提供数据流的自主异常检测与事件触发专利检索,专利查询,专利分析的服务。并且本文描述了数据流的自主 异常检测 与事件触发。 半导体 封装设备的 实施例 可以包括:基于数据流来创建范围搜索树的技术、基于范围搜索树和对经 修改 的具有噪声方案的基于 密度 的空间聚类应用的应用来对来自数据流的数据进行聚类、以及基于经聚类的数据来检测数据流中的异常。公开并要求保护其他的实施例。,下面是数据流的自主异常检测与事件触发专利的具体信息内容。

1.一种电子处理系统,包括:
处理器;
存储器,通信地耦合到所述处理器;以及
逻辑,通信地耦合到所述处理器,用于:
基于数据流来创建范围搜索树,
基于所述范围搜索树以及对经修改的具有噪声方案的基于密度的空间聚类应用的应用来对来自数据流的数据进行聚类,以及
基于经聚类的数据来检测所述数据流中的异常。
2.如权利要求1所述的系统,其特征在于,所述逻辑进一步用于:
基于所检测到的异常来触发事件。
3.如权利要求2所述的系统,其特征在于,所述数据流包括遥测数据,并且其中所述逻辑进一步用于:
将所述遥测数据划分成一个或多个短批数据集;以及
针对所述一个或多个短批数据集中的每一个短批数据集创建所述范围搜索树。
4.如权利要求3所述的系统,其特征在于,所述逻辑进一步用于:
基于时间间隔窗口将所述遥测数据划分成一个或多个短批数据集。
5.如权利要求4所述的系统,其特征在于,所述逻辑进一步用于:
对离群值数据的移动窗口聚合进行计数。
6.如权利要求1至5中任一项所述的系统,其特征在于,所述范围搜索树包括自平衡二叉搜索树。
7.一种半导体封装设备,包括:
一个或多个衬底;以及
逻辑,耦合到所述一个或多个衬底,其中所述逻辑至少部分地在可配置逻辑和固定功能硬件逻辑中的一个或多个中实现,耦合到所述一个或多个衬底的所述逻辑用于:
基于数据流来创建范围搜索树,
基于所述范围搜索树以及对经修改的具有噪声方案的基于密度的空间聚类应用的应用来对来自所述数据流的数据进行聚类,以及
基于所述经聚类的数据来检测所述数据流中的异常。
8.如权利要求7所述的设备,其特征在于,所述逻辑进一步用于:
基于所检测到的异常来触发事件。
9.如权利要求8所述的设备,其特征在于,所述数据流包括遥测数据,并且其中所述逻辑进一步用于:
将所述遥测数据划分成一个或多个短批数据集;以及
针对所述一个或多个短批数据集中的每一个短批数据集创建所述范围搜索树。
10.如权利要求9所述的设备,其特征在于,所述逻辑进一步用于:
基于时间间隔窗口将所述遥测数据划分成一个或多个短批数据集。
11.如权利要求10所述的设备,其特征在于,所述逻辑进一步用于:
对离群值数据的移动窗口聚合进行计数。
12.如权利要求7至11中任一项所述的设备,其特征在于,所述范围搜索树包括自平衡二叉搜索树。
13.如权利要求7至12中的任一项所述的设备,其特征在于,耦合到所述一个或多个衬底的所述逻辑包括位于所述一个或多个衬底内的晶体管沟道区。
14.一种处理数据流的方法,包括:
基于数据流来创建范围搜索树;
基于所述范围搜索树以及对经修改的具有噪声方案的基于密度的空间聚类应用的应用来对来自所述数据流的数据进行聚类;以及
基于所述经聚类的数据来检测所述数据流中的异常。
15.如权利要求14所述的方法,进一步包括:
基于所检测到的异常来触发事件。
16.如权利要求15所述的方法,其中,所述数据流包括遥测数据,进一步包括:
将所述遥测数据划分成一个或多个短批数据集;以及
针对所述一个或多个短批数据集中的每一个短批数据集创建所述范围搜索树。
17.如权利要求16所述的方法,进一步包括:
基于时间间隔窗口将所述遥测数据划分成一个或多个短批数据集。
18.如权利要求17所述的方法,进一步包括:
对离群值数据的移动窗口聚合进行计数。
19.如权利要求14至18中任一项所述的方法,其特征在于,所述范围搜索树包括自平衡二叉搜索树。
20.一种异常检测设备,包括:
用于基于数据流来创建范围搜索树的装置;
用于基于所述范围搜索树以及对经修改的具有噪声方案的基于密度的空间聚类应用的应用来对来自所述数据流的数据进行聚类的装置,以及
用于基于所述经聚类的数据来检测所述数据流中的异常的装置。
21.如权利要求20所述的设备,进一步包括:
用于基于所检测到的异常来触发事件的装置。
22.如权利要求21所述的设备,其特征在于,所述数据流包括遥测数据,进一步包括:
用于将所述遥测数据划分成一个或多个短批数据集的装置;以及
用于针对所述一个或多个短批数据集中的每一个短批数据集创建所述范围搜索树的装置。
23.如权利要求22所述的设备,进一步包括:
用于基于时间间隔窗口将所述遥测数据划分成一个或多个短批数据集的装置。
24.如权利要求23所述的设备,进一步包括:
用于对离群值数据的移动窗口聚合进行计数的装置。
25.如权利要求20至24中任一项所述的设备,其特征在于,所述范围搜索树包括自平衡二叉搜索树。

说明书全文

数据流的自主异常检测与事件触发

技术领域

[0001] 实施例总体地涉及自主系统。更具体地,实施例涉及数据流的自主异常检测和事件触发。

背景技术

[0002] 异常检测可以指标识与数据集中的预期模式或其他项目不相符的项目、事件或观察。异常检测可用于各种各样的应用,诸如,例如网络入侵检测、欺诈检测、系统监视、传感器网络事件监视、生态系统监视等。附图说明
[0003] 通过阅读以下的说明和所附权利要求并通过参考附图,实施例的各种优点对于本领域技术人员就将变得显而易见,在附图中:
[0004] 图1是根据实施例的电子处理系统的示例的框图
[0005] 图2是根据实施例的半导体封装设备的示例的框图;
[0006] 图3是根据实施例的处理数据流的方法的示例的流程图
[0007] 图4是根据实施例的异常检测系统的示例的框图;
[0008] 图5是根据实施例的异常检测系统的另一示例的框图;
[0009] 图6是根据实施例的异常检测系统的另一示例的框图;
[0010] 图7A至7C是根据实施例的从数据集中提取噪声的方法的示例的流程图。
[0011] 图8是根据实施例的搜索范围树的方法的示例的流程图;
[0012] 图9是根据实施例的在范围搜索中找到分割节点的方法的示例的流程图;
[0013] 图10是根据实施例的发现低于下界范围值的数据点的方法的示例的流程图;
[0014] 图11是根据实施例的发现低于上界范围值的数据点的方法的示例的流程图;
[0015] 图12是根据实施例的从AVL子树检索所有数据点的方法的示例的流程图;
[0016] 图13是根据实施例的数据集中的点数相对于运行时间的示例的比较图表。
[0017] 图14是根据实施例的数据集大小相对于执行时间的示例的比较图表。
[0018] 图15A和图15B是根据实施例的异常监测设备的示例的框图;
[0019] 图16是根据实施例的处理器的示例的框图;以及
[0020] 图17是根据实施例的系统的示例的框图。

具体实施方式

[0021] 现在转向图1,电子处理系统10的实施例可以包括处理器11;存储器12,通信地耦合到处理器11;以及逻辑13,通信地耦合到处理器11以基于数据流来创建范围搜索树、以基于范围搜索树和具有噪声的基于密度的空间聚类应用(density based spatial cluster of application with noise:DBSCAN)来对来自数据流中的数据进行聚类,以及基于经聚类的数据来检测数据流中的异常。DBSCAN是一种机器学习算法,该算法可以通过了解遥测数据出现的上下文来获悉数据流中有什么异常。一些实施例可以基于范围搜索树和经修改的DBSCAN方案的应用来对来自数据流的数据进行聚类。例如,异常可以对应于数据中的离群值、新颖性、噪声、偏差、和/或异常。在一些实施例中,逻辑13可以进一步被配置成用于基于检测到的异常来触发事件。例如,数据流可以包括遥测数据,并且逻辑13的一些实施例可以进一步被配置成将遥测数据划分成一个或多个短批数据集(例如,微批),并且针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。例如,逻辑13可以被配置成基于时间间隔窗口将遥测数据划分成一个或多个短批数据集。在一些实施例中,逻辑13还可以被配置成用于对离群值数据的移动窗口聚合进行计数(例如,以减少或防止误报)。例如,范围搜索树可以是自均衡二叉搜索树(例如,可以使用自均衡二叉搜索树来实现范围搜索树)。在一些实施例中,逻辑13可以位于包括处理器11在内的各种组件中,或者与包括处理器11在内的各种组件共处一地(例如,在同一个管芯上)。
[0022] 上述处理器11、存储器12、逻辑13和其他系统组件中的每一个的实施例可以以硬件软件或其任何合适的组合来实现。例如,硬件实现可以包括可配置逻辑(诸如例如可编程逻辑阵列(PLA)、现场可编程阵列(FPGA)、复杂可编程逻辑器件(CPLD)),或使用电路技术(诸如例如专用集成电路(ASIC)、互补金属化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术,或其任何组合)的固定功能逻辑硬件。处理器11的实施例可以包括通用处理器、专用处理器、中央处理器单元(CPU)、控制器微处理器等。
[0023] 替代地,或另外,这些组件的全部或部分可以在一个或多个模中实现为存储在机器或计算机可读存储介质(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、固件、闪存等)中的由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种操作系统(OS)适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)以及常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。例如,存储器12、永久性存储介质或其他系统存储器可以存储一组指令,当由处理器11执行时,所述指令使系统10实现系统10的一个或多个组件、特征或方面(例如,逻辑13,创建范围搜索树、基于范围搜索树和DBSCAN来对数据进行聚类、检测数据流中的异常、基于检测到的异常触发事件等)。
[0024] 现在转到图2,半导体封装设备20的实施例可以包括一个或多个衬底21和耦合到一个或多个衬底21的逻辑22,其中逻辑22至少部分地在一个或多个可配置逻辑和固定功能硬件逻辑中实现。耦合到一个或多个衬底21的逻辑22可以被配置成基于数据流来创建范围搜索树、基于范围搜索树和经修改的DBSCAN方案的应用来对来自数据流中的数据进行聚类、并且基于所聚类的数据来检测数据流中的异常。在一些实施例中,逻辑22可以进一步被配置成基于检测到的异常来触发事件。例如,数据流可以包括遥测数据,并且逻辑22的一些实施例可以进一步被配置成将遥测数据划分成一个或多个短批数据集(例如,微批),并且针对一个或多个短批数据集中的每一个数据集创建范围搜索树。例如,逻辑22可以被配置成基于时间间隔窗口将遥测数据划分成一个或多个短批数据集。在一些实施例中,逻辑22还可以被配置成用于对离群值数据的移动窗口聚合进行计数(例如,以减少或防止误报)例如,范围搜索树可以是自平衡二叉搜索树。在一些实施例中,耦合到一个或多个衬底21的逻辑22可以包括位于一个或多个衬底21内的晶体管沟道区。
[0025] 逻辑22的实施例和装置20的其他组件可以硬件、软件或其任何组合来实现,包括至少部分以硬件来实现。例如,硬件实现可以包括可配置逻辑(诸如例如,PLA、FPGA、CPLD)或使用电路技术(诸如例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件,或它们的任何组合。替代地,这些组件的部分可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(诸如RAM、ROM、PROM、固件、闪存等)中的要由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)和常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。
[0026] 设备20可实现方法30(图3)的一个或多个方面,或本文讨论的任何实施例。在一些实施例中,所示装置20可包括一个或多个衬底21(例如,、蓝宝石、砷化镓)以及耦合到衬底21的逻辑22(例如,晶体管阵列和其他集成电路/IC组件)。逻辑22可以至少部分地以可配置逻辑或固定功能逻辑硬件来实现。在一个实例中,逻辑22可包括位于(例如,嵌入)(多个)衬底21内的晶体管沟道区。因此,逻辑22和(多个)衬底21之间的接口可以不是突变结。逻辑22还可被认为包括在(多个)衬底21的初始晶片上生长的外延层。
[0027] 现在转向图3,处理数据流的方法30的实施例可以包括基于框31处的数据流来创建范围搜索树、基于框32处的范围搜索树和经修改的DBSCAN方案的应用来对来自数据流的数据进行聚类、以及基于框33处的所聚类的数据来检测数据流中的异常。在本文的任一项实施例中,范围搜索树可以是框34处的自平衡二叉搜索树。在一些实施例中,数据流可以包括框35处的遥测数据,并且方法30进一步包括在框36处将遥测数据划分为一个或多个短批数据集,并且在框37处针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。例如,方法30可以包括在框36a处基于时间间隔窗口将遥测数据划分成一个或多个短批数据集。方法30的一些实施例可以进一步包括在框38处对离群值数据的移动窗口聚合进行计数。方法30的一些实施例可以进一步包括在框39处基于检测到的异常来触发事件。
[0028] 方法30的实施例可以在系统、装置、计算机、设备等中实现,例如诸如本文所描述的那些。更具体地,方法30的硬件实现可以包括可配置逻辑(诸如例如,PLA、FPGA、CPLD)或使用电路技术(诸如例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件,或它们的任何组合。替代地或另外地,方法30可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(诸如RAM、ROM、PROM、固件、闪存等)中的要由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)和常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。
[0029] 例如,方法30可在如结合以下示例20至25所描述的计算机可读介质上实现。方法30的实施例或部分可以在固件、应用程序(例如,通过应用程序编程接口(API))或在操作系统(OS)上运行的驱动程序软件中实现。另外,逻辑指令可以包括汇编指令、指令集架构(ISA)、机器指令、机器相关指令、微代码、状态设置数据、集成电路的配置数据、状态信息,使电子电路和/或硬件本机的其他结构组件(例如,主机处理器、中央处理单元/CPU、微控制器等)个性化。
[0030] 一些实施例可以有利地为物联网(IOT)数据流和其他时间序列数据提供自主异常检测和事件触发系统。在大型分布式系统中,当出现设备的任何异常行为时,遥测数据的高容量和高吞吐量可能使得难以或不可能有效地反应或触发任何事件。一个挑战可能是精确定义什么被认为是设备的异常行为。异常可能仅存在于上下文中。例如,在具有特定工作负载的一个系统中被认为是异常的事物可能在其他配置或工作负载中被标记为“常规”。设置用于警报的基于阈值的规则(例如,当温度升高到70℃以上时触发警报)可能不足以检测更复杂系统的异常。在某些情况下,即使遥测参数保持在正确的值范围内,设备也可能表现出异常行为。例如,在具有相同硬件配置的服务器集群中,在每个节点上运行相同的工作负载,相比于其余的节点,一个或两个服务器可能开始报告双列直插式内存模块(DIMM)上的更多数量的纠正错误的纠错码(ECC)。如果ECC的数量仍低于临界阈值,则不会报告异常情况。
[0031] 异常事件或行为通常可以指示系统的某些中断,并且可能需要或受益于要执行的具有减少的或最小的等待时间的特定动作。在大规模上,机器学习技术(诸如DBSCAN)的一些实施例可以通过了解遥测数据出现的上下文(例如,通过利用噪声提取来对数据进行聚类)来获悉是什么异常。一些实施例可以有利地应用于产生数据流的各种分布式、大规模设备的系统。
[0032] 图基(Tukey)的测试可以参考单步骤多重比较程序和统计测试,该统计测试可以用于数据以找到与彼此显著不同的方法。英特尔(INTEL)的SNAP框架可以利用图基的测试以用于异常检测。可交换性鞅(martingales)可用于测试时变数据序列的可交换性。主成分分析(PCA)技术可用于检测数据集中的异常。微软(MICROSOFT)的AZURE机器学习工具可以利用可交换性鞅和/或PCA技术来检测数据集中的异常。由NASA开发的高维聚类技术可用于发现航空航天问题报告中再现的异常。上述技术可能对数据(例如,图基的测试)施加概率要求、可能更适合于单个时间序列数据(例如,可交换性鞅)、可能涉及大量的先前训练和高计算复杂度(例如,PCA)、和/或可能更适合文本聚类(例如,NASA的高维聚类)。特别地,所提到的技术可能受限于用于监视由多个源(例如,设备、代理等)同时产生的遥测读数的应用(例如,其中多个相同的遥测数据的源可以被抽象为同时分析的多个时间序列)。有利地,一些实施例可以克服一个或多个前述问题,以提供通过分析由多个源(例如,多个时间序列实例)公开的遥测数据来检测异常的技术。
[0033] 现在转向图4,异常检测系统40的实施例可以包括通信地耦合到数据处理引擎44的两个或多个设备42(例如,设备42a至42n)。在一些实施例中,设备42可以包括相应的物联网(IoT)代理以与数据处理引擎44进行通信。数据处理引擎44可以进一步耦合到异常事件模块46。例如,异常事件模块46可以从数据处理引擎44中收集异常信息和/或基于来自数据处理引擎44的异常信息触发事件。数据处理引擎44可以包括当在系统40中检测到异常时,触发事件而不需要知道参数的哪些值应当被视为异常的先验知识的技术。例如,数据处理引擎44可以近实时地将聚类应用于来自设备42的遥测数据。在一些实施例中,数据处理引擎44可以使用用于噪声提取的DBSCAN技术来计算微批中的聚类和离群值,如本文针对事件序列数据所描述的那样进行了改进。例如,一些实施例可以改进或优化DBSCAN技术中的邻域搜索(例如,使用范围搜索树)以用于对窗口化的遥测数据进行聚类。如下面进一步详细描述的,数据处理引擎44的一些实施例可以有利地将最坏情况时间复杂度从O(n2)减小到O(n log n)。数据处理引擎44的一些实施例还可以包括用于通过对离群值的移动窗口聚合进行计数来防止误报的技术。
[0034] 一些实施例可以提供用于设备遥测数据的通用异常检测框架的技术。一些实施例可以特别地适于基于异常检测事件的自适应和自调整软件和硬件配置。一些实施例的一些示例应用可以包括,例如,自主车辆(例如,在异常检测之后将车辆切换到安全模式)、车队监控(例如,当车队的车辆成员需要任何维护时发出警报)、服务器平台故障预测(例如,磨损检测、大型数据中心监控等)、CPU/固件中基于遥测的条件断点(例如,仅当检测到遥测中指定的异常时才触发代码断点)、产品的质量保证和验证(例如,收集遥测数据和解决固件中的错误、早期错误检测、收集附加的调试数据;在检测到异常之后,触发将收集附加遥测/上下文信息的事件)、对服务器集群的服务进行监视和发出警报(例如,将作为集群一部分的服务器节点的监视和警报服务暴露给最终用户、系统管理员等)。
[0035] 现在转向图5,异常检测系统50的实施例可以包括通信地耦合到数据处理引擎54的设备52。在一些实施例中,设备52可以包括与数据处理引擎54通信的IoT代理52a。数据处理引擎54可以包括当在系统50中检测到异常时,触发事件而不需要知道参数的哪些值应当被视为异常的先验知识的技术(例如,机器学习技术)。数据处理引擎54可以进一步耦合到异常事件模块56。例如,异常事件模块56可以从数据处理引擎54中收集异常信息和/或基于来自数据处理引擎54的异常信息触发事件。异常事件模块56可以进一步利用反馈回路通信地耦合到设备52。例如,事件反馈回路可能对于基于遥测数据的需要自调整或从自调整中受益的系统是有益的。尽管图5中仅示出了一个设备52,系统50的一些实施例可以包括通信地耦合到数据处理引擎54的多个设备/代理,多个设备/代理的一个或多个可以包括具有异常事件模块56的反馈回路。
[0036] 现在转向图6,异常检测系统60的实施例可以包括通信地耦合到数据处理引擎64的设备62。在一些实施例中,设备62可以包括与数据处理引擎64通信的IoT代理(例如,固件/软件/操作系统代理)。数据处理引擎64可以进一步耦合到异常事件模块66。例如,异常事件模块66可以从数据处理引擎64中收集异常信息和/或基于来自数据处理引擎64的异常信息触发事件。在一些实施例中,异常事件模块66可以可选地进一步通过反馈回路通信地耦合到设备62。尽管图6中仅示出了一个设备62,系统60的一些实施例可以包括通信地耦合到数据处理引擎64的多个设备/代理,多个设备/代理的一个或多个可以包括具有异常事件模块66的反馈回路。
[0037] 在系统60的一些实施例中,设备62可以产生原始遥测数据62a,并且可以包括用于对原始数据62a进行变换的标量化处理器62b。例如,设备62可以包括固件、软件和/或操作系统,该设备62提供当前遥测读数的储存库,该遥测读数作为原始遥测数据62a在任何时间是可用的。例如,设备62可以将传感器和/或硬件读数作为输入数据,并且可以输出遥测数据的向量、时间戳等作为原始遥测数据62a。标量化处理器62b可以是IOT代理中的重要组件,该IOT代理可以执行向量到原始遥测数据62a的标量变换。标量化技术可以提供维度降低(例如,从n维度到一维(1)维度)并且可以减少数据处理引擎64对实时流处理的工作负载。然后,数据处理引擎64可以对传入的遥测数据进行操作。
[0038] 例如,标量化处理器62b可以平地缩放数据处理工作负载并减少将遥测数据传送到数据处理引擎64所需的带宽。在一些实施例中,标量化处理器62b还可以从原始数据中去除噪声。标量化处理器62b可以定义一个或多个参数,包括例如标量化类型(例如,标量化_类型(scalarization_type)对应于标量化处理器62b中使用的所选类型的标量化)。在一些实施例中,到标量化处理器62b的输入可以包括遥测数据的向量、时间戳和标量化_类型(scalarization_type)。从标量化处理器62b的输出可以包括遥测标量、时间戳和设备_id(device_id)。标量化处理器62b可以(1)读取遥测数据的向量以用于给定的时间戳,以及(2)计算表示向量的标量值,如下面的伪代码所示:Switch(scalarization_type):
Case max:
Scalar=Tuple(max value of vector,timestamp)
Case min:
Scalar=Tuple(min value of vector,timestamp)
Case average:
Scalar=Tuple(avg(vector),timestamp)
Case moving_window:
Scalar=Tuple(moving_avg(vector),timestamp)
Return(Scalar,timestamp,device_id)
[0039] 数据处理引擎64可以包括微批处理器64a,通信地耦合到标量化处理器62b;噪声提取器64b,耦合到微批处理器64a(例如,包括用于噪声提取的经修改的DBSCAN聚类技术);以及噪声处理器64c,耦合到噪声提取器64b。为了在遥测数据流上实时应用DBSCAN聚类,微批处理器64a可以将流划分为一组短批输入数据。这些批次可以基于时间间隔窗口化。间隔的值可以取决于遥测数据收集频率和数据处理引擎64的带宽以用于同时被分析的给定数量的设备。在一些实施例中,到微批处理器64a的输入可以具有包括遥测_标量(telemetry_scalar)、时间戳(timestamp)和设备_id(device_id)的输入,并且可以提供包括向量数组(telemetry_scalar,device_id,timestamp)的输出。在一些实施例中,微批处理器64a可以包括用于创建对应于以下伪代码的短批输入数据的技术:
Set start_window as time.now()
Set end_window as start_window–time.delta(0.5min)
Read in the vectors that have timestamp=>start_window&×tamp<=end window
//将经滤波的向量添加到向量(telemetry_scalar,device_id,timestamp)的数组//返回数组
[0040] 噪声提取器64b的一些实施例可以有利地提供用于噪声提取的经修改的DBSCAN聚类技术。可以利用改进的DBSCAN技术来对微批遥测数据进行聚类。例如,可以修改DBSCAN技术以针对时间序列数据中的异常检测的特定使用情况进行改进或优化。一些实施例可以被配置用于一维批数据的聚类,并且可以包含用于空间分割的数据结构,与通用DBSCAN技术相比,这可以显著改善性能。
[0041] 可以使用任何合适的范围搜索树技术。一些实施例可以有利地利用自平衡二叉搜索树作为用于改进的DBSCAN技术的范围搜索树。合适的自平衡二叉搜索树的示例可以包括AVL树(例如,以Georgy Adelson-Velsky和Evgenii Landis的树命名)。例如,在AVL树中,任何节点的两个子子树(child subtree)的高度可以相差至多一个。如果两个子子树在任何时间相差多于一个,则可以重新平衡以恢复此属性。构建AVL树可以发现哪些点不能被指派给任何明确定义的数据聚类。不能分配给任何明确定义的数据聚类的数据点可以被标记为“噪声”并且可以被分类为异常候选者。稍后可以将异常候选者报告为异常事件(例如,通过异常事件模块)。
[0042] 在一些应用中,IoT遥测数据可以是不均匀间隔的数据的时间序列。例如,观察可能不规则地出现,并且数据点之间的间隔在整个数据集中可能不是恒定的。一些实施例可以有利地将遥测数据存储在时间窗口中,使得可以保持点的时间接近度。因此,第二改进/优化可以利用这样的事实:该用例可以简化为一维空间聚类(例如,仅提取telemetry_scalar值)。噪声提取器64b的一些实施例可以将与来自微批处理器64a的向量的数组(telemetry_scalar,device_id,timestamp)对应的数据集作为输入,并且可以提供噪声_点(noise_points)的输出(例如,其还可以具有向量的数组(telemetry_scalar,device_id,timestamp)的形式)。一些实施例可以有利地利用范围树来进行空间分割,以专门针对时间序列聚类来改进/优化DBSCAN技术(例如,如图7A至图7C中更详细描述的)。
[0043] 在一些实施例中,噪声处理器64c可以分析标记为“噪声”的遥测数据点,以确定噪声点是否可以被认为是真实的异常。在一些实施例中,噪声处理器64c可以为噪声点的任何分类技术提供兼容的框架。例如,噪声处理器64c可以包括在将噪声点分类为异常之前,在随后的微批中给定点可被标记为“噪声”的次数的预定义阈值。有利地,一些实施例可以解决遥测特性的时间轴的可能偏移。在一些实施例中,噪声处理器64c可以包括监督学习技术以将(多个)噪声点分类为异常。例如,噪声处理器64c可以包括人工神经网络、逻辑回归、或贝叶斯分类技术中的一个或多个。
[0044] 在一些实施例中,噪声处理器64c可以将来自噪声提取器64b的噪声点作为输入(例如,对应于向量的数组(telemetry_scalar,device_id,timestamp)的noise_points以及噪声阈值(例如,对应于可以定义用于将噪声点分类为异常的整数参数的噪声_阈值(noise_threshold)的噪声点;在一些实施例中noise_threshold可以优选地是3-10)。噪声处理器64c可以提供异常点的输出(例如,对应于向量数组(telemetry_scalar,device_id,timestamp)的异常_点(anomaly_points)。在一些实施例中,噪声提取器64b可以包括与以下伪代码相对应的技术://如果anomaly_candidate_cache不存在(来自之前的微批),则将anomaly_candidate_cache创建为空字典(device_id到整数candidate_counter的哈希映射);
//将anomaly_candidate_cache复制为previous_anomaly_candidate_cache;
//对于noise_points中的每个点n:
//如果anomaly_candidate_cache中存在n.device_id,则增加candidate_counter并从字典previous_anomaly_candidate_cache中删除n.device_id的条目;
//如果anomaly_candidate_cache中不存在n.device_id,则使用candidate_counter=0添加n.device_id;
//从anomaly_candidate_cache中删除previous_anomaly_candidate_cache中存在密钥的所有条目(例如,这表示给定条目在候选选择中不存在);
//初始化anomaly_points=(telemetry_scalar,device_id,timestamp)的空数组;
//对于noise_points中的每个点n:
//如果anomaly_candidate_cache[n.device_id]>noise_threshold,则将n添加到anomaly_points中(例如,发现device_id异常);
//返回向量anomaly_points的数组。
[0045] 在一些实施例中,异常事件模块66可以包括事件发布/订阅(pub-sub)系统以用于近实时地发布关于发现的异常的信息。例如,噪声处理器64c可以暴露关于每个检测到的异常的消息。暴露的消息可以由可能已经订阅接收通知的任何数量的客户端消耗。例如,在反馈回路的情况下,原始遥测数据的生产者(例如,设备)也可以是异常事件的消费者。消息的结构可以包括可能已经触发消息的异常的源(例如,device_id)和遥测数据点(例如,telemetry_scalar)。可以使用任何合适的事件发布/订阅(pub-sub)技术。例如,APACHE KAFKA可以提供合适的事件pub-sub系统。
[0046] 在一些实施例中,设备固件和数据处理引擎64之间的数据传输可以根据要求和固件能以在拉取/推送(pull/push)的方式执行。在拉取架构的情况下,固件可能会暴露可用于查询的标量化的遥测数据。在推送(push)架构中,固件可以使用例如高级消息队列协议(AMQP)来报告新的遥测数据。
[0047] 现在转向图7A至图7C,从数据集中提取噪声的方法70可以包括在框71处初始化/创建范围搜索树range_tree=CreateRangeTree(dataset),实现为AVL树(例如,使用任何合适的AVL树技术),并且然后使用range_tree以用于在数据集内部进行快速且重复的范围搜索。对于数据集中的每个点a,方法70可以包括在框72处找到e范围内的点a的邻居(例如,其中e对应于邻域搜索的最大距离)。框72可以基于range_tree、a以及e来使用范围树搜索(例如,参见图8的方法85)。如果在框73处的邻居的计数聚类算法以用于从数据微批中提取噪声。
[0048] 现转向图8,搜索AVL树的范围树(例如,实现RangeTreeSearch函数)的方法85的实施例可以包括在框86处搜索范围搜索树内的分割节点。合适的FindSplit函数的示例可以包括方法90(图9)。合适的FindSplit函数的示例可以包括方法100(图10)。合适的GetPointsLessThan函数的示例可以包括方法110(图11)。有利地,方法85可以使用AVL树执行当前数据集的快速范围搜索。方法85可以包括找到分割节点并检索分割节点的孩子的数据点。例如,分割节点可以被认为是截止点,在该截止点以下,用于搜索上边界和下边界的树路径分叉开(例如,上边界和下边界可以由当前数据点和邻域搜索ε(epsilon)值确定)。对于AVL树,在最坏的情况下(例如,树的最大高度),可以以O(log n)有效地执行找到分割节点。找到分割点之后,下一阶段可以包括从分割点以下的节点检索数据。方法100可以用于从左AVL子树检索数据,而方法110可以用于从右AVL子树检索数据。方法100和110可以使用助手方法(helper method)120以用于从AVL子树中检索所有节点,可以在没有附加范围检查的情况下检索整个子树时可以使用该方法。
[0049] 现在转向图9,在范围搜索中找到分割节点的方法90的实施例(例如,实现FindSplit函数)可以包括遍历范围树以找到分割点。由于AVL树确保属性,这些方法也以O(log n)运行。现在转向图10,方法100的实施例可以包括找到高于下限值的数据点(例如,GetPointsGreaterThan函数)。合适的GetAllPoints函数的示例可以包括方法120(图12)。现在转向图11,方法110的实施例可以包括快速找到低于上限值的数据点(例如,GetPointsLessThan function函数)。合适的GetAllPoints函数的示例可以包括方法120(图12)。现在转向图12,方法120的实施例可以包括从AVL子树检索所有数据点(例如,GetAllPoints函数)。
[0050] 有利地,用于噪声提取的方法70(例如,具有经修改的DBSCAN技术的NoiseExtract(噪声提取)函数)可以使用AVL树(例如,代替传统的DBSCAN范围搜索技术)来改进或优化范围树搜索的计算复杂度。尽管一些实施例也可以推广到n维真实空间,但是可以在一维真实空间中求解的聚类问题可以受益于方法70的实施例。例如,NoiseExtract(例如,方法70)的总时间复杂度可以从最坏的情况下的O(n2)(例如,对于传统的DBSCAN技术)减少到最坏的情况下仅O(n log n),其中n是当前数据集中的点的数量(例如,对应于数据的窗口)。一些实施例可以有利地被应用于实时分析大量数据。一些实施例对于IoT应用可能特别有用,其中有效分析对于实时或近实时响应可能是重要的。
[0051] 现在转向图13,数据集(n)中的点数相对于运行时间的图表的实施例示出了O(n2)(例如,对于传统DBSCAN技术)相对于O(n log n)(例如,对于根据一些实施例的改进的DBSCAN技术)的最坏情况时间的示例潜在改进。
[0052] 现在转向图14,数据集大小相对于执行时间的图表的实施例示出了噪声提取(NoiseExtract)技术(例如,方法70)相对于传统DBSCAN技术的实施例的执行的示例潜在改进。有利地,与传统DBSCAN技术相比,一些实施例可能不会导致任何精度损失并且可能导致完全相同的结果(例如,噪声点聚类)。
[0053] 图15A示出了异常检测设备132(132a-132b),该设备可以实现方法30(图3)、方法70(图7A至图7C)、方法85(图8)、方法90(图9)、方法100(图10)、方法110(图11)和/或方法
120(图12)的一个或多个方面。异常检测设备132可以包括逻辑指令、可配置逻辑、固定功能硬件逻辑,该异常检测设备132可以容易地替换已经讨论过的系统10(图1)、数据处理引擎
44、数据处理引擎54和/或数据处理引擎64。微批处理器132a可以包括基于数据流来创建范围搜索树的技术。噪声提取器132b可以包括基于范围搜索树和DBSCAN从数据流中对数据进行聚类的技术。噪声处理器132c可以包括基于经聚类的数据来检测数据流中的异常的技术。在一些实施例中,异常检测设备132可以进一步被配置为基于检测到的异常来触发事件。例如,数据流可以包括遥测数据,并且微批处理器132a的一些实施例可以进一步被配置成将遥测数据划分成一个或多个短批数据集(例如,微批),并且针对一个或多个短批数据集中的每一个数据集创建范围搜索树。例如,微批处理器132a可以被配置成基于时间间隔窗口将遥测数据划分成一个或多个短批数据集。在一些实施例中,异常检测设备132还可以被配置成用于对离群值数据的移动窗口聚合进行计数(例如,以减少或防止误报)。例如,范围搜索树可以是自平衡二叉搜索树。
[0054] 现在转到图15B,示出了异常检测设备134(134a、134b),其中逻辑134b(例如,晶体管阵列和其他集成电路/IC组件)耦合到衬底134a(例如硅、蓝宝石、砷化镓)。逻辑134b通常可以实现方法30(图3)、方法70(图7A至图7C)、方法85(图8)、方法90(图9)、方法100(图10)、方法110(图11)和/或方法120(图12)的一个或多个方面。因此,逻辑134b可以基于数据流来创建范围搜索树、基于范围搜索树和DBSCAN来对来自数据流的数据进行聚类、以及基于经聚类的数据来检测数据流中的异常。在一些实施例中,逻辑134b可以进一步被配置成用于基于检测到的异常来触发事件。例如,数据流可以包括遥测数据,并且逻辑134b的一些实施例可以进一步被配置成将遥测数据划分成一个或多个短批数据集(例如,微批),并且针对一个或多个短批数据集中的每一个数据集创建范围搜索树。例如,逻辑134b可以被配置成基于时间间隔窗口将遥测数据划分成一个或多个短批数据集。在一些实施例中,逻辑134b还可以被配置成用于对离群值数据的移动窗口聚合进行计数(例如,以减少或防止误报)。在一个示例中,设备134是半导体管芯、芯片和/或封装。
[0055] 图16示出了根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其他设备。尽管图16中示出了仅一个处理器核200,但是处理元件可以替代地包括多于一个图16所示出的处理器核200。处理器核200可以是单线程核,或者,对于至少一个实施例,处理器核200可以是多线程的,因为它可以包括每个核多于一个硬件线程上下文(或“逻辑处理器”)。
[0056] 图16还示出了耦合至处理器核200的存储器270。存储器270可以是如本领域的技术人员已知的或以其他方式可获得的各种各样的存储器(包括存储器层级的各个层)中的任何存储器。存储器270可以包括由处理器核200执行的一个或多个代码213指令,其中,代码213可以实现已经讨论的方法30(图3)、方法70(图7A到7C)、方法85(图8)、方法90(图9)、方法100(图10)、方法110(图11)和/或方法120(图12)的一个或多个方面。处理器核200遵循由代码213指示的指令的程序序列。每个指令可以进入前端部分210并且由一个或多个解码器220处理。解码器220可以生成呈预定义格式的微操作(如固定宽度微操作)作为其输出,或者可以生成反映出原始码指令的其他指令、微指令、或控制信号。所展示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们总体上分配资源并且对与用于执行的转换指令相对应的操作进行排队。
[0057] 处理器核200被示出为包括具有一组执行单元255-1到255-N的执行逻辑250。一些实施例可以包括专用于特定功能或功能组的若干个执行单元。其他实施例可以仅包括一个执行单元或一个可执行特定功能的执行单元。所示出的执行逻辑250执行由码指令指定的操作。
[0058] 在完成由码指令指定的操作的执行之后,后端逻辑260使代码213的指令引退。在一个实施例中,处理器核200允许指令的乱序执行但要求指令的有序引退。引退逻辑265可以采取本领域的技术人员已知的各种形式(例如,重排序缓冲器等)。以此方式,在代码213的执行期间中,至少就由解码器、寄存器重命名逻辑225所利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出)生成的输出而言,处理器核200被变换。
[0059] 尽管图16未展示,但处理元件可以包括其他与处理器核200同在芯片上的元件。例如,处理元件可以包括存储器控制逻辑连同处理器核200。处理元件可以包括I/O控制逻辑、和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
[0060] 现在参照图17,所示出的是根据实施例的系统1000实施例的框图。图17示出了多处理器系统1000,所述多处理器系统1000包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,但应当理解的是,系统1000的实施例还可以包括仅一个此类的处理元件。
[0061] 系统1000被示出为点对点互连系统,其中,第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解的是,图17所示出的任何或所有互连可以被实现为多站式总线而非点对点互连。
[0062] 如图17所示,处理元件1070和1080中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核1074a与1074b以及处理器核1084a与1084b)。此类核1074a、1074b、1084a、1084b可以被配置成用于以与以上关于图16讨论的方式类似的方式执行指令代码。
[0063] 每个处理元件1070、1080可以包括至少一个共享高速缓存1896a、1896b(例如,静态随机存取存储器/SRAM)。共享高速缓存1896a、1896b可以存储分别由处理元件的一个或多个组件(诸如核1074a、1074b和1084a、1084b)使用的数据(例如,对象、指令)。例如,共享高速缓存1896a、1896b可以对存储在存储器1032、1034中的数据进行本地高速缓存,以便由处理器的组件更快地访问。在一个或多个实施例中,共享高速缓存1896a、1896b可以包括一个或多个中级高速缓存,如二级(L2)、三级(L3)、四级(L4)、或其他级别的高速缓存、终极高速缓存(LLC)、和/或其组合。
[0064] 虽然仅以两个处理元件1070、1080来示出,但应理解实施例的范围不限于此。在其他实施例中,给定处理器中可以存在一个或多个附加处理元件。可替代地,处理元件1070、1080中的一个或多个可以是处理器之外的元件(诸如加速器或现场可编程门阵列)。例如,(多个)附加的处理元件可以包括与第一处理器1070相同的(多个)附加的处理器、与第一处理器1070异构或非对称的(多个)附加的处理器、加速器(诸如,例如图形加速器数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。就一系列品质量度(包括体系结构、微体系结构、热、功耗特性等)而言,处理元件1070、1080之间存在多种差异。这些差异可以有效地将其本身表现为处理元件1070、1080之间的不对称性和异构性。对于至少一个实施例,各种处理元件1070、1080可以驻留在同一管芯封装中。
[0065] 第一处理元件1070可以进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC 1082以及P-P接口1086和1088。如图17所示,MC的1072和1082将处理器耦合至相应的存储器(即存储器1032和存储器1034)上,所述存储器可以是本地附连到相应的处理器的主存储器的部分。虽然MC 1072和1082被展示为集成到处理元件1070、1080中,但对于替代性实施例,MC逻辑可以是位于处理元件1070、1080外部而不是集成在其中的离散逻辑。
[0066] 第一处理元件1070和第二处理元件1080可以分别地经由P-P互连件1076、1086耦合至I/O子系统1090。如图17所示,I/O子系统1090包括TEE 1097(例如,安全控制器)以及P-P接口1094和1098。此外,I/O子系统1090包括用于将I/O子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,总线1049可以用于将图形引擎1038耦合至I/O子系统1090。可替代地,点对点互连可以耦合这些组件。
[0067] 进而,I/O子系统1090可以经由接口1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线,或如快速PCI总线或另一种第三代I/O互连总线的总线,尽管实施例的范围不限于此。
[0068] 如图17所示,各种I/O设备1014(例如,相机、传感器)可连同总线桥接器1018一起耦合至第一总线1016,该总线桥接器1018可以将第一总线1016耦合至第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种设备可以耦合到第二总线1020,所述设备包括例如键盘/鼠标1012、(多个)网络控制器/通信设备1026(其进而可以与计算机网络通信)、以及数据存储单元1019(诸如磁盘驱动器或其他可包括代码1030的大容量存储设备)。代码1030可以包括用于执行以上所描述方法中的一种或多种的实施例的指令。因此,所示代码1030可以实现已经讨论的方法30(图3)、方法70(图7A到7C)、方法85(图8)、方法90(图9)、方法100(图10)、方法110(图11)和/或方法120(图12)的一个或多个方面,并且可以类似于已经讨论过的代码213(图16)。进一步地,音频I/O 1024可以耦合到第二总线1020。
[0069] 注意的是,设想了其他实施例。例如,系统可以实现多站式总线或另一个此类通信拓扑,而不是图17的点对点体系结构。
[0070] 附加说明和示例:
[0071] 示例1可以包括电子处理系统,包括:处理器;存储器,通信地耦合到处理器;以及逻辑,通信地耦合到处理器以基于数据流来创建范围搜索树、以基于范围搜索树和具有噪声的基于密度的空间聚类应用来对来自数据流中的数据进行聚类,以及基于经聚类的数据来检测数据流中的异常。
[0072] 示例2可以包括示例1的系统,其中,逻辑进一步基于检测到的异常来触发事件。
[0073] 示例3可以包括示例2的系统,其中,数据流包括:遥测数据,并且其中逻辑进一步用于将遥测数据划分为一个或多个短批数据集,并且针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。
[0074] 示例4可以包括示例3的系统,其中,逻辑进一步基于时间间隔窗口将遥测数据划分为一个或多个短批数据集。
[0075] 示例5可以包括示例4的系统,其中,逻辑进一步用于对离群值数据的移动窗口聚合进行计数。
[0076] 示例6可以包括示例1至示例5中任一个的系统,其中,范围搜索树是自平衡二叉搜索树。
[0077] 示例7可以包括半导体封装设备,包括一个或多个衬底,以及逻辑,耦合到所述一个或多个衬底,其中所述逻辑至少部分地在可配置逻辑和固定功能硬件逻辑中的一个或多个中实现,逻辑耦合到一个或多个衬底以基于数据流创建范围搜索树、基于范围搜索树和具有噪声的基于密度的空间聚类应用来对来自数据流的数据进行聚类,并基于经聚类的数据来检测数据流中的异常。
[0078] 示例8可以包括示例7的设备,其中,逻辑进一步基于检测到的异常来触发事件。
[0079] 示例9可以包括示例8的设备,其中,数据流包括:遥测数据,并且其中逻辑进一步用于将遥测数据划分为一个或多个短批数据集,并且针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。
[0080] 示例10可以包括示例9的设备,其中,逻辑进一步用于基于时间间隔窗口将遥测数据划分为一个或多个短批数据集。
[0081] 示例11可以包括示例10的设备,其中,逻辑进一步用于对离群值数据的移动窗口聚合进行计数。
[0082] 示例12可以包括示例7至示例11中任一项的设备,其中,范围搜索树是自平衡二叉搜索树。
[0083] 示例13可以包括:示例7至12中任一个的设备,其中,耦合到一个或多个衬底的逻辑包括位于一个或多个衬底内的晶体管沟道区。
[0084] 示例14可以包括处理数据流的方法,包括:基于数据流来创建范围搜索树,基于范围搜索树和基于具有噪声的基于密度的空间聚类应用来对来自数据流的数据进行聚类,以及基于经聚类的数据来检测数据流中的异常。
[0085] 示例15可以包括示例14的方法,进一步包括基于检测到的异常来触发事件。
[0086] 示例16可以包括示例15的方法,其中,数据流包括:遥测数据,并且进一步包括用于将遥测数据划分为一个或多个短批数据集,并且针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。
[0087] 示例17可以包括示例16的方法,其中,进一步包括:基于时间间隔窗口将遥测数据划分为一个或多个短批数据集。
[0088] 示例18可以包括示例17的方法,进一步包括对离群值数据的移动窗口聚合进行计数。
[0089] 示例19可以包括示例14至示例18中任一项的方法,其中,范围搜索树是自平衡二叉搜索树。
[0090] 示例20可以包括至少一个计算机可读存储介质,包括一组指令,当由计算设备来执行该组指令时,使得计算设备以基于数据流来创建范围搜索树、以基于范围搜索树和具有噪声的基于密度的空间聚类应用来对来自数据流中的数据进行聚类,以及以基于经聚类的数据来检测数据流中的异常。
[0091] 示例21可以包括示例20的至少一个计算机可读存储介质,包括另一组指令,当由计算设备执行该另一组指令时,使得计算设备基于检测到的异常来触发事件。
[0092] 示例22可以包括示例21的至少一个计算机可读存储介质,其中,数据流包括遥测数据,包括另一组指令,当由计算设备执行该另一组指令时,使得计算设备用于将遥测数据划分为一个或多个短批数据集,并且针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树。
[0093] 示例23可以包括示例22的至少一个计算机可读存储介质,所述计算机可读存储介质包括另一组指令,当由计算设备执行该另一组指令时,使得计算设备基于时间间隔窗口将遥测数据划分为一个或多个短批数据集。
[0094] 示例24可以包括示例23的至少一个计算机可读存储介质,包括另一组指令,当由计算设备执行该另一组指令时,使得计算设备用于对离群值数据的移动窗口聚合进行计数。
[0095] 示例25可以包括示例19至示例24中至少一个计算机可读介质存储介质,其中,范围搜索树是自平衡二叉搜索树。
[0096] 示例26可以包括异常检测设备,包括:用于基于数据流来创建范围搜索树的装置、用于基于范围搜索树和基于具有噪声的基于密度的空间聚类应用来对来自数据流的数据进行聚类的装置、以及用于基于经聚类的数据来检测数据流中的异常的装置。
[0097] 示例27可以包括示例26的设备,进一步包括用于基于检测到的异常来触发事件的装置。
[0098] 示例28可以包括示例27的设备,其中,数据流包括:遥测数据,并且进一步包括用于将遥测数据划分为一个或多个短批数据集的装置,以及用于针对一个或多个短批数据集中的每一个短批数据集创建范围搜索树的装置。
[0099] 示例29可以包括示例28的设备,进一步包括:用于基于时间间隔窗口将遥测数据划分为一个或多个短批数据集的装置。
[0100] 示例30可以包括示例29的装置,进一步包括用于对离群值数据的移动窗口聚合进行计数的装置。
[0101] 示例31可以包括示例26至示例30中任一项的设备,其中,范围搜索树是自平衡二叉搜索树。
[0102] 实施例适用于供所有类型的半导体集成电路(“IC”)芯片使用。这些IC芯片的示例包括但不限于:处理器、控制器、芯片集组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,利用线条表示信号导体线。一些线条可以是不同的以指示更多组成的信号通路,具有数字标记以指示多个组成的信号通路和/或在一端或多端具有箭头以指示主要信息流方向。然而,这不应当被解释为限制性方式。相反,此类附加的细节可以与一个或多个示例性实施例结合使用以帮助更容易地理解电路。任何所表示的信号线,无论是否有附加信息,都实际可以包括可以在多个方向行进的一个或多个信号,并且可以利用任何适当类型的信号方案实现,例如利用差分对、光纤线路和/或单端线路实现的数字或模拟线路。
[0103] 可能已经给出了示例大小/模型/值/范围,尽管实施例不限于此。随着制造技术(例如,光刻技术)随时间推移而成熟,预期可以制造出更小尺寸的器件。另外,为了简化图示和讨论以及为了不使实施例的一些方面不清晰,可以在图内示出或不示出到IC芯片和其他组件的公知的电力/接地连接。此外,布置可以以框图的形式示出,以避免模糊实施例,并且还鉴于以下事实:关于完成这样的框图布置的实现方式的细节高度依赖于在其中实现本实施例的平台(即,这样的细节应当完全处在本领域技术人员的视界中)。在阐述具体细节(例如电路)以描述本发明的示例实施例的情况下,对本领域普通技术人员应显而易见的是,本实施例能在没有这些具体细节或在这些具体细节的变型的情况下实施。因此,描述被认为是说明性的,而非限制性的。
[0104] 术语“耦合”在本文中可以用于指代所讨论的组件之间的任何类型的直接或间接关系,并且可以应用于电学、机械、流体、光学、电磁、机电或其他连接。另外,此处使用的术语“第一”、“第二”等只帮助讨论,除非另外指明,其不带有特殊的时间或时间顺序意义。
[0105] 如在本申请和权利要求书中所使用的,由术语“…中的一项或多项”联接的一系列项目可意指所列术语的任何组合。例如,短语“A、B和C中的一个或多个”和短语“A、B或C中的一个或多个”两者都可能意味着A、B、C、A和B、A和C、B和C、或者A、B和C。
[0106] 本领域技术人员将从前面的描述中认识到,可以用各种形式来实现实施例的广泛技术。因此,尽管已经结合其特定示例描述了实施例,但是实施例的实际范围不应由此受限,因为其他的修改在本领域技术人员研习了附图、说明书和所附权利要求之后就将变得显而易见。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈