掌桥专利:专业的专利平台
掌桥专利
首页

日志数据存储方法、装置、计算机设备及存储介质

文献发布时间:2024-04-18 20:01:23


日志数据存储方法、装置、计算机设备及存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种日志数据存储方法、装置、计算机设备及存储介质。

背景技术

嵌入式产品是软件硬件相结合的产品,通过软件驱动硬件完成工作。嵌入式产品的硬件和软件必须具有高度的适配设计,经过量体裁衣和去除冗余以实现更高的性能。当硬件不同时,软件工程师会根据使用的外部设备和日志存储格式的不同而为嵌入式产品编写一套新的程序,消耗了软件工程师的大量时间和精力。同时,每次编写的新程序在未经验证之前都无法保证可靠性和安全性,而多次重复验证操作也会对嵌入式产品产生不可修复的损耗,影响嵌入式产品的使用寿命。

嵌入式产品的日志读写是重要功能,用于存取信息和数据。现有的日志存储方式中,每当产生一条新的日志数据则即刻写入磁盘进行存档,但是在日志数据高并发的情况下,频繁的读写操作增加了数据处理压力,降低了响应速率。

发明内容

基于此,有必要针对上述技术问题,提供一种日志数据存储方法、装置、计算机设备及存储介质,以解决日志数据存储的数据处理压力大,响应速率低的问题。

一种日志数据存储方法,包括:

获取新增日志数据;

根据日志存储配置信息判断所述新增日志数据的有效性;

若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;

若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;

当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

一种日志数据存储装置,包括:

数据获取模块,用于获取新增日志数据;

有效性判断模块,用于根据日志存储配置信息判断所述新增日志数据的有效性;

存储标志信息获取模块,用于若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;

缓存数据写入模块,用于若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;

数据存储模块,用于当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述日志数据存储方法。

一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述日志数据存储方法。

上述日志数据存储方法、装置、计算机设备及存储介质,其方法通过获取新增日志数据;根据日志存储配置信息判断新增日志数据的有效性;若新增日志数据的有效性为有效,则获取新增日志数据的存储标志信息;若存储标志信息为缓存写入标志,则将新增日志数据写入缓存区,形成日志缓存数据;当日志缓存数据的个数达到预设缓存阈值时,则将缓存区的所有日志缓存数据取出并写入外部存储器。本发明提供的日志数据存储方法通过日志存储配置信息对日志数据进行缓存和外部存储操作,基于缓存区的缓存机制避免了直接对外部存储器的频繁读写操作,缓解了数据处理压力,提高了响应速率;缓存区采用环形队列的数据模型,通过预设缓存阈值保证了日志缓存数量的可控性,杜绝了日志无限多的情形。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中日志数据存储方法的一流程示意图;

图2是本发明一实施例中日志数据存储装置的一结构示意图;

图3是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在一实施例中,如图1所示,提供一种日志数据存储方法,包括如下步骤S10-S50。

S10、获取新增日志数据。

可理解地,日志数据是用于记录系统操作事件的记录数据,日志数据在类型结构上以“*.log”结尾。通过查看日志数据,可以了解到具体哪个用户、在具体什么时间、在哪台设备上或者什么应用系统中、做了什么具体的操作。新增日志数据是系统运行过程中产生的与实时操作事件对应的新增记录数据,不同的事件类型对应不同类型的日志数据,例如与预警通知事件对应的预警日志数据,与查询操作事件对应的查询操作日志数据。

S20、根据日志存储配置信息判断所述新增日志数据的有效性。

可理解地,日志存储配置信息指的是日志数据的结构体信息,不同的日志类型具有不同的结构体信息。结构体是由一批数据组合而成的结构型数据,组成结构型数据的每个数据称为结构型数据的成员,结构体描述了一块内存缓存区间的大小并解释意义。结构体类型不是由系统定义好的,而是需要程序设计者进行自定义。在进行日志数据存储之前,用户需要预先设置如下表1中的日志存储配置信息,具体包括:存储日志的文件地址、存储日志总数、一个日志占用的字节数、触发存储个数等日志基本信息以及实现应用层的接口函数。不同类型的日志数据可以通过日志存储配置信息进行分类存储,用户只需预先自定义配置日志类型和触发存储个数等信息,即可实现日志数据存储。在获取新增日志数据之后,对新增日志数据进行解析,并判断新增日志数据是否满足日志存储配置信息的有效性要求,例如:新增日志数据的日志类型是否符合,数据结构格式是否正确,结构体的指针是否为空。

