首页> 中国专利> 一种对历史数据进行回溯分析的分布式系统及方法

一种对历史数据进行回溯分析的分布式系统及方法

摘要

本发明公开了一种对历史数据进行回溯分析的分布式系统及方法,该系统由存储节点、分析节点、管理节点、缓存节点组成;管理节点为系统中的人机交互节点;存储节点、分析节点、缓存节点均为分布式节点,分布式节点之间是平等的,且均为去中心化的节点;存储节点采用分类分区存储对历史数据进行分布式存储;分析节点的分析规则通过管理节点进行统一配置、存储、管理;分析规则需要预编译成规则树。一种对历史数据进行回溯分析的方法,系统启动;预编译分析规则并分组;获取数据;数据分析;数据二次分析;对分析规则进行调优。本方法通过少许牺牲单个节点的性能,带来更多业务处理上的便利性,通过分布式节点的增加来达到系统总体性能的提升。

著录项

  • 公开/公告号CN117271669A

    专利类型发明专利

  • 公开/公告日2023-12-22

    原文格式PDF

  • 申请/专利权人 睿安致远(北京)信息技术有限公司;

    申请/专利号CN202311492636.8

  • 发明设计人

    申请日2023-11-10

  • 分类号G06F16/27;G06F16/28;G06F8/41;G06F9/54;G06F16/22;

  • 代理机构威海惠和惠知识产权代理事务所(普通合伙);

  • 代理人宋玲玲

  • 地址 100097 北京市海淀区蓝靛厂南路25号10层10-11-1

  • 入库时间 2024-04-18 19:58:53

说明书

技术领域

本发明涉及计算机信息处理领域,尤其涉及一种对海量的、多源的历史数据进行回溯分析的分布式系统及方法,属于大数据分析领域。

背景技术

当前,我们已经进入信息大爆炸的时代,信息技术高度发达,信息产生、传播和获取速度极快。同时,随着人工智能、大数据、云计算等新技术的发展,各种信息设备产生大量的数据,各种信息系统相关的各种软硬件设备、主机、应用系统、安全防护设施等都会产生大量数据,并且这些设备都分散在网络拓扑中的不同位置,数据的数量和种类不断增加,因此需要使用各种技术和工具来存储、管理和分析数据。

随着存储技术的发展,数据存储本身比较容易,各种企事业单位、组织每天存储的数据都以TB,甚至以PB来计,但对于如此大量的数据,仅仅是从中查询数据,已经比较困难,如果再对其进行分析,则困难重重。

当今的企业和组织在业务安全,信息安全领域面临比以往更为复杂的局面,这既有来自于企业和组织外部的层出不穷的入侵和攻击,也有来自于企业和组织内部的违规和泄漏。

当前企业信息安全分析、审计人员,以及数据审计平台面临的问题:

1.存储的数据以指数级增长,必须对海量数据进行分析。

2.数据处理的速度,远远低于数据接收、存储的速度。

3.网络攻击的手段越来越多样化,攻击手法越来越隐蔽。

4.一些异常行为,如果从独立的事件来看,都是正常行为,但多个看似无关的正常事件,放在一起,则是异常行为。

5.对分析规则进行调优后,如何对历史数据进行快速、准确地进行分析,存在困难。

目前业界对异常事件的分析处理方法,主要是两种方案:

1.实时分析,通过预定义一些分析规则,通过集中式或分布式平台,对接收到的数据进行分析。这种方案的缺点,一是规则不能太复杂;二是通常处理能力有限;三是难以对较长时间窗口的事件进行关联;最后,分析规则经常需要调优,调优后的规则,对之前已经处理过的历史数据,无能为力。

2.回溯分析,虽然可以对历史数据进行分析,但不同规则之间,通常各自为战,经常存在重复判断,因而性能较低,继而支持的规则数量有限。

针对当前业界存在的问题,本发明主要解决以下问题:

1.支持复杂的分析规则。

2.通过对分析规则预编译,减少重复匹配,从而提高性能。

3.规则的复杂性,对性能的影响较小。

4.支持长时间窗口的事件关联。

5.规则调优后,可以对数据重新进行分析,从而减少漏报。

6.通过分布式节点的增加来横向扩展,从而大大提高处理速度。

发明内容

为了解决上述技术所存在的不足之处,本发明提供了一种对历史数据进行回溯分析的分布式系统及方法,通过对分析规则的预编译,减少重复计算,从而提高单个计算节点的匹配性能,通过分布式节点的的增加来突破单个计算节点的处理瓶颈,从而提高整个系统的分析性能。

为了解决以上技术问题,本发明采用的技术方案是:一种对历史数据进行回溯分析的分布式系统,该系统由存储节点、分析节点、管理节点、缓存节点组成;

管理节点为系统中的人机交互节点;

存储节点、分析节点、缓存节点均为分布式节点,分布式节点之间是平等的,且均为去中心化的节点;

存储节点采用分类分区存储对历史数据进行分布式存储;

分析节点的分析规则通过管理节点进行统一配置、存储、管理;

分析规则需要预编译成规则树,根据树节点设置不同的优先级,规则树存储在缓存节点上。

优选的,分类分区存储规则可配置:按数据源存储或按设备类型存储;存储节点同时也可是分析节点。

优选的,分析规则是对已处于启用状态的规则进行预编译:对分析规则进行调优时,需要重新编译规则树,并同步更新缓存节点;对分析规则进行调优后,选择是否重新对历史数据进行回溯分析。

优选的,预编译将分析规则进行拆分成多个计算因子,其中:

1)最小的计算因子称为算子;

2)由多个算子组成逻辑表达式;

3)由多个逻辑表达式组成一个匹配条件,称之为事件;

4)由多个事件组成事件关联条件;

5)当数据存储按照数据来源分区存储时,所有的事件均有一个名称为数据来源的属性,属性不可以为空。

优选的,每个计算因子的计算结果,都存储在缓存节点上,当所有的分析规则匹配完成时,再将计算因子从缓存节点中删除。

优选的,分析规则的配置必须通过管理节点进行,分析规则的所有配置信息都存储在缓存节点上。

优选的,回溯分析规则,由n个事件组成,其中,n≥1,具体如下:

(1)当n=1时,事件匹配成功,对应的分析规则匹配完成,直接返回结果;

(2)当n>1时,只有n个事件都成功匹配,对应的分析规则才进行下一步匹配判断,所以,其中任一事件匹配成功,均需要在缓存节点中保存对应事件的中间状态,以备后续进行多事件匹配。

优选的,管理节点上的所有配置信息都存储在缓存节点上,以提高访问性能。

一种对历史数据进行回溯分析的方法,包括以下步骤:

1)系统启动;

2)预编译分析规则并分组,结果存入缓存节点;

3)根据预编译的规则从存储节点获取数据;

4)分析节点对数据进行分析:直接输出结果或者状态数据;

5)分析节点对状态数据进行二次分析;

6)如果有必要,对分析规则进行调优。

优选的,分析节点的分析过程为:将所有已启用的分析规则,进行预编译,预编译完成后,生成多个不同的规则树,每个规则树对应一个数据来源,每一个数据来源对应存储节点中的一个分区;分析节点根据不同的规则树,去缓存节点上获取对应的数据,通过这些数据进入规则树;对每一条数据,根据算子的优先级进行匹配计算,匹配计算成功后,存入缓存节点。

本发明提供一种对历史数据进行回溯分析的分布式系统及方法,通过对数据存储规则的配置,减少进入分析节点的数据量;以及对分析规则的预编译,减少重复计算,从而提高单个计算节点的匹配性能;通过分布式节点的的增加来突破单个计算节点的处理瓶颈,从而提高整个系统的分析性能。此外,通过回溯分析而不是实时分析,来应对现实场景中经常对规则进行调优的场景,从而避免对参与分析的数据的遗漏,减少误报;相对于实时分析来说,本方法的数据来源是历史数据,通过少许牺牲单个节点的性能,带来更多业务处理上的便利性,通过分布式节点的增加来达到系统总体性能的提升。

附图说明

图1为本发明的系统组成图。

图2为本发明的系统整体流程图。

图3为本发明的规则树示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明提出一种对历史数据进行回溯分析的分布式系统:

1.如图1所示,整个系统是由存储节点、分析节点、管理节点、缓存节点组成;

1)除管理节点外,其他类型的节点都是分布式节点;

2)分布式节点之间是平等的、所有的分布式节点都是没有中心化的节点;

3)设备性能允许的话,一个节点可以既是分析节点,又是存储节点,同时还是缓存节点。

优选地,每个节点,都分别采用独立的计算资源、存储资源;在某些情况下,比如某台设备的计算资源非常强劲,也可以多个节点共用计算资源。管理节点通常是单个节点,但也可以布署一个从节点,以增强可用性。

2.海量历史数据是分布式存储的

1)数据分类存储,存储规则是可配置的,比如可以按数据源来存储,也可以按设备类型来存储;

2)数据的分类存储是为了服务于分析节点的分析功能;

3)本例中,我们假设数据按照数据源分区存储。

优选地,数据应该分类分区存储,分类分区不影响存储节点的分布性。分类分区存储,主要是为了跟分析规则配合,达到减少参与分析的数据量的目的。分类分区存储,性能提升的关健处理方法之一。

3.如前所述,分布式存储节点同时也可以是分析节点;

4.分析规则通过管理节点,统一配置、存储、管理。

5.规则需要预编译成规则树,根据树节点设置不同的优先级:

1)我们只对已处于启用状态的规则进行预编译,从而减少无效规则的参与;

2)为了性能的提升,规则树存储在分布式缓存节点上;

3)规则调优后,需要重新编译规则树,并更新缓存节点;

规则树的最小叶节点,我们称为算子(布尔类型),多个规则,可能会共用一个或几个算子,举个简单的例子:规则R1表达式为A and B,规则R2表达式为A and C,A,B,C就是最小的3个算子,但这三个算子的优先级是不同的,A的算子优先级最高,因为只有A满足的情况下,B和C才有参与计算的必要,如果A不满足,这两个规则均不能匹配。

6.如前所述,预编译规则的过程中,将分析规则进行拆分成多个计算因子:

1)最小的计算因子我们称之为算子;

2)由多个算子组成逻辑表达式,逻辑表达式本质上也是算子;

3)由多个逻辑表达式组成一个匹配条件,我们称之为事件;

4)由多个事件组成事件关联条件。

7.不是所有数据都需要参与分析,只有跟分析规则相关的数据,才会参与分析:

1)如前所述,规则可以拆分成多个事件;

2)重要的是,每个事件,都必须有一个数据来源标记;

3)如前所述,数据的存储,是按照数据来源分区存储的;

4)最后,我们只需要从分布式存储节点上,取对应分区的数据,从而大大减少参与分析的数据量,从而极大地减少磁盘IO,也减少了CPU算力。

优选地,规则预编译是本例中的关键步骤,通过规则状态过滤,规则拆分,标记算子优先级等,从而生成一颗高效的规则匹配树,见附图3(规则树示意图)。

8.每个计算因子的计算结果,都存储在分布式缓存节点上:分布式缓存节点,属于关键节点;当所有的相关规则匹配完成时,再从缓存节点中删除。

优选地,大量使用分布式缓存节点,提高二次匹配效率,以及匹配的时间窗口。

9.规则配置信息的存储与管理

1)规则的配置,必须通过管理节点进行;

2)管理节点是本发明系统中唯一的人机交互节点;

3)所有规则的配置信息,都存储在分布式缓存节点上。

管理节点在本例中属于非关键但又非常必要的节点,供人机交互使用。优选地,管理节点上所有配置信息,都存储在分布式缓存节点上,以提高访问性能。

10.回溯分析的过程

整个回溯分析过程,都基于前述方案:

1.首先将所有已启用的规则,进行预编译,预编译是非常复杂的过程,是一个将分析规则拆分成算子,标记优先级,再重新组合的过程;

2.编译完成后,生成多个不同的规则树,也可以称之为事件匹配树;

3.关键地,为什么是多个不同的规则树,因为每个规则树,会对应一个数据来源;

4.关键地,每一个数据来源,又对应着分布式存储节点中的一个分区;

5.分布式分析节点,根据不同的规则树,去分布式分存节点上获取对应的数据,只有这些数据,才会进入分析规则匹配树;

6.对每一条数据,会根据算子的优先级,进行匹配计算,匹配计算成功后,存入分布式缓存;

7.重要地,每一条数据的属性是无限的,但算子的数量是有限的,这样会大大减少匹配的计算量;

8.对规则进行调优时,需要重新编译并同步更新缓存中的规则匹配树;

9.对规则进行调优后,可以选择是否重新对历史数据进行回溯;

10.具体的回溯分析规则,可能由n(n≥1)个事件组成:

1)当n=1时,事件匹配成功,对应的分析规则匹配完成,直接返回结果;

2)当n>1时,只有n个事件都成功匹配,对应的分析规则才可以进行下一步匹配判断,所以,其中任一事件匹配成功,均需要在分布式缓存中保存对应事件的中间状态,以备后续进行多事件匹配。

通过以下实施例对编译规则树进行说明:

其中,R1中的R代表Rule,E1中的E代表Event,R1-E1表示规则R1中的事件表达式E1。

1.规则R1,由两个事件表达式组成:

R1-E1:数据来源为S1,条件为(A and B)or(C and D);

R1-E2:数据来源为S2,条件为(E and F);

R1-E1和R1-E2事件表达式之间的关联条件,我们用R1.C表达。

2.规则R2,数据来源为S1,只有一个事件表达式(A and C);

3.上面两条规则的组成因子分别如下表所示:

4、编译成规则树,如附图3所示。具体方式为:

1.将规则拆分成事件表达式,如表格中所述,规则R1由两个事件表达式R1-E1,R1-E2组成;规则R2只有一个事件表达式R2-E1;

2.每个事件表达式由数据来源、逻辑表达式组成,逻辑表达式由算子组成,如上表所述;

3.数据来源优先级最高,所以最先参与计算,以决定数据流向;

4.其次,多个事件表达式中都有的算子,优先级更高,比如此例中的算子A,既属于R1-E1,也属于R2-E1。

如图2所示,一种对历史数据进行回溯分析的方法,包括以下步骤:

1)系统启动;

2)预编译分析规则并分组,结果存入缓存节点;

3)根据预编译的规则从存储节点获取数据;

4)分析节点对数据进行分析:直接输出结果或者状态数据;

5)分析节点对状态数据进行二次分析;

6)如果有必要,对分析规则进行调优。

作为优选,分析节点的分析过程为:将所有已启用的分析规则,进行预编译,预编译完成后,生成多个不同的规则树,每个规则树对应一个数据来源,每一个数据来源对应存储节点中的一个分区;分析节点根据不同的规则树,去缓存节点上获取对应的数据,通过这些数据进入规则树;对每一条数据,根据算子的优先级进行匹配计算,匹配计算成功后,存入缓存节点。

上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号