CN104516807B - 自动日志传感器调谐 - Google Patents
自动日志传感器调谐 Download PDFInfo
- Publication number
- CN104516807B CN104516807B CN201410504908.6A CN201410504908A CN104516807B CN 104516807 B CN104516807 B CN 104516807B CN 201410504908 A CN201410504908 A CN 201410504908A CN 104516807 B CN104516807 B CN 104516807B
- Authority
- CN
- China
- Prior art keywords
- data
- analysis
- pipeline
- search
- collector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/82—Arrangements in the sub-station, i.e. sensing device where the sensing device takes the initiative of sending data
- H04Q2209/823—Arrangements in the sub-station, i.e. sensing device where the sensing device takes the initiative of sending data where the data is sent when the measured values exceed a threshold, e.g. sending an alarm
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种用于自动调谐一组收集器和/或传感器的处理,包括:在集合框架中由第一传感器收集第一机器数据;在集合框架中由第一收集器处理第一机器数据以产生第一收集的机器数据;对第一收集的机器数据执行分析以生成分析输出;以及至少部分基于所述分析输出,调谐第一传感器和第一收集器中的至少一个。
Description
技术领域
本发明涉及一种对于搜索簇如何调谐和收集来自不同源的数据用于进一步分析。
背景技术
在计算机日志管理和智能中,日志分析(或系统与网络日志分析)是一组用于提供对计算机生成的记录(也称为日志或审计跟踪记录)的认识(insight)的技术。创建这些记录的处理被称之为数据登录。人们进行日志分析的原因如下:(i)遵循安全策略、(ii)遵循审计、(iii)系统故障诊断(troubleshooting)、(iv)法庭所需(forensics)、和/或安全事故响应。日志由网路设备、操作系统、应用或其他可编程设备发出。按照时间顺序的消息流可构成日志。日志有时被导入文件并存储在盘中,或者作为“网络流”被导入日志收集器。日志消息:(i)是针对其源(例如,应用)的内部状态被解释;以及(ii)宣告关于安全或关于操作的事件(例如,系统错误)。日志通常由软件开发者创建用来帮助调试软件应用的操作。日志分析解释应用、卖主(vendor)、系统或配置(其中每一个可以具有其用于生成日志的形式和格式)的上下文中的消息,从而在来自不同日志源的消息之间进行有用的比较。
一些与登录相关的功能包括:(i)模式识别是一种选择输入消息并将它们与模式书进行比较以便以不同方式进行你个过滤或处理的功能;(ii)规范化是将消息部分转换成相同格式的功能(例如共同的数据格式或规范化的IP地址);(iii)分类和加标签就是采用不同类别对消息进行排序或者采用不同关键词为它们加标签以便随后使用(例如,过滤或显示);以及(iv)相关性分析是一种从不同系统收集消息并找到属于同一事件的所有消息(例如,在诸如网络设备、防火墙、服务器等的不同系统上由预谋(malicious)活动产生的消息)。
调试日志由一个企业(enterprise)的多个组件创建,这些组件包括:(i)系统、(ii)交换器、(iii)网络、以及(iv)软件。在典型的日志分析环境中,从该企业的每个组件发出的日志与中心搜索簇同步。通过被称为“传感器”的程序执行这种调试日志的收集。传感器从某些企业组件收集机器数据。收集器由企业部署来收集、聚集、扩充、和/或分配机器数据,其包括日志、移动事务、和/或来自多个传感器的其他文件。收集器在其不可用时可以委派或切换给(failover)另一个收集器。簇分析(通常称为“聚类”)是以这样的方式对对象集合进行分组的任务,所述方式使得处于相同组(称为“簇”)中的对象彼此之间比与处于其他组(簇)中的那些对象之间更相似。调试搜索簇就是与异常系统条件相关联的对象的组。
集合框架管理这些传感器以便基于来自各种源的所收集数据采取措施。例如,集合框架操作以使得所收集数据与对应的调试搜索簇同步。
发明内容
本发明提供了一种方法,包括:在集合框架中由第一传感器收集第一机器数据;在集合框架中由第一收集器处理第一机器数据以产生第一收集的机器数据;对第一收集的机器数据执行分析以生成分析输出;以及至少部分基于所述分析输出,调谐下述第一传感器和第一收集器中的至少一个。
附图说明
图1是根据本发明的网络连接的计算机系统的第一实施例的示意图;
图2是显示至少部分由第一实施例的网络连接的计算机系统执行的第一方法的流程图;
图3是第一实施例的网络连接的计算机系统的一部分的示意图;
图4是根据本发明的日志分析系统的框图;
图5是显示至少部分由第一实施例的日志分析系统执行的第二方法的流程图;
图6是根据本发明的逻辑分析系统的第二实施例的框图;
图7是根据本发明的逻辑分析系统的第三实施例的框图;
图8是用于基于管道编程模型提供分析的系统的实施方式的实例的框图;
图9是用于基于管道编程模型执行分析的核心处理模块的实施方式的实例的框图;
图10是用于基于管道编程模型执行分析的附加细节的实施方式的实例的框图;
图11是根据本主题的实施例的用于基于管道编程模型执行分析的管理HTTP请求脚本代码输入以及管道HTTP响应可视数据输出的实现方式的实例;
图12是根据本发明的第三方法的流程图;
图13是根据本发明的第四方法的流程图;
图14是根据本发明的第五方法的流程图。
具体实施方式
本详细描述部分被划分为以下几个子部分:(i)硬件和软件环境、(ii)第一实施例、(iii)进一步评论和/或实施例、和(iv)定义。
I.硬件和软件环境
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码/指令。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java(注意:术语“Java”可能在全世界的各个地区享有商标权,这里仅仅用于在该商标权可能存在的范围指示该标识所能恰当表明的产品和服务)、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备以便使得一系列可操作步骤在计算机、其他可编程数据处理装置或其他设备上执行,以便产生计算机实现的处理,使得在计算机、其他可编程数据处理装置或其他设备上执行的指令提供用于实现在流程图和/或框图框或块中所说明的功能/动作的处理。
现在将参照附图详细描述根据本发明的用于软件和/或方法的可能硬件和软件环境的实施例。图1是功能框图,图释了网络连接的计算机系统100的各种部分,包括:服务器计算机子系统102;客户计算机子系统104、106、108、110、112;通讯网络114;服务器计算机200;通讯单元202;处理器装置(set)204;输入/输入(I/O)接口装置(set)206;内存器件208;持久存储器件210;显示器件212;外设器件214;随机存取存储器(RAM)230;高速缓冲存储器件232;以及程序300。
服务器计算机子系统102在多个方面代表本发明中的各种计算机子系统。因此,将在下面几段中阐述计算机子系统102的几个部分。
服务器计算机子系统102可以是膝上计算机、平板计算机、上网本(netbook)计算机、个人计算机(PC)、台式机、个人数字助理、智能电话、或能够经由网络114与客户子系统进行通信的任何可编程电子设备。程序300收集机器可读指令和/或数据,其用于创建、管理以及控制下面将在本详细描述部分的第一实施例字部分中详细阐述的某些软件功能。
服务器计算机子系统102能够经由网络114与其它计算机子系统进行通信(参见图1)。网络114例如可以是局域网(LAN)、诸如英特网的广域网(WAN)、或两者的组合,并且可以包括有线、无线、光线连接。通常,网络114可以是将支持服务器和客户子系统之间的通讯的连接和协议的任何组合。
应该理解的是,图1仅仅提供了一种实施方式的图释(即,系统100),并且不意味着对其中可以实现不同实施例的环境的任何限制。尤其是面对当前以及可预见的未来在云计算、分布式计算、较小计算设备、网络通讯等等方面的进步,可以对所描述的环境进行多种修改。
服务器计算机子系统102显示为具有多个双向箭头的框。这些双向箭头(没有独立的参考标记)代表通信结构,其提供了子系统102的各个组件之间的通信。该通信结构可以采用被设计用来在处理器(诸如微处理器、通信和网络处理器等等)、系统存储器、外设以及系统内的其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,该通信结构至少部分采用一条或剁掉总线来实现。
存储器208和持久存储器210为计算机可读存储介质。通常存储器208可包括任何适当的易失性或非易失性计算机可读存储介质。还应该注意到,现在和/或在较近的未来,(i)外部器件214能够供应用于子系统102的一些或全部内存;和/或(ii)在子系统102之外的器件能够提供用于子系统102的内容。
程序300存储在持久存储器210中,用于由一个或多个相应计算机处理器204通常通过存储器208的一个或多个内存进行存取或执行。持久存储器210:(i)至少比传送中的信号更持久;(ii)将程序存储在游行介质(诸如磁畴或光畴)上;(iii)与永久存储器相比明显不持久。或者,数据存储器可以提持久存储器210提供的存储类型更持久或永久。
程序300可以包括机器可读和可执行指令和/或实质数据(即,存储在数据库中的数据类型)两者。在这种具体实施例中,持久存储器210包括磁硬盘驱动。为了对多种可能的变化形式进行命名,持久存储器210可以包括固态硬驱、半导体存储器件、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
持久存储器210所使用的介质也可以是可移除的。例如,移动硬盘可用于持久存储器210。其它实例包括:光盘和磁盘、指状驱动盘、以及被插入驱动器中用于转移到也是持久存储器210的部分的另一个计算机可读存储介质上的智能卡。
在这些实例中,通讯单元202提供与子系统102之外的其他数据处理系统或设备之间的通信,诸如客户子系统104、106、108、110、112。在这些实例中,通讯单元202包括一个或多个网络接口卡。通讯单元202可以通过使用武力和无线通信连接之一或两者提供通讯。此处所讨论的任何软件模块都可以通过通讯单元(诸如,通讯单元202)下载到持久存储器件(诸如持久存储器件210)中.
I/O接口装置206容许采用可以与服务器计算机200进行你个本地数据通讯连接的其他器件输入和输出数据。例如,I/O接口装置206提供到外设装置214的连接。外设装置214p通常包括诸如键盘、键区、触屏、和/或一些其他适当的输入设备的器件。外设装置214还可以包括便携式计算机可读存储介质,诸如,例如,指状驱动盘、便携式光盘或磁盘、以及存储卡。用于实现本发明的实施例的软件和数据,例如程序300,可以存储在这种便携式计算机可读存储介质上。在这些实施例中,相关的软件可以(可以不)全部或部分经由I/O接口装置206加载到持久存储器件20上。I/O接口装置还与显示器件按212进行数据通讯连接。
显示设备212提供了将数据显示给用户的机构,并且可以例如为计算机监视器或智能电话显示屏。
此处所描述的程序基于在本发明的具体实施例中被实现的应用被标识。不过,应该理解到,此处的任何特定的程序术语仅仅是为了方便使用,因此,本发明不应仅仅限于在由这些属于所标识和/或暗示的具体应用中的用途。
II.第一实施例
初步提示:附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图2所示的是描绘根据本发明的方法的流程图240。图3所示的程序300,用于执行流程图240中的至少一些方法步骤。现在将在下面的段落过程中通过扩展的参见图2(用于方法步骤框)和图3(用于软件框)讨论该方法和相关软件。
在步骤S255处开始处理,其中包括第一收集器355a和第二收集器355b的收集器框架355收集被感测的数据。此处所使用的“被感测的数据”是所述收集器框架中的传感器所接收或感测的机器数据。在本实施例中,出错报告提示收集器框架中的收集器355a收集感测数据。“被感测的数据”的收集由收集器框架中的收集器来执行。由收集器所收集的机器数据在此被称为“收集器数据”。“被感测的数据”和“收集器数据”两者在此被称为“被收集的数据”。或者,被感测的数据被定期收集,或者其连续地被收集。在有些实施例中,收集器在初始设置值上操作,其中所有被感测的数据被收集。或者,仅有某些被指定的被感测的数据由收集器收集。所述被感测的数据包括:(i)使用(usage)数据、(ii)输出数据、(iii)调试日志、(iv)应用日志、(v)移动事务、以及(vi)其它机器数据文件。在本公开的该实施例中,收集器数据存储为分布的搜索簇。在本公开的一个实施例中,收集器框架使得所述收集器数据与各种分布搜索簇同步。或者,收集器数据作为数据集存储在持久存储器210中。或者,收集器数据存储在任何非易失性计算机可读存储介质中。
处理前进到步骤S260,其中分析模块360对所述分布搜索簇应用分析,以便确定传感器调谐动作作为增强数据获取策略的部分。在该实施例中,报警条件提示来自步骤S255的收集器转移到分析模块。或者,分析模块基于(i)定时、(ii)所存储的内存尺寸、和/或(iii)基于用户要求接收收集器数据。在该实施例中,分析引擎响应于所给定的报警条件学习或获取关于将采用何种调谐措施的知识。或者,收集器和/或传感器被调谐为根号地对它们提出的报警条件作出响应。
在本实施例中,基于管道编程模型进行分析。在本详细说明书的下面第IV部分中可以找到分析管道的阐述和实例分析平台。或者,其他类型数据分析提供对分析引擎的附加支持,用于确定传感器的调谐动作。其他分析方法包括:(i)趋势分析、以及(ii)对由被收集的数据所识别的某些条件应用预定义算法。
此处描述的分析模块的操作可以实时进行,以便容许复杂数据搜索的提示可视化、数据操纵、以及分析数据可视化。为了本说明目的,实时应该包括就提供用于所描述的主题的用户可接受的信息处理的合理的响应时间而言足够短的周期的任何时间帧。此外,术语“实时”应该包括通常所称的“接近实时(“near real time)”,其通常意味着任何时间帧,其具有足够短的时段以便能够提供用于所描述的主题的用户可接受的随选信息处理的合理响应时间(例如,在不到一秒或在几秒内)。这些术语,尽管很难精确定义,但是是本领域的普通技术人员所熟知的。
处理前进到步骤S265,其中收集调谐模块365根据分析输出采取调谐动作来调谐收集器和/或传感器。收集器和/或传感器的初始调谐通过收集器框架工作所采用的收集器和传感器的范式进行。因此,作为初始步骤,不改变机器数据的集合。被感测的某种类型的数据的结合基于网络或计算机系统内所报告的错误的类型而改变。在数据集合中的这种改变由分析引擎来驱动,所述分析引擎理解出现了某种类型的错误或者大概要出现某种类型的错误,并且指令收集器框架进行调谐。
在收集器框架中,收集器为传感器之上的一级。收集器收集、聚合、扩充和/或分配由收集器所收集的被感测的数据。调谐动作包括:(i)增加登录活动、(ii)配置所述收集器、和/或(iii)过滤在收集器层所接收的被感测的数据。在该实施例中,收集器调谐动作响应于来自收集器框架中的分析平台的同步指令通过同步级别改变而实施。或者,调谐动作通过所讨论的软件应用来实施。采用一些调谐动作以便,除了初始数据集合设置之外或替代初始数据设置地,收集高级信息。
处理前进到步骤S270,其中,搜索簇模块375通过具有被调谐传感器和/或收集器的集合框架收集高级信息。响应于分析引擎的调谐动作而收集的高级信息可以包括:(i)专用设备数据、(ii)专用源数据、(iii)本机日志、(iv)优选类型数据、(v)开发API日志、(vi)附加信息、(vii)上下文信息、和/或(viii)相关数据。
采取调谐动作的决定由收集调谐模块365响应于分析引擎输出而做出。因为这种安排,收集器框架的传感器和/或收集器构成了倾泻端点而无需它们对它们自身确定在检测到相似情况时要做什么。具有算法来搜索出或找到需要调谐的异常情况的是分析引擎。每次在通过应用分析例程识别特定情况时,都需要调谐传感器和/或收集器。
一旦收集到足够高级的信息,则传感器和收集器返回到默认配置调谐。在该实施例中,返回到默认调谐是基于预订时间段的。或者,一旦分析引擎已经接收到阈值量的高级信息,则调谐还原回到默认配置。
处理前进到步骤S275,其中,搜索簇模块375准备用于显示和/或使用的高级信息。在有些实施例中,将高级信息提供给分析引擎用于进一步分析以便生成一种方案。可选择地,产生的高级信息报告包括:(i)高级信息、和/或(ii)被感测的数据。下面的讨论提供了关于实施方式的细节以及系统调谐传感器的集合框架的使用用途。
III.进一步评论和/或实施例
如图4所示,本发明的一些实施例使用日志分析数据集合框架400,这将在下面进一步阐述。本发明的一些实施例涉及对于搜索簇如何调谐以及收集来自不同日志源的数据用于进一步分析。,
本发明的一些实施例认识到集合框架管理传感器以便对被感测的数据有效地采取措施,诸如使得所收集的数据与搜索簇同步。
本公开的一些实施例认识到所述集合框架对日志分析平台是至关重要的,因为在其中集合框架的粗一起工作以便处理来自不同类型的数据生成实体调用源的信息的集合框架或传感器中可能存在故障。
本公开的一些实施例认识到,对于日志分析系统,所捕获的数据是密钥(key)。不过,与(i)存储所收集的数据、(ii)计算需要存储的功率相关联的成本索引以及提供用于数据收集驱动效率数据收集技术的可搜索输入项。
本公开的一些实施例通过其中仅有相关数据被收集和索引用于进一步分析或分析的应用的进程提供非常有效的数据收集。
本公开的一些实施例认识到当前感测和收集框架的问题包括:(i)没有分析整个方案的健康状态的能力、以及(ii)没有调谐传感器以便优选被收集数据的类型的能力。
例如,计算机程序网关识别到,存在服务超时,但是服务端点仅仅从所有服务端点收集错误和警告。在故障时,如果存在指示在后台数据库中出现错误导致服务超时的一些信息量,则不会获得收集触发该数据失败的相关分量的信息。例如有帮助的信息会是来自导致数据库失败的应用的专门查询。
本公开的一些实施例提供了高级方法来通过实时地快速应用对被感测的数据的分析调谐集合框架的传感器。调谐所述传感器以便收集各种类型的高级信息的所获得的分析组件执行支持的评估。
本公开的一些实施例使得分析平台执行联系分析脚本或方法,以便评价出现的感兴趣的新事件。在有些实施例中,脚本的实施方式为分析平台中的警告形式。例如,警告可能正监视具体服务器的“错误”或“报警”事件。警告查询代表在分析平台中是否出现这样的情况。当所配置的警告被识别时,通过收集器框架发送脚本化的反馈以便自动调谐正从指定源捕获的数据。
初始调谐是收集器框架一起工作的传感器的更进一步的配置。因此,作为初始步骤,没有被感测的数据或日志改变。某写类型的被感测的数据的收集基于所报告的错误类型或系统状态而改变。该改变由理解该种类型的系统条件(错误、暂停、警告、超时等等)已经出现或大概要出现并指令收集器框架调谐指令的分析引擎所驱动。
图4是根据本发明实施例的日志分析系统400的框图。日志分析系统包括:源模块402、传感器模块404、日志分析平台430、收集器模块406、收集器同步子模块416、分析节点模块408、警告子模块418、分析管道子模块428、索引API子模块438、搜索簇存储410、错误事件警告412以及警告动作414。
警告被配置为监视在具体主机名称上是否存在任何错误。警告插叙看起来如下:
Severity:Error AND Hostname:production*
在日志分析系统400中,收集器框架的默认设置仅仅是用于捕获来自所有生产服务器的错误和报警。错误事件412由主机名称=声场019上的生成应用服务器抛出。这触发了警告动作414以便运行分析脚本,其评估用于调谐所有日志到下一个小时的Logger.DEBUG级别的需要,使得事件的列表在所有生产服务器上被监视。用于该例子的警告动作显示如下:
Sensor_Production019 log_level=Logger.DEBUG
通过执行运行各种搜索算法以识别存在用于改变调试级别以便进一步评价所述情况的需要,确定将登录器级别改变为调试。因此,通过执行基于通过警告被识别的情形确定要采取的行动的分析管道或脚本,动态改变被收集到基于搜索的分析平台的数据的类型。
这些动作作为对索引API请求的响应通过分析平台430被发送会收集器同步416。
本公开的一些实施例可以一个或多个以下优点:(i)仅仅存储相关数据、(ii)仅仅存储来自具体服务器的数据、(iii)仅仅存储来自相关服务器的数据、(iv)仅仅存储来自具体日志的数据、(v)仅仅存储来自相关日志的数据、(vi)提供来自具体服务器的可搜索数据、(vii)提供来自相关服务器的可搜索数据、(viii)提供来自相关日志的可搜索数据、(ix)提供来自具体日志的可搜索数据、(x)确定默认收集级别不足的情况存在、(xi)确定对识别情形应该收集什么附加信息、(xii)调谐客户端感测,以便提供用于识别情形的附加信息、(xiii)确定对于识别情形应该收集什么上下文信息、(xiv)调谐客户端感测以便提供用于识别情形的上下文信息、(xv)有效执行用于输入数据的分析内容、以及(xvi)快速执行分析内容以便在错误出现时捕获瞬态数据。
图5是根据本公开的实施例的进程500事件的流程图,其使得日志和数据的收集的自动基于警告的调谐能够进行。进程500包括被采取来使用分析管道的基于警告的执行而自动调谐传感器级别。
处理开始于步骤S502并继续到步骤S504,其中收集器同步收集最小数据以便识别警告情形。
处理前进到步骤S506,其中设置警告用于监视所收集数据中的事件。警告的例子为用于生产服务器上的错误的警告。
处理前进到步骤S508,其中所收集的数据包括与警告情形匹配的输入事件。
处理前进到步骤S510,其中分析引擎,诸如分析管道,处理所收集数据。
处理前进到步骤S512,其中分析引擎根据错误通做知识处理所收集数据。
处理前进到步骤S514,其中由分析引擎确定是否采取传感器调谐动作,如果没有采取动作,则结束处理。
如果将采取传感器调谐动作,则处理前进到步骤S516,其中采取传感器调谐动作。传感器调谐动作包括:(i)改变日志级别、(ii)改变数据捕获范围、(iii)调谐客户端感测以便提供用于识别情形的附加信息、(iv)调谐客户端感测以便提供用于识别情形的上下文信息。
处理在步骤S518处结束。
本公开的一些实施例能够利用诸如Flume(注:术语“Flume”可能属于全世界各个法域中的商标权,其在此仅仅被用于指通过在这种商标权存在的范围被这种标记适当命名的产品或服务)的分析平台和集合框架实现。本公开的一些实施例执行步骤S504和S516作为Flume中的同步码(Sync Code)。而且,使用分析平台的一些实施例将步骤S506、S510和S512处理为该平台的固有部分。
下面使用情况介绍其中可能应用本公开的一些实施例的环境。
第一种使用情况是银行业务网关环境,其中网关存储不同类型日志。这些日志通常有网关设备在网关级别或系统(domain)级别提供。
当商业交易失败时,顾客通常需要关于被登录到各种保障人员可搜索的持久存储器中的商业交易的所有信息。对银行而言,存储流经不同系统的所有商业交易数据并不是可行方案。因此,从网关分析前景来说,开发的系统专用(domain-specific)日志和网关专用日志的不同级别的自动调谐将是分厂有价值的。
第二种使用情况是移动设备环境,其中现有的(off-the-shelf)分析平台使用专门的移动平台存储所有设备专用(device-specific)信息。例如,应用开发者的应用在具体设备上的具体OS(操作系统)版本上失败,诸如在Nexus上的安卓(Android)4.1版。(注意,术语“Android”和/或“Nexus”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)。日志分析平台的分析内容可以识别这种类型的故障并调谐专用于所有版本上的Nexus设备的客户库,使得应用开发者或恶足够的信息来识别该问题的根本原因。
本公开的一些实施例披露了一种方法和装置,其中分析内容被执行一遍改变由传感器设置的数据集合。
本公开的一些实施例披露一种方法,通过该方法,可以识别一种情形以便触发用于执行的分析内容以便修改传感器数据集合级别。
本公开的一些实施例披露可以中框架,通过该框架,数据集合级别基于分析内容或管道设置的动作而被自动改变。管道是一种顺序程序,其通常采用脚本化语言,诸如PYTHON,来编写,其可以搜索、修改/评价和可视化存储在分布式搜索簇中的数据。(注意,术语PYTHON”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)。
本公开的一些实施例涉及更有效率地调谐采集进入大数据分析引擎的大数据:存储在分布式搜索簇中的海量数据的(i)存储、(ii)索引、(iii)处理以及(iv)分析。
本公开的一些实施例认识到,时常有不同类型的数据被扔入大数据分析引擎以便进行索引和存储。在大多数情况下该数据周期性地被分析以便分析不同的情况和见识。
本公开的一些实施例能够同步和有效地控制被收集的数据量。图6中图释了该数据集合(也被称为数据采集)。
图6是根据本发明的一个实施例的日志分析平台600的框图。日志分析平台包括:事件数据源602、收集器层604、过滤的事件数据606、分析引擎620、搜集簇存储器622、分析管道624以及分析输出数据626。
数据602的过剩对分布式大数据分析引擎620而言是噪声。本公开的一些实施例通过以下方式提供了高效分析内容执行:(i)过滤正确内容采集以便收集过滤的事件数据606,(ii)通过(a)规定分析、(b)说明性分析以及(c)预测性分析将分析内容应用到该过滤的事件数据以便获得见解和可视化,以及(iii)通过调谐数据采集指令到返回(a)调谐指令、(b)配置指令以及(c)过滤选项到收集器层604来增强分析能容执行。收集调谐的数据以便派生更好的分析方案。
本公开的一些实施例通过在大数据分析引擎中执行分析内容以便提供增强的数据采集策略。
本公开的一些实施例通过着眼于最小数据集以及基于初始分析的输出增强用于附加和相关数据的数据采集来在分析中获得高级优化。
在架构体系中,基于分析内容的结果和找到分析内容通过数据收集器的调谐和配置策略可以优化和增强大数据分析引擎的整体性能。
本公开的一些实施例认识到在将自动的大数据分析引入收集日志数据的领域方面的价值,其中收集器和同步描述了数据被收集以及被自动馈送到分析执行组件(已知为管道)的方式。
从收集器的角度看每个收集级别可以具有将被收集的预定数据集。例如在对于具体操作系统或设备类型不能正确其作用的移动应用情况下,本公开的一些实施例收集:(i)本机日志、(ii)开发API日志、以及(iii)形成完整数据集的应用日志。本公开的一些实施例在这种数据及收集指令被赋予收集器之前执行自动的大数据分析。
本公开的一些实施例通过同步级别设置集合级别。在每次执行分析管道时可以做到这一点,其(i)在大数据及之间执行搜索,(ii)到达逻辑结果以及(iii)执行用于收集器的同步指令以便改变其应该收集的数据集。
在登录活动方面的增加是用于数据集合的改变指令的一种类型。不过,收集器层在不改变正运行的软件程序的现有性能(behavior)的情况下处理已经正被传感器捕获的数据。
本公开的一些实施例使用收集器框架、或者包括收集器层的框架,作为在代理器(agent)、传感器等的顶部上的数据集集合的下一级别。收集器框架中的收集器与多个代理器一起工作。收集器框架构建为跨多个代理器的数据收集器下一级别,并且提供对不同数据存储API的同步能力。收集器引入的架构有点包括但不限于:(i)缓冲、(ii)切换(failover)、(iii)对不同数据格式的支持、以及(iv)对多个数据同步的支持。流行出现的收集器层的商业实例包括:Scribe、Kafka、Flume、以及Loggregator。(注意:术语“Scribe”、“Kafka”、“Flume”和/或“Loggregator”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务。)
本公开的一些实施例在收集器层处提供指令用于修改数据集的集合。图7是根据本发明一个实施例的收集器框架700的框图。图7中显示了一个实例,其中收集器702在出现故障时接管收集器704.收集器可以聚合多个数据集并提供诸如用于日志文件706、数据库触发器708、本机二进制710以及虚拟机器统计712的不同类型的同步。
本公开的一些实施例提供对在分布式系统上日益增长的大数据的弹性比例的的需要,这种大数据是传统数据库不能处理的。
本公开的一些实施例对可获得数据应用分析,以用于(i)故障预测、以及(ii)收集器框架的数据集集合调谐的调节。
本公开的一些实施例包括分析中枢,其提供成为管道的编程模型,其形成用于提供对跨不同类型数据源收集的数据的分析能力的基础。
本公开的一些实施例应用该分析层的结果来调谐用于数据集集合的收集器同步层。
本发明的一些实施例具有收集器框架,其每次在通过应用分析例程而识别具体条件时必须被重新调谐。在这种情况下,分析引擎具有搜出和找到需要重新调谐的异常的算法。
IV.管道分析平台的进一步描述
此处描述的主题提供了基于管道编程模型的分析。本技术引入了在此称为“管道”的概念。如此处所描述的,管道代表一种逻辑构造,其包括定义在支持编程/脚本化语言句法(例如PYTHON,尽管许多其他句法也可以)中的搜索和可视化指令。(注意:术语“PYTHON”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)。此处了描述了新的“管道编程模型”。管道编程模型提供了一种架构体系,其定义和执行具有顺序搜索的“管道”、所搜索数据的修改/净化、以及使用单一线程请求/响应范例的数据的可视化。因此,管道编程模型使用单一超文本协议(HTTP)请求、在HTTP服务器处的单一HTTP线程的操作、以及自服务器的通过单一服务器HTTP线程的单一HTTP响应提供了对数据的若干分析操作的分隔化处理以及分析操作结果的返回。
此处所描述的“管道化HTTP请求”代表一种HTTP请求,其包括/涵盖脚本化代码,其被HTTP服务器请求在所述单一操作线程下针对数据集被执行。脚本语言的执行可以通过单一操作线程在与所述脚本化代码相关联的本地脚本语言运行时间中进行。此处所描述的“管道化HTTP响应”代表一种HTTP响应,其包括/涵盖由单一HTTP线程所返回的脚本化代码的执行结果,该单一HTTP线程响应于接收到管道化HTTP请求而创建。所述脚本化代码可以包括脚本化句法,其可执行以便进行搜索功能、数据操纵功能、以及数据可视化功能。因此,此处描述的管道编程模型提供了一种用于数据分析的综合方案,其可以改善用于数据集的数据分析,该数据集包括大型分布式数据集。
此处利用网应用作为源平台的例子,如上所述和下面更详细的描述,在该源平台中可以实现管道编程模型,并且其中用户可以配置和发出用于分析的管道化HTTP请求。中间件分析平台在此被利用作为目标平台,在该目标平台中,可以实现管道编程模型,并且在其中可以执行管道化HTTP请求。可以理解的是,其它平台可能性也是存在的,其可以被用作源和目标平台,用于实现管道编程模型,并且可以在本技术的范围考虑所有这些可能性。
所述搜索可以包括一种分布式定向批处理搜索,被请求在管道化HTTP请求内执行,其在管道化HTTP请求中使用嵌入式脚本化代码。分布式定向批处理搜索可以由HTTP服务器在跨分布式和本地数据节点的单一操作线程下被执行以便查询该搜索结果(例如,搜索命中)。该搜索的结果可以在与在HTTP请求内由脚本化代码所指明的操作线程相同的操作线程下被操纵。搜索的结果和/或数据操纵可以再次在与在HTTP请求内由脚本化代码所指明的操作线程相同的操作线程下通过制图库而被可视化。被操纵的和/或可视化的搜索结果可以再次在相同的操作线程下作为对管道化HTTP请求的响应被返回。因此,单一HTTP请求可以由HTTP服务器处理以便代表发出管道化HTTP请求的用户执行搜索、数据操纵以及数据可视化操作。管道化HTTP请求的结果可以表达(render)在现实设备上或者在生成其它表达输出,并且所表达的数据可以呈现给用户。因此,数据分析可以通过使用此处所描述的管道编程模型而得到改善。
诸如Python、JavaScript、PHP:Hypertext Preprocessor(超文本处理器)(PHP)的脚本语言以及Perl脚本语言可以用作其中管道化HTTP请求内的脚本化代码在句法上被公式化/创建的脚本语言。(注意:术语“Python”、“JavaScript”、“PHP”、“HypertextPreprocessor”、和/或“Perl”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)。也可以适当地使用其他脚本语言用于给定的实施方式。如上所述以及如下面更详细描述的,脚本化代码与管道化HTTP请求和分布式搜索技术结合使用来提供用于复杂数据搜索和可视化的描述性分析。
如上所述,管道化HTTP请求导致在实现管道编程模型的目标平台中新线程的创建。可选择地,目标平台可以被称为中间件分析平台。目标平台执行所请求的管道。新创建的线程解释以定义管道的各个顺序脚本语言提供的指令并执行与目标平台相关联的管道。对此处的例子来说,在管道中主要有三种指令,尽管可以适当地利用其它类型用于给定的实施方式。管道中的第一类指令包括搜索功能。管道中的第二类指令包括数据操纵功能。管道中的第三类指令包括数据可视化功能。
关于可能的搜索功能,搜索命中率(例如,基于搜索准则对原结果的搜索)、搜索术语层面(termfacet)(例如,对跨具体领域的值的层面或分布的搜索)、搜索数据时间直方图(例如,对跨由文件的日期和时间定义的直方图的时间的分布的搜索)、以及类似搜索规范代表一些实例搜索功能,其可以被用来在目标平台中利用单一HTTP线程实现复杂数据的搜索。关于可能的数据操纵功能,归类(例如,基于字段值对所接收的结果的归类)、过滤(例如,滤除使用搜索功能获得的结果中的不需要的噪声)、映射(例如,以一种可能更容易/更可理解地被可视化的方式重新排序不同值)、分组(例如,基于数据的特性,将所接收的结果聚合成一些组)、以及类型数据操纵代表实例数据操纵功能,其可以被利用来在目标平台中利用单一HTTP线程实现复杂数据的搜索结果的数据操纵。关于可能的数据可视化功能,chart_pie(例如显现一个圆形图形以便使得数值的分布可视化)、chart_stats(例如,显现最小值、最大值以及平均值)、chart_chord(例如显现各种数据类型的弦分布)、chart_heatmap(例如,显现在搜索结果中被代表的值的热图分布,诸如跨服务器的存储器利用率)、chart_timeline(例如,显现表示在时间线中的事件的顺序的时间线图表)、chart_horizon(例如显现在时间线中显示的值的变化形式)、以及类似数据可视化规范代表实例数据可视化功能,其以被利用来在目标平台中利用单一HTTP线程实现复杂数据的被操纵搜索结果的可视化输出。还应该注意到是,尽管上述实例功能处于举例目的被利用,但是其他搜索功能、数据操纵功能以及数据可视化功能也是有可能的,并且所有这种功能都被认为在本主题的范围之内。
应该注意到的是,本主题的概念源自于对与数据分析相关联的某些限制的认识。例如,可以观察到,所搜索的数据通常隐藏的(cryptic)并且其采取的格式难以利用图形和图表可视化。此外,可以观察到,数据搜索结果通常需要操纵,诸如,通过被净化(例如,去除诸如被不适当格式化的数据元素的噪声)以及通过以不同组合被再格式化,以便提供有效的描述性分析能力。还可以观察到,搜索通常变得越来越复杂,这需要终端用户将对较大的和分布式数据存储器(例如,集合的大数据)的搜索分解(decouple)成一些定向批处理程序,这些程序为分析添加了额外负担并且不通过对终端用户的可视化就该数据提供实时见解。本主题通过提供基于管道编程模型的分析改善了数据分析。因此,可以通过使用此处描述的技术获得改善的数据分析。
此处描述的基于管道编程模型的分析可以实时实现以便容许快速可视化复杂数据搜索、数据操纵以及分析数据可视化。对于本说明来说,实时应该包括在提供用于此处描述的主题的用户可接受的信息处理的合理的响应时间方面的足够短时间的任何时间帧。此外,术语“实时(real time)”应该包括通常所称的“接近实时(“near real time)”,其通常意味着任何时间帧,其具有足够短的时段以便能够提供用于所描述的主题的用户可接受的随选信息处理的合理响应时间(例如,在不到一秒或在几秒内)。这些术语,尽管很难精确定义,但是是本领域的普通技术人员所熟知的。
图8是用于基于i管道编程模型提供分析的系统800的实施方式的实例的框图。计算设备_1 802到计算设备_N804经由网络806与若干其他设备通信。所述其他设备包括服务器_1 808到服务器_M810。数据库_1 812到数据库_T814代表数据的物理存储位置,数据可以包括复杂的分布式数据,其可以利用此处所描述的管道编程模型来处理。
如下面结合图9-14更详细描述的那样,计算设备_1 802到计算设备_N804以及服务器_1 808到服务器_M810每个可以提供基于管道编程模型的自动分析。所述基于管道编程模型的自动分析基于由例如计算设备_1 802到计算设备_N804之一向服务器_1 808到服务器_M810之一发出包括脚本化代码的管道化HTTP请求。管道化HTTP请求的接收使得相应服务器创建单一管道化HTTP线程来处理所述管道化HTTP请求。管道化HTTP请求的处理可以包括如在所述脚本化代码中配置的处理,该代码封装在管道化HTTP请求中,并且所处理的结果通过单一管道化HTTP线程被返回到请求计算设备。存在是实现本主题的可能变化形式,并且所有这些变化形式都被认为在本主题的范围内。
应该注意的是,此处结合图8描述的任何相应计算设备可以是便携式计算设备,或者通过用户能力移动到不同位置的相应计算设备,或者是与诸如飞机、火车、七成或其他移动交通工具的便携式平台相关的相应计算设备。还应该注意的是,各个计算设备可以任何能够如上所述和下面更详细所述的处理信息的计算设备。例如,相应计算设备可以包括一些设备,诸如,个人计算机(例如、台式机、膝上计算机等等)、或手持设备(例如蜂窝电话、个人数字助理(PDA)、电子邮件设备、音乐记录或播放设备、平板计算设备、电子书阅读设备等等)、网络服务器、应用服务器、或其他数据服务器设备、或能够如上所述或如下更详细所述处理信息的任何其他设备。
网络806可以包括:适于有意目的的任何形式的互联,包括诸如内联网或互联网的私有和公共网络,模块间直接互联、拨号、无线、或任何能够使得相应设备互相连接的其它互联机制。
服务器_1 808到服务器_M810可以包括能够经由诸如网络806的网络提供由设备消费的数据的任何设备,诸如计算设备_1 802到计算设备_N804。因此,服务器_1 808到服务器_M810每个可以包括网络服务器、应用服务器或其他数据服务器设备。
图9是能够基于管道编程模型执行分析的核心处理模块900的实施方式的实例的框图。核心处理模块900对于给定实施方式可以适当地与计算设备_1 802到计算设备_N804或与服务器_1 808到服务器_M810相关联。因此,在此总体描述了核心处理模块900,尽管可以理解到,在核心处理模块900内的组件的实施方式有各种变化形式并且这些变化形式都在本主题的范围内。
而且,核心处理模块900可以提供与每种实施方式相关联的管道化HTTP请求的不同和互补的处理。因此,对于下面任何实例,可以理解到,针对结合另一个设备(例如发送/正发送等等)描述的任何一个设备描述的功能的任何方面都将被理解为同时描述其他相应设备(例如,接收/正接收等等)的功能。
中央处理单元(CPU)902提供计算机指令执行、计算、以及核心处理模块900内的其他能力。显示器904向核心处理模块900的用户提供可视信息以及输入设备906为用户提供输入能力。
显示器904可以包括任何显示设备,诸如阴极射线管(CRT)、液晶显示器(LCD)光发射二极管(LED)、电子墨水显示器、投影仪、触摸屏或其他显示元件或面板。输入设备906可以包括计算机键盘、键区、鼠标、笔、摇杆、触屏或用户通过其能够与显示器904进行交互或对显示器904上的信息作出响应的任何其他类型输入设备。
还应该注意到,显示器904以及输入设备906对于某些事实方式/设备,诸如服务器_1 808到服务器_M810,为用于核心处理模块900的可选组件。因此,核心处理模块900可以用作一个完全自动实现的是被而不需要直接用户可配置性或反馈。不过,对于给定实施方式,核心处理模块900也可以适当地分别经由显示器904和输入设备906向用户提供反馈和可配置性。
通讯模块908提供互联能力,其使得核心处理模块900与系统900内的其他模块进行通信。通讯模块908根据给定实施方式适当地可以包括可用于提供互联能力的任何电的、协议以及协议转换能力。
存储器910包括管道化HTTP请求处理存储区域912,其公共用于与核心处理模块900相关联的管道化HTTP请求的处理的存储。例如,如果核心处理模块900与计算设备_1802到计算设备_N804相关联,则管道化HTTP请求处理存储区域912可用于创建管道化HTTP请求。类似地,如果核心处理模块900与服务器_1 808到服务器_M810相关联,则管道化HTTP请求处理存储区域912可用于存储和处理所接收的管道化HTTP请求。
应用区域914提供用于一个或多个被CPU902执行的应用的存储和执行空间。应用区域914可以执行例如与计算设备_1 802到计算设备_N804相关联的应用,以便创建和发送管道化HTTP请到求服务器_1 808到服务器_M810中的一个或多个。这种应用也可以接收管道化HTTP响应以及使用显示器904或其他输出设备表达所接收和处理的数据。
应该理解到的是,存储器910可以包括适于预定目的的易失性和非易失性存储器的任何组合,适当地可以是分布式的或本地化的,并且可以包括为了方便阐述的目的而在本实例中没有提到的其他存储部分。例如,存储器910可以包括不脱离本主题范围的代码存储区域、操作系统存储区域、代码执行区域、以及数据区域。
还示出了分析平台模块916。分析平台模块916提供处理能力,用于如上所述和如下更详细所述,处理用于核心处理模块900的管道化HTTP请求。分析平台模块916基于核心处理模块900的管道编程模型实现分析。此处描述的实例利用与服务器_1 808到服务器_M810相关联的分析平台模块916处理从计算设备_1 802到计算设备_N804所创建和接收到管道化HTTP请求。不过,可以理解到的是,对于给定实施方式,分析平台模块916可以适当地与计算设备_1 802到计算设备_N804中的一个或多个相关联地实现。
还应该注意的是,在不脱离本主题的范围的情况下,分析平台模块916可以形成在所描述的其他电路的一部分。而且,分析平台模块916可替代地实现为存储在存储器910中的应用。在这种实施方式中,分析平台模块916可以包括指令,其由CPU902执行用来进行此处描述的功能。CPU902可以执行这些指令以便提供上面以及下面更详细针对核心处理模块900描述的处理能力。在不脱离本主题的范围的情况下,分析平台模块916可以形成中断服务例程(ISR)的一部分、操作系统的一部分、浏览器应用的一部分、或独立应用的一部分。
CPU902、显示器904、输入设备906、通讯模块908、存储器910以及分析平台模块916经由互联918而相互连接。连接918可以包括系统总线、网络、或任何能够为各种目的为各种组件提供适当互联的其他互联。
尽管为了方便图示和描绘目的,图9中所示的不同模块图示为组件级别模块,但是应该注意的是,这些模块可以包括任何硬件、编程的处理器以及存储器,他们被用于实现如上所述以及下面更详细描述的各个模块的功能例如,这些模块可以包括具有特定用途集成电路形式的附加控制器电路、处理器、天线和/或离散集成电路和用于执行与各个模块相关联的通信和电控制活动的组件。此外,这些模块适当地可以包括中断级、堆栈级以及应用级。而且,这些模块可以包括任何存储组件,被用于用于执行与各个模块相关联的处理活动的存储、执行和数据处理。这些模块还包括形成所描述的其他电路的一部分或者可以在不脱离本主题的范围的情况下被组合起来。
此外,尽管核心处理模块900图示有所描述的某些组件,但是在不脱离本主题的范围的情况下其它模块和组件也可以与核心处理模块900相关联。此外,应该注意的是,尽管为了方便图示目的,核心处理模块900被描述为单一设备,但是在不脱离本主题的范围的情况下核心处理模块900的组件可以共处一处或者经由网络分开布置并互相连接。对于分布式布置的情况,显示器904和输入设备906可以布置在销售设备、公用亭或其他位置的点,而CPU902和存储器910可以位于本地或远程服务器处。可能有用于核心处理模块900的组件的多种其他可能的布置,并且全都被认为在本主题的范围内。还应该理解到的是,尽管就图9中的例子而言数据库912到数据库914图示为独立组件,存储在各个数据库的一个或多个内的信息可以在不脱离本主题的范围的情况下也/可替代地存储在存储器910内。因此,核心处理模块900可以采取多种形式并且可以与多个平台内相关联。
图10是与图9中的用于基于管道编程模型执行分析的分析平台模块916相关联的附加细节的实施方式的实例的框图。上所述,管道化HTTP请求包括脚本化代码,其被HTTP服务器请求在所述单一操作线程下针对数据集被执行。分析平台模块916可以以多种技术实现,诸如中间件分析平台。
分析平台模块916包括HTTP请求/响应处理器1020。响应于接收到管道化HTTP请求,HTTP请求/响应处理器1020通过创建处理该请求的线程来处理初始管道化HTTP请求。所创建的线程理解在管道中定义的脚本化代码的纲领性语义以便执行如管道化HTTP请求中的脚本化代码所指明的数据搜索、数据操纵和数据可视化。管道化HTTP请求中的脚本化代码所代表的指令由HTTP请求/响应处理器1020使用脚本语言执行/操作系统(OS)模块1022发出的单一协调线程执行。
因此,HTTP请求/响应处理器1020检测到管道化HTTP请求已经被接收到,解释该请求,确定该请求包括脚本化代码(例如,为管道化HTTP请求),以及创建具有所创建线程的管道化功能以便实现管道化HTTP请求内的各种脚本化代码分段的单线程执行并对初始管道化HTTP请求响应为单一线程管道化HTTP响应。
分析平台模块916还包括管道执行容器1024,其包括管道执行引擎,该引擎由搜索引擎1026、数据操纵引擎1028以及可视化引擎1030组成。管道执行容器1024指明了由管道_1 832到管道_S834所表示的多个同时执行的管道将如何被定义用于由搜索引擎1026、数据操纵引擎1028以及可视化引擎1030执行。如下面详细描述的,管道执行容器1024定义了句法将如何被构造用于管道化HTTP请求的执行以及还如何利用管道执行容器1024自身中的模块执行所接收的管道化HTTP请求。因此,如上所述和下面更详细的描述,管道执行容器1024指明了用于管道化HTTP请求的接口定义以及执行能力,确定所配置的接口处理语义规范满足所所接收的管道化HTTP请求,以及执行合规的(compliant)管道化HTTP请求。如在图10中所表示的,可以通过存在管道执行容器1024内创建多个管道1032到1034来同时处理多个单线程管道化HTTP请求。
关于在管道化HTTP请求中的脚本化代码内指明的数据搜索,所创建的线程被配置为理解如何利用搜索引擎1026执行数据搜索。所创建线程适当地将用于指定搜索功能的数据搜索脚本化代码转换成适当地用于定实施方式的可以被诸如搜索引擎1206的搜索引擎理解的搜索语义,并且发起如管道化HTTP请求中的脚本化代码所指明的数据搜索。搜索请求例如可以被发送到分布式搜索簇1036。该数据搜索处理可以实现为关于所创建线程的堵塞调用。因此,如管道化HTTP请求中的脚本化代码所指明的以及下面更详细描述的那样,数据搜索的结果被返回到所创建的线程用于附加处理。
一旦数据搜索结果已经收到,则管道化HTTP请求中的脚本化代码内的下一指令集代表所请求的数据操纵功能。本机脚本语言能力(power)可以被杠杆作用并对于数据搜索执行所返回的原始数据的操纵被再次用作使用数据操纵引擎1028的单线程管道化HTTP请求/响应顺序的部分。如上所述,数据操纵处理可以包括例如过滤或对于给定实施方式适当的其他数据操纵。
一旦数据操纵处理已经完成,完成管道化HTTP请求的处理的第三步将利用可视化引擎1030将净化的/被操纵的数据从前一数据操纵处理输送到一个或多个可视化库1038,以便采用可视化库功能处理数据,从而创建用于可视化的图形/图表。
因此,分析平台模块916提供了用于搜索、使用本机脚本语言的数据操纵以及使用可视化库的数据可视化的管道化HTTP请求的单线程执行。HTTP请求导致单线程管理任务,其包含分布式搜索、数据的操纵以及数据可视化。分析平台模块916提供框架,通过该框架,包括用于搜索、数据操纵以及可视化的脚本化代码的管道在管道编程模型内被执行。
图11是用于基于管道编程模型执行分析的管道化HTTP请求脚本化代码输入1102以及管道化HTTP响应可视数据输出1104的实施方式的实例的图1100。根据图11可以看出,管道化HTTP请求脚本化代码输入1102包括三行脚本化代码,其分别代表数据搜索、采用数据过滤形式的数据操纵以及指明只用可视库的圆形图表输出的数据可视化。在图11所表示的伪句法可以被认为代表基于Python脚本语言实施方式的脚本化代码的伪实施方式,尽管如上所述,任何脚本语言都可以被适当地利用来实现用于给定实施方式的本技术。(注意:术语“Python”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)
由图11的管道化HTTP请求脚本化代码输入1102所表示脚本化代码的行可以通过本技术的用户以与下面所示的伪句法HTTP POST指令相似的HTTP POST指令形式输入。
HTTP POSTserver.com/service/pipe
body start
L=SEARCH_TERMSFACET(‘TENANT1’,‘SYSTEMOUT’,‘*’,‘SEVERITY’)
L=FILTER(LAMBDA D:LEN(D[‘SEVERITY’]==1,L)
return CHART_PIE(L,[‘SEVERITY’,‘COUNT’])
body end
如在上述HTTP POST指令的伪句法内所看到的,“管道”中的第一指令使用Python脚本语言代码的本机执行来指明数据搜索。在多个承租数据库内已经请求搜索被识别“TENANT1”为的承租者(tenant)。变量“SYSTEMOUT”代表由应用服务器生成的日志,这些日志将被搜索。应该注意的是,可以存储多种类型的数据,诸如财经数据和其他形式的数据,并且那些不同类型的日志可以生成并审计/搜索。通配符标记“*”表示该搜索被指明针对由SYSTEMOUT变量所指明的日志中的所有可用数据。“SEVERITY”指示符表示已经请求了在所有数据上的SEVERITY(严重性)的分布,诸如在所搜索的日志内的“severity field(严重性字段)”具有错误、报警或其他捕获的信息有多少次。变量“L”被用于存储所返回的搜索结果用于有管道的数据操纵处理器进行进一步处理。
管道中的第二指令使用脚本语言代码的本机执行进行过滤作为数据操纵,该数据操纵在HTTP POST指令的伪句法中被指明作为“FILTER”功能。该过滤被指明为通过去除其中结构包含多于一个(1)字符(其中合适格式化数据被认为是一个字符的数据)的所有搜索命中来滤除数据中的噪声(例如被不适当地格式化的数据元素)。对本实例而言,可以假设,如果有效数据存在,则所搜索的日志内的“severity field”被配置为具有一个字符。因此,多于一个字符表示在搜索结果中有噪声,并且这种搜索结果在可视化之前被去除。过滤的结果再次被分派给变量“L”,以便存储所返回的搜索结果,用于管道的进一步处理和可视化。
管道中的第三指令获取来自前一数据操纵步骤的结果并输出具有所述搜索返回的过滤后的数据的圆形图表。“CHART_PIE”指令操作以便调用制图库并选择圆形图表作为被管道化HTTP响应返回的管道的所指明的可视化输出。管道化HTTP响应可视数据输出1104代表被可视化后和被操纵后的搜索结果的实例输出。
应该注意的是,为了便于图释,选择了被选择用于圆形图表的部分的数目,并且该附图不能被认为是按照比例的。就举例而言,应该注意的是,“SEVERITY”字段/变量可以有多个值。因此,代表性搜索可以根据该SEVERITY变量确定由变量“A”所表示的应用构成了搜索结果的百分之二十五(25%)。而且,根据SEVERITY变量,采用变量“O”所表示的输出构成了搜索结果的百分之二十五(25%)。采用变量“W”所表示的报警构成了搜索结果的百分之二十(20%)。采用变量“E”所表示的错误构成了搜索结果的百分之五(5%)。最后,采用变量“I”所表示的信息输入项构成了搜索结果的百分之二十五(25%)。再次,在该实例中所使用的数字仅仅是为了方便说明并且该附图并不被认为是按照比例的。
管道化HTTP响应可视化数据输出1104可以表达在用户利用来发出管道化HTTP请求计算设备的显示器上。因此,本技术提供高级数据搜索、数据操纵以及数据可视化能力。单一管道化HTTP调用导致基于脚本语言的分布书搜索、搜索数据的基于脚本语言的操作、以及被操纵的搜索结果的基于脚本语言的可视化的执行。
下面描述的图12到图14表示可由诸如核心处理模块900执行以便基于与本主图相关联的管道编程模型进行分析的实例处理。可以有关于该实例处理的多种其他变化形式,并且所有这些变化形式都被认为在在本主题的范围内。所述实例处理可以通过诸如分析平台模块916的模块执行和/或由与该设备相关联的CPU902执行。应该注意哦是,为了方便图示目的,在下面描述的实例处理中没有图示超时过程和其他错误控制过程。不过,可以理解的是,所有这种过程都被认为在本主题的范围内。而且,在不过李本主题的范围的情况下,所描述的过程可以组合起来,所描述的处理的顺序可以改变,并且可以添加或去除附加处理
图12是用于基于管道编程模型执行分析的进程1200的实施方式的实例的流程图。在框1202处,进程1200在服务器处接收超文本传输协议(HTTP)请求,其包括嵌入的脚本化代码,其指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。在框1204处,进程1200执行所接收到的被嵌入的脚本化代码,其指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。在框1206处,进程1200生成被可视化的被操纵的搜索结果作为执行所接收到的被嵌入的脚本化代码的输出,该代码指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。在框1208处,进程1200响应于HTTP请求返回所述被可视化的被操纵的搜索结果,该请求包括被嵌入的脚本化代码,其指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。
图13用于发起管道化超文本传输协议(HTTP)请求以便请求基于管道编程模型分析的进程130的实施方式的实例的流程图。在决定点1302,进程1300确定诸如来自诸如计算设备_1 802到计算设备_N804之一的计算设备的生成管道化HTTP请求的请求是否已经被检测到。图13的实例利用与图11相关联的上述该实例伪句法。
返回到决定点1302的描述,响应于确定生成管道化HTTP请求已经检测到,进程1300在在框1304处形成诸如结合图10上面描述的HTTP POST请求构造,其中在新的一行中,HTTP POST server.com/service/pipe后面跟随后“body start。在框1306处,进程1300接收来自用户的数据搜索脚本化代码句法,诸如上述句法“L=SEARCH_TERMSFACET(‘TENANT1’,‘SYSTEMOUT’,‘*’,‘SEVERITY’)”。进程1300可以检测由用户按下的“return(返回)”键/新行输入或“enter(回车)”键以确定用于管道化HTTP请求的数据搜索脚本化代码句法的脚本化文本输入是否已经完成。在框1308处,进程1300将所接收到的数据搜索脚本化代码句法附于HTTP POST请求构造。
在框1310处,进程1300接收自用户的数据操纵脚本化代码句法,诸如上述句法“L=FILTER(LAMBDA D:LEN(D[‘SEVERITY’]==1,L)”。进程1300可以检测由用户按下的“return(返回)”键/新行输入或“enter(回车)”键以确定用于管道化HTTP请求的数据操纵脚本化代码句法的脚本化文本输入是否已经完成。在框1312处,进程1300将所接收到的数据操纵脚本化代码句法附于HTTP POST请求构造。
在框1314处,进程1300接收自用户的数据可视化脚本化代码句法,诸如上述句法“CHART_PIE(L,[‘SEVERITY’,‘COUNT’])”。进程1300可以检测由用户输入单词“return(返回)”作为HTTP POST请求已经通过该输入而完成的指示,以及可以检测由用户按下的“return(返回)”键/新行输入或“enter(回车)”键以确定用于管道化HTTP请求的数据可视化脚本化代码句法的脚本化文本输入是否已经完成。在框1316处,进程1300将所接收到的数据可视化脚本化代码句法附于HTTP POST请求构造以及将“body end(主体末端)”附于HTTP POST请求以便形成管道化HTTP请求。
在框1318处,进程1300向如上所述的目标平台发送管道化HTTP请求作为HTTPPOST请求。在决定点1320处,进程1300确定是否已经从目标平台收到管道化HTTP响应。响应于确定已经从目标平台收到管道化HTTP响应,进程1300从管道化HTTP响应中抽取被可视化的被操纵的搜索结果。在框1322。在框1324处,进程1300表达该被可视化的被操纵的搜索结果。进程1300返回到决定点1302并重复如上所述。
因此,进程1300接收来自用户的指明了复杂和/或分布式数据的数据搜索的脚本化代码句法,接收来自用户的指明了搜索结果的操纵(例如,过滤)的脚本化代码句法,以及接收来自用户的指明了对被操纵的搜索结果的可视化输出格式化的脚本化代码句法。在本实例中,使用HTTP POST封装各个脚本化代码分段以便形成管道化HTTP请求,尽管可以理解的是,其他实施方式也是可能的并且所有这些实施方式都被认为在本主题的范围内。管道化HTTP响应包括管道化HTTP请求的结果的表达并且该结果被显示给用户。因此,计算设备的用户可以指明脚本化代码分段将被远程服务器执行以便进行复杂数据搜索、操纵以及可视化处理。因此,复杂数据搜索、数据操纵与被操纵搜索结果的数据可视化一起,可以按照将被服务器执行以便执行所请求的操作的脚本化代码句法的规范在用户控制下被委托给服务器。
图14是用于处理管道化超文本传输协议(HTTP)请求以及基于管道编程模型执行分析的进程1400的实施方式的实例的流程图。进程1400可以在例如诸如服务器_1 808到服务器_M810的服务器设备处执行。图14的实例也可以使用上面结合图10所描述的实例伪句法来实施,尽管为了简便没有重复那些实例的具体句法。如上所述,就实例而言,HTTP POST构造被用于代表管道化HTTP请求,尽管可以理解的是,其他实施方式也是可能的并且所有这些事实范式都被认识在本主题的范围内。
在决定点1402处,进程1400确定是否已经检测到来自诸如计算设备_1802到计算设备_N804的包括嵌入的脚本化代码分段的管道化HTTP请求。如上所述,嵌入的脚本化代码可以指明所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。响应于确定已经检测到包括嵌入的脚本化代码分段的管道化HTTP请求,进程1400在框1404处创建单一执行线程以便处理所接收到的管道化HTTP请求。如上所述,该单一创建的执行线程操作以便通过执行管道化HTTP请求以及采用管道化HTTP响应作出响应来实现管道编程模型。而且,还是如上所述,以相应脚本语言形成的脚本化代码分段的执行可以通过该单一创建的执行线程在与脚本化代码分段相关联的本机脚本语言运行时间中进行。例如,theexecution of脚本化代码分段的执行可以基于脚本化代码分段的句法编码在本机Phyton脚本语言运行时间、本机JavaScript脚本语言运行时间、PHP:Hypertext Preprocessor(找文本处理器)(PHP)脚本语言运行时间、本机Perl脚本语言运行时间、或其他本机脚本语言运行时间中进行。(注意:术语“Python”、“JavaScript”、“PHP”、“HypertextPreprocessor”、和/或“Perl”可能在全世界的各个法域都具有商标权,此处只用于指代采用此标记在这种商标权可能存在的范围内适当地命名产品或服务)。
在框1406处,进程1400从所接收到的管道化HTTP请求中抽取数据搜索脚本化代码句法、数据操纵脚本化代码句法以及数据可视化脚本化代码句法。在框1408处,进程1400在与搜索脚本化代码相关联的本机脚本语言运行时间中执行所抽取的数据搜索脚本化代码。例如,所抽取的数据搜索脚本化代码可以指明诸如例如多个承租者系统内的每个承租者搜索的上述的分布式搜索簇836的所请求的分布式数据库搜搜索。在框1410处,进程1400在与数据操纵脚本化代码相关联的本机脚本语言运行时间内执行所抽取的数据操纵脚本化代码。例如,所抽取的数据操纵脚本化代码可以指明所请求搜索结果过滤或搜索结果的其他处理。在框1412处,进程1400在与数据可视化脚本化代码相关联的本机脚本语言运行时间内执行所抽取的数据可视化脚本化代码,以便生成被可视化的被操纵的搜索结果作为所接收到的嵌入的脚本化代码的执行的输出,该代码指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。例如,所抽取的数据可视化脚本化代码可以指明所操纵的搜索结果数据的被请求的图形输出格式化或者其他输出格式,诸如圆形图表、直方图、或被操纵搜索结果的其他格式输出。进程1400可以识别制图库,其包括可视化输出功能,可用于生成所请求的可视化的可操纵的搜索结果。进程1400还选择制图库功能来生成所请求的可视化的可操纵的搜索结果,并且可以使用调用所选择的制图库功能的句法来生成可视化的可操纵的搜索结果。
在框1414处,响应于接收到管道化HTTP请求,进程1400返回可视化的可操纵的搜索结果,该请求包括嵌入脚本化代码,该代码指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理。可视化的可操纵的搜索结果的返回可以通过执行所接受到的嵌入的脚本化代码执行为管道化HTTP响应,以便统一管道化HTTP请求的处理和响应性。在框1416处,进程1400终止该单一执行线程,并且返回到决定点1402并重复如上所述。
因此,进程1400操作以接收和处理管道化HTTP请求。指明了所请求的数据搜索、搜索结果数据操纵、以及被操纵的搜索结果数据可视化处理的嵌入的脚本化代码由单一执行线程执行,该线程被创建来处理所述管道化HTTP请求。包括被操纵的搜索结果的可视化输出的管道化HTTP响应由单一执行线程来返回。因此,进程1400执行复杂数据搜索、数据操纵、以及被操纵的搜索结果的数据可视化,它们已经按照将被服务器执行以便执行所请求的操作的脚本化代码句法的规范在用户控制下被委托给服务器。
如上结合图8到图14所述,实例系统和处理提供了基于管道编程模型的分析。可能有与基于管道编程模型的分析相关联的多个其他变化形式和附加活动,并且所有这些都被认为在本主题的范围内。
V.定义
本发明:不应该当作由该术语“本发明”描述的主题由所提交的权利要求书或由在经过专利审查后最终所授予的权利要求书所覆盖的绝对表示;尽管该术语“本发明”被用于帮助读者获得对此处公开内容据称被认为是新的总体感觉,但是这种理解,如通过使用术语“本发明”所表示的那样,是假设和临时性的,并且随着相关信息的展开以及随着权利要求书潜在的修改受制于在专利审查过程中的变化。
实施例:参见上述“本发明”的定义——类似的提醒也适用于术语“实施例”
和/或:或;例如,A、B“和/或”C意味着A或B或C中至少一个是真的并且可适用。
用户/订阅者:包括,但不必然限于,以下内容:(i)单一个人、(ii)具有足够智慧能偶作为用户或订阅者的人工智慧实体。
电连接:意味着直接电连接或间接电连接,因此存在中间元件;在间接电连接中,中间元件可以包括感应器和/或变换器。
机械连接:包括直接机械连接和通过中间组件进行的间接机械连接;包括刚性机械连接以及容许机械连接的组件之间相对运动的机械连接;包括但不限于:焊接(welded)连接、焊(solder)连接、通过紧固件(例如、钉子、螺钉、螺杆、螺母、钩-环紧固件、扭结、铆钉、快释放连接、闩锁和/或磁性连接)的连接、压力配合连接、摩擦配合连接、通过由于重力导致的啮合保证的连接、枢轴或旋转连接、和/或可滑动的机械连接。
数据通讯:现在已知的或未来将开发的所有类型的数据通讯模式,包括:无线通讯、有线通讯以及具有无线和有线部分的通信路由;数据通讯并不必然限于:(i)直接数据通讯,(ii)间接数据通讯,和/或(iii)其中格式、打包状态、介质、加密状态和/或协议在数据通讯的整个过程保持恒定的数据通讯。
接收/提供/发送/输入/输出:除非另有清楚说明,这些单词都不应被认为隐含:(i)关于其主语和宾语之间的关系的任何特定程度的直接性;和/或(ii)缺少插入其主语和宾语之间的中间组件、动作和/或事物。
模块/子模块:硬件、固件和/或软件的任何器件,其操作性地工作以便进行某些类型的功能,不管该模块是否:(i)在单个位置近程内、(ii)分布在广阔的区域、(iii)在较大段的软件代码的单个近程内、(iv)位于单段的软件代码内、(v)位于单一存储设备、存储器或介质内、(vi)机械连接的、(vii)电连接的、和/或(viii)采用数据通讯连接的。
软件存储设备:能够以不比运送中信号更短暂的方式存储计算机代码的任何设备
有形介质软件存储设备:在有形介质内和/或上村粗和计算机代码的任何软件存储设备(参见以上定义)。
计算机:具有重大数据处理和/或机器可读指令读取能力的任何设备,包括但不限于:台式计算机、大型计算机、膝上计算机、基于现场可编程门阵列(FPGA)的设备、智能电话、个人数字助理(PDA)、安装或插入身体的计算机、嵌入式设备类型计算机、基于特定用途集成电路(ASIC)的设备。
Claims (12)
1.一种数据分析方法,包括:
在集合框架中由第一传感器收集第一机器数据;
在集合框架中由第一收集器处理第一机器数据以产生第一收集的机器数据;
对第一收集的机器数据执行分析以生成分析输出,包括响应于接收到管道化HTTP请求,HTTP请求/响应处理器通过创建处理该请求的线程来处理初始管道化HTTP请求,所创建的线程执行管道化HTTP请求中的脚本化代码所指明的数据搜索、数据操纵和数据可视化;以及
至少部分基于所述分析输出,调谐第一传感器和第一收集器中的至少一个。
2.根据权利要求1所述的数据分析方法,其中,
所述调谐对所述第一传感器进行调谐;
所述方法还包括:
由第一传感器在其调谐状态收集高级信息。
3.根据权利要求1所述的数据分析方法,其中,
所述调谐对所述第一收集器进行调谐;
所述方法还包括:
由第一收集器在其调谐状态处理高级信息。
4.根据权利要求1所述的数据分析方法,其中,
所述分析的执行实时地发生;以及
所述调谐实时地发生。
5.根据权利要求1所述的数据分析方法,其中,所述分析的执行通过管道分析利用单一线程请求/响应范式来执行。
6.根据权利要求1所述的数据分析方法,还包括:
确定报警条件;
其中
响应于所述报警条件,进行所述分析的执行。
7.一种数据分析系统,包括:
处理器集合;以及
软件存储器件;
其中
处理器集合被构造、布置、连接和/或编程,以便运行存储在所述软件存储器件上的软件;并且
所述软件包括:
第一程序指令,被编程为在集合框架中由第一传感器收集第一机器数据;
第二程序指令,被编程为在集合框架中由第一收集器处理第一机器数据以产生第一收集的机器数据;
第三程序指令,被编程为对第一收集的机器数据执行分析以生成分析输出,包括响应于接收到管道化HTTP请求,HTTP请求/响应处理器通过创建处理该请求的线程来处理初始管道化HTTP请求,所创建的线程执行管道化HTTP请求中的脚本化代码所指明的数据搜索、数据操纵和数据可视化;以及
第四程序指令,被编程为至少部分基于所述分析输出,调谐下述第一传感器和第一收集器中的至少一个。
8.根据权利要求7所述的数据分析系统,其中,
所述调谐对所述第一传感器进行调谐;
所述软件还包括:
第五程序指令,被编程为由第一传感器在其调谐状态收集高级信息。
9.根据权利要求7所述的数据分析系统,其中,
所述调谐对所述第一收集器进行调谐;
所述软件还包括:
第五程序指令,被编程为由第一收集器在其调谐状态处理高级信息。
10.根据权利要求7所述的数据分析系统,其中,
所述分析的执行实时地发生;以及
所述调谐实时地发生。
11.根据权利要求7所述的数据分析系统,其中,所述分析的执行通过管道分析利用单一线程请求/响应范式来执行。
12.根据权利要求7所述的数据分析系统,还包括:
第五程序指令,被编程为确定报警条件;
其中
响应于所述报警条件,进行所述分析的执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/038,918 US9507847B2 (en) | 2013-09-27 | 2013-09-27 | Automatic log sensor tuning |
US14/038,918 | 2013-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104516807A CN104516807A (zh) | 2015-04-15 |
CN104516807B true CN104516807B (zh) | 2018-03-20 |
Family
ID=52740962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410504908.6A Active CN104516807B (zh) | 2013-09-27 | 2014-09-26 | 自动日志传感器调谐 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9507847B2 (zh) |
CN (1) | CN104516807B (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US9507847B2 (en) | 2013-09-27 | 2016-11-29 | International Business Machines Corporation | Automatic log sensor tuning |
KR102126507B1 (ko) * | 2013-12-09 | 2020-06-24 | 삼성전자주식회사 | 센서 데이터 스트림을 처리하는 단말기, 시스템 및 방법 |
CN105450601B (zh) * | 2014-08-19 | 2019-05-07 | 华为技术有限公司 | 共享许可证的方法和装置 |
US20160078071A1 (en) * | 2014-09-11 | 2016-03-17 | Caterpillar Inc. | Large scale offline retrieval of machine operational information |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10089099B2 (en) | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
US10033766B2 (en) | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
JP6485747B2 (ja) * | 2015-07-07 | 2019-03-20 | パナソニックIpマネジメント株式会社 | 認証方法 |
CN105512297A (zh) * | 2015-12-10 | 2016-04-20 | 中国测绘科学研究院 | 一种基于分布式流式计算的空间数据处理方法与系统 |
US10579627B2 (en) * | 2016-01-08 | 2020-03-03 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10341377B1 (en) | 2016-10-13 | 2019-07-02 | Symantec Corporation | Systems and methods for categorizing security incidents |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
CN107291493A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种后台业务处理框架的搭建方法和系统 |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
CN108306934A (zh) * | 2017-12-28 | 2018-07-20 | 北京天元创新科技有限公司 | 一种跨服务器文件传输方法及系统 |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
JP6544669B1 (ja) | 2018-03-16 | 2019-07-17 | ディヴェロップメント センター フォー バイオテクノロジー | アルファエノラーゼに特異的な抗体及びその使用 |
JP7119630B2 (ja) * | 2018-06-20 | 2022-08-17 | 日本電信電話株式会社 | 情報処理装置、情報交換システム、情報処理方法および情報処理プログラム |
US10826801B1 (en) | 2019-07-31 | 2020-11-03 | Bank Of America Corporation | Multi-level data channel and inspection architectures |
US11115310B2 (en) | 2019-08-06 | 2021-09-07 | Bank Of America Corporation | Multi-level data channel and inspection architectures having data pipes in parallel connections |
US20220173994A1 (en) * | 2019-08-16 | 2022-06-02 | Hewlett-Packard Development Company, L.P. | Configuring operational analytics |
US11470046B2 (en) | 2019-08-26 | 2022-10-11 | Bank Of America Corporation | Multi-level data channel and inspection architecture including security-level-based filters for diverting network traffic |
US11636003B2 (en) | 2021-06-30 | 2023-04-25 | International Business Machines Corporation | Technology for logging levels and transaction log files |
US11782877B1 (en) | 2022-05-17 | 2023-10-10 | Bank Of America Corporation | Search technique for noisy logs and resulting user interfaces displaying log entries in ranked order of importance |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308214B1 (en) * | 1998-09-23 | 2001-10-23 | Inktomi Corporation | Self-tuning dataflow I/O core |
US7499453B2 (en) * | 2000-05-19 | 2009-03-03 | Cisco Technology, Inc. | Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system |
US7124440B2 (en) * | 2000-09-07 | 2006-10-17 | Mazu Networks, Inc. | Monitoring network traffic denial of service attacks |
US7043759B2 (en) * | 2000-09-07 | 2006-05-09 | Mazu Networks, Inc. | Architecture to thwart denial of service attacks |
US20020032871A1 (en) * | 2000-09-08 | 2002-03-14 | The Regents Of The University Of Michigan | Method and system for detecting, tracking and blocking denial of service attacks over a computer network |
US20020078382A1 (en) * | 2000-11-29 | 2002-06-20 | Ali Sheikh | Scalable system for monitoring network system and components and methodology therefore |
US7275102B2 (en) | 2001-01-22 | 2007-09-25 | Sun Microsystems, Inc. | Trust mechanisms for a peer-to-peer network computing platform |
US7120685B2 (en) * | 2001-06-26 | 2006-10-10 | International Business Machines Corporation | Method and apparatus for dynamic configurable logging of activities in a distributed computing system |
US20040225689A1 (en) | 2003-05-08 | 2004-11-11 | International Business Machines Corporation | Autonomic logging support |
US7840664B2 (en) * | 2003-05-21 | 2010-11-23 | Ixia | Automated characterization of network traffic |
US7228564B2 (en) * | 2003-07-24 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Method for configuring a network intrusion detection system |
US7250855B2 (en) * | 2004-12-27 | 2007-07-31 | Sap Aktiengesellschaft | False alarm mitigation using a sensor network |
US7689455B2 (en) | 2005-04-07 | 2010-03-30 | Olista Ltd. | Analyzing and detecting anomalies in data records using artificial intelligence |
US20060294221A1 (en) * | 2005-06-22 | 2006-12-28 | Sven Graupner | System for programmatically controlling measurements in monitoring sources |
US7653633B2 (en) | 2005-11-12 | 2010-01-26 | Logrhythm, Inc. | Log collection, structuring and processing |
US8170856B2 (en) * | 2006-04-12 | 2012-05-01 | Power Analytics Corporation | Systems and methods for real-time advanced visualization for predicting the health, reliability and performance of an electrical power system |
US7251584B1 (en) | 2006-03-14 | 2007-07-31 | International Business Machines Corporation | Incremental detection and visualization of problem patterns and symptoms based monitored events |
JP2007300572A (ja) * | 2006-05-08 | 2007-11-15 | Hitachi Ltd | センサネットシステム、センサネット位置特定方法 |
US20080065705A1 (en) * | 2006-09-12 | 2008-03-13 | Fisher-Rosemount Systems, Inc. | Process Data Collection for Process Plant Diagnostics Development |
US20080082345A1 (en) * | 2006-09-29 | 2008-04-03 | Caterpillar Inc. | System and method for evaluating risks associated with delaying machine maintenance |
US7779094B2 (en) | 2007-08-21 | 2010-08-17 | Juniper Networks, Inc. | Event problem report bundles in XML format |
US8509100B2 (en) * | 2008-02-15 | 2013-08-13 | Carrier Iq | User-initiated reporting of mobile communication system errors |
US8086596B2 (en) | 2008-05-15 | 2011-12-27 | International Business Machines Corporation | Healthcheck of information technology infrastructure based on log data |
US8472328B2 (en) * | 2008-07-31 | 2013-06-25 | Riverbed Technology, Inc. | Impact scoring and reducing false positives |
US7911975B2 (en) * | 2008-08-26 | 2011-03-22 | International Business Machines Corporation | System and method for network flow traffic rate encoding |
CA2673135C (en) * | 2009-07-17 | 2017-01-17 | Anomalous Networks, Inc. | Determining usage predictions and detecting anomalous user activity through traffic patterns |
US8204861B2 (en) | 2009-08-07 | 2012-06-19 | Oracle International Corporation | Event driven audit logging |
US8768313B2 (en) | 2009-08-17 | 2014-07-01 | Digimarc Corporation | Methods and systems for image or audio recognition processing |
US9081501B2 (en) | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US9081888B2 (en) | 2010-03-31 | 2015-07-14 | Cloudera, Inc. | Collecting and aggregating log data with fault tolerance |
US8621285B2 (en) * | 2010-06-29 | 2013-12-31 | Oracle International Corporation | Request based logging |
CN102314561B (zh) * | 2010-07-01 | 2014-07-23 | 电子科技大学 | 基于api hook的恶意代码自动分析方法和系统 |
US8610766B2 (en) * | 2010-09-24 | 2013-12-17 | International Business Machines Corporation | Activity determination as function of transaction log |
US8538907B2 (en) * | 2010-11-08 | 2013-09-17 | International Business Machines Corporation | Autonomous intelligent content items |
WO2012072363A1 (en) * | 2010-11-30 | 2012-06-07 | International Business Machines Corporation | A method computer program and system to optimize memory management of an application running on a virtual machine |
US20120331038A1 (en) * | 2011-06-23 | 2012-12-27 | Lin Yang | Systems and methods for processing web service piped network requests |
US8732530B2 (en) | 2011-09-30 | 2014-05-20 | Yokogawa Electric Corporation | System and method for self-diagnosis and error reporting |
WO2014025344A2 (en) * | 2012-08-08 | 2014-02-13 | Empire Technology Development, Llc | Real-time compressive data collection for cloud monitoring |
EP3441896B1 (en) * | 2012-09-14 | 2021-04-21 | InteraXon Inc. | Systems and methods for collecting, analyzing, and sharing bio-signal and non-bio-signal data |
CN102981943B (zh) * | 2012-10-29 | 2016-05-11 | 新浪技术(中国)有限公司 | 监控应用日志的方法及系统 |
US9342438B2 (en) * | 2013-03-15 | 2016-05-17 | Yahoo! Inc. | Method and system for data-triggered dynamic log level control |
US9507847B2 (en) | 2013-09-27 | 2016-11-29 | International Business Machines Corporation | Automatic log sensor tuning |
-
2013
- 2013-09-27 US US14/038,918 patent/US9507847B2/en active Active
-
2014
- 2014-06-18 US US14/307,752 patent/US9449072B2/en active Active
- 2014-09-26 CN CN201410504908.6A patent/CN104516807B/zh active Active
-
2016
- 2016-07-18 US US15/212,598 patent/US10169443B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160330068A1 (en) | 2016-11-10 |
US20150095332A1 (en) | 2015-04-02 |
CN104516807A (zh) | 2015-04-15 |
US10169443B2 (en) | 2019-01-01 |
US9507847B2 (en) | 2016-11-29 |
US9449072B2 (en) | 2016-09-20 |
US20150094990A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104516807B (zh) | 自动日志传感器调谐 | |
US11886464B1 (en) | Triage model in service monitoring system | |
US11379508B1 (en) | User interface with automated condensation | |
US7864037B2 (en) | Pattern-driven communication architecture | |
CN104461842B (zh) | 基于日志相似性来处理故障的方法和装置 | |
CN106953740B (zh) | 应用中页面访问数据的处理方法、客户端、服务器及系统 | |
US20220232040A1 (en) | Advanced cybersecurity threat mitigation using software supply chain analysis | |
US7840515B2 (en) | System architecture and process for automating intelligent surveillance center operations | |
US11250069B1 (en) | Related content identification for different types of machine-generated data | |
US8086547B2 (en) | Data pattern generation, modification and management utilizing a semantic network-based graphical interface | |
KR20190075972A (ko) | 로그 파일들로부터 프로세스 흐름들을 식별하고 흐름을 시각화하기 위한 시스템들 및 방법들 | |
CN108039959A (zh) | 一种数据的态势感知方法、系统及相关装置 | |
JP2018117338A (ja) | ライブ・ビデオ・フィードにおける自動的なオブジェクトおよびアクティビティの追跡 | |
Elsayed et al. | PredictDeep: security analytics as a service for anomaly detection and prediction | |
CN110162445A (zh) | 基于主机日志及性能指标的主机健康评价方法及装置 | |
CN107370806A (zh) | Http状态码监控方法、装置、存储介质和电子设备 | |
CN113642023A (zh) | 数据安全检测模型训练、数据安全检测方法、装置及设备 | |
WO2021072742A1 (en) | Assessing an impact of an upgrade to computer software | |
WO2022225581A1 (en) | System and method of situation awareness in industrial control systems | |
CN107133020A (zh) | 一种数据处理方法、系统、接口端及服务器 | |
US11055631B2 (en) | Automated meta parameter search for invariant based anomaly detectors in log analytics | |
CN116662989A (zh) | 一种安全数据解析方法及系统 | |
Soldatos et al. | Cyber-physical threat intelligence for critical infrastructures security: a guide to integrated cyber-physical protection of modern critical infrastructures | |
US20140123126A1 (en) | Automatic topology extraction and plotting with correlation to real time analytic data | |
Elshoush | An innovative framework for collaborative intrusion alert correlation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |