日志存储方法及装置与流程

文档序号:12665526阅读:186来源:国知局
日志存储方法及装置与流程

本发明实施例涉及计算机技术,尤其涉及一种日志存储方法及装置。



背景技术:

日志是记录电子设备中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来判断、检查错误发生的原因等。

在电子设备的生产过程中,测试人员对电子设备进行测试时,若发现该电子设备存在异常时,通常会把异常出现时候的日志,以及出现异常后的现象拍摄为照片一并发送给研发人员,以便研发人员能够对异常产生的原因进行诊断。但是通常由于日志中记载内容过少,研发人员常常无法仅根据日志分析异常产生的原因,更多的还需要结合当时测试人员具体执行了哪些操作,执行各操作的先后顺序以及在执行各操作后设备的响应情况等进行综合判断。但是往往测试人员无法全部回忆起当时执行了哪些操作、执行各操作的先后顺序以及在执行各操作后设备的响应情况等。无疑,这会使的电子设备性能改善、提升受限。



技术实现要素:

本发明提供一种日志存储方法及装置,以达到为研发人员分析异常产生原因提供完善的数据依据的目的。

第一方面,本发明实施例提供了一种日志存储方法,该日志存储方法包括:

接收日志数据并保存;

以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存;

将所述日志数据与所述画面截图时间进行关联。

进一步地,所述以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存包括:

以设定时间间隔对设备显示画面进行图像截取,并记录每一次图像截取时间,得到画面截图并保存,所述画面截图名称包括所述图像截取时间。

进一步地,所述日志数据包括所述日志数据的生成时间;

所述将所述日志数据与所述画面截图时间进行关联包括,根据所述日志数据的生成时间以及所述画面截图的图像截取时间,在所述日志数据中插入指向所述画面截图存储地址的命令信息。

进一步地,所述以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存包括:

判断当前系统是否异常;

若当前系统异常,从系统异常时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

进一步地,所述以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存包括:

检测所述日志数据是否包括表征系统异常的关键词;

若检测到所述日志内容包括所述关键词,从首次检测到所述关键词时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

第二方面,本发明实施例还提供了一种日志存储装置,该日志存储装置包括:

日志数据保存模块,用于接收日志数据并保存;

画面截图获取模块,用于以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存;

时间关联模块,用于将所述日志数据与所述画面截图时间进行关联。

进一步地,所述画面截图获取模块具体用于:

以设定时间间隔对设备显示画面进行图像截取,并记录每一次图像截取时间,得到画面截图并保存,所述画面截图名称包括所述图像截取时间。

进一步地,所述日志数据包括所述日志数据的生成时间;

所述时间关联模块具体用于,根据所述日志数据的生成时间以及所述画面截图的图像截取时间,在所述日志数据中插入指向所述画面截图存储地址的命令信息。

进一步地,所述画面截图获取模块具体用于:

判断当前系统是否异常;

若当前系统异常,从系统异常时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

进一步地,所述画面截图获取模块具体用于:

检测所述日志数据是否包括表征系统异常的关键词;

若检测到所述日志内容包括所述关键词,从首次检测到所述关键词时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

本发明实施例通过以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存,将所述日志数据与所述画面截图时间进行关联,这样研发人员在接收到测试人员发送的日志文件时,由于日志文件包括日志数据以及画面截图相关信息,研发人员可以根据日志文件内容,获知测试人员在测试时先后执行了哪些操作,以及在各操作执行完毕后设备的响应情况,进而据此对异常产生的原因进行诊断,解决了利用现有的日志存储方法存储的日志信息包括内容过少,致使研发人员常常无法根据日志分析异常产生的原因的问题,达到了为研发人员分析异常产生原因提供完善的数据依据的目的。

附图说明

图1是本发明实施例一提供的一种日志存储方法的流程图;

图2a示例性地给出了一幅画面截图的相关信息;

图2b为图2a对应的画面截图的内容;

图3是本发明实施例二提供的一种日志存储方法的流程图;

图4是本发明实施例三提供的一种日志存储装置的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的日志存储方法的流程图,本实施例可适用于对电子设备进行测试的情况,该方法可以由电子设备单独来执行,这里电子设备具体可以为手机、电脑、智能可穿戴设备以及公共大厅的信息查询机等具有图像显示功能的设备。该日志存储方法适用于内核日志(kernel log)和安卓日志(android log)存储等。该日志存储方法具体包括如下步骤:

S110、接收日志数据并保存。

日志数据是设备在运行时产生的一个叫log的事件记录信息,每一行日志都记载着日期、时间、使用者以及使用者利用该设备执行的操作等描述信息。这里使用者可以为设备的测试人员。

接收日志数据并保存具体可以指,在对设备进行测试时,将使用者利用设备执行的操作的相关信息记录为日志数据,并将该日志数据保存到本地文件中。

可选地,在具体设置是,可以设置开机时启动日志记录功能,也可以设置在使用者手动点击用于启动日志记录功能的图标后,启动日志记录功能。进一步地,在对日志数据进行保存时,可以将日志数据存储于使用者设置的日志数据存储路径中,也可以采用系统默认日志存储路径对日志数据进行存储。

S120、以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

时间间隔是指连续两次对设备显示画面进行图像截取的时间差。在具体设置时,连续两次对设备显示画面进行图像截取的时间差可以相同也可以不同。时间间隔的设定方法可以有多种,例如可以由使用者自行设定,也可以采用系统默认值。

本步骤具体实现方法可以为,以设定时间间隔对设备显示画面进行图像截取,将每一次通过图像截取得到的画面截图保存到本地文件中。进一步地,在对该画面截图进行保存时,画面截图名称可以包括图像截取时间。这样设置的好处是,可以根据画面截图的名称确定画面截图的截取时间,进而根据画面截图的截取时间进行进一步操作。

可选地,在具体设置时,可以设置开机时启动对设备显示画面进行图像截取功能,也可以在接收到图像截取指令后,启动对设备显示画面进行图像截取的功能。这里图像截取指令包括设备系统自动生成的图像截取指令,也可以为使用者通过点击设备的某些按键或图标而生成的图像截取指令。进一步地,在对日志数据进行保存时,可以将画面截图存储于使用者设置的画面截图存储路径中,也可以采用系统默认画面截图路径对画面截图进行存储。需要说明的是,画面截图存储路径与日志数据存储路径可以相同,也可以不同。

在具体截图时,可以直接调用shell命令进行截图。示例性地,可以用于对设备显示图像进行截图的命令为:

root@X82:/#screencap-p/data/2016-12-28-172426.jpg

screencap-p/data/2016-12-28-172426.jpg。

图2a示例性地给出了一幅画面截图的相关信息,图2b为图2a对应的画面截图的内容。

S130、将日志数据与画面截图时间进行关联。

将日志数据与画面截图时间进行关联实质上,是确定每一行日志记录的操作执行与所得到的每一幅画面截图截取的先后顺序。

本步骤具体实现方法可以有多种,例如,在记录每一行日志时,相应地对设备当前显示画面进行截图,每一行日志与用于指向每一幅画面截图的存储地址的命令按照发生时间先后顺序依次存储,或者按照发生时间先后顺序为每一行日志与用于指向每一幅画面截图的存储地址的命令进行编号。

典型地,日志数据包括日志数据的生成时间;将日志数据与画面截图时间进行关联包括,根据日志数据的生成时间以及画面截图的图像截取时间,在日志数据中插入指向画面截图存储地址的命令信息。示例性地,将用于指向每一幅画面截图的存储地址的命令插入的日志数据后,该日志数据可以为:

[52.631170]<2>.(2)[240:healthd]healthd:send_already=0

[52.631170]screencap-p/data/2016-12-28-172426.jpg

[52.634820]<2>.(2)[240:healthd]healthd:Unkown battery status‘3’。

表示用于指向第52.63秒截取的,名称为2016-12-28-172426.jpg的画面截图的存储地址的命令插入到日志数据中。

