一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种异常日志信息上报方法、智能终端及存储介质与流程

2021-11-09 19:54:00 来源:中国专利 TAG:


1.本发明涉及服务器访问技术领域,尤其涉及的是一种异常日志信息上报方法、智能终端及存储介质。


背景技术:

2.随着互联网技术和通信技术的发展,智能终端在现代人的生活中扮演了越来越重要的角色,为满足用户的各种需求,智能终端中安装了各种应用程序,丰富了人们生活。
3.用户在使用智能终端过程中出现的各种应用程序故障,比如应用程序闪退或者应用程序无响应等。现有技术中,当应用程序发生故障时,都是通过维护人员或研发人员自主地获取该应用程序的日志文件,然后对该日志文件进行分析,从而定位出应用程序的异常。由于人为因素的干预,导致对应用程序的异常进行分析效率降低,影响了应用程序的修复进度。
4.因此,现有技术还有待改进和发展。


技术实现要素:

5.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种异常日志信息上报方法、智能终端及存储介质,旨在解决现有技术中在对应用程序的异常进行分析时的效率低,影响了应用程序的修复进度的问题。
6.本发明解决问题所采用的技术方案如下:
7.第一方面,本发明实施例提供一种异常日志信息上报方法,其中,所述方法包括:
8.根据应用程序的历史运行数据,判断所述应用程序是否发生异常;
9.当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型;
10.根据所述异常类型,获取与所述异常类型对应的异常日志信息,并将所述异常日志信息上报至服务器,其中,所述异常日志信息包括所述异常历史运行数据。
11.在一种实施方式中,所述根据应用程序的历史运行数据,判断所述应用程序是否发生异常,包括:
12.获取所述应用程序的运行状态信息,所述运行状态信息包括所述应用程序的历史运行数据;
13.根据所述历史运行数据,判断所述应用程序是否发生异常。
14.在一种实施方式中,所述根据所述历史运行数据,判断所述应用程序是否发生异常,包括:
15.对所述历史运行数据中的所述异常历史运行数据进行识别,得到识别结果;
16.根据所述识别结果,判断所述应用程序是否发生异常。
17.在一种实施方式中,所述对所述历史运行数据中的所述异常历史运行数据进行识别,得到识别结果,包括:
18.对所述历史运行数据中的每一个参数进行异常识别,得到所述历史运行数据中各个参数对应的异常识别结果;
19.根据所述历史运行数据中各个参数对应的异常识别结果,确定所述历史运行数据中所述异常历史运行数据的识别结果。
20.在一种实施方式中,所述根据预设的异常数据捕捉程序,对所述历史运行数据中的所述异常历史运行数据进行捕捉,得到捕捉结果,包括:
21.通过所述异常数据捕捉程序,对所述历史运行数据中的每一个参数进行识别;
22.当识别到所述的异常历史运行数据时,对所述异常历史运行数据进行捕捉,得到所述捕捉结果。
23.在一种实施方式中,所述当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型,包括:
24.当所述识别结果中存在所述异常历史运行数据时,则确定所述应用程序发生异常;
25.获取所述历史运行数据中的所述异常历史运行数据;
26.根据所述异常历史运行数据,获取所述异常历史运行数据中的目标运行参数,所述目标运行参数为所述异常历史运行数据中的字段;
27.根据所述目标运行参数,确定所述目标运行参数所对应的所述异常类型。
28.在一种实施方式中,所述根据所述目标运行参数,确定所述目标运行参数所对应的所述异常类型,包括:
29.将所述目标运行参数与预设的映射关系表进行匹配,确定所述目标运行参数所对应的所述异常类型,所述映射关系表中存储有所述目标运行参数与所述异常类型的对应关系。
30.在一种实施方式中,当所述异常类型为所述应用程序无响应或者系统本地异常时,所述根据所述异常类型,获取与所述异常类型对应的异常日志信息,包括:
31.根据日志获取指令,获取所述应用程序发生所述异常类型对应的异常时生成的日志数据,所述日志数据包括所述异常历史运行数据;
32.根据所述异常类型,获取所述异常类型对应的系统日志文件;
33.将所述系统日志文件与所述日志数据打包生成所述异常日志信息,并获取所述异常日志信息。
34.在一种实施方式中,当所述异常类型为程序指针异常或者所述应用程序崩溃时,所述根据所述异常类型,获取包括所述异常运行数据的异常日志信息,包括:
35.根据日志获取指令,获取所述应用程序发生所述异常类型对应的异常时生成的日志数据,并将所述日志数据作为所述异常日志信息,所述日志数据包括所述异常历史运行数据。
36.第二方面,本发明实施还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的异常日志信息上报方法。
37.第三方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储
介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的异常日志信息上报方法。
38.本发明的有益效果:本发明实施例首先根据应用程序的历史运行数据,判断所述应用程序是否发生异常,当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,也就是获取所述历史运行数据中存在异常的数据。然后,根据所述异常历史运行数据,确定与所述异常历史运行数据对应的异常类型。接着,根据所述异常类型,获取与所述异常类型对应的异常日志信息,然后将所述异常日志信息上报至服务器。由于本实施例中的异常日志信息是与异常类型对应的,且所述异常日志信息中包括有所述异常历史运行数据,因此对所述异常日志信息进行分析就可以快速确定出所述应用程序的异常类型,并且由于所述异常日志信息中包括有所述应用程序的异常历史运行数据,这样在对应用程序的修复时,可以快速地所述所述异常历史运行数据进行修复,为所述应用程序的修复提供了极大的便利,省了人力和时间成本,也加速了修复速度。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本发明实施例提供的异常日志信息上报方法的流程示意图。
41.图2是本发明实施例提供的异常日志信息上报方法中判断应用程序的是否发生异常的流程示意图。
42.图3是本发明实施例提供的异常日志信息上报方法中确定异常类型的流程示意图。
43.图4是本发明实施例提供的异常日志信息上报方法中上报异常日志信息的流程示意图。
44.图5是本发明实施例提供的异常日志信息上报装置的原理框图。
45.图6是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
46.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
47.需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
48.由于现有技术中,当应用程序发生故障时,都是通过维护人员或研发人员自主地获取该应用程序的日志文件,然后对该日志文件进行分析,从而定位出应用程序的异常。由于人为因素的干预,导致对应用程序的异常进行分析效率降低,影响了应用程序的修复进度。
49.为了解决现有技术中的问题,本发明提供了一种异常日志信息上报方法,通过该方法可以在应用程序发生异常时,确定出所述应用程序的异常类型,并自动上报异常日志信息,为后续应用程序的异常修复提供了极大的便利,节省了人力和时间成本,也加速了修复速度。具体实施例时,本实施例首先根据应用程序的历史运行数据,判断所述应用程序是否发生异常,当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,也就是获取所述历史运行数据中存在异常的数据。然后,根据所述异常历史运行数据,确定与所述异常历史运行数据对应的异常类型。接着,根据所述异常类型,获取与所述异常类型对应的异常日志信息,然后将所述异常日志信息上报至服务器。由于本实施例中的异常日志信息是与异常类型对应的,且所述异常日志信息中包括有所述异常历史运行数据,因此对所述异常日志信息进行分析就可以快速确定出所述应用程序的异常类型,并且由于所述异常日志信息中包括有所述应用程序的异常历史运行数据,这样在对应用程序的修复时,可以快速地所述所述异常历史运行数据进行修复,为所述应用程序的修复提供了极大的便利,省了人力和时间成本,也加速了修复速度。
50.举例说明,当智能终端在运行微信应用时,微信应用在运行时会产生留下运行记录,这些运行记录即为所述微信应用的历史运行数据。智能终端就可以获取微信应用的历史运行数据,这些历史运行数据是微信应用执行每一个指令或者进行每一个进程时所产生数据,根据这些开始运行数据就可以判断出微信应用是否发生异常。如果确定出所述微信应用出现了异常(比如微信应用卡死或微信应用在使用过程中突然崩溃等),则获取所述微信应用的异常历史运行数据,这些异常历史运行数据是在所述微信应用在出现异常时所产生的数据。智能终端就可以根据这些异常历史数据,确定出于这些异常历史数据对应的异常类型,也就是确定出该微信应用出现的异常情况是哪一种类型的异常。比如,本例中根据所述异常历史数据确定的异常类型是应用程序无响应,就可则以获取与应用程序无响应这个异常类型所对应的异常日志信息,然后将该异常日志文件上报,由于所述异常日志信息是与应用程序无响应这个异常类型对应的,并且所述异常日志信息中包括有所述异常历史运行数据。因此,在对微信应用进修复时,只需对所述异常日志信息进行分析,即可快速确定出该微信应用发生了哪一种异常类型对应的异常,并且还可以根据所述异常运行数据对微信应用进行快速修复。
51.示例性方法
52.本实施例中提供一种异常日志信息上报方法,所述方法应用于智能终端中,具体如图1中所示,所述方法包括:
53.步骤s100、根据应用程序的历史运行数据,判断所述应用程序是否发生异常。
54.由于用户在智能终端中对应用程序进行操作时,难免会遇到应用程序出现异常的情况,一般来说,当应用程序出现异常时,用户可以对应用程序进行重启甚至是对智能终端进行重启,可以使得所述应用程序恢复正常运行,但是有时并不能使得应用程序立即恢复正常运行,甚至有时候即便使得应用程序出现短暂的恢复正常运行,过一段时间又会出现同样的异常。因此,为了彻底解决应用程序的异常,需要对所述应用程序进行修复,而修复时为了加快修复速度,提高修复效率,本实施例可在应用程序出现异常时,确定出所述应用程序所出现的异常情况对应的异常类型,以便在后续步骤中可以获取与所述异常类型对应的异常日志信息。因此,本实施例需要及时判断出应用程序是否发生异常,以便能够快速地
确定出所述应用程序所出现的异常情况所对应的异常类型。
55.在一种实施例方式,具体如图2中所示,本实施例中在应用程序出现异常时,获取所述应用程序的异常信息的步骤包括如下步骤:
56.步骤s101、获取所述应用程序的运行状态信息,所述运行状态信息包括所述应用程序的历史运行数据;
57.步骤s102、根据所述历史运行数据,判断所述应用程序是否发生异常。
58.具体实施例时,当用户使用应用程序时,所述应用程序在运行会实时产生运行状态信息,所述运行状态信息中包括了所述应用程序在运行时的历史运行数据,这些历史运行数据是反映所述应用程序的运行记录。该历史运行数据中包括所述应用程序所打开的页面、所接收到的指令、每个指令接收到的时间以及每一个指令执行的结果等数据。也就是说,所述应用程序的历史运行数据就是所述应用程序在运行过程中所有的历史记录。因此当智能终端获取到所述应用程序的历史运行数据后,就可以根据所述应用程序的历史运行数据来判断所述应用程序是否发生异常。在一种实现方式中,本实施例的智能终端在获取所述应用程序的运行状态信息时是可以以预设的时间间隔去获取的,比如以每隔1秒的时间间隔去获取到应用程序的运行状态信息,以便及时在所述应用程序发生异常是能够及时获取到对应的异常运行数据,并及时判断出所述应用程序是否发生异常。
59.在一种实现方式中,对于判断所述应用程序是否发生异常,本实施例中可以通过对所述历运史行数据来进行识别来实现的。具体地,本实施例在确定所述历史运行数据后,对所述历史运行数据中的异常历史运行数据进行识别,并得到识别结果。然后,根据所述识别结果,判断所述应用程序是否发生异常。具体实施时,本实施例在进行识别时,可对所述应用程序在运行时所产生的历史运行数据中的每一个参数进行异常识别,得到所述历史运行数据中各个参数的对应的异常识别结果,然后根据所述历史运行数据中各个参数对应的异常识别结果,确定所述历史运行数据中所述异常历史运行数据的识别结果。也就是说,本实施例是分别对所述历史运行数据中的每一个参数进行识别,判断出所述历史运行数据中的参数是否异常,得到各个参数的异常识别结果。而当确定所述历史运行数据中的某个参数是异常时,则就说明所述历史运行数据中存在所述异常历史运行数据,这就可以判断出所述应用程序出现了异常。为了实现在应用程序在运行时及时判断应用程序是否发生了异常,本实施例可以在所述应用程序运行时,实时对所述应用程序所产生的历史运行数据进行识别,以便所述历史运行数据中一旦存在异常历史运行数据就可以被识别与被捕捉,从而可以及时判断出所述应用程序发生了异常。
60.在一种实施方式中,本实施例可预先在终端系统中的framework层(框架层)中设置识别程序,该识别程序可以对应用程序运行时产生的历史运行数据识别,以便及时判断所述历史运行数据中是否存在异常历史运行数据,及时判断出所述应用程序是否发生异常。具体实施时,本实施例可通过设置代码的方式来触发所述识别程序运行,这些代码可向应用层发出通知,该通知即为触发所述识别程序来对所述应用程序的历史运行数据进行获取以及对所述历史运行数据进行识别,从而实现快速获取所述异常历史运行数据。
61.举例说明,当智能终端在运行微信应用时,微信应用在运行时会产生历史运行数据。因此本例可以获取到这些历史运行数据,比如获取到的历史运行数据包括:执行打开聊天页面的操作指令产生的运行数据、执行拍照指令产生的历史运行数据、执行后台运行的
操作指令的运行数据等。当获取到这些运行数据后,可通过预设的识别程序,对所述历史运行数据中的每一个参数进行识别,并得到识别结果。当识别到微信应用在执行拍照指令时产生的历史运行数据中存在异常历史运行数据时,则该识别结果中就存在所述异常历史运行数据,也就说明微信应用在执行拍照指令时发生了故障,即该微信应用出现了异常。
62.步骤s200、当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型。
63.由于现有技术中在应用程序出现异常时,是通过研发人员或者维护人员后发生异常后自主地去获取日志信息,然后对该日志信息进行分析后才能确定出所述应用程序所发生的异常是什么。由于人为因素的干预,严重影响了对所述应用程序的异常分析以及修复的进度。因此本实施例当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型,即确定出该应用程序出现的异常情况是哪一种类型的异常,通过确定出所述异常类型,以便终端系统可生成与所述异常类型对应的异常日志信息。
64.在一种实现方式中,如图3中所示,所述步骤s300包括如下步骤:
65.步骤s201、当所述识别结果中存在所述异常历史运行数据时,则确定所述应用程序发生异常;
66.步骤s202、获取所述历史运行数据中的所述异常历史运行数据;
67.步骤s203、根据所述异常历史运行数据,获取所述异常历史运行数据中的目标运行参数,所述目标运行参数为所述异常历史运行数据中的字段;
68.步骤s204、根据所述目标运行参数,确定所述目标运行参数所对应的所述异常类型。
69.由于智能终端中的应用程序在运行时所产生的历史运行数据是应用程序在执行每一个指令或者进行每一个进程时所产生数据,而当所述历史运行数据中存在异常历史运行数据时,则就说该应用程序出现了异常,且应用程序的异常是由异常历史运行数据导致的。因此根据这些异常历史运行数据就可以确定对应的异常类型。
70.在一种实施方式中,当所述识别结果中存在所述异常历史运行数据(从所述历史运行数据中存在所述异常历史运行数据)时,则就确定所述应用程序发生异常。然后,本实施例就可以获取所述历史运行数据中的所述异常历史运行数据。接着,获取所述异常历史运行数据中的目标运行参数,所述目标运行参数为所述异常历史运行数据中的字段。最后,根据所述目标运行参数,确定所述目标运行参数所对应的所述异常类型。具体实施时,本实施例当确定所述应用程序发生异常时,则从所述异常历史运行数据中获取到所述目标运行参数。然后将所述目标运行参数与预设的映射关系表进行匹配,所述映射关系表中存储有所述目标运行参数与所述异常类型的对应关系,即对应关系为:目标运行参数
--
异常类型。因此,本实施例在获取到所述目标运行参数后,根据所述映射关系表中的对应关系就可确定所述目标运行参数所对应的所述异常类型。由于所述目标运行参数为所述异常历史运行数据中的字段,因此在所述映射关系表中是字段与异常类型的对应关系。
71.比如,微信应用出现异常时,该应用程序的的历史运行数据中就会存在的异常历史运行数据,并且该异常历史运行数据中就会存在字段“fail”,该字段“fail”即为所述异常历史运行数据中的目标运行参数,因此本例就会对该字段“fail”进行获取,然后将字段

