CN112148479B - 基于Siddhi日志审计中的数据处理方法、装置和计算机设备 - Google Patents

基于Siddhi日志审计中的数据处理方法、装置和计算机设备 Download PDF

Info

Publication number
CN112148479B
CN112148479B CN202010923533.2A CN202010923533A CN112148479B CN 112148479 B CN112148479 B CN 112148479B CN 202010923533 A CN202010923533 A CN 202010923533A CN 112148479 B CN112148479 B CN 112148479B
Authority
CN
China
Prior art keywords
data
event
preset
attribute
discarding
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.)
Active
Application number
CN202010923533.2A
Other languages
English (en)
Other versions
CN112148479A (zh
Inventor
常成龙
范渊
刘博�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202010923533.2A priority Critical patent/CN112148479B/zh
Publication of CN112148479A publication Critical patent/CN112148479A/zh
Application granted granted Critical
Publication of CN112148479B publication Critical patent/CN112148479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种基于Siddhi日志审计中的数据处理方法、装置、计算机设备和存储介质。所述方法包括:在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性值,其中,属性值包括时间属性或者数据量属性,在属性值大于或者等于预设的属性阈值的情况下,丢弃第一事件中预设丢弃量的数据,采用本方法能够根据事件数据的属性值在需要时释放内存,从而避免了内存耗尽问题。

Description

基于Siddhi日志审计中的数据处理方法、装置和计算机设备
技术领域
本申请涉及信息安全技术领域,特别是涉及一种基于Siddhi日志审计中的 数据处理方法、装置、计算机设备和存储介质。
背景技术
Siddhi是一个轻量级的开源复杂事件流程引擎。它使用类SQL的语言描述 事件流任务,可以支撑开发可扩展的、可配置的流式任务执行引擎。传统设计 之中,为了支持不同的告警规则类型,需要编写不同的业务逻辑代码,但是使 用了Siddhi之后,我们只需要配置不同的流任务SiddhiQL,即可以支持不同的 告警业务,检测复杂条件并将输出实时发布到各个端点。Siddhi还用于各种分析 和集成平台,例如Apache Eagle作为策略执行引擎。Siddhi在数据源兼容方面 可使用来自各种事件源的事件,根据定义的Siddhi应用程序处理事件,并向订 阅的事件接收器生成结果。Siddhi可以从内存表或外部数据存储如RDBMS、MongoDB、Hazelcast内存网格中存储和使用事件。Siddhi还允许应用程序和用 户通过其存储查询API查询Siddhi,以交互方式从内存和其他存储中检索数据。
Siddhi中的Pattern模式是事件流随时间关联,并根据事件到达的顺序检测 事件的模式。然而,在Pattern模式中如在时间窗口内解析的日志源一直是某个 事件会引发内存耗尽(Out Of Memory,简称OOM),影响其它组件处理数据的 能力。例如,在时间窗口内有事件A和事件B,原始日志只满足事件A而不满 足事件B,此时在时间窗口内会将满足事件A的所有记录全部保存在内存中直 到事件B到达或时间窗口失效,因此在时间窗口内,若满足事件A的数据量较 大,会造成OOM并进一步导致事件不可控,甚至使程序崩溃。
针对相关技术中,Pattern模式下引发OOM的问题,目前尚未提出有效的解 决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种基于Siddhi日志审计中的数 据处理方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供了一种基于Siddhi日志审计中的数据处理方 法,包括以下步骤:
在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性 值,其中,所述属性值包括时间属性或者数据量属性;
在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件 中预设丢弃量的数据。
在其中一个实施例中,在Siddhi管理器获取SiddhiQL之后,所述方法还包 括:
创建队列容器;
根据Pattern中的事件规则获取数据源中的事件数据,放入所述队列容器;
获取所述事件数据的时间戳,根据所述时间戳和Pattern中的输出规则对所 述事件数据进行排序,输出排序后的所述事件数据。
在其中一个实施例中,在所述属性值大于或者等于预设的属性阈值的情况 下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据条目数大于或者等于预设的条目阈值的情况下,丢 弃所述第一事件中预设丢弃量的数据,其中,所述数据量属性包括所述数据条 目数。
在一个实施例中,所述在所述属性值大于或者等于预设的属性阈值的情况 下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据内存量大于或者等于预设的内存阈值的情况下,丢 弃所述第一事件中预设丢弃量的数据,其中,所述数据量属性包括所述数据内 存量。
在一个实施例中,所述在所述属性值大于或者等于预设的属性阈值的情况 下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据获取时间大于或者等于预设的时间阈值的情况下, 丢弃所述第一事件中预设丢弃量的数据,其中,所述时间属性包括所述数据输 出时间。
在一个实施例中,所述丢弃所述第一事件中预设丢弃量的数据包括:
获取所述第一事件的数据丢弃范围;
丢弃所述第一事件中预设丢弃量的数据,所述预设丢弃量在所述数据丢弃 范围内。
在一个实施例中,所述丢弃所述第一事件中预设丢弃量的数据包括:
将所述丢弃的数据存储至预设存储空间。
第二方面,本申请实施例还提供一种基于Siddhi日志审计中的数据处理装 置,其特征在于,所述装置包括属性模块和丢弃模块:
所述属性模块用于在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一 事件的数据的属性值,其中,所述属性值包括时间属性或者数据量属性;
所述丢弃模块用于在所述属性值大于或者等于预设的属性阈值的情况下, 丢弃所述第一事件中预设丢弃量的数据。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及 存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算 机程序时实现上述基于Siddhi日志审计中的数据处理方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计 算机程序,所述计算机程序被处理器执行时实现上述基于Siddhi日志审计中的 数据处理方法。
上述基于Siddhi日志审计中的数据处理方法、装置、计算机设备和存储介 质,在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性 值,其中,属性值包括时间属性或者数据量属性,在属性值大于或者等于预设 的属性阈值的情况下,丢弃第一事件中预设丢弃量的数据,能够根据事件数据 的属性值在需要时释放内存,从而避免了内存耗尽问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分, 本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限 定。在附图中:
图1是本发明实施例的基于Siddhi日志审计中的数据处理方法的服务器的 硬件结构图;
图2是根据本发明实施例中基于Siddhi日志审计中的数据处理方法流程图;
图3是根据本发明实施例中基于Siddhi日志审计中的数据处理方法中无序 数据处理的流程图;
图4是根据本发明优选实施例中基于Siddhi日志审计中的数据处理方法的 流程图;
图5是根据本发明优选实施例的基于Siddhi日志审计中的数据处理方法中 无序数据处理流程图;
图6是根据本发明实施例中基于Siddhi日志审计中的数据处理装置的示意 图;
图7是根据本发明实施例中基于Siddhi日志审计中的数据处理计算机设备 的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用 以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通 技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本 申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于 本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些 附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过 程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关 的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些 设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的 内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或 特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短 语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的 实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施 例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属 技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一 个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申 请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖 不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、 产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤 或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单 元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理 的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本 申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系, 表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在 A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或” 的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的 对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机、服务器或者类似的运算 装置中执行。以运行在终端上为例,图1是本发明实施例的基于Siddhi日志审 计中的数据处理方法的服务器的硬件结构图。如图1所示,服务器10可以包括 一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中 央处理器CPU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储 器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输 出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不 对上述终端的结构造成限定。例如,服务器10还可包括比图1中所示更多或者 更少的组件,或者具有与图1所示不同的配置。在服务器10上部署的Siddhi管 理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性值,其中,属性 值包括时间属性或者数据量属性;在属性值大于或者等于预设的属性阈值的情 况下,丢弃第一事件中预设丢弃量的数据。其中,服务器10可以用独立的服务 器或者是多个服务器组成的服务器集群来实现。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块, 如本发明实施例中的基于Siddhi日志审计中的数据处理方法对应的计算机程序, 处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应 用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还 可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易 失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102 远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络 的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例 可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输设备106 包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基 站与其他网络设备相连从而可与互联网进行通讯,搜集网络日志信息。在一个 实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用 于通过无线方式与互联网进行通讯。
在一个实施例中,图2是根据本发明实施例中基于Siddhi日志审计中的数 据处理方法流程图,如图2所示,提供了一种基于Siddhi日志审计中的数据处 理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S210,在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件 的数据的属性值。输入pattern模式的结构化SiddhiQL语法,将输入的SiddhiQL 加载到SiddhiManager管理器中,并对SiddhiQL进行解析,在SiddhiManager 对SiddhiQL进行解析的过程中,首先使用antlr4语法判断SiddhiQL是否异常, antlr4语法用作读取、处理、执行或翻译结构化文本或二进制文件,用来构建新 的语言、工具和框架;再将SiddhiQL转化为Siddhi可管理的代码,对SiddhiQL 进行解析。在解析过程中获取pattern中的单个事件的数据的数据属性,以便于 后续进行数据管理策略,上述属性值包括时间属性或者数据量属性;
步骤S220,在属性值大于或者等于预设的属性阈值的情况下,丢弃第一事 件中预设丢弃量的数据。由于OOM的本质问题即内存中的数据存储量过大,因 此为了解决OMM问题,以pattern中单个时间的数据的属性为依据,当该属性 值大于或者等于预设属性阈值的情况下,对该事件的数据进行丢弃处理。然后 接入数据源进入stream中进行验证、匹配,满足Pattern模式中事件条件的数据 源将放入对应的pattern事件流中处理,Pattern中的事件会按照对应的策略去处 理事件流,最终在时间窗口内满足pattern的数据将进行输出。
通过步骤S210至步骤S220,在Siddhi管理器获取SiddhiQL之后,获取 Pattern中第一事件的数据的属性值,在属性值大于或者等于预设的属性阈值的 情况下,丢弃第一事件中预设丢弃量的数据,可以实现根据数据属性值释放出 部分内存,从而避免了OOM问题。
在一个实施例中,在属性值大于或者等于预设的属性阈值的情况下,丢弃 第一事件中预设丢弃量的数据包括以下步骤:在数据量属性包括数据条目数的 情况下,在第一事件的数据条目数大于或者等于预设的条目阈值的情况下,丢 弃第一事件中预设丢弃量的数据。在本实施例中,数据管理策略是根据数据条 目数量进行的,在解析过程中获取pattern中的单个事件,即上述第一事件数据 的数据条目数,当条目数到达预设的阈值限制时丢弃第一事件的部分数据,上 述预设丢弃量可以根据数据条目的平均大小以及内存的大小进行设定。本实施 例提供了一种简洁高效的数据管理方式,在数据条目数较大的情况系下可释放 出部分内存,从而避免了OOM问题。
在一个实施例中,在属性值大于或者等于预设的属性阈值的情况下,丢弃 第一事件中预设丢弃量的数据包括以下步骤:在数据量属性包括数据内存量的 情况下,在第一事件的数据内存量大于或者等于预设的内存阈值的情况下,丢 弃第一事件中预设丢弃量的数据。在本实施例中,数据管理策略是根据第一事 件的数据所占用的内存大小进行的,在解析过程中获取pattern中的单个事件, 即上述第一事件数据的数据内存量,当数据的内存量到达预设的阈值限制时丢 弃第一事件的部分数据,上述预设丢弃量可以根据数据当前所占用的内存大小 以及可用内存的大小进行设定。本实施例提供了一种直观、高效的数据管理方 式,在数据内存量较大的情况系下可释放出部分内存,从而避免了OOM问题。
在一个实施例中,在属性值大于或者等于预设的属性阈值的情况下,丢弃 第一事件中预设丢弃量的数据包括以下步骤:在时间属性包括数据输出时间的 情况下,在第一事件的数据获取时间大于或者等于预设的时间阈值的情况下, 丢弃第一事件中预设丢弃量的数据。在本实施例中,数据管理策略是根据第一 事件的数据获取时间进行的,在解析过程中获取pattern中的单个事件,即上述 第一事件的数据,当数据的获取时间超出预设的时间阈值时丢弃第一事件的部 分数据,上述预设丢弃量可以根据可用内存的大小进行设定。本实施例提供了 一种高效的数据管理方式,在数据获取时间超出时间阈值的情况系下可释放出 部分内存,从而避免了OOM问题。
在一个实施例中,丢弃第一事件中预设丢弃量的数据包括以下步骤:获取 第一事件的数据丢弃范围;丢弃第一事件中预设丢弃量的数据,预设丢弃量在 数据丢弃范围内。例如,采取1-n的丢弃规则,即在属性值大于或者等于预设的 属性阈值的情况下,丢弃第一事件中1条至n条数据,n的取值可以根据应用场 景在SiddhiQL中进行预定义,而丢弃的过程中的丢弃数量是可以在1至n中变 化的。可选地,可以根据数据的重要性来决定可将丢弃的数据量,例如,用户 对数据的要求不高,数据的重要性较低的情况下,可以丢弃全部数据。在本实 施例中,提供了一种更加灵活的数据丢弃方案,使得基于Siddhi日志审计中的数据处理方法能够有更好的适应性,满足更多的应用场景。
在一个实施例中,丢弃第一事件中预设丢弃量的数据包括以下步骤:将丢 弃的数据存储至预设存储空间。在本实施例中,提供了一种丢弃的数据的处理 方式,将并丢弃数据存储可追踪溯源的预设存储空间中,在不影响Siddhi日志 审计的情况下,还能在后续需要进行数据分析或者追溯的情况下,从预设存储 空间中获取到被丢弃的数据,使得基于Siddhi日志审计中的数据处理方法的数 据处理可靠性更高,灵活性更高。
在大数据实时分析级关联规则及网站攻击追踪溯源中都可以引用Pattern模 式,pattern模式根据内部创建状态机来跟踪匹配过程的状态,可以使多个输入 流或同一输入流上的事件相关联,Pattern模式只能按照事件的先后顺序去匹配。 当网络延迟的时候事件的log到达事件流Event Stream的顺序会是一种无序的现 象而Pattern是一种有序的现象,所以日志乱序后会出现无法判断状态的情况。 例如,在网站受到大量攻击此时,对攻击的数据源进行解析并使用Pattern模式 做分析,pattern模式中定义的事件顺序为先A后B,但因为网络问题,pattern 中的stream流接收解析日志log.A和log.B的顺序为先log.B后log.A,那么在时 间窗口内Siddhi无法判断网站受到大量攻击也无法触发告警。因此,在获取 Pattern事件中的数据的过程中,Pattern多事件在时间窗口内不按顺序匹配会出 现失效,导致数据丢失造成有效数据的不可控。
在一个实施例中,图3是根据本发明实施例中基于Siddhi日志审计中的数 据处理方法中无序数据处理的流程图,如图3所示,在Siddhi管理器获取 SiddhiQL之后,包括以下步骤:
步骤S310,创建队列容器。该队列容器可以被用作缓存无序的数据。
步骤S320,根据Pattern中的事件规则获取数据源中的事件数据,放入队列 容器。接入数据源进入stream中验证、匹配满足的数据源,并由stream分配到 对应的pattern中,并对多事件进行一一匹配当满足事件时放入队列容器中。例 如,在Pattern中包括事件A和事件B,steam将对数据源中的数据与事件A、 事件B进行匹配,无论是与事件A匹配或者是与事件B匹配的数据都将放入队 列容器中做缓存。
步骤S330,获取事件数据的时间戳,根据时间戳和Pattern中的输出规则对 事件数据进行排序,输出排序后的事件数据。获取队列容器中各个事件数据的 时间戳,重新按照时间戳排列数据,再根据Pattern中规定的输出规则对事件数 据进行排序。pattern模式将按照队列中的时间顺序对数据进行排序处理并按照 pattern模式进行,最终将时间窗口内满足pattern规则的将对数据进行输出。
通过步骤S310至步骤S330,通过队列容器的设置,可以将无序排列的、但 是符合Pattern中的事件的数据进行缓存,再按照事件的时间戳重新排列,再输 出实际符合Pattern模式的数据。在一些实施例中,步骤S320中,stream验证、 匹配过程中,仅包括时间戳的数据会被存储。通过本实施方式能够更加准确地 获取到满足pattern规则的数据,提高Siddhi日志审计中的数据处理的准确性。 上述pattern数据的丢弃策略也可以用于队列容器中的数据存储过程。
下面通过优选实施例对本申请实施例进行描述和说明。在一个优选实施例 中,图4是根据本发明优选实施例中基于Siddhi日志审计中的数据处理方法的 流程图,如图4所示,该方法包括以下步骤:
步骤S410,输入pattern模式的SiddhiQL语法。其中,语法中包括数据管 理策略的规则设置,即对于数据属性值以及属性阈值的设置。例如 within:strategy<20,10min,1,10>)指示10分钟内只允许20条数据记录存入内存, 当达数据记录到20条记录时可丢弃1-10条数据;within:strategy<10M,1,10>)指 示当存储的数据到达10M时会丢弃1-10条数据;within:strategy<100,1,10>)指示 当存储的数据量到达100时,会选择1-10条数据进行丢弃。
步骤S420,加载管理器SiddhiManager。
步骤S430,解析SiddhiQL。将解析的sql加载到管理器中进行管理。
步骤S440,接入数据源。
步骤S450,Pattern处理。根据Pattern模式中stream的定义接入源数据流并 验证数据是否满足stream中的条件。
步骤S460,执行数据管理策略。当存储的数据达到策略限定的阈值时会根 据策略进行数据的筛选、控制和丢弃。例如,步骤S462,根据数据数量限制策 略进行数据控制,具体地,步骤S463通过1至n丢弃规则,即在属性值大于或 者等于预设的属性阈值的情况下,丢弃第一事件中1条至n条数据,n的取值可 以根据应用场景在SiddhiQL中进行预定义,而丢弃的过程中的丢弃数量是可以 在1至n中变化的;步骤S464是过期时间策略,具体地,通过步骤S465,当数 据的获取时间超出预设的时间阈值时丢弃第一事件的部分数据;步骤S466是根 据内存大小限制策略,具体地,通过步骤S467,当数据的内存量到达预设的阈 值限制时丢弃第一事件的部分数据,上述预设丢弃量可以根据数据当前所占用 的内存大小以及可用内存的大小进行设定。
步骤S470,输出结果。将符合事件条件和数据策略的数据进行输出到outLog 中。
上述基于Siddhi日志审计中的数据处理方法还包括无序数据的处理过程, 图5是根据本发明优选实施例的基于Siddhi日志审计中的数据处理方法中无序 数据处理流程图,如图5所示,无序数据处理包括以下步骤:
步骤S510,输入pattern模式的SiddhiQL语法。
步骤S520,加载管理器SiddhiManager。
步骤S530,解析SiddhiQL。将解析的sql加载到管理器中进行管理。
步骤S540,Pattern模式创建队列容器。
步骤S550,Pattern进行处理,根据stream log定义以及数据的时间戳 timestamp将符合事件规则的事件数据存入队列容器。
步骤S560,队列容器排序。在时间窗口within 10min内进行事件数据的排 序处理。
步骤S570,输出结果。将符合的数据进行输出到outLog中。
上述优选实施例可以克服Siddhi中Pattern模式在多事件流中无法按乱序匹 配以及多事件中的OOM问题,可以使得基于Siddhi的日志审计高效、顺利地 进行。
应该理解的是,虽然图2至图5的流程图中的各个步骤按照箭头的指示依 次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中 有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它 的顺序执行。而且,图2至图5中的至少一部分步骤可以包括多个子步骤或者 多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在 不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是 可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地 执行。
在一个实施例中,图6是根据本发明实施例中基于Siddhi日志审计中的数 据处理装置的示意图,如图6所示,提供了一种基于Siddhi日志审计中的数据 处理装置60,该装置包括属性模块62和丢弃模块64。
属性模块62用于在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一 事件的数据的属性值,其中,属性值包括时间属性或者数据量属性。
丢弃模块64用于在属性值大于或者等于预设的属性阈值的情况下,丢弃第 一事件中预设丢弃量的数据。
关于基于Siddhi日志审计中的数据处理装置的具体限定可以参见上文中对 于基于Siddhi日志审计中的数据处理方法的限定,在此不再赘述。上述基于 Siddhi日志审计中的数据处理装置中的各个模块可全部或部分通过软件、硬件及 其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理 器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用 执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器, 图7是根据本发明实施例中基于Siddhi日志审计中的数据处理计算机设备的示 意图,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的 处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供 计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。 该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非 易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的 数据库用于存储基于Siddhi日志审计中的数据处理数据。该计算机设备的网络 接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实 现一种基于Siddhi日志审计中的数据处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在 存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上 述基于Siddhi日志审计中的数据处理方法。
上述基于Siddhi日志审计中的数据处理计算机设备,在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性值,其中,属性值包括时 间属性或者数据量属性,在属性值大于或者等于预设的属性阈值的情况下,丢 弃第一事件中预设丢弃量的数据,能够根据事件数据的属性值在需要时释放内 存,从而避免了内存耗尽问题。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现上述基于Siddhi日志审计中的数据处理方 法。
上述基于Siddhi日志审计中的数据处理存储介质,在Siddhi管理器获取SiddhiQL之后,获取Pattern中第一事件的数据的属性值,其中,属性值包括时 间属性或者数据量属性,在属性值大于或者等于预设的属性阈值的情况下,丢 弃第一事件中预设丢弃量的数据,能够根据事件数据的属性值在需要时释放内 存,从而避免了内存耗尽问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。 非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可 包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器 总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改 进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权 利要求为准。

