CN112564984A - 基于大数据的物联网的分布式安全运维的方法 - Google Patents
基于大数据的物联网的分布式安全运维的方法 Download PDFInfo
- Publication number
- CN112564984A CN112564984A CN202011547419.0A CN202011547419A CN112564984A CN 112564984 A CN112564984 A CN 112564984A CN 202011547419 A CN202011547419 A CN 202011547419A CN 112564984 A CN112564984 A CN 112564984A
- Authority
- CN
- China
- Prior art keywords
- data
- internet
- things
- maintenance
- local
- 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.)
- Pending
Links
Images
Classifications
-
- 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/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- 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/23—Updating
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
Abstract
本发明公开了基于大数据的物联网的分布式安全运维的方法,其特征在于,采用区块链技术,结合本地机器学习和全局机器学习;所述方法,还包括如下步骤:物联网设备生成含有时间戳字段的事件;从含有时间戳字段的事件中提取训练数据;通过网络将训练数据发送到服务器;接收服务器生成的模型数据;基于接收到的模型数据更新物联网设备的本地运维模型;并通过使用更新的本地运维模型处理物联网设备的本地源数据来生成输出。通过本发明,可以改进和增强物联网设备的性能、功能和安全。
Description
技术领域
本发明涉及分布式架构、物联网、网络安全、大数据的技术领域,尤其涉及到基于大数据的物联网的分布式安全运维的方法。
背景技术
目前,在世界范围内,物联网(Internet-of-Things)几乎涉及到人们日常生活的所有领域。根据Gartner报导,随着5G的商用,到2020年以后,将有成百上千亿的物联网设备部署。事实上,人们正逐渐为他们的家庭配备物联网设备,例如,智能家居等。在工厂环境中,机器人和其它智能设备的协作提高了工厂自动化的效率和水平。物联网不仅仅限于此,而且还被广泛应用在许多其它领域,例如,智慧交通等。
已有的物联网安全运维的解决方案,通常是采用集中式的架构,例如,公钥基础设施(PKI Public Key Infrastructure),在由成千上万个节点组成的环境中,往往物联网会产生海量数据,这会导致巨大的可扩展性问题。另外,还有一些已有的技术,为了减少可能生成的物联网安全运维数据的数量,预处理物联网生成的数据,例如,可以从物联网数据中提取指定的数据字段并存储在数据库中,以便于以后高效地检索和分析这些数据字段。未被提取的物联网数据,通常不会保存,并在预处理期间被丢弃掉。然而,随着存储设备越来越便宜、存储容量越来越大,存储大量经过最少处理或未经处理的原始运维数据”供日后检索和分析变得越来越可行。一般来说,存储原始运维数据并在以后对该数据执行分析可以提供更大的灵活性,因为它使分析人员能够分析所有生成的物联网数据,而不仅仅是其中的一小部分。例如,这可能使分析人员能够调查以前无法分析的物联网数据,因为以前大量物联网数据被丢弃。然而,虽然为物联网数据的存储和分析提供了机会,但也带来了进一步的技术挑战。
采用机器学习的大数据技术来分析物联网数据,可以提升物联网的功能和增强它的安全运维管理水平,例如,照相机设备可以学习检测特定对象并在检测到时捕捉这些对象的图像;当照相机设备处理更多的物体图像时,机器学习的大数据技术可以提高识别相似物体的能力。然而,机器学习往往是计算密集型的,这可能超过目前物联网设备自身的能力,因为这些物联网设备只有有限的存储和计算能力。此外,物联网设备的本地的机器学习在上下文中受到限制,没有全局意识。
发明内容
为了解决上述技术问题,本发明提供了基于大数据的物联网的分布式安全运维的方法。
基于大数据的物联网的分布式安全运维的方法,其特征在于,采用区块链技术,结合本地机器学习和全局机器学习;所述方法,还包括如下步骤:
物联网设备生成含有时间戳字段的事件;
从含有时间戳字段的事件中提取训练数据;
通过网络将训练数据发送到服务器;
接收服务器生成的模型数据;
基于接收到的模型数据更新物联网设备的本地运维模型;
并通过使用更新的本地运维模型处理物联网设备的本地源数据来生成输出;
进一步地,所述生成输出,基于所生成的输出改变物联网设备的安全运维操作和修改物联网设备的设置;
进一步地,所述提取训练数据,从含有时间戳事件中提取多个数据字段和从多个时间戳事件中提取训练数据;
进一步地,所述多个时间戳事件,多个按照时间进行索引的事件和由物联网设备的传感器输出的多个原始运维数据字段;
进一步地,所述方法,还包括:在从多个时间戳事件中提取训练数据之前:
索引多个时间戳事件以生成多个时间索引事件;
在索引多个时间戳事件时从多个时间索引事件中提取多个数据字段,其中训练数据包括多个数据字段;
进一步地,所述方法,还包括,在从多个时间戳事件中提取训练数据之前:
索引多个时间戳事件以生成多个时间戳事件;
在索引多个时间戳事件之后从多个时间戳事件中提取多个数据字段,其中训练数据包括多个数据字段;
进一步地,所述方法,还包括:通过在物联网设备上执行本地机器学习来更新物联网设备的本地运维模型;
进一步地,所述方法,还包括:物联网设备和服务器断链时,则通过在物联网设备上执行本地机器学习来更新本地运维模型;
进一步地,所述方法,还包括:通过在物联网设备与服务器通信断开的同时执行本地机器学习来更新物联网设备的本地运维模型;
进一步地,所述方法,还包括:
通过在物联网设备上本地执行另一机器学习来更新物联网设备的本地运维模型;
以及基于更新的本地运维模型生成另一输出;
进一步地,所述方法,还包括:
通过在所述物联网设备本地执行另一机器学习来更新所述物联网设备的本地运维模型;
基于所述更新的本地运维模型生成另一输出;
以及基于所述另一输出执行本地动作;
进一步地,所述将训练数据发送到服务器,包括:
在物联网设备和服务器之间建立机器到机器(M2M)的通信链路;
以及通过M2M通信链路将训练数据发送到服务器。
进一步地,所述更新的本地运维模型,包括如下步骤:
用新的本地运维模型替换原本地运维模型;
变更本地运维模型;
从本地运维模型中移除数据;
进一步地,所述接收服务器生成的模型数据,基于从多个物联网设备收集的训练数据;
进一步地,所述方法,还包括:基于所述输出数据执行本地动作以改变所述物联网装置;
进一步地,所述模型数据,来自原始运维数据或来自由包括所述物联网设备在内的多个物联网设备生成的原始运维数据的数据。
本发明的技术效果在于:
在本发明中,提供了基于大数据的物联网的分布式安全运维的方法,其特征在于,采用区块链技术,结合本地机器学习和全局机器学习;所述方法,还包括步骤:物联网设备生成含有时间戳字段的事件;从含有时间戳字段的事件中提取训练数据;通过网络将训练数据发送到服务器;接收服务器生成的模型数据;基于接收到的模型数据更新物联网设备的本地运维模型;并通过使用更新的本地运维模型处理物联网设备的本地源数据来生成输出。通过本发明,可以改进和增强物联网设备的性能、功能和安全。
附图说明
图1是基于大数据的物联网的分布式安全运维的方法的框架示意图;
图2是基于大数据的物联网的分布式安全运维的方法的原始物联网数据的事件序列示意图;
图3是基于大数据的物联网的分布式安全运维的方法的数据接收和查询模块的示意图;
图4是基于大数据的物联网的分布式安全运维的方法的数据接收和查询模块的流程示意图;
图5是基于大数据的物联网的分布式安全运维的方法的搜索头和局域管理模块搜索查询的流程示意图;
图6是基于大数据的物联网的分布式安全运维的方法的物联网设备连接到服务器的组件示意图;
图7是基于大数据的物联网的分布式安全运维的方法的示意图;
图8是基于大数据的物联网的分布式安全运维的方法的绑定示意图;
图9是基于大数据的物联网的分布式安全运维的方法的本地机器学习的示意图;
图10是基于大数据的物联网的分布式安全运维的方法的物联网侧流程示意图;
图11是基于大数据的物联网的分布式安全运维的方法的服务器侧运维流程图;
图12是基于大数据的物联网的分布式安全运维的方法的服务器硬件组件示意图。
具体实施方式
下面是根据附图和实例对本发明的进一步详细说明:
图1是基于大数据的物联网的分布式安全运维的方法的框架示意图,采用区块链技术,结合本地机器学习和全局机器学习。物联网设备可以基于对物联网设备的输入来索引和存储本地生成的数据。物联网设备可以使用本地模型生成的数据以执行本地操作。每个物联网设备的本地模型可以根据在所有物联网设备上全局实现的机器学习来更新。
图1的系统100包括网络/区块链网络114、物联网设备112-1、物联网设备112-2和服务器(或远程服务器,下文统一简称“服务器”)111。物联网设备可以通过网络或区块链网络连接到服务器上。物联网设备可以是无人机、自动驾驶汽车等,当无人机或自动驾驶汽车在无线网络的范围内时,它们通过所述网络连接到服务器。
至少一些物联网设备只能与网络/区块链网络114间歇性地连接。如图1所示,例如,物联网设备112-1从网络/区块链网络114断开,而物联网设备112-2连接到网络/区块链网络114。物联网设备112可以生成物联网设备运维数据并通过网络/区块链网络114将物联网设备运维数据提供给服务器111。在一些实施例中,物联网设备112可以自主或半自主地操作以执行指定的任务。在一些实施例中,物联网设备112可以在用户的控制下操作以执行任务。
每一个物联网设备112可以根据其设计的功能,基于各自物联网设备112接收到的输入本地生成物联网运维数据。例如,包括照相机的无人机可以捕获对象的图像以生成图像数据。物联网设备112可以处理物联网运维数据、执行来自服务器111的请求以及执行许多其它计算任务。例如,无人机可以使用本地运维模型处理物联网运维数据,以识别捕获图像中的对象。在运维操作期间,物联网设备112可能生成大量的物联网运维数据。
随着包括在网络/区块链网络114中的物联网设备的数量的增加,物联网设备112生成的物联网运维数据量可以以非常高的速率增长。物联网数据的示例可以包括传感器数据或从物联网设备112的输入生成的其它安全运维数据,物联网设备112可以从这些数据执行本地控制动作。例如,物联网数据可以包括由物联网装置112的传感器获得的温度输入或其它参数。物联网数据的其它示例可以包括应用程序数据、系统日志、网络数据包数据、错误日志、堆栈跟踪和性能数据。物联网数据还可以包括诊断信息、配置、工业过程控制设置、执行器命令和其他物理输出命令,以及许多其它类型的数据,这些数据可以被分析以执行本地控制操作、诊断性能问题、预测故障的发生时间、监视交互和获得其他见解。
有许多工具可用于分析物联网数据。物联网设备112和/或服务器111可以使用这些工具来分析物联网数据。例如,当通过网络/区块链网络114连接时,物联网数据可以通过网络/区块链网络114从物联网设备112传送到服务器111。因此,服务器111可以分析由物联网设备112生成的物联网数据。当通过网络/区块链网络114返回时,物联网设备112可以基于所分析的数据执行动作。在一些情况下,安装在网络/区块链网络上的服务器111可以基于在一个或多个物联网设备112和/或服务器111上执行的分析来指示物联网设备112执行动作。
在所示实施例中,物联网设备112包括本地机器学习模型(以下简称“本地运维模型”)118。一般来说,机器学习涉及一种算法,该算法可以学习并对数据进行预测、分类和/或识别等,而不是遵循一组静态的程序指令。这种算法通过从数据(例如,本地运维模型118)构建模型来运行。例如,机器学习算法可以通过从物联网数据构建本地运维模型118来操作。特别地,可以从物联网数据训练本地模型118以改进表示为输出的数据驱动预测。
在物联网安全运维领域,机器学习是一种用来设计复杂模型和大数据算法的方法,这些模型和算法有助于预测。这些大数据分析模型允许产生可靠的、可重复的决策和结果,并且可以通过从历史关系和数据趋势中学习发现隐藏的见解。常用的机器学习算法通常涉及有监督或无监督学习。在有监督学习中,计算机被呈现出示例输入和期望输出,其目标是学习将输入映射到输出的规则。无监督学习使得学习算法在不标记输入或输出的情况下找到输入中的结构。学习算法可以不断地从新的输入(例如,训练数据)中学习以改进预测。本领域技术人员已知的机器学习过程的各种类型和变化可以在公开的实施例中实现,因此,为了简洁起见,这里不讨论这些类型和变化。
由于物联网设备112的计算和/或存储器资源有限,仅在物联网设备112处实现机器学习可能是不可行的。解决方案可以包括在服务器111上实现机器学习算法,该服务器111可以收集并使用由物联网设备112生成的物联网数据来远程训练其各自的本地运维模型118。例如,机器学习算法120可以通过将物联网设备112生成的物联网数据与服务器111的机器学习算法120生成的模型数据交换来实时或近实时地更新本地模型118。在一些实施例中,可以动态地改变机器学习算法120,这将改变由机器学习算法120计算的相应模型。结果,物联网设备112可以从其物联网数据(在服务器111的帮助下)学习以改进其各自的本地模型118,以作出用于执行本地动作的更好的预测。
然而,实时实现该过程可能是不可行的,因为交换物联网数据和模型数据所需的往返延迟时间会损害及时在物联网设备处采取行动的能力。此外,通过网络/区块链网络114传送大量物联网数据可能不实际。此外,如上所述,至少一些物联网设备112可以仅从网络/区块链网络114间歇性地连接。结果,如果物联网设备112依赖服务器111实时地执行本地动作,则物联网设备112在与网络/区块链网络114断开连接时将不能正常工作。
即使物联网设备112具有无限的资源,但是仅在物联网设备112上实现机器学习可能会损害一些物联网设备112的性能而不是提高它们的性能。解决方案可以包括通过网络/区块链网络114互连物联网设备112以共享物联网数据。然而,该解决方案可能不可行,因为网络/区块链网络114可以具有有限的资源,从而削弱共享大量物联网数据的能力。即使网络/区块链网络114有无限的资源,将所有物联网设备生成数据分布在所有物联网设备之间,以在每个物联网设备上独立地实现机器学习处理,也会产生不期望的网络流量来执行冗余处理。
为了克服上述缺点,本申请采用在网络/区块链网络114上的服务器111的全局运维模型122。全局运维模型122可以利用从物联网设备112收集的物联网数据间歇性地训练。模型数据可以基于全局运维模型122生成,并且随后可以提供给物联网设备112以更新其本地运维模型118。例如,服务器111可以基于所有物联网设备112生成的物联网数据来训练全局运维模型122,并将全局运维模型122的实例、全局运维模型122的一部分或与全局运维模型122相关的信息推送到每个物联网设备112上。模型数据可用于用更新的全局运维模型122替换每个本地模型118或更新每个本地模型118。下面将更详细地描述此过程。
为了减少由用于训练本地或全局运维模型和/或由每个物联网设备112分析以执行本地动作的物联网设备生成的大量原始运维数据,可以使用工具基于预期的数据分析需要预处理原始运维数据。例如,可以使用在运维操作之前指定的数据项(“预定数据项”)对物联网数据进行预处理,这些数据项可以从原始运维数据中提取并存储,以便于在搜索时最终检索和分析这些数据项。在一些实施例中,在预处理期间不保存和丢弃剩余的原始运维数据。丢弃大量原始运维数据可能是不可取的,因为有价值的见解可能会丢失。
随着存储设备越来越便宜,丢弃原始运维数据的动机越来越少,保留更多原始运维数据的理由也越来越多。目前,较低成本的存储使得存储大量经过最少处理或未经处理的数据(“原始运维数据”)以供日后检索和分析成为可能。一般来说,存储原始运维数据并在搜索时执行分析操作可以提供更大的灵活性,因为它能够搜索所有原始运维数据,而不是只搜索其中的一小部分。这可以使得能够在常规预定数据项之外调查原始运维数据的不同方面。因此,所公开的实施例允许搜索先前不可用于分析的数据。
然而,分析和搜索大量的原始运维数据提出了许多挑战。例如,物联网设备可以从数千个不同的组件中生成许多不同类型和格式的物联网数据(例如,传感器数据、系统日志、网络分组数据(例如,有线数据)、应用程序数据、错误日志、堆栈跟踪、系统性能数据、操作系统数据和虚拟化数据),这些数据可以统一地分析起来很费时。在另一示例中,物联网设备可以生成与数据访问、应用程序性能、操作系统性能和网络性能有关的大量信息。可以有数以千万计的物联网设备报告这些类型的信息。
这些挑战可以通过使用基于事件的数据获取和查询系统来解决,例如南京联成科技发展股份有限公司开发的安思易集中管控系统,是提供实时操作智能的领先平台,使企业能够收集、索引,并搜索从各种来源(如网站、应用程序、服务器、网络和物联网设备)收集的原始运维数据。安思易集中管控系统特别适用于分析来自各种数据输入源的数据,包括传感器数据、系统日志文件中的数据和网络数据。尽管本申请描述的许多技术是参照与安思易集中管控系统类似的数据接收和查询模块124来解释的,但是这些技术也适用于其它类型的安全运维系统。
在安思易集中管控系统中,原始运维数据作为结构化和非结构化“事件”被收集和存储。例如,图2是示出根据实施例的包括原始物联网运维数据的事件序列的框图。事件包括一部分原始运维数据,并与特定时间点相关联。例如,事件可以从“时间序列数据”中导出,其中时间序列数据包括与连续时间点相关联的数据点序列(例如,来自计算机系统的性能测量)。如图所示,每个事件1到K可以与时间戳1到K相关联,时间戳1到K可以从各个事件中的原始运维数据导出,通过在具有已知时间戳的时间近似事件之间的插值来确定,或者基于用于将时间戳与事件相关联的其它可配置规则来确定。
在某些情况下,原始运维数据可以具有预定义的格式,其中具有特定数据格式的数据项存储在数据中的预定义位置。例如,原始运维数据可以包括存储为字段的数据。在其他情况下,原始运维数据可能没有预定义的格式;也就是说,数据不在固定的预定义位置,但数据确实具有可重复的模式,并且不是随机的。这意味着一些原始运维数据可以包含不同数据类型的各种数据项,这些数据项可以存储在原始运维数据中的不同位置。如图2所示,例如,每个事件1到K包括从原始运维数据的第一行的分号之后开始的长度为9个字符的字段。在某些实施例中,可以查询这些字段以提取其内容。
除了物联网设备之外,计算环境中可生成可从中导出事件的原始运维数据的组件的示例包括但不限于web服务器、应用服务器、数据库、防火墙、路由器、操作系统和在计算机系统上执行的软件应用程序。这些数据源生成的数据可以包括(例如但不限于)服务器日志文件、活动日志文件、配置文件、消息、网络分组数据、性能测量和传感器测量。
安思易集中管控系统使用灵活的模式来指定如何从事件数据中提取信息。根据需要,可以开发和重新定义灵活的模式。注意,当需要时(例如,在搜索时间、索引时间和接收时间),灵活的模式可以应用于“动态”事件数据。当架构在原始运维数据被索引之前或在搜索时不应用于事件数据时,它可以被称为“延迟绑定架构”。
在运行期间,安思易集中管控系统从原始运维数据(例如,一个或多个系统日志、网络数据包流、传感器数据、应用程序数据、错误日志、堆栈跟踪或系统性能数据)开始。系统将该原始运维数据划分为由时间段(例如,原始数据块,每一块都与特定的时间帧相关联)描述的原始运维数据段。原始运维数据的段被索引为时间戳事件,对应于它们各自的时间段,如图2所示。系统将时间戳事件存储在数据存储中。
然后,系统允许对存储的数据进行查询,例如,检索满足查询中指定条件的事件,例如包含某些关键字或在定义的字段中具有特定值。如本申请通篇所用,作为事件的数据被称为“事件数据”。在本申请中,术语“字段”指事件数据中包含特定数据项的一个或多个值的位置。如下文将更详细地描述的,字段由提取规则(例如,正则表达式或脚本)定义,该规则在每个事件中从原始运维数据的一部分派生出一个或多个值,该事件具有由提取规则指定的特定字段。这样产生的值集在语义上是相关的(例如IP地址),即使每个事件中的原始运维数据可能采用不同的格式(例如,语义上相关的值在从不同源派生的事件中可能处于不同的位置)。
如上所述,安思易集中管控系统可以在对事件执行查询时对事件数据使用延迟绑定模式。延迟绑定模式的一个方面是对事件数据应用“提取规则”,以便在搜索期间提取特定字段的值。更具体地说,字段的提取规则可以包括一个或多个指令,这些指令指定如何从事件数据中提取字段的值。提取规则通常可以包括用于从事件中的数据提取值的任何类型的指令。在某些情况下,提取规则包含一个正则表达式,其中字符序列形成一个搜索模式,在这种情况下,该规则称为“正则表达式规则”。系统将正则表达式规则应用于事件数据,通过在正则表达式规则中定义的搜索事件数据中的字符序列来提取事件数据中关联字段的值。
在安思易集中管控系统中,可以配置字段提取器,以便在创建、索引或存储事件时,或可能在以后的时间,自动为事件中的某些字段值生成提取规则。或者,用户可以使用各种技术手动定义字段的提取规则。与数据库系统的传统模式不同,延迟绑定模式在数据接收时(即,在原始运维数据被索引以便存储时或之前)没有定义。相反,可以持续开发延迟绑定模式,直到实际执行查询为止(这可能是在为原始运维数据编制索引之后很长时间)。因此,查询中字段的提取规则可以在查询本身中提供,也可以在查询执行期间定位。
因此,当用户进一步了解事件中的原始运维数据时,用户可以通过添加新字段、删除字段或修改字段提取规则来继续优化延迟绑定架构,以便下次系统应用架构时使用。由于安思易集中管控系统维护底层原始运维数据,并可以使用延迟绑定模式搜索原始运维数据,因此用户可以继续调查并了解有关原始运维数据的有价值见解。与此相反,数据库系统中的传统过程丢弃未编入索引的原始运维数据作为预定数据项。结果,传统数据库系统的用户仅限于搜索预定的数据项。
在一些实施例中,公共字段名可用于引用包含等效数据项的两个或多个字段,即使这些字段可与可能具有不同数据格式和不同提取规则的不同类型的事件相关联。通过使用公共字段名从不同数据源生成的不同类型事件中标识等效字段,系统有助于跨不同数据源使用“公共信息模型”(CIM Common Information Model)。
在一些实施例中,所公开的实施例使用的原始运维数据可以存储为按时间戳索引但也与预定数据项相关联的事件。这种结构本质上是对传统数据库系统的一种修改,后者需要预先确定数据项以供后续搜索。这些系统可以被修改以保留剩余的原始运维数据,以便随后对其它预定数据项进行重新处理。
具体地说,原始运维数据可以被划分成段并由时间戳索引。预定的数据项可以与由时间戳索引的事件相关联。在搜索期间,事件只能搜索预定的数据项,但是剩余的原始运维数据可用于随后的重新处理和重新索引以搜索其他数据项。换言之,可以稍后重新处理事件以重新索引原始运维数据,以生成具有新的预定数据项的事件。
回到图1,服务器111和物联网设备112是包括在网络/区块链网络114中的计算设备的示例。网络/网络/区块链网络114大体上代表网络/对等网络P2P。
网络/区块链网络中的计算设备包括被配置成实现本申请所述的各种逻辑组件的硬件和软件的任意组合。例如,计算设备可以包括一个或多个存储器,其存储用于实现本申请描述的各种组件的指令,一个或多个硬件处理器被配置为执行存储在一个或多个存储器中的指令,以及一个或多个存储器中的各种数据存储库,用于存储由各种组件使用和操作的数据结构。
服务器111包括数据接收和查询系统124。数据接收和查询系统124可以仅部署在服务器111上,或者数据接收和查询系统124的组件还可以分布在服务器111和物联网设备112(由124-1、124-2和124-3共同部署)上。在一些实施例中,服务器111和物联网设备112中的任何一个或每一个可以包括其自己的数据接收和查询系统124。下面进一步描述数据接收和查询系统124的配置和操作的示例。
上面讨论的物联网设备可以在用户的控制下操作。例如,图1示出了能够与系统100的组件(例如物联网设备112或服务器111)通信以通过网络/区块链网络114接收或交换信息的物联网设备112。例如,物联网设备112和网络/区块链114的组件之间的通信可以包括发送各种请求和接收数据分组。
在一个示例中,物联网设备或在物联网设备上运行的应用可以启动与在物联网设备112或服务器111上运行的应用的通信以请求特定内容(例如,物联网数据),并且物联网设备112或服务器111的应用可以用存储在一个或多个数据分组中的所请求的内容作出响应。因此,系统100的组件还可以被称为“主机设备”的更广泛的计算设备类别,它们可以彼此托管。
数据接收和查询系统124可以类似于或包括上文所述的安思易集中管控系统的组件,以从原始运维数据创建事件,以改进对此类数据的存储和分析。例如,图3是示出根据实施例的数据接收和查询系统124的组件的框图。数据接收和查询系统124包括从各种输入数据源320接收数据的一个或多个采集模块330,以及在一个或多个数据存储器380中处理和存储数据的一个或多个局域管理350。采集模块330和局域管理350可以包括在单个计算系统中,或者可以可选地包括在多个计算机系统上执行的单独处理。例如,采集模块330可以位于物联网设备112,而局域管理350可以位于服务器111。
每个数据源320大体上表示可由数据接收和查询系统124使用的不同数据源。数据源320的示例包括由物联网设备112的传感器生成的数据。数据源320的其他示例包括但不限于数据文件、文件目录、事件日志和注册表,或通过网络/区块链网络114发送的任何数据。
在安全运维操作期间,采集模块330可以识别哪些局域管理350应当接收从数据源320收集的数据,并将数据转发到适当的局域管理350。采集模块330还可以在转发之前对数据执行预处理操作,包括移除无关数据、检测数据中的时间戳、解析数据、索引数据、基于与所路由的数据相关的准则路由数据和/或执行其他数据转换。
在一个实施例中,采集模块330可以包括可通过网络/区块链网络114访问物联网设备112和/或服务器111的服务。例如,一种采集模块可以位于物联网设备112,并且能够消费由物联网设备112生成的大量实时数据,然后将生成的数据转发到服务器111。在一些实施例中,一种采集模块330可以位于服务器111处,并且能够接收来自潜在的大量物联网设备112的大量数据。因此,采集模块可以例如包括实现多个数据管道或“队列”以处理向局域管理350的数据转发的计算设备。
采集模块330还可以执行由局域管理350执行的许多功能。例如,采集模块330可以对原始运维数据执行关键字提取或解析原始运维数据以创建事件。采集模块330可以为事件生成时间戳。另外或可选地,采集模块330可以执行到局域管理350的事件路由。数据存储器380可以包含从各种数据源320获得的原始运维数据派生的事件,这些原始运维数据可以由物联网设备112生成。最后,搜索头390可以对存储在数据存储器380中的数据执行搜索查询。
图4是示出根据实施例的数据接收和查询系统124执行的处理的流程图。所示数据流仅用于说明目的,本领域技术人员将理解,可以移除过程的一个或多个步骤,或者可以改变步骤的顺序。此外,为了说明清楚的示例,在每个数据流阶段期间执行各种操作的上下文中描述一个或多个特定的系统组件。例如,采集模块被描述为在输入阶段接收和处理数据;局域管理被描述为在解析和索引阶段解析和索引数据;搜索头被描述为在搜索阶段执行搜索查询。然而,可以使用跨系统组件的其它系统安排和处理步骤的分布。
在步骤402中,采集模块接收由输入源(例如图3所示的数据源320)生成的原始运维数据。例如,采集模块可以接收在物联网设备处生成的原始传感器数据流。在一个实施例中,采集模块接收原始运维数据并将数据流分割成“块”(可能具有统一的数据大小),以便于后续处理。
在步骤404中,采集模块可以用一个或多个元数据字段注释每个原始运维数据段。这些元数据字段可以提供与整个数据段相关的信息,并且可以应用于随后从数据段中的原始运维数据导出的每个事件。例如,元数据字段可以包括指定主机、源和与数据段相关的源类型中的每一个的单独字段。
主机字段可以包含一个值,该值标识生成原始运维数据的物联网设备的主机名或IP地址。源字段可以包含标识原始运维数据源的值,例如文件的路径名或与接收的网络数据相关的协议和端口。源类型字段可以包含指定数据的特定源类型标签的值。在输入阶段,还可以包括额外的元数据字段,例如原始运维数据源IP、原始运维数据的字符编码(如果已知),以及可能提供与以后的处理步骤相关的信息的其它值。在一个实施例中,采集模块将带注释的数据段转发到另一个系统组件(通常是局域管理)以进行进一步处理。
安思易集中管控系统允许将数据从一个安思易集中管控系统转发到另一个,甚至可以转发到第三方系统。安思易集中管控系统可以在配置中使用不同类型的采集模块。在一个实施例中,采集模块可以包含转发数据所需的基本组件。它可以从各种输入中收集数据,并将数据转发到安思易集中管控系统服务器进行索引和搜索。它还可以标记元数据(例如,源IP、源端口、源类型和主机)。
在实施例中,采集模块具有上述采集模块的能力以及附加能力。采集模块可以在转发数据之前解析和索引数据(例如,将时间戳与部分数据关联并创建事件),并且可以基于条件(例如事件的源或类型)路由数据。它还可以在将本地索引数据转发到另一个局域管理。
在步骤406,局域管理从采集模块接收数据段并解析数据以将数据组织成事件。在一个实施例中,为了将数据组织成事件,局域管理可以确定与每个数据段相关联的源类型(例如,通过从与数据块相关联的元数据字段中提取源类型标签),并参考与所识别的源类型相对应的源类型配置。源类型定义可以包含一个或多个属性,这些属性指示局域管理自动确定数据中事件的边界。
通常,这些属性可以包括基于正则表达式的规则或分隔符规则,其中,例如,事件边界可以由预定义字符或字符串表示。这些预定义字符可以包括标点符号或其他特殊字符,例如包括回车、制表符、空格、换行符等。如果局域管理不知道数据的源类型,则局域管理可以通过检查数据的结构来推断数据的源类型。然后,它可以对数据应用推断的源类型定义来创建事件。
在步骤408中,局域管理确定每个事件的时间戳。与创建事件的过程类似,局域管理可以再次引用与数据关联的源类型定义,以定位一个或多个属性,这些属性指示用于确定每个事件的时间戳的指令。例如,属性可以指示局域管理从事件中的一部分原始运维数据中提取时间值,基于与时间最近的事件相关联的时间戳插值时间值,基于接收或生成事件数据的时间创建时间戳,使用前一事件的时间戳,或者使用任何其他规则来确定时间戳。
在步骤410中,局域管理将每个事件与一个或多个元数据字段相关联,包括包含为事件确定的时间戳的字段(在一些实施例中,时间戳可以包括在元数据字段中)。这些元数据字段可以包括许多与所有事件关联的“默认字段”,也可以包括一个用户定义的另一个自定义字段。与步骤404中与数据段相关联的元数据字段类似,与每个事件相关联的默认元数据字段可以包括主机、源和源类型字段,包括或附加于存储时间戳的字段。
在步骤412中,局域管理可以选择性地对在步骤406中创建的事件中包括的原始运维数据应用一个或多个转换。例如,这种转换可以包括移除事件的一部分(例如,用于定义事件边界的部分、事件中的无关字符、其他无关文本等)、屏蔽事件的一部分(例如,屏蔽信用卡号)、移除事件的冗余部分,等等。应用于事件数据的转换可以例如在一个或多个配置文件中指定,并由一个或多个源类型定义引用。
在步骤414和416中,局域管理可以选择性地生成关键字索引,以便于关键字快速搜索事件数据。要构建关键字索引,在步骤414中,局域管理在每个事件中标识一组关键字。在步骤416中,局域管理包括索引中标识的关键字,局域管理将每个存储的关键字与包含该关键字的事件(或该关键字所在事件中的位置、其他位置标识符等)的引用指针相关联。当局域管理随后接收到基于关键字的查询时,局域管理可以访问关键字索引以快速标识包含关键字的事件。
在一些实施例中,关键字索引可以包括事件中发现的名称-值对的条目,其中名称-值对可以包括由符号(例如等号或冒号)连接的一对关键字。这样,可以快速定位包含这些名称-值对的事件。在一些实施例中,可以在索引时为部分或全部名称-值对自动生成字段。例如,如果在事件中找到字符串“dest=10.0.1.2”,则可以为该事件创建一个名为“dest”的字段,并为其分配一个值“10.0.1.2”。
在步骤418中,局域管理将具有相关时间戳的事件存储在数据存储中。时间戳允许用户根据时间范围搜索事件。在一个实施例中,存储的事件被组织成“bucket”,其中每个bucket基于与每个事件相关联的时间戳存储与特定时间范围相关联的事件。这不仅可以改进基于时间的搜索,而且还允许将具有最近时间戳的事件(其被访问的可能性更高)存储在更快的内存中,以便于更快的检索。例如,包含最新事件的存储桶可以存储在闪存中,而不是硬盘上。
回到图3,每个局域管理350-1到350-3可负责存储和搜索包含在相应数据存储器380中的事件的子集。通过在局域管理350和数据存储器380之间分布事件,局域管理350可以并行地分析查询的事件。例如,使用map-reduce的大数据技术,每个局域管理350-1到350-3将事件子集的部分响应返回给搜索头390,搜索头390将结果组合在一起以生成查询的答案。通过将事件存储在特定时间范围的存储桶中,局域管理可以通过搜索与查询相关的时间范围对应的存储桶来进一步优化数据检索过程。
此外,事件和存储桶还可以跨不同的局域管理和数据存储进行复制,以促进高可用性和灾难恢复。
图5是示出根据实施例的搜索头和局域管理如何执行搜索查询的处理的流程图。在步骤502中,搜索头从另一设备接收搜索查询。在步骤504中,搜索头部分析搜索查询,以确定查询的哪些部分可以委托给局域管理,以及搜索头部可以在本地执行查询的哪些部分。
在步骤506中,搜索头将查询的确定部分分发给适当的局域管理。在一个实施例中,搜索头簇可以代替独立的搜索头,其中搜索头簇中的每个搜索头与搜索头簇中的对等搜索头协调以调度作业、复制搜索结果、更新配置、完成搜索请求等,搜索头(或每个搜索头)与主节点(也称为网络/区块链网络主节点,图中未显示)通信,该主节点向搜索头提供一个局域管理列表,搜索头可以将查询的已确定部分分发给该局域管理。主节点维护活动局域管理的列表,还可以指定哪些局域管理负责响应对特定事件集的查询。在搜索头将查询分发给局域管理以发现活动局域管理的地址之前,搜索头可以与主节点通信。
在步骤508中,向其分发查询的局域管理存储与它们相关联的用于响应查询的事件的搜索数据。要确定哪些事件响应查询,局域管理将搜索与查询中指定的条件匹配的事件。这些条件可以包括匹配关键字或特定字段的特定值。步骤508中的搜索操作可以使用延迟绑定架构从处理查询时的事件中提取指定字段的值。在一个实施例中,可将用于提取字段值的一个或多个规则指定为源类型定义的一部分。然后,局域管理可以将相关事件发送回搜索头,或者使用事件确定部分结果并将部分结果发送回搜索头。
在步骤510中,搜索头组合从局域管理接收的部分结果和/或事件,以产生查询的最终结果。最终结果可能包含不同类型的数据,具体取决于查询请求的内容。例如,结果可以包括查询返回的匹配事件列表,或者返回事件的数据的某种可视化。在另一个示例中,最终结果可以包括从匹配事件派生的一个或多个计算值。
系统100生成的结果可以使用不同的技术返回给客户机。例如,一种技术在识别结果或相关事件时将它们实时地流回到客户端。另一种技术等待将结果报告给客户机,直到一组完整的结果(可能包括一组相关事件或基于相关事件的结果)准备好返回给客户机。还有一种技术将临时结果或相关事件实时地流回到客户机,直到一组完整的结果就绪,然后将一组完整的结果返回给客户机。在另一种技术中,某些结果存储为“搜索作业”,客户端可以通过引用搜索作业来检索结果。
搜索头还可以执行各种操作以提高搜索效率。例如,在搜索头开始执行查询之前,搜索头可以确定查询的时间范围和所有匹配事件都包含的一组公共关键字。然后,搜索头可以使用这些参数来查询局域管理,以获得最终结果的超集。然后,在过滤阶段,搜索头可以对超集执行字段提取操作,以生成一组缩减的搜索结果。这会加速定期执行的查询。
回到图3,搜索头390允许搜索和可视化从同质数据源接收的原始运维数据中提取的事件数据。搜索头390包括用于处理查询的各种机制,这些机制可以另外驻留在局域管理350中。安思易集中管控系统处理语言(LPL LS-SP Processing Language)与安思易集中管控系统一起使用,可用于进行查询。LPL是一种流水线搜索语言,其中一组输入由命令行中的第一个命令操作,然后在管道符号“|”之后的后续命令对第一个命令生成的结果进行操作,依此类推,用于执行其他命令。其他查询语言,如结构化查询语言(“SQL”)可用于创建查询。
响应于接收到搜索查询,搜索头390使用提取规则来提取与被搜索的事件数据中的一个或多个字段相关联的字段的值。搜索头390获取提取规则,该规则指定如何从事件中提取特定字段的值。提取规则可以包含正则表达式规则,这些规则指定如何提取相关字段的值。除了指定如何提取字段值外,提取规则还可以包括通过对字符串或由提取规则检索的值来执行派生字段值的指令的功能。例如,转换规则可以截断字符串,或将字符串转换为其他数据格式。在某些情况下,查询本身可以指定一个或多个提取规则。
搜索头390可以将提取规则应用于从局域管理350接收的事件数据。局域管理350可以将提取规则应用于关联数据存储380中的事件。提取规则可以应用于数据存储中的所有事件,也可以应用于基于某些条件(例如,事件时间戳值等)筛选的事件子集。提取规则可用于从事件中提取字段的一个或多个值,方法是分析事件数据并检查事件数据中是否存在一种或多种字符、数字、分隔符等模式,这些模式指示字段的开始位置和结束位置(可选)。
如上所述,物联网设备112可以表示被称为客户端设备的更广泛的计算设备类别,其可以包括能够通过网络/区块链网络114与服务器111交互的任何计算设备。本申请中对物联网装置的引用仅仅是为了帮助理解特定的非限制性实施例。除了物联网设备之外,客户端设备的示例包括但不限于智能手机、平板电脑、手持计算机、可穿戴设备、膝上型计算机、台式计算机、服务器、便携式媒体播放器、游戏设备等。
图6是示出根据实施例连接到服务器111的物联网设备112的组件的框图。在所示的实施例中,物联网设备112包括一个或多个传感器40,其广泛地表示数据采集电路。传感器634可以生成可由物联网设备112用于执行一个或多个本地动作的原始运维数据。传感器634可以从电或光输入信号等生成各种类型的原始运维数据。例如,热电偶是响应于环境温度输入而生成电压输出数据的传感器。在另一示例中,图像传感器可以捕获和传送构成图像的信息。
物联网设备112可以包括一个或多个客户端应用42,该客户端应用42可以被配置成响应于客户端应用642的代码中的触发器或其他触发事件监视或生成物联网数据,并且将物联网数据存储在存储器52上。具体地,物联网数据可以存储在存储器652上的一个或多个数据记录中。
客户端应用642可以包括安思易集中管控系统守护进程644,该守护进程作为后台进程运行,在不与另一设备或用户直接交互的情况下执行各种操作。例如,安思易集中管控系统守护进程644可以作为后台进程运行,以从传感器634收集原始数据。
物联网设备112可以承载和/或执行一个或多个安思易集中管控系统应用646、机器学习应用648和/或全息画像应用650。这些客户端应用642可以共同实现包括优化的数据收集、监视、管理等功能。因此,客户端应用642可以基于传感器634生成的原始运维数据来启用、管理或控制物联网设备112采取的本地动作。
例如,安思易集中管控系统应用646可以管理捕捉对象的图像或处理图像数据的传感器634的行为。客户机应用642可以包括本地运维模型618,其可以使用机器学习应用648进行本地训练。例如,可以使用本地运维模型618来处理本地数据,以进行用于确定物联网设备112是否执行本地动作以及将要执行的位置动作的类型的预测。其他功能可以代替或另外在基于本地模型618的物联网设备112中执行。
全息画像应用650可以增强物联网设备112的功能。例如,全息画像应用可应用于机器学习应用648的输出。例如,全息画像应用可以通过图像传感器增强对对象的检测,以执行实时视频分析,例如对象检测、面部检测和识别、多对象跟踪等。客户端应用642可以包括对另一应用的“插件”或“扩展”,例如web浏览器插件或扩展。客户端应用642可以通过网络/区块链网络114与服务器111或其他物联网设备交互。
在一个实施例中,客户端应用642可以包括监视物联网数据或促进生成与物联网设备的操作状态相关的物联网数据的监视功能,包括监视本地数据和收集其他物联网设备和/或特定于应用的信息。监视功能可以集成到插件、扩展或任何其他类型的插件中。监视功能也可以是独立的过程。
在一个实施例中,可以使用软件开发工具包(SDK software development kit)来创建监视功能,该软件开发工具包可以将监视代码合并到客户端应用642中。数据接收和查询系统124的提供者可以提供用于实现监视功能的SDK或其他代码。在这种情况下,数据接收和查询系统124的提供者可以实现自定义代码,以便物联网数据被发送到数据接收和查询系统124,以便于客户端应用642的开发人员或其他用户分析物联网数据。
在一个实施例中,可将自定义监视代码并入客户端应用642的代码中以调用或以其他方式调用监视功能。任何客户端应用642的开发人员可以向客户端应用添加一行或多行代码,以根据需要触发监视功能。触发监视功能的代码可以称为监视触发器。例如,监视触发器可以包括在客户端应用程序的可执行代码的开头或附近,使得监视功能在客户端应用程序启动时启动或触发,或者包括在代码中与客户端应用程序642的各种动作相对应的其他点处。
在一个实施例中,监视功能可以监视客户端应用642通过网络/区块链网络114发送和/或接收的网络业务的一个或多个方面。可以对网络流量进行分析,以确定一些网络性能统计数据。监视网络通信量可以使得能够收集特定于与任何客户端应用642相关联的网络性能的信息。
网络性能数据是指表示网络和/或网络性能信息的数据。网络性能数据可包括例如URL请求、连接类型(例如HTTP或HTTPS)、连接开始时间、连接结束时间、HTTP状态码、请求长度、响应长度、请求头、响应头、连接状态(例如完成、响应时间或失败)等。在获得指示网络/区块链网络114的性能的网络性能数据之后,可以将网络性能数据发送到数据接收和查询系统124进行分析。
在开发包含监视功能的客户端应用642时,客户端应用642可以被分发到物联网设备112。客户端应用642通常可以以任何方式分布到物联网设备112,或者可以预加载它们。在一些情况下,客户端应用642可以经由应用市场或其他应用分发系统分发到物联网设备112。例如,应用程序市场或其他应用程序分发系统可以基于来自物联网设备112的下载应用程序的请求将应用程序分发到客户端设备。
在一个实施例中,监视功能可以监视和收集与客户端应用642和/或物联网设备112的操作状态的一个方面相关的性能数据。例如,监视功能可以通过监视一个或多个物联网设备操作,或者通过调用操作系统和/或在物联网设备112上执行的一个或多个其他应用程序来收集物联网设备性能信息。物联网设备性能信息可以包括例如物联网设备112的当前无线信号强度、当前连接类型和网络载波、当前存储器性能信息、设备的地理位置、设备朝向以及与物联网设备112的操作状态相关的任何其他信息。
在一个实施例中,客户端应用642还可以监视和收集其他设备简档信息,例如,包括物联网设备的类型、物联网设备的制造商和型号、安装在物联网设备上的各种软件应用的版本等。
在所示实施例中,数据接收和查询系统124的组件分布在物联网设备112和服务器111之间。具体地,物联网设备112包括采集模块630,其可以将数据转发到服务器111的局域管理634。在一个实施例中,采集模块630可以将转换后的事件分批发送到服务器111。如下所述,服务器111还包括如上所述用于存储事件的数据存储636,这些事件可由搜索头390搜索以提取数据项。此外,机器学习算法620可以使用提取的数据项来更新/训练全局运维模型622。
因此,采集模块630启用服务器111的事件收集。在一些实施例中,可以使用超文本传输协议(HTTP)或MQ遥测传输(MQTT MQ Telemetry Transport)协议将物联网数据传送到服务器111。具体来说,MQTT是一种M2M IoT连接协议,对于需要相对较小的代码占用和/或网络带宽有限的远程位置的连接非常有用。
在所示实施例中,服务器111可以发送流水线搜索语言查询,例如安思易集中管控系统处理语言(LPL LS-SP Processing Language)查询,并且可以发送配置管理器654用于配置(或重新配置)物联网设备112的模型数据。例如,LPL查询可以将物联网设备112配置为监视某些物联网数据。模型数据可用于物联网设备112以配置(或重新配置)本地运维模型618。例如,模型数据可用于用全局运维模型622替换或更新本地运维模型618。全局运维模型622和本地运维模型618各自可以是例如数学方程、逻辑运算或其他类型的计算、查找表或体现在计算机程序代码中的算法。一个或多个过滤656、转换658和/或规则660可用于将物联网设备112配置为基于其本地获取的数据将摘要数据发送回服务器111。然后,从每个物联网设备112发送的数据摘要可以形成全局训练数据以在服务器111上训练全局运维模型622。过滤656、转换658和/或规则660可以包括在每个物联网装置112中。
服务器111可以表示被称为主机设备的更广泛的计算设备类别,其可以包括任意数量的计算机、虚拟机实例和/或数据中心,这些计算机、虚拟机实例和/或数据中心可以被配置成承载或执行主机应用程序的一个或多个实例(例如,主机应用程序662)。服务器111或另一主机设备可以直接或间接地参与处理从物联网设备112接收到的用于基于网络/区块链网络的服务的请求。例如,基于网络/区块链网络的服务提供商可以配置一个或多个主机设备和主机应用程序以共同实现基于网络/区块链网络的应用程序。
物联网设备112可以与主机应用662通信以交换信息。物联网设备112和主机应用662之间的通信可以基于HTTP或任何其他网络协议。从主机应用662传送到物联网设备112的内容可以包括例如HTML文档、媒体内容等。物联网设备112和主机应用662之间的通信可以包括发送请求和接收数据分组。例如,客户端应用642可以通过请求特定资源来发起与主机应用662的通信,并且主机设备可以使用存储在一个或多个响应分组中的请求内容来响应。
主机设备可以在主机应用662的操作期间生成各种类型的性能数据,包括事件日志、网络数据、传感器数据和其他类型的机器生成的数据。与主机设备和物联网设备112之间的交互有关的主机数据或数据可以经受数据接收和查询处理。
图7-9是示出以不同组合实现所公开技术的组件的系统100的操作的框图。尽管示出为三个单独的实施例,但这些图中示出的组件可以以各种方式组合以实现系统100的期望行为。此外,实施例可省略组件或包括本领域技术人员未示出但已知的其他组件。
图7是示出包括连接到物联网设备112的服务器111的系统100的实施例的操作的框图。在所示实施例中,服务器111仅间歇地连接到物联网设备112。物联网设备112接收本地输入764以根据其设计的功能生成原始运维数据766。来自每个物联网设备112的原始运维数据766的至少一部分作为训练数据被发送到服务器111,并共同形成全局训练数据768。每个物联网设备112发送的训练数据的量可以在操作之前指定或在操作期间确定。当相应的物联网设备112连接到服务器111时,发送训练数据。
使用本地运维模型718处理每个物联网设备112的原始运维数据766的至少一部分以产生输出数据770。在一些实施例中,输出数据770的至少一部分可以作为训练数据推送到服务器111。相应的物联网设备112可以基于其输出数据770执行本地动作772。例如,物联网设备可以在使用本地运维模型处理温度数据之后更改恒温器设置。
服务器111可以将全局训练数据768的至少一部分作为输入应用到一个或多个机器学习算法720(处理)以训练全局模型722。因此,基于由多个分布式物联网设备112生成的数据来训练全局运维模型722。模型数据被发送回每个物联网设备112以相应地更新每个本地运维模型718。例如,服务器111可以将模型数据中的全局运维模型722的实例推送到每个物联网设备112。因此,每个物联网设备112可以基于模型数据更新其本地运维模型,以使本地运维模型718与全局运维模型722同步。因此,每个物联网设备112可以(间接)从其他分布式物联网设备112学习以在全局上下文中处理本地数据。
图8是示出类似于图7的系统100的实施例的操作的框图,但其可以在物联网设备112和/或服务器111实现模式。在一些实施例中,物联网设备112-1和112-2和/或服务器111中的每一个实现单独的数据接收和查询处理,该处理应用模式来提取数据项。在一些实施例中,单个数据接收和查询系统124的组件可以分布在物联网设备112和服务器111之间,如图6所示。可以在物联网设备112和/或服务器111中的每一个应用不同类型的模式,以提取可以随后处理的数据项,如关于图7所述,以更新模型或执行动作。
例如,每个数据获取和查询过程都可以对数据进行分段,并将分段后的数据索引为事件。模式应用于事件以提取数据项。例如,在分段数据被索引到事件中之后,可以应用延迟绑定模式来提取数据项。在另一个示例中,可以在操作之前指定数据项和/或在将数据段编入事件索引之前提取数据项。
在所示实施例中,物联网设备112-1和112-2中的每一个可以分别对原始运维数据866-1和866-2应用模式874-1和874-2,以提取用于执行本地动作的数据项和/或作为发送到服务器111的训练数据。同样在所示的实施例中,服务器111可以将模式874-3应用于全局训练数据868以提取用于训练全局运维模型822的全局数据项。
图9是示出系统100的实施例的框图,该实施例类似于图7,但可以在物联网设备112处实现本地机器学习。在所示实施例中,每个物联网设备112-1和112-2分别包括一个或多个机器学习算法974-1和874-2。当物联网设备112与服务器111连接或断开时,机器学习算法974可以更新/训练相应的本地模型918。例如,当全局运维模型922不能更新本地模型918时,物联网设备112可以使用其本地机器学习算法974来更新/训练其本地运维模型918。在一些实施例中,可以动态地改变机器学习算法974中的任何一个,这将改变由物联网设备112生成的模型。
例如,物联网设备可以从服务器111断开。物联网设备可以执行本地机器学习过程,以使用原始运维数据或数据项训练其本地运维模型918。当物联网设备112与服务器111断开连接时,物联网设备112随后可以使用本地更新的本地运维模型处理本地数据。物联网设备112可以执行本地动作,作为使用本地更新的本地运维模型918生成的输出数据的一个功能。因此,系统100可以改善每个物联网设备112的本地性能,并且协调所有物联网设备112的集合操作与服务器111处的全局运维模型数据。
图10是示出根据实施例的物联网装置的操作流程1000的示例的操作流程图。在步骤1002中,物联网设备从输入到物联网设备生成原始运维数据。例如,物联网设备可以具有捕捉检测到的对象的图像的相机。在本例中,图像可以是原始图像数据。
在1004和1006中,物联网装置可操作以实现从步骤1002分割原始运维数据的数据摄取和查询处理,并将分割的数据索引为事件。可以搜索事件以提取数据项或从原始运维数据派生的其他数据。在一些实施例中,应用延迟绑定模式来提取数据项。具体地说,数据项在被编入事件索引后从原始运维数据中提取。在一些实施例中,数据项在被索引为事件之前被预先确定和/或从原始运维数据中提取。原始运维数据或从原始运维数据派生的数据可以被称为本地数据。
在步骤1008中,使用本地运维模型处理原始运维数据和/或数据项以产生输出数据。在步骤1010中,物联网设备可以作为输出数据的功能执行本地动作。例如,由于使用本地运维模型处理温度数据(原始数据),物联网设备可以改变恒温器的温度设置(本地动作)。
在决定步骤1012中,物联网设备可以确定其是否通过网络/区块链网络连接到服务器111(具有全局运维模型数据)或从服务器111断开连接。如果连接到服务器111,则物联网设备可以通过网络/区块链网络114与服务器111执行机器对机器(M2M)通信。例如,在步骤1014中,物联网设备可以将原始运维数据和/或数据项作为训练数据发送到服务器111。
在一些实施例中,训练数据的量可以预定为原始运维数据或数据项的一部分(或全部)。例如,多个物联网设备生成的原始运维数据的10%可以定期推送到服务器111。在一些实施例中,训练数据的部分可以包括或不包括异常值数据。限制传送到服务111的数据量有利于减少网络安全威胁,因为没有数据对被窃取而敏感。此外,这降低了总体拥有成本(TCO total cost of ownership),因为减少了对网络资源的使用。
在步骤1016中,物联网设备从服务器111接收模型数据。来自服务器111中的模型数据从物联网设备采集的训练数据(“全局训练数据”)。特别地,全局训练数据被输入到一个或多个机器学习过程(例如,算法)以生成全局运维模型。因此,通过协调来自物联网设备的本地数据来训练全局运维模型。模型数据可以包括全局运维模型或与全局运维模型相关的数据,例如指示本地运维模型与全局运维模型同步所需更改的参数。
在步骤1018中,用模型数据更新物联网设备的本地运维模型。因此,本地运维模型可以与全局运维模型同步,以便随后根据全局上下文使用更新的本地运维模型处理本地数据。在一些实施例中,用全局运维模型替换本地运维模型或用相应地修改本地运维模型的参数值更新本地运维模型。
在步骤1020中,如果物联网设备与服务器111断开连接,则物联网设备可以在本地更新本地运维模型。例如,物联网设备可以将部分(或全部)原始运维数据或数据项输入一个或多个本地机器学习过程(例如,算法)以生成本地更新的本地运维模型。最后,物联网设备可以执行本地运维操作,作为使用本地更新的本地运维模型生成的输出数据的一个功能。因此,物联网设备可以基于全局运维模型或通过使用本地机器学习算法处理本地数据来更新本地数据。
图11是示出根据实施例的服务器111的操作流程1100的示例的操作流程图。在步骤1102中,服务器111通过网络/区块链网络从连接到服务器111的物联网设备收集原始运维数据或数据项,以提供全局训练数据。
在步骤1104和1106中,服务器111可操作以实现数据接收和查询处理,以分割全局训练数据并将分割的数据索引为事件。可以搜索事件以提取全局数据项或从全局训练数据派生的其它数据。在一些实施例中,应用延迟绑定模式来提取全局数据项。具体地说,全局数据项在索引到事件后从全局训练数据中提取。在一些实施例中,全局数据项在被索引为事件之前被预先确定和/或从全局训练数据中提取。
在步骤1108中,服务器111执行一个或多个机器学习处理以使用全局训练数据或全局数据项训练全局运维模型。在步骤1110中,服务器111将基于更新的全局运维模型的模型数据发送到每个物联网设备。如上所述,模型数据可以包括适合于改变或替换每个相应物联网设备的本地运维模型的数据。因此,每个本地运维模型都可以与全局运维模型同步。如上所示,在一些实施例中,多个物联网设备中的至少一些仅间歇性地连接到服务器111。因此,当物联网设备连接到服务器111时,服务器111仅与每个物联网设备和模型数据交换训练数据。
图12是示出可用于实现本申请所述的任何一个或多个功能组件(例如采集模块、局域管理、搜索头和数据存储、服务器、物联网设备)的计算系统1200的硬件架构的高级示例的框图。在一些实施例中,计算系统1200的一个或多个实例可用于实现本申请描述的技术,其中多个这样的实例可经由一个或多个网络彼此耦合。
所示的计算系统1200包括一个或多个处理设备1282、一个或多个存储设备1284、一个或多个通信设备1286、一个或多个输入/输出(I/O)设备1288和一个或多个大容量存储设备1290,所有这些都通过互连1292彼此耦合。互连1292可以是或包括一个或多个导电线、总线、点到点连接、控制器、适配器和/或其他常规连接设备。每个处理设备1282至少部分地控制计算系统1200的处理的整体操作,并且可以是或包括例如一个或多个通用可编程微处理器、数字信号处理器(dsp)、移动应用处理器、微控制器,专用集成电路(asic)、可编程门阵列(pga)等,或此类器件的组合。
存储器设备1284中的每一个可以是或包括一个或多个物理存储设备,其可以是随机存取存储器(RAM)、只读存储器(ROM)(其可以是可擦除和可编程的)、闪存、微型硬盘驱动器或其他适当类型的存储设备,或这些设备的组合。每个大容量存储设备1290可以是或包括一个或多个硬盘、数字多功能磁盘(dvd)、闪存等。每个存储设备1284和/或大容量存储设备1290可以存储(单独地或集体地)配置处理设备1282以执行操作以实现上述技术的数据和指令。
每个通信设备1286可以是或包括例如以太网适配器、电缆调制解调器、Wi-Fi适配器、蜂窝收发器、基带处理器、蓝牙或蓝牙低能(BLE)收发器、串行通信设备等,或其组合。根据处理设备1282的特定性质和用途,每个I/O设备1288可以是或包括诸如显示器(可以是触摸屏显示器)、音频扬声器、键盘、鼠标或其他指向设备、麦克风、照相机等设备。但是,注意,如果处理设备1282是仅体现为服务器计算机。
在客户端设备(例如,边缘设备或物联网设备)的情况下,通信设备1286可以是或包括例如蜂窝式电信收发器(例如3G、LTE/4G、5G)、Wi-Fi收发器、基带处理器、蓝牙或BLE收发器等,或其组合。在服务器的情况下,通信设备1286可以是或包括,例如,上述任何类型的通信设备、有线以太网适配器、电缆调制解调器、DSL调制解调器等,或这些设备的组合。
当称为“在计算机可读存储介质中实现”时,软件程序或算法包括存储在存储设备(例如,存储设备1284)中的计算机可读指令。当与软件程序相关联的至少一个值存储在处理器可读的寄存器中时,处理器(例如,处理设备1282)被“配置为执行软件程序”。在一些实施例中,为实现所公开的技术而执行的例程可以作为操作系统软件(例如,MICROSOFTWINDOWS®、鸿蒙和LINUX®的一部分)或特定的软件应用程序、算法组件、程序、对象、模块或被称为“计算机程序”的指令序列来实现。
计算机程序通常包括在计算设备的各种存储设备中的不同时间设置的一个或多个指令,当由至少一个处理器(例如,处理设备1282)读取和执行时,这些指令将导致计算设备执行涉及所公开技术的功能。在一些实施例中,提供了包含上述计算机程序产品的载体。载体是电子信号、光信号、无线电信号或非暂时性计算机可读存储介质(例如,存储设备1284)之一。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被视为本发明的专利范围所涵盖。
Claims (16)
1.基于大数据的物联网的分布式安全运维的方法,其特征在于,采用区块链技术,结合本地机器学习和全局机器学习;所述方法,还包括如下步骤:
物联网设备生成含有时间戳字段的事件;
从含有时间戳字段的事件中提取训练数据;
通过网络将训练数据发送到服务器;
接收服务器生成的模型数据;
基于接收到的模型数据更新物联网设备的本地运维模型;
并通过使用更新的本地运维模型处理物联网设备的本地源数据来生成输出。
2.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述生成输出,基于所生成的输出改变物联网设备的安全运维操作和修改物联网设备的设置。
3.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述提取训练数据,从含有时间戳事件中提取多个数据字段和从多个时间戳事件中提取训练数据。
4.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述多个时间戳事件,多个按照时间进行索引的事件和由物联网设备的传感器输出的多个原始运维数据字段。
5.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:
在从多个时间戳事件中提取训练数据之前:
索引多个时间戳事件以生成多个时间索引事件;
在索引多个时间戳事件时从多个时间索引事件中提取多个数据字段,其中训练数据包括多个数据字段。
6.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:
在从多个时间戳事件中提取训练数据之前:
索引多个时间戳事件以生成多个时间戳事件;
在索引多个时间戳事件之后从多个时间戳事件中提取多个数据字段,其中训练数据包括多个数据字段。
7.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:通过在物联网设备上执行本地机器学习来更新物联网设备的本地运维模型。
8.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:物联网设备和服务器断链时,则通过在物联网设备上执行本地机器学习来更新本地运维模型。
9.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:通过在物联网设备与服务器通信断开的同时执行本地机器学习来更新物联网设备的本地运维模型。
10.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:
通过在物联网设备上本地执行另一机器学习来更新物联网设备的本地运维模型,以及基于更新的本地运维模型生成另一输出。
11.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:
通过在所述物联网设备本地执行另一机器学习来更新所述物联网设备的本地运维模型;
基于所述更新的本地运维模型生成另一输出;
以及基于所述另一输出执行本地动作。
12.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述将训练数据发送到服务器,包括:
在物联网设备和服务器之间建立机器到机器(M2M)的通信链路;
以及通过M2M通信链路将训练数据发送到服务器。
13.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述更新的本地运维模型,包括如下步骤:
用新的本地运维模型替换原本地运维模型;
变更本地运维模型;
从本地运维模型中移除数据。
14.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述接收服务器生成的模型数据,基于从多个物联网设备采集的训练数据。
15.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述方法,还包括:基于所述输出数据执行本地动作以改变所述物联网装置。
16.如权利要求1所述的基于大数据的物联网的分布式安全运维的方法,所述模型数据,来自原始运维数据或来自由包括所述物联网设备在内的多个物联网设备生成的原始运维数据的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547419.0A CN112564984A (zh) | 2020-12-24 | 2020-12-24 | 基于大数据的物联网的分布式安全运维的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547419.0A CN112564984A (zh) | 2020-12-24 | 2020-12-24 | 基于大数据的物联网的分布式安全运维的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112564984A true CN112564984A (zh) | 2021-03-26 |
Family
ID=75032456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011547419.0A Pending CN112564984A (zh) | 2020-12-24 | 2020-12-24 | 基于大数据的物联网的分布式安全运维的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564984A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024822A (zh) * | 2021-11-02 | 2022-02-08 | 中国联合网络通信集团有限公司 | 基于区块链的物联网设备管理方法、设备、服务器及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107316083A (zh) * | 2017-07-04 | 2017-11-03 | 北京百度网讯科技有限公司 | 用于更新深度学习模型的方法和装置 |
US20180032908A1 (en) * | 2016-07-29 | 2018-02-01 | Splunk Inc. | Machine Learning in Edge Analytics |
-
2020
- 2020-12-24 CN CN202011547419.0A patent/CN112564984A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180032908A1 (en) * | 2016-07-29 | 2018-02-01 | Splunk Inc. | Machine Learning in Edge Analytics |
CN107316083A (zh) * | 2017-07-04 | 2017-11-03 | 北京百度网讯科技有限公司 | 用于更新深度学习模型的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024822A (zh) * | 2021-11-02 | 2022-02-08 | 中国联合网络通信集团有限公司 | 基于区块链的物联网设备管理方法、设备、服务器及介质 |
CN114024822B (zh) * | 2021-11-02 | 2023-09-22 | 中国联合网络通信集团有限公司 | 基于区块链的物联网设备管理方法、设备、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610156B1 (en) | Transmitting machine learning models to edge devices for edge analytics | |
US11836579B2 (en) | Data analytics in edge devices | |
US11916764B1 (en) | Server-side operations for edge analytics | |
US11843505B1 (en) | System and method of generation of a predictive analytics model and performance of centralized analytics therewith | |
US11632383B2 (en) | Predictive model selection for anomaly detection | |
US11646953B2 (en) | Identification of network issues by correlation of cross-platform performance data | |
US20210342337A1 (en) | Dynamically monitoring an information technology networked entity | |
US11645471B1 (en) | Determining a relationship recommendation for a natural language request | |
US11106442B1 (en) | Information technology networked entity monitoring with metric selection prior to deployment | |
US10255322B2 (en) | Utilizing persistent and non-persistent connections for distributed tasks for performing a job | |
US11615082B1 (en) | Using a data store and message queue to ingest data for a data intake and query system | |
US20200104304A1 (en) | Conditional Processing Based on Inferred Sourcetypes | |
US11269872B1 (en) | Intent-based natural language processing system | |
US11966797B2 (en) | Indexing data at a data intake and query system based on a node capacity threshold | |
US11755531B1 (en) | System and method for storage of data utilizing a persistent queue | |
US11347695B2 (en) | Clustered search head configuration synchronization | |
US11762442B1 (en) | Real-time machine learning at an edge of a distributed network | |
US11469974B1 (en) | Analytics for edge devices to intelligently throttle data reporting | |
CN112564984A (zh) | 基于大数据的物联网的分布式安全运维的方法 | |
US11734297B1 (en) | Monitoring platform job integration in computer analytics system | |
US11949547B2 (en) | Enhanced simple network management protocol (SNMP) connector | |
US11704285B1 (en) | Metrics and log integration | |
US11936545B1 (en) | Systems and methods for detecting beaconing communications in aggregated traffic data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210326 |