CN105183622B - 基于安卓系统的日志处理方法及装置 - Google Patents
基于安卓系统的日志处理方法及装置 Download PDFInfo
- Publication number
- CN105183622B CN105183622B CN201510525890.2A CN201510525890A CN105183622B CN 105183622 B CN105183622 B CN 105183622B CN 201510525890 A CN201510525890 A CN 201510525890A CN 105183622 B CN105183622 B CN 105183622B
- Authority
- CN
- China
- Prior art keywords
- daily record
- record data
- property
- kernel
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种基于安卓系统的日志处理方法及装置,该方法包括:根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中第一日志数据,将所述第一日志数据存储至内核驱动层日志中;从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,提升了故障排除效率。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种基于安卓系统的日志处理方法及装置。
背景技术
程序中记录日志(log)有两个作用:故障排除和显示程序运行状态;即日志可以提供定位问题的依据。因此,记录日志对于调查解决问题是至关重要的。
目前安卓(Android)系统自带的日志服务可以记录一些日志,如主要日志(mainlog)、内核驱动层日志(kernal log)、无线通信日志(radio log)等,这些日志分别保存了Android系统中不同层的日志数据,例如kernal log用于保存内核驱动底层(即Linux内核层)的日志数据,一旦系统上电,kernal log便开始记录(以系统上电时的时间为时间起始点);main log用于保存安卓系统上层应用层(即应用程序层及应用程序框架层)的日志数据,当系统时钟开启时,main log才开始记录(以系统时钟为时间轴)。由于在系统上电后还需要一段时间,系统时钟才会开启,可见,kernal log与main log计时方式不同,即未按同一时间轴进行记录。因此,在通过日志数据查看安卓系统出现的问题的过程中,当需要同时分析安卓系统上层应用层和内核驱动底层互相影响的问题时,由于main log与kernal log相互独立,并且以不同的计时方式输出log数据,示例的,安卓系统启动后,在main log中,一条log数据产生的时间为8:50;而kernal log中一条log数据产生的时间为在上电后的第1500ms,此时,从这两条log数据中,无法得出有效的数据分析结果,也即现有技术中的日志服务会造成在分析安卓系统运行是否正常时,无法快速定位问题,造成数据分析速度较慢,从而导致故障排除效率较低。
发明内容
本发明实施例提供一种基于安卓系统的日志处理方法及装置,能解决现有技术中当需要同时分析安卓系统上层应用层和内核驱动底层互相影响的问题时,由于kernal log与main log计时方式不同而引起的故障排除效率较低的问题。
第一方面,本发明实施例提供一种基于安卓系统的日志处理方法,包括:
根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;
判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
第二方面,本发明实施例提供一种日志处理装置,包括:
获取模块,用于根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;
判断模块,用于判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
本发明中,根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;进一步地,判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,并将所述第一日志数据存储至内核驱动层日志中;从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理方法可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于安卓系统的日志处理方法实施例一的流程示意图;
图2为本发明日志处理装置的实施例一的结构示意图;
图3为本发明日志处理装置的实施例二的结构示意图;
图4为本发明日志处理装置的实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的操作系统中,系统属性是操作系统的重要特性,所述系统属性作为一个服务在运行,用于管理系统的属性(如配置和状态);其中,每个属性都包括属性键(Key)和属性值(Vlaue),可选地,所述属性键和所述属性值的类型都为字符串类型。本发明实施例中以安卓(Android)系统为例进行详细说明,但并不以此为限制。其中,安卓系统从高层到底层分为应用程序层、应用程序框架层、系统运行库层和内核层。现有的修改/设置系统属性可以包括如下几个步骤:1)应用程序框架层通过SystemProperty接口操作系统属性,如SystemProperty接口(Key,Vlaue);2)所述SystemProperty接口通过Java本地接口(JavaNative Interface,简称JNI)调用系统运行库层的属性设置接口(如Property_set接口)实现系统属性的修改/设置,如Property_set接口(Key,Vlaue)。
本发明实施例中基于安卓系统的日志处理方法可基于系统属性设置实现,通过预定义日志输出属性,其中,所述日志输出属性的属性键为预设属性键(如sys.save.log),所述日志输出属性的属性值为安卓系统上层应用层中待输出至内核驱动层日志中的第一日志数据。本发明实施例中,在通过修改/设置日志输出属性的基础上实现了将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,具体的实施方式详见后续部分。
图1为本发明基于安卓系统的日志处理方法实施例一的流程示意图。本实施例的执行主体可以为配置在终端设备中的日志处理装置,该装置可以通过软件和/或硬件实现。本实施例的方案可应用于终端设备中,实现了将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,以便于分析分析安卓系统上层应用层和内核驱动底层互相影响的问题。如图1所示,本实施例的方法可以包括:
S101、根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值。
S102、判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中。
其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
本发明实施例中,根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;可选地,所述日志数据处理指令可以为系统属性设置指令(如属性设置接口调用指令),所述系统属性设置指令中包含属性键和属性值。本发明实施例中,可选地,根据第一属性设置接口调用指令调用第一属性设置接口将安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据传输至内核驱动底层的第二属性设置接口,可选地,所述第一属性设置接口可以为安卓系统上层应用层(如JAVA域)的属性设置接口(如SystemProperty接口);可选地,所述第一属性设置接口调用指令的属性键为预设属性键(如sys.save.log),所述第一属性设置接口调用指令的属性值为所述第一日志数据,如SystemProperty接口(预设属性键,第一日志数据);进一步地,根据第二属性设置接口调用指令调用所述第二属性设置接口以判断所述日志数据处理指令(如所述第二属性设置接口调用指令)对应的属性键是否等于所述预设属性键,若所述属性键等于所述预设属性键(如sys.save.log),则确定所述日志数据处理指令对应的属性值为所述第一日志数据,并将所述第一日志数据存储至所述内核驱动层日志中,可选地,通过调用内核驱动层日志输出接口将所述第一日志数据存储至所述内核驱动层日志中;可选地,所述第二属性设置接口可以为内核驱动底层(如内核init进程中)的属性设置接口(如Property_changed接口),可选地,所述第二属性设置接口调用指令的属性键为预设属性键(如sys.save.log),所述第二属性设置接口调用指令的属性值为所述第一日志数据,如Property_changed接口(预设属性键,第一日志数据);可见,从而实现将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,即按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理方法可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
本发明实施例中,根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;进一步地,判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,并将所述第一日志数据存储至内核驱动层日志中;从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理方法可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
由于安卓系统上层应用层中的日志数据与内核驱动层日志中的日志数据的数据格式可能会有差异,为了保证将安卓系统上层应用层中的日志数据正确地存入所述内核驱动层日志中,可选地,本发明实施例中,在所述将所述第一日志数据存储至内核驱动层日志中之前,还包括:获取所述安卓系统的内核驱动层日志数据的数据格式;根据所述数据格式将所述第一日志数据进行数据格式封装,生成第二日志数据;对应地,所述将所述第一日志数据存储至内核驱动层日志中,包括:将所述第二日志数据存储至所述内核驱动层日志中。
对于android系统来说,内核驱动层的日志数据(kernal log)编程规范通过C/C++域来实现,而对于android系统其他层数据可通过高级JAVA域数据来实现,由于数据格式的限制,在实际实现过程中,会把其他层数据输出到内核驱动层,反之该过程则不可逆。
本发明实施例中,为了保证将安卓系统上层应用层中的日志数据正确地存入所述内核驱动层日志中,在将所述第一日志数据存储至内核驱动层日志中之前,先获取所述安卓系统的内核驱动层日志中日志数据的数据格式,其次,根据所述数据格式将所述第一日志数据进行数据格式封装,生成符合所述内核驱动层日志数据的数据格式的第二日志数据,进一步地,将所述第二日志数据存储至所述内核驱动层日志中,可选地,通过调用内核驱动层日志输出接口将所述第二日志数据存储至所述内核驱动层日志中。
可选地,作为一种可实施的方式,结合本发明上述实施例中记载可知:根据第一属性设置接口调用指令调用第一属性设置接口将安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据传输至内核驱动底层的第二属性设置接口,进一步地,根据第三属性设置接口调用指令调用第三属性设置接口以获取所述安卓系统的内核驱动层日志中日志数据的数据格式,根据所述数据格式将所述第一日志数据进行数据格式封装,生成符合所述内核驱动层日志数据的数据格式的第二日志数据,并将所述第二日志数据传输给所述第二属性设置接口,以便根据第二属性设置接口调用指令(此时,所述第二属性设置接口调用指令对应的属性值为所述第二日志数据)调用所述第二属性设置接口判断所述日志数据处理指令(如所述第二属性设置接口调用指令)对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述第二属性设置接口调用指令对应的属性值为所述第二日志数据,将所述第二日志数据存储至内核驱动层日志中。
可选地,作为另一种可实施的方式,结合本发明上述实施例中记载可知:根据第二属性设置接口调用指令调用所述第二属性设置接口以判断所述日志数据处理指令(如所述第二属性设置接口调用指令)对应的属性键是否等于所述预设属性键,若所述属性键等于所述预设属性键(如sys.save.log),则确定所述日志数据处理指令对应的属性值为所述第一日志数据,进一步地,根据第三属性设置接口调用指令调用第三属性设置接口以获取所述安卓系统的内核驱动层日志中日志数据的数据格式,根据所述数据格式将所述第一日志数据进行数据格式封装,生成符合所述内核驱动层日志数据的数据格式的第二日志数据,并将所述第二日志数据传输给所述第二属性设置接口,以便根据第二属性设置接口调用指令调用所述第二属性设置接口将所述第二日志数据存储至内核驱动层日志中。
可选地,本发明实施例中的所述第三属性设置接口可以为内核驱动底层(如C/C++域)的属性设置接口(如Property_set接口)。
可选地,所述根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值之前,还包括:
确定所述第一日志数据;设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据。
本发明实施例中,可选地,需要先确定安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,进一步地,设置所述日志数据处理指令(如系统属性设置指令)对应的属性键为所述预设属性键(如sys.save.log),所述日志数据处理指令对应的属性值为所述第一日志数据,便于后续根据所述日志数据处理指令对应的属性键是否等于预设属性键的方式来判断所述日志数据处理指令对应的属性值是否为所述第一日志数据。
本发明实施例中的日志处理方法可基于系统属性设置实现的(如通过预定义的日志输出属性的设置实现的),标准的系统属性修改/设置操作对应的标准系统属性的属性键一般为特定特征关键值(如颜色、大小或字体等),而所述日志输出属性的属性键为预设属性键(如sys.save.log)。本发明实施例中,可选地,作为另一种可实施的方式,若所述日志数据处理指令对应的属性键不等于所述预设属性键,则确定所述日志数据处理指令对应的属性值为标准系统属性值,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
本发明实施例中,若所述日志数据处理指令对应的属性键不等于所述预设属性键(如颜色、大小或字体等),则确定所述日志数据处理指令(如系统属性设置指令)为标准的系统属性设置指令,所述日志数据处理指令对应的属性值为标准系统属性值(即表示本次的日志数据处理指令不是对预设的日志输出属性的修改/设置操作,而为标准的系统属性修改/设置操作),因此,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
可选地,由于在修改/设置系统属性的过程中需要调用不同的属性设置接口(如SystemProperty接口、Property_set接口和Property_changed接口等),因此,在调用过程中需要修改属性设置接口对应的属性键。在上述实施例的基础上,进一步地,本发明实施例的日志的处理方法还包括:接收属性键修改指令,所述属性键修改指令包括接口标识以及对应的变更阈值;根据所述属性键修改指令,将接口标识对应的接口中的属性键设置为所述变更阈值。
本发明实施例中,在需要修改属性设置接口对应的属性键时,通过接收包括接口标识以及对应的变更阈值的属性键修改指令,例如所述属性键修改指令包括:Property_set接口的接口标识和变更阈值(如sys.save.log);进一步地,根据所述属性键修改指令所包含的接口标识(如Property_set接口的接口标识)以及对应的变更阈值(如sys.save.log),将所述接口标识对应的接口(如Property_set接口)中的原始属性键设置为所述变更阈值(如sys.save.log);或者例如当前系统属性设置操作为颜色属性设置,若需要进行日志输出属性设置操作,则通过接收包括接口标识以及对应的变更阈值的属性键修改指令,例如所述属性键修改指令包括:SystemProperty接口的接口标识和所述变更阈值(如sys.save.log);进一步地,根据所述属性键修改指令所包含的接口标识(如SystemProperty接口的接口标识)以及对应的变更阈值(如sys.save.log),将所述接口标识对应的接口(如SystemProperty接口)中的原始属性键(如颜色)修改为所述变更阈值(如sys.save.log),则代表将系统属性设置操作由颜色属性设置操作变更为日志输出属性设置操作;从而实现通过修改/设置日志输出属性将安卓系统上层应用层中的日志数据输出至内核驱动层日志中。
综上所述,本发明实施例中,通过确定安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据;进一步地,根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值,判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为所述第一日志数据,并将所述第一日志数据存储至内核驱动层日志中;从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理方法可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
可选地,本发明实施例中还可通过上述将安卓系统上层应用层中的日志数据输出至内核驱动层日志中的类似方法,将radio log或者system log等中的日志数据输出至所述内核驱动层日志中,其中,所述第一日志数据更改为所述radio log或者system log等中的日志数据,具体实施方式详见上述实施例,此处不再赘述。
图2为本发明日志处理装置的实施例一的结构示意图。如图2所示,本实施例提供的日志处理装置,可以包括:获取模块201及判断模块202。
其中,获取模块201用于根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;
判断模块202用于判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
本实施例提供的日志处理装置,通过修改/设置日志输出属性实现了将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,其中,日志输出属性的属性键为预设属性键(如sys.save.log),日志输出属性的属性值为安卓系统上层应用层中待输出至内核驱动层日志中的日志数据(如第一日志数据)。具体地,获取模块201根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;可选地,所述日志数据处理指令可以为系统属性设置指令(如属性设置接口调用指令),所述系统属性设置指令中包含属性键和属性值,可选地,所述系统属性设置指令的属性键为预设属性键(如sys.save.log),所述系统属性设置指令的属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的所述第一日志数据(可选地,所述安卓系统上层应用层包括:应用程序层及应用程序框架层);进一步地,判断模块202判断所述日志数据处理指令(如属性设置接口调用指令)对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键(如sys.save.log),则确定所述日志数据处理指令对应的属性值为所述第一日志数据,将所述第一日志数据存储至内核驱动层日志中;可见,从而实现将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,即按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理装置可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
本实施例提供的日志处理装置,包括:获取模块及判断模块;其中,获取模块,用于根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;判断模块,用于判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,将所述第一日志数据存储至内核驱动层日志中;可见,从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理装置可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
可选地,作为一种可实施的方式,在图2所示的实施方式的基础上,判断模块202具体用于:
获取所述安卓系统的内核驱动层日志数据的数据格式;
根据所述数据格式将所述第一日志数据进行数据格式封装,生成第二日志数据;
将所述第二日志数据存储至所述内核驱动层日志中。
可选地,作为另一种可实施的方式,如图3所示,图3为本发明日志处理装置的实施例二的结构示意图,在图2所示的实施方式的基础上,日志处理装置还包括:
确定模块203,用于确定所述第一日志数据;
设置模块204,用于设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据。
可选地,作为另一种可实施的方式,在图2所示的实施方式的基础上,判断模块202还具体用于:
若所述属性键不等于所述预设属性键,则确定所述日志数据处理指令对应的属性值为标准系统属性值,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
可选地,作为另一种可实施的方式,在图2所示的实施方式的基础上,判断模块202还具体用于:通过调用内核驱动层日志输出接口将所述第二日志数据存储至所述内核驱动层日志中。
本实施例提供的日志处理装置,可以用于执行本发明上述基于安卓系统的日志处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明日志处理装置的实施例三的结构示意图。如图4所示,本实施例的日志处理装置,可以包括:存储器401和处理器402,存储器401可以和处理器402相连;其中,存储器401用于存储执行指令;处理器402用于调用存储器401中的执行指令,用以执行以下操作:
根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;
判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
本实施例提供的日志处理装置,通过修改/设置日志输出属性实现了将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,其中,所述日志输出属性的属性键为预设属性键(如sys.save.log),所述日志输出属性的属性值为安卓系统上层应用层中待输出至内核驱动层日志中的日志数据(如第一日志数据)。具体地,处理器402根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;可选地,所述日志数据处理指令可以为系统属性设置指令(如属性设置接口调用指令),所述系统属性设置指令中包含属性键和属性值,可选地,所述系统属性设置指令的属性键为预设属性键(如sys.save.log),所述系统属性设置指令的属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的所述第一日志数据(可选地,所述安卓系统上层应用层包括:应用程序层及应用程序框架层);进一步地,处理器402判断所述日志数据处理指令(如属性设置接口调用指令)对应的属性键是否等于预设属性键(如sys.save.log),若所述属性键等于所述预设属性键,则确定所述属性值为所述第一日志数据,将所述第一日志数据存储至内核驱动层日志中;可见,从而实现将安卓系统上层应用层中的日志数据输出至内核驱动层日志中,即按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明实施例的日志处理装置可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
具体地,处理器可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是CPU、数字信号处理器(digital signal processor,简称DSP)、图形处理器(GraphicProcessing Unit,简称GPU)及通信单元中的控制芯片(例如基带芯片)的组合。
具体地,存储器401中的程序可以包括程序代码,程序代码包括计算机操作指令,还可以存储日志数据。存储器401可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,作为一种可实施的方式,处理器402还用于执行以下操作:
获取所述安卓系统的内核驱动层日志数据的数据格式;
根据所述数据格式将所述第一日志数据进行数据格式封装,生成第二日志数据;
将所述第二日志数据存储至所述内核驱动层日志中。
可选地,作为另一种可实施的方式,处理器402还用于执行以下操作:
确定所述第一日志数据;
设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据。
可选地,作为另一种可实施的方式,处理器402还用于执行以下操作:
若所述属性键不等于所述预设属性键,则确定所述日志数据处理指令对应的属性值为标准系统属性值,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
可选地,作为另一种可实施的方式,处理器402还用于执行以下操作:通过调用内核驱动层日志输出接口将所述第二日志数据存储至所述内核驱动层日志中。
本实施例提供的日志处理装置包括:存储器和处理器,存储器可以和处理器相连;其中,存储器用于存储执行指令;处理器用于调用存储器中的执行指令,用以执行以下操作:根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值;进一步地,判断所述日志数据处理指令对应的属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为安卓系统上层应用层中的待输出至所述内核驱动层日志中的第一日志数据,将所述第一日志数据存储至内核驱动层日志中;可见,从而实现按同一时间轴记录所述安卓系统上层应用层中的日志数据以及内核驱动层日志数据,以便于分析安卓系统上层应用层和内核驱动底层互相影响的问题,因此,本发明提供的日志处理装置可快速分析安卓系统上层应用层和内核驱动底层互相影响的问题,提升了故障排除效率。
需要说明的是,对于日志处理装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见本发明上述方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于安卓系统的日志处理方法,其特征在于,包括:
根据接收到的日志数据处理指令,所述日志数据处理指令为系统属性设置指令,所述系统属性设置指令中包含属性键和属性值,获取所述日志数据处理指令对应的所述属性键和所述属性值;
判断所述日志数据处理指令对应的所述属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一日志数据存储至内核驱动层日志中之前,还包括:
获取所述安卓系统的内核驱动层日志数据的数据格式;
根据所述数据格式将所述第一日志数据进行数据格式封装,生成第二日志数据;
对应地,所述将所述第一日志数据存储至内核驱动层日志中,包括:
将所述第二日志数据存储至所述内核驱动层日志中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据接收到的日志数据处理指令,获取所述日志数据处理指令对应的属性键和属性值之前,还包括:
确定所述第一日志数据;
设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据。
4.根据权利要求1或2所述的方法,其特征在于,所述判断所述日志数据处理指令对应的属性键是否等于预设属性键之后,还包括:
若所述属性键不等于所述预设属性键,则确定所述日志数据处理指令对应的属性值为标准系统属性值,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
5.根据权利要求2所述的方法,其特征在于,所述将所述第二日志数据存储至所述内核驱动层日志中,包括:
通过调用内核驱动层日志输出接口将所述第二日志数据存储至所述内核驱动层日志中。
6.一种基于安卓系统的日志处理装置,其特征在于,包括:
获取模块,用于根据接收到的日志数据处理指令,所述日志数据处理指令为系统属性设置指令,所述系统属性设置指令中包含属性键和属性值,获取所述日志数据处理指令对应的所述属性键和所述属性值;
判断模块,用于判断所述日志数据处理指令对应的所述属性键是否等于预设属性键,若所述属性键等于所述预设属性键,则确定所述属性值为第一日志数据,将所述第一日志数据存储至内核驱动层日志中;其中,所述第一日志数据为安卓系统上层应用层中的待输出至所述内核驱动层日志中的日志数据;所述安卓系统上层应用层包括:应用程序层及应用程序框架层。
7.根据权利要求6所述的装置,其特征在于,所述判断模块具体用于:
获取所述安卓系统的内核驱动层日志数据的数据格式;
根据所述数据格式将所述第一日志数据进行数据格式封装,生成第二日志数据;
将所述第二日志数据存储至所述内核驱动层日志中。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
确定模块,用于确定所述第一日志数据;
设置模块,用于设置所述日志数据处理指令对应的属性键为所述预设属性键,所述日志数据处理指令对应的属性值为所述第一日志数据。
9.根据权利要求6或7所述的装置,其特征在于,所述判断模块还具体用于:
若所述属性键不等于所述预设属性键,则确定所述日志数据处理指令对应的属性值为标准系统属性值,直接将所述属性值赋于所述日志数据处理指令对应的属性键。
10.根据权利要求7所述的装置,其特征在于,所述判断模块还具体用于:
通过调用内核驱动层日志输出接口将所述第二日志数据存储至所述内核驱动层日志中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510525890.2A CN105183622B (zh) | 2015-08-25 | 2015-08-25 | 基于安卓系统的日志处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510525890.2A CN105183622B (zh) | 2015-08-25 | 2015-08-25 | 基于安卓系统的日志处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183622A CN105183622A (zh) | 2015-12-23 |
CN105183622B true CN105183622B (zh) | 2017-12-26 |
Family
ID=54905714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510525890.2A Active CN105183622B (zh) | 2015-08-25 | 2015-08-25 | 基于安卓系统的日志处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183622B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131852A (zh) * | 2016-08-29 | 2016-11-16 | 努比亚技术有限公司 | 一种伪基站防护状态同步装置、系统及方法 |
CN106484615B (zh) * | 2016-09-29 | 2019-05-03 | 青岛海信移动通信技术股份有限公司 | 记录日志的方法和装置 |
CN107066374B (zh) * | 2017-03-20 | 2020-07-10 | Oppo广东移动通信有限公司 | 一种数据处理方法及移动终端 |
CN110764962B (zh) * | 2018-07-26 | 2024-02-20 | 杭州海康存储科技有限公司 | 日志处理方法和装置 |
CN109743692A (zh) * | 2018-12-28 | 2019-05-10 | 深圳Tcl新技术有限公司 | 蓝牙热点信息的获取方法、系统及计算机可读存储介质 |
CN111078455A (zh) * | 2019-12-24 | 2020-04-28 | 北京优特捷信息技术有限公司 | 基于时间轴的异常行为序列关联处理方法以及装置、设备、存储介质 |
CN112148674B (zh) * | 2020-10-12 | 2023-12-19 | 平安科技(深圳)有限公司 | 日志数据处理方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645982A (zh) * | 2013-11-29 | 2014-03-19 | 北京奇虎科技有限公司 | 日志处理方法及客户端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4912039B2 (ja) * | 2006-05-29 | 2012-04-04 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
-
2015
- 2015-08-25 CN CN201510525890.2A patent/CN105183622B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645982A (zh) * | 2013-11-29 | 2014-03-19 | 北京奇虎科技有限公司 | 日志处理方法及客户端 |
Non-Patent Citations (1)
Title |
---|
一种基于隐Markov模型的异常检测技术;安景琦等;《计算机应用》;20050830;第25卷(第8期);第1744-1746页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105183622A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183622B (zh) | 基于安卓系统的日志处理方法及装置 | |
CN103853576B (zh) | 一种截图方法,及装置 | |
CN109522087B (zh) | 基于国产申威处理器的虚拟机构建方法和系统 | |
CN109815252A (zh) | 测试数据生成方法、装置、计算机设备及可读存储介质 | |
CN104991763B (zh) | 一种通用的游戏界面行为控制系统 | |
CN107766101A (zh) | App启动事件的处理方法、装置和设备 | |
CN106201566A (zh) | 利博伟特软件热升级方法及设备 | |
CN110309048A (zh) | 基于模拟端口改进软件集成系统的方法及相关设备 | |
CN104049974B (zh) | 控件动态组装方法和系统 | |
CN109542506A (zh) | 一种可灵活配置接口和快速交付服务的系统 | |
CN111930617A (zh) | 基于数据对象化的自动化测试方法及装置 | |
CN107315586A (zh) | 应用打包的方法、装置和系统 | |
CN114003451B (zh) | 一种接口测试方法、装置、系统及介质 | |
CN105955833A (zh) | 引擎调用方法和装置 | |
CN108170430A (zh) | 一种界面展示的方法及系统 | |
CN105718796B (zh) | 一种安卓用户隐私数据访问的系统调用级监控方法 | |
CN107807831A (zh) | 应用程序中的业务执行方法、装置、终端及存储介质 | |
CN111723020A (zh) | 一种电能表测试软件的测试方法、装置及其设备 | |
CN107391272A (zh) | 多进程数据交互的方法和终端 | |
CN106777352A (zh) | 数据访问方法及系统 | |
CN110598419A (zh) | 一种区块链客户端漏洞挖掘方法、装置、设备及存储介质 | |
CN110399727A (zh) | 一种bmc权限自动测试方法、系统、终端及存储介质 | |
CN106815037A (zh) | 应用功能的执行方法及装置 | |
CN105550103A (zh) | 一种基于自定义测试脚本的自动化测试方法 | |
CN107577454A (zh) | 一种基于python的应用程序多线程运行优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |