[发明专利]一种系统异常关机时间获取方法及系统在审
| 申请号: | 202110616208.6 | 申请日: | 2021-06-02 | 
| 公开(公告)号: | CN113377719A | 公开(公告)日: | 2021-09-10 | 
| 发明(设计)人: | 张诚金;梁佳佳;刘志权 | 申请(专利权)人: | 北京鼎普科技股份有限公司 | 
| 主分类号: | G06F16/17 | 分类号: | G06F16/17;G06F16/18 | 
| 代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 孙志一 | 
| 地址: | 100095 北京市*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 系统 异常 关机 时间 获取 方法 | ||
本申请实施例公开了一种系统异常关机时间获取方法及系统,所述方法包括:读取/var/log/messages获取操作系统运行过程中各种事件的结构化日志信息,日志信息字段包括四列,经过解析各列实际的日志信息判断并定位出系统开机事件,以获得操作系统全部开机事件的前一事件时间;通过执行last‑xshutdown命令得到系统正常关机的结构化信息,信息字段包括六列,经过逐行解析第四列信息获得操作系统全部正常关机事件的时间;基于全部开机事件的前一事件时间,排除与全部正常关机事件时间的交集,计算出操作系统全部异常关机时间。从而快速获取国产操作系统异常关机时间。
技术领域
本申请实施例涉及信息安全技术领域,具体涉及一种系统异常关机时间获取方法及系统。
背景技术
目前,有关获取国产操作系统开关机时间现有的技术,主要有以下两种方式:
第一种是通过读取/var/log/wtmp二进制文件获得操作系统开关机事件及时间,以C语言读取为例,首先声明一个utmp类型的结构体变量(该结构体的定义一般位于/usr/include/bits/utmp.h中),用于保存通过read()方法的只读方式从wtmp文件中读取到的数据,循环调用read()方法直至wtmp文件末尾,每次读取到的数据经由utmp结构体变量接收后,通过简单字符串匹配及查找,识别定位到开关机时间记录,从而得到各开关机时间。
第二种是通过操作系统提供的last命令获得操作系统开关机事件及时间,一般该命令所在路径为/usr/bin/last,执行last命令时,同样是读取了/var/log/wtmp中的内容,并以结构化数据的形式输出,一般该last命令输出字段含六列,各列分别的含义为:第一列,用户名;第二列,终端位置,其中pts/0(伪终端)代表从诸如SSH或telnet的远程连接的用户,.tty(teletypewriter)代表直接连接到计算机或者本地连接的用户;第三列,登录ip或者内核,如果显示:0.0或者空文本,代表此为用户通过本地终端连接,除重启活动外,内核版本会显示在对应状态信息中;第四列,开始时间;第五列,结束时间,其中“still loginin”表示还未退出、“down”表示持续到正常关机、“crash”表示持续到强制关机;第六列,持续时间。以C语言读取为例,通过调用system()方法执行last命令后,对于system()方法返回数据,逐行按照六个字段通过简单字符串匹配及查找,识别定位到开关机时间记录,从而得到各开关机时间。
以上两种获取国产操作系统开关机时间的方式,本质上都是通过读取wtmp文件信息而得来,在通过程序算法读取文件信息过程时,由于简单字符串匹配及查找方法在执行过程中存在不匹配则查找游标回溯的机制(主子符串由第n个字符开始与目标字符串由第1个字符开始逐个字符比较过程中,遇不匹配字符时,主字符串回溯至第n+1个字符开始再次与目标字符串回溯至第1个字符开始逐个字符进行比较,循环往复直至比较结束),该机制在数据记录较多情况下,耗时较长。
同时,由于该wtmp文件中,并没有记录且无法记录操作系统异常关机的时间,比如由于内核异常造成的操作系统崩溃退出,或者直接断电后造成的操作系统异常关闭等,对于此类非正常关机的情况,并未在wtmp文件中存入记录,也就无法获知操作系统异常关机的时间。
发明内容
为此,本申请实施例提供一种系统异常关机时间获取方法及系统,解决如何识别国产操作系统存在异常关机的问题,解决如何获取国产操作系统异常关机时间的问题,解决如何通过程序算法快速定位读取国产操作系统日志信息的问题。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种系统异常关机时间获取方法,所述方法包括如下步骤:
通过读取/var/log/messages获取操作系统运行过程中各种事件的结构化日志信息,日志信息字段包括四列,经过解析各列实际的日志信息判断并定位出系统开机事件,以获得操作系统全部开机事件的前一事件时间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎普科技股份有限公司,未经北京鼎普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110616208.6/2.html,转载请声明来源钻瓜专利网。