表1日志存储配置信息说明

S30、若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息。

可理解地,存储标志信息是关于日志数据存储方式的标志,包括缓存写入标志和存储写入标志,用于根据存储标志信息将日志数据写入对应的缓存区或外部存储器。缓存写入标志用于将日志数据写入缓存区,存储写入标志用于将日志数据写入外部存储器。当有新增日志数据产生时,对应的存储标志信息默认设置为缓存写入标志,同时用户可根据需要更改设置存储标志信息为存储写入标志,即不经过缓存区直接将新增日志数据写入外部存储器中。

S40、若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据。

可理解地,缓存区是内存空间的一部分,即在内存空间中预留了一部分的存储空间,用于缓冲输入或输出的数据,又被称为缓冲区。缓存区在输入输出设备和中央处理器(CPU)之间缓存数据,使得低速的输入输出设备和高速的CPU能够协调工作,实现高效率处理数据。在本实施例中,缓存区的数据结构为环形队列结构。环形队列缓存区又称为循环缓冲区或圆形缓冲区,是一种用于表示一个固定尺寸、首尾相连的缓存区数据结构,适合缓存数据流。环形队列将数据队列串起来形成一个类似环的结构,基于先入先出模型,通过移动指针来控制队列中数据的读写。不同于普通的线性队列,环形队列首尾相连,可以避免频繁的内存创建、取消和分配。

S50、当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

可理解地,外部存储器是相对于内存区域而言的,缓存区设置于内存区域中,外部储存器指的是除计算机内存及CPU缓存以外的储存器,例如软盘、硬盘和外部设备SD存储卡等。外部存储器的储存容量大,但是存取数据的速率慢。缓存区中的环形队列包括多个缓存单位,一条日志缓存数据占据一个缓存单位,预设缓存阈值是预先设置的用于触发取出环形队列中日志缓存数据的数量值,即日志存储配置信息中的“触发存储时的日志到达个数”。当日志缓存数据的个数达到预设缓存阈值时则触发存储操作,以将缓存区的所有日志缓存数据批量取出,并一次性写入外部存储器中,减少了对外部存储器的频繁读写操作,大大的延长了使用寿命。

本实施例通过获取新增日志数据;根据日志存储配置信息判断新增日志数据的有效性;若新增日志数据的有效性为有效,则获取新增日志数据的存储标志信息;若存储标志信息为缓存写入标志,则将新增日志数据写入缓存区,形成日志缓存数据;当日志缓存数据的个数达到预设缓存阈值时,则将缓存区的所有日志缓存数据取出并写入外部存储器。本实施例的日志数据存储方法通过日志存储配置信息对日志数据进行缓存和外部存储操作,基于缓存区的缓存机制避免了直接对外部存储器的频繁读写操作,缓解了在日志数据高并发应用情况下的数据处理压力;将日志数据从缓存区批量写入外部存储器,提高了响应速率;缓存区采用环形队列的数据模型,通过预设缓存阈值保证了日志缓存数量的可控性,杜绝了日志无限多的情形。

可选的,步骤S30中,即所述获取所述新增日志数据的存储标志信息之后,还包括:

S301、若所述存储标志信息为存储写入标志,则判断所述缓存区中是否存在已缓存日志数据;

S302、若存在,则将所述已缓存日志数据和所述新增日志数据写入所述外部存储器;

S303、若不存在,则将所述新增日志数据写入所述外部存储器。

可理解地,已缓存日志数据是在当前新增日志数据之前按照环形队列写入缓存区的日志数据。由于操作事件是按照时间顺序发生并形成对应的记录数据的,日志数据有着严格的先后顺序,因此在需要将新增日志数据直接写入外部存储器时,需要将缓存区中存在的已缓存日志数据取出并共同写入外部存储器,以避免日志数据的先后顺序出错。在一实施例中,若新增日志数据的存储标志信息为存储写入标志,则判断缓存区的环形队列中是否存在已缓存日志数据。若存在,则将缓存区的环形队列中已缓存日志数据连同新增日志数据一起写入外部存储器中;若不存在,则直接将新增日志数据写入外部存储器,生成日志存储数据,并等待产生下一条的新增日志数据。

本实施例在需要将新增日志数据直接写入外部存储器时,将缓存区中存在的已缓存日志数据取出并共同写入外部存储器,以保证日志数据的完整性,同时避免日志数据的先后顺序出错。

