CN110389933B - 一种进程间的日志管理方法及装置 - Google Patents

一种进程间的日志管理方法及装置 Download PDF

Info

Publication number
CN110389933B
CN110389933B CN201910586164.XA CN201910586164A CN110389933B CN 110389933 B CN110389933 B CN 110389933B CN 201910586164 A CN201910586164 A CN 201910586164A CN 110389933 B CN110389933 B CN 110389933B
Authority
CN
China
Prior art keywords
log
sub
level
buffer
level sub
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.)
Active
Application number
CN201910586164.XA
Other languages
English (en)
Other versions
CN110389933A (zh
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.)
Comba Network Systems Co Ltd
Original Assignee
Comba Network Systems Co Ltd
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 Comba Network Systems Co Ltd filed Critical Comba Network Systems Co Ltd
Priority to CN201910586164.XA priority Critical patent/CN110389933B/zh
Publication of CN110389933A publication Critical patent/CN110389933A/zh
Application granted granted Critical
Publication of CN110389933B publication Critical patent/CN110389933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及计算机技术,尤其涉及一种进程间的日志管理方法及装置,用以针对多个CPU支持的进程各自产生的日志进行统一管理。该方法为:在对应各个进程分配的第一级缓冲区中,分别按照各个日志的子业务类型,将各个日志保存至相应的第一级子缓冲区,再从各个第一级缓冲区中提取日志传输至第二级缓冲区,在第二级缓冲区中,仍然按照各个日志的子业务类型,分别将各个日志保存至相应的第二级子缓冲区。这样,可以缓解产生日志与保存日志速度不均造成系统卡顿的情况,实现日志的统一管理,从而提高了日志的可读性,使日志的条理更清晰,有助于管理人员针对特定业务类型进行优化监控。

Description

一种进程间的日志管理方法及装置
技术领域
本发明涉及计算机技术,尤其涉及一种进程间的日志管理方法及装置。
背景技术
随着技术的发展,人们对设备产品的功能要求不断增多,设备应用系统的规模逐渐增大,大型应用系统的实现需要众多业务功能模快协作配合。由于系统中模块间配合日趋多样化,在功能实现时存在不同业务功能的模块分别部署在不同进程中或是一个进程上出现多个应用模块的情况。人们根据进程间日志信息对设备产品的运行状态进行分析,并在出现故障时快速定位,可见进程间的日志管理在系统的运行维护中犹为重要。
相关技术下,进程间日志记录的通信通常采用套接字(socket),消息队列,内存共享等单一通信机制,一个进程对应一个日志文件,一个进程内部对应一个缓存区。
下面以传统的日志管理方法为例,介绍如下:
方案1、首先利用日志函数将各进程产生的日志,分别写入公共存储区域中,且每个进程对应一个单独的日志缓存区域,然后利用日志收集器,从日志缓存区中读取日志数据,写入日志文件中,并通过日志文件管理器对日志文件进行管理。
采用方案1时,从日志处理进程的角度来看,将每个进程的日志写入同一日志文件中,看似可以对日志文件进行统一管理,但是处理过程需要日志收集器主动收集日志数据,这可能会出现日志数据收集不全,而且由于单独的日志缓存区域处于公共存储区域内,而公共存储区域的存储容量有限。当缓存不同程序的进程日志时,一旦缓存的日志数据超出存储范围,其他程序再产生的进程日志将无法缓存在公共区域内,无法缓存在公共区域内的日志数据将无法被日志收集器读取,即无法写入到日志文件中进行管理,一旦程序发生故障,无法快速找到故障原因。
方案2、采用两级缓冲机制对日志进行存储管理,此日志管理系统预先根据应用规模为每个进程预先划分独立的缓冲区,当系统检测到有调用日志注册接口函数的进程时,为进程日志分配第一级缓冲区,当系统检测到第一级缓冲区中的日志数据符合拷贝要求时,将第一级缓冲区中的日志数据拷贝入第二级缓冲区。所述第二级缓冲区的作用是缓冲所有从第一级缓冲区拷贝来的数据,当系统检测到第二级缓冲区中的日志数据数目超过第二级缓冲区最大记录数目的一半时,输出日志数据至日志文件。
采用方案2的管理方法仅适用于单个中央处理器(Central Processing Unit,CPU)下进程日志的处理,若针对多个CPU的进程日志管理,必须分别建立不同的第一、二级缓冲区。另外该方法同样对进程日志的类型不做区分,一旦程序发生故障,无法及时从日志文件中准确找到故障相关的日志内容。
有鉴于此,需要设计一种新的进程间的日志管理方法,以克服上述缺陷。
发明内容
本发明实施例提供一种进程间日志管理方法与系统,用以解决现有技术中存在无法针对多个CPU支持的多个进程各自产生的日志进行统一管理的问题。
本发明实施例提供的具体技术方案如下:
一种进程间的日志管理方法,包括:
确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志;
分别对所述至少两个进程中每一个进程执行以下操作:
确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;
所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中;
从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
可选的,所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区之前,进一步包括:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
可选的,从任意一个第一级子缓冲区中提取日志,包括:
确定所述任意一个第一级子缓冲区中保存的数据达到预设门限值时,从所述任意一个第一级子缓冲区中提取日志;或者,
按照设定的周期从所述任意一个第一级子缓冲区中提取日志;或者,
在接收到高层指令时,从所述任意一个第一级子缓冲区中提取日志。
可选的,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区,包括:
采用套接字socket通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。
可选的,分别将各个日志传输至相应的第二级子缓冲区中进行保存之后,进一步包括:
按照指定的组合方式,从至少一个第二级子缓冲区中提取相应子业务类型的日志;
将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
一种进程间的日志管理装置,包括:
确定单元,用于确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志;
第一处理单元,分别对所述至少两个进程中每一个进程执行以下操作:
确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;
所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中;
第二处理单元,从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
可选的,所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区之前,所述第一处理单元进一步用于:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
可选的,从任意一个第一级子缓冲区中提取日志时,所述第二处理单元用于:
确定所述任意一个第一级子缓冲区中保存的数据达到预设门限值时,从所述任意一个第一级子缓冲区中提取日志;或者,
按照设定的周期从所述任意一个第一级子缓冲区中提取日志;或者,
在接收到高层指令时,从所述任意一个第一级子缓冲区中提取日志。
可选的,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区时,所述第二处理单元用于:
采用套接字socket通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。
可选的,分别将各个日志传输至相应的第二级子缓冲区中进行保存之后,所述第二处理单元进一步用于:
按照指定的组合方式,从至少一个第二级子缓冲区中提取相应子业务类型的日志;
将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
一种智能设备,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行所述存储器中存储的可执行指令,以实现上述任一项的进程间日志处理方法。
一种存储介质,当所述存储介质中的指令由处理器执行时,使得能够执行上述任一项所述的进程间日志处理方法。
本发明实施例中,采用二级缓冲结构来管理不同CPU支持的多个进程各自产生的日志,即在对应各个进程分配的第一级缓冲区中,分别按照各个日志的子业务类型,将各个日志保存至相应的第一级子缓冲区,然后,从各个第一级缓冲区中提取日志传输至第二级缓冲区,在第二级缓冲区中,仍然按照各个日志的子业务类型,分别将各个日志保存至相应的第二级子缓冲区。可见,采用二级缓冲结构结合子业务类型,对各个日志进行分类存储,可以在用户的操作过快,CPU支持的进程产生日志的速度快于日志传输速度时,起到缓冲作用,缓解产生日志与保存日志速度不均的造成系统卡顿的情况;进一步的,本发明实施例中,在第二级缓冲区中,对不同CPU支持的多个进程各自产生的日志不做区分,仅按照子业务类型将日志分别保存在第二级子缓冲区中,这样,便实现了日志的统一管理,从而提高了日志的可读性,使日志的条理更清晰,有助于管理人员针对特定业务类型进行优化监控。加快了处理速度,简便操作,大大降低了日志查找的难度。
附图说明
图1为本发明实施例中缓冲区存放示意图;
图2为本发明实施例中采用二级缓冲结构保存流程示意图;
图3为本发明实施例中日志读取输出示意图;
图4为本发明实施例中智能设备逻辑结构示意图;
图5为本发明实施例中智能设备实体结构示意图。
具体实施方式
为了解决已有技术中存在的,无法针对多个CPU支持的多个进程各自产生的日志进行统一管理的问题,本发明实施例中,采用二级缓存结构设置第一级缓冲区和第二级缓冲区,在第一级缓冲区和第二级缓冲区中,分别基于各个日志的子业务类型来保存以及收集日志。
下面结合附图对本发明优选的实施方式作出进一步详细说明。
参阅图1所示,本发明实施例中,智能设备采用二级缓存结构来设置缓冲区,如具体包括第一级缓冲区和第二级缓冲区;其中,第一级缓冲区,用于保存各个进程产生的日志,其中,不同的进程可以由不同的CPU运行。
例如,进程1是CPU1运行,进程2由CPU2运行,进程3由CPU3运行。
不同的CPU可以运行在同一个设备上,也可以运行不同设备上。
例如,上述CPU1和CPU2运行在手机上,CPU3运行在个人电脑或平板电脑上。
而上述智能设备可以是上述任意一个CPU对应的设备,如,手机,又如,个人电脑,平板电脑等等。或者,上述智能设备也可以是专门独立的设备,如,后台服务器。
如图1所示,在第一级缓冲区中,为每一个进程设置了相应的第一级缓冲区,而每一个第一级缓冲区中,针对不同的子业务类型,分别划分为多个第一级子缓冲区。智能设备针对每一个进程产生的日志,按照日志对应的业务数据的子业务类型的不同,分别存放到相应进程下对应的第一级子缓冲区中。
例如,为保存进程1产生的日志,智能设备分配了进程1的第一级缓冲区,根据进程1运行的应用程序所产生的业务数据包含的多个子业务类型,将进程1的第一级缓冲区划分为相应的多个第一级子缓冲区,即,图1中所示的子业务类型a第一级子缓冲区和子业务类型b第一级子缓冲区。
第二级缓冲区,用于接收从第一级缓冲区发送的日志,并按照子业务类型汇总保存各个日志。
如图1所示,在第二级缓冲区域中,也按照业务数据包含的多个子业务类型,将第二级缓冲区划分为第二级子缓冲区。
将第一级缓冲区与第二级缓冲区进行比较可发现,在第一级缓冲区中,不同进程在自身分配获得的第一级缓冲区中,按照日志的子业务类型,在不同第一级子缓冲区中保存日志;而在第二级缓冲区中,不再针对不同进程区分第二级缓冲区,而是所有进程产生的日志,均按照日志的子业务类型,保存在相应的第二级子缓冲区中。
基于上述二级缓冲结构,后续实施例中,假设所有进程均运行在同一个智能设备中,且所有进程由至少两个CPU支撑运行,其中,用于在进程间进行日志管理的CPU,可以是产生日志的CPU中的任意一个,也可以是独立专属的CPU,那么,参阅图2所示,本发明实施例中,在进程间进行日志管理的详细流程如下:
步骤201:智能设备确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个中央处理器CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志。
例如:CPU1启动进程1运行具有门票购买功能的应用程序X,因此,进程1会基于应用程序X运行过程中产生的业务数据,生成各种子业务类型的日志。
又例如,CPU2启动进程2运行具有支付转账功能的应用程序Y,因此,进程2会基于应用程序Y在运行过程中产生的业务数据,生成各种子业务类型的日志。
又例如,CPU3启动进程3运行具有音乐播放功能的应用程序Z,因此,进程3会基于应用程序Z在运行过程中产生的业务数据,生成各种子业务类型的日志。
不同进程产生的日志,可能会具有相同的子业务类型。
例如,进程1在运行应用程序X的过程中,基于支付工具b产生的业务数据所对应的日志,具有子业务类型b;而进程2运行应用程序Y的过程中,基于支付工具b产生的业务数据所对应的日志,也同样具有子业务类型b。
进一步的,在执行步骤202之前,如果用于管理进程的CPU与产生日志进程的CPU是同一个,则智能设备还需要根据日志的子业务类型生成相应日志,具体包括:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
例如,进程1用于运行具有门票购买功能的应用程序X,那么,每当用户使用应用程序X购买一次门票,进程1就会生成一条相应的日志。
假设在第一次使用过程中,用户使用应用程序X购买了公园门票,并使用支付工具a支付,则智能设备确认应用程序X当前产生的业务数据的子业务类型为子业务类型a,以及假设预设的日志配置参数为:
日志级别为WARN level,此级别会出现潜在错误的情形,有些信息不是错误信息,但日志仍会记录下来给程序处理人员提示,具体如用户的错误输入。
日志使能开关处于使能状态,表征进程产生的日志可以可能写入对应的存储区域。
日志内容格式包含日期、时间、日志级别、代码位置、日志内容、错误码等等信息。
那么,智能设备会通过进程1按照上述日志配置参数产生日志11,并确认日志11的子业务类型为子业务类型a,假设日志11的内容如下:
2019年5月27日19:30WARN level子业务类型a完成支付未检测出错误。
其他进程产生日志的过程与上述过程相同,将不再赘述。
步骤202:智能设备分别对所述至少两个进程中每一个进程执行以下操作:确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中。
例如,进程1用于运行具有门票购买功能的应用程序X,那么,每当用户使用应用程序X购买一次门票,进程1就会生成一条相应的日志。
假设在第一次使用过程中,用户使用应用程序X购买了公园门票,并使用支付工具a支付,则智能设备会通过进程1产生日志11,并确认日志11对应的子业务类型为子业务类型a,以及将日志11保存到进程1分配到的第一级缓冲区中,对应子业务类型a设置的第一级子缓冲区中。
假设在第二次使用过程中,用户使用应用程序X购买了博物馆门票,并使用支付工具b支付,则智能设备会通过进程1产生日志12,并确认日志12的子业务类型为子业务类型b,以及将日志11保存到进程1分配到的第一级缓冲区中,对应子业务类型b设置的第一级子缓冲区中。
又例如,进程2用于运行具有支付转账功能的应用程序Y,那么,每当用户使用应用程序Y进行一次转账,进程2就会生成一条相应的日志。
假设,在第一次使用过程中,用户使用应用程序Y给好友转账,并使用支付工具b支付转账,则智能设备会通过进程2产生日志21,并确认日志21对应的子业务类型为子业务类型b,以及将日志21保存到进程2分配到的第一级缓冲区中,对应子业务类型b设置的第一级子缓冲区中。
又例如,进程3用于运行具有音乐播放功能的应用程序Z,那么,每当用户使用应用程序Z播放音乐时,使用播放工具c进行音乐播放,则智能设备会通过进程3产生日志31,并确认日志31对应的子业务类型为子业务类型c,以及将日志31保存到进程3分配到的第一级缓冲区中,对应子业务类型c设置的第一级子缓冲区中。
步骤203:智能设备从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
具体的,以任意一个第一级子缓冲区为例(以下称为第一级子缓冲区x),智能设备在从第一级子缓冲区x中提取日志,可以采用但不限于以下几种方式:
第一种方式为:智能设备在确定第一级子缓冲区x中保存的数据量达到预设门限值时,则从第一级子缓冲区x中提取日志。
其中,预设门限值可以灵活设置,具体如下:
例如,设置预设的数据量门限值,所述数据量门限值可以是第一级子缓冲区的容量的一半或三分之二,当智能设备确定第一级子缓冲区中保存的日志的数据量达到预设的数据量门限值时,智能设备从第一级子缓冲区提取日志,并主动传输至第二级子缓冲区中进行保存。
又例如,设置预设的存储数目门限值,当智能设备确定第一级子缓冲区中保存的日志数目达到预设的存储数目门限值时,智能设备从第一级子缓冲区提取日志,并主动传输至第二级子缓冲区中进行保存。
又例如,设置预设的第一级缓冲区的总数据量门限值,当智能设备检测到为针对某个进程分配的第一级缓冲区中保存的总数据量达到预设的总数据量门限时,智能设备从相应的第一级子缓冲区提取日志,并主动传输至第二级子缓冲区中进行保存。
第二种方式为:智能设备按照设定的周期从第一级子缓冲区x中提取日志。
在采用第二种方式时,智能设备会定期从各个第一级子缓冲区x中提取日志,并主动传输至第二级子缓冲区中进行保存。
第三种方式为:智能设备确定接收到高层指令时,从第一级子缓冲区x中提取日志。
在采用第三种方式时,管理人员可以在确定发生紧急事件,或者,根据应用场景判定需要立即提取一次日志时,向智能设备发送高层指令,触发智能设备从各个第一级子缓冲区中提取日志,并主动传输第二级子缓冲区进行保存。进一步的,仍以第一级子缓冲区x为例,在从第一级子缓冲区x中提取日志后,可以采用智能化策略机制将提取第一级子缓冲区的日志传输至相应的第二级缓冲区中保存,如,可以采用套接字(socket)通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。如以不同通信机制的组合为例,参照图1所示,进程1第一级子缓冲区与第二级缓冲区之间的日志传输可以采用socket通信机制,进程2第一级子缓冲区与第二级缓冲区之间的日志传输可以是消息队列通信机制,而进程3第一级子缓冲区与第二级缓冲区之间的日志传输可以是共享内存通信机制。
在所述第二级缓冲区中,不再对不同进程分别划分缓冲区,而是仅按照日志的子业务类型划分第二级子缓冲区。
基于上述实施例,智能设备在第二级缓冲区中,按照子业务类型将各个日志保存至相应的第二级子缓冲区之后,进一步的,智能设备会按照指定的组合方式(默认配置或用户指示配置),从至少一个第二级子缓冲区中提取相应子业务类型的日志,再将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
具体的,所述指定的组合方式是指,按照系统默认配置或用户指示配置中包含的具体要求,从第二级子缓冲区中读取指定子业务类型的日志进行组合后,进行输出。
例如,参阅图3所示,第二级缓冲区中设置有子业务类型a第二级子缓冲区、子业务类型b第二级子缓冲区和子业务类型c第二级子缓冲区。
结合图1和图3所示,假设子业务类型a第二级子缓冲区中保存有进程1产生的符合子业务类型a的日志,子业务类型b第二级子缓冲区中保存有进程1产生的符合子业务类型b的日志,以及进程2产生的符合子业务类型b的日志,子业务类型c第二级子缓冲区中保存有进程3产生的符合子业务类型c的日志。那么,智能设备可以根据用户指示的组合方式对各个第二级子缓冲区中保存的日志进行处理。
例如,用户指示需要基于子业务类型a的日志生成日志文件时,智能设备会从第二级缓冲区中读取子业务类型a第二级子缓冲区的日志内容,生成日志文件_a。
又例如,用户指示需要基于子业务类型a和子业务类型b的日志生成日志文件时,智能设备会从第二级缓冲区中读取子业务类型a第二级子缓冲区和子业务类型b第二级子缓冲区的日志内容,进行组合后生成日志文件_ab。
又例如,用户指示需要将子业务类型c的日志发往数据库进行保存,则智能设备会从第二级缓冲区中读取子业务类型c第二级子缓冲区的日志内容,发送至数据库中。
又例如,用户指示需要将子业务类型c的日志通过串口发往控制台进行处理,则智能设备会从第二级缓冲区中读取子业务类型c第二级子缓冲区的日志内容,通过串口发往控制台,以完成如,打印、传真等等处理操作。
基于上述实施例,参阅图4所示,本发明实施例中,智能设备至少包括:
确定单元401,用于确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志;
第一处理单元402,分别对所述至少两个进程中每一个进程执行以下操作:
确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;
所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中;
第二处理单元403,从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
可选的,所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区之前,所述第一处理单元402进一步用于:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
可选的,从任意一个第一级子缓冲区中提取日志时,所述第二处理单元403用于:
确定所述任意一个第一级子缓冲区中保存的数据达到预设门限值时,从所述任意一个第一级子缓冲区中提取日志;或者,
按照设定的周期从所述任意一个第一级子缓冲区中提取日志;或者,
在接收到高层指令时,从所述任意一个第一级子缓冲区中提取日志。
可选的,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区时,所述第二处理单元403用于:
采用套接字socket通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。
可选的,分别将各个日志传输至相应的第二级子缓冲区中进行保存之后,所述第二处理单元403进一步用于:
按照指定的组合方式,从至少一个第二级子缓冲区中提取相应子业务类型的日志;
将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
基于同一发明构思,参阅图5所示,本发明实施例中提出一种智能设备,所述智能设备至少包括:存储器501和处理器502,其中,
存储器501,用于存储可执行指令;
处理器502,用于读取并执行所述存储器中存储的可执行指令,以实现上述任一种方法。
基于同一发明构思,本发明实施例中提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得能够执行上述任一种方法。
综上所述,本发明实施例中,采用二级缓冲结构来管理不同CPU支持的多个进程各自产生的日志,即在对应各个进程分配的第一级缓冲区中,分别按照各个日志的子业务类型,将各个日志保存至相应的第一级子缓冲区,然后,从各个第一级缓冲区中提取日志传输至第二级缓冲区,在第二级缓冲区中,仍然按照各个日志的子业务类型,分别将各个日志保存至相应的第二级子缓冲区。可见,采用二级缓冲结构结合子业务类型,对各个日志进行分类存储,可以在用户的操作过快,CPU支持的进程产生日志的速度快于日志传输速度时,起到缓冲作用,缓解产生日志与保存日志速度不均的造成系统卡顿的情况;进一步的,本发明实施例中,在第二级缓冲区中,对不同CPU支持的多个进程各自产生的日志不做区分,仅按照子业务类型将日志分别保存在第二级子缓冲区中,这样,便实现了日志的统一管理,从而提高了日志的可读性,使日志的条理更清晰,有助于管理人员针对特定业务类型进行优化监控。加快了处理速度,简便操作,大大降低了日志查找的难度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种进程间的日志管理方法,其特征在于,包括:
确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个中央处理器CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志;
分别对所述至少两个进程中每一个进程执行以下操作:
确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;
所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中;
从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
2.如权利要求1所述的方法,其特征在于,所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区之前,进一步包括:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
3.如权利要求1或2所述的方法,其特征在于,从任意一个第一级子缓冲区中提取日志,包括:
确定所述任意一个第一级子缓冲区中保存的数据达到预设门限值时,从所述任意一个第一级子缓冲区中提取日志;或者,
按照设定的周期从所述任意一个第一级子缓冲区中提取日志;或者,
在接收到高层指令时,从所述任意一个第一级子缓冲区中提取日志。
4.如权利要求1或2所述的方法,其特征在于,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区,包括:
采用套接字socket通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。
5.如权利要求1或2所述的方法,其特征在于,分别将各个日志传输至相应的第二级子缓冲区中进行保存之后,进一步包括:
按照指定的组合方式,从至少一个第二级子缓冲区中提取相应子业务类型的日志;
将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
6.一种进程间的日志管理装置,其特征在于,包括:
确定单元,用于确定作为管理对象的至少两个进程,所述至少两个进程分别由至少两个中央处理器CPU运行,其中,一个进程用于对应一种业务类型的应用程序产生相应的日志;
第一处理单元,分别对所述至少两个进程中每一个进程执行以下操作:
确定针对一个进程分配的第一级缓冲区,所述第一级缓冲区按照子业务类型划分为多个第一级子缓冲区;
所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区中;
第二处理单元,从各个第一级子缓冲区中提取日志,并且在第二级缓冲区中,按照日志的子业务类型,分别将各个日志传输至相应的第二级子缓冲区中进行保存。
7.如权利要求6所述的装置,其特征在于,所述一个进程每产生一个日志,按照所述一个日志的子业务类型,将所述一个日志保存至相应的第一级子缓冲区之前,所述第一处理单元进一步用于:
获取预设的日志配置参数,所述日志配置参数至少包括日志级别、日志使能开关和日志内容格式中的一种或任意组合;
监测基于所述一个进程运行的应用程序,实时获取所述应用程序产生的业务数据,其中,每获取一条业务数据,基于所述一条业务数据的子业务类型,结合所述日志配置参数,生成相应的日志。
8.如权利要求6或7所述的装置,其特征在于,从任意一个第一级子缓冲区中提取日志时,所述第二处理单元用于:
确定所述任意一个第一级子缓冲区中保存的数据达到预设门限值时,从所述任意一个第一级子缓冲区中提取日志;或者,
按照设定的周期从所述任意一个第一级子缓冲区中提取日志;或者,
在接收到高层指令时,从所述任意一个第一级子缓冲区中提取日志。
9.如权利要求6或7所述的装置,其特征在于,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区时,所述第二处理单元用于:
采用套接字socket通信机制、消息队列通信机制和共享内存通信机制中的一种或任意组合,分别将各个第一级子缓冲区日志传输至相应的第二级子缓冲区。
10.如权利要求6或7所述的装置,其特征在于,分别将各个日志传输至相应的第二级子缓冲区中进行保存之后,所述第二处理单元进一步用于:
按照指定的组合方式,从至少一个第二级子缓冲区中提取相应子业务类型的日志;
将获得的日志,从指定接口发往接收端;或/和,基于获得的日志生成相应的日志文件,并进行上报。
11.一种智能设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行所述存储器中存储的可执行指令,以实现如权利要求1至5中任一项所述的进程间的日志管理方法 。
12.一种存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得能够执行如权利要求1至5中任一项所述的进程间的日志管理方法 。
CN201910586164.XA 2019-07-01 2019-07-01 一种进程间的日志管理方法及装置 Active CN110389933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910586164.XA CN110389933B (zh) 2019-07-01 2019-07-01 一种进程间的日志管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910586164.XA CN110389933B (zh) 2019-07-01 2019-07-01 一种进程间的日志管理方法及装置