fail”与预设的映射关系表进行匹配,确定字段“fail”所对应的异常类型。本实施例中的所述映射关系表中存储有所述目标运行参数与所述异常类型的对应关系,比如在本例中,所述映射关系表中,字段“fail”对应的异常类型为应用程序无响应。这样就确定出本实施例中所述异常历史运行数据所对应的异常类型,这样就可以知晓所述应用程序出现的异常情况是哪一类型的异常,以便后续能够尽快修复。
72.在一种实施方式中,当然,如果本实施例中的所述历史运行数据中具有多个异常历史运行数据,则多个异常历史运行数据可能对应不同的异常类型。因此本实施例在去确定所述异常历史运行数据所对应的异常类型时,可分别获取每一个异常历史运行数据中的目标运行参数,进而获取每一个目标运行参数所对应的异常类型。在具体应用时,为了能够更加快速且准确地确定目标运行参数对应的异常类型。本实施例中的所述映射关系表中存储的目标运行参数与异常类型的对应关系为一一对应关系。比如上述的字段“fail”与应用程序无响应一一对应。又如当所述异常历史运行数据中转子“duck”的字段(即目标运行参数),因此与字段“duck”对应的异常类型为应用程序崩溃,并且字段“duck”与应用程序崩溃一一对应。此外,本实施例中的异常类型为用异常标识来表示,比如应用程序无响应对应的异常标识为“no response”,应用程序崩溃对应的异常标识为“cash”。因此在所述映射关系中,字段“fail”对应的就可为“no response”,即表明当所述异常历史运行数据中存在字段“fail”时,所述应用程序出现异常为应用程序无响应。
73.步骤s300、根据所述异常类型,获取与所述异常类型对应的异常日志信息,并将所述异常日志信息上报至服务器,其中,所述异常日志信息包括所述异常历史运行数据。
74.由于本实施例中确定出了应用程序的异常类型,因此在获取日志信息时,就可以根据所述类型获取到与所述异常类型对应的异常日志信息。在本实施例中的异常日志信息中是包括有所述异常历史运行数据的,因此将所述异常日志信息上报至服务器后,维修人员就可以从所述服务器上获取到所述异常日志信息,并且可从所述异常日志信息中获取到所述异常历史运行数据,这样维修人员就可以针对所述异常历史运行数据进行修复,从而实现对应用程序的快速修复。
75.具体实施时,由于应用程序出现异常的原因有很多,不同的异常历史运行数据会引起不同的异常情况,因此应用程序可能出现的异常类型是有多种的。本实施例中的异常类型大致可以分为所述应用程序无响应(anr)、本地异常崩溃(native cash)、程序指针异常(nullpointer)或者所述应用程序崩溃(应用程序cash)等。而针对不同的异常类型,生成异常日志信息的方式也会不一样。而在对应用程序进行修复时,针对不同的异常类型,修复方式也可能是不一样的。因此,为了在进行修复时可以更快地对应用程序进行修复,本实施例中在上报异常日志信息时,也根据应用程序发生的异常情况所对应的异常类型选择不同上报方式。
76.在一种实现方式中,如图4中所示,当确定所述应用程序的所述异常类型为应用程序无响应或者系统本地异常时,所述步骤s300中生成日志信息的步骤具体包括如下步骤:
77.步骤s301、根据日志获取指令,获取所述应用程序发生所述异常类型对应的异常时生成的日志数据,所述日志数据包括所述异常历史运行数据;
78.步骤s302、根据所述异常类型,获取所述异常类型对应的系统日志文件;
79.步骤s303、将所述系统日志文件与所述日志数据打包生成所述异常日志信息,并
获取所述异常日志信息。
80.具体地,由于本实施例中,所要实现的是根据异常类型获取与异常类型对应的异常日志信息,并且所述异常日志信息中是包括有异常历史运行数据的,这样当后续在对应用程序进行修复时,就可以直接根据所述异常日志信息快速获取到所述异常历史运行数据的,进而可以实现快速进行修复。本实施例中,当确定所述应用程序的所述异常类型为应用程序无响应或者系统本地异常时,本实施例根据日志获取指令,获取所述应用程序发生所述异常类型对应的异常时生成的日志数据,所述日志数据就包括所述异常历史运行数据。具体实施时,本实施例中通过logcat命令(即日志获取指令)抓取android系统的log日志(日志数据),本实施例中的日志数据是包括有所述异常历史运行数据的,也就是说,所述日志数据在生成时是根据所述异常历史运行数据生成的。因此根据所述日志数据即可获取到所述异常历史运行数据。而由于造成所述应用程序发生应用程序无响应或者系统本地异常这两种异常类型的原因较为复杂,且修复工作也较为繁琐。因此本实施例处理获取所述日志数据后,还需要获取系统日志文件,以用于辅助分析,加快修复进度。具体地,本实施例可根据所述异常类型,获取所述异常类型对应的系统日志文件,该系统日志文件是终端系统在监控至所述的应用程序发生异常时,自动根据所述应用程序发生的异常所对应的异常类型来生成。在一种实施方式中,本实施例生成的所述系统日志文件中包括有所述应用程序的名称信息、所述应用程序发生异常的时间信息、所述应用程程序发生的异常所对应的异常类型以及所述终端系统在所述应用程序发生异常时的状态等数据。所述系统日志文件可生成之后,存储在指定的目录中,如将所述系统日志文件存储在/data/anr/traces.txt中,以实现方便获取。
81.在一种实施方式中,当获取到所述系统日志文件以及日志数据后,本实施例将所述系统日志文件以及日志数据打包生成所述异常日志信息,因此所述异常日志信息中就包括有所述异常历史运行数据。最后,将打包生成的异常日志信息上报服务器。这样当对所述应用程序进行修复时,直接可从服务器获取到所述异常日志信息,由于所述异常日志信息中不但包括了日志数据还包括所述系统日志文件,因此从所述异常日志信息中不但可以获取到异常历史运行数据,还可以获取到其他的数据,以便更好对所述应用程序的异常进行分析,进而对所述应用程序的异常进行修复,从而实现所述应用程序的快速修复。
82.在另一种实施方式中,当确定出所述异常类型为程序指针异常或者应用程序崩溃时,由于所述应用程序在发生程序指针异常或者所述应用程序崩溃时都有明显的堆栈(即数据存储区),堆栈中存储有与所述应用程序发生程序指针异常或者应用程序崩溃时的历史运行数据,即就包括所述异常历史运行数据,因此就可根据堆栈中的所述历史运行数据生成所述日志数据。因此当确定出所述异常类型为程序指针异常或者所述应用程序崩溃时,本实施例无需获取系统日志文件,而是直接根据日志获取指令,获取所述应用程序发生所述异常类型对应的异常时生成的日志数据,并将所述日志数据作为所述异常日志信息。本实施例中的应用程序崩溃是一个其它所有crash的综合(比如把包括了应用程序的内存溢出:java.lang.out of memory error)。由于所述日志数据包括所述异常历史运行数据,因此在进行修复时,根据所述日志数据中的异常历史运行数据即可完成修复。具体实施时,本实施例中通过logcat命令(即日志获取指令)抓取android系统的log日志(日志数据),本实施例中的日志数据是包括有所述异常历史运行数据的,也就是说,所述日志数据在生成
时是根据所述异常历史运行数据生成的。同样地,本实施例将所述异常日志信息上报至服务器。这样当对所述应用程序进行修复时,直接可从服务器获取到所述异常日志信息,然后从所述异常日志信息中获取到异常历史运行数据,进而对所述异常历史运行数据进行修复,从而实现所述应用程序的快速修复。在一种实施方式中,当所述应用程序出现其他类型的异常时(比如所述应用程序的内存不足),则同样可以采用上述通过获取所述日志数据的方式。由于所述日志数据是根据所述异常历史运行数据生成的,因此将所述日志数据作为异常日志信息上报至服务器,可在修复时直接根据所述异常日志信息即可对异常进行修复。
83.值得说明的是,本实施例同样可在终端系统中的framework层(框架层)设置日志获取程序,用于执行获取所述异常日志信息的操作。同样地,本实施例可通过设置代码的方式来触发所述日志获取程序运行,这些代码可向应用层发出通知,该通知即为触发所述日志获取程序运行,以对所述异常日志信息进行获取,从而实现快速获取所述异常日志信息的操作。
84.可见,本发明实施例首先根据应用程序的历史运行数据,判断所述应用程序是否发生异常,当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,也就是获取所述历史运行数据中存在异常的数据。然后,根据所述异常历史运行数据,确定与所述异常历史运行数据对应的异常类型。接着,根据所述异常类型,获取与所述异常类型对应的异常日志信息,然后将所述异常日志信息上报至服务器。由于本实施例中的异常日志信息是与异常类型对应的,且所述异常日志信息中包括有所述异常历史运行数据,因此对所述异常日志信息进行分析就可以快速确定出所述应用程序的异常类型,并且由于所述异常日志信息中包括有所述应用程序的异常历史运行数据,这样在对应用程序的修复时,可以快速地所述所述异常历史运行数据进行修复,为所述应用程序的修复提供了极大的便利,省了人力和时间成本,也加速了修复速度。
85.示例性设备
86.如图5中所示,本发明实施例提供一种异常日志信息上报装置,该装置包括:异常判断单元510、类型确定单元520以及信息上报单元530。具体地,所述异常判断单元510,用于根据应用程序的历史运行数据,判断所述应用程序是否发生异常。所述类型确定单元520,用于当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型。所述信息上报单元530,用于根据所述异常类型,获取与所述异常类型对应的异常日志信息,并将所述异常日志信息上报至服务器,其中,所述异常日志信息包括所述异常历史运行数据。
87.基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图6所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种异常日志信息上报方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
88.本领域技术人员可以理解,图6中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
89.在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
90.根据应用程序的历史运行数据,判断所述应用程序是否发生异常;
91.当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型;
92.根据所述异常类型,获取与所述异常类型对应的异常日志信息,并将所述异常日志信息上报至服务器,其中,所述异常日志信息包括所述异常历史运行数据。
93.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
94.综上所述,本发明公开了一种异常日志信息上报方法、智能终端及存储介质,所述方法包括:根据应用程序的历史运行数据,判断所述应用程序是否发生异常;当确定所述应用程序发生异常时,获取所述应用程序的异常历史运行数据,并确定与所述异常历史运行数据对应的异常类型;根据所述异常类型,获取与所述异常类型对应的异常日志信息,并将所述异常日志信息上报至服务器,其中,所述异常日志信息包括所述异常历史运行数据。本发明在应用程序发生异常时自动确定异常类型,并自动上报异常日志信息,为后续应用程序的异常定位与分析提供了极大的便利,节省了人力和时间成本,也加速了异常的修复速度。
95.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献