可选的,步骤S40中,即所述将所述新增日志数据写入缓存区,形成日志缓存数据,包括:

S401、查找所述缓存区的第二指针;所述第二指针包括所述缓存区待写入的存储位置;

S402、将所述新增日志数据写入所述第二指针,并更新所述第二指针。

可理解地,在缓存区的环形队列中配置有两个指针,第一指针和第二指针共同确定了对应的缓存线程,用于记录日志缓存数据的位置。其中,第一指针包括缓存区第一日志的存储位置,即当前时刻环形队列中的首日志位置;第二指针包括所述缓存区待写入的存储位置,即当前时刻环形队列中的尾日志位置。在一实施例中,第一指针为左指针,记作Pleft,第二指针为右指针,记作Pright,当前缓冲区内日志缓存数据的数量指的是第一指针和第二指针之间的差值,记作itCount。在初始时刻,缓存区的环形队列中不存在日志缓存数据,左指针和右指针重合。当前时刻出现新增日志数据之后,查找缓存区的环形队列中右指针对应的位置。将新增日志数据写入右指针对应的位置,生成日志缓存数据。同时,将第二指针在缓存区的环形队列中向右移动一个单位,获得右指针更新位置,以将下一新增日志数据写入右指针更新位置。

本实施例通过指针准确定位缓存区的首尾日志位置,将新增日志数据写入缓存区的环形队列中第二指针对应的位置,并更新第二指针,保证了日志数据的读写顺序。

可选的,步骤S402中,即所述将所述新增日志数据写入所述第二指针之后,还包括:

S4021、查找所述缓存区的第一指针;所述第一指针包括所述缓存区第一日志的存储位置;

S4022、判断所述第一指针与更新的所述第二指针是否相同;

S4023、若所述第一指针与更新的所述第二指针相同,则更新所述第一指针。

可理解地,在一实施例中,第一指针为左指针,记作Pleft,第二指针为右指针,记作Pright,当前缓冲区内日志缓存数据的数量指的是第一指针和第二指针之间的差值,记作itCount。在初始时刻,缓存区的环形队列中不存在日志缓存数据,左指针和右指针重合。在当前时刻,将新增日志数据写入右指针对应的位置,并获得右指针更新位置之后,根据左指针位置和右指针更新位置之间的差值可以获得更新后的itCount,判断更新后的itCount是否达到预设缓存阈值。当左指针位置和右指针更新位置相同时,即右指针位置回到环形队列的首日志位置时,判定缓存区的环形队列中日志缓存数据已写满。此时若日志存储配置信息中的“触发存储时的日志到达个数”大于“用于存储日志缓存个数”,即更新后的itCount仍未达到预设缓存阈值,则更新左指针位置,将左指针位置同样向右移动一个单位。此时左指针更新位置和右指针更新位置相同,即重新确定首日志位置,继续写入新增日志数据并覆盖已缓存日志数据,以限制环形队列中日志缓存数据的最大数量值。因此,日志存储配置信息中的“触发存储时的日志到达个数”需要小于或等于“用于存储日志缓存个数”,否则会导致缓存区重复写入覆盖日志缓存数据。

本实施例通过指针准确定位缓存区的首尾日志位置,在新增日志数据写满缓存区的环形队列之后更新第一指针,保证了日志缓存数量的可控性,杜绝了日志无限多的情形。

可选的,步骤S50中,即所述将所述缓存区的所有日志缓存数据取出并写入外部存储器,包括:

S501、查找所述缓存区的第一指针和第二指针;所述第一指针包括所述缓存区第一日志的存储位置;所述第二指针包括所述缓存区待写入的存储位置;

S502、将所述第一指针指向的第一日志写入所述外部存储器,并更新所述第一指针;

S503、当更新的所述第一指针与所述第二指针相同时,判定所有所述日志缓存数据取出所述缓存区。

