CN114816243A - 日志压缩方法、装置、电子设备及存储介质 - Google Patents
日志压缩方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114816243A CN114816243A CN202210344639.6A CN202210344639A CN114816243A CN 114816243 A CN114816243 A CN 114816243A CN 202210344639 A CN202210344639 A CN 202210344639A CN 114816243 A CN114816243 A CN 114816243A
- Authority
- CN
- China
- Prior art keywords
- field
- edge
- log
- directed graph
- start time
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种日志压缩方法、装置、电子设备及存储介质。该方法包括:在产生待存储日志的情况下,从待存储日志中提取目标信息,目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中;根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对待存储日志的压缩。基于该操作,无需重复存储源字段和目的字段,并且对节点和边的数量进行压缩之后,对边属性也会进行压缩,从而进一步减少待存储日志所需的存储空间。
Description
技术领域
本申请实施例涉及日志存储技术领域,尤其涉及一种日志压缩方法、装置、电子设备及存储介质。
背景技术
随着信息时代的到来,计算机系统已经深入到人们的工作和生活当中,很大一部分工作都是基于计算机系统来完成的,因此,保护计算机系统的正常运行以及信息安全,成为一项必要的需求。
其中,保证网络安全为保护计算机系统的正常运行以及信息安全的重要手段,网络攻击是威胁网络安全的主要途径,而在实施网络攻击时,通常会产生大量的日志,对于这些日志的审计,就成了保护网络安全的重要工作。
为了便于审计,产生日志后,通常会将日志存储到数据库中,而且在进行日志审计之前,网络攻击的行为往往已经存在半年之久,因此,需要将日志进行长期的存储。但是随着日志数量的增多,日志存储所需要的成本也越来越多,长期存储更是提高了日志存储的成本,导致很多企业无法承担,可能会使网络攻击的行为失去检测基础,即相应的日志被删除,从而无法将网络攻击行为检测出来。
发明内容
本申请实施例提供一种日志压缩方法、装置、电子设备及存储介质,以压缩日志所需的存储空间。
第一方面,本申请实施例提供了一种日志压缩方法,所述方法包括:
在产生待存储日志的情况下,从所述待存储日志中提取目标信息,所述目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
以所述源字段和所述目的字段为节点,以所述开始时间字段、结束时间字段和操作字段为边属性,将所述节点和所述边属性合并到根据前条日志生成的有向图中;
根据所述有向图中边的指向信息对所述有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对所述待存储日志的压缩。
第二方面,本申请实施例还提供了一种日志压缩装置,该日志压缩装置包括:
信息提取模块,用于在产生待存储日志的情况下,从所述待存储日志中提取目标信息,所述目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
有向图生成模块,用于以所述源字段和所述目的字段为节点,以所述开始时间字段、结束时间字段和操作字段为边属性,将所述节点和所述边属性合并到根据前条日志生成的有向图中;
有向图压缩模块,用于根据所述有向图中边的指向信息对所述有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对所述待存储日志的压缩。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请任一实施例提供的日志压缩方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请任一实施例提供的日志压缩方法。
本申请实施例的技术方案中,从待存储日志中提取到目标信息后,以有向图的方式对待存储日志进行压缩和存储,其中,以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中,然后根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩。基于该操作,对于前条日志生成的有向图中已经有的源字段和目的字段对应的节点,合并本待存储日志时,就直接在原有的源字段和目的字段对应的节点基础上进行边属性的合并即可,无需重复存储源字段和目的字段,并且对节点和边的数量进行压缩之后,对边属性也会进行压缩,从而进一步减少待存储日志所需的存储空间。
附图说明
图1为本申请实施例一提供的日志压缩方法的流程示意图;
图2为本申请的实施例一提供的有向图生成流程示意图;
图3是本申请的实施例一提供的对节点和边的数量进行压缩的流程示意图;
图4为本申请的实施例二提供的日志查询的流程示意图;
图5为本申请实施例三提供的一种日志压缩装置的结构示意图;
图6为本申请实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的日志压缩方法的流程示意图,本实施例可适用于日志压缩的场景。该方法可以由日志压缩装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在具有数据运算能力的计算机等电子设备中,具体包括如下步骤:
步骤101、在产生待存储日志的情况下,从待存储日志中提取目标信息,目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段。
需要说明的是,本实施例中的日志压缩为一个实时的过程,每产生一条待存储日志,就会进行一次日志压缩的行为,对于已经进行了压缩和存储的日志,可以在日志产生端将其删除,以减少已存储的日志对日至产生端的存储空间的占用。
另外,本实施例中的日志压缩的场景主要是安全溯源的场景,因此,所需要的提取的目标信息均与安全溯源相关,比如源字段、目的字段、开始时间字段、结束时间字段和操作字段等。
一般,待存储日志中,每个字段在待存储日志中所处的位置是预先设定好的,比如,待存储日志中,第一个字段为源字段,第三个字段为目的字段等等。因此,在提取时,要根据预先设定好的字段与位置的映射关系,从待存储字段中提取所需的字段。
具体的,可以先获取待存储日志中目标字段对应的字段信息,为了后续便于对字段信息的识别,可以基于字段信息以及每个字段信息各自对应的目标字段的预设字段名建立键值对,并将得到的键值对确定为目标信息。
在一个具体的例子中,键值对可以为“开始时间-2022010113062030”;“结束时间-2022010114053020”等等。
当然,目标信息中所包含的字段,可以根据不同的场景所关注的不同的信息进行变化,本实施例仅是安全溯源场景的一个例子。
步骤102、以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中。
本步骤中,由于每次产生待存储日志后,都会进行压缩,因此,本步骤会以对前条日志进行压缩后生成的有向图为基础,进行对本条待存储日志的压缩和存储。
需要说明的是,有向图中通常包括节点和边,边为具有指向性的有向边,而待存储日志中源字段与目的字段之间也是具有方向性的,因此,可以将待存储日志中的源字段和目的字段作为有向图中的节点,源字段和目的字段之间具有边,边的指向信息为源字段对应的节点指向目的字段对应的节点。
另外,对于待存储日志中的其他字段,比如开始时间字段、结束时间字段和操作字段则可以作为源字段和目的字段之间的边的边属性。
由于本条待存储日志并非首条待存储日志,前边有至少一条日志已经经过本实施例的压缩过程,生成了相应的有向图,因此,本步骤可以将节点和边属性合并到根据前条日志生成的有向图中。
合并的具体过程可以参阅图2,图2为本申请的实施例一提供的有向图生成流程示意图。
如图2所示,本实施例提供的有向图生成过程(即合并过程)可以包括:
步骤201、判断前条日志生成的有向图中是否包括源字段和目的字段各自对应的节点。
为了避免将源字段和目的字段进行重复的存储,本步骤会先判断前条日志生成的有向图中是否包括本条待存储日志中的源字段对应的节点以及目的字段对应的节点。
在一个具体的例子中,源字段为F,目的字段为D,开始时间字段为25,结束时间字段为45,操作字段为读。首先从前条日志生成的有向图中查找是否存在节点F和节点D,若都存在,则执行下述步骤202,若仅存在节点F,则执行下述步骤203,若仅存在节点D,则执行下述步骤204。
步骤202、若都包括,将开始时间字段、结束时间字段和操作字段作为边属性,加入到源字段对应的节点和目的字段对应的节点之间的边的边属性中。
本步骤中,对于将开始时间字段、结束时间字段和操作字段作为边属性,加入到源字段对应的节点和目的字段对应的节点之间的边的边属性中。
添加时,可以将开始时间字段和结束时间字段以区间的形式进行添加,操作字段则直接并入相对应的位置即可。
比如,未添加前,边属性为[25,35,F,D,write],待存储日志的开始时间字段为25,结束时间字段为45,操作字段为读(read),为了保证后续压缩时能够表现出合并边属性的所有属性,合并后的边属性可以包括下述信息:[最小开始时间,最大结束时间,源字段,目的字段,操作,时间区间]。
在有查询需求时,最小开始时间和最大结束时间可以快速地锁定满足查询需求的边,有效缩小查询的范围,加快查询速度。
在本例中,由于结束时间字段为45,比原有的35更大,因此,需要将45作为最大结束时间,因此,加入后的边属性为,[25,45,F,D,write;read,(25,35);(25,45)]。需要说明的是,操作与时间区间中的位置顺序是对应的,比如write对应(25,35),read对应(25,45)。
当然,一些情况下,未添加之前的边属性可能本身就是一个合并之后的边属性,即格式为:[最小开始时间,最大结束时间,源字段,目的字段,操作,时间区间]的边属性,比如[15,35,F,D,write;read,(15,45);(25,35)],将源字段为F,目的字段为D,开始时间字段为25,结束时间字段为45,操作字段为读加入该边属性时,首先确定开始时间字段是否比边属性中的当前的最小开始时间小,若小,则需要替换掉最小开始时间,否则,保持最小开始时间不变。
当然,新产生的日志,无论是开始时间还是结束时间,都会比原有的结束时间大,而合并的目的是为了缩减日志所占据的存储空间,而对于时间,相邻近的时间往往包含了众多相同的部分,比如“2022010113062030”和“2022010114053020”,两者相同的部分就包括“202201011”后续在压缩时,可以将相同的部分进行单次的存储,仅重复存储后边的部分即可。此处,为了提高后续压缩的效率,在合并之前,就可以进行预先的处理,比如判断是否要进行合并,若时间的预设位数(前8位)相同(指的是待存储日志中的开始时间、结束时间以及已有的边属性中的最小开始时间、最大结束时间之间进行的比较),则进行合并,否则不进行合并。
当然,前8位只是预设位数的一个例子,预设位数具体为多少,可以根据需求以及具体情况进行预先定义。
步骤203、若仅包括源字段对应的节点,在前条日志生成的有向图中新增目的字段对应的节点,并将开始时间字段、结束时间字段和操作字段确定为源字段对应的节点和目的字段对应的节点之间的边的边属性。
步骤204、若仅包括目的字段对应的节点,在前条日志生成的有向图中新增源字段对应的节点,并将开始时间字段、结束时间字段和操作字段确定为源字段对应的节点和目的字段对应的节点之间的边的边属性。
上述步骤203和204,即会生成新的节点以及边,开始时间字段、结束时间字段和操作字段作为新的边的边属性即可。
步骤103、根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对待存储日志的压缩。
本步骤中,指向信息包括节点之间的指向关系,比如节点A指向节点B,对节点和边的数量进行压缩的过程可以参阅图3,图3是本申请的实施例一提供的对节点和边的数量进行压缩的流程示意图。
如图3所示,对节点和边的数量进行压缩的过程可以包括:
步骤301、对于任一目的字段对应的节点,确定有向图中共享目的字段对应的节点的目标边。
本步骤中,指向该目的字段对应的节点的所有边,称为共享该目的字段对应的节点的目标边。因此,本步骤中在确定目标边时,找到有向图中指向该目的字段对应的节点的边即可。
具体的,可以通过边属性来进行寻找,边属性中,包括了源字段和目的字段,因此,边属性中包含的目的字段为本步骤中的该目的字段,该边属性对应的边,即是本步骤确定的目标边。
步骤302、将所有目标边一端的源字段对应的节点进行合并,得到合并节点,并存储合并节点与所有目标边一端的源字段对应的节点之间的映射关系。
目标边有两端,一端为源字段对应的节点,一端为目的字段对应的节点,为了缩减节点的数量,由于目标边指向的为同一目的字段对应的节点,因此,可以将各目标边一端的源字段对应的节点合并为一个节点,即合并节点,并存储合并节点与源字段对应的节点之间的映射关系,比如下表1。
表1
合并节点 | 源字段对应的节点 |
a | A G F M |
b | B C N D J |
c | E H I |
...... | ...... |
表1中,合并节点c对应了三个源字段各自对应的节点,即E、H、I。
步骤303、将所有目标边进行合并,得到合并边,并对所有目标边的边属性进行合并,得到合并边属性,将合并边属性确定为合并边的边属性。
在对源字段对应的节点合并为合并节点后,合并节点与目的字段对应的节点之间仅需要一条边即可,因此,可以将所有的目标边进行合并,得到合并边。相应的,所有目标边的边属性,也需要合并,而得到的合并边属性,即可以确定为合并边的边属性。
具体的,在合并时,可以遵照前述提到的合并后的边属性可以包括的信息进行合并,即[最小开始时间,最大结束时间,源字段,目的字段,操作,时间区间]。
首先,从所有目标边的边属性中找到最小的开始时间字段,作为最小开始时间,找到最大的结束时间字段,作为最大结束时间;然后将合并节点作为源字段。另外,操作为各目标边的操作,时间区间为各目标边的开始时间字段和结束时间字段组成的区间。
需要说明的是,每个目标边的边属性中都会有对应的操作和时间区间,那么在合并边属性中,会涉及到各个操作在合并边属性中的顺序,以及各个时间区间在合并边属性中的顺序。
本实施例中,可以按照合并节点与相应源字段对应的节点的映射关系中,各源字段对应的节点的顺序,排列各个操作在合并边属性中的顺序,以及各个时间区间在合并边属性中的顺序。
以表1中的合并节点c为例,对应的源字段的节点为E、H、I,在一个具体的例子中,E对应的目标边的边属性为[25,35,E,K,read],H对应的目标边的边属性为[15,45,H,K,write],I对应的目标边的边属性为[35,55,I,K,EXE]。
最小的开始时间字段为15,最大的结束时间字段为55,表3中的源字段对应的节点排序为E、H、I,因此,合并边属性为[15,55,c,K,read,write,EXE,(25,35),(15,45),(35,55)]。
为了进一步对待存储日志进行压缩,可以对边属性中的内容进行进一步的压缩,由于边属性中,占据较大存储空间的为开始时间字段和结束时间字段,因此,可以对开始时间字段和结束时间字段进行编码。
具体的,可以对合并边的边属性中的众多时间区间中的开始时间字段和结束时间字段进行编码,首先,可以按照预设编码方式对合并边的边属性中的开始时间字段和结束时间字段进行编码;然后再将编码得到的信息替换边属性中的开始时间字段和结束时间字段。
具体的,可以先以最小开始时间字段为序列首部,将合并边的边属性中的所有开始时间字段按照在边属性中的位置顺序排列为开始时间序列。
在一个具体的例子中,某个合并边的边属性为:
[20220101002356,20220101053578,b,E,read,write,EXE,read,write,(20220101002456,20220101053578),(20220101002356,20220101052578),(20220101002759,20220101053378),(20220101002653,20220101053558),(20220101002389,20220101053538)]。
其中,最小开始时间为“20220101002356”,该时间作为序列首部,其他的开始时间字段按照其在边属性中的位置进行排列即可,得到如下序列:
[20220101002356,20220101002456,20220101002356,20220101002759,20220101002653,20220101002389]。
然后对于开始时间序列中任意相邻的两个开始时间字段,将两个开始时间字段的差作为排列顺序靠后的开始时间字段的初始编码值。在该例中,即为:
[20220101002356;20220101002356-20220101002456;20220101002456-20220101002356;20220101002356-20220101002759;20220101002759-20220101002653;20220101002653-20220101002389]。
计算减法,即得到:[20220101002356;-100;100;-403;106;264]。
对于结束时间的编码,可以以最大结束时间字段为序列首部,将合并边的边属性中的所有结束时间字段按照在边属性中的位置顺序排列为结束时间序列;然后对于结束时间序列中任意相邻的两个结束时间字段,将两个结束时间字段的差作为排列顺序靠后的结束时间字段的初始编码值。
上述例子中,得到的最终结果为:[20220101053578;0;1000;-800;-180;20]。
对所有的初始编码值进行哥伦布编码后,则得到开始时间的最终序列为[Gol(20220101002356);Gol(-100);Gol(100);Gol(-403);Gol(106);Gol(264)]。
得到的结束时间的最终序列为[Gol(20220101053578);Gol(0);Gol(1000);Gol(-800);Gol(-180);Gol(20)]。
需要说明的是,哥伦布编码为将长整数压缩为相对小整数的编码算法,具体编码过程可以参阅相关的技术,此处不再赘述。
经过上述编码过程,合并边的边属性则转换为:[Gol(20220101002356),Gol(20220101053578),b,E,read,write,EXE,read,write,(Gol(-100),Gol(0)),(Gol(100),Gol(1000)),(Gol(-403),Gol(-800)),(Gol(106),Gol(-180)),(Gol(264),Gol(20)]。
相较于编码之前的边属性,编码后的边属性中的时间字段所需的存储空间更小。
另外,基于上述方式的编码后,若想求取到某个具体的开始时间与结束时间,需要将边属性中排列在该具体的开始时间与结束时间之前的所有开始时间和结束时间都进行解码求取,可能会延长查询的时间。
因此,在一更优的实施例中,可以将开始时间序列中除序列首部外的所有开始时间字段均与序列首部相减,将得到的差值作为相应的开始时间字段的初始编码值。
同理,对于结束时间序列,可以将结束时间序列中除序列首部外的所有结束时间字段均与序列首部相减,将得到的差值作为相应的结束时间字段的初始编码值。
具体示例可以参考前述示例,此处仅是变换了得到初始编码值的方式。该方式中,在查询时,便无需将边属性中排列在该具体的开始时间与结束时间之前的所有开始时间和结束时间都进行解码求取。
本实施例中,从待存储日志中提取到目标信息后,以有向图的方式对待存储日志进行压缩和存储,其中,以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中,然后根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩。基于该操作,对于前条日志生成的有向图中已经有的源字段和目的字段对应的节点,合并本待存储日志时,就直接在原有的源字段和目的字段对应的节点基础上进行边属性的合并即可,无需重复存储源字段和目的字段,并且对节点和边的数量进行压缩之后,对边属性也会进行压缩,从而进一步减少待存储日志所需的存储空间。
实施例二
图4为本申请的实施例二提供的日志查询的流程示意图。如图4所示,本实施例提供的日志查询的过程可以包括:
步骤401、获取查询条件,并对查询条件中的阈值进行哥伦布编码。
本步骤中,查询条件中一般都会有对于时间的限定,比如回溯节点E,以找到开始时间小于某阈值的因果事件。
需要说明的是,因果事件指的是能够在开始时间为某阈值之前对节点E产生因果影响的日志事件。需要说明的是,因果事件(以边属性的格式定义)是可以传递的,比如A指向B,B指向E,其中,A指向B的边的边属性为[70,80,A,B,execute],B指向E的边的边属性为[80,90,B,E,read],由于70小于80,那么[70,80,A,B,execute]发生在[80,90,B,E,read]之前,前者的目的字段对应的节点为后者的源字段对应的节点(两个边为相邻边),那么[70,80,A,B,execute]边是可以影响到[80,90,B,E,read]边的,即可以认为两个边可以传递。
在一个具体的例子中,某阈值可以为20220101002653,那么查询条件为回溯节点E,以找到开始时间小于20220101002653的因果事件(即边属性)。对该阈值进行编码后,得到Gol(20220101002653)。
步骤402、将编码后的阈值与边属性中的最小开始时间字段和/或最大结束时间字段进行比较,得到符合查询条件的目标边属性。
本步骤中,最小开始时间字段和/或最大结束时间字段进行比较,可以根据查询条件来确定,比如查询条件中仅有对开始时间的限定,则比较最小开始时间,若既有开始时间的限定,又有结束时间的限定,则需要比较最小开始时间和最大结束时间。
在前述例子中,是对开始时间有限定,因此,比较边属性中的最小开始时间与查询条件中的阈值即可,假设,经过查询,查询得到符合条件的目标边属性为[Gol(20220101002356),Gol(20220101053578),b,E,read,write,EXE,read,write,(Gol(-100),Gol(0)),(Gol(100),Gol(1000)),(Gol(-403),Gol(-800)),(Gol(106),Gol(-180)),(Gol(264),Gol(20)],那么就需要对该边属性进行解码。
步骤403、对目标边属性进行解码,得到查询结果。
解码时,先利用哥伦布解码,得到事件区间的初始编码值,以及最小开始时间和最大开始时间,然后再按照顺序进行逆运算,比如对于第一个开始时间,即最小开始时间减去第一个初始编码值,得到第一个开始时间,然后对于第二个开始时间,利用第二个开始时间减去第二个初始编码值,得到第二个开始时间,依次类推,得到所有开始时间。对于结束时间,也是如此,此处不再赘述。
解码后,得到原始的边属性为[20220101002356,20220101053578,b,E,read,write,EXE,read,write,(20220101002456,20220101053578),(20220101002356,20220101052578),(20220101002759,20220101053378),(20220101002653,20220101053558),(20220101002389,20220101053538)]
由于b是一个合并节点,根据前述表1可以知道,其对应的源字段的节点依次为B、C、N、D、J,而满足查询条件的为第1、2、5个时间区间,从该边属性中拆分得到[20220101002456,20220101053578,B,E,read]、[20220101002356,20220101052578,C,E,write]和[20220101002389,20220101053538,J,E,write],该三个边属性即为最终的查询结果。
实施例三
图5为本申请实施例三提供的一种日志压缩装置的结构示意图。本申请实施例所提供的日志压缩装置可执行本申请任意实施例所提供的日志压缩方法,具备执行方法相应的功能模块和有益效果。该装置可采用软件和/或硬件的方式实现,如图5所示,日志压缩装置具体包括:信息提取模块501、有向图生成模块502、有向图压缩模块503。
其中,信息提取模块,用于在产生待存储日志的情况下,从待存储日志中提取目标信息,目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
有向图生成模块,用于以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中;
有向图压缩模块,用于根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对待存储日志的压缩。
本实施例中,从待存储日志中提取到目标信息后,以有向图的方式对待存储日志进行压缩和存储,其中,以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中,然后根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩。基于该操作,对于前条日志生成的有向图中已经有的源字段和目的字段对应的节点,合并本待存储日志时,就直接在原有的源字段和目的字段对应的节点基础上进行边属性的合并即可,无需重复存储源字段和目的字段,并且对节点和边的数量进行压缩之后,对边属性也会进行压缩,从而进一步减少待存储日志所需的存储空间。
进一步的,信息提取模块具体用于:
获取待存储日志中目标字段对应的字段信息;
基于字段信息以及每个字段信息各自对应的目标字段的预设字段名建立键值对,并将得到的键值对确定为目标信息。
进一步的,有向图生成模块具体用于:
判断前条日志生成的有向图中是否包括源字段和目的字段各自对应的节点;
若都包括,将开始时间字段、结束时间字段和操作字段作为边属性,加入到源字段对应的节点和目的字段对应的节点之间的边的边属性中;
若仅包括源字段对应的节点,在前条日志生成的有向图中新增目的字段对应的节点,并将开始时间字段、结束时间字段和操作字段确定为源字段对应的节点和目的字段对应的节点之间的边的边属性;
若仅包括目的字段对应的节点,在前条日志生成的有向图中新增源字段对应的节点,并将开始时间字段、结束时间字段和操作字段确定为源字段对应的节点和目的字段对应的节点之间的边的边属性。
进一步的,有向图压缩模块具体用于:
对于任一目的字段对应的节点,确定有向图中共享目的字段对应的节点的目标边;
将所有目标边一端的源字段对应的节点进行合并,得到合并节点,并存储合并节点与所有目标边一端的源字段对应的节点之间的映射关系;
将所有目标边进行合并,得到合并边,并对所有目标边的边属性进行合并,得到合并边属性,将合并边属性确定为合并边的边属性。
进一步的,有向图压缩模块具体还用于:
按照预设编码方式对合并边的边属性中的开始时间字段和结束时间字段进行编码;
将编码得到的信息替换边属性中的开始时间字段和结束时间字段。
进一步的,合并边的边属性中包括最小的开始时间字段和最大的结束时间字段;
有向图压缩模块具体还用于:
以最小开始时间字段为序列首部,将合并边的边属性中的所有开始时间字段按照在边属性中的位置顺序排列为开始时间序列;
对于开始时间序列中任意相邻的两个开始时间字段,将两个开始时间字段的差作为排列顺序靠后的开始时间字段的初始编码值;
以最大结束时间字段为序列首部,将合并边的边属性中的所有结束时间字段按照在边属性中的位置顺序排列为结束时间序列;
对于结束时间序列中任意相邻的两个结束时间字段,将两个结束时间字段的差作为排列顺序靠后的结束时间字段的初始编码值;
对所有初始编码值进行哥伦布编码。
进一步的,装置还包括:
查询条件获取模块,用于获取查询条件,并对查询条件中的阈值进行哥伦布编码;
比较模块,用于将编码后的阈值与边属性中的最小开始时间字段和/或最大结束时间字段进行比较,得到符合查询条件的目标边属性;
解码模块,用于对目标边属性进行解码,得到查询结果。
实施例四
图6为本申请实施例四提供的一种电子设备的结构示意图,如图6所示,该电子设备包括处理器610、存储器620、输入装置630和输出装置640;电子设备中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;电子设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的日志压缩方法对应的程序指令/模块(例如,日志压缩装置中的信息提取模块501、有向图生成模块502、有向图压缩模块503)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的日志压缩方法:
在产生待存储日志的情况下,从待存储日志中提取目标信息,目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中;
根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对待存储日志的压缩。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种日志压缩方法,该方法包括:
在产生待存储日志的情况下,从待存储日志中提取目标信息,目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
以源字段和目的字段为节点,以开始时间字段、结束时间字段和操作字段为边属性,将节点和边属性合并到根据前条日志生成的有向图中;
根据有向图中边的指向信息对有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对待存储日志的压缩。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的日志压缩方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种日志压缩方法,其特征在于,所述方法包括:
在产生待存储日志的情况下,从所述待存储日志中提取目标信息,所述目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
以所述源字段和所述目的字段为节点,以所述开始时间字段、结束时间字段和操作字段为边属性,将所述节点和所述边属性合并到根据前条日志生成的有向图中;
根据所述有向图中边的指向信息对所述有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对所述待存储日志的压缩。
2.根据权利要求1所述的方法,其特征在于,从所述待存储日志中提取目标信息,包括:
获取待存储日志中目标字段对应的字段信息;
基于所述字段信息以及每个字段信息各自对应的目标字段的预设字段名建立键值对,并将得到的键值对确定为所述目标信息。
3.根据权利要求1所述的方法,其特征在于,所述以所述源字段和所述目的字段为节点,以所述开始时间字段、结束时间字段和操作字段为边属性,将所述节点和所述边属性合并到根据前条日志生成的有向图中,包括:
判断前条日志生成的有向图中是否包括所述源字段和所述目的字段各自对应的节点;
若都包括,将所述开始时间字段、结束时间字段和操作字段作为边属性,加入到所述源字段对应的节点和所述目的字段对应的节点之间的边的边属性中;
若仅包括所述源字段对应的节点,在前条日志生成的有向图中新增所述目的字段对应的节点,并将所述开始时间字段、结束时间字段和操作字段确定为所述源字段对应的节点和所述目的字段对应的节点之间的边的边属性;
若仅包括所述目的字段对应的节点,在前条日志生成的有向图中新增所述源字段对应的节点,并将所述开始时间字段、结束时间字段和操作字段确定为所述源字段对应的节点和所述目的字段对应的节点之间的边的边属性。
4.根据权利要求1所述的方法,其特征在于,所述根据所述有向图中边的指向信息对所述有向图中的节点和边的数量进行压缩,包括:
对于任一目的字段对应的节点,确定所述有向图中共享所述目的字段对应的节点的目标边;
将所有所述目标边一端的源字段对应的节点进行合并,得到合并节点,并存储所述合并节点与所有所述目标边一端的源字段对应的节点之间的映射关系;
将所有所述目标边进行合并,得到合并边,并对所有所述目标边的边属性进行合并,得到合并边属性,将所述合并边属性确定为所述合并边的边属性。
5.根据权利要求4所述的方法,其特征在于,所述对压缩后的有向图中的边属性进行压缩,包括:
按照预设编码方式对所述合并边的边属性中的开始时间字段和结束时间字段进行编码;
将编码得到的信息替换所述边属性中的开始时间字段和结束时间字段。
6.根据权利要求5所述的方法,其特征在于,所述合并边的边属性中包括最小的开始时间字段和最大的结束时间字段;
所述按照预设编码方式对所述合并边的边属性中的开始时间字段和结束时间字段进行编码,包括:
以所述最小开始时间字段为序列首部,将所述合并边的边属性中的所有开始时间字段按照在所述边属性中的位置顺序排列为开始时间序列;
对于所述开始时间序列中任意相邻的两个开始时间字段,将所述两个开始时间字段的差作为排列顺序靠后的开始时间字段的初始编码值;
以所述最大结束时间字段为序列首部,将所述合并边的边属性中的所有结束时间字段按照在所述边属性中的位置顺序排列为结束时间序列;
对于所述结束时间序列中任意相邻的两个结束时间字段,将所述两个结束时间字段的差作为排列顺序靠后的结束时间字段的初始编码值;
对所有初始编码值进行哥伦布编码。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取查询条件,并对所述查询条件中的阈值进行哥伦布编码;
将编码后的阈值与边属性中的最小开始时间字段和/或最大结束时间字段进行比较,得到符合所述查询条件的目标边属性;
对所述目标边属性进行解码,得到查询结果。
8.一种日志压缩装置,其特征在于,所述装置包括:
信息提取模块,用于在产生待存储日志的情况下,从所述待存储日志中提取目标信息,所述目标信息包括源字段、目的字段、开始时间字段、结束时间字段和操作字段;
有向图生成模块,用于以所述源字段和所述目的字段为节点,以所述开始时间字段、结束时间字段和操作字段为边属性,将所述节点和所述边属性合并到根据前条日志生成的有向图中;
有向图压缩模块,用于根据所述有向图中边的指向信息对所述有向图中的节点和边的数量进行压缩,并对压缩后的有向图中的边属性进行压缩,以实现对所述待存储日志的压缩。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的日志压缩方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的日志压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344639.6A CN114816243B (zh) | 2022-03-31 | 2022-03-31 | 日志压缩方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344639.6A CN114816243B (zh) | 2022-03-31 | 2022-03-31 | 日志压缩方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114816243A true CN114816243A (zh) | 2022-07-29 |
CN114816243B CN114816243B (zh) | 2023-02-03 |
Family
ID=82533519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210344639.6A Active CN114816243B (zh) | 2022-03-31 | 2022-03-31 | 日志压缩方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816243B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115294203A (zh) * | 2022-10-09 | 2022-11-04 | 智道网联科技(北京)有限公司 | 电子地图的日志处理方法、设备和计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010033461A (ja) * | 2008-07-30 | 2010-02-12 | Nippon Hoso Kyokai <Nhk> | グラフにおけるノード通過回数決定装置およびそのプログラム、ならびにノード通過回数決定装置を備えた音声合成用読上げ文章生成装置 |
CN109844781A (zh) * | 2016-10-24 | 2019-06-04 | 甲骨文国际公司 | 用于从日志文件识别处理流并使流可视化的系统和方法 |
CN110990878A (zh) * | 2019-12-13 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据衍生图的构建方法 |
CN112084154A (zh) * | 2020-09-01 | 2020-12-15 | 浙江工业大学 | 一种跨平台多主机联合日志压缩方法 |
CN113177841A (zh) * | 2021-05-26 | 2021-07-27 | 中国工商银行股份有限公司 | 一种异常社区的识别方法、装置和设备 |
CN113434556A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN113821630A (zh) * | 2020-06-19 | 2021-12-21 | 菜鸟智能物流控股有限公司 | 一种数据聚类的方法和装置 |
CN113836156A (zh) * | 2021-09-15 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 有向图节点更新方法及装置 |
CN113904921A (zh) * | 2021-10-21 | 2022-01-07 | 上海观安信息技术股份有限公司 | 基于日志和图的动态网络拓扑图生成方法、系统、处理设备、存储介质 |
-
2022
- 2022-03-31 CN CN202210344639.6A patent/CN114816243B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010033461A (ja) * | 2008-07-30 | 2010-02-12 | Nippon Hoso Kyokai <Nhk> | グラフにおけるノード通過回数決定装置およびそのプログラム、ならびにノード通過回数決定装置を備えた音声合成用読上げ文章生成装置 |
CN109844781A (zh) * | 2016-10-24 | 2019-06-04 | 甲骨文国际公司 | 用于从日志文件识别处理流并使流可视化的系统和方法 |
CN110990878A (zh) * | 2019-12-13 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据衍生图的构建方法 |
CN113821630A (zh) * | 2020-06-19 | 2021-12-21 | 菜鸟智能物流控股有限公司 | 一种数据聚类的方法和装置 |
CN112084154A (zh) * | 2020-09-01 | 2020-12-15 | 浙江工业大学 | 一种跨平台多主机联合日志压缩方法 |
CN113177841A (zh) * | 2021-05-26 | 2021-07-27 | 中国工商银行股份有限公司 | 一种异常社区的识别方法、装置和设备 |
CN113434556A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN113836156A (zh) * | 2021-09-15 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 有向图节点更新方法及装置 |
CN113904921A (zh) * | 2021-10-21 | 2022-01-07 | 上海观安信息技术股份有限公司 | 基于日志和图的动态网络拓扑图生成方法、系统、处理设备、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115294203A (zh) * | 2022-10-09 | 2022-11-04 | 智道网联科技(北京)有限公司 | 电子地图的日志处理方法、设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114816243B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100085481A1 (en) | Frame based video matching | |
CN114915479B (zh) | 一种基于Web日志的Web攻击阶段分析方法及系统 | |
CN109325118B (zh) | 不平衡样本数据预处理方法、装置和计算机设备 | |
CN114816243B (zh) | 日志压缩方法、装置、电子设备及存储介质 | |
CN113238912B (zh) | 一种网络安全日志数据的聚合处理方法 | |
CN112181614B (zh) | 任务超时监控方法、装置、设备、系统及存储介质 | |
CN113254255A (zh) | 一种云平台日志的分析方法、系统、设备及介质 | |
CN110442623B (zh) | 大数据挖掘方法、装置及数据挖掘服务器 | |
CN111274202A (zh) | 电子合同生成方法、装置、计算机设备及存储介质 | |
Billard et al. | Making sense of unstructured flash-memory dumps | |
CN117376092A (zh) | 故障根因定位方法、装置、设备及存储介质 | |
CN111552842A (zh) | 一种数据处理的方法、装置和存储介质 | |
CN114760113B (zh) | 一种异常告警检测方法、装置及电子设备和存储介质 | |
CN114168581A (zh) | 数据清洗方法、装置、计算机设备及存储介质 | |
CN115730933A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113326064A (zh) | 划分业务逻辑模块的方法、电子设备及存储介质 | |
CN108737522B (zh) | 一种消息的处理方法、装置和系统 | |
Hai et al. | Mining representative movement patterns through compression | |
CN109522915B (zh) | 病毒文件聚类方法、装置及可读介质 | |
CN115883508B (zh) | 一种号码处理方法、装置、电子设备及存储介质 | |
CN113127644B (zh) | 安全知识图谱的构建方法和系统 | |
CN113489622B (zh) | 一种提取网络设备指纹的方法、系统、设备及存储介质 | |
US11900179B1 (en) | Detection of abnormal application programming interface (API) sessions including a sequence of API requests | |
CN112714057B (zh) | 即时消息处理方法、装置、设备及存储介质 | |
CN113407508B (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 |