CN109446174A - 日志数据记录方法、装置及计算机可读存储介质 - Google Patents

日志数据记录方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109446174A
CN109446174A CN201811273933.2A CN201811273933A CN109446174A CN 109446174 A CN109446174 A CN 109446174A CN 201811273933 A CN201811273933 A CN 201811273933A CN 109446174 A CN109446174 A CN 109446174A
Authority
CN
China
Prior art keywords
target
daily record
record data
memory
stored
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.)
Pending
Application number
CN201811273933.2A
Other languages
English (en)
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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201811273933.2A priority Critical patent/CN109446174A/zh
Publication of CN109446174A publication Critical patent/CN109446174A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种日志数据记录方法、装置及计算机可读存储介质,其中方法包括:获取多条待记录日志数据,以及磁盘中用于记录多条待记录日志数据的目标日志文件,将多条待记录日志数据并行存入内存中目标日志文件对应的目标内存空间中;若满足预设条件,将目标内存中存储的日志数据存入磁盘中目标内存空间对应的目标日志文件中。本发明提供的日志数据记录方法、装置及计算机可读存储介质,能够在日志数据较多时对所产生的日志数据进行记录不会影响系统对其他业务的处理速度。

Description

日志数据记录方法、装置及计算机可读存储介质
技术领域
本发明涉及日志数据处理技术,本发明尤其涉及一种日志数据记录方法、装置及计算机可读存储介质。
背景技术
业务系统在日常的使用中存在数据的业务的处理就会产生日志数据,并需要将所产生的日志数据记录在日志文件中。业务系统中的日志文件用于记录业务系统更新操作的日志数据,因此日志文件能够跟踪并记录所有日志数据,以在业务系统发生故障后根据日志文件中的日志数据执行数据恢复或回滚,或者用于协助用户分析和解决业务系统中问题。
业务在日常的使用中只要存在业务的处理就会产生新的日志数据,尤其在业务繁忙时期中通常会并发产生多个日志数据。而这些日志数据都需要记录到日志文件中。按照现有技术,由于日志文件存储在硬盘中,硬盘的轨道只能将所有产生的日志数据一一按顺序记录存入日志文件,而当日志数据并行产生或者日志数据的数量较多时,会导致系统需要等待日志数据写入磁盘后才能够处理磁盘中的其他业务,进而导致系统的反应速度较慢,影响系统整体的业务处理速度。
因此,如何保证在日志数据并发或者数量较多的情况下,既能够对所产生的日志数据进行记录,又不会影响系统对其他业务的处理速度,是目前亟待解决的技术问题。
发明内容
本发明提供一种日志数据记录方法、装置及计算机可读存储介质,通过将待记录的日志数据先并行存入内存后,再将内存中存储的日志数据存入硬盘中。当待记录的日志数据较多时,能够利用内存的并行存入内存的处理方式,同时将多条日志数据记录在内存中,随后再将内存中存储的日志数据存入磁盘的日志文件中。实现了既能够对所产生的日志数据进行记录,又不会影响系统对其他业务的处理速度。
本发明第一方面提供一种日志数据记录方法,包括:
获取多条待记录日志数据,以及磁盘中用于记录所述多条待记录日志数据的目标日志文件;
将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中;
若满足预设条件,将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中。
在本发明一实施例中,所述将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中,包括:
在所述内存中确定所述目标内存空间;
建立所述目标日志文件与所述目标内存空间的映射关系,所述映射关系包括所述目标日志文件的文件位置与所述目标内存空间的内存地址的一一对应关系;
根据所述映射关系将所述多条待记录日志数据并行存入所述磁盘中所述目标内存空间对应的所述目标日志文件中;
所述将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中,包括:
根据所述映射关系将所述目标内存空间与所述目标日志文件进行同步,以将所述目标内存空间中的所述多条日志数据存入到所述目标日志文件中。
在本发明一实施例中,所述根据所述映射关系将所述多条待记录日志数据并行存入所述目标内存空间中,包括:
确定所述多条日志数据存入所述目标日志文件中的多个文件位置;
根据所述映射关系,确定所述目标日志文件的多个文件位置对应的所述目标内存空间中的多个内存地址;
根据所述多个内存地址将所述多条日志数据并行存入所述目标内存空间中。
在本发明一实施例中,所述确定所述多条日志数据存入所述目标日志文件中的多个文件位置,包括:
根据所述多条日志数据的大小确定所述多条日志数据存入所述目标日志文件中的多个文件位置。
在本发明一实施例中,所述目标内存空间为堆外内存中与所述目标日志文件大小相同的内存空间。
在本发明一实施例中,所述预设条件包括:所述多条日志数据均已存入所述目标内存空间中、所述目标内存空间存储的数据大于阈值、间隔预设时间或者再次获取到多条待记录数据。
在本发明一实施例中,所述将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中之后,还包括:从所述内存中释放所述目标内存空间。
本发明第二方面提供一种日志数据记录装置,包括:
获取模块,用于获取多条待记录日志数据,以及磁盘中用于记录所述多条待记录日志数据的目标日志文件;
处理模块,用于将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中;
记录模块,用于若满足预设条件,将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中。
在本发明第二方面一实施例中,所述处理模块具体用于,在所述内存中确定所述目标内存空间;
建立所述目标日志文件与所述目标内存空间的映射关系,所述映射关系包括所述目标日志文件的文件位置与所述目标内存空间的内存地址的一一对应关系;
根据所述映射关系将所述多条待记录日志数据并行存入所述目标内存空间中;
所述记录模块具体用于,根据所述映射关系将所述目标内存空间与所述目标日志文件进行同步,以将所述目标内存空间中的日志数据存入到所述目标日志文件中。
在本发明第二方面一实施例中,所述处理模块具体用于,
确定所述多条日志数据存入所述目标日志文件中的多个文件位置;
根据所述目标日志文件与所述目标内存空间的映射关系,确定所述目标日志文件的多个文件位置对应的所述目标内存空间中的多个内存地址;
根据所述多个内存地址,将所述多条日志数据并行写入所述目标内存空间中。
在本发明第二方面一实施例中,所述处理模块具体用于,根据所述多条日志数据的大小,确定所述多条日志数据存入所述目标日志文件中的多个文件位置。
在本发明第二方面一实施例中,所述目标内存空间为堆外内存中与所述目标日志文件大小相同的内存空间。
在本发明第二方面一实施例中,所述预设条件包括:所述多条日志数据均已存入所述目标内存空间中、所述目标内存空间存储的数据大于阈值、间隔预设时间或者再次获取到多条待记录数据。
在本发明第二方面一实施例中,还包括:释放模块;所述释放模块用于,从所述内存中释放所述目标内存空间。
第三方面,本申请实施例提供一种日志数据记录装置,包括:处理器和存储器;所述存储器,用于存储程序;所述处理器,用于调用所述存储器所存储的程序,以执行本申请第一方面中任一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储程序代码,当所述程序代码被执行时,以执行如本申请第一方面任一所述的方法。
综上,本发明提供一种日志数据记录方法、装置及计算机可读存储介质,其中方法包括:获取多条待记录日志数据,以及磁盘中用于记录多条待记录日志数据的目标日志文件,将多条待记录日志数据并行存入目标日志文件对应的目标内存空间中,其中,目标内存空间为内存中与目标日志文件大小相同的内存空间;若满足预设条件,将内存中存储的多条待记录数据存入磁盘中的目标日志文件中。本发明提供的日志数据记录方法、装置及计算机可读存储介质,将待记录的日志数据先通过并行方式存入内存后,再将内存中存储的日志数据存入硬盘中。当待记录的日志数据较多时,能够利用内存的并行处理方式,同时将多条日志数据记录在内存中,随后再将内存中存储的日志数据存入磁盘的日志文件中,从而既能够对所产生的日志数据进行记录,又不会影响系统对其他业务的处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明日志数据记录方法一实施例的流程示意图;
图2为本发明日志数据记录方法一实施例的应用示意图;
图3为本发明日志数据记录装置一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明日志数据记录方法一实施例的流程示意图。图2为本发明日志数据记录方法一实施例的应用示意图。下面结合图2对图1所示实施例中的日志数据记录方法进行说明。如图1所示,本实施例提供的日志数据记录方法包括:
S101:获取多条待记录日志数据,以及磁盘中用于记录多条待记录日志数据的目标日志文件。
具体地,本实施例提供的日志数据记录方法的执行主体可以是具备处理日志数据的功能的电子设备,例如电脑、服务器或手机等,或者是电子设备中的芯片,例如中央处理器(Central Processing Unit,CPU)或图形处理器(Graphics Processing Unit,GPU)等,以实现本实施例中将日志数据记录到日志文件的操作。其中,日志数据可以是电子设备的业务系统或者特定程序在运行过程中所生成的、用于记录系统或者特定程序状态的日志数据;或者日志数据也可以是数据库运行过程中根据用户对数据库的每个操作所生成的日志数据。上述的日志数据需要记录在电子设备的磁盘中特定的日志文件当中,以便通过日志文件能够跟踪并记录所有日志数据,协助用户分析和解决相关的问题。本申请针对将日志数据记录到日志文件中的处理过程。
在本实施例的方法中,首先通过S101需要获取多条待记录日志数据和磁盘中用于存储多条待记录的日志数据的目标日志文件,如图2中的示例中多条待记录日志数据包括:日志数据1、日志数据2…日志数据N,N为大于或等于2的整数。其中,多条待记录日志数据可以是系统、程序或者数据库的N条同时生成的并行日志数据,或者,N条待记录日志数据是不同时间生成的N条日志数据而在S101中的同一时间所获取。随后,可根据多条待记录日志数据的属性信息确定磁盘中存储的用于记录这多条待记录日志数据的目标日志文件。其中,目标日志文件存储在本实施例执行主体的电子设备的磁盘内,用于记录所获取的多条待记录日志数据。具体地,作为本实施例执行主体的电子设备的磁盘中可存在多个目标日志文件,按照预设的规则分别用于存储不同的日志数据。在一种可能的实现方式中,电子设备按照日志数据的生成时间所在的月份,将日志数据按照生成时间存在磁盘中的12个日志文件中,则日志文件按照时间进行划分,每个月有一个日志文件用于记录当月所生成的所有日志数据。当S101中如果确定多条待记录日志数据都是一月生成的,则可以确定第一日志文件为磁盘中用于存储一月的日志数据的日志文件。或者,第一日志文件也可以是根据多条待记录日志数据专门建立的,即,S101中当获取多条待记录日志数据后,在磁盘中生成所述的目标日志文件,目标日志文件专门用于存储所获取的多条待记录日志数据,本实施例对此不做限定。
S102:将多条待记录日志数据并行存入内存中目标日志文件对应的目标内存空间中。
随后在S102中,将S101中所获取的多条待记录日志数据以并行的方式存入目标日志文件对应的内存中的目标内存空间中,具体地,目标日志文件和目标内存空间大小相同且存在映射关系。则在S102中,将本应该存入磁盘中的目标日志文件中的日志数据,通过并行方式先存入内存中的目标内存空间中。例如图2中所示的,将日志数据1-日志数据N写入内存中的目标内存空间。在一种可能的实现方式中,本实施例利用内存的并行读写特性,采用将N条日志数据并行写入内存的逻辑结构,在同一时刻同时开始将N条日志数据同时存入内存中。因此假设每条日志数据存入内存都需要1秒的时间,在现有技术中将N条日志数据直接存入磁盘中的目标日志文件时则需要N秒,而在本实施例中由于可同时将N条日志数据存入内存中,能够实现N条日志数据的同时写入内存并记录,N条日志数据同时写入内存中所需的时间仅为1秒。或者,当N条日志数据的数据长度不同时,N条日志数据同时写入内存中所需的时间为N条日志数据中最大一条日志数据写入内存所需的时间,当日志数据较多时,与现有技术中记录日志数据时依次排序写入磁盘的日志文件的N秒相比,仍然会带来总时间的减少以及效率的提升。
S103:若满足预设条件,将内存中存储的多条待记录数据存入磁盘中目标日志文件中。
最后,在S103中,若满足预设条件,则将S102中写入内存空间的多条待记录日志数据记录到目标日志文件内。即如图2所示的将内存中所存储的日志数据1-N写入磁盘中所存储的目标日志文件中。因此,本实施例提供的日志数据记录方法中,如果没有满足预设条件,则不会将S102中存入内存空间的日志数据写入磁盘中,而可以继续执行S101中获取其他日志数据的操作。只有当满足预设条件例如当系统空闲时,才会将S102中写入内存的日志数据存入磁盘中。可选地,将内存中的日志数据写入磁盘的操作可以与现有技术中相同,依次通过磁盘的导轨将内存中的多条日志数据依次写入磁盘的日志文件中。
其中,本实施例中的预设条件可以是:多条待记录日志数据均已分别写入目标内存空间中、目标内存空间中存储的数据大于阈值、间隔预设时间或者再次获取到多条待记录日志数据。即,S103可以在S102执行完后执行;或者S103可以在目标内存空间中百分之90的空间都已经存入日志数据时,将目标内存空间中的数据记录到目标日志文件并映射新的日志文件到目标内存空间中,防止内存空间用尽;又或者每隔24小时将当天的日志数据写入当天的日志文件,随后将第二天的日志文件映射到内存空间中以重复前述流程;又或者当获取了其他的M条日志数据,而该M条日志数据需要记录到其他日志文件中,则将已经记录的目标内存空间中的数据记录到目标日志文件,并映射新的其他日志文件到目标内存空间中以重复前述流程。
因此,综上,本实施例提供的日志数据记录方法中,通过将本应记录在磁盘中的日志文件的待记录的日志数据先存入内存后,在例如系统空闲时再将内存中存储的日志数据存入硬盘中的日志文件中。这样的日志数据记录方式,能够在待记录的日志数据较多时,充分利用内存的并行处理方式,将多条日志数据并行先记录在内存中,随后再将内存中存储的日志数据存入磁盘的日志文件中。从而当日志数据并行产生或者日志数据的数量较多时,将日志数据先并行记录在内存中,不会使得系统等待较长的日志数据写入磁盘的时间后才能够处理磁盘中的其他业务,从而不会影响系统的反应速度以及业务处理速度。进而实现了既能够对所产生的日志数据进行记录,又不会影响系统对其他业务的处理速度的技术效果。
可选地,在上述实施例一种可能的实现方式中,S102中的将多条待记录日志数据存入内存具体包括:
在内存中确定目标内存空间;
建立目标日志文件与内存中目标内存空间的映射关系;其中,映射关系包括目标日志文件的文件位置与目标内存空间的内存地址的一一对应关系;
随后根据所建立的映射关系将多条待记录日志数据并行存入目标内存空间中。
具体地,在本实现方式中,首先可以在内存中为目标日志文件分配目标内存空间。如图2所示,为磁盘中所存储的目标日志文件分配内存中的目标内存空间,其中,目标内存空间的大小等于目标日志文件的大小。例如,目标日志文件是一个存储在磁盘中10M大小的文件,则在S102中为目标日志文件分配内存中同样10M大小的目标内存空间。这里的内存是作为本实施例的执行主体的电子设备的内存,即电子设备同时具有磁盘和硬盘,并且目标内存空间指的是内存中任意的空间,并且目标内存空间是在S102执行时处于空闲状态没有存储其他数据的空间,该空间可以是物理上连续或者离散的,而可以通过标识先后顺序的信息将空闲的离散空间连成与目标日志文件同样大小的内存空间,本实施例对此不做限定。
随后可以将目标日志文件与内存中的目标内存空间建立映射关系来实现。其中,由于目标日志文件的大小与目标内存空间的大小相同,则目标日志文件与目标内存空间之间建立的映射关系应至少包括目标日志文件中用于存储多条待记录日志数据的文件位置与目标内存空间中用于存储多条待处理日志数据的数据位置的对应关系,文件位置和数据位置的单位可以为比特或者字节。其中,映射关系应包括目标日志文件中所有文件位置与目标内存空间中所有数据位置的一一对应关系,使得目标日志文件的任意文件位置都能够对应目标内存空间中的数据位置。或者,当目标日志文件中已经包含了一些日志数据,则在S102中也可以将已经记录的日志数据映射到第一内存空间中,以通过所建立的映射关系实现目标日志文件与目标内存空间完全的映射关系。又或者,建立的映射关系在目标内存空间中并不复制目标日志文件已经记录的数据,映射关系只包含目标内存空间的数据位置和目标日志文件的文件位置之间的相对位置关系的映射关系。
例如,例如图2所示,分别根据映射关系将多条日志数据存入目标内存空间中。其中,根据映射关系,日志数据1对应内存空间1,日志数据2对应内存空间2,日志数据N对应内存空间N。所分配的内存空间1-N可以是目标内存空间中的离散的内存空间或者连续的内存空间,图2中以连续的内存空间为示例。同时,内存空间1-N的排列顺序可以与日志数据1-日志数据N的排列相同或不同,图2中以相同的排列顺序为示例。例如,当S101中所获取的N条日志数据虽然可以是并发生成的,但还是存在一些标识信息以使得日志数据按照一定的顺序进行排列,标识信息可以是日志数据本身携带的时间、位置或序号等信息,本申请对此不做限定。
可选地,上述实施例中,根据映射关系将多条日志数据存入目标内存空间中一种可能的实现方式为,确定多条日志数据存入目标日志文件中的多个文件位置;根据目标日志文件与目标内存空间的映射关系,确定目标日志文件的多个文件位置对应的目标内存空间中多个内存地址;根据多个内存地址,将多条日志数据并行写入目标内存空间中。
具体地,根据N条日志数据的大小,确定N条日志数据记录到目标日志文件的N个文件位置后,再根据目标日志文件与目标内存空间的映射关系,确定目标日志文件的N个文件位置对应的目标内存空间内的N个内存空间的内存地址。例如,在图2所示的实施例中,假设目标日志文件中还没有记录其他的日志数据,则此时需要将获取的N条日志数据依次记录到目标日志文件中,又根据日志数据1的大小为10B(字节)记录在目标日志文件中的文件位置应该是目标日志文件从标号为0B-9B之间的文件位置1,再根据目标日志文件与目标内存空间的映射关系,则可以确定目标内存空间标号为0B-9B是内存空间1,并确定内存空间1的数据位置可用内存地址表示为0B,即后续可根据内存地址从目标内存空间的0B处开始向内存空间1的0B-9B中写入10B大小的日志数据1。同样地,可以根据日志数据2的大小为15B,记录在目标日志文件中的位置应为日志数据1之后的标号为10B-24B之间的文件位置2,再根据目标日志文件与目标内存空间之间的映射关系,则可以确定目标内存空间标号为10B-24B是内存空间2,并确定内存空间2的数据位置可用内存地址表示为10B,即后续可根据内存地址从目标内存空间的10B处开始向内存空间2的10B-24B中写入15B大小的日志数据2。随后,将S101中所获取的N条日志数据同时写入S103中所确定的N个内存空间中。具体地,如图2所示,分别将日志数据1写入内存空间1中、将日志数据2写入内存空间2中……以及将日志数据N写入内存空间N中。
则可选地,S103可以利用前述的映射关系,将目标内存空间中所存储的N条日志数据记录到目标日志文件中的对应位置。或者,根据映射关系对目标内存空间和目标日志文件进行同步处理,同步处理也可以理解为将目标内存空间的数据全部复制到目标日志文件中。最终实现N条日志数据记录到目标日志文件中对应的位置,从而实现N条日志数据的记录。
可选地,在上述图2的实施例中提供了一种在内存地址中连续记录日志数据的方式,在另一种可能的记录方式中,还可以在内存地址中为多条日志数据分配不同的多个内存空间,该些内存空间可以在内存中并不连续,即目标内存空间中所存储的多条日志数据之间存在空闲的内存空间。则此时再通过S103将目标内存空间中的日志数据记录到目标日志文件中时,就需要将目标内存空间中所记录的有效的多条日志数据,连续地记录到目标日志文件中,使得目标日志文件中所存储的多条日志数据是连续的,目标日志文件中多条日志数据之间不会存在空闲的数据。
可选地,在上述实施例中,在将多条待记录日志数据存入内存中,内存指的是堆外内存。即S102中将多条待记录日志数据存入堆外内存中与目标日志文件大小相同的目标内存空间中。则可以采用堆外内存技术,使得日志数据将不占用电子设备的系统的堆内存,避免产生内存溢出。
可选地,在S105之后,还包括:从内存中释放目标内存空间。即,当将已经记录的目标内存空间中的数据记录到目标日志文件后,可以将通过将目标内存空间中存储的数据都删除的方式实现目标内存空间释放。从而能够使得内存中所释放的目标内存空间不会一直目标日志文件所占用,被释放后的目标内存空间可被用于实现内存的其他功能,进而提高了内存的使用效率。
图3为本发明日志数据记录装置一实施例的结构示意图。如图3所示,本实施例提供的日志数据记录装置包括:获取模块301,处理模块302和记录模块303。其中,获取模块301用于获取多条待记录日志数据,以及磁盘中存储的用于记录多条待记录日志数据的目标日志文件;处理模块302用于将多条待记录日志数据并行存入内存中目标日志文件对应的目标内存空间中;记录模块303用于将目标内存空间中存储的日志数据存入磁盘中目标内存空间对应的目标日志文件中。
本实施例提供的日志数据记录装置可用于执行如图1所示的日志数据记录方法,其实现方式与原理相同,不再赘述。
可选地,在上述实施例中,处理模块302具体用于,在内存中确定目标内存空间;
建立目标日志文件与内存中目标内存空间的映射关系,映射关系包括目标日志文件的文件位置与目标内存空间的内存地址的一一对应关系;
根据映射关系将多条待记录日志数据并行存入目标内存空间中。
记录模块303具体用于,根据映射关系将目标内存空间与目标日志文件进行同步,以将目标内存空间中的日志数据存入到目标日志文件中。
可选地,在上述实施例中,处理模块302具体用于,
确定多条日志数据存入目标日志文件中的多个文件位置;
根据目标日志文件与目标内存空间的映射关系,确定目标日志文件的多个文件位置对应的目标内存空间中的多个内存地址;
根据多个内存地址,将多条日志数据并行存入目标内存空间中。
可选地,在上述实施例中,处理模块302具体用于,根据多条日志数据的大小,确定多条日志数据存入到目标日志文件中的多个文件位置。
可选地,在上述实施例中,目标内存空间为堆外内存中与目标日志文件大小相同的内存空间。
可选地,在上述实施例中,记录模块304具体用于,若满足预设条件,将内存中存储的多条待记录数据存入磁盘中的目标日志文件中;
其中,预设条件包括:多条日志数据均已写入目标内存空间中、目标内存空间存储的数据大于阈值、间隔预设时间或者再次获取到多条待记录数据。
可选地,在如图3所示的装置中,在一种可能的实施方式中,还包括:释放模块401。其中,释放模块401用于,从内存中释放目标内存空间。
上述各实施例提供的日志数据记录装置可分别用于执行前述实施例中的日志数据记录方法,其实现方式与原理相同,不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本发明还提出一种电子设备可读存储介质,包括程序,当其在电子设备上运行时,使得电子设备执行上述任一实施例的日志数据记录方法。
本发明一实施例还提供一种电子设备,包括:处理器;以及,存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任一项实施例中的日志数据记录方法。
发明一实施例还提供一种程序产品,该程序产品包括:计算机程序(即执行指令),该计算机程序存储在可读存储介质中。编码设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得编码设备实施前述的各种实施方式提供的日志数据记录方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种日志数据记录方法,其特征在于,包括:
获取多条待记录日志数据,以及磁盘中用于记录所述多条待记录日志数据的目标日志文件;
将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中;
若满足预设条件,将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中。
2.根据权利要求1所述的方法,其特征在于,所述将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中,包括:
在所述内存中确定所述目标内存空间;
建立所述目标日志文件与所述目标内存空间的映射关系,所述映射关系包括所述目标日志文件的文件位置与所述目标内存空间的内存地址的一一对应关系;
根据所述映射关系将所述多条待记录日志数据并行存入所述目标内存空间中;
所述将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中,包括:
根据所述映射关系将所述目标内存空间与所述目标日志文件进行同步,以将所述目标内存空间中的日志数据存入到所述目标日志文件中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述映射关系将所述多条待记录日志数据并行存入所述目标内存空间中,包括:
确定所述多条日志数据存入所述目标日志文件中的多个文件位置;
根据所述映射关系确定所述目标日志文件的多个文件位置对应的所述目标内存空间中的多个内存地址;
根据所述多个内存地址将所述多条日志数据并行存入所述目标内存空间中。
4.根据权利要求3所述的方法,其特征在于,所述确定所述多条日志数据存入所述目标日志文件中的多个文件位置,包括:
根据所述多条日志数据的大小确定所述多条日志数据存入所述目标日志文件中的多个文件位置。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述目标内存空间为堆外内存中与所述目标日志文件大小相同的内存空间。
6.根据权利要求1-4任一项所述的方法,其特征在于,
所述预设条件包括:所述多条待记录日志数据均已存入所述目标内存空间中、所述目标内存空间存储的数据大于阈值、间隔预设时间或者再次获取到多条待记录日志数据。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中之后,还包括:
从所述内存中释放所述目标内存空间。
8.一种日志数据记录装置,其特征在于,包括:
获取模块,用于获取多条待记录日志数据,以及磁盘中用于记录所述多条待记录日志数据的目标日志文件;
处理模块,用于将所述多条待记录日志数据并行存入内存中所述目标日志文件对应的目标内存空间中;
记录模块,用于将所述目标内存空间中存储的日志数据存入所述磁盘中所述目标内存空间对应的所述目标日志文件中。
9.一种日志数据记录装置,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-7任一项所述的方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行权利要求1-7任一项所述的方法。
CN201811273933.2A 2018-10-30 2018-10-30 日志数据记录方法、装置及计算机可读存储介质 Pending CN109446174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811273933.2A CN109446174A (zh) 2018-10-30 2018-10-30 日志数据记录方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811273933.2A CN109446174A (zh) 2018-10-30 2018-10-30 日志数据记录方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN109446174A true CN109446174A (zh) 2019-03-08

