基于Linux的GPONONU设备的日志管理方法及装置制造方法

文档序号:6544318阅读:286来源:国知局
基于Linux的GPONONU设备的日志管理方法及装置制造方法【专利摘要】本发明公开了一种基于Linux的GPON?ONU设备的日志管理方法及装置,涉及基于Linux的嵌入式设备的日志管理领域。该方法包括初始化日志文件列表;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象;文件系统监控对象被触发后,获取当前日志文件的大小;若当前日志文件大于最大存储空间,回滚当前日志文件,发送重启信号给日志记录系统;日志记录系统关闭当前所有的日志文件;重新接收日志信息,继续等待文件系统监控对象被触发。本发明能够合理的控制日志文件的储存空间和GPON?ONU设备的储存空间;GPON?ONU设备能够在无人值守的环境下正常运行,不易发生损坏,比较安全。【专利说明】基于Linux的GPONONU设备的日志管理方法及装置【
技术领域
】[0001]本发明涉及基于Linux的嵌入式设备的日志管理领域,具体涉及一种基于Linux的GPONONU设备的日志管理方法及装置。【
背景技术
】[0002]Linux是一种基于POSIX(PortableOperatingSystemInterface,可移植操作系统接口)和UNIX的开源的操作系统;Linux不仅能够支持多种硬件平台,而且包含丰富的网络协议支持。随着通信技术的发展,越来越多嵌入式通信设备采用Linux操作系统。[0003]基于Linux的GPONONU(GigabitPassiveOpticalNetworkOpticalNetworkUnit,吉比特无源光网络的光网络单元)设备是一种网络终端设备,GPONONU设备的部署数量庞大、且部署位置分散。由于GPONONU设备需要在无人值守的环境下长期运行,因此对于GPONONU设备的网络管理和维护而言,记录GPONONU设备的日志信息十分重要。[0004]由于GPONONU设备上的存贮空间十分有限,因此需要控制GPONONU设备的日志信息,以保证GPONONU设备拥有合理的存贮空间。目前,传统的Linux系统采用syslog(系统日志)记录和管理日志信息;由于syslog不具备控制日志文件大小的功能,因此syslog记录日志信息的同时,需要通过cron(计划任务机制)定时回滚日志文件。[0005]但是,GPONONU设备通过syslog记录和管理日志信息时,存在以下缺陷:[0006]GPONONU设备在异常情况下使用时,GPONONU设备在短时间内可能产生大量的日志信息。syslog记录和管理日志信息时,cron根据设定的时间定时回滚日志文件;在两次回滚日志文件之间的时间段内,GPONONU设备可能产生大量的日志信息,进而占用GPONONU设备全部的存储空间。由于GPONONU设备在无人值守的环境下运行,因此GPONONU设备的存储空间全部占用后,难以及时得到处理。GPONONU设备的存储空间全部占用一段时间后,GPONONU设备可能无法正常运行、甚至发生损坏,存在一定的安全隐患。【
发明内容】[0007]针对现有技术中存在的缺陷,本发明的目的在于提供一种基于Linux的GPONONU设备的日志管理方法及装置,能够合理的控制日志文件的储存空间和GPONONU设备的储存空间;GP0NONU设备能够在无人值守的环境下正常运行,不易发生损坏,比较安全。[0008]为达到以上目的,本发明采取的技术方案是:一种基于Linux的GPONONU设备的日志管理方法,包括以下步骤:[0009]A、读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间;根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象;[0010]B、等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发;从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小;[0011]C、判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,重新执行步骤B,否则转到步骤D;[0012]D、在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象,发送重启信号给日志记录系统;日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息,重新执行步骤B。[0013]在上述技术方案的基础上,步骤B还包括以下步骤:若GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件中,则文件系统监控对象未被触发,重新执行步骤B。[0014]在上述技术方案的基础上,步骤B中所述GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中包括以下步骤:日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。[0015]在上述技术方案的基础上,步骤D中将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象包括以下步骤:若文件系统监控对象中已有备份文件,则将当前备份文件覆盖已有备份文件。[0016]在上述技术方案的基础上,步骤D之后还包括以下步骤:循环执行步骤B至步骤D,直至GPONONU设备工作结束。[0017]一种实现上述日志管理方法的基于Linux的GPONONU设备的日志管理装置,包括文件系统监控对象创建模块、文件系统监控对象触发模块、日志信息占用空间判断模块和文件系统监控对象执行模块;[0018]文件系统监控对象创建模块,用于:读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间;根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象,向文件系统监控对象触发模块发送触发信号;[0019]文件系统监控对象触发模块,用于:收到触发信号后,等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发;从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小,向日志信息占用空间判断模块发送日志信息判断信号,[0020]日志信息占用空间判断模块,用于:收到文件系统监控对象触发模块发送的日志信息判断信号后,判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,向文件系统监控对象触发模块发送触发信号,否则向文件系统监控对象执行模块发送执行信号;[0021]文件系统监控对象执行模块,用于:收到日志信息占用空间判断模块发送的执行信号后,在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象,发送重启信号给日志记录系统;日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息,向文件系统监控对象触发模块发送触发信号。[0022]在上述技术方案的基础上,所述文件系统监控对象触发模块包括文件系统监控对象触发子模块;所述文件系统监控对象触发子模块,用于:当GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件时,则文件系统监控对象未被触发,重新向文件系统监控对象触发模块发送触发信号。[0023]在上述技术方案的基础上,所述文件系统监控对象触发模块还包括日志信息记录模块;所述日志信息记录模块,用于:控制日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。[0024]在上述技术方案的基础上,所述文件系统监控对象执行模块包括日志文件备份模块;所述日志文件覆盖模块,用于:当文件系统监控对象中已有备份文件时,将当前备份文件覆盖已有备份文件。[0025]与现有技术相比,本发明的优点在于:[0026]通过本发明的方法管理GPONONU设备的日志信息时,文件系统监控对象能够始终监控日志文件内的日志信息是否超过设定的最大储存空间;当日志文件的日志信息超过最大储存空间时,文件系统监控对象能够自动回滚当前日志文件的日志信息,并要求日志记录系统重启后重新记录日志信息。因此,本发明能够合理控制日志文件的储存空间,进而使得GPONONU设备始终留有空余的储存空间;GPONONU设备能够在无人值守的环境下正常运行,不易发生损坏,比较安全。【专利附图】【附图说明】[0027]图1为本发明实施中的日志记录系统工作的结构框图;[0028]图2为本发明实施例中基于Linux的GPONONU设备的日志管理方法的流程图。【具体实施方式】[0029]以下结合附图及实施例对本发明作进一步详细说明。[0030]参见图1所示,首先介绍一下现有日志记录系统记录日志信息的工作方法:[0031]日志记录系统的守护进程syslogd读取并解析日志配置文件,接收日志信息(日志信息的来源包括内核和用户进程)。守护进程syslogd根据日志信息的类别、级别和配置文件中的设定,将日志信息记录在相应的日志文件中、并等待接收下一条日志信息;守护进程syslogd还可以将日志信息打印在终端设备上、或者通过通信管道将日志信息发送至其他进程进行处理。[0032]参见图2所示,本发明实施例提供的一种基于Linux的GPONONU设备的日志管理方法,包括以下步骤:[0033]S1、读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间。根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息。[0034]S2、创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象。[0035]S3、等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发,转到S4;若GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件中,则文件系统监控对象未被触发,重新执行S3。[0036]日志记录系统将日志信息记录在相应的日志文件中时,日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。[0037]S4、从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小,转到S5。[0038]S5、判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,重新执行S3,否则转到S6。[0039]S6、在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象(若文件系统监控对象中已有备份文件,则将当前备份文件覆盖已有备份文件);发送重启信号给日志记录系统,转到S7。[0040]S7、日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息;转到S3。[0041]循环执行S3至S7,直至GPONONU设备工作结束。[0042]下面,通过一个实施例对详细说明本发明的方法。[0043]本实施例的应用系统包括日志记录系统和日志回滚系统。[0044]步骤一、日志记录系统读取并解析GPONONU设备的日志配置文件,接收日志信息;根据配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。[0045]步骤二、日志回滚系统读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间。根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息。创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象。[0046]步骤三、结束日志回滚系统的进程,仅通过日志记录系统记录日志信息,随着日志信息的增多,日志文件越来越大。日志文件的大小超过日志文件最大的存储空间后,GPONONU设备功能异常、并且重启后无法恢复。清空GPONONU设备的日志文件,重新启动GPONONU设备和日志回滚系统。[0047]步骤四、日志记录系统将日志信息记录在相应的日志文件中后,日志回滚系统的文件系统监控对象被触发,从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小。当前日志文件的日志信息大小大于当前日志文件的最大存储空间,在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为备份文件,将重命名为备份文件的日志文件加入文件系统监控对象,发送重启信号给日志记录系统。[0048]步骤五、日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息;根据配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中,转到步骤四。[0049]循环执行步骤四至步骤五,直至GPONONU设备结束。[0050]本放实施例中的实现上述日志管理方法的基于Linux的GPONONU设备的日志管理装置,包括文件系统监控对象创建模块、文件系统监控对象触发模块、日志信息占用空间判断模块和文件系统监控对象执行模块。[0051]文件系统监控对象创建模块,用于:读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间;根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象,向文件系统监控对象触发模块发送触发信号。[0052]文件系统监控对象触发模块,用于:收到触发信号后,等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发;从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小,向日志信息占用空间判断模块发送日志信息判断信号。[0053]文件系统监控对象触发模块包括文件系统监控对象触发子模块;文件系统监控对象触发子模块,用于:当GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件时,则文件系统监控对象未被触发,重新向文件系统监控对象触发模块发送触发信号。[0054]文件系统监控对象触发模块还包括日志信息记录模块;日志信息记录模块,用于:控制日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。[0055]日志信息占用空间判断模块,用于:收到文件系统监控对象触发模块发送的日志信息判断信号后,判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,向文件系统监控对象触发模块发送触发信号,否则向文件系统监控对象执行模块发送执行信号。[0056]文件系统监控对象执行模块,用于:收到日志信息占用空间判断模块发送的执行信号后,在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象,发送重启信号给日志记录系统;日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息,向文件系统监控对象触发模块发送触发信号。[0057]文件系统监控对象执行模块包括日志文件备份模块;日志文件覆盖模块,用于:当文件系统监控对象中已有备份文件时,将当前备份文件覆盖已有备份文件。[0058]本发明不局限于上述实施方式,对于本【
技术领域
】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。【权利要求】1.一种基于Linux的GPONONU设备的日志管理方法,其特征在于,包括以下步骤:A、读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间;根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象;B、等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发;文件系统监控对象被触发后,从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小;C、判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,重新执行步骤B,否则转到步骤D;D、在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象,发送重启信号给日志记录系统;日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息,重新执行步骤B。2.如权利要求1所述的基于Linux的GPONONU设备的日志管理方法,其特征在于,步骤B还包括以下步骤:若GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件中,则文件系统监控对象未被触发,重新执行步骤B。3.如权利要求1所述的基于Linux的GPONONU设备的日志管理方法,其特征在于:步骤B中所述GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中包括以下步骤:日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。4.如权利要求1所述的基于Linux的GPONONU设备的日志管理方法,其特征在于:步骤D中所述将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象包括以下步骤:若文件系统监控对象中已有备份文件,则将当前备份文件覆盖已有备份文件。5.如权利要求1至4任一项所述的基于Linux的GPONONU设备的日志管理方法,其特征在于:步骤D之后还包括以下步骤:循环执行步骤B至步骤D,直至GPONONU设备工作结束。6.一种实现权利要求1至5任一项所述日志管理方法的基于Linux的GPONONU设备的日志管理装置,其特征在于:包括文件系统监控对象创建模块、文件系统监控对象触发模块、日志信息占用空间判断模块和文件系统监控对象执行模块;文件系统监控对象创建模块,用于:读取GPONONU设备的日志配置文件,对日志配置文件进行解析,得到日志文件的文件名和日志文件的最大存储空间;根据日志文件的文件名和日志文件的最大存储空间,初始化日志文件列表;日志文件列表的每个日志文件的表项中均包括该日志文件的文件名信息和日志文件的最大存储空间信息;创建文件系统监控对象,将日志文件列表中的所有日志文件加入文件系统监控对象,向文件系统监控对象触发模块发送触发信号;文件系统监控对象触发模块,用于:收到触发信号后,等待文件系统监控对象被触发,若GPONONU设备的日志记录系统将日志信息记录在相应的日志文件中,则文件系统监控对象被触发;从文件系统监控对象中读取触发事件,根据文件名信息确定记录当前日志信息的日志文件,获取当前日志文件的大小,向日志信息占用空间判断模块发送日志信息判断信号,日志信息占用空间判断模块,用于:收到文件系统监控对象触发模块发送的日志信息判断信号后,判断当前日志文件的日志信息占用的空间是否大于当前日志文件的最大存储空间,若不是,向文件系统监控对象触发模块发送触发信号,否则向文件系统监控对象执行模块发送执行信号;文件系统监控对象执行模块,用于:收到日志信息占用空间判断模块发送的执行信号后,在文件系统监控对象中删除当前日志文件,将当前日志文件重命名为当前备份文件后再次加入文件系统监控对象,发送重启信号给日志记录系统;日志记录系统收到重启信号后,关闭当前所有的日志文件;重新读取并解析GPONONU设备的日志配置文件,接收日志信息,向文件系统监控对象触发模块发送触发信号。7.如权利要求6所述的基于Linux的GPONONU设备的日志管理装置,其特征在于:所述文件系统监控对象触发模块包括文件系统监控对象触发子模块;所述文件系统监控对象触发子模块,用于:当GPONONU设备的日志记录系统未将日志信息记录在相应的日志文件时,则文件系统监控对象未被触发,重新向文件系统监控对象触发模块发送触发信号。8.如权利要求6所述的基于Linux的GPONONU设备的日志管理装置,其特征在于:所述文件系统监控对象触发模块还包括日志信息记录模块;所述日志信息记录模块,用于:控制日志记录系统根据已读取的配置文件的设定、日志信息的类别和级别,将日志信息记录在相应的日志文件中。9.如权利要求6至8任一项所述的基于Linux的GPONONU设备的日志管理装置,其特征在于:所述文件系统监控对象执行模块包括日志文件备份模块;所述日志文件覆盖模块,用于:当文件系统监控对象中已有备份文件时,将当前备份文件覆盖已有备份文件。【文档编号】G06F11/34GK103984622SQ201410159471【公开日】2014年8月13日申请日期:2014年4月18日优先权日:2014年4月18日【发明者】郑明,吴军平,刘新峰,钱凯申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1