发明名称 一种基于Linux的内核日志系统及实现方法
摘要 本发明提供了一种基于Linux的内核日志系统,包括内核日志空间,位于Linux内核空间,包含一组连续的内核空间日志结点和一个内核日志控制块;用户日志空间,位于Linux用户空间,由多个用户空间日志结点所构成,其中记录有内容的用户空间日志结点挂接在多个用户空间日志队列中,空闲的用户空间日志结点则组成一个空闲链表;多个日志文件,对应于日志的多个等级,用于将用户空间日志队列中读取的内核日志的分类输出。本发明还提供了一种上述基于Linux的内核日志系统的实现方法,包括在Linux内核空间创建内核日志空间、在Linux用户空间创建用户日志空间、完成从内核日志输出到不同的日志文件的步骤。本发明便于程序员对内核程序进行调试和分析,提高内核开发效率。
申请公布号 CN102141955B 申请公布日期 2013.12.25
申请号 CN201110078735.2 申请日期 2011.03.30
申请人 东方通信股份有限公司 发明人 吕彦霖;王强;周利满
分类号 G06F11/34(2006.01)I 主分类号 G06F11/34(2006.01)I
代理机构 浙江杭州金通专利事务所有限公司 33100 代理人 刘晓春
主权项 一种基于Linux的内核日志系统的实现方法,所述Linux的内核日志系统,包括三个部分:1‑a)、内核日志空间,位于Linux内核空间,包含一组连续的内核空间日志结点和一个内核日志控制块,每一个所述的内核空间日志结点,包含日志等级和内核日志存储区,用作对内核日志内容的分类存储,所述的内核日志控制块,包含对应于内核空间日志结点的一个内核日志写位置指针和一个内核日志读位置指针,用作对内核日志进行读和写的位置控制;1‑b)、用户日志空间,位于Linux用户空间,由多个用户空间日志结点所构成,其中记录有内容的用户空间日志结点挂接在多个用户空间日志队列中,空闲的用户空间日志结点则组成一个空闲链表,所述用户空间日志结点,包含日志等级和日志存储区,用于将内核空间日志结点内容读出之后转存于用户日志空间,所述多个用户空间日志队列,对应于日志的多个等级,分类挂接记录有不同等级日志的用户空间日志结点;1‑c)、多个日志文件,对应于日志的多个等级,用于将用户空间日志队列中读取的内核日志的分类输出;其特征在于:所述方法包括在Linux内核空间创建内核日志空间的步骤、在Linux用户空间创建用户日志空间的步骤,所述方法还包括用下列三个任务来完成从内核日志输出到不同的日志文件的步骤:5‑a)、内核日志写入任务,将Linux系统运行时同步生成的内核日志,依照日志产生的时间顺序,标记成不同日志等级,写入内核日志空间中;5‑b)、内核日志读取任务,以阻塞方式读取内核日志空间的内核日志,内核日志空间无日志时,内核日志读取任务就被挂起;当内核日志空间存在日志时,内核日志读取任务被唤醒,将内核空间日志结点的日志写入到用户空间日志结点中;5‑c)、内核日志输出任务,以阻塞方式读取用户日志空间内的日志队列,当日志队列为空时,内核日志输出任务被挂起;当日志队列不为空时,内核日志输出任务被唤醒,从日志队列中取下用户空间日志结点,将其中日志内容输出到日志等级对应的日志文件中。
地址 310053 浙江省杭州市滨江区东信大道66号
您可能感兴趣的专利