可理解地,缓存区的环形队列为先入先出模型,从缓存区中取出日志缓存数据时,先写入的数据被先取出缓存区,即从首日志位置向尾日志位置的方向逐个取出日志缓存数据。在一实施例中,第一指针为左指针,记作Pleft,第二指针为右指针,记作Pright,当前缓冲区内日志缓存数据的数量指的是第一指针和第二指针之间的差值,记作itCount。在初始时刻,缓存区的环形队列中不存在日志缓存数据,左指针和右指针重合。在当前时刻,将新增日志数据写入右指针对应的位置,并获得右指针更新位置之后,根据左指针位置和右指针更新位置之间的差值可以获得更新后的itCount,当更新后的itCount达到预设缓存阈值,则按照从左往右的顺序将缓存区内的日志缓存数据搬移到外部存储器中存储。第一日志指的是首日志位置的日志缓存数据,即日志生成时间最早的缓存数据。取出左指针位置指向的第一日志并写入外部存储器,将左指针位置向右移动一个单位更新左指针,获得左指针更新位置。当左指针更新位置和右指针位置重合时,判定缓存区内的所有日志缓存数据已经全部取出,此时缓存区为空。

本实施例通过指针准确定位缓存区的首尾日志位置,从首日志位置开始,将第一指针对应的日志缓存数据取出缓存区的环形队列并写入外部存储器,实现了日志缓存数据批量写入外部存储器,缓解了在高并发应用情况下的数据处理压力,提高了响应速率。

可选的,步骤S502中,即所述更新所述第一指针,还包括:

S5021、根据预设读取方向更新所述第一指针,以将更新的所述第一指针指向的日志缓存数据写入所述外部存储器。

可理解地,预设读取方向指的是先入先出模型的数据流方向。在一实施例中,第一指针为左指针,第二指针为右指针,按照从左往右的顺序将缓存区内的日志缓存数据取出并写入到外部存储器中。取出左指针位置指向的第一日志并写入外部存储器,将左指针位置向右移动一个单位更新左指针,获得左指针更新位置。将左指针更新位置对应的下一日志缓存数据取出并写入外部存储器,每取出一个日志缓存数据,左指针更新位置向右偏移一个单位。

本实施例通过指针准确定位缓存区的首尾日志位置,从首日志位置开始,将第一指针对应的日志缓存数据取出缓存区的环形队列之后更新第一指针,实现了日志缓存数据的“先入先出”,保证了外部存储器中日志存储数据的顺序。

可选的,步骤S50中,即所述将所述缓存区的所有日志缓存数据取出并写入外部存储器,还包括:

S504、获取所述外部存储器的头部信息;

S505、从所述头部信息提取当前写入位置;

S506、将所述日志缓存数据写入所述当前写入位置,并更新所述当前写入位置;

S507、根据更新后的所述当前写入位置更新所述头部信息;

其中,当更新后的所述当前写入位置大于存储器最大位置时,将更新后的所述当前写入位置设置为起始位置。

可理解地,文件头是位于文件开头部分的一段承担区分类型任务的数据,文件头是直接位于文件中的一段数据,例如文件地址、日志类型和最大存储数量等。在外部存储器中,不同类型的日志文件具有不同的头部信息。在一实施例中,获取外部存储器的头部信息,从头部信息提取当前写入位置,将日志缓存数据写入当前写入位置,并按照数据存储的方向更新当前写入位置。当数据存储的方向为从左到右时,从起始位置开始,每写入一个日志存储数据,按照从左到右的方向将当前写入位置向右移动一个单位。根据更新后的当前写入位置更新头部信息,以将下一日志存储数据写入更新后的当前写入位置。外部存储器的数据结构并不是环形队列,当更新后的当前写入位置大于最大存储数量时,则将更新后的当前写入位置重新设置为下一起始位置,继续写入日志存储数据,严格控制日志存储数据的存储长度。

本实施例在外部存储器中写入数据时,根据头部信息确定当前写入位置,并按照数据存储的方向更新当前写入位置,保证了日志存储数据的准确率和写入效率,同时严格控制日志存储数据的存储长度。

在将新增日志数据写入缓存区或存储器之后,用户可根据需要读取日志数据。接收日志读取指令;对日志读取指令进行解析,获得日志读取指令的目标日志数量;获取缓存区的环形队列中的日志缓存数据数量(即第一指针和第二指针之间的差值),对目标日志数量和日志缓存数据数量进行比对,获得比对结果;根据比对结果从缓存区的环形队列和/或存储器中读取与日志读取指令对应的目标日志数据。日志数据包括缓存区中的日志缓存数据和存储器中的日志存储数据,日志数据存在先后顺序,缓存区中的日志缓存数据比存储器中的日志存储数据更接近实时日志数据。因此,当接收日志读取指令之后,优先读取缓存区的日志缓存数据。

