一种日志记录的方法和系统技术方案

技术编号:8862242 阅读:195 留言:0更新日期:2013-06-28 01:29
本申请提供了一种日志记录的方法和系统,其中,所述方法包括:生成日志;检测应用系统当前的负载状态;若当前负载状态达到第一预设阈值,则将日志写入预置的缓存中;在所述应用系统的负载状态满足预设条件时,将所述缓存中的日志写入应用系统的本地硬盘。用以消除应用系统中日志记录所带来的性能瓶颈,节约服务器的资源,提高应用系统业务处理的吞吐量。本申请能够消除应用系统中日志记录所带来的性能瓶颈,节约服务器的资源,提高应用系统业务处理的吞吐量。

【技术实现步骤摘要】

本申请涉及系统日志处理的
,特别是涉及一种日志记录的方法和一种日志记录的系统。
技术介绍
在一个应用系统中,日志是一个非常重要的功能组成部分,目前,应用系统普遍使用磁盘日志作为应用系统的附带功能。日志可以用来记录应用系统产生的所有行为,包括业务操作行为以及系统框架本身的行为,并按照某种规范表达出来。有了这些记录,相关技术人员就可进行系统层面或业务层面的排错,以及系统性能的优化。通常的日志记录方法是,将日志实时地记录到应用服务器的本地磁盘上,相关技术人员登录到该应用服务器上查看日志。可以理解,日志记录需要进行磁盘操作以及文件的读写操作,而应用系统的业务处理在内存中进行,因为磁盘操作比内存操作慢,使用磁盘的性能比使用内存的性能低(通常内存的读写比磁盘的读写快10倍以上),所以日志记录比业务处理慢。然而,在应用系统中,业务处理的量是跟日志记录成正比的,因而业务处理的效率会受日志记录的影响较大。尤其在高并发、系统繁忙的情况下,日志实时记录在应用服务器的本地磁盘上会是应用系统的性能瓶颈,不仅会消耗服务器的资源,还会制约应用系统业务处理的吞吐量。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:创造性地提出一种日志记录的机制,用以消除应用系统中日志记录所带来的性能瓶颈,节约服务器的资源,提高应用系统业务处理的吞吐量。
技术实现思路
本申请所要解决的技术问题是提供一种日志记录的方法和系统,消除应用系统中日志记录所带来的性能瓶颈,节约服务器的资源,提高应用系统业务处理的吞吐量。为了解决上述问题,本申请公开了一种日志记录的方法,具体可以包括:生成日志;检测应用系统当前的负载状态;若当前负载状态达到第一预设阈值,则将日志写入预置的缓存中;在所述应用系统的负载状态满足预设条件时,将所述缓存中的日志写入应用系统的本地硬盘。优选的是,所述预置的缓存为预置的日志缓存服务器,所述将日志写入预置的缓存中的步骤为,将日志通过光纤网络传输给预置的日志缓存服务器。优选的是,所述预置的缓存设置在所述应用系统内存中,在所述将缓存中的日志写入应用系统的本地硬盘的步骤之前,所述的方法还可以包括:当所述缓存中所写入的日志到达一定容量时,将所述缓存中的日志通过光纤网络传输给预置的日志缓存服务器;或者,按照预设时间间隔,将所述缓存中的日志通过光纤网络传输给预置的日志缓存服务器。优选的是,所述的方法,还可以包括:若当前负载状态未达到第一预设阈值,或,当前负载状态达到第二预设阈值,则将日志直接写入应用系统的本地硬盘。优选的是,所述的方法,还可以包括:在预设时间启动日志回导线程;由所述日志回导线程判断应用系统当前的负载状态是否满足预设条件。优选的是,所述的方法,还可以包括:将所述日志缓存服务器中的日志写入应用系统的本地硬盘。优选的是,所述负载状态为应用系统的平均负载参数,和/或,硬盘剩余空间量和内存剩余空间量。本申请同时公开了一种日志记录的系统,具体可以包括:日志生成模块,用于生成日志;第一负载检测模块,用于检测应用系统当前的负载状态,并判断当前负载状态是否达到第一预设阈值,若是,则调用缓存写入模块;缓存写入模块,用于将日志写入预置的缓存中;第二负载检测模块,用于判断所述应用系统的负载状态是否满足预设条件,若是,则调用第一硬盘写入模块;第一硬盘写入模块,用于将所述缓存中的日志写入应用系统的本地硬盘。优选的是,所述预置的缓存为预置的日志缓存服务器,所述缓存写入模块可以包括:日志获取子模块,用于获取所生成的日志;第一日志传输子模块,用于将所述日志通过光纤网络传输给预置的日志缓存服务器。优选的是,所述预置的缓存设置在所述应用系统内存中,所述的系统还可以包括:条件判断子模块,用于判断所述缓存中所写入的日志是否到达一定容量,和/或,判断是否满足预设时间间隔;若是,则调用第二日志传输子模块;第二日志传输子模块,用于将所述缓存中的日志通过光纤网络传输给预置的日志缓存服务器。优选的是,所述的系统,还可以包括:第二硬盘写入模块,用于在当前负载状态未达到第一预设阈值,或,当前负载状态达到第二预设阈值时,将日志直接写入应用系统的本地硬盘。优选的是,所述的系统,还可以包括:线程启动模块,用于在预设时间启动日志回导线程;由所述日志回导线程调用第二负载检测模块。优选的是,所述的系统,还可以包括:第三硬盘写入模块,用于将所述日志缓存服务器中的日志写入应用系统的本地硬盘。与现有技术相比,本申请包括以下优点:本申请结合了弹性计算思想与日志记录,创造性地提出了可伸缩地日志记录方案,通过自动检测系统当前负载,并应用到日志记录过程中,当系统资源严重不足时,降低日志记录的资源消耗,加快日志记录的速度,从而消除了应用系统中日志记录所带来的性能瓶颈,节约了服务器的资源,提高了应用系统业务处理的吞吐量。应用本申请实施例,对应用系统来说没有任何变化,是透明的,现有应用系统在业务上无需做任何改动。在某些恶劣的环境下,尤其在高并发、系统繁忙、系统资源严重不够用的情况下,能尽最大可能地保证应用系统的业务处理效率而不是日志记录。并且,本申请还采用了日志回导机制保证了日志的完整性,达到日志无损的目的。另外,本申请还采用了光纤网络通信有效保证日志传输的时效性。附图说明图1是本申请的一种日志记录的方法实施例1的步骤流程图;图2是本申请的一种日志记录的方法实施例2的步骤流程图;图3是本申请的一种日志记录的系统实施例1的结构框图;图4为本申请的一种日志记录的系统实施例2的结构框图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出了本申请的一种日志记录的方法实施例1的步骤流程图,具体可以包括如下步骤:步骤101、生成日志;当应用系统的业务处理模块需要记录日志时,例如,在有页面访问请求或服务调用请求到达时,则生成相应的日志。在实际中,日志可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。在安全领域,日志的重要地位尤甚。通常,每种应用系统的日志都有根据其自身要求设计的形式和规范,在本申请实施例中,对所述日志的形式和规范不作限制。步骤102、检测应用系统当前的负载状态;作为本申请实施例的一种示例,所述负载状态可以为应用系统的平均负载参数,和/或,硬盘剩余空间量和内存剩余空间量。以Java系统为例,可以通过JDK (JDK是整个Java的核心,包括了 Java运行环境(Java Runtime Envirnment) ,Java 工具和 Java 基础的类库(rt.jar) ,Java 应用服务器实质都是内置了某个版本的JDK)自带的函数:doubleJava.lang.management.0peratingSystemMXBean.getSystemLoadAverage (): ! 取系统的平均负载参数load。或者,还可以通过第三方包,比如sigar.jar,来获取硬盘剩余空间和内存剩余空间等系统关键性能信息。步骤103、判断当前负载状态是否达到第一预设阈值,若是,则执行步骤104 ;若否,则执行步骤105;在具体实现中本文档来自技高网...
一种日志记录的方法和系统

【技术保护点】
一种日志记录的方法,其特征在于,包括:生成日志;检测应用系统当前的负载状态;若当前负载状态达到第一预设阈值,则将日志写入预置的缓存中;在所述应用系统的负载状态满足预设条件时,将所述缓存中的日志写入应用系统的本地硬盘。

【技术特征摘要】
1.一种日志记录的方法,其特征在于,包括: 生成日志; 检测应用系统当前的负载状态; 若当前负载状态达到第一预设阈值,则将日志写入预置的缓存中; 在所述应用系统的负载状态满足预设条件时,将所述缓存中的日志写入应用系统的本地硬盘。2.根据权利要求1所述的方法,其特征在于,所述预置的缓存为预置的日志缓存服务器,所述将日志写入预置的缓存中的步骤为, 将日志通过光纤网络传输给预置的日志缓存服务器。3.根据权利要求1所述的方法,其特征在于,所述预置的缓存设置在所述应用系统内存中,在所述将缓存中的日志写入应用系统的本地硬盘的步骤之前,所述的方法还包括: 当所述缓存中所写入的日志到达一定容量时,将所述缓存中的日志通过光纤网络传输给预置的日志缓存服务器; 或者, 按照预设时间间隔,将所述缓存中的日志通过光纤网络传输给预置的日志缓存服务器。4.根据权利要求1或2或3所述的方法,其特征在于,还包括: 若当前负载状态未达到第一预设阈值,或,当前负载状态达到第二预设阈值,则将日志直接写入应用系统的本地硬盘。5.根据权利要求1或2或3所述的方法,其特征在于,还包括: 在预设时间启动日志回导线程; 由所述日志回导线程判断应用系统当前的负载状态是否满足预设条件。6.根据权利要求3所述的方法,其特征在于,还包括: 将所述日志缓存服务器中的日志写入应用系统的本地硬盘。7.根据权利要求1或2或3或6所述的方法,其特征在于,所述负载状态为应用系统的平均负载参数,和/或,硬盘剩余空间量和内存剩余空间量。8.一种日志记录的系统,其特征在于,包括: 日志生成模块,用...

【专利技术属性】
技术研发人员:刘冬东
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1