Claims (9)

1.一种基于Siddhi日志审计中的数据处理方法,其特征在于,所述方法包括:
在Siddhi管理器获取SiddhiQL之后,创建队列容器;根据Pattern中的事件规则获取数据源中的事件数据,放入所述队列容器;获取所述事件数据的时间戳,根据所述时间戳和Pattern中的输出规则对所述事件数据进行排序,输出排序后的所述事件数据;
获取Pattern中第一事件的数据的属性值,其中,所述属性值包括时间属性或者数据量属性;
在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件中预设丢弃量的数据。
2.根据权利要求1所述的方法,其特征在于,所述在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据条目数大于或者等于预设的条目阈值的情况下,丢弃所述第一事件中预设丢弃量的数据,其中,所述数据量属性包括所述数据条目数。
3.根据权利要求1所述的方法,其特征在于,所述在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据内存量大于或者等于预设的内存阈值的情况下,丢弃所述第一事件中预设丢弃量的数据,其中,所述数据量属性包括所述数据内存量。
4.根据权利要求1所述的方法,其特征在于,所述在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件中预设丢弃量的数据包括:
在所述第一事件的数据获取时间大于或者等于预设的时间阈值的情况下,丢弃所述第一事件中预设丢弃量的数据,其中,所述时间属性包括所述数据输出时间。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述丢弃所述第一事件中预设丢弃量的数据包括:
获取所述第一事件的数据丢弃范围;
丢弃所述第一事件中预设丢弃量的数据,所述预设丢弃量在所述数据丢弃范围内。
6.根据权利要求1所述的方法,其特征在于,所述丢弃所述第一事件中预设丢弃量的数据包括:
将所述丢弃的数据存储至预设存储空间。
7.一种基于Siddhi日志审计中的数据处理装置,其特征在于,所述装置包括属性模块和丢弃模块:
所述属性模块用于在Siddhi管理器获取SiddhiQL之后,创建队列容器;根据Pattern中的事件规则获取数据源中的事件数据,放入所述队列容器;获取所述事件数据的时间戳,根据所述时间戳和Pattern中的输出规则对所述事件数据进行排序,输出排序后的所述事件数据;
所述属性模块还用于获取Pattern中第一事件的数据的属性值,其中,所述属性值包括时间属性或者数据量属性;
所述丢弃模块用于在所述属性值大于或者等于预设的属性阈值的情况下,丢弃所述第一事件中预设丢弃量的数据。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010923533.2A 2020-09-04 2020-09-04 基于Siddhi日志审计中的数据处理方法、装置和计算机设备 Active CN112148479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010923533.2A CN112148479B (zh) 2020-09-04 2020-09-04 基于Siddhi日志审计中的数据处理方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010923533.2A CN112148479B (zh) 2020-09-04 2020-09-04 基于Siddhi日志审计中的数据处理方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN112148479A CN112148479A (zh) 2020-12-29
CN112148479B true CN112148479B (zh) 2024-03-19