Family

ID=65550245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811273933.2A Pending CN109446174A (zh) 2018-10-30 2018-10-30 日志数据记录方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109446174A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563017A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 数据处理方法及装置
CN111966655A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 日志采集过程中管理内存中文件对象的方法和装置
CN112000629A (zh) * 2020-08-21 2020-11-27 苏州浪潮智能科技有限公司 存储系统的日志记录方法、装置、设备及可读存储介质
CN112199596A (zh) * 2020-10-19 2021-01-08 杭州迪普科技股份有限公司 一种日志过滤处理的方法、装置、设备及介质
CN112231290A (zh) * 2020-11-03 2021-01-15 上海智臻智能网络科技股份有限公司 一种本地日志的处理方法、装置、设备及存储介质
CN112306811A (zh) * 2020-11-09 2021-02-02 重庆易宠科技有限公司 一种php微服务控制方法、系统、终端及介质
CN113849126A (zh) * 2021-09-01 2021-12-28 北京腾凌科技有限公司 一种日志存储方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753344A (zh) * 2008-12-12 2010-06-23 华为技术有限公司 一种记录日志的方法、装置及系统
CN102043704A (zh) * 2009-10-14 2011-05-04 中兴通讯股份有限公司 生成日志信息的方法及系统
US20140019672A1 (en) * 2012-07-13 2014-01-16 Kabushiki Kaisha Toshiba Memory system and control method thereof
CN103927251A (zh) * 2014-03-18 2014-07-16 烽火通信科技股份有限公司 一种嵌入式系统的日志管理方法
CN104537074A (zh) * 2014-12-31 2015-04-22 天津南大通用数据技术股份有限公司 一种提高数据库系统写日志性能的方法
CN105677258A (zh) * 2016-02-23 2016-06-15 浪潮(北京)电子信息产业有限公司 一种日志数据管理方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753344A (zh) * 2008-12-12 2010-06-23 华为技术有限公司 一种记录日志的方法、装置及系统
CN102043704A (zh) * 2009-10-14 2011-05-04 中兴通讯股份有限公司 生成日志信息的方法及系统
US20140019672A1 (en) * 2012-07-13 2014-01-16 Kabushiki Kaisha Toshiba Memory system and control method thereof
CN103927251A (zh) * 2014-03-18 2014-07-16 烽火通信科技股份有限公司 一种嵌入式系统的日志管理方法
CN104537074A (zh) * 2014-12-31 2015-04-22 天津南大通用数据技术股份有限公司 一种提高数据库系统写日志性能的方法
CN105677258A (zh) * 2016-02-23 2016-06-15 浪潮(北京)电子信息产业有限公司 一种日志数据管理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IMXIANGZI: "文件内存映射mmap解决大文件快速读写问题", 《HTTPS://BLOG.CSDN.NET/IMXIANGZI/ARTICLE/DETAILS/81014048》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563017A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 数据处理方法及装置
CN111563017B (zh) * 2020-04-28 2023-05-16 北京字节跳动网络技术有限公司 数据处理方法及装置
CN111966655A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 日志采集过程中管理内存中文件对象的方法和装置
CN111966655B (zh) * 2020-08-18 2023-10-24 中国银行股份有限公司 日志采集过程中管理内存中文件对象的方法和装置
CN112000629A (zh) * 2020-08-21 2020-11-27 苏州浪潮智能科技有限公司 存储系统的日志记录方法、装置、设备及可读存储介质
CN112199596A (zh) * 2020-10-19 2021-01-08 杭州迪普科技股份有限公司 一种日志过滤处理的方法、装置、设备及介质
CN112199596B (zh) * 2020-10-19 2023-08-25 杭州迪普科技股份有限公司 一种日志过滤处理的方法、装置、设备及介质
CN112231290A (zh) * 2020-11-03 2021-01-15 上海智臻智能网络科技股份有限公司 一种本地日志的处理方法、装置、设备及存储介质
CN112306811A (zh) * 2020-11-09 2021-02-02 重庆易宠科技有限公司 一种php微服务控制方法、系统、终端及介质
CN113849126A (zh) * 2021-09-01 2021-12-28 北京腾凌科技有限公司 一种日志存储方法及装置