Publications (2)

Publication Number Publication Date
CN110389933A CN110389933A (zh) 2019-10-29
CN110389933B true CN110389933B (zh) 2022-04-22

Family

ID=68286052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910586164.XA Active CN110389933B (zh) 2019-07-01 2019-07-01 一种进程间的日志管理方法及装置

Country Status (1)

Country Link
CN (1) CN110389933B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784352B (zh) * 2019-10-30 2022-04-01 国网山东省电力公司信息通信公司 一种基于Oracle Goldengate的数据同步监控告警方法及装置
CN112527612B (zh) * 2020-11-06 2024-01-02 北京罗克维尔斯科技有限公司 系统日志保全方法、装置、车载系统以及车辆
CN112685337B (zh) * 2021-01-15 2022-05-31 浪潮云信息技术股份公司 一种存储集群中分级缓存读写数据的方法
CN114793193A (zh) * 2022-04-22 2022-07-26 深圳市东晟数据有限公司 一种网络安全日志的快速关联分类及分级存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891873A (zh) * 2011-07-21 2013-01-23 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
CN103885726A (zh) * 2014-03-20 2014-06-25 东蓝数码股份有限公司 一种高效的多线程日志写入方法
CN106681651A (zh) * 2016-05-05 2017-05-17 安徽南瑞继远电网技术有限公司 一种两级缓冲机制的日志管理系统设计方法
CN107590182A (zh) * 2017-08-03 2018-01-16 华南理工大学 一种分布式日志收集方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891873A (zh) * 2011-07-21 2013-01-23 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
CN103885726A (zh) * 2014-03-20 2014-06-25 东蓝数码股份有限公司 一种高效的多线程日志写入方法
CN106681651A (zh) * 2016-05-05 2017-05-17 安徽南瑞继远电网技术有限公司 一种两级缓冲机制的日志管理系统设计方法
CN107590182A (zh) * 2017-08-03 2018-01-16 华南理工大学 一种分布式日志收集方法

