CN103761262A - 基于syslogd的重复日志控制方法 - Google Patents
基于syslogd的重复日志控制方法 Download PDFInfo
- Publication number
- CN103761262A CN103761262A CN201310753706.0A CN201310753706A CN103761262A CN 103761262 A CN103761262 A CN 103761262A CN 201310753706 A CN201310753706 A CN 201310753706A CN 103761262 A CN103761262 A CN 103761262A
- Authority
- CN
- China
- Prior art keywords
- log information
- daily record
- working area
- time
- log
- 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
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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于syslogd的重复日志控制方法及其装置,通过利用syslogd来进行日志信息记录时,以暂存区的形式存放一个预设时间条件内产生过的日志信息,每当有一条新的日志信息输入时检查链表中是否有相同日志信息,如果有,只是把该条日志信息的重复次数增加1,而后在预设时间条件满足后将暂存区的日志信息连同其重复次数写入日至信息中,由此对日志信息制是否直接需要去写入到日志文件增加了一重判断,实现了在不丢失日志信息的前提下,能够防止大量重复信息在短时间内被写入到日志文件中。此修改不会占用很多的系统资源,但却可以很大程度上控制重复信息被大量写入到日志文件中,能够使日志资源得到更充分的利用。
Description
技术领域
本发明涉及电子设备文件存储管理领域,尤其是指一种基于syslogd的重复日志控制方法及其装置。
背景技术
日志系统,对几乎所有的电子设备来说都是一个很重要的部分,它可以用来记录设备的运行轨迹,操作步骤以及运行过程中产生的错误信息等,这些都可以用来帮助用户及工作人员来了解设备的运行情况及出错原因。
对于类Unix系统来说,大部分日志系统都是用syslogd进程来对日志进行写入的,该进程对日志的管理功能还是很强大的,可以对日志分为不同的等级,可以对日志信息进行文件存储,邮件发送等不同方式来进行处理,但其也有个缺点,虽然当同一条日志在重复多次出现时它只会记录一个重复次数而不是把所有的重复的情况都记录下来,但是当多条日志间隔重复出现时,它却会把所有的重复日志全部记录下来。这样,当设备万一跑入到一个较大的循环甚至一个死循环中,而在每一次的循环中又有两条以上的日志信息需要记录时,就会在短时间内写入大量的日志信息,进而导致大量的内存空间被无用的日志占用,甚至导致前期有用信息被覆盖掉。
发明内容
本发明的目的在于克服了上述缺陷,提供一种利用syslogd来进行日志信息记录时,在不丢失日志信息的前提下,能够防止大量重复信息在短时间内被写入到日志文件中的基于syslogd的重复日志控制方法及其装置。
本发明的目的是这样实现的:一种基于syslogd的重复日志控制方法,它包括日志缓存流程,所述日志缓存流程包括:
将预设时间条件内产生的日志信息存入至暂存区中;
判断所述日志信息是否已存在暂存区中,若是,则将与日志信息对应的重复次数加1;
待预设时间到达后,将所述日志信息及对应的重复次数写入日志文件并将暂存区清空;
上述方法中,所述日志缓存流程具体包括步骤,
A)、当有日志信息存入,判断是否存在暂存区,若否,则执行步骤E,若是,则执行步骤B;
B)、判断暂存区内是否有与存入的日志信息相同的日志信息,若否,则执行步骤F,若是,则执行步骤C;
C)、计算暂存区中该相同的日志信息对应的第一次产生时间与最后一次产生时间之间的日志产生时间段,判断日志产生时间段是否超出预设时间条件,若否,则将该日志信息产生的时间作为日志最后一次产生时间写入暂存区中并将该日志信息对应的日志重复次数加1;若是,则将该日志信息对应的日志产生时间段、日志重复次数及日志信息写入日志文件中,然后执行步骤D;
D)、将该日志信息从暂存区中删除;
E)、产生一个暂存区,然后执行步骤B;
F)、将存入的日志信息、该日志信息产生的时间作为日志第一次产生时间写入暂存区,并初始化该日志信息对应的日志重复次数及最后一次产生时间;
上述方法中,它还包括临时存储流程,所述临时存储流程包括:创建临时文件,在设定间隔时间内将暂存区中信息写入临时文件中;
上述方法中,所述临时存储流程中,待暂存区中信息写入临时文件后,清空暂存区;对应的日志缓存流程中所述步骤A前还包括,检查临时文件中是否为空,是则执行步骤A,否则将临时文件中的信息写入日志文件中;
上述方法中,所述预设时间条件包括同一日志信息从上一次出现到再次出现的时间间隔和/或同一日志信息从第一次产生到再次出现的时间差;
上述方法中,所述暂存区为链表;
上述方法中,它还包括日志写入控制流程,所述日志写入控制流程包括判断日志信息级别是否高于预设级别,若是将日志信息直接写入日志文件;若否执行日志缓存流程。
相比于常见的日志信息控制方法,本发明的有益效果在于以暂存区的形式存放一个预设时间条件内产生过的日志信息来控制接下来输入的日志信息是否需要去写入到日志文件中去的,一般情况下,此修改不会占用很多的系统资源,但却可以很大程度上控制重复信息被大量写入到日志文件中,能够使日志资源得到更充分的利用。
附图说明
下面结合附图详述本发明的具体结构
图1为本发明一具体实施方式的方法流程图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明涉及一种基于syslogd的重复日志控制方法,它包括日志缓存流程;
所述日志缓存流程包括:
将预设时间条件内产生的日志信息存入至暂存区中;
判断所述日志信息是否已存在暂存区中,若是,则将与日志信息对应的重复次数加1;
待预设时间到达后,将所述日志信息及对应的重复次数写入日志文件并将暂存区清空。
可见,上述实施例的方法是在利用syslogd来进行日志信息记录时,以暂存区的形式存放一个预设时间条件内产生过的日志信息,每当有一条新的日志信息输入时检查链表中是否有相同日志信息,如果有,只是把该条日志信息的重复次数增加1,而后在预设时间条件满足后将暂存区的日志信息连同其重复次数写入日至信息中,由此对日志信息制是否直接需要去写入到日志文件增加了一重判断,从而实现了在不丢失日志信息的前提下,能够防止大量重复信息在短时间内被写入到日志文件中。一般情况下,此修改不会占用很多的系统资源,但却可以很大程度上控制重复信息被大量写入到日志文件中,能够使日志资源得到更充分的利用。
作为一实施例,上述方法中,所述日志缓存流程具体包括步骤,
A)、当有日志信息存入,判断是否存在暂存区,若否,则执行步骤E,若是,则执行步骤B;
B)、判断暂存区内是否有与存入的日志信息相同的日志信息,若否,则执行步骤F,若是,则执行步骤C;
C)、计算暂存区中该相同的日志信息对应的第一次产生时间与最后一次产生时间之间的日志产生时间段,判断日志产生时间段是否超出预设时间条件,若否,则将该日志信息产生的时间作为日志最后一次产生时间写入暂存区中并将该日志信息对应的日志重复次数加1;若是,则将该日志信息对应的日志产生时间段、日志重复次数及日志信息写入日志文件中,然后执行步骤D;
D)、将该日志信息从暂存区中删除;
E)、产生一个暂存区,然后执行步骤B;
F)、将存入的日志信息、该日志信息产生的时间作为日志第一次产生时间写入暂存区,并初始化该日志信息对应的日志重复次数及最后一次产生时间。
本实施例中对暂存区通过何机制、何实际进行创立以及其中暂存信息种类进行了限定。通过在将日志信息放入暂存区同时在暂存区对应建立存放对应的日志最后一次产生时间及第一次产生时间的信息,而后在下一次执行到该步骤后可比较暂存区中该日志信息对应的时间差即可实现是否超出预设时间条件的判断。该流程面对对象涉及,最大程度简化了日志信息在暂存区中保留条件的判断流程。
作为一实施例,上述方法中,它还包括临时存储流程,所述临时存储流程包括:创建临时文件,在设定间隔时间内将暂存区中信息写入临时文件中。
本实施例通过增加存储流程,从而使得暂存区中数据可在存入日志信息,导出日志文件的过程中可在需要的时间(例如设定的时间点,或每间隔一个固定的较短时间(5秒)内)进行暂存,从而避免系统意外断电情况下,暂存区中数据未来得及导出日志文件带来的信息丢失问题。补强了日志信息获取的可靠性。
作为一实施例,上述方法中,所述临时存储流程中,待暂存区中信息写入临时文件后,清空暂存区;对应的日志缓存流程中所述步骤A前还包括,检查临时文件中是否为空,是则执行步骤A,否则将临时文件中的信息写入日志文件中。
本实施例中,在待暂存区中信息写入临时文件后,清空暂存区可避免在较短时间内反复将暂存区写入临时文件过程同样数据重复的问题。而在日志缓存流程一开始增加判断临时文件的步骤则可以智能判断上次是否有意外掉电问题,若有则表明在上次断电时还存在有没有写入到日志文件中的内容,通过把其重新写入到日志文件中可以继续上次意外断电未完成事项。
作为一实施例,上述方法中,所述预设时间条件包括同一日志信息从上一次出现到再次出现的时间间隔和/或同一日志信息从第一次产生到再次出现的时间差。本实施例采用这两种预设时间条件的有优点在于:
同一日志信息从上一次出现到再次出现的时间间隔t,保证了同一条日志信息两次出现的时间间隔只有在小于t(例如2min)时才会被写入到暂存区内,否则,会直接写入到日志文件中并清空相应暂存区。
同一日志信息从第一次产生到再次出现的时间差T,保证了当同一条日志信息重发长时间出现时,能够强制每T(例如1h)时间强制把暂存区内相应日志写入到日志文件中,防止日志写入时间距日志产生时间过长的情况发生。
作为一实施例,上述方法中,所述暂存区为链表。链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O⑴。使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
本实施例中,考虑到技术应用环境中需要经常插入和删除元素,而链表在插入和删除元素时不需要移动其余元素,效率高,为O(1),故采用了链表为最优选择。
作为一实施例,上述方法中,它还包括日志写入控制流程,所述日志写入控制流程包括判断日志信息级别是否高于预设级别,若是将日志信息直接写入日志文件;若否执行日志缓存流程。本实施例通过在增加日志写入控制流程,从而引入日志信息分级概念,从而可以更灵活的调节不同级别的日志信息是否需要缓存重复的问题。
具体实施例:
如图1所示为配备有日志信息级别判别,且采用链表作为暂存区的基于syslogd的重复日志控制方法,包括步骤:
A)、日志信息输入;
B)。判断日志信息级别是否高为预设的重要级别?若是则执行步骤M;若否执行步骤C。
C)、判断是否存在链表?,若否,则执行步骤D,若是,则执行步骤L;
D)、获取当前时间;
E)、遍历整个链表,找寻是否有相同的日志信息;
F)、判断链表内是否有与存入的日志信息相同的日志信息,若否,则执行步骤H,若是,则执行步骤G;
G)、将获取的当前时间更新为该日志信息的最后一次产生时间,且重复次数+1,返回步骤A;
H)、将该日志信息插入链表,同时将获取的当前时间作为该日志信息的第一次产生时间,执行步骤I;
I)、根据该日志信息对应的第一次产生时间与最后一次产生时间得到日志产生时间段,判断该日志产生时间段是否超出预设时间条件,若否则返回步骤A;若是,则执行步骤J;
J)、调用printchopped将该日志信息连同其重复次数、第一次产生时间与最后一次产生时间一并写入日志文件中,执行步骤K;
K)、将链表中该日志信息删除,返回步骤A;
L)、创建一个链表,而后执行步骤H;
M)、产生一个暂存区,然后执行步骤B;
N)、调用printchopped将该日志信息写入日志文件中。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于syslogd的重复日志控制方法,其特征在于:包括日志缓存流程,所述日志缓存流程包括:
将预设时间条件内产生的日志信息存入至暂存区中;
判断所述日志信息是否已存在暂存区中,若是,则将与日志信息对应的重复次数加1;
待预设时间到达后,将所述日志信息及对应的重复次数写入日志文件并将暂存区清空。
2.如权利要求1所述的基于syslogd的重复日志控制方法,其特征在于:所述日志缓存流程具体包括步骤,
A)、当有日志信息存入,判断是否存在暂存区,若否,则执行步骤E,若是,则执行步骤B;
B)、判断暂存区内是否有与存入的日志信息相同的日志信息,若否,则执行步骤F,若是,则执行步骤C;
C)、计算暂存区中该相同的日志信息对应的第一次产生时间与最后一次产生时间之间的日志产生时间段,判断日志产生时间段是否超出预设时间条件,若否,则将该日志信息产生的时间作为日志最后一次产生时间写入暂存区中并将该日志信息对应的日志重复次数加1;若是,则将该日志信息对应的日志产生时间段、日志重复次数及日志信息写入日志文件中,然后执行步骤D;
D)、将该日志信息从暂存区中删除;
E)、产生一个暂存区,然后执行步骤B;
F)、将存入的日志信息、该日志信息产生的时间作为日志第一次产生时间写入暂存区,并初始化该日志信息对应的日志重复次数及最后一次产生时间。
3.如权利要求1所述的基于syslogd的重复日志控制方法,其特征在于:它还包括临时存储流程,所述临时存储流程包括:创建临时文件,在设定间隔时间内将暂存区中信息写入临时文件中。
4.如权利要求3所述的基于syslogd的重复日志控制方法,其特征在于:所述临时存储流程中,待暂存区中信息写入临时文件后,清空暂存区;对应的日志缓存流程中所述步骤A前还包括,检查临时文件中是否为空,是则执行步骤A,否则将临时文件中的信息写入日志文件中。
5.如权利要求1-4任意一项所述的基于syslogd的重复日志控制方法,其特征在于:所述预设时间条件包括同一日志信息从上一次出现到再次出现的时间间隔和/或同一日志信息从第一次产生到再次出现的时间差。
6.如权利要求1-4任意一项所述的基于syslogd的重复日志控制方法,其特征在于:所述暂存区为链表。
7.如权利要求1-4任意一项所述的基于syslogd的重复日志控制方法,其特征在于:它还包括日志写入控制流程,所述日志写入控制流程包括判断日志信息级别是否高于预设级别,若是将日志信息直接写入日志文件;若否执行日志缓存流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753706.0A CN103761262A (zh) | 2013-12-31 | 2013-12-31 | 基于syslogd的重复日志控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753706.0A CN103761262A (zh) | 2013-12-31 | 2013-12-31 | 基于syslogd的重复日志控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103761262A true CN103761262A (zh) | 2014-04-30 |
Family
ID=50528499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310753706.0A Pending CN103761262A (zh) | 2013-12-31 | 2013-12-31 | 基于syslogd的重复日志控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761262A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166563A (zh) * | 2014-08-11 | 2014-11-26 | Tcl通讯(宁波)有限公司 | 基于移动终端对重复输出的log进行控制的方法及系统 |
CN105049260A (zh) * | 2015-08-24 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 日志管理方法和装置 |
CN106843957A (zh) * | 2017-01-17 | 2017-06-13 | 青岛海信移动通信技术股份有限公司 | 系统固件升级方法及装置 |
CN104216822B (zh) * | 2014-09-24 | 2018-03-30 | 北京国双科技有限公司 | 一种异常信息的处理方法及装置 |
CN110019064A (zh) * | 2017-09-01 | 2019-07-16 | 大唐移动通信设备有限公司 | 消除重复日志记录的过滤方法及装置 |
CN111124836A (zh) * | 2019-12-26 | 2020-05-08 | 珠海金山网络游戏科技有限公司 | 一种程序日志记录方法及装置 |
CN112363675A (zh) * | 2020-11-18 | 2021-02-12 | 苏州元核云技术有限公司 | 基于分布式存储系统的控制方法及系统 |
-
2013
- 2013-12-31 CN CN201310753706.0A patent/CN103761262A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166563A (zh) * | 2014-08-11 | 2014-11-26 | Tcl通讯(宁波)有限公司 | 基于移动终端对重复输出的log进行控制的方法及系统 |
CN104166563B (zh) * | 2014-08-11 | 2017-12-12 | Tcl通讯(宁波)有限公司 | 基于移动终端对重复输出的log进行控制的方法及系统 |
CN104216822B (zh) * | 2014-09-24 | 2018-03-30 | 北京国双科技有限公司 | 一种异常信息的处理方法及装置 |
CN105049260A (zh) * | 2015-08-24 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 日志管理方法和装置 |
CN105049260B (zh) * | 2015-08-24 | 2019-03-19 | 浪潮(北京)电子信息产业有限公司 | 日志管理方法和装置 |
CN106843957A (zh) * | 2017-01-17 | 2017-06-13 | 青岛海信移动通信技术股份有限公司 | 系统固件升级方法及装置 |
CN106843957B (zh) * | 2017-01-17 | 2021-03-16 | 青岛海信移动通信技术股份有限公司 | 系统固件升级方法及装置 |
CN110019064A (zh) * | 2017-09-01 | 2019-07-16 | 大唐移动通信设备有限公司 | 消除重复日志记录的过滤方法及装置 |
CN111124836A (zh) * | 2019-12-26 | 2020-05-08 | 珠海金山网络游戏科技有限公司 | 一种程序日志记录方法及装置 |
CN112363675A (zh) * | 2020-11-18 | 2021-02-12 | 苏州元核云技术有限公司 | 基于分布式存储系统的控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761262A (zh) | 基于syslogd的重复日志控制方法 | |
CN102999537B (zh) | 一种数据迁移系统和方法 | |
CN102970158B (zh) | 日志存储与处理的方法及日志服务器 | |
CN108280080B (zh) | 一种数据同步方法、装置以及电子设备 | |
CN104065685B (zh) | 面向云计算环境的分层存储系统中的数据迁移方法 | |
CN103412803B (zh) | 数据恢复的方法及装置 | |
WO2021223451A1 (zh) | 汽车生产动作数据采集方法、系统、装置和存储介质 | |
CN104778225B (zh) | 一种非结构化数据多存储系统中同步数据的方法 | |
CN101610287A (zh) | 一种应用于分布式海量存储系统的负载均衡方法 | |
CN101944119B (zh) | 一种智能电子设备的实时事件管理方法 | |
CN103370691A (zh) | 管理缓冲器溢出状况 | |
CN101446966A (zh) | 数据存储方法及系统 | |
CN101686209A (zh) | 消息转发系统中存储消息的方法和装置 | |
CN103309904A (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
CN103647850A (zh) | 一种分布式版本控制系统的数据处理方法、设备及系统 | |
CN110750372A (zh) | 基于共享内存的日志系统及日志管理方法 | |
CN104219639A (zh) | 一种显示短信记录的方法和装置 | |
CN109582446A (zh) | 准实时异步批量处理系统、方法、装置和存储介质 | |
US20220261297A1 (en) | Near-real-time data processing with partition files | |
CN106383896A (zh) | 一种基于爬虫+RocketMQ的数据抓取分发方法 | |
CN110311817B (zh) | 用于Kubernetes集群的容器日志处理系统 | |
CN103714059B (zh) | 一种更新数据的方法及装置 | |
CN108763562A (zh) | 一种基于大数据技术提升数据交换效率的构建方法 | |
CN112860412A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN101604269B (zh) | 一种备份数据的管理系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140430 |