一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检测相关联的事件的制作方法

2022-06-09 02:12:39 来源:中国专利 TAG:


1.本公开涉及事件的自动检测。特别地,本公开涉及检测彼此相关或相关联的事件。


背景技术:

2.自动识别彼此相关联的事务可以提高多种应用的效率。例如,将请求与相关联的动作配对可以帮助自动化工作流、跟踪任务、维持对所需任务的关注,以及将努力指引到需要注意的那些任务。但是,跨多个用户识别请求和任务在计算上是昂贵的并且常常不能很好地扩展到更大的用户群。
3.本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应仅由于将本节中所述的任何方法包括在本节中而将其视为有资格作为现有技术。
附图说明
4.在附图的各图中,通过示例而非限制的方式图示了实施例。应当注意的是,在本公开中对“实施例”或“一个实施例”的引用不一定是指同一个实施例,并且它们意味着至少一个。在附图中:
5.图1图示了根据一个或多个实施例的用于识别相关联的事件的系统;
6.图2a示意性地图示了根据一个或多个实施例的通过根据与第一事件相关联的属性调整时间窗口的持续时间来识别时间窗口内的相关联的事件的技术;
7.图2b示意性地图示了根据一个或多个实施例的用于训练机器学习模型以识别时间窗口内的相关联的事件的技术;
8.图3示意性地图示了根据一个或多个实施例的其中基于对应触发事件的属性来确定分析窗口持续时间的示例实施例;以及
9.图4示出了图示根据一个或多个实施例的计算机系统的框图。
具体实施方式
10.在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。一个实施例中描述的特征可以与另一个实施例中描述的特征组合。在一些示例中,参考框图形式描述了众所周知的结构和设备,以避免不必要地混淆本发明。
11.1.一般概述
12.2.系统体系架构
13.3.识别分析窗口内的相关事件
14.4.示例实施例
15.5.计算机网络和云网络
16.6.其它事项;扩展
17.7.硬件概述
18.1.总体概述
19.在一些示例中,系统识别触发分析的事件,其中时间窗口内的后续事件被分析。后续事件被分析以确定是否有任何后续事件与触发事件相关或以其它方式与触发事件相关联。系统基于与触发事件相关联的属性来确定时间窗口的持续时间。基于与触发事件相关联的属性的时间窗口的持续时间使系统能够在任何相关事件可能发生的时间段内搜索相关的后续事件。
20.例如,系统可以识别具有第一属性集的第一事件。基于第一属性集,系统生成具有其中可以检测候选事件的第一持续时间的第一时间窗口。可以分析这些候选事件以确定在第一时间窗口内发生的候选事件中的一个或多个(诸如第二事件)是否与第一事件相关。系统可以分析与第二事件相关联的第二属性集以确定第一事件和第二事件是否相关。可以针对任何数量的触发事件重复这个过程。例如,系统可以使用第三事件的属性来确定第二时间窗口的第二持续时间。系统然后可以分析第二候选事件集以确定第二集合中的任何候选事件(诸如第四事件)是否与第三事件相关。系统为基于对应触发事件的属性的随后检测到的触发事件生成时间窗口的持续时间。
21.在本总体概述部分中可以不包括本说明书中描述和/或权利要求中阐述的一个或多个实施例。
22.2.系统体系架构
23.图1图示了根据一个或多个实施例的系统100。如图1中所示,系统100包括用于基于触发事件的属性确定时间窗口的持续时间的机器学习系统。系统100然后确定在时间窗口内发生的候选事件中的任何一个或多个是否与触发事件相关或以其它方式与触发事件相关联。系统100包括机器学习模型、用于训练模型的元素,并且可以可选地包括用于基于用户输入更新训练数据集的元素。在一个或多个实施例中,系统100可以包括比图1中所示的组件更多或更少的组件。
24.图1中所示的组件可以彼此在本地或远离。图1中所示的组件可以用软件和/或硬件来实现。每个组件可以分布在多个应用和/或机器上。多个组件可以组合到一个应用和/或机器中。关于一个组件描述的操作可以由另一个组件执行。
25.如图1中所示,系统100包括客户端102a、102b、机器学习应用104、数据储存库122,以及外部资源124a、124b。
26.客户端102a、102b可以是web浏览器、移动应用、或通信地耦合到网络(例如,经由计算设备)的其它软件应用。客户端102a、102b可以使用一种或多种通信协议(诸如http和/或互联网协议(ip)套件的其它通信协议)直接或经由云服务与系统100的其它元素交互。
27.在一些示例中,客户端102a、102b中的一个或多个被配置为执行事件(例如,基于计算系统的事务)并将事件传输到ml应用104以进行分析。ml应用104可以分析所传输的事件以确定对应的属性和时间窗口持续时间。ml应用104然后可以分析后续事件以确定后续事件是否与触发事件相关联,如本文所述。
28.客户端102a、102b还可以包括被配置为渲染由ml应用104生成的图形用户界面(gui)的用户设备。gui可以呈现来自ml应用104的关于可以与触发事件相关的事件的分析结果。此外,客户端102a、102b可以被配置为使用户能够经由gui提供关于ml应用104分析的
准确性的用户反馈。即,用户可以使用gui将ml应用104生成的分析关于触发事件和发生在时间窗口内的后续事件是否实际相关加标签为准确或不准确。这个特征使用户能够向ml应用104提供新数据,ml应用104可以使用新数据进行训练。
29.在一些示例中,机器学习(ml)应用104被配置为接收训练数据。一旦经过训练,ml应用104就可以:(1)分析与检测到的触发事件相关联的属性;(2)生成具有基于触发事件的属性的持续时间的分析窗口(“时间窗口”);以及(3)分析与在时间窗口内发生的候选事件集中的候选事件相关联的属性,以确定该集合中的任何候选事件是否与触发事件相关联。
30.在检测到与触发事件相关的候选事件后,系统可以将这些相关事件关联在一起并对相关事件的集合执行后续分析。例如,可以通过使用ml应用104针对规则或本地分析的集合进行评估来评估相关事件的集合。在分析的一个示例中,系统确定相关事件是否与安全威胁一致,诸如重复失败的登录尝试和/或来自相同ip地址或地理位置的对不同账户的重复登录尝试。在其它示例中,系统确定相关事件是否与维护数据存储库中的数据完整性一致,诸如执行第一事务并提交将第一事务的记录存储在数据存储库中的请求。其它类似的示例也是可能的。
31.此外,ml应用104还被配置为经由客户端102a、102b接收用户输入。在一些示例中,接收到的用户输入验证由ml应用104产生的关于识别出的事件之间的关系的分析。在一些示例中,接收到的用户输入确认或反驳系统对所分析的事件相关或不相关的确定。ml应用104可以使用接收到的关于所分析的事件的用户输入来重新训练ml应用104内的ml引擎。在一些实施例中,ml应用104可以是用户本地可访问的,诸如桌面或其它独立应用或如上所述经由客户端102a、102b。
32.在一个或多个实施例中,机器学习应用104是指被配置为执行本文描述的用于识别时间窗口内的相关事件并基于触发事件的属性确定时间窗口的持续时间的操作的硬件和/或软件。下面参考图2a和2b描述用于这些过程的操作的示例。
33.机器学习应用104包括特征提取器108、机器学习引擎110、前端接口118和动作接口120
34.特征提取器108可以被配置为识别事件和/或事件数据集中的属性和对应值并生成对应的特征向量。例如,特征提取器108可以识别指导经训练的ml模型进行分析的训练数据和/或“目标”数据内的事件属性。一旦被识别出,特征提取器108就可以从训练数据和目标数据之一或两者中提取属性值。
35.特征提取器108可以将属性(例如,事件属性)标记为标记。特征提取器108然后可以生成包括值序列的特征向量,每个值表示不同的属性标记。特征提取器108可以使用文档到向量(通俗地描述为“doc-to-vec”)模型来标记属性并生成与训练数据和目标数据之一或两者对应的特征向量。提供doc-to-vec模型的示例仅用于说明目的。其它类型的模型可以用于标记属性。
36.特征提取器108可以将其它特征附加到生成的特征向量。在一个示例中,特征向量可以被表示为[f1,f2,f3,f4],其中f1、f2、f3与属性标记对应并且其中f4是非属性特征。示例非属性特征可以包括但不限于量化权重(或多个权重)以指派给由特征向量描述的属性集中的一个或多个属性的标签。在一些示例中,标签可以指示关于两个事件之间的关系的分析是正确还是不正确(例如,它们被正确地识别为相关、它们被不正确地识别为相关、它们
被正确地识别为不相关、它们被不正确地地识别确定为不相关)。
[0037]
如上所述,系统可以使用加标签的数据进行训练、再训练并将其分析应用于新的(目标)数据。
[0038]
特征提取器108可以可选地应用于目标数据以从目标数据生成特征向量,这可以促进目标数据的分析。
[0039]
机器学习引擎110还包括训练逻辑112和分析逻辑114。
[0040]
在一些示例中,训练逻辑112接收电子文件的集合作为输入(即,训练语料库或训练数据集)。电子文件的示例包括但不限于包括事件属性和对应的事件属性值的电子事件文件。在一些示例中,由训练逻辑112用来训练机器学习引擎110的训练数据包括由特征提取器108生成的事件文件/数据对象的特征向量,如上所述。
[0041]
训练数据集还可以包括与相关事件可能发生的持续时间相关联的数据。这些事件/时间数据也可以被表示为特征向量和/或表示特定事件的特征向量内的标记。训练数据集还可以包括一个或多个识别事件之间的关联的标签。在一些示例中,训练数据集中的标签可以指示事件是否彼此相关。训练数据集还可以包括指示相关事件之间的持续时间的标记和/或标签。系统可以使用这些数据来训练机器学习引擎110以不仅识别相关事件而且识别在其中搜索相关事件的持续时间。
[0042]
在一些示例中,训练数据还可以包括其中识别一个或多个触发事件的标签和/或其它形式的数据。即,在一些示例中,相关事件具有可识别的序列,其中触发事件或第一事件之后是一个或多个后续事件。通过识别触发事件,系统可以更准确地发起在其中搜索与后续事件的预期模式一致的后续关联事件的时间窗口。在其它示例中,事件可能不必具有易于识别的触发事件。在后面的这些情况下,系统还可以使用下面在图2a和2b的上下文中描述的技术来识别事件的这个属性并发起时间窗口。
[0043]
在一些示例中,事件不能明确地彼此相关。代替地,事件可以具有彼此之间不明确的状态(例如,有时它们彼此相关,而有时它们不相关)。训练数据集可以使用表示事件彼此相关联的概率的分数来量化事件之间的模糊程度。在一些示例中,这个分数可以基于事件彼此相关的速率(例如,在一个或多个训练数据集中,事件相关的次数除以事件发生的总次数,而不管它们的关系如何)。在一些示例中,机器学习引擎110可以使用这个概率分数作为确定事件是否彼此相关的一个因素。
[0044]
训练逻辑112可以与诸如客户端102a、102b之类的用户系统通信。客户端102a、102b可以包括用户用来将标签应用于以电子方式存储的训练数据集的界面。
[0045]
机器学习(ml)引擎110被配置为经由训练逻辑112自动学习(a)彼此相关的事件的类型和(b)将相关事件分开和/或期间可能发生相关事件的持续时间。在一些示例中,ml引擎110还可以经由训练逻辑112自动学习事件是触发事件(例如,是否预期后续事件)或不是触发事件。经训练的ml引擎110可以应用于目标数据并分析目标数据的一个或多个属性。可以根据以下在图2a和2b的上下文中描述的技术来使用这些属性。
[0046]
可以与ml引擎110和/或ml应用104中的一个或两个相关联的ml模型的类型包括但不限于线性回归、逻辑回归、线性判别分析、分类和回归树、朴素贝叶斯、k-最近邻、学习向量量化、支持向量机、装袋和随机森林、提升、反向传播、神经网络和/或聚类。
[0047]
分析逻辑114应用经训练的机器学习引擎110来分析目标数据,诸如事件数据(例
如,事件属性、时间等)。分析逻辑114可以针对与训练数据的相似性来分析事件属性和事件属性值。
[0048]
在一个示例中,分析逻辑114可以识别一个或多个事件与训练数据之间的等效和/或可比较的属性。在一些示例中,分析逻辑114可以包括用于自然语言处理的设施,使得可以识别事件数据和训练数据中的可比较的属性而不管措辞上的差异。分析逻辑114可以采用的自然语言处理算法的示例包括但不限于文档词频(tf)、词频-逆文档频率(tf-idf)向量、其变换版本(例如,奇异值分解),等等。在另一个示例中,特征向量还可以包括用于潜在主题建模的基于主题模型的特征向量。主题建模算法的示例包括但不限于潜在dirichlet分配(lda)或相关主题建模(ctm)。应该认识到的是,其它类型的向量可以用于潜在主题的概率分析。
[0049]
在一些示例中,一旦分析逻辑114识别出目标数据中的属性(或属性的子集)和训练数据中的对应属性(或子集)和属性权重,分析逻辑114就确定目标事件数据属性与训练数据之间的相似性。例如,分析逻辑114可以执行生成量化目标数据与训练数据之间的相似性的分数的相似性分析(例如,余弦相似性)。可以根据由训练逻辑112确定的属性的相对重要性对形成训练数据与目标数据之间的比较的基础的一个或多个属性进行加权。在另一个示例中,诸如对于基于神经网络的机器学习引擎110,事件之间的关联不是基于相似性分数而是基于有时与神经网络的操作相关联的梯度下降分析。
[0050]
前端接口118管理客户端102a、102b与ml应用104之间的交互。在一个或多个实施例中,前端接口118是指被配置为促进用户与客户端102a、102b和/或机器学习应用104之间的通信的硬件和/或软件。在一些实施例中,前端接口118是多层应用中的表示层。前端接口118可以处理从客户端接收的请求并将来自其它应用层的结果翻译成客户端可以理解或处理的格式。
[0051]
例如,客户端102a、102b之一或两者可以经由前端接口118向ml应用104提交请求以执行各种功能,诸如对训练数据加标签和/或分析目标数据。在一些示例中,客户端102a、102b之一或两者可以经由前端接口118向ml应用104提交请求以查看事件的图形用户界面(例如,触发事件、候选事件的集合、相关联的分析窗口)。在还有另外的示例中,前端接口118可以接收重新排序各个界面元素的用户输入。
[0052]
前端接口118是指可以被配置为渲染用户界面元素并经由用户界面元素接收输入的硬件和/或软件。例如,前端接口118可以生成网页和/或其它图形用户界面(gui)对象。客户端应用(诸如web浏览器)可以根据互联网协议(ip)套件的协议访问和渲染交互式显示。附加地或可替代地,前端接口118可以提供其它类型的用户界面,包括被配置为促进用户和应用之间的通信的硬件和/或软件。示例界面包括但不限于gui、web界面、命令行界面(cli)、触觉界面和语音命令界面。示例用户界面元素包括但不限于复选框、单选按钮、下拉列表、列表框、按钮、切换开关、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
[0053]
在实施例中,前端接口118的不同组件以不同语言指定。用户界面元素的行为是用动态编程语言(诸如javascript)指定的。用户界面元素的内容以标记语言(诸如超文本标记语言(html)或xml用户界面语言(xul))指定。用户界面元素的布局以样式表语言(诸如级联样式表(css))指定。可替代地,前端接口118以一种或多种其它语言(诸如java、c或c )指定。
[0054]
动作接口120可以包括api、cli或用于调用函数以执行动作的其它接口。这些功能中的一个或多个可以通过云服务或其它应用提供,这些应用可以在机器学习应用104的外部。例如,机器学习应用104的一个或多个组件可以调用api来访问存储在数据储存库122中的信息以用作机器学习引擎104的训练语料库。应该认识到的是,所执行的动作可以因实施方式而异。
[0055]
在一些实施例中,机器学习应用104可以访问外部资源(诸如云服务)。示例云服务可以包括但不限于社交媒体平台、电子邮件服务、短信服务、企业管理系统和其它云应用。动作接口120可以用作调用云服务的api端点。例如,动作接口120可以生成符合可由外部资源摄取的协议的出站请求。
[0056]
下面在标题为“计算机网络和云网络”的第5节中描述与计算机网络相关的附加实施例和/或示例。
[0057]
动作接口120可以处理和翻译入站请求以允许机器学习应用104的其它组件进一步处理。动作接口120可以存储、协商和/或以其它方式管理用于访问外部资源的认证信息。示例认证信息可以包括但不限于数字证书、密码密钥、用户名和密码。动作接口120可以在调用通过外部资源提供的功能的请求中包括认证信息。
[0058]
在一个或多个实施例中,数据储存库122是用于存储数据的任何类型的存储单元和/或设备(例如,文件系统、数据库、表的集合或任何其它存储机制)。另外,数据储存库122可以包括多个不同的存储单元和/或设备。多个不同的存储单元和/或设备可以是或可以不是相同的类型或位于相同的物理站点。另外,数据储存库122可以在与ml应用104相同的计算系统上实现或执行。可替代地或附加地,数据储存库122可以在与ml应用104分离的计算系统上实现或执行。数据储存库122可以经由直接连接或经由网络通信地耦合到ml应用104。
[0059]
描述事件并包含事件属性的信息以及训练数据可以跨系统100内的任何组件实现。但是,为了清楚和解释的目的,这个信息可以存储在数据储存库122中。
[0060]
在实施例中,系统100在一个或多个数字设备上实现。术语“数字设备”一般是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型计算机、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定于功能的硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址翻译器(nat)、硬件负载平衡器、主机、电视、内容接收器、机顶盒、打印机、电话、智能电话、个人数字助理(“pda”)、无线接收器和/或发送器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。
[0061]
3.在分析窗口内识别相关事件
[0062]
图2a图示了根据一个或多个实施例的用于识别与一个事件相关的事件的示例操作集合,统称为方法200。图2b图示了示例操作集合,统称为方法244。图2a和2b中图示的一个或多个操作可以被修改、重新布置或完全省略。因而,图2a和2b中所示的特定操作序列不应当被解释为限制一个或多个实施例的范围。
[0063]
首先转向图2a,方法200开始于系统识别具有第一属性集和相关联的属性值的第一事件(操作204)。系统可以通过监视一个或多个不同类型的计算事务来识别第一事件。在一个示例中,系统可以通过监视与计算设备(例如,系统100中的客户端102a、102b)相关联
的点击流数据来检测和识别事件。在另一个示例中,系统可以监视去往和/或来自网络计算设备(诸如路由器、交换机和/或服务器)的网络流量。当监视通过网络传输的分组以识别事件时,系统可以使用测试接入点(tap)或其它类型的被动监视器(例如,交换端口分析器(span))镜像分组。在一些示例中,系统可以经由事务元数据和/或使用深度分组检查来识别事件以识别网络分组有效载荷数据内的事件。
[0064]
系统可以识别的事件可以包括基于用户的事件,诸如安全凭证的提交(例如,登录尝试、基于配对设备的认证、双因素认证)、资源访问请求(例如,网站请求、共享网络设备请求(例如,提交给服务器的查询))、数据存储指令(例如,日历条目、文件存储)、数据传输指令、引用网络资源标识符的请求(例如,url、网络存储地址、文件标识符)等。
[0065]
系统可以识别的其它类型的事件包括基于系统和/或网络的事件。这种类型的基于系统和/或网络的事件的具体说明性示例包括带宽调节事件(例如,增加/减少/监视网络容量)、出站和/或入站到域和/或专用网络的数据流率、服务器查询和/或请求、自动网络维护和/或安全协议的发起和/或完成等。
[0066]
与基于用户的事件相关联的属性可以包括用户凭证、一天中的时间、一周中的时间、地理位置、用户设备标识符(例如,介质访问控制标识符(mac id))、用户账户标识符和网络地址(例如,互联网协议地址、子网标识符)。在一些示例中,与网络流量和/或网络操作事件相关联的属性可以包括数据传输属性(例如,所传输的数据的量)、事务的类型(例如,查询、存储数据的指令、在网络内传输数据的指令、将数据传输到网络外的指令)、网络连接的设备的激活和/或终止等。
[0067]
在一些示例中,系统可以使用一个或多个属性来将事件识别为“触发事件”。触发事件是系统识别出检测到的事件是一个或多个事件的序列中的第一个或初始事件的事件。在一些示例中,认识到检测到的事件是后续事件的序列中的触发事件可以提高系统的操作效率。例如,通过将第一事件识别为事件序列中的触发事件,系统可以发起分析窗口,在该分析窗口内搜索一个或多个预期的后续事件。这与其中第一个检测到的事件可能是也可能不是发起事件的计算量更大的情况相反。在这种情况下,系统可以搜索先前事件和任何后续事件的监视数据,以确定第一个检测到的事件实际上与先前事件相关,还是实际上是后面跟着后续相关事件的第一事件。
[0068]
在说明用于确定第一事件是否是“触发事件”的子分析的一个具体示例中,系统可以将登录图形用户界面的参与识别为序列事件中的触发事件。例如,系统可以检测具有特定mac标识符的用户设备对访问登录图形用户界面网页的请求。在这个具体示例中,登录网页的url和设备的mac标识符是与这个事件相关联的属性(以及上面识别出的任何其它属性)。系统经由这些事件属性识别出事件是预期事件的序列中的第一个事件。例如,在识别出这个触发事件后,系统可以预期登录凭证的提交、经由分离的通信信道(例如,经由与用于访问逻辑网页的那些分离的计算设备/用户帐户)、第二因素认证的提交,以及访问的授予或拒绝。因为已知这些事件在第一、触发事件之后按照定义的顺序发生,所以系统只需要建立时间窗口,然后监视这些预期事件发生的事务。
[0069]
为便于解释,以下解释可以假设第一事件是触发事件,并且因此与生成的时间窗口的起点一致。但是,情况不必如此。例如,在其它实施例中,系统可以识别事件、识别与检测到的事件相关联的时间窗口的持续时间(如下所述),然后将时间窗口的一个实例化应用
于事件之前的持续时间并且将时间窗口的另一个实例化应用于事件之后的持续时间。系统然后可以使用该事件和任何其它检测到的事件的属性来确定检测到的事件是在相关事件之后还是之前。
[0070]
但是,如上面所指示的,为了简化方法200的解释,假设第一事件及其属性是触发事件。在识别出第一事件及其相关联的属性之后,系统选择第一时间窗口(或更一般地,“分析窗口”)的第一持续时间,在该第一时间窗口内检测可以与第一事件相关的第一候选事件集(操作208)。
[0071]
系统可以基于与第一事件相关联的第一属性集来选择第一时间窗口的第一持续时间(操作208)。系统可以基于对用于训练机器学习模型的历史数据中的观察来选择持续时间。例如,用于训练机器学习模型的历史数据可以指示,在检测到经由特定类型的移动通信设备渲染安全凭证提交页面后,将在两分钟内提交凭证。在这个示例情况下,请求安全凭证网页与第一事件对应,并且期望在其中提交凭证的两分钟与第一时间窗口的第一持续时间对应。系统可以使用如这个示例中呈现的那些的数据集合来训练机器学习模型以识别相关事件并进一步识别与第一事件相关联的一个或多个属性与其中搜索相关事件的对应时间窗口的持续时间之间的相关性。
[0072]
在一些示例中,系统可以对不同的属性应用不同的权重,使得权重更重的属性的属性值对第一时间窗口的系统选择的(或等效地,系统生成的)持续时间的贡献成比例地更大。例如,无论是经由用户应用的权重还是经由训练数据推断的权重,系统都基于第一属性值集合的子集不成比例地选择第一持续时间。在一些示例中,系统可以主要依赖(例如,超过50%)单个特定属性来生成时间窗口的持续时间。在其它类似的示例中,系统可以主要依赖两个、三个、五个或少于10个属性来生成时间窗口的持续时间。
[0073]
在还有其它示例中,当生成时间窗口的持续时间时(一个或多个)属性的成比例使用基于属性和/或对应的属性值中的一个或两者。例如,系统可以基于属性值强调一个或多个属性的使用。在一个实施例中,当生成持续时间时,系统可以过滤并由此移除具有低于那个属性的阈值的属性值的一些属性。然后可以使用具有高于对应阈值的值的其余属性,并且在生成时间窗口持续时间时,可选地根据属性和/或属性值对其进行加权。
[0074]
在还有其它示例中,持续时间可以基于属性的子集,然后可以根据属性和/或属性值中的一个或两者对其进行加权。
[0075]
在图2b的上下文中描述描述机器学习模型的训练的操作。
[0076]
虽然可以以时间(例如,微秒、秒、分钟、小时)为单位来测量第一时间窗口的持续时间,但情况不必如此。在一些示例中,可以以不是基于时间而是基于计算资源的使用的单位来测量第一时间窗口的持续时间。在一些示例中,时间窗口的持续时间可以根据中央处理单元的经过的处理器周期或计算设备执行的事务的数量来量化。在其它示例中,时间窗口的持续时间可以根据由计算设备或通过网络设备(例如,交换机或路由器)传输的分组的数量来量化。其它测量单位也可以用于指定时间窗口的持续时间,更精确地说是作为分析窗口。
[0077]
在一些示例中,系统可以选择时间窗口的起点以与触发事件一致。
[0078]
在识别出第一时间窗口的第一持续时间后,系统可以监视在第一时间窗口内发生的其它事件以识别具有第二属性值集合的第二事件(操作212)。
[0079]
类似于第一事件,第二事件可以与诸如设备类型、设备标识符、一天中的时间/周/年、地理位置、网络地址、事务时间、事务类型等属性相关联。
[0080]
然后系统将第一事件的第一属性集与第二事件的第二属性集进行比较(操作216)。系统可以使用多种技术中的任何一种来执行这种比较。例如,第一和第二属性集可以各自被向量化(如上所述)成第一事件特征向量和第二事件特征向量。系统然后可以使用余弦相似性分析将第一事件向量与第二事件向量进行比较。
[0081]
在用于执行操作216的另一个示例中,系统可以逐个属性地比较对应的属性值。在阈值内(例如,在10%内,在属性的指定数量的单位内)的被比较值可以被识别为相似。在一些示例中,经训练的机器学习模型还可以基于对(可选地加标签的)训练数据的分析来识别彼此相似的属性值。
[0082]
系统然后基于第一与第二属性集的比较来确定第二事件是否与第一事件相关(操作220)。与方法200的其它方面的情况一样,这个确定可以在一些示例中使用经训练的机器学习模型来完成。在一些示例中,第一事件和第二事件基于因果关系被识别为相关。在其它示例中,即使对于未在定义的过程流中链接的事件,训练数据也可以指示各种第一事件和对应的第二事件是相关的。即,训练数据可以被用于识别相关事件,即使那些事件不在由发起事件开始且随后是过程流中的一系列后续事件的事件的内聚的因果序列中。事实上,使用经训练的机器学习模型来识别相关事件使系统能够识别相关事件,即使这些事件彼此之间没有明确关联。例如,经训练的机器学习模型可以识别与用于第一事件的特定属性组合(诸如用户凭证的集合、mac id、一天中的时间和周几)相关联的特定事件模式。这方面的一个说明是与mac id和用户凭证的集合相关联的移动设备,该移动设备在一周和一天的特定时间访问第一网站(例如,每周一早上7点访问的个人银行网站)作为第一事件并随后在第一事件之后的3分钟(即,时间窗口)内在当地餐馆下单(即,第二事件)。
[0083]
在其它示例中,系统可以使用其它技术来确定第一和第二事件是否相关(操作220)。如上所述,在预期事件的序列或过程流中,第一事件可以被识别为“触发事件”。在这种情况下,系统可以简单地检查第二候选事件集中的事件以确定第二集合中的任何候选事件是否具有与预期事件的过程流中预期的那些属性匹配的属性。返回到登录示例来说明这种场景,系统可以将第一事件识别为访问登录页面的请求。因为系统预期在凭证授权过程流中提交凭证,所以系统可以检查后续事件以确定是否有任何后续事件包括凭证。即,更一般地,系统检查第二候选事件集内的事件以确定是否有任何候选事件具有与工作流中预期的事件的属性匹配或相似的属性。
[0084]
操作204-220可以作为针对不同事件的操作224-240被重复。在操作204-220的这个后续迭代中,用于新事件的分析窗口的持续时间基于那个新事件的属性。这类似于操作208,系统检测新事件并生成具有基于新事件的属性的持续时间的时间窗口。这个特征使系统能够动态且高效地监视时间窗口中特定于初始事件的时间段内的事件。
[0085]
更具体而言,系统识别点击流数据、网络流量、计算设备操作/事务或网络分组中的第三事件(操作224)。使用第三事件的属性集,系统选择第二时间窗口的第二持续时间,在该第二时间窗口内检测可以与第三事件相关的(第二)候选事件集(操作228)。如上面所指示的,在许多情况下,第二时间窗口的这个第二持续时间与第一时间窗口的第一持续时间不同。这是因为时间窗口的持续时间基于与系统用于发起分析的事件相关联的属性。在
很多情况下,如果第一事件与第三事件之间的属性不同,那么对应的第一时间窗口和第二时间窗口的持续时间也将不同。
[0086]
系统可以检测在第三时间窗口中发生的第四事件(在第二候选事件集内)和相关联的第四属性值集合(操作232)。系统将与第三事件相关联的第三属性集与与第四事件相关联的第四属性集进行比较(操作236)。基于操作236的比较,系统确定第四事件是否与第三事件相关。
[0087]
上面在操作204-220的上下文中描述的任何技术都可以被应用于执行操作224-240。
[0088]
如上面所提到的,可以将经训练的机器学习模型的使用应用于方法200以至少部分地基于事件确定时间窗口的持续时间并且确定事件是否彼此相关。图2b图示了描述训练机器学习模型的示例操作集(统称为方法244)。
[0089]
方法244可以通过获得用于训练机器学习模型的历史数据集开始(操作248)。在一些示例中,训练数据集可以包括用于相关和/或不相关事件集的事件数据和事件属性数据(操作252)。示例属性和事件数据包括上面在方法200中提到的任何那些。训练数据集还可以包括将事件集中的事件识别为相关和/或不相关的标签(操作256)。训练数据集还可以包括识别集合内相关的事件之间的持续时间的数据和/或标签(操作260)。
[0090]
使用这些数据,系统然后训练机器学习模型(操作264)。以这种方式,为系统提供用于以事件属性的形式分析目标数据以确定分析窗口持续时间和相关事件的数据。
[0091]
一旦被训练,机器学习模型就可以根据方法200被应用于目标数据。
[0092]
4.示例实施例
[0093]
为清楚起见,以下描述详细示例。以下描述的部件和/或操作应当被理解为一个具体示例,其可以不适用于某些实施例。因而,以下描述的部件和/或操作不应当被解释为限制任何权利要求的范围。
[0094]
图3示意性地图示了示例场景300,通过该示例场景300,经训练的机器学习模型(1)分析事件和事件属性以生成具有基于属性的持续时间的时间窗口,并且(2)检测在时间窗口的持续时间内发生的相关事件。
[0095]
场景300包括时间线302,其在图3中提供以方便在各种描绘的时间窗口之间进行比较。
[0096]
如图所示,系统检测“事件1”并进一步识别与“事件1”相关联的属性“a、b、c”。然后,应用上述技术,系统生成时间窗口304,其起点为“事件1”并且持续时间基于属性“a、b、c”并基于由系统操作以执行上述方法的机器学习模型的训练。
[0097]
系统检测具有属性“d、e、f”的“事件2”以及“事件n”。由于“事件2”发生在时间窗口304内,因此系统将“事件1”的属性“a、b、c”与“事件2”的属性“d、e、f”进行比较。系统然后可以使用上述技术确定“事件1”与“事件2”是否相关。不分析“事件n”与“事件1”的关系,因为“事件n”发生在时间窗口306中,其超出了时间窗口304的规定持续时间。
[0098]
时间窗口308图示了上述实施例的特征,即,基于对应的第一检测到的事件的属性生成时间窗口的持续时间。在图3中描绘的这个第二场景中,系统检测到“事件3”及其相关联的属性“x、y、z”。然后,系统生成时间窗口308,其起点为“事件3”并且持续时间基于属性“x、y、z”并基于由系统操作以执行上述方法的机器学习模型的训练。
[0099]
如图所示,由于属性“a、b、c”(与“事件1”相关联)与属性“x、y、z”(与“事件3”相关联)之间的差异,时间窗口308的持续时间大于时间窗口304的持续时间。
[0100]
此外,由于时间窗口308的持续时间更长,因此系统分析“事件4”与“事件3”的关系。如图所示,“事件4”发生在时间线302上与“事件n”大致相同的位置。与“事件n”和时间窗口304不同,时间窗口308的持续时间足以涵盖“事件4”。为此,系统可以将“事件3”的属性“x、y、z”与“事件4”的属性“k、l”进行比较,以确定“事件4”与“事件3”是否相关。这种比较(和最终确定)可以使用方法200来执行。
[0101]
5.计算机网络和云网络
[0102]
在一个或多个实施例中,计算机网络提供节点集合之间的连接性。节点可以是在彼此本地的和/或彼此远离。节点通过链路的集合连接。链路的示例包括同轴电缆、非屏蔽双绞线、铜缆、光纤和虚拟链路。
[0103]
节点子集实现计算机网络。这样的节点的示例包括交换机、路由器、防火墙和网络地址转换器(nat)。另一个节点子集使用计算机网络。这样的节点(也称为“主机”)可以执行客户端进程和/或服务器进程。客户端进程做出对计算服务(诸如,特定应用的执行和/或特定量的数据的存储)的请求。服务器进程通过执行所请求的服务和/或返回对应的数据来响应。
[0104]
计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是特定于功能的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件nat。附加地或替代地,物理节点可以是被配置为执行各种虚拟机和/或执行相应功能的应用的通用机器。物理链路是连接两个或更多个物理节点的物理介质。链路的示例包括同轴电缆、非屏蔽绞合电缆、铜缆和光纤。
[0105]
计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如,物理网络)之上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点与覆盖地址(寻址到覆盖节点)和底层地址(寻址实现覆盖节点的底层节点)两者相关联。覆盖节点可以是数字设备和/或软件进程(诸如虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道任一端处的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道处理(tunneling)通过封装和解封装来执行。
[0106]
在实施例中,客户端可以位于计算机网络的本地和/或远离计算机网络。客户端可以通过其它计算机网络(诸如专用网络或互联网)访问计算机网络。客户端可以使用通信协议(诸如超文本传输协议(http))将请求传送到计算机网络。通过诸如客户端接口(诸如web浏览器)、程序接口或应用编程接口(api)之类的接口来传送请求。
[0107]
在实施例中,计算机网络提供客户端和网络资源之间的连接。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储装置、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端彼此独立地从计算机网络请求计算服务。网络资源按需动态分配给请求和/或客户端。分配给每个请求和/或客户端的网络资源可以基于例如(a)由特定客户端请求的计算服务,(b)由特定租户请求的聚合计算服务和/或(c)计算机网络的所请求的聚合计算服务来扩大或缩小。这种计算机网络可以被称为“云网络”。
[0108]
在实施例中,服务提供商向一个或多个最终用户提供云网络。云网络可以实现各
种服务模型,包括但不限于软件即服务(saas)、平台即服务(paas)和基础设施即服务(iaas)。在saas中,服务提供商向最终用户提供使用服务提供商的正在网络资源上执行的应用的能力。在paas中,服务提供商向最终用户提供将定制应用部署到网络资源上的能力。可以使用由服务提供商支持的编程语言、库、服务和工具来创建定制应用。在iaas中,服务提供商向最终用户提供供应由网络资源提供的处理、存储、网络和其它基本计算资源的能力。可以在网络资源上部署任何任意应用,包括操作系统。
[0109]
在实施例中,计算机网络可以实现各种部署模型,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被供应给一个或多个实体的特定组独占使用(如本文所使用的术语“实体”是指企业、组织、个人或其它实体)。网络资源可以在特定实体组的处所本地和/或远离特定实体组的处所。在公共云中,云资源被供应给彼此独立的多个实体(也称为“租户”或“客户”)。计算机网络及其网络资源由与不同租户对应的客户端访问。这样的计算机网络可以被称为“多租户计算机网络”。几个租户可以在不同时间和/或相同时间使用相同的特定网络资源。网络资源可以在租户的处所本地和/或远离租户的处所。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云处的数据和存储在公共云处的数据可以通过接口交换。在私有云处实现的应用和在公共云处实现的应用可能具有彼此依赖性。可以通过接口执行从私有云处的应用到公共云处的应用(反之亦然)的调用。
[0110]
在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户的业务或操作可以与另一个租户的业务或操作分离。不同的租户可能对计算机网络具有不同的网络要求。网络要求的示例包括处理速度、数据存储量、安全要求、性能要求、吞吐量要求、时延要求、弹性要求、服务质量(qos)要求、租户隔离和/或一致性。相同计算机网络可能需要实现由不同租户所要求的不同网络要求。
[0111]
在一个或多个实施例中,在多租户计算机网络中,实现租户隔离以确保不同租户的应用和/或数据彼此不共享。可以使用各种租户隔离方法。
[0112]
在实施例中,每个租户与租户id相关联。多租户计算机网络的每个网络资源用租户id标记。仅当租户和特定网络资源与相同租户id相关联时,才允许该租户访问特定网络资源。
[0113]
在实施例中,每个租户与租户id相关联。由计算机网络实现的每个应用用租户id标记。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集用租户id标记。仅当租户和特定应用、数据结构和/或数据集与相同租户id相关联时,才允许租户访问特定应用、数据结构和/或数据集。
[0114]
作为示例,由多租户计算机网络实现的每个数据库可以用租户id标记。只有与对应租户id相关联的租户才可以访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以用租户id标记。只有与对应租户id相关联的租户才可以访问特定条目的数据。但是,数据库可以由多个租户共享。
[0115]
在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储被授权访问该应用的租户的租户id列表。仅当租户的租户id被包含在与特定应用对应的订阅列表中时,才允许该租户访问特定应用。
[0116]
在实施例中,与不同租户对应的网络资源(诸如数字设备、虚拟机、应用实例和线
程)被隔离到由多租户计算机网络维护的特定于租户的覆盖网络。作为示例,来自租户覆盖网络中的任何源设备的数据包可以仅被发送到相同租户覆盖网络内的其它设备。封装隧道用于禁止从租户覆盖网络上的源设备到其它租户覆盖网络中的设备的任何传输。具体而言,从源设备接收的数据包被封装在外部数据包内。外部数据包从第一封装隧道端点(与租户覆盖网络中的源设备通信)发送到第二封装隧道端点(与租户覆盖网络中的目的地设备通信)。第二封装隧道端点对外部数据包进行解封装,以获得由源设备发送的原始数据包。原始数据包从第二封装隧道端点发送到相同特定覆盖网络中的目的地设备。
[0117]
7.其它事项;扩展
[0118]
实施例针对具有一个或多个设备的系统,一个或多个设备包括硬件处理器并且被配置为执行本文描述的和/或以下权利要求中任一项所述的任何操作。
[0119]
在实施例中,非暂态计算机可读存储介质包括指令,当由一个或多个硬件处理器执行时,所述指令使得执行本文描述的和/或权利要求中任一项所述的任何操作。
[0120]
根据一个或多个实施例,可以使用本文描述的特征和功能的任何组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本技术中发出的权利要求集合的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。
[0121]
8.硬件概述
[0122]
根据一个实施例,本文描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行本技术,或者可以包括被永久性地编程以执行本技术的数字电子设备,诸如一个或多个专用集成电路(asic)、现场可编程门阵列(fpga)或网络处理单元(npu),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行本技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、asic、fpga或npu与定制的编程组合来实现本技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
[0123]
例如,图4是图示可以在其上实现本发明的实施例的计算机系统400的框图。计算机系统400包括总线402或用于传送信息的其它通信机制以及与总线402耦合用于处理信息的硬件处理器404。硬件处理器404可以是例如通用微处理器。
[0124]
计算机系统400还包括耦合到总线402用于存储信息和要由处理器404执行的指令的主存储器406,诸如随机存取存储器(ram)或其它动态存储设备。主存储器406也可以用于存储在要由处理器404执行的指令的执行期间的临时变量或其它中间信息。当这种指令被存储在处理器404可访问的非暂态存储介质中时,这种指令使计算机系统400成为被定制用于执行指令中指定的操作的专用机器。
[0125]
计算机系统400还包括耦合到总线402用于存储静态信息和处理器404的指令的只读存储器(rom)408或其它静态存储设备。诸如磁盘或光盘之类的存储设备410被提供并且被耦合到总线402,以用于存储信息和指令。
[0126]
计算机系统400可以经由总线402耦合到用于向计算机用户显示信息的显示器412,诸如阴极射线管(crt)。包括字母数字键和其它键的输入设备414耦合到总线402,用于
将信息和命令选择传送到处理器404。另一种类型的用户输入设备是光标控件416,诸如鼠标、轨迹球或光标方向键,用于向处理器404传送方向信息和命令选择并且用于控制显示器412上的光标移动。这种输入设备典型地具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,以允许设备在平面中指定位置。
[0127]
计算机系统400可以使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文描述的技术,所述定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑与计算机系统结合使计算机系统400成为专用机器或将计算机系统400编程为专用机器。根据一个实施例,本文的技术由计算机系统400响应于处理器404执行主存储器406中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备410)读取到主存储器406中。在主存储器406中包含的指令序列的执行使处理器404执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
[0128]
如本文使用的术语“存储介质”是指存储有使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、cd-rom、任何其它光学数据存储介质、具有孔模式的任何物理介质、ram、prom和eprom、flash-eprom、nvram、任何其它存储器芯片或盒式磁带、内容可寻址存储器(cam)和三态内容可寻址存储器(tcam)。
[0129]
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含有总线402的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
[0130]
各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器404以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统400本地的调制解调器可以在电话线上接收数据并使用红外线发射器将数据转换为红外线信号。红外线检测器可以接收红外线信号中携带的数据,并且适当的电路系统可以将数据放置在总线402上。总线402将数据携带到主存储器406,处理器404从主存储器406中检索并执行指令。由主存储器406接收的指令可以可选地在由处理器404执行之前或之后存储在存储设备410上。
[0131]
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,其中网络链路420连接到本地网络422。例如,通信接口418可以是综合业务数字网络(isdn)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容的局域网(lan)的数据通信连接的lan卡。也可以实现无线链路。在任何这种实现中,通信接口418发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
[0132]
网络链路420通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路420可以通过本地网络422提供到主计算机424或到由互联网服务提供商(isp)426操作
的数据设备的连接。isp 426又通过现在通常称为“互联网”428的全球分组数据通信网络提供数据通信服务。本地网络422和互联网428都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路420上并且通过通信接口418的信号是传输介质的示例形式,这些信号将数字数据携带到计算机系统400或携带来自计算机系统400的数字数据。
[0133]
计算机系统400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在互联网示例中,服务器430可以通过互联网428、isp 426、本地网络422和通信接口418传输对于应用程序的所请求代码。
[0134]
接收到的代码可以在它被接收时由处理器404执行,和/或存储在存储设备410或其它非易失性存储装置中以供以后执行。
[0135]
在前述说明书中,已经参考可以随实施方式而变化的众多具体细节描述了本发明的实施例。因而,说明书和附图应被认为是说明性而不是限制性的。本发明范围的唯一和排他性指示,以及申请人意图作为本发明范围的内容,是以发布这种权利要求的具体形式从本技术发布的权利要求集合的字面和等同范围,包括任何后续更正。
[0136]
通过引用并入;免责声明
[0137]
本技术通过引用方式并入:于2020年12月4日提交的申请no.63/121,678。申请人在此撤销对母申请或其审查历史的权利要求范围的任何免责声明,并告知美国专利商标局,本技术中的权利要求可以比母申请中的任何权利要求更广。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献