本发明实施例通过以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存,将日志数据与画面截图时间进行关联,这样研发人员在接收到测试人员发送的日志文件时,由于日志文件包括日志数据以及画面截图相关信息,研发人员可以根据日志文件内容,获知测试人员在测试时先后执行了哪些操作,以及在各操作执行完毕后设备的响应情况,并据此对异常产生的原因进行诊断,解决了利用现有的日志存储方法存储的日志信息包括内容过少,致使研发人员常常无法根据日志分析异常产生的原因的问题,达到了为研发人员分析异常产生原因提供完善的数据依据的目的。

实施例二

图3为本发明实施例二提供的一种日志存储方法的流程图。本实施例提供的日志存储方法为实施例一提供的日志存储方法的一个具体示例。参见图3,该日志存储方法包括:

S110、接收日志数据并保存。

S210、判断当前系统是否异常,若当前系统异常,从系统异常时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

判断当前系统是否异常的方法有多种,例如判断上层发生软件的系统是否开始强制关闭各种服务,若是说明此时设备出现异常,设备系统自动生成的图像截取指令,在该图像截取指令的控制下,设备以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

或者,检测日志数据是否包括表征系统异常的关键词;若检测到日志内容包括该关键词,从首次检测到关键词时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。该关键词可以为“fail”或“error”等词。

S130、将日志数据与画面截图时间进行关联。

本实施例技术方案实质是仅在系统出现异常时,开始对设备显示画面进行截图,可以有效降低设备的功耗,另外,由于在系统处于非异常情况时并未对设备显示画面进行截图,可以有效降低需保存的画面截图的数量,减小非必要的画面截图占据的设备的存储空间。

在上述技术方案的基础上,为了防止当画面截图数量达到一定程度时,设备的存储空间中无法继续容纳新的画面截图的不良现象产生,可选地,可以预设设备可容纳画面截图的数量以及画面截图的大小,当设备某一时刻存储的画面截图的数量等于预设的设备可容纳画面截图的数量时,自动删除最早存储的一幅的画面截图,以保留最新一幅的画面截图。

为了进一步控制画面截图的大小,可选地,对画面截图的分辨率进行设定。示例性地,设置某设备画面截图的分辨率为720P,这样1000张画面截图需要占据的存储空间为约为700M。如果设置每隔1秒对设备当前显示画面截取一次,1000张画面截图需要大约20分钟方可获得。而对于一般设备系统异常而言,1000张画面截图可以反映该系统异常前大约20分钟的操作情况,这足以满足研发人员对异常产生原因进分析的需求。

实施例三

图4为本发明实施例三提供的一种日志存储装置的结构框图。参见图4,该日志存储装置包括日志数据保存模块310、画面截图获取模块320以及时间关联模块330。具体地,

日志数据保存模块310,用于接收日志数据并保存;

画面截图获取模块320,用于以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存;

时间关联模块330,用于将日志数据与画面截图时间进行关联。

本发明实施例提供的日志存储装置通过以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存,将日志数据与画面截图时间进行关联,这样研发人员在接收到测试人员发送的日志文件时,由于日志文件包括日志数据以及画面截图相关信息,研发人员可以根据日志文件内容,获知测试人员在测试时先后执行了哪些操作,以及在各操作执行完毕后设备的响应情况,进而据此对异常产生的原因进行诊断,解决了利用现有的日志存储方法存储的日志信息包括内容过少,致使研发人员常常无法根据日志分析异常产生的原因的问题,达到了为研发人员分析异常产生原因提供完善的数据依据的目的。

进一步地,画面截图获取模块320具体用于:

以设定时间间隔对设备显示画面进行图像截取,并记录每一次图像截取时间,得到画面截图并保存,画面截图名称包括图像截取时间。

进一步地,日志数据包括日志数据的生成时间;

时间关联模块330具体用于,根据日志数据的生成时间以及画面截图的图像截取时间,在日志数据中插入指向画面截图存储地址的命令信息。

进一步地,画面截图获取模块320具体用于:

判断当前系统是否异常;

若当前系统异常,从系统异常时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

进一步地,画面截图获取模块320具体用于:

检测日志数据是否包括表征系统异常的关键词;

若检测到日志内容包括关键词,从首次检测到关键词时刻开始,以设定时间间隔对设备显示画面进行图像截取,得到画面截图并保存。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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