Similar Documents

Publication Publication Date Title
CN109446174A (zh) 日志数据记录方法、装置及计算机可读存储介质
CN104516678B (zh) 用于数据存储的方法和设备
CN104808951B (zh) 进行存储控制的方法和设备
CN104461390B (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN107209714A (zh) 分布式存储系统及分布式存储系统的控制方法
CN102750317B (zh) 数据持久化处理方法、装置及数据库系统
EP2631821A1 (en) File storage method and device thereof
CN104809237A (zh) LSM-tree索引的优化方法和装置
CN109445713A (zh) 一种元数据卷的存储状态记录方法、系统及相关组件
CN103577329B (zh) 一种快照管理方法和装置
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
CN107526743A (zh) 用于压缩文件系统元数据的方法和设备
CN101763415B (zh) 一种数据库的b树索引的生成方法及装置
CN104869140B (zh) 多集群系统和控制多集群系统的数据存储的方法
CN103890856A (zh) 支持内存储数据结构的可移位存储器
CN112835528B (zh) 脏页刷新方法和装置、电子设备和存储介质
CN104461384B (zh) 一种数据写入方法及存储设备
US11287996B2 (en) Method, device and computer program product for storing data
CN106407226A (zh) 一种数据处理方法、备份服务器及存储系统
CN104516929A (zh) 用于文件系统的方法和装置
CN102932416A (zh) 一种信息流任务的中间数据存储方法、处理方法及装置
CN101644992B (zh) 文件系统数据重建的方法和系统
CN112596949B (zh) 一种高效率的ssd删除数据恢复方法及系统
CN106844491A (zh) 一种临时数据的写入、读取方法及写入、读取装置
JP4673299B2 (ja) 情報処理方法及び情報処理システム

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308

RJ01 Rejection of invention patent application after publication