一种基于实时流处理的边缘网关设备日志解析方法

未命名 08-15 阅读:135 评论:0


1.本发明涉及边缘网关设备日志解析的实现方法,通过日志的实时采集、日志的实时传输和日志的实时解析实现边缘网关设备日志解析方法。


背景技术:

2.边缘网关在边缘计算与物联网领域中扮演着重要的角色。在边缘计算领域中,边缘网关为物联网应用提供高效的数据处理和分发任务;在物联网领域中,边缘网关除了能将数据传输至云端上,还能对接各类传感器和执行器等设备,实现对设备的集中监控和管理。在大数据以及万物皆可联网的时代,边缘网关设备中的日志数据量在快速增长。
3.作为边缘计算领域和物联网领域中的重要组成部分之一,边缘网关的正常运行至关重要,其在运行期间产生的日志数据隐藏着与设备状态、外界干扰、设备异常等相关的重要信息,这些日志通常都是文本形式的非结构化数据。因此,对边缘网关设备日志进行解析尤为重要,不仅能够辅助设备故障分析,快速定位故障的位置,还能进一步分析设备的各种指标和应用的行为信息,关系到整个云边系统和物联网系统的正常运行。
4.边缘网关设备日志通常都包含时间戳、日志级别、日志内容、日志来源字段和其它附加消息。日志解析指的是从一条日志消息中提取出对应的时间戳、日志级别、日志来源、日志事件模板和参数信息,将文本形式的非结构化数据最终转换为结构化的数据;其中,提取出日志事件模板和参数信息是日志解析的关键。将日志内容中的常量部分保留,并用特殊符号代替参数部分,得到的即为日志事件模板,日志事件模板与提取出的时间戳、日志级别、日志来源字段共同构成日志模板。
5.已有的日志解析方法通常使用聚类、频繁项、启发式等方法提取日志模板,以批处理的方式对整个日志数据集进行处理。然而,边缘网关的领域重要性和功能丰富性使之每天都会产生大量日志数据,这些日志通常被视为无界数据流,设备本身通常带有定时删除日志的功能,如果不及时对设备日志数据进行解析,可能会造成数据丢失从而缺乏重要信息源。因此,本发明从边缘网关的特征以及日志产生特征的角度出发,考虑采用一种实时流处理的方法解析日志,避免批数据处理带来的高延迟、数据积压等问题。
6.物联网技术的发展使得越来越多的数据以流的形式产生和传输,因此实现数据的流处理变得至关重要。流处理可以对数据进行实时处理,快速响应数据的变化,并支持多种数据类型的处理。更重要的是,流处理可以通过水平扩展和自动伸缩来适应不断变化的数据流量和处理需求,提高系统的可用性和灵活性。
7.日志的实时传输能够保证日志得到即时处理。mqtt是一个基于发布-订阅模式的轻量级的通讯协议,能够为远程设备提供实时可靠的消息服务,对物联网领域中数据的传输至关重要。mqtt基于tcp/ip协议之上,在数据传输的过程中,能够避免数据丢失并保证服务质量。因此,本发明中使用mqtt协议将边缘网关设备日志实时传输至分布式服务器中。


技术实现要素:

8.由于边缘网关设备日志的产生速度快、实时性高、数据量大,如果利用网关自身的数据处理功能对日志进行分析将会使网关负载较重,可能影响其它关键应用。本发明采用将日志数据传输至分布式服务器中进行处理的方法将日志解析任务与边缘网关上的其它应用解耦,以便快速和高效执行日志解析任务。
9.本发明的大致流程分为日志采集、日志传输、日志解析、结果输出,从结构上可概括为三个部分:日志数据流采集和缓存、日志数据流实时解析以及日志模板后处理和融合。对于日志数据流的采集和缓存,本发明使用自定义收集程序监听边缘网关并实时采集设备日志,通过mqtt协议将其从边缘网关实时传输至分布式缓存队列。对于日志数据流实时解析,分布式服务器从缓存队列中并行读取数据执行解析任务,解析的初步结果输出至管理表中。对于日志模板后处理和融合,将日志模板去重或重解析后,使用相似度度量的方式对日志模板进行修正,最终结果输出至外部表中。
10.本发明方法的具体步骤如下:
11.步骤1.利用日志收集程序,基于日志产生速率的采样间隔自适应调整算法以不同的采样间隔实时收集日志,并进行数据清洗。
12.步骤2.在边缘网关和分布式缓存队列中配置mqtt客户端,采集到的日志通过mqtt协议由边缘网关实时传输至分布式缓存队列中,缓存队列中设置滚动窗口。
13.步骤3.分布式服务器中的日志解析程序监听缓存队列,并加载预先设置的模板集和规则库到内存,监听到有数据时并行读取数据进行解析。
14.步骤4.基于增量式长短期记忆网络算法预测所需服务器数量,服务器处理能力不够时增加服务器,降低日志处理延迟。
15.步骤5.定期对步骤3中解析得到的模板进行后处理,主要对模板去重、过滤信息缺失较多的模板、重解析不准确的模板。
16.步骤6.使用相似度度量的方法对步骤5中得到的模板进行融合,融合后的结果为最终的日志模板集。
17.本发明针对边缘计算和物联网领域中的边缘网关设备日志,基于日志产生速率的采样间隔自适应调整算法预测日志产生速率,使用自定义日志收集程序根据预测值以不同的采样间隔实时收集日志数据并进行数据清洗,以减轻日志的传输压力和处理压力;使用数据驱动型日志解析应用程序实时监听缓存队列,由分布式服务器并行解析日志以提高解析效率和数据处理的吞吐量;此外,基于增量式长短期记忆网络算法实时预测所需服务器数量,当服务器处理能力不够时增加服务器及时处理正在等待的日志,降低日志处理延迟。
附图说明
18.图1是基于实时流处理的边缘网关设备日志解析架构图。
19.图2是日志解析的过程示意图。
20.图3是增量式长短期记忆网络预测服务器数量的示意图。
具体实施方式
21.以下结合附图对本发明作进一步说明,请参阅图1。图1给出了本发明基于实时流
处理的边缘网关设备日志解析架构图,由日志数据流采集和缓存、日志数据流实时解析以及日志模板后处理和融合组成。下面分别介绍三个部分。
22.(1)日志数据流采集和缓存
23.日志数据流的采集使用自定义收集程序来采集设备日志,通过基于加权移动平均法——长短期记忆网络组合算法预测未来一段时间是否为日志产生的高峰期,并根据预测值设置不同的采样间隔,使得日志高峰期收集到的日志数据多,非高峰期收集到的日志数据少。
24.通过mqtt通讯协议将日志数据传输至分布式缓存队列中,采用mqtt协议能够保证日志的传输的实时性和可靠性。分布式缓存队列对实时日志流进行缓存,该缓存队列的设计是为了避免发生数据突增的情况时,服务器处理不及时导致高延迟。
25.(2)日志数据流实时解析
26.数据驱动型日志解析程序监听分布式缓存队列,监听到缓存队列中有数据到达便立即读取数据执行解析任务。解析程序分布在多台服务器中,所有服务器并行读取日志进行解析,以提高日志处理的吞吐量,并降低延迟。
27.解析主要分为提取日志字段和匹配日志内容中的参数,拼接得到日志模板。此外,在日志解析过程中,根据服务器处理能力和资源使用率预测服务器数量,并通过动态增加服务器的方式及时处理正在等待的日志数据,从整体上降低日志数据流实时解析的延迟。
28.(3)日志模板后处理和融合
29.日志模板后处理主要是删除重复模板和无效模板,重解析不准确的模板。对模板按其长度分组,组内使用相似度度量方法衡量模板之间的相似度并进行调整,保留质量更高、更准确、更具有覆盖性的模板。
30.请参阅图2,图2是各服务器中执行日志解析任务的具体过程之一。日志流来自分布式缓存队列,预处理提取日志的字段,参数匹配对日志内容中的参数用“*”代替,拼接是对日志字段与日志内容进行拼接得到结构化的日志模板,后处理删除重复模板和无效模板,并对模板进行调整。
31.请参阅图3,图3是增量式长短期记忆网络预测服务器数量的过程,基础数据集包括了服务器处理能力、资源使用情况、运行状况、服务器数量、日志到达速率、日志等待时间,用于训练lstm模型;然后预测当前需要的服务器数量,最后决定是否需要向分布式系统中添加服务器数量以分担日志解析任务,降低日志处理延迟;算法每隔一段时间使用一批新的数据以增量的方式训练和更新模型,再进行下一时间段的预测,该过程不断重复直至日志解析任务结束。
32.本实施例提出的基于实时流处理的边缘网关设备日志解析方法,具体步骤以及详细说明如下:
33.(1)步骤1:自定义日志收集程序,基于日志产生速率的采样间隔自适应调整算法以不同的采样间隔实时收集日志,并进行数据清洗
34.边缘网关在负载过重或者运行异常的情况都会产生大量日志,负载较小或者稳定运行的状态下产生的日志数量相对较少。在边缘网关中配置自定义日志收集程序以不同的采样间隔收集边缘网关设备日志,在日志产生高峰期,采样间隔短,每次收集的是间隔时间段内的日志,数据量大;非高峰期采样间隔相对较长,每次只收集采样时刻的日志,数据量
小。
35.本实施例提出基于日志产生速率的采样间隔自适应调整算法来预测未来一段时间的日志产生速率。该算法由加权移动平均法和长短期记忆网络组合而成,算法先使用加权移动平均法对历史数据集进行平滑处理,再使用处理后的数据训练长短期记忆网络模型来预测未来时间段内的日志产生速率,日志收集程序根据预测值设置不同的采样间隔。
36.历史数据集是一个反映了边缘网关的资源利用情况、负载大小以及运行状况的时间序列数据,由边缘网关在多个历史时间点的cpu利用率、内存利用率、网络带宽、任务数、运行状况和日志产生速率组成。随着时间的推移,这些观测值对日志的产生速率有不同程度的影响,加权移动平均法能够对最近的观测值赋予较高的权重,对较早的观测值赋予较低的权重,进而能够对历史数据进行平滑处理,减少随机波动和噪声。
37.长短期记忆网络能够通过保留更重要的信息并忽略次要信息来更好地处理复杂的时间序列数据,通过不断地训练能够学习到数据中的复杂模式和特征,在预测任务中具有更高的准确性。加权移动平均法与长短期记忆网络相组合的算法可以更好地利用的前者的平滑性和后者模型的记忆能力,提高模型的准确性和稳定性。
38.利用平滑处理后的数据训练长短期记忆网络模型,日志的产生速率为数据集的标签,其它观测值为输入特征,输出为未来一段时间的日志产生速率。根据预测结果,若日志产生速率大,则设置较小的采样间隔,反之设置较大的采样间隔;若未来一段时间内日志产生速率有大幅度变化,则在合适的时间点调整采样间隔。根据所提出的算法预测日志产生速率并设置采样间隔的伪代码如下所示:
[0039][0040]
定期异步更新模型,使用新的相关数据和日志产生速率训练模型,并预测下一阶
段的日志产生速率。通过不断地使用新数据训练模型能够使模型逐步得到优化,准确性增加,同时还能很好的适应边缘网关设备日志产生速率的不确定性,此外,异步训练模型不会影响正常任务的运行。
[0041]
与总是保持相同采样间隔的收集程序相比,该自定义收集程序更具有灵活性和针对性,并且能够减少无关紧要的日志数据的收集,减轻数据的传输压力和处理压力。
[0042]
对收集到的日志数据进行清洗,删除日志字段缺失、日志不完整的数据,并根据历史日志的最大最小长度删除长度不合理的日志数据。数据清洗的目的是减少不必要的网络流量和服务器资源消耗,将清洗后的数据进行传输。
[0043]
(2)步骤2:在边缘网关和分布式缓存队列中配置mqtt客户端,采集到的日志通过mqtt协议由边缘网关实时传输至分布式缓存队列中,缓存队列中设置滚动窗口。
[0044]
mqtt是一种轻量级的基于发布-订阅模式的通讯协议,运行在tcp/ip协议栈上,通信的双方通过mqtt主题进行信息通信。mqtt简单、易于实现并能为远程设备的连接提供实时可靠的消息服务,采用基于mqtt的通讯协议传输日志数据能够降低网络传输成本和压力,并保证日志流传输的实时性。
[0045]
在边缘网关和分布式缓存系统中配置mqtt客户端,mqtt服务端创建主题,日志数据由mqtt服务端使用主题进行管理;分布式缓存系统中的mqtt客户端向mqtt服务端订阅主题,日志数据由边缘网关中的mqtt客户端被发布到主题中,服务端查找到缓存系统中的mqtt客户端订阅了该主题信息后就将接收到的日志数据推送到缓存队列中。日志收集程序一旦收集到日志便立即进行传输,日志不断产生,传输也不断进行。
[0046]
分布式缓存队列是由多台服务器构成的分布式系统,具有较高的吞吐量,日志数据经传输后缓存在多台服务器上。在缓存队列中设置滚动窗口,窗口大小为一次解析的日志量,依据经验或领域知识设定。
[0047]
(3)步骤3:分布式服务器中的日志解析程序监听缓存队列,并加载预先设置的模板集和规则库到内存,监听到有数据时并行读取数据进行解析
[0048]
日志解析程序部署在分布式服务器中,是一种数据驱动型应用程序,即该程序依赖于数据,且数据为程序的输入。日志解析应用程序由监听模块、预处理模块、参数匹配模块和输出模块构成。
[0049]
在日志解析的过程中,解析程序中相同的模块分布在多台服务器中,监听模块实现的功能由主线程完成,其它模块的功能由子线程完成,当一个子线程执行完预处理操作后由下一个子线程执行参数匹配操作,之后又由下一个子线程整理结果输出,其它线程继续执行下一条日志的解析操作。即在服务器内部,数据以流的方式经过每一个线程,每台服务器中都进行着相同的流处理操作。因此,在整个日志解析程序中,分布式服务器并行读取数据、并行进行解析、并行输出结果,从而实现日志流的并行解析,不仅能够充分利用服务器资源,减少日志处理的响应时间,同时还能提高解析效率,保证解析的可靠性和实时性。
[0050]
一条边缘网关设备日志由消息头和消息内容组成,消息头由日志框架组成,主要包括时间戳、日志级别、日志来源等字段;消息内容则为具体的日志事件,由常量字符串和变量组成,变量通常是运行时的参数值或设备的属性信息。将变量用特殊符号代替后,与常量部分共同构成日志事件模板,日志解析的核心即为提取出日志事件模板。
[0051]
预先设置的模板集描述了日志的格式,包含了日志的各个字段、字段类型、字段顺
序、字段格式以及常量值,通过对边缘网关设备日志历史样本进行分析得到模板集。规则库中记录了时间戳转换规则、日志数据拆分规则、无效字符及其处理方法表、日志字段列表、大小写转换规则、正则表达式、关键词、频繁项列表、键值对拆分等规则。
[0052]
解析程序启动后保持监听缓存队列的状态,并将预先设置的模板集和规则库加载到内存,该功能由监听模块实现。当日志数据被传输至缓存队列时,程序能够监听到这种变化,立即并行读取数据执行具体的解析任务。具体的解析任务由预处理和参数匹配模块实现,预处理操作对日志数据进行格式转换和统一,提取出时间戳、日志级别和日志来源等字段;参数匹配操作匹配出消息内容中的参数字段,进一步提取出日志事件模板。
[0053]
对读取到的一条边缘网关设备日志数据,预处理模块根据规则库中定义的无效字符以及处理方法对可能存在的无效字符进行处理,并对时间戳、数据表达形式进行转换和处理;最后按照正则表达式和模板集中对字段、关键字和数据格式的定义提取出日志的时间戳、日志级别和日志来源等字段。若无法应用规则库转换数据格式或提取日志字段,则根据领域知识自定义预处理规则,添加到规则库中。经过预处理后的日志数据具有更加统一的形式,内容的正确性有所增加。
[0054]
日志数据经预处理后需要提取出日志内容中的参数,由参数匹配模块完成。对于一条日志的消息内容,参数匹配模块根据规则库中记录的正则表达式和关键字,将匹配到的参数使用“*”代替,保留常量部分,从而得到日志事件模板。例如一条日志的消息内容为:forwarding data to cloud:{"sensor_id":"123","temperature":25.5,"humidity":40.2},其中的数字即为设备运行过程中出现的参数,这些值将用“*”代替,得到的日志事件模板为:forwarding data to cloud:{"sensor_id":"*","temperature":*,"humidity":*}。若无法应用规则库进行参数匹配,则根据领域知识自定义表达式,如设备id和名称、ip地址、用户名、状态值、设备属性值等,并将自定义规则添加到规则库中。输出模块将参数匹配模块处理后得到的日志事件模板与预处理中提取出的日志字段拼接,得到结构化的日志模板数据,并输出到管理表中进行暂存。
[0055]
(4)步骤4:基于增量式长短期记忆网络算法预测所需服务器数量,服务器处理能力不够时增加服务器,降低日志处理延迟
[0056]
当现有的分布式服务器的处理能力不足以处理缓存队列中的数据或者数据到达速率远大于服务器处理能力时,会造成数据等待的现象,从而违背实时处理的目的。日志解析是一种计算密集型任务,为尽可能降低日志数据处理延迟,需要设置一种自适应方法来自动化地控制和调整计算资源,以满足日志解析所需资源。本发明使用增加服务器的方法来降低数据处理延迟,维持日志解析的实时性。设置监控器实时监控并记录分布式服务器处理能力、服务器资源使用情况、服务器运行状况、服务器数量、数据到达速率以及各缓存队列中日志的等待时间,日志的等待时间为处理时间与到达时间之差。
[0057]
鉴于日志解析对实时性的高要求,本发明提出增量式长短期记忆网络(下文简写为“增量式lstm”)算法,训练模型实时预测一段时间内所需的服务器数量,并根据预测结果动态增减服务器。这一过程如下:
[0058]
4-1:收集一批历史数据,由分布式服务器处理能力、服务器资源使用情况、服务器运行状况、服务器数量、日志到达速率以及各缓存队列中日志的等待时间组成,作为训练模型使用的基础数据;
[0059]
4-2:对收集到的数据进行预处理,去除异常值、填充缺失值、归一化等操作,以便提高模型训练的效果;
[0060]
4-3:使用增量式lstm算法对预处理后的数据训练模型,使用训练得到的模型预测未来一段时间内服务器数量
[0061]
4-4:根据预测结果增减服务器数量,满足解析任务所需的计算资源;
[0062]
4-5:使用下一时间段的数据,再次训练模型并更新参数,以预测下一时间段所需的服务器数量。
[0063]
4-6:使用新的数据,重复步骤4-2到4-6。
[0064]
服务器每处理完一个窗口的日志数据,监控器就能收集到新的4-1中提到的数据,增量式lstm算法的核心在于总是使用最新的数据训练模型并更新参数,以预测下一时间段的服务器数量,该过程随着日志解析任务的执行不断进行。随着训练数据的不断增加,模型逐步得到优化,准确性也会增加。每次预测的时间段为第一条日志到达的时间与最后一条日志到达的时间之差。
[0065]
通过不断使用实时数据流训练模型并实时预测下一时间段所需服务器数量的方法,能够实现根据日志解析情况按需增减服务器,使解析任务所需的资源具有伸缩性。处理能力不足时增加服务器,能够及时对缓存队列中的日志进行分流处理,减小日志数据处理压力,有效降低日志处理延迟,满足实时性要求。
[0066]
(5)步骤5:定期对步骤3中解析得到的模板进行后处理,主要对模板去重、过滤信息缺失较多的模板、重解析不准确的模板
[0067]
模板数量不断增加,逻辑上形成一个无界的模板数据集,这些模板中可能存在重复的或者错误的模板,需要进行后处理。
[0068]
设置时间间隔定期读取一批模板数据,首先对其进行去重处理;然后通过计算字段的信息熵来衡量模板的信息量,进一步判断其信息缺失程度。计算字段信息熵的公式如下式所示:
[0069]
h=-p*log
2 p
[0070]
其中,p为某字段出现的概率,通过计算其出现次数与所有字段总数之比得出,计算所有字段的信息熵并求和即可得到模板的信息熵。模板的信息熵反映了模板的信息缺失程度,信息熵较低可能是因为信息缺失较多或者该模板为无效模板。
[0071]
为了分别处理不同信息熵范围的模板,本发明提出基于信息熵的后处理方式选择算法。对所有模板的信息熵,首先统计数据分布,根据数据分布设定双阈值(一大一小),比较信息熵与阈值大小,若信息熵低于最小的阈值则说明模板信息缺失较多,直接将模板删除;若信息熵介于两个阈值之间则将其对应的日志进行重解析;大于最大阈值时则保留。该算法以三种不同的后处理方法能够更加准确地对模板进行后处理。这一过程的伪代码如下所示:
[0072][0073][0074]
(6)步骤6:使用相似度度量的方法对步骤5中得到的模板进行融合,融合后的结果为最终的日志模板集。
[0075]
模板融合主要通过对两个或多个模板进行合并或调整来提高模板的质量和准确性。对步骤5得到的模板集,按模板的长度进一步分组,通过计算模板之间的编辑距离来衡量两个模板之间的相似度,核心思想是计算将一个模板转化为另一个模板所需改变的最少字段数。设模板a和模板b的长度分别为m和n,则a和b之间的编辑距离定义式如下式所示:
[0076][0077]
其中,d(i,j)表示模板a的前i个字段和b的前j个字段的编辑距离,cost(i,j)表示a的第i个字段和b的第j个字段的替换代价。
[0078]
基于得到的一组编辑距离,使用经验值法或无监督学习方法设定阈值,如果两个模板之间的编辑距离大于0但小于设定的阈值,则通过合并、修改、删除某些字段或某个模板等调整,使模板更具有覆盖性,并保留覆盖性较大的模板,否则两个模板都保留;若两个模板之间的编辑距离大于设定的阈值,两个模板都保留。
[0079]
经过编辑距离融合后的模板即为最终模板集,将其保存到外部表中进行永久存储。经解析后的日志模板可用于设备异常检测、故障诊断、设备性能分析以及设备安全监控和威胁检测等。