Family

ID=73889231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010923533.2A Active CN112148479B (zh) 2020-09-04 2020-09-04 基于Siddhi日志审计中的数据处理方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112148479B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930036A (zh) * 2012-11-09 2013-02-13 南京大学 用于bsm安全审计日志的冗余及无用数据删减方法
CN104580008A (zh) * 2015-01-07 2015-04-29 盛科网络(苏州)有限公司 基于硬件提高多队列随机丢弃报文精度的方法及装置
CN106685848A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 报文丢弃方法及装置
CN109947571A (zh) * 2019-03-22 2019-06-28 北京奇艺世纪科技有限公司 一种内存释放方法及系统
CN110737649A (zh) * 2019-09-25 2020-01-31 苏州浪潮智能科技有限公司 一种数据库的事务日志的处理方法、设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372756B2 (en) * 2013-05-22 2016-06-21 Telefonaktiebolaget Lm Ericsson (Publ) Recovery of operational state values for complex event processing based on a time window defined by an event query

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930036A (zh) * 2012-11-09 2013-02-13 南京大学 用于bsm安全审计日志的冗余及无用数据删减方法
CN104580008A (zh) * 2015-01-07 2015-04-29 盛科网络(苏州)有限公司 基于硬件提高多队列随机丢弃报文精度的方法及装置
CN106685848A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 报文丢弃方法及装置
CN109947571A (zh) * 2019-03-22 2019-06-28 北京奇艺世纪科技有限公司 一种内存释放方法及系统
CN110737649A (zh) * 2019-09-25 2020-01-31 苏州浪潮智能科技有限公司 一种数据库的事务日志的处理方法、设备以及存储介质

Also Published As

Publication number Publication date
CN112148479A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
US10225145B2 (en) Method and device for updating client
CN111447102B (zh) Sdn网络设备访问方法、装置、计算机设备及存储介质
CN112154420B (zh) 自动智能云服务测试工具
CN111740868B (zh) 告警数据的处理方法和装置及存储介质
CN113010378B (zh) 微服务模块的日志处理方法及装置、存储介质、电子装置
CN113946546B (zh) 异常检测方法、计算机存储介质及程序产品
CN104243532A (zh) 数据访问方法及系统
CN112235124B (zh) 一种皮基站配置方法、装置、存储介质和电子装置
CN112148479B (zh) 基于Siddhi日志审计中的数据处理方法、装置和计算机设备
CN110866007B (zh) 大数据应用和表的信息管理方法、系统和计算机设备
WO2023092981A1 (zh) 流式数据处理方法、规则插件、流式数据处理模块及系统
US20120023489A1 (en) Updating computer files
CN109922087A (zh) 工控协议的解析方法、装置、系统及计算机存储介质
CN114422576A (zh) 一种会话清理方法、装置、计算机设备和可读存储介质
CN113949640B (zh) 业务数据处理方法及装置
CN111191103B (zh) 从互联网中识别分析企业主体信息方法、装置及存储介质
CN113010310A (zh) 作业数据的处理方法、装置和服务器
CN112738207B (zh) 关键字数据的传输方法及装置、存储介质、电子装置
CN114090112B (zh) 配置文件的加载方法和装置、存储介质及电子装置
CN108062327B (zh) 客户端的匹配方法和装置
CN115982285B (zh) 数据处理方法、设备及计算机可读存储介质
CN112506991B (zh) 并行处理的方法、系统、电子装置和存储介质
CN113608817B (zh) 弹框处理方法及系统
CN116260853A (zh) 节点设备的连接管理方法、设备及存储介质
CN108092917A (zh) 时序消息串行器

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
GR01 Patent grant
GR01 Patent grant