当日志缓存数据数量为0时,缓存区中不存在日志缓存数据或者已全部取出并写入存储器中,则直接从存储器读取对应数量的日志存储数据。当日志缓存数据数量不为0且大于目标日志数量时,缓存区的环形队列中存在的日志缓存数据可以满足目标日志数量,则直接从缓存区读取对应数量的日志缓存数据;缓存日志数量不为0且小于目标日志数量时,缓存区的环形队列中存在的日志缓存数据无法全部满足目标日志数量,则优先从缓存区读取当前全部数量的日志缓存数据并计算目标日志数量的剩余数量,再从存储器读取剩余数量的日志存储数据,直至获得与日志读取指令对应的目标日志数据。在读取日志数据时,为了保证读取最新的日志数据,则读取的方向与写入的方向相反,即当缓存区和存储器中的数据写入方向为从左到右时,缓存区和存储器中的数据读取方向为从右到左。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种日志数据存储装置,该日志数据存储装置与上述实施例中日志数据存储方法一一对应。如图2所示,该日志数据存储装置包括数据获取模块10、有效性判断模块20、存储标志信息获取模块30、缓存数据写入模块40和数据存储模块50。各功能模块详细说明如下:

数据获取模块10,用于获取新增日志数据;

有效性判断模块20,用于根据日志存储配置信息判断所述新增日志数据的有效性;

存储标志信息获取模块30,用于若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;

缓存数据写入模块40,用于若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;

数据存储模块50,用于当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

可选的,存储标志信息获取模块30包括:

缓存区判断单元,用于若所述存储标志信息为存储写入标志,则判断所述缓存区中是否存在已缓存日志数据;

已缓存日志数据写入单元,用于若存在,则将所述已缓存日志数据和所述新增日志数据写入所述外部存储器;

新增日志数据写入单元,用于若不存在,则将所述新增日志数据写入所述外部存储器。

可选的,缓存数据写入模块40包括:

第二指针确定单元,用于查找所述缓存区的第二指针;所述第二指针包括所述缓存区待写入的存储位置;

第二指针更新单元,用于将所述新增日志数据写入所述第二指针,并更新所述第二指针。

可选的,缓存数据写入模块40还包括:

第一指针确定单元,用于查找所述缓存区的第一指针;所述第一指针包括所述缓存区第一日志的存储位置;

指针判断单元,用于判断所述第一指针与更新的所述第二指针是否相同;

第一相同判断单元,用于若所述第一指针与更新的所述第二指针相同,则更新所述第一指针。

可选的,数据存储模块50包括:

指针查找单元,用于查找所述缓存区的第一指针和第二指针;所述第一指针包括所述缓存区第一日志的存储位置;所述第二指针包括所述缓存区待写入的存储位置;

第一指针写入单元,用于将所述第一指针指向的第一日志写入所述外部存储器,并更新所述第一指针;

第二相同判断单元,用于当更新的所述第一指针与所述第二指针相同时,判定所有所述日志缓存数据取出所述缓存区。

可选的,数据存储模块50还包括:

第一指针更新单元,用于根据预设读取方向更新所述第一指针,以将更新的所述第一指针指向的日志缓存数据写入所述外部存储器。

可选的,数据存储模块50还包括:

头部信息获取单元,用于获取所述外部存储器的头部信息;

当前写入位置提取单元,用于从所述头部信息提取当前写入位置;

当前写入位置更新单元,用于将所述日志缓存数据写入所述当前写入位置,并更新所述当前写入位置;

头部信息更新单元,用于根据更新后的所述当前写入位置更新所述头部信息;

其中,当更新后的所述当前写入位置大于存储器最大位置时,将更新后的所述当前写入位置设置为起始位置。

关于日志数据存储装置的具体限定可以参见上文中对于日志数据存储方法的限定,在此不再赘述。上述日志数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储日志数据存储方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种日志数据存储方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:

获取新增日志数据;

根据日志存储配置信息判断所述新增日志数据的有效性;

若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;

若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;

当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:

获取新增日志数据;

根据日志存储配置信息判断所述新增日志数据的有效性;

若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;

若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;

当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 漏电检测装置、无线送电装置、无线受电装置及无线电力传输系统
  • 旋转角检测装置及车辆用送电、受电系统
  • 无线送电装置、无线电力传输系统、无线送电装置和无线受电装置的设置方法、无线送电装置和无线受电装置的设置位置的变更方法
技术分类

06120116551423