CN115237875B - 一种日志数据处理方法、装置、设备、存储介质 - Google Patents
一种日志数据处理方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN115237875B CN115237875B CN202211169509.XA CN202211169509A CN115237875B CN 115237875 B CN115237875 B CN 115237875B CN 202211169509 A CN202211169509 A CN 202211169509A CN 115237875 B CN115237875 B CN 115237875B
- Authority
- CN
- China
- Prior art keywords
- data
- log
- log data
- information
- area
- 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
Links
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志数据处理方法、装置、设备、存储介质,涉及工业互联网技术领域,包括:将收集的日志数据按照预设时间周期创建相应的数据文件,按照数据尾指针指定的位置信息将数据文件中的目标日志数据写入对应位置信息的日志数据区;根据目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;当目标日志数据的写入操作完成后,修改日志链表信息并更新时间索引表的版本信息,将时间索引表的版本信息备份保存,实现对日志数据的处理。将时间索引区及时间索引指向的少量包含日志数据区的信息数据区映射至内存,每次映射当日数据文件中需要读写操作的数据区域的块映射的方法,保证数据安全性、完整性并且低延迟处理大量数据。
Description
技术领域
本发明涉及工业互联网技术领域,特别涉及一种日志数据处理方法、装置、设备、存储介质。
背景技术
随着针对工控领域的威胁及攻击越来越多,电力系统安全问题越来越凸显,作为国家关键信息基础设施重要节点,以电力系统为代表的工控系统需要将自身的过程记录、流量数据、工作日志等信息进行存储,以便后期进行安全查阅、分析及审计。根据网络安全相关法律法规的要求,采集到的数据流量至少要保存半年,对于工控系统等关键节点系统而言,需要存储的日志量巨大。现有技术中,由于磁盘读写速度较慢,通用数据库在操作日志数据时往往会将使用内存进行缓存,以缓解磁盘读写速度较慢的问题。但常见的关系型数据库对内存要求动辄数G的物理内存和虚拟内存,非关系型数据库也对内存容量有着较高的要求。但工控系统的内存资源有限,无法满足通用数据库对内存的基本要求,通用数据库甚至无法运行。基于此在工控系统中会采用文本数据库的形式进行日志数据存储,但磁盘I/O速度较低,满足不了大并发的日志读写需求。
综上,如何在工控系统的有限内存的环境下,实现海量日志数据的高效读写处理是本领域有待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种日志数据处理方法、装置、设备、存储介质,能够在工控系统的有限内存的环境下,实现海量日志数据的高效读写处理。其具体方案如下:
第一方面,本申请公开了一种日志数据处理方法,包括:
将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;
根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;
当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。
可选的,所述将收集的日志数据按照预设时间周期创建相应的数据文件之后,还包括:
对所述数据文件进行划分,以获取时间索引区和包含日志数据区、文件信息区的信息数据区。
可选的,所述根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息之前,还包括:
构建日志时间与日志链表信息的映射关系,并将所述映射关系保存在时间索引表。
可选的,所述按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区,包括:
若检测到所述日志数据区被日志数据写满,则新增日志数据区,并将数据尾指针指定的位置信息按照预设偏移长度移动相应的位置信息。
可选的,所述日志数据处理方法,还包括:
当接收到读取目标日志数据的读取请求时,对时间索引备份表进行拷贝,以获取拷贝后的时间索引备份表;
设置检索条件,基于所述检索条件、目标日志数据的日志时间从所述拷贝后的时间索引备份表中确定出对应的日志链路表信息;
遍历所述日志链路表信息,并确定出映射的信息数据区;从所述信息数据区的日志数据区中获取所述目标日志数据。
可选的,所述遍历所述日志链路表信息,并确定出映射的信息数据区,包括:
遍历所述日志链路表信息,判断所述日志链路表映射的当前信息数据区是否包含目标日志数据;
若不包含所述目标日志数据,则释放所述当前信息数据区,并移动至下一信息数据区,然后跳转执行判断所述日志链路表映射的当前信息数据区是否包含目标日志数据的步骤,直至确定信息数据区包含所述目标日志数据。
可选的,所述从所述信息数据区的日志数据区中获取所述目标日志数据,包括:
判断所述日志数据区的日志数据是否满足检索条件,若不满足所述检索条件,则跳转执行遍历所述日志链路表信息的步骤,直至所述日志数据满足所述检索条件,并将所述日志数据作为所述目标日志数据。
第二方面,本申请公开了一种日志数据处理装置,包括:
数据写入模块,用于将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;
链表获取模块,用于根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;
索引表备份模块,用于当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的日志数据处理方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的日志数据处理方法的步骤。
由此可见,本申请公开了一种日志数据处理方法,包括:将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。可见,将日志数据按照时间周期进行数据文件的创建,进行日志数据的第一次分块处理,然后通过数据尾指针指定的位置信息将分块处理后的日志数据写入对应的日志数据区,然后将写入数据的日志数据区进行快速映射,形成块映射关系,并且调整相应的日志链表信息,将该信息保存,这样一来,通过每次只映射当日数据文件中需要读写操作的那块数据区域的块映射的方法,在保证数据安全性、完整性的前提下,满足低延迟处理大量数据的要求,在数据库读写时,仅将时间索引区及时间索引指向的少量包含日志数据区的信息数据区映射至内存,这样在实现数据库快速操作的同时,对内存的需求量最小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种日志数据处理方法流程图;
图2为本申请公开的一种日志数据文件格式图;
图3为本申请公开的一种文件信息区中字段信息格式图;
图4为本申请公开的一种日志数据映射图;
图5为本申请公开的一种具体的日志数据处理方法流程图;
图6为本申请公开的一种日志数据读过程流程图;
图7为本申请公开的一种日志数据写过程流程图;
图8为本申请公开的一种日志数据处理装置结构示意图;
图9为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着针对工控领域的威胁及攻击越来越多,电力系统安全问题越来越凸显,作为国家关键信息基础设施重要节点,以电力系统为代表的工控系统需要将自身的过程记录、流量数据、工作日志等信息进行存储,以便后期进行安全查阅、分析及审计。根据网络安全相关法律法规的要求,采集到的数据流量至少要保存半年,对于工控系统等关键节点系统而言,需要存储的日志量巨大。现有技术中,由于磁盘读写速度较慢,通用数据库在操作日志数据时往往会将使用内存进行缓存,以缓解磁盘读写速度较慢的问题。但常见的关系型数据库对内存要求动辄数G的物理内存和虚拟内存,非关系型数据库也对内存容量有着较高的要求。但工控系统的内存资源有限,无法满足通用数据库对内存的基本要求,通用数据库甚至无法运行。基于此在工控系统中会采用文本数据库的形式进行日志数据存储,但磁盘I/O速度较低,满足不了大并发的日志读写需求。
为此,本申请提出了一种日志数据处理方法,能够在工控系统的有限内存的环境下,实现海量日志数据的高效读写处理。
参照图1所示,本发明实施例公开了一种日志数据处理方法,包括:
步骤S11:将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区。
本实施例中,将收集的日志数据信息按照预设时间周期创建相应的数据文件,可以理解的是,由于日志数据信息中包含该日志数据信息的日志时间,因此,可以按照日志时间将日志数据信息按照时间周期创建相应的数据文件,例如:以24小时也即天为单位,创建若干数据文件,然后,根据所有的数据文件组成日志数据库。
本实施例中,所述将收集的日志数据按照预设时间周期创建相应的数据文件之后,还包括:对所述数据文件进行划分,以获取时间索引区和包含日志数据区、文件信息区的信息数据区。可以理解的是,参照图2所示,对每个数据文件进行区域划分,每个数据文件中直接存储着一个二进制数据结构,包含时间索引区和信息数据区,其中,时间索引区由一个时间索引备份表和一个时间索引表组成;信息数据区由一个文件信息区、一个空闲区和多个日志数据区组成。日志数据区存储着日志的具体内容,日志数据区的大小至少为1个为32MB空间。一个日志数据区被日志数据写满后,创建另一个日志数据区,需要注意的是,多个日志数据区域之间无关联。
本实施例中,参照图3所示,文件信息区中记录着该日志数据文件的关键信息,主要包括以下字段,空闲数据头指针,指向日志数据区空闲区域的起始,即添加新日志头的位置。空闲数据尾指针,指向日志数据区空闲区域的尾部,即添加新日志内容位置。事务状态,其中,所述事物状态包含批量写入的两种状态:启动事务及事务完成。时间索引表版本,用于当日志批量写入后,对应地修改时间索引表并同步到磁盘文件,且时间索引表版本加1。时间索引备份表版本,当时间索引表同步到磁盘文件后,截止应将时间索引备份表同步更新,且时间索引备份表版本加1,以上两个版本字段用于日志文件断电保护。校验码,用于利用上述所有字段MD5校验值进行验证,当校验通过后,才能进行日志数据的记录;当获取到日志数据时,首先根据收集的日志数据按照预设时间周期创建相应的数据文件,若当前的日志数据的日志时间所对应的数据文件已经被创建,则跳过创建数据文件这一步骤,根据数据文件中文件信息区中的空数据尾指针指向的文件信息区的具体位置信息即为本次日志数据写入的起始位置。
本实施例中,若检测到日志数据区被日志数据写满,则新增日志数据区,并将数据尾指针指定的位置信息按照预设偏移长度移动相应的位置信息。可以理解的是,若当前的日志数据区中被日志数据写满,本次的日志数据无法写入当前的日志数据区时,则在空闲区中新增日志数据区,并将新增数据区与原数据区之间的距离作为偏移长度,数据尾指针指定的位置信息按照上述距离移动相应的位置信息,重新指向新增数据区,并将此时的数据尾指针与新增数据区之间的指向关系更新保存。本实施例中,参照图4所示,当进行日志数据写入操作时,首先需要1个文件头映射,对应时间索引表及其备份表,长度固定20M,用于快速定位日志队列,需要1个数据信息区映射,对应最新一块日志数据区和文件信息区和空闲区,用于日志的写入。通过以上映射操作,仅将时间索引信息和日志数据等映射到内存中,所需内存大小约52M,能够完成日志的快速添加。写过程如下:首先将日志写入数据库信息所指示的日志尾指针处,根据日志的时间T,从时间索引表取得对应的日志链表信息,并将其插入到日志链表末尾,判断当前日志数据区是否已经写满,若写满,则在文件尾新增一个数据信息区,并将当前写数据映射向下偏移,然后根据日志数据的时间T,从时间索引表中取出当前时间T的索引信息,将新日志数据插入到日志数据区,新日志上一个日志指针指向索引的尾指针所指向的日志位置,日志链表的尾指针指向该日志,然后日志库信息尾指针向下偏移1个日志长度,此时完成新日志数据的写入操作。由于采用mmap内存映像技术将数据文件分块快速映射到内存中。每次只映射当日数据文件中需要读写操作的那块数据区域。如果映射数据区域已写满或者查询的数据不在映射的数据区域内,则释放并映射下一块数据区域,通过这种“块映射”的方法,在保证数据安全性、完整性的前提下,满足低延迟处理大量数据的要求。
步骤S12:根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息。
本实施例中,基于目标日志数据的日志时间并基于索引与日志数据区的日志之间的映射关系从已保存的时间索引表中确定出日志链表信息,也即进行文件头的映射关系,快速定位日志队列,时间索引表位于日志数据库文件头部,区域大小10MB,以每日86400秒为依据建立86400个索引。每个时间索引指向一个日志数据区的具体日志。时间索引备份表与时间索引表中内容一致。
本实施例中,所述根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息之前,还包括:构建日志时间与日志链表信息的映射关系,并将所述映射关系保存在时间索引表。可以理解的是,构建日志时间与日志链表信息的映射关系,相应的当从时间索引表中获取时间索引之后就能够根据映射关系查找对应的日志数据。
步骤S13:当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。
本实施例中,监测当前日志数据写入的状态,当监测到日志数据写入状态为完成时,对应的修改时间索引表中的索引信息,同步时间索引表至磁盘文件中,并令时间索引表版本加1,例如原时间索引表版本为V1.0,则在修改时间索引表之后更新的新时间索引表版本为V2.0;当时间索引表同步至磁盘文件之后,对时间索引表进行备份,以得到时间索引备份表,并且时间索引备份表的版本也随着上述时间索引表的版本的更新变化而变化,上述两个版本的字段在出现异常因素时如突然断电的情况用于断电保护。
由此可见,本申请公开了一种日志数据处理方法,包括:将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。可见,将日志数据按照时间周期进行数据文件的创建,进行日志数据的第一次分块处理,然后通过数据尾指针指定的位置信息将分块处理后的日志数据写入对应的日志数据区,然后将写入数据的日志数据区进行快速映射,形成块映射关系,并且调整相应的日志链表信息,将该信息保存,这样一来,通过每次只映射当日数据文件中需要读写操作的那块数据区域的块映射的方法,在保证数据安全性、完整性的前提下,满足低延迟处理大量数据的要求,在数据库读写时,仅将时间索引区及时间索引指向的少量包含日志数据区的信息数据区映射至内存,这样在实现数据库快速操作的同时,对内存的需求量最小。
参照图5所示,本发明实施例公开了一种具体的日志数据处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:当接收到读取目标日志数据的读取请求时,对时间索引备份表进行拷贝,以获取拷贝后的时间索引备份表。
本实施例中,参照图6所示,将数据库分为两段映射:文件头映射、数据信息区映射。数据库读写操作,映射内容稍微有些区别;当接收到读取目标日志数据的请求时,首先需要1个文件头映射,对应时间索引备份表,大小固定10M,用于快速定位日志队列。需要1个数据信息区映射,对应指定时间索引的一块日志数据区和文件信息区,用于指定日志的读入。在进行读操作时,需对时间索引备份表进行拷贝,拷贝该时间索引备份表的目的原因有三个,首先,该时间索引备份表是最近一次磁盘数据文件的内容,是已持久化存储的索引的快照,其数据具有真实可靠性;其次,根据时间索引的快照可定位查询时刻的记录,查找到的记录符合操作时状态;最后,拷贝操作也是为并发检索提供支持,应用的多路查询操作时,在拷贝时对该日志文件加文件锁,查询操作不会相互冲突。
步骤S22:设置检索条件,基于所述检索条件、目标日志数据的日志时间从所述拷贝后的时间索引备份表中确定出对应的日志链路表信息。
本实施例中,首先打开记录集,设置检索条件以及拷贝索引信息,设置终止查询时刻,然后基于检索条件、拷贝的索引中获取t时刻的日志链表信息。
步骤S23:遍历所述日志链路表信息,并确定出映射的信息数据区;从所述信息数据区的日志数据区中获取所述目标日志数据。
本实施例中,依次遍历索引指向的日志链表,其中在检索日志链路表的过程中,可选择串行检索,也可选择并行检索,进行多路查询,减少查询等待的时间。参照图7所示,遍历所述日志链路表信息,判断所述日志链路表映射的当前信息数据区是否包含目标日志数据;若不包含所述目标日志数据,则释放所述当前信息数据区,并移动至下一信息数据区,然后跳转执行判断所述日志链路表映射的当前信息数据区是否包含目标日志数据的步骤,直至确定信息数据区包含所述目标日志数据。判断所述日志数据区的日志数据是否满足检索条件,若不满足所述检索条件,则跳转执行遍历所述日志链路表信息的步骤,直至所述日志数据满足所述检索条件,并将所述日志数据作为所述目标日志数据。当获取到目标日志数据后,返回日志记录,并再次判断链表是否遍历完成,若判断为完成,跳转至查询开始时刻这一步骤,若此时无新的查询开始时刻,则结束流程。
由此可见,本实施例杜绝直接处理巨型数据文件,将巨型数据文件以天为单位创建数据库文件。对每个数据库文件划分为时间索引区及若干个信息数据区域,每条信息数据区的日志均与时间索引区内的时间相关联。在数据库读写时,仅将时间索引区及时间索引指向的少量信息数据区映射至内存,在实现数据库快速操作的同时,对内存的需求量最小,实现在小内存的工控系统环境中处理海量日志数据。
参照图8所示,本发明实施例还相应公开了一种日志数据处理装置,包括:
数据写入模块11,用于将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;
链表获取模块12,用于根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;
索引表备份模块13,用于当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。
由此可见,本申请公开了一种日志数据处理方法,包括:将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理。可见,将日志数据按照时间周期进行数据文件的创建,进行日志数据的第一次分块处理,然后通过数据尾指针指定的位置信息将分块处理后的日志数据写入对应的日志数据区,然后将写入数据的日志数据区进行快速映射,形成块映射关系,并且调整相应的日志链表信息,将该信息保存,这样一来,通过每次只映射当日数据文件中需要读写操作的那块数据区域的块映射的方法,在保证数据安全性、完整性的前提下,满足低延迟处理大量数据的要求,在数据库读写时,仅将时间索引区及时间索引指向的少量包含日志数据区的信息数据区映射至内存,这样在实现数据库快速操作的同时,对内存的需求量最小。
进一步的,本申请实施例还公开了一种电子设备,图9是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图9为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的日志数据处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的日志数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的日志数据处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种日志数据处理方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种日志数据处理方法,其特征在于,包括:
将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;
根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;
当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理;
所述将收集的日志数据按照预设时间周期创建相应的数据文件,包括:对所述数据文件进行区域划分,每个数据文件中存储包含时间索引区和信息数据区的二进制数据结构,其中,所述时间索引区包括时间索引备份表和时间索引表;所述信息数据区包括文件信息区、空闲区和日志数据区。
2.根据权利要求1所述的日志数据处理方法,其特征在于,所述将收集的日志数据按照预设时间周期创建相应的数据文件之后,还包括:
对所述数据文件进行划分,以获取时间索引区和包含日志数据区、文件信息区的信息数据区。
3.根据权利要求1所述的日志数据处理方法,其特征在于,所述根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息之前,还包括:
构建日志时间与日志链表信息的映射关系,并将所述映射关系保存在时间索引表。
4.根据权利要求1所述的日志数据处理方法,其特征在于,所述按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区,包括:
若检测到所述日志数据区被日志数据写满,则新增日志数据区,并将数据尾指针指定的位置信息按照预设偏移长度移动相应的位置信息。
5.根据权利要求1至4任一项所述的日志数据处理方法,其特征在于,还包括:
当接收到读取目标日志数据的读取请求时,对时间索引备份表进行拷贝,以获取拷贝后的时间索引备份表;
设置检索条件,基于所述检索条件、目标日志数据的日志时间从所述拷贝后的时间索引备份表中确定出对应的日志链路表信息;
遍历所述日志链路表信息,并确定出映射的信息数据区;从所述信息数据区的日志数据区中获取所述目标日志数据。
6.根据权利要求5所述的日志数据处理方法,其特征在于,所述遍历所述日志链路表信息,并确定出映射的信息数据区,包括:
遍历所述日志链路表信息,判断所述日志链路表映射的当前信息数据区是否包含目标日志数据;
若不包含所述目标日志数据,则释放所述当前信息数据区,并移动至下一信息数据区,然后跳转执行判断所述日志链路表映射的当前信息数据区是否包含目标日志数据的步骤,直至确定信息数据区包含所述目标日志数据。
7.根据权利要求5所述的日志数据处理方法,其特征在于,所述从所述信息数据区的日志数据区中获取所述目标日志数据,包括:
判断所述日志数据区的日志数据是否满足检索条件,若不满足所述检索条件,则跳转执行遍历所述日志链路表信息的步骤,直至所述日志数据满足所述检索条件,并将所述日志数据作为所述目标日志数据。
8.一种日志数据处理装置,其特征在于,包括:
数据写入模块,用于将收集的日志数据按照预设时间周期创建相应的数据文件,并按照数据尾指针指定的位置信息将所述数据文件中的目标日志数据写入对应位置信息的日志数据区;
链表获取模块,用于根据所述目标日志数据的日志时间和映射关系从时间索引表获取对应的日志链表信息;
索引表备份模块,用于当所述目标日志数据的写入操作完成后,修改所述日志链表信息并更新所述时间索引表的版本信息,并将所述时间索引表的版本信息备份保存,以实现对所述日志数据的处理;
所述数据写入模块,具体用于对所述数据文件进行区域划分,每个数据文件中存储包含时间索引区和信息数据区的二进制数据结构,其中,所述时间索引区包括时间索引备份表和时间索引表;所述信息数据区包括文件信息区、空闲区和日志数据区。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的日志数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的日志数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211169509.XA CN115237875B (zh) | 2022-09-26 | 2022-09-26 | 一种日志数据处理方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211169509.XA CN115237875B (zh) | 2022-09-26 | 2022-09-26 | 一种日志数据处理方法、装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115237875A CN115237875A (zh) | 2022-10-25 |
CN115237875B true CN115237875B (zh) | 2023-01-24 |
Family
ID=83667492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211169509.XA Active CN115237875B (zh) | 2022-09-26 | 2022-09-26 | 一种日志数据处理方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115237875B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918341A (zh) * | 2019-02-26 | 2019-06-21 | 厦门美图之家科技有限公司 | 日志处理方法及装置 |
CN112463542A (zh) * | 2020-12-15 | 2021-03-09 | 深圳供电局有限公司 | 日志异常原因诊断方法、装置、计算机设备和存储介质 |
CN113297234A (zh) * | 2020-09-30 | 2021-08-24 | 阿里云计算有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN114490251A (zh) * | 2021-12-30 | 2022-05-13 | 深圳市优必选科技股份有限公司 | 日志处理系统、日志处理方法及终端设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778189A (zh) * | 2014-02-24 | 2015-07-15 | 贵州电网公司信息通信分公司 | 一种基于xml标签语言的日志管理方法和系统 |
US10691559B2 (en) * | 2016-08-15 | 2020-06-23 | Oracle International Corporation | Persistent memory transactions with undo logging |
CN109358817B (zh) * | 2018-10-26 | 2022-02-18 | 北京百度网讯科技有限公司 | 用于复制数据的方法、装置和系统 |
-
2022
- 2022-09-26 CN CN202211169509.XA patent/CN115237875B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918341A (zh) * | 2019-02-26 | 2019-06-21 | 厦门美图之家科技有限公司 | 日志处理方法及装置 |
CN113297234A (zh) * | 2020-09-30 | 2021-08-24 | 阿里云计算有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN112463542A (zh) * | 2020-12-15 | 2021-03-09 | 深圳供电局有限公司 | 日志异常原因诊断方法、装置、计算机设备和存储介质 |
CN114490251A (zh) * | 2021-12-30 | 2022-05-13 | 深圳市优必选科技股份有限公司 | 日志处理系统、日志处理方法及终端设备 |
Non-Patent Citations (3)
Title |
---|
NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories;Jian Xu等;《FAST"16: Proceedings of the 14th Usenix Conference on File and Storage Technologies》;20160222;323-338 * |
一种对JFFS2日志文件系统的改进方案;王德广等;《科技信息(学术研究)》;20071025(第30期);195-196 * |
基于图的大规模日志处理系统关键技术研究;艾智远;《中国博士学位论文全文数据库信息科技辑》;20200615(第06期);I138-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN115237875A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2500023C2 (ru) | Синхронизация документа по протоколу, не использующему информацию о состоянии | |
US9047312B1 (en) | System and method for deletion of extraneous delete marker objects | |
US9424271B2 (en) | Atomic incremental load for map-reduce systems on append-only file systems | |
RU2598991C2 (ru) | Восстановление данных клиента при перемещениях данных клиента | |
CN109766362B (zh) | 数据处理方法及装置 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CN107483631B (zh) | 一种控制缓存实现移动互联网络服务访问的方法 | |
CN113111129A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
CN115803725A (zh) | 存档仅限加速器的数据库表 | |
CN110866068B (zh) | 一种基于hdfs的公告数据存储方法及其装置 | |
CN115237875B (zh) | 一种日志数据处理方法、装置、设备、存储介质 | |
US10915513B2 (en) | Archival of data in a relational database management system using block level copy | |
CN112395437B (zh) | 一种3d模型的加载方法、装置、电子设备及存储介质 | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
CN109542860A (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN108256019A (zh) | 数据库主键生成方法、装置、设备及其存储介质 | |
CN115328878B (zh) | 日志数据存储系统、方法、设备及介质 | |
US11556519B2 (en) | Ensuring integrity of records in a not only structured query language database | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN117591495B (zh) | 一种用于核电历史数据迁移的数据存储方法及系统 | |
CN115328858A (zh) | 一种分布式存储系统的分片上传方法、装置及介质 | |
CN114356232B (zh) | 数据读写方法和装置 | |
CN109215190B (zh) | 智能门锁的记录信息上传的方法 | |
CN117931819A (zh) | 一种Hadoop离线数据增量更新的方法、系统和可存储介质 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041 Patentee after: China Electronics Technology Network Security Technology Co.,Ltd. Address before: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041 Patentee before: CHENGDU WESTONE INFORMATION INDUSTRY Inc. |
|
CP01 | Change in the name or title of a patent holder |