Also Published As

Publication number Publication date
CN110389933A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
CN110389933B (zh) 一种进程间的日志管理方法及装置
CN108829350B (zh) 基于区块链的数据迁移方法和装置
US10949447B2 (en) Blockchain-based data synchronizing and data block parsing method and device
CN101957863B (zh) 数据并行处理方法、装置及系统
US8386611B2 (en) Information system, load control method, load control program and recording medium
CN110401720B (zh) 信息处理方法、装置、系统、应用服务器和介质
CN103336737B (zh) 信息操纵系统及其实施的方法
CN106713396B (zh) 服务器调度方法和系统
CN102999406A (zh) 从硬件故障模式的增强转储数据收集的方法和系统
CN101819525A (zh) 用于查找系统中应用的配置文件的方法和设备
CN107046508A (zh) 报文接收方法及网络设备
CN103210395A (zh) 与客户端虚拟机交互的技术
TW201312346A (zh) 虛擬機器監控方法、系統及儲存其之電腦可讀取紀錄媒體
CN110188103A (zh) 数据对账方法、装置、设备和存储介质
CN107517110A (zh) 一种分布式系统中单板配置自恢复方法及装置
CN108667740B (zh) 流量控制的方法、装置及系统
CN109218401A (zh) 日志采集方法、系统、计算机设备和存储介质
KR101908377B1 (ko) 계량데이터 관리 시스템 및 컴퓨터 판독가능 기록 매체
WO2015182281A1 (ja) 車載情報システム及びその情報処理方法
CN109039695B (zh) 业务故障处理方法、装置及设备
CN102930046B (zh) 数据处理方法、计算节点及系统
CN103530297A (zh) 一种自动进行网站分析的方法及装置
CN116016653A (zh) 区块链的信息推送方法、装置、电子设备和存储介质
CN114092211A (zh) 核算数据的处理方法、电子设备和可读存储介质
CN100465912C (zh) 控制数据复制服务的设备和方法

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
TA01 Transfer of patent application right

Effective date of registration: 20200113

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Communication System (China) Co., Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: Jingxin Communication System (China) Co., Ltd.

Applicant before: Jingxin Communication System (Guangzhou) Co., Ltd.

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: Comba Telecom System (China) Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant