日志数据写入方法和日志系统的制作方法

文档序号:6425284阅读:236来源:国知局
专利名称:日志数据写入方法和日志系统的制作方法
技术领域
本发明涉及数据库和计算机领域,更具体的说,是涉及一种日志数据写入方法和日志系统。
背景技术
在计算机中日志是软件的必要组成部分,其主要用于保存计算机中的信息和数据。在日常的计算机应用中,只要产生一条日志数据,即刻写入磁盘存档,通常情况下,采用该种方式已经可以满足计算机应用的需要了。但是,在日志数据的高并发情况下,采用现有技术的方法当产生一条日志数据时, 即刻写入磁盘存档,这样必然会导致频繁的磁盘1/0(输入输出)操作,不仅浪费太多的时间,而且还增加了系统的功耗。因此,为了做到快速的响应,在日志数据写入磁盘存到时减少时间的浪费和系统的功耗,就必须提供一种新的日志数据写入方法。

发明内容
有鉴于此,本发明提供了一种日志数据写入方法和日志系统,以克服现有技术中由于日志数据写入时频繁的磁盘I/o操作,造成时间上的浪费和增加系统功耗的问题。为实现上述目的,本发明提供如下技术方案一种日志数据写入方法,包括获取产生的日志数据将其写入内存;当所述内存中的日志数据达到预置数量时,将存储于所述内存中的所有所述日志数据写入磁盘。优选地,获取产生的日志数据将其写入内存之后,所有所述日志数据写入磁盘之前,还包括当达到进行磁盘写入的预设时间时,所述内存中存储的所述日志数据存在,将所有所述日志数据写入磁盘。优选地,包括当达到进行磁盘写入的预设时间时,所述内存中存储的所述日志数据不存在,初始化所述预设时间。优选地,所述预置数量为日志数据的条数。优选地,所述预置数量为日志数据的存储量。优选地,所述预设时间采用定时器进行定时。—种日志系统,包括第一写入单元,用于获取产生的日志数据将其写入内存;第一判断单元,用于判断所述内存中的日志数据是否达到预置数量;第二写入单元,用于当所述内存中的日志数据达到预置数量时,将存储于所述内存中的所有日志数据写入磁盘。优选地,还包括第二判断单元,用于在日志数据写入内存之后,所有日志数据写入磁盘之前,判断是否达到进行磁盘写入的预设时间;第三判断单元,用于当到达进行磁盘写入的预设时间时,判断内存中存储的日志数据是否存在,如果存在,则进入第二写入单元;如果不存在,则进入定时单元;定时单元,用于对预设时间进行初始化和定时。经由上述的技术方案可知,与现有技术相比,本发明公开了一种日志数据写入方法和日志系统,通过将日志数据存储于内存中,在满足预设条件下,将 日志数据通过批量的方式写入至磁盘中存档,能够减少现有技术中一旦生成日志数据即刻写入磁盘的操作,减少磁盘I/o操作,即减少了在日志数据高并发应用情况下,减少日志数据写入磁盘存档的次数,进而减少日志写入磁盘的时间,同时,降低系统在进行磁盘写入时的功耗,最终达到快速响应的目的。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图I为本发明实施例一公开的一种日志数据写入方法的流程图;图2为本发明实施例二公开的一种日志数据写入方法的流程图;图3为本发明实施例三公开的一种日志系统的结构示意图;图4为本发明实施例四公开的一种日志系统的结构示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。经由背景技术可知,采用现有技术时,一旦生成日志数据,即刻将其写入磁盘中进行存档,导致频繁的磁盘I/o操作,不仅浪费了大量时间,在频繁操作的过程中还增加了系统的功耗。因此,本发明实施例公开了一种新的日志数据写入方法,减少日志数据写入磁盘进行存档时所进行的频繁操作,进一步减少操作时所耗费的时间和系统的功耗。具体过程通过以下实施例进行详细说明。实施例一请参阅附图1,为本发明实施例公开的一种日志数据写入方法的流程图,主要包括以下步骤步骤S101,获取产生的日志数据,并将该日志数据写入内存中。步骤S102,判断内存中所存储的日志数据是否已达到预置数量,如果是,则执行步骤S103 ;如果否,则结束。步骤S103,将存储于内存中的所有的日志数据写入磁盘中进行存档。在执行上述步骤SlOl至步骤S103时,首先,将计算机中生成的日志数据持续保存于内存中;然后,判断内存中所存储的日志数据是否已经达到预置数据,如果是,则将存储与内存中的所有日志数据采用批量的方式写入至磁盘中。本发明实施例采用上述的方式是基于写数据时,写入内存的速度比写入磁盘的速度快(大约为1000倍以上)的特点,一旦生成日志数据,则将其写入内存中,并在日志数据在内存中达到一定的量时,即预置数量时,将其批量写入至磁盘中存档。其中,在本发明所公开的实施例中,内存中的预置数量可以根据具体的应用场景进行预先的设置。并且,该预置数量可以指存储于内存中的日志数据的记录条数,如存储20条或30条,也可以是指存储于内存中的日志数据的存储量,如存储了 4K或8K的日志。一般情况下,采用预置内存中的日志数据的记录条数的方式,判断内存中所存储的日志数据量。 通过上述本发明实施例公开的日志数据写入方法,能够减少现有技术中一旦生成日志数据即刻写入磁盘的操作,减少磁盘I/o操作,即减少了在日志数据高并发应用情况下,减少日志数据写入磁盘存档的次数,进而减少日志写入磁盘的时间,同时,降低系统在进行磁盘写入时的功耗,最终达到快速响应的目的。实施例二在上述本发明实施例一提出的日志数据写入方法的基础上,本发明还公开了一种日志数据写入方法,具体流程图请参阅附图2,主要包括以下步骤步骤S201,获取产生的日志数据,并将该日志数据写入内存中。步骤S202,等待事件,判断是否达到进行磁盘写入的预设时间,如果是,则执行步骤S203,如果否,则继续等待事件。步骤S203,判断内存中是否存在日志数据,如果是,则执行步骤S205,如果否,则返回步骤S202继续等待事件。步骤S204,判断内存中所存储的日志数据是否已达到预置数量,如果是,则执行步骤S205 ;如果否,则结束。步骤S205,将存储于内存中的所有的日志数据写入磁盘中进行存档。在执行上述步骤S201至步骤S205中,步骤S202中的等待事件是操作系统内核对象,为等待超时发生这一事件,即判断当前的操作是否达到预设时间,当达到预设时间后再执行步骤S203,判断内存中是否存储有日志数据,如果有则将所存储的日志数据采用批量的方式写入磁盘中存档。需要说明的是,在执行步骤S202时,由于,其等待事件为操作系统的内核对象,所以,其在执行等待这一操作时不占用CPU资源。由于,步骤S202和步骤S204实际上可以看作是并列存在的,因此,在执行步骤S202的同时,执行步骤S204,依据预置数量这一条件对内存中的日志数据进行判断,如果内存中的日志数据量满足预置数量这一条件,则将当前内存中的日志数据写入至磁盘中进行存档。由上述可知,当执行步骤S202等待事件时,如果预设时间未到达,而内存中的日志数据已满足预置数量这一写入条件,则先执行当前内存中的日志数据的写入,然后再等待事件发生后再判断内存中是否存储有日志数据;如果预设时间在内存中的日志数据满足预置数量之前达到,则执行步骤S203,判断内存中是否存在日志数据,并在存在时,将日志数据写入至磁盘中进行存档。本发明实施例在采用上述的方式写入时,也是基于写入内存的速度比写入磁盘的速度快(大约为1000倍以上)的特点,一旦生成日志数据,则将其写入内存中,并在日志数据在内存中达到一定的量时,即预置数量时,将其批量写入至磁盘中存档。其中,在本发明所公开的实施例中,内存中的预置数量也可以采用实施例一中的方式进行预先的设置。而在满足执行步骤S202、步骤S203和步骤S205时可采用线程的方式实现。此外,在等待事件发生时,可采用定时器的方式实现。通过上述本发明实施例公开的日志数据写入方法,能够减少现有技术中一旦生成日志数据即刻写入磁盘的操作,减少磁盘I/o操作,即减少了在日志数据高并发应用情况下,减少日志数据写入磁盘存档的次数,进而减少日志写入磁盘的时间,同时,降低系统在进行磁盘写入时的功耗,最终达到快速响应的目的。
上述本发明公开的实施例中详细描述了一种日志数据写入方法,对于本发明实施例所公开的方法可采用多种形式的系统实现,因此本发明还公开了一种日志系统,下面给出具体的实施例进行详细说明。实施例三请参阅附图3为本发明实施例公开的一种日志系统的结构示意图,其特征在于,包括第一写入单元301、第一判断单元302和第二写入单元303。第一写入单元301,用于获取产生的日志数据,并将该日志数据写入内存。第一判断单元302,用于判断内存中所存储的日志数据是否达到预置数量。第二写入单元303,用于当所述内存中的日志数据达到预置数量时,将存储于所述内存中的所有日志数据写入磁盘。上述本发明实施例公开的日志系统,其各个单元在执行日志写入的过程中与实施例一中公开的方法一一对应,因此,这里不再进行赘述。实施例四在上述本发明实施例三的基础上,本发明还公开了一种日志系统,请参阅附图4为该日志系统的结构示意图,主要包括第一写入单元401、第二判断单元402、第三判断单元403、定时单元404、第一判断单元405和第二写入单元406。第一写入单元401,用于获取产生的日志数据,并将该日志数据写入内存。第二判断单元402,用于在日志数据写入内存之后,所有日志数据写入磁盘之前,判断是否达到进行磁盘写入的预设时间。第三判断单元403,用于当到达进行磁盘写入的预设时间时,判断内存中存储的日志数据是否存在,如果存在,则进入第二写入单元406 ;如果不存在,则进入定时单元404。定时单元404,用于对预设时间进行初始化和定时。第一判断单元405,用于判断内存中所存储的日志数据是否达到预置数量。第二写入单元406,用于当内存中所存储的日志数据达到预置数量时,将存储于内存中的所有日志数据写入磁盘进行存档。基于上述公开的日志系统,在进行日志写入磁盘进行存档时,第一判断单元405与第二判断单元402实际上是并行存在的,即两者同时存在,当第一判断单元405不满足条件,且第二判断单元402满足时,则执行与第二判断单元402相关的日志数据写入;如果第一判断单元405满足条件,且第二判断单元402不满足条件时,则执行与第一判断单元405相关的日志数据写入。即在进行判断的过程中,由于第一判断单元405和第二判断单元402的判断条件不一致,因此,先执行满足条件的判断单元对应的相关的日志数据写入操作。综上所述通过上述本发明实施例公开的日志数据写入方法和日志系统,能够减少现有技术中一旦生成日志数据即刻写入磁盘的操作,减少磁盘I/o操作,即减少了在日志数据高并发应用情况下,减少日志数据写入磁盘存档的次数,进而减少日志写入磁盘的时间,同时,降低系统在进行磁盘写入时的功耗,最终达到快速响应的目的。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。·结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种日志数据写入方法,其特征在于,包括 获取产生的日志数据将其写入内存; 当所述内存中的日志数据达到预置数量时,将存储于所述内存中的所有所述日志数据写入磁盘。
2.根据权利要求I所述的方法,其特征在于,获取产生的日志数据将其写入内存之后,所有所述日志数据写入磁盘之前,还包括 当达到进行磁盘写入的预设时间时,所述内存中存储的所述日志数据存在,将所有所述日志数据写入磁盘。
3.根据权利要求2所述的方法,其特征在于,包括 当达到进行磁盘写入的预设时间时,所述内存中存储的所述日志数据不存在,初始化所述预设时间。
4.根据权利要求I所述的方法,其特征在于,所述预置数量为日志数据的条数。
5.根据权利要求I所述的方法,其特征在于,所述预置数量为日志数据的存储量。
6.根据权利要求2所述的方法,其特征在于,所述预设时间采用定时器进行定时。
7.一种日志系统,其特征在于,包括 第一写入单元,用于获取产生的日志数据将其写入内存; 第一判断单元,用于判断所述内存中的日志数据是否达到预置数量; 第二写入单元,用于当所述内存中的日志数据达到预置数量时,将存储于所述内存中的所有日志数据写入磁盘。
8.根据权利要求7所述的系统,其特征在于,还包括 第二判断单元,用于在日志数据写入内存之后,所有日志数据写入磁盘之前,判断是否达到进行磁盘写入的预设时间; 第三判断单元,用于当到达进行磁盘写入的预设时间时,判断内存中存储的日志数据是否存在,如果存在,则进入第二写入单元;如果不存在,则进入定时单元; 定时单元,用于对预设时间进行初始化和定时。
全文摘要
本发明公开了一种日志写入方法和日志系统,该方法为获取产生的日志数据将其写入内存;当内存中的日志数据达到预置数量时,将存储于内存中的所有所述日志数据写入磁盘。或者在获取产生的日志数据将其写入内存之后,所有日志数据写入磁盘之前,当达到进行磁盘写入的预设时间时,内存中存储的所述日志数据存在,将所有日志数据写入磁盘。通过上述本发明实施例公开的日志数据写入方法和日志系统,能够减少现有技术中一旦生成日志数据即刻写入磁盘的操作,减少磁盘I/O操作,即减少了在日志数据高并发应用情况下,减少日志数据写入磁盘存档的次数,进而减少日志写入磁盘的时间,同时,降低系统在进行磁盘写入时的功耗,最终达到快速响应的目的。
文档编号G06F3/06GK102810050SQ20111014410
公开日2012年12月5日 申请日期2011年5月31日 优先权日2011年5月31日
发明者谢鸿锋 申请人:深圳市金蝶友商电子商务服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1