一种日志管理方法及系统与流程

文档序号:14594652发布日期:2018-06-05 04:07阅读:158来源:国知局

本发明涉及一种日志管理方法及系统,属于计算机技术领域。



背景技术:

生产日志是记录生产过程一系列生产过程中数据信息,完整的生产日志可以实现产品的可追溯性。生产日志中记载的数据信息可以包括:各生产工序的起始时间、终止时间等时间日期信息,也可以包括批号、料号、型号等产品编号信息,还可以包括生产操作人员信息以及产品合格情况等。

现有技术中,已经通过编码扫码的形式和相关软硬件的配套实现了对生产日志的自动化生成。目前日志系统通常设计在主程式中,一旦主程式出现异常不能正常运行,日志系统也因此不能正常记录,进而导致主程式出现问题前的部分日志不能被记录,从而造成这部分日志的丢失,一旦丢失部分的日志中出现异常产品情况,则难以对异常产品的异常原因进行追踪分析,影响生产的可靠性。



技术实现要素:

本发明要解决的技术问题是:为解决上述技术问题,提供一种日志管理方法及系统。

本发明解决其技术问题所采用的技术方案是:一种日志管理方法,包括以下步骤:

S1:在接受外部程序调用时将存储在日志数据库内的日志信息写入共享内存的第一地址段内;

S2:接收新的日志信息并将新的日志信息写入共享内存的第二地址段内;

S3:将第一地址段内的日志信息与第二地址段内的日志信息进行比对;

S4:若第一地址段中不存在第二地址段内的日志信息,则将第二地址段内的日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新;

若第一地址段中存在第二地址段内的日志信息,则将释放第二地址段内的日志信息。

优选地,本发明的日志管理方法,

在接收到释放内存清空共享内存内的日志信息的指令时,执行以下步骤:

S11:判断调用日志数据库的外部程序是否关闭:

S12:若外部程序未关闭则拒绝清空共享内存内的日志信息;

若外部程序关闭则执行S13;

S13:将共享内存中的日志信息与日志数据库中的日志信息进行比对:

S14:若日志数据库中不存在共享内存中的日志信息,则将该日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新,并重复S13;

若日志数据库中的日志信息存在共享内存中的所有日志信息,则释放内存、清空共享内存内的日志信息。

优选地,本发明的日志管理方法,

在S14步骤中,在释放内存、清空共享内存内的日志信息前再次重复S11步骤。

本发明还提供一种日志管理系统,包括:

日志收集模块,在接受外部程序调用时将存储在日志数据库内的日志信息写入共享内存的第一地址段内;

日志信息输入模块,用于接收新的日志信息并将新的日志信息写入共享内存的第二地址段内;

对比模块,用于将第一地址段内的日志信息与第二地址段内的日志信息进行比对,输出对比结果;

日志更新模块,在对比模块的对比结果为第一地址段中不存在第二地址段内的日志信息时,将第二地址段内的日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新。

优选地,本发明的日志管理系统,还包括安全关闭模块,所述安全关闭模块用于在接收到日志管理系统关闭的指令时,先判断调用日志管理系统的外部程序是否关闭,若外部程序未关闭则拒绝关闭日志管理系统,若外部程序关闭则调用对比模块,在对比模块的对比结果为第一地址段中不存在第二地址段内的日志信息时,调用日志更新模块,并再次调用对比模块,当对比模块的对比结果为第一地址段中存在第二地址段内的日志信息时,才关闭日志管理系统。

优选地,本发明的日志管理系统,

在所述安全关闭模块中,在关闭日志管理系统前再次检测外部程序是否关闭,若外部程序仍然为关闭才关闭日志管理系统。

优选地,本发明的日志管理系统,还包括异常管理模块,所述异常管理模块用于在调用日志数据库的外部程序关闭时,将共享内存中的日志信息存储形成日志备份数据库,待外部程序重新打开并调用日志数据库时,将日志备份数据库与日志数据库进行一次比对,并将日志备份数据库中存在而日志数据库中不存在日志信息存储到日志数据库中。

优选地,本发明的日志管理系统,所述对比模块每隔一段时间进行一次比对。

优选地,本发明的日志管理系统,还包括内存释放模块,所述内存释放模块在对比模块的对比结果为第一地址段中存在第二地址段内的日志信息时,释放第二地址段内的日志信息。

优选地,本发明的日志管理系统,还包括日志读取模块,所述日志读取模块用于读取共享内存中的全部或者部分日志信息;所述日志读取模块还能够根据输入的关键词在共享内存的第一地址段内的日志信息中查找相应信息。

优选地,本发明的日志管理系统,还包括日志显示模块,所述日志显示模用于将读取模块读取到的日志信息输送到显示屏幕上进行显示。

本发明的有益效果是:

1.本发明的日志管理方法和系统独立于产品生产方法和产品生产主程式,日志管理方法和系统能够接受主程式的调用,主程序调用时将日志信息存入共享内存,由日志读取模块将日志信息从共享内存中读出并记录,必要时进行日志的显示和分析,由日志更新模块对日志信息进行更新。当主程式出现异常不能正常运行,日志管理系统正常进行记录,解决了主程式异常而出现的日志记录不完整的问题。

2.本发明的日志管理方法和系统,通过在关闭日志管理系统释放内存前,先确认外部程序是否关闭,防止日志信息还在更新的情况下日志管理系统被关闭,并且,在外部程序关闭时,再对共享内存内的日志信息与日志数据库中的日志信息进行比对,存储更新的日志信息,通过上述操作,可以使所有的日志信息均被记录到日志数据库中,防止数据丢失。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明实施例1的日志管理方法的主要步骤流程图;

图2是本发明实施例1的日志管理方法在释放内存前的操作流程图;

图3是本发明实施例2的日志管理系统的结构框图;

图4是本发明实施例2的日志更新模块的处理过程的框图;

图5是本发明的安全关闭模块一种实施方式的处理过程的框图;

图6是本发明的安全关闭模块另一种实施方式的处理过程的框图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

实施例1

本实施例提供一种日志管理方法,如图1所示,包括以下步骤:

S1:在接受外部程序调用时将存储在日志数据库内的日志信息写入共享内存的第一地址段内;

S2:接收新的日志信息并将新的日志信息写入共享内存的第二地址段内;

S3:将第一地址段内的日志信息与第二地址段内的日志信息进行比对;

S4:若第一地址段中不存在第二地址段内的日志信息,则将第二地址段内的日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新;

若第一地址段中存在第二地址段内的日志信息,则将释放第二地址段内的日志信息。

本实施例的日志管理方法不依赖产品生产控制方法,日志数据库被调用时将日志信息存入共享内存,并对日志信息进行更新。日志管理方法独立进行防止其它外部程序异常而导致的日志记录不完整的问题。

在接收到释放内存清空共享内存内的日志信息的指令时(该指令通常是因为整个程序即将被关闭),如图2所示,执行以下步骤:

S11:判断调用日志数据库的外部程序是否关闭:

S12:若外部程序未关闭则拒绝清空共享内存内的日志信息;

若外部程序关闭则执行S13;

S13:将共享内存中的日志信息与日志数据库中的日志信息进行比对:

S14:若日志数据库中不存在共享内存中的日志信息,则将该日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新,并重复S13;

若日志数据库中的日志信息存在共享内存中的所有日志信息,则释放内存、清空共享内存内的日志信息。

通过释放内存、清空共享内存内的日志信息前,先确认外部程序是否关闭,防止日志信息还在更新的情况下终止了对日志数据库的更新,并且,在外部程序关闭时,再对共享内存内的日志信息与日志数据库中的日志信息进行比对,存储更新的日志信息,通过上述操作,可以使所有的日志信息均被记录到日志数据库中,防止数据丢失。

作为一种改进的实施方法,在S14步骤中,在释放内存、清空共享内存内的日志信息前再次重复S11步骤。通过再次检测外部程序是否关闭,防止外部程序短时间异常关闭而导致外部程序未关闭情况下释放内存。

实施例2

本实施例提供一种日志管理系统,结构如图3所示,包括:

日志收集模块,在接受外部程序调用时将存储在日志数据库内的日志信息写入共享内存的第一地址段内,日志数据库保存在存储介质内,日志信息包括但不限于时间、日期、批号、料号、型号、产品状态等信息;

日志信息输入模块,用于接收新的日志信息并将新的日志信息写入共享内存的第二地址段内,新的日志信息随着生产的进行而产生;

对比模块,用于将第一地址段内的日志信息与第二地址段内的日志信息进行比对,输出对比结果,对比结果为:

结果1,第一地址段中不存在第二地址段内的日志信息,

结果2,第一地址段中存在第二地址段内的日志信息;

内存释放模块,在对比模块的对比结果为2时,释放第二地址段内的日志信息;设置内存释放模块,可及时清理占用的内存,防止内存消耗过大;

日志更新模块,在对比模块的对比结果为结果1时,将第二地址段内的日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新;日志更新模块通常是每隔一段时间(如1s、10s、30s等等时间)进行一次比对,如图4所示;

日志读取模块,用于读取共享内存中的全部或者部分日志信息;所述日志读取模块还能够根据输入的关键词在共享内存中的日志信息中查找相应信息;比如,可以按时间或者日期检索;

日志显示模块,用于将读取模块读取到的日志信息输送到显示屏幕上进行显示;

日志分析模块,用于将读取模块读取到的日志信息进行分析,比如按时间日期统计分析,按型号、批号统计分析;

安全关闭模块,用于在接收到日志管理系统关闭的指令时(该指令通常由操作员点击鼠标按键而发出,也可以是外部程序发出),先判断调用日志管理系统的外部程序是否关闭,若外部程序未关闭则拒绝关闭日志管理系统,若外部程序关闭则调用对比模块,将共享内存中的日志信息与日志数据库中的日志信息进行比对,若对比结果为结果1,则调用日志更新模块,将该日志信息存储到日志数据库中,以对日志数据库中的日志信息进行更新,并再次调用对比模块将共享内存中的日志信息与日志数据库中的日志信息进行比对,直到对比结果为结果2,则关闭日志管理系统,释放内存,流程如图5所示。

通过关闭日志管理系统前,先确认外部程序是否关闭,防止日志信息还在更新的情况下日志管理系统被关闭,并且,在外部程序关闭时,再对共享内存内的日志信息与日志数据库中的日志信息进行比对,存储更新的日志信息,通过上述操作,可以使所有的日志信息均被记录到日志数据库中,防止数据丢失。

作为安全关闭模块的一种改进的实施方法,在关闭日志管理系统前再次检测外部程序是否关闭,若外部程序仍然为关闭才关闭日志管理系统,释放内存。

通过再次检测外部程序是否关闭,防止外部程序短时间异常关闭而导致外部程序未关闭情况下关闭日志管理系统,流程如图6所示。

本实施例的日志管理系统独立于产品生产主程式,主程式运行时,接受主程式的调用,主程序调用时将日志信息存入共享内存,由日志读取模块将日志信息从共享内存中读出并记录,必要时进行日志的显示和分析,由日志更新模块对日志信息进行更新。当主程式出现异常不能正常运行,日志管理系统正常进行记录,解决了主程式异常而出现的日志记录不完整的问题。

本实施例的日志管理系统独立于生产控制主程式,设置安全关闭模块,在日志管理系统关闭前通过确认调用日志管理系统的外部程序是否关闭,并进行一次信息比对,防止存在未保存的日志信息。

本实施例的日志管理系统,还可设置异常管理模块,异常管理模块用于在调用日志数据库的外部程序关闭时,将共享内存中的日志信息存储形成日志备份数据库,待外部程序重新打开并调用日志数据库时,将日志备份数据库与日志数据库进行一次比对,并将日志备份数据库中存在而日志数据库中不存在日志信息存储到日志数据库中。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以理解:实现上述实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、硬盘或者光盘等各种可以存储程序代码的介质。以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1