[发明专利]一种通过有限状态机对日志进行自动采集融合的方法在审
申请号: | 202110395569.2 | 申请日: | 2021-04-13 |
公开(公告)号: | CN113076107A | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 张召 | 申请(专利权)人: | 杭州又拍云科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 陈升华 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 有限状态机 日志 进行 自动 采集 融合 方法 | ||
本发明公开了一种通过有限状态机对日志进行自动采集融合的方法,包括:通过注入Lua代码,生成日志采集系统状态机的Lua文件;通过运行Lua虚拟机,执行Lua文件转化为目标语言的抽象语法树,生成目标语言的代码;状态机引擎执行该目标语言的生成代码,对日志采集系统的状态切换和动作进行控制。本发明中,当日志数据源发生变化或日志采集逻辑发生变化时,只需要在控制台使用Lua重写对应的规则即可,大幅减少了因业务逻辑变化等带来编译目标语言发布等上线流程,提升了日志采集系统稳定性和灵活性,提升了开发效率。
技术领域
本发明涉及网络日志采集技术领域,具体涉及一种通过有限状态机对日志进行自动采集融合的方法。
背景技术
有限状态机能够有效、方便地描述系统和组件的动态行为,其广泛应用于日志采集应用开发。有限状态机具有有限个状态,一般包括状态及状态之间的转移关系。
网络中网关设备的数量较多,且分布不均的特点,用于从网关设备上获取网络日志的各网络日志服务器在物理上是分布式的,并需要将各自得到的日志采集数据通过网络传送至日志采集服务器,由于日志采集数据的数据量较大,将日志采集数据传送至日志采集服务器则需要较高的网络带宽资源,且当日志采集数据在保存时,也需要较多的存储资源。
因此,需要一种将Lua代码注入有限状态机的执行和应用方案,其能够减少采用静态语言的有限状态机时对象的数量,从而减少对运行该有限状态机的应用的存储空间的占用,降低运行时间开销,提高系统整体性能。
发明内容
本发明提供一种通过有限状态机对日志进行自动采集融合的方法,用以解决现有技术中存在的传输日志采集数据所需的网络带宽资源较多,存储日志采集数据所需的存储资源较多的问题。
一种通过有限状态机对日志进行自动采集融合的方法,包括以下步骤:
1)日志采集数据压缩,具体包括:
1.1)获取日志采集数据;
1.2)分别对所述日志采集数据中各属性字段的各属性值进行编码,得到与每个属性值对应的Lua代码;
1.3)使用得到的所述Lua代码,替换所述日志采集数据中对应的属性值,得到压缩后的日志采集数据。
2)日志采集数据解压缩。
步骤1.2)中,各属性字段可以包括:接入点名称、归属基站ID、IP、URL等。
步骤1.2)中,编码具体包括:
1.2.1)分别统计该属性字段的各属性值在所述日志采集数据中出现的次数;
1.2.2)根据各属性值在所述日志采集数据中出现的次数,对该属性字段的各属性值进行编码,得到与各属性值分别对应的Lua代码,其中,出现的次数大的属性值对应的Lua代码的数据量,不大于出现的次数小的属性值对应的Lua代码的数据量。
步骤1.2.2)中,根据各属性值在所述日志采集数据中出现的次数,对该属性字段的各属性值进行编码,得到与各属性值分别对应的Lua代码,具体包括:
1.2.2.1)根据各属性值在所述日志采集数据中出现的次数,构建抽象语法树,其中,所述抽象语法树中的各叶子节点,分别对应表征各属性值在所述日志采集数据中出现的次数,且所述抽象语法树中的父节点表征的数值,为该父节点的两个子节点表征数值的和值,且所述抽象语法树中每个节点表征的数值,不小于该节点所属等级的下一级节点表征的数值;
1.2.2.2)确定所述抽象语法树中叶子节点对应的属性值的Lua代码,将从根节点到该叶子节点的路径所包括的各子树分别对应的弧值,进行排列得到的二进制编号,其中,所述抽象语法树中节点的左子树的弧值为0,右子树的弧值为1;或者所述抽象语法树中节点的左子树的弧值为1,右子树的弧值为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州又拍云科技有限公司,未经杭州又拍云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110395569.2/2.html,转载请声明来源钻瓜专利网。