一种基于机器学习的数据压缩方法及系统与流程

专利2024-10-09  42



1.本发明涉及网络安全技术领域,具体涉及一种基于机器学习的数据压缩方法及系统。


背景技术:

2.随着信息化进程的飞速发展,计算机系统已经成为现代企业的一部分。近年来各行业信息化建设不断完善,业务的操作也越来越集中于信息系统或信息平台,为保证系统正常运行,提高系统的可靠性和安全性,监控中心的建设也越来越普遍,在大规模it环境中,存在着数以万计,甚至百万计的主机、虚拟机或容器节点,每个节点又存在着数以百计的监控指标,这意味着每分钟it环境中都有千万级甚至上亿级的监控指标数据在采集和传输给监控中心,同时监控指标一次采样只有一个点的数据,也无法像流式的日志一样进行文本压缩,这对监控中心的接收能力是一种巨大的考验。
3.现有技术中,海量监控指标数据的实时传输,如果不进行压缩使用普通的传输方法则对带宽、信道都有较高的要求,使用成本也随之提升。


技术实现要素:

4.本发明的目的在于,提供一种基于机器学习的数据压缩方法,解决以上技术问题;
5.本发明的目的还在于,提供一种基于机器学习的数据压缩系统,解决以上技术问题;
6.一种基于机器学习的数据压缩方法,包括,
7.步骤s1,监控中心持续接收采集节点上报的指标数据并进行积累;
8.步骤s2,对积累的所述指标数据进行异常检测模型训练,获得用于检测数据异常的基线模型;
9.步骤s3,将所述基线模型下发至所述采集节点;
10.步骤s4,所述采集节点基于所述基线模型对新采集的所述指标数据进行比对测试,依据测试结果判断是否将新采集的所述指标数据上报至所述监控中心。
11.优选的,其中,步骤s1中,于所述监控中心积累所述指标数据的过程中建立索引,确认所述采集节点能否正常采集数据。
12.优选的,其中,步骤s2包括,
13.对积累的所述指标数据进行聚合运算,合并相似数据规则,形成具备多个所述数据规则的基线模型库;
14.若所述基线模型库内所述数据规则表述不明确,对所述基线模型库再次聚合运算,调整所述数据规则参数,修订为所述基线模型;
15.若所述基线模型库内所述数据规则表述明确,将所述基线模型库直接采用为所述基线模型。
16.优选的,其中,步骤s2中对所述指标数据进行异常检测模型训练的方式具体包括,
17.采用多种算法对每个监控指标分不同时段的所述指标数据进行聚类操作,形成多时段复合的所述基线模型;或;
18.在所述监控中心范围内,先进行所述指标数据的聚类,对同一个聚类的所述指标数据,仅采用聚类中心点的所述指标数据进行异常检测模型训练。
19.优选的,其中,步骤s2还包括,以设定的索引方式对所述指标数据进行追溯检索。
20.优选的,其中,步骤s2还包括,对所述基线模型的内容进行迭代获得迭代后的所述基线模型,并将迭代后的所述基线模型下发至所述采集节点,所述迭代方式包括,
21.依据新的数据字典进行迭代和/或系统版本补丁说明迭代和/或异常事件特征迭代。
22.优选的,其中,步骤s2还包括对所述指标数据进行审核;
23.所述审核方式包括,依据所述指标数据时间戳审核和/或对所述指标数据本身级别进行审核和/或对所述指标数据在应用流程中的状态进行审核。
24.优选的,其中,步骤s4包括,
25.若新采集的所述指标数据经比对测试能够匹配所述基线模型中至少一个所述数据规则,抑制所述采集节点对新采集的所述指标数据的上报行为;
26.若新采集的所述指标数据经比对测试不能够匹配所述基线模型中任意一个所述数据规则,将新采集的所述指标数据作为异常数据上报到所述监控中心。
27.优选的,其中,还包括,
28.步骤s5,所述监控中心分析所述异常数据的特征,并判断所述监控指标的行为模式是否变化,若是,执行步骤s6,否则,将所述异常数据认定为真实异常数据;
29.步骤s6,调整所述基线模型,加入新的所述数据规则,并将调整后的所述基线模型下发至所述采集节点。
30.一种基于机器学习的数据压缩系统,应用于所述的基于机器学习的数据压缩方法,包括:
31.所述监控中心,连接所述采集节点,所述监控中心内设有模型训练模块,所述模型训练模块用于对积累的所述指标数据进行异常检测模型训练,形成所述基线模型;
32.至少一个所述采集节点,所述采集节点内设有,
33.数据采集模块,用于采集各数据源提供的所述指标数据;
34.异常检测模块,用于基于所述基线模型对新采集的所述指标数据进行比对测试。
35.本发明的有益效果:由于采用以上技术方案,本发明对需要传输的指标数据进行模型训练,对新采集的数据在传输前进行收敛,有效减少向监控中心上报的数据量。
附图说明
36.图1为本发明实施例中基于机器学习的数据压缩方法的步骤示意图;
37.图2为本发明实施例中基于机器学习的数据压缩方法的步骤流程图;
38.图3为本发明实施例中模块架构示意图。
39.附图中:1、数据采集模块;2、模型训练模块;3、异常检测模块;4、数据源。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
42.下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
43.一种基于机器学习的数据压缩方法,包括,
44.步骤s1,监控中心持续接收采集节点上报的指标数据并进行积累;
45.步骤s2,对积累的指标数据进行异常检测模型训练,获得用于检测数据异常的基线模型;
46.步骤s3,将基线模型下发至采集节点;
47.步骤s4,采集节点基于基线模型对新采集的指标数据进行比对测试,依据测试结果判断是否将新采集的指标数据上报至监控中心。
48.具体地,本发明提供的基于机器学习的数据压缩方法,通过机器学习的方式,对需要传输的指标数据进行建模,从而对新采集的指标数据在传输前进行收敛,有效减少向监控中心上报的数据量;
49.具体地,基线模型库的生成过程具体包括:
50.由监控中心对采集到的日志数据先进行一定时间的数据积累,然后对这些数据通过多种算法进行机器学习,并辅以管理员手动配置正则方式进行修正,从而实现对指标数据的异常模型训练,形成检测数据的基线模型。
51.将基线模型下发给采集节点或中间代理节点,由采集节点或中间代理节点将基线模型与最新时刻采集的指标数据进行对比测试,根据对比测试结果判断指标数据是否异常,只有当测试结果为异常时才向监控中心上报相关数据,节约传输带宽。
52.具体地,本实施例中数据压缩的基础来源于通过机器学习建立的基线模型库,依据对监测数据源4的一定周期的数据采集,指标数据采集方式有主动采集或被动接收两种,采集的指标数据类型通常包括网络安全设备的系统数据、审计数据、告警数据等;服务器或工作站的系统数据、安全数据、审计数据等;应用软件的系统数据、运维数据、运营数据、审计数据等;数据库的访问记录数据、系统数据、审计数据等。收集到一定当量的指标数据后,即可通过机器学习构建基线模型库,机器学习的时间周期可以选取在监测数据源4运行较为稳定的时期,以减少错误数据的干扰,同时,应保证时间周期不能太短,否则将会影响基础数据库学习的完整程度,造成后续运行时发现大量数据规则匹配失败的异常数据,从而影响到整个数据压缩传输的效率。
53.本发明可以从多维度综合分析指标数据的规则结构,支持正则表达式,xml或json自动解析,数值转化,url解码,agent解析,时间戳识别,字段分拆,syslog预解析,内容替换,扩展字段,自定义字典,脚本解析等。支持预置事件技术统计,时间分段统计,数值分段统计,字段值分类统计,字段数值统计,累计百分比统计,百分位查询统计,展示数据经过聚类后的模式结果,展示每个聚类数量,以及其在全部数据中的占比,可以实现数据异常模式
自动发现、参数突变发现、模式占比突变等异常发现标准。
54.在一种较优的实施例中,步骤s1中,于监控中心积累指标数据的过程中建立索引,确认采集节点能否正常采集数据,数据格式有无识别上的问题。
55.在一种较优的实施例中,步骤s1中,预设的数据采集规则具体包括:syslog上传,snmptrap接收,snmpget接收,脚本上传,web上传,数据库采集,对接kafka/mq消息队列,对接flume数据源,对接hdfs数据源,对接redis数据源,对接netflow数据源,对接docker数据源,压缩文件采集,对接mongodb数据源。
56.常见数据库系统日志数据的收集和解析,包括但不仅限于oracle、mysql等常见日志;支持从常规数据库(如oracle、mysql等)的数据表中增量抽取数据;
57.操作系统日志数据的采集和解析,包括但不限于在centos、red hat、ubuntu、windows多种操作系统上监听日志文件数据所在的动态目录和文件变化进行流式上传。
58.文件型直接采集,具体包括.tar.gz,.tar,.zip格式压缩文件,支持文件数据的多种解码格式,比如gbk、utf-8、utf-16等。
59.在一种较优的实施例中,步骤s2包括,
60.对积累的指标数据进行聚合运算,合并相似数据规则,形成具备多个数据规则的基线模型库;
61.若基线模型库内数据规则表述不明确,涉及到部分常规变量,如日期、时间、随机数、通用起始短语等内容,不需要特别关注该类取值变化,采用人工方式对基线模型库进行再次聚合运算,调整规则参数,修订为基线模型。
62.若基线模型库内数据规则表述明确,将基线模型库直接采用为基线模型,较优的,为方便理解,可以为规则添加语义注解,解释该数据规则代表的特定含义。
63.在一种较优的实施例中,步骤s2中对指标数据进行异常检测模型训练的方式具体包括,
64.采用多种算法对每个监控指标分不同时段的指标数据进行聚类操作,形成多时段复合的基线模型,具体地,如采用通用的iforest、holt-winters等算法对每个监控指标分不同时段的指标数据进行聚类操作以识别其不同的行为类型,如区分工作时段、交易日、节假日等,最终对不同时段生成独立模型,再将不同时段的独立模型进行二次聚合,组成该监控指标的复合模型;或;
65.在监控中心范围内,先进行指标数据的聚类,对同一个聚类的指标数据,仅采用聚类中心点的代表性指标数据进行异常检测模型训练。
66.在一种较优的实施例中,步骤s2还包括,以设定的索引方式对指标数据进行追溯检索,具体包括:支持自定义索引、支持全文检索、支持逻辑运算等方式。
67.具体的,支持设置自定义索引的切分周期和过期时间、和/或支持全文检索、和/或支持短语(多个词中间空格)搜索、和/或支持字段过滤、和/或支持逻辑运算搜索、和/或支持数值范围搜索(数值比较运算,如》,《,《=,》=等)、和/或支持通配符搜索、和/或支持简单正则表达式。
68.在一种较优的实施例中,步骤s2还包括,对基线模型的内容进行迭代获得迭代后的基线模型,并且迭代后的基线模型同样需要下发至采集节点,迭代方式包括,
69.依据新的数据字典进行迭代和/或系统版本补丁说明迭代和/或异常事件特征迭
代。
70.具体的,当监测的数据源4新进行了版本开发,依据新的数据字典进行基线模型库的模型迭代,重新进行模型训练;当监测的数据源4大版本更新、功能性补丁、安全修复性补丁上线时,应重新进行模型训练或更新当前基线模型库;当监测的数据源4报告了大量新事件特征时,运维人员审核确认为正常事件,只是模型训练时未包括进训练时间周期内,应更新当前模型库;。
71.在一种较优的实施例中,步骤s2还包括对指标数据进行审核;
72.审核方式包括,依据指标数据时间戳审核和/或对指标数据本身级别进行审核和/或对指标数据在应用流程中的状态进行审核。
73.具体的,对数据时间戳进行审核包括:数据产生的日期/时间、数据采集上报的日期/时间;对数据本身级别进行审核包括:info(一般信息级别)、warning(告警级别)、error(错误级别)、debug(调试级别);对数据在应用流程中的状态进行审核包括:数据包含的事件信息的完成状态、事件信息中的执行时长、事件信息中的响应时间、事件信息中的id注释号、事件信息中的主机名称、事件信息中的ip记录、事件信息中的内置类型标示、事件信息中的敏感字(up、down、success、failed)、数据中是否包含sql查询语句等。
74.在一种较优的实施例中,步骤s4包括,
75.若新采集的指标数据经比对测试能够匹配基线模型中至少一个数据规则,抑制采集节点对新采集的指标数据的上报行为,不需要传输该数据,节约传输带宽;
76.若新采集的指标数据经比对测试不能够匹配基线模型中任意一个数据规则,将新采集的指标数据作为异常数据上报到监控中心。
77.具体地,基于机器学习的数据压缩方法还包括,
78.步骤s5,监控中心分析异常数据的特征,并判断监控指标的行为模式是否变化,若是,执行步骤s6,否则,将异常数据认定为真实异常数据;
79.步骤s6,调整基线模型,加入新的数据规则,并将调整后的基线模型下发至采集节点。
80.一种基于机器学习的数据压缩系统,应用于任意一项实施例中的数据压缩方法,包括:
81.至少一个采集节点,采集节点内设有,
82.数据采集模块1,用于采集各数据源4提供的指标数据;
83.异常检测模块3,用于基于基线模型对新采集的指标数据进行比对测试;
84.监控中心,连接采集节点,监控中心内设有模型训练模块2,模型训练模块2用于对积累的指标数据进行异常检测模型训练,形成基线模型。
85.具体地,数据采集模块1用于采集各种类型的数据源4提供的监控数据,数据采集模块1采取主动和被动方式获取相关数据,主动方式以采集脚本方式为主,按预设值主动采集不同数据源4的数据。被动方式以对端数据源4主动上传为主,或采取采集插件方式,插件方式部署在需要采集数据的数据源节点,配置需采集数据所在存放目录和路径,对于没有联网的区域的离线数据源4,支持离线上传方式。
86.具体地,模型训练模块2中,单条数据经过用户自定义的正则进行预匹配(可选),配备后的部分先通过分词算法将数据文本转换为分词(同类数据条目中不变的部分)及变
量(同类数据条目中变化的部分)。将转换后的分词序列和已转换的分词序列进行逐一比较,基于文本相似度算法进行打分,得分高于相似度阈值的将识别为相似数据,反之则识别为不同数据。经过一定数据量的对照训练,将形成一批稳定的分词序列组合,称为数据规则模板(即将历史训练数据按照格式分成了不同的类别)。在生成数据规则模板的同时,每一类模板在文本相似度匹配的同时将按照一定时间窗口计算该类别数据的数量,即将数据转换为分类的时间序列。每一个数据规则模板的历史时间序列作为单指标异常检测算法的训练输入,生成波动模型。
87.具体地,异常检测模块3基于训练完成的数据规则模板集和每种数据规则模板的波动模型对新数据进行检测,新数据同样经过分词算法和文本相似度算法处理后,有三种情况会触发数据上报的传输行为,否则抑制掉传输该数据:
88.该数据格式和任何一个数据规则都不匹配,则判定此指标数据为新规则。该数据将生成一个新的规则模板加入到模型模板集中,同时检测发出“发现新数据模式”告警;
89.该数据格式和某个数据规则匹配,而历史上属于该数据格式的发生量小于某个预设百分比。检测发出“发现偶发数据模式”告警;
90.该数据格式和某个数据规则匹配,按照一定时间窗口对该类别数据进行计数。时间窗口结束后将计数值作为一个单指标时间序列数据输入单指标异常检测算法,并采用所匹配的数据模板对应的波动模型进行检测。检测结果为异常,则发出“数据模式突增/突降“告警。
91.具体的,本实施例中,基于机器学习的数据压缩方法,具有多个实用的业务场景,具体包括:
92.监控场景:针对广泛类型的业务系统、软硬件设备的日志数据进行监控,通过对其正常运行期间的日志数据进行采集,积累后开始进行数据模型训练,从而建立类似白名单一样的监控机制,对新增的异常数据保持高度的敏感性,并通过数据迭代,保持整个数据模型得到及时更新,起到保障业务系统安全的效果。
93.检索场景:针对业务系统海量的日志数据,以机器学习辅以人工干预的方式建模,依照数据价值和类型进行分类,以知识库形式对已知日志进行梳理,并对每一次新识别到的异常数据建立索引追踪机制,确保发现问题后,能够追溯到同期发生的所有异常数据,以及异常数据的上下文、时间戳、发生频率等等重要信息,起到关键数据审计归档的功能。
94.在一种较优的实施例中,本发明的技术方案用于进行网络安全监控,具体为媒资业务运行中存在海量日志数据,包括web访问日志数据、nginx代理日志数据、各类中间件日志数据、媒资服务器本身系统日志数据、媒资网络环境内交换机系统日志数据、媒资网络环境内安全防护设备系统日志数据、安全日志数据、媒资系统应用软件任务流转数据、媒资系统应用软件系统状态数据等。这些日志数据分别对应着自身设备功能模块的运维和运营类数据,一天的数据量在百万条当量,如果不经过处理,直接将这些原始日志数据提交到上层网络安全监控平台,这个量级的数据收下来也根本看不过来,绝大部分都属于常规日志数据,没有多少分析价值,真正有价值的关键数据变化,被埋没在海量的数据中无法有效挖掘出来体现价值。通过机器学习,以基线对照的方式将各类数据进行聚合,以层次递进方式将正常数据条目、低风险数据条目、中风险数据条目、高风险数据条目分割出来,自动过滤掉绝大部分无需关注的正常数据,留下需要关注的数据类型,增加上报数据的有效性和价值,
对风险数据条目的敏感性大大增加,从而及时在海量数据中识别到关键数据,及时发现系统发生问题的前兆或线索。在媒资系统出现一个故障点,尚未产生全面影响前,该异常数据被模型对比发现出来,并上传到监控中心,使得管理员及时介入开始着手解决系统问题,大大缩短了系统问题处理的整个周期,对保持业务持续性起到很大的帮助作用,减少了系统故障造成的损失。
95.在一种较优的实施例中,本发明的技术方案用于进行事件检索和追溯,具体为办公自动化系统一段时间以来,一直出现系统响应缓慢的情况,由于偶发性影响不是很大,所以运维人员并没有第一时间反应过来去检查问题所在,直到多次出现后,已无法判断该故障首次出现的时间节点,排障陷入了僵局。通过在监控中心检索近期识别到的异常数据,发现几类异常数据值得怀疑,分别去检索这几类异常的初始上报时间,发现大部分异常数据出现时,该偶发性故障早已开始出现,只有一类异常发生时间略早于有记录的故障时间,有可能是该故障首次出现前触发了某些条件,从而先生成了该异常数据,且分析时间戳,发现当时做过系统变更。抓住这一关键线索后,运维部门与设备厂商取得了联系,确认该次系统变更存在bug,会出现类似的故障现象,从而确定了问题所在,及时修复了该bug。
96.以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