技术特征:
1.一种基于实时流处理的边缘网关设备日志解析方法,其特征在于该方法包括如下步骤:步骤1.利用日志收集程序,以不同的采样间隔实时收集日志,并进行数据清洗;步骤2.在边缘网关和分布式缓存队列中配置mqtt客户端;将采集到的日志通过mqtt协议由边缘网关实时传输至分布式缓存队列中,缓存队列中设置滚动窗口;步骤3.分布式服务器中的日志解析程序监听缓存队列,并加载预先设置的模板集和规则库到内存,监听到有数据时并行读取数据进行解析;步骤4.基于增量式长短期记忆网络算法预测所需服务器数量;步骤5.定期对步骤3中解析得到的模板进行后处理,包括对模板去重、过滤信息缺失较多的模板、重解析不准确的模板;步骤6.使用相似度度量的方法对步骤5中得到的模板进行融合,融合后的结果为最终的日志模板集。2.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:步骤1所述的以不同的采样间隔实时收集日志,具体是:首先对历史时间序列数据进行平滑处理;其次使用处理后的数据训练长短期记忆网络模型以预测未来一段时间的日志产生速率;最后日志收集程序根据预测结果以不同的采样间隔收集日志;使得日志高峰期采样间隔短,每次收集间隔时间段内的日志,数据量大;非高峰期采样间隔相对较长,每次只收集采样时刻的日志,数据量小。3.根据权利要求2所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:所述的平滑处理采用加权移动平均法。4.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:步骤1中对收集到的日志数据进行清洗,删除日志字段缺失、日志不完整的数据,并根据历史日志的最大和最小长度删除长度不合理的日志数据。5.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:步骤3所述的日志解析程序为数据驱动型应用程序,由监听模块、预处理模块、参数匹配模块和输出模块构成,相同的模块分布在多台服务器中;日志流到达缓存队列时,分布式服务器并行读取日志、并行执行解析操作、并行输出结果,用于提高吞吐量和降低延迟。6.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:所述预先设置的模板集描述了日志的格式,包含日志的各个字段、字段类型、字段顺序、字段格式以及常量值;通过对边缘网关设备日志历史样本进行分析得到模板集;所述的规则库中记录时间戳转换规则、日志数据拆分规则、无效字符及其处理方法表、日志字段列表、大小写转换规则、正则表达式、关键词、频繁项列表、键值对拆分规则。7.根据权利要求5所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:所述的监听模块监听缓存队列的状态,并将预先设置的模板集和规则库加载到内存;所述的预处理模块根据规则库中定义的无效字符以及处理方法对可能存在的无效字
符进行处理,并对时间戳、数据表达形式进行转换和处理;按照正则表达式和模板集中对字段、关键字和数据格式的定义提取出日志的时间戳、日志级别和日志来源;所述参数匹配模块根据规则库中记录的正则表达式和关键字,将匹配到的参数使用符号代替,保留常量部分,从而得到日志事件模板;所述输出模块将参数匹配模块处理后得到的日志事件模板与预处理中提取出的日志字段拼接,得到结构化的日志模板数据,并输出到管理表中进行暂存。8.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:步骤4具体是:4-1:收集一批历史数据,由分布式服务器处理能力、服务器资源使用情况、服务器运行状况、服务器数量、日志到达速率以及各缓存队列中日志的等待时间组成,作为训练模型使用的基础数据;4-2:对收集到的数据进行预处理,去除异常值、填充缺失值、归一化;4-3:使用增量式lstm算法对预处理后的数据训练模型,使用训练得到的模型预测未来一段时间内服务器数量;4-4:根据预测结果增减服务器数量,满足解析任务所需的计算资源;4-5:使用下一时间段的数据,再次训练模型并更新参数,以预测下一时间段所需的服务器数量;4-6:使用新的数据,重复步骤4-2到4-6。9.根据权利要求1所述的基于实时流处理的边缘网关设备日志解析方法,其特征在于:步骤5中使用基于信息熵的后处理方式选择算法来分别对不同信息熵范围的日志模板进行后处理;具体是:根据信息熵数据的分布设置双阈值,通过比较信息熵与阈值大小来选择删除模板、保留模板和重解析模板。

技术总结
本发明公开了一种基于实时流处理的边缘网关设备日志解析方法。首先提出了基于日志产生速率的采样间隔自适应调整算法预测日志产生速率,以不同采样间隔实时收集日志,通过MQTT通讯协议将日志数据从边缘网关实时传输到分布式缓存队列。其次由日志解析程序监听缓存队列,实时读取日志并行处理。日志解析主要包括日志预处理和参数匹配,对解析得到的模板,剔除重复的模板,基于信息熵的后处理方式选择算法决定删除模板、保留模板还是重解析模板。最后使用相似度度量的方法融合模板,得到最终的解析结果。本发明从实时采集日志、实时传输日志、实时处理日志三个方面实现日志流的实时解析,并对日志模板进行两次调整,能够保证模板的质量和准确性。证模板的质量和准确性。证模板的质量和准确性。


技术研发人员:黄雨婷 余佳妮 蒋从锋 闫龙川
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.05.23
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