技术特征:
1.一种基于机器学习的数据压缩方法,其特征在于,包括,步骤s1,监控中心持续接收采集节点上报的指标数据并进行积累;步骤s2,对积累的所述指标数据进行异常检测模型训练,获得用于检测数据异常的基线模型;步骤s3,将所述基线模型下发至所述采集节点;步骤s4,所述采集节点基于所述基线模型对新采集的所述指标数据进行比对测试,依据测试结果判断是否将新采集的所述指标数据上报至所述监控中心。2.根据权利要求1所述的基于机器学习的数据压缩方法,其特征在于,步骤s1中,于所述监控中心积累所述指标数据的过程中建立索引,确认所述采集节点能否正常采集数据。3.根据权利要求1所述的基于机器学习的数据压缩方法,其特征在于,步骤s2包括,对积累的所述指标数据进行聚合运算,合并相似数据规则,形成具备多个所述数据规则的基线模型库;若所述基线模型库内所述数据规则表述不明确,对所述基线模型库再次聚合运算,调整所述数据规则参数,修订为所述基线模型;若所述基线模型库内所述数据规则表述明确,将所述基线模型库直接采用为所述基线模型。4.根据权利要求3所述的基于机器学习的数据压缩方法,其特征在于,步骤s2中对所述指标数据进行异常检测模型训练的方式具体包括,采用多种算法对每个监控指标分不同时段的所述指标数据进行聚类操作,形成多时段复合的所述基线模型;或;在所述监控中心范围内,先进行所述指标数据的聚类,对同一个聚类的所述指标数据,仅采用聚类中心点的所述指标数据进行异常检测模型训练。5.根据权利要求1所述的基于机器学习的数据压缩方法,其特征在于,步骤s2还包括,以设定的索引方式对所述指标数据进行追溯检索。6.根据权利要求1所述的基于机器学习的数据压缩方法,其特征在于,步骤s2还包括,对所述基线模型的内容进行迭代获得迭代后的所述基线模型,并将迭代后的所述基线模型下发至所述采集节点,所述迭代方式包括,依据新的数据字典进行迭代和/或系统版本补丁说明迭代和/或异常事件特征迭代。7.根据权利要求1所述的基于机器学习的数据压缩方法,其特征在于,步骤s2还包括对所述指标数据进行审核;所述审核方式包括,依据所述指标数据时间戳审核和/或对所述指标数据本身级别进行审核和/或对所述指标数据在应用流程中的状态进行审核。8.根据权利要求4所述的基于机器学习的数据压缩方法,其特征在于,步骤s4包括,若新采集的所述指标数据经比对测试能够匹配所述基线模型中至少一个所述数据规则,抑制所述采集节点对新采集的所述指标数据的上报行为;若新采集的所述指标数据经比对测试不能够匹配所述基线模型中任意一个所述数据规则,将新采集的所述指标数据作为异常数据上报到所述监控中心。9.根据权利要求8所述的基于机器学习的数据压缩方法,其特征在于,还包括,
步骤s5,所述监控中心分析所述异常数据的特征,并判断所述监控指标的行为模式是否变化,若是,执行步骤s6,否则,将所述异常数据认定为真实异常数据;步骤s6,调整所述基线模型,加入新的所述数据规则,并将调整后的所述基线模型下发至所述采集节点。10.一种基于机器学习的数据压缩系统,应用于权利要求1-9中任意一项所述的基于机器学习的数据压缩方法,其特征在于,包括:所述监控中心,连接所述采集节点,所述监控中心内设有模型训练模块,所述模型训练模块用于对积累的所述指标数据进行异常检测模型训练,形成所述基线模型;至少一个所述采集节点,所述采集节点内设有,数据采集模块,用于采集各数据源提供的所述指标数据;异常检测模块,用于基于所述基线模型对新采集的所述指标数据进行比对测试。

技术总结
本发明涉及网络安全技术领域,具体提供一种基于机器学习的数据压缩方法及系统;包括,步骤S1,监控中心持续接收采集节点上报的指标数据并进行积累;步骤S2,对积累的所述指标数据进行异常检测模型训练,获得用于检测数据异常的基线模型;步骤S3,将所述基线模型下发至所述采集节点;步骤S4,所述采集节点基于所述基线模型对新采集的所述指标数据进行比对测试,依据测试结果判断是否将新采集的所述指标数据上报至所述监控中心。本发明对需要传输的指标数据进行模型训练,对新采集的数据在传输前进行收敛,有效减少向监控中心上报的数据量。量。量。


技术研发人员:张琦 唐广超 徐志亮
受保护的技术使用者:上海东方传媒技术有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9852.html

最新回复(0)