发明内容
为克服相关技术中存在的问题,本发明提供一种异常显示方法及装置。
根据本发明实施例的第一方面,提供一种异常显示方法,包括:
获取智能终端上显示屏的I/O接口的交互数据;
根据所述交互数据判断所述智能终端的运行状态是否为异常状态;
当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻;
根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息;
将所述异常程序信息展示在所述显示屏上。
可选地,所述根据所述交互数据判断所述智能终端的运行状态是否为异常状态,包括:
从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据;
判断所述预设时间段内相连续的多个交互数据之间的差异是否小于预设差异;
当所述所述预设时间段内相连续的多个交互数据之间的差异小于预设差异时,确定所述智能终端的运行状态为异常状态。
可选地,所述确定所述异常状态对应的异常时刻,包括:
获取所述多个交互数据中第一交互数据对应的时刻;
将所述多个交互数据中第一交互数据对应的时刻确定为异常时刻。
可选地,所述根据所述交互数据判断所述智能终端的运行状态是否为异常状态,包括:
从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据;
计算所述多个交互数据中任意相邻两个交互数据之间的变化量,得到所述多个交互数据之间的变化趋势;
当所述多个交互数据之间的变化趋势稳定时,确定所述智能终端的运行状态为异常状态。
可选地,所述确定所述异常状态对应的异常时刻,包括:
获取所述多个交互数据之间变化趋势稳定时对应的初始时刻;
将所述多个交互数据之间变化趋势稳定时对应的初始时刻确定为异常时刻。
可选地,所述根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息,包括:
获取所述智能终端的程序运行记录对应的时间信息;
查找与所述异常时刻对应的异常程序的代码;
将查找到的所述代码确定为所述异常程序信息。
可选地,所述确定与所述异常时刻对应的异常程序信息,还包括:
查找与所述异常时刻对应的异常程序的代码所在的位置;将所述位置确定为所述异常程序信息;
或者,
查找与所述异常时刻对应的异常程序的代码所关联的模块标识;将所述模块标识确定为所述异常程序信息;
或者,
查找与所述异常时刻对应的异常程序的代码所关联的错误日志;将所述错误日志确定为所述异常程序信息。
可选地,所述将所述异常程序信息展示在所述显示屏上,包括:
在与所述显示屏当前显示界面上显示叠加浮动界面;
在所述叠加浮动界面上显示所述异常程序信息。
根据本发明实施例的第二方面,提供一种异常显示装置,包括:
获取模块,用于获取智能终端上显示屏的I/O接口的交互数据;
判断模块,用于根据所述交互数据判断所述智能终端的运行状态是否为异常状态;
第一确定模块,用于当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻;
第二确定模块,用于根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息;
展示模块,用于将所述异常程序信息展示在所述显示屏上。
可选地,所述判断模块,包括:
第一选取子模块,用于从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据;
判断子模块,用于判断所述预设时间段内相连续的多个交互数据之间的差异是否小于预设差异;
第一确定子模块,用于当所述所述预设时间段内相连续的多个交互数据之间的差异小于预设差异时,确定所述智能终端的运行状态为异常状态。
可选地,所述第一确定模块,包括:
第一获取子模块,用于获取所述多个交互数据中第一交互数据对应的时刻;
第二确定子模块,用于将所述多个交互数据中第一交互数据对应的时刻确定为异常时刻。
可选地,所述判断模块,包括:
第二选取子模块,用于从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据;
计算子模块,用于计算所述多个交互数据中任意相邻两个交互数据之间的变化量,得到所述多个交互数据之间的变化趋势;
第三确定子模块,用于当所述多个交互数据之间的变化趋势稳定时,确定所述智能终端的运行状态为异常状态。
可选地,所述第一确定模块,包括:
第二获取子模块,用于获取所述多个交互数据之间变化趋势稳定时对应的初始时刻;
第四确定子模块,用于将所述多个交互数据之间变化趋势稳定时对应的初始时刻确定为异常时刻。
可选地,所述第二确定模块,包括:
第三获取子模块,用于获取所述智能终端的程序运行记录对应的时间信息;
查找子模块,用于查找与所述异常时刻对应的异常程序的代码;
第五确定子模块,用于将查找到的所述代码确定为所述异常程序信息。
可选地,所述第二确定模块,还包括:
第一查找确定子模块,用于查找与所述异常时刻对应的异常程序的代码所在的位置;将所述位置确定为所述异常程序信息;
或者,
第二查找确定模块,用于查找与所述异常时刻对应的异常程序的代码所关联的模块标识;将所述模块标识确定为所述异常程序信息;
或者,
第三查找确定模块,用于查找与所述异常时刻对应的异常程序的代码所关联的错误日志;将所述错误日志确定为所述异常程序信息。
可选地,所述展示模块,包括:
第一显示模块,用于在与所述显示屏当前显示界面上显示叠加浮动界面;
第二显示模块,用于在所述叠加浮动界面上显示所述异常程序信息。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明通过获取智能终端上显示屏的I/O接口的交互数据,根据所述交互数据判断所述智能终端的运行状态是否为异常状态,当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻,根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息,可以将所述异常程序信息展示在所述显示屏上。
本发明提供的该方法,能够出现系统故障死机时,自动在显示界面上显示出现异常的异常程序信息,便于研发人员根据异常程序信息确定查找导致本次死机的故障,进而便于解决问题,节省研发人员时间、精力,提高研发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图1所示,在本发明的一个实施例中,提供一种异常显示方法,包括以下步骤。
在步骤S101中,获取智能终端上显示屏的I/O接口的交互数据。
在本发明实施例中,智能终端可以指智能电视、电脑和智能手机等,显示屏可以指触摸屏或者普通的LCD显示屏、LED显示屏等等,I/O接口(input/output输入/输出端口)。
在该步骤中,可以获取向智能终端上显示屏发送的交互数据,也可以获取智能终端上显示屏输出的交互数据。
在步骤S102中,根据所述交互数据判断所述智能终端的运行状态是否为异常状态。
在该步骤中,可以根据交互数据本身数据的变化等与预设阈值范围的关系,判断智能终端的运行状态是否为异常状态,当超过预设阈值范围时,可以确定智能终端的运行状态为异常状态。
在步骤S103中,当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻。
在该步骤中,可以将确定为异常状态的时刻,确定为异常状态的异常时刻。
在步骤S104中,根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息。
在本发明实施例中,异常程序信息可以指异常程序的代码、异常程序的错误日志和异常程序所在的位置等等。
在步骤S105中,将所述异常程序信息展示在所述显示屏上。
本发明通过获取智能终端上显示屏的I/O接口的交互数据,根据所述交互数据判断所述智能终端的运行状态是否为异常状态,当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻,根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息,可以将所述异常程序信息展示在所述显示屏上。
本发明实施例提供的该方法,能够出现系统故障死机时,自动在显示界面上显示出现异常的异常程序信息,便于研发人员根据异常程序信息确定查找导致本次死机的故障,进而便于解决问题,节省研发人员时间、精力,提高研发效率。
在本发明的又一实施例中,所述步骤S102中,包括以下步骤。
在步骤S201中,从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据。
在本发明实施例中,对于每个交互数据,可以分别记录获取时间。
在该步骤中,可以将获取到的所有交互数据按照获取时间的先后顺序进行排序,然后在排序后的多个交互数据中,选取当前时刻之前预设时间段内连续的多个交互数据。
在步骤S202中,判断所述预设时间段内相连续的多个交互数据之间的差异是否小于预设差异。
在该步骤中,可以将预设时间段内相连续的多个交互数据进行比较,得到多个交互数据之间的差异,并判断得到的差异与预设差异之间的关系。
当所述所述预设时间段内相连续的多个交互数据之间的差异小于预设差异时,在步骤S203中,确定所述智能终端的运行状态为异常状态。
本发明通过从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据,判断所述预设时间段内相连续的多个交互数据之间的差异是否小于预设差异,当所述所述预设时间段内相连续的多个交互数据之间的差异小于预设差异时,确定所述智能终端的运行状态为异常状态。
本发明实施例提供的该方法,能够自动将多个连续的交互数据之间的差异小于预设差异,也就是多个连续交互数据相似度较高、或者基本相同时,确定智能终端的运行状态为异常状态。
在本发明的又一实施例中,所述步骤S103,包括以下步骤。
在步骤S301中,获取所述多个交互数据中第一交互数据对应的时刻。
在该步骤中,可以选取多个交互数据中获取时刻最早的第一交互数据,然后获取将该第一交互数据对应的获取时刻。
在步骤S302中,将所述多个交互数据中第一交互数据对应的时刻确定为异常时刻。
本发明通过获取所述多个交互数据中第一交互数据对应的时刻,可以将所述多个交互数据中第一交互数据对应的时刻确定为异常时刻。
本发明实施例提供的该方法,能够自动将第一个出现异常的交互数据对应的时刻确定为异常时刻,进而便于自动确定异常程序信息。
在本发明的又一实施例中,所述步骤S102中,包括以下步骤。
在步骤S401中,从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据。
在步骤S402中,计算所述多个交互数据中任意相邻两个交互数据之间的变化量,得到所述多个交互数据之间的变化趋势。
在该步骤中,可以比较每两个相邻的交互数据之间的差异,然后将比较得到的差异与预设差异阈值进行比较,由于数据之间具有一定的连续性,所以这里的差异可以相邻两个上一时刻的交互数据与下一时刻的交互数据之间的不同的数据,可以是一串二进制数值之间的差异,也可以是一串字符之间的差异等等,变化趋势可以指变化量持续增大的趋势,也可以变化量持续变小的趋势等等。
在步骤S403中,当所述多个交互数据之间的变化趋势稳定时,确定所述智能终端的运行状态为异常状态。
本发明通过从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据,计算所述多个交互数据中任意相邻两个交互数据之间的变化量,得到所述多个交互数据之间的变化趋势,当所述多个交互数据之间的变化趋势稳定时,可以确定所述智能终端的运行状态为异常状态。
本发明实施例提供的该方法,能够将每两个交互数据之间的变化量区域稳定时,也就是交互数据之间的变化量越来越小,可能直至没有时,可以确定智能终端的运行状态为异常状态。
在本发明的又一实施例中,所述步骤S103中,包括以下步骤。
在步骤S501中,获取所述多个交互数据之间变化趋势稳定时对应的初始时刻。
在该步骤中,可以根据多个交互数据之间的变化趋势绘制变化趋势图,然后获取在变化趋势图中曲线趋于稳定时的交互数据对应的获取时刻,并将该获取时刻确定为变化趋势稳定时对应的初始时刻。
在步骤S502中,将所述多个交互数据之间变化趋势稳定时对应的初始时刻确定为异常时刻。
本发明通过获取所述多个交互数据之间变化趋势稳定时对应的初始时刻,可以将所述多个交互数据之间变化趋势稳定时对应的初始时刻确定为异常时刻。
本发明实施例提供的该方法,能够将变化趋势稳定的初始时刻确定为异常时刻,便于根据异常时刻确定异常程序信息。
在本发明的又一实施例中,所述步骤S104,包括以下步骤、
在步骤S601中,获取所述智能终端的程序运行记录对应的时间信息。
在本发明实施例中,智能终端中的程序在运行时会产生程序运行记录,程序运行记录中的每条代码均有其对应的时间信息。
在步骤S602中,查找与所述异常时刻对应的异常程序的代码。
在该步骤中,可以根据异常时刻,查询程序运行记录中与该异常时刻对应的时间信息,然后在根据时间信息找到对应的异常程序的代码。
在步骤S603中,将查找到的所述代码确定为所述异常程序信息。
本发明通过首先获取所述智能终端的程序运行记录对应的时间信息,然后查找与所述异常时刻对应的异常程序的代码,最后将查找到的所述代码确定为所述异常程序信息。
本发明实施例提供的该方法,能够根据异常时刻在程序运行记录中自动查找对应的异常程序信息,便于将异常程序信息进行显示,进而便于研发人员知晓故障点的位置。
在本发明的又一实施例中,所述步骤S104,还包括:
在步骤S701中,查找与所述异常时刻对应的异常程序的代码所在的位置;将所述位置确定为所述异常程序信息。
在该步骤中,可以将异常程序的代码所在的位置,例如程序运行记录中的1034行,确定为异常程序信息。
或者,
在步骤S702中,查找与所述异常时刻对应的异常程序的代码所关联的模块标识;将所述模块标识确定为所述异常程序信息。
在本发明实施例中,由于目前通常都是用模块化编程的方式,程序多是模块化的,每个程序模块均设置入口地址、出口地址、函数名称等便于调用,所以异常程序的代码所关联的模块标识可以指程序模块的程序模块标识,例如,蓝牙数据传输程序模块的模块标识,无线数据传输程序模块的模块标识等。
或者,
在步骤S703中,查找与所述异常时刻对应的异常程序的代码所关联的错误日志;将所述错误日志确定为所述异常程序信息。
在该步骤中,可以根据异常时刻,查找在该异常时刻的系统的错误日志,然后将查找到的错误日志确定为异常程序信息。
本发明通过查找与所述异常时刻对应的异常程序的代码所在的位置;可以将所述位置确定为所述异常程序信息,或者,通过查找与所述异常时刻对应的异常程序的代码所关联的模块标识;可以将所述模块标识确定为所述异常程序信息,或者,查找与所述异常时刻对应的异常程序的代码所关联的错误日志;可以将所述错误日志确定为所述异常程序信息。
本发明实施例提供的该方法,能够自动将多种信息确定为异常程序信息,灵活性增加,便于研发人员确定故障点位置。
在本发明的又一实施例中,所述在步骤S105中,包括以下步骤。
在步骤S801中,在与所述显示屏当前显示界面上显示叠加浮动界面。
由于系统故障时显示屏当前显示的内容很可能会卡死,停止不动,所以这时可以在当前显示界面上叠加一个叠加浮动界面。
在步骤S802中,在所述叠加浮动界面上显示所述异常程序信息。
在该步骤中,可以将异常程序信息显示在叠加的叠加浮动界面。
本发明通过在与所述显示屏当前显示界面上显示叠加浮动界面,可以在所述叠加浮动界面上显示所述异常程序信息。
本发明实施例提供的该方法,能够在显示屏上当前显示界面卡死的情况下,在当前显示界面上叠加一个叠加浮动界面,然后在叠加浮动界面上显示异常程序信息。
如图2所示,在本发明的又一实施例中,提供一种异常显示装置,包括:获取模块11、判断模块12、第一确定模块13、第二确定模块14和展示模块15。
获取模块11,用于获取智能终端上显示屏的I/O接口的交互数据。
判断模块12,用于根据所述交互数据判断所述智能终端的运行状态是否为异常状态。
第一确定模块13,用于当智能终端的运行状态为异常状态时,确定所述异常状态对应的异常时刻。
第二确定模块14,用于根据所述智能终端的程序运行记录,确定与所述异常时刻对应的异常程序信息。
展示模块15,用于将所述异常程序信息展示在所述显示屏上。
在本发明的又一实施例中,所述判断模块,包括:第一选取子模块、判断子模块和第一确定子模块。
第一选取子模块,用于从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据。
判断子模块,用于判断所述预设时间段内相连续的多个交互数据之间的差异是否小于预设差异。
第一确定子模块,用于当所述所述预设时间段内相连续的多个交互数据之间的差异小于预设差异时,确定所述智能终端的运行状态为异常状态。
在本发明的又一实施例中,所述第一确定模块,包括:第一获取子模块和第二确定子模块。
第一获取子模块,用于获取所述多个交互数据中第一交互数据对应的时刻。
第二确定子模块,用于将所述多个交互数据中第一交互数据对应的时刻确定为异常时刻。
在本发明的又一实施例中,所述判断模块,包括:第二选取子模块、计算子模块和第三确定子模块。
第二选取子模块,用于从获取到的交互数据中,选取当前时刻前预设时间段内相连续的多个交互数据。
计算子模块,用于计算所述多个交互数据中任意相邻两个交互数据之间的变化量,得到所述多个交互数据之间的变化趋势。
第三确定子模块,用于当所述多个交互数据之间的变化趋势稳定时,确定所述智能终端的运行状态为异常状态。
在本发明的又一实施例中,所述第一确定模块,包括:第二获取子模块和第四确定子模块。
第二获取子模块,用于获取所述多个交互数据之间变化趋势稳定时对应的初始时刻;
第四确定子模块,用于将所述多个交互数据之间变化趋势稳定时对应的初始时刻确定为异常时刻。
在本发明的又一实施例中,所述第二确定模块,包括:第三获取子模块、查找子模块和第五确定子模块。
第三获取子模块,用于获取所述智能终端的程序运行记录对应的时间信息。
查找子模块,用于查找与所述异常时刻对应的异常程序的代码。
第五确定子模块,用于将查找到的所述代码确定为所述异常程序信息。
在本发明的又一实施例中,所述第二确定模块,还包括:第一查找确定子模块、第二查找确定模块或者第三查找确定模块。
第一查找确定子模块,用于查找与所述异常时刻对应的异常程序的代码所在的位置;将所述位置确定为所述异常程序信息;
或者,
第二查找确定模块,用于查找与所述异常时刻对应的异常程序的代码所关联的模块标识;将所述模块标识确定为所述异常程序信息;
或者,
第三查找确定模块,用于查找与所述异常时刻对应的异常程序的代码所关联的错误日志;将所述错误日志确定为所述异常程序信息。
在本发明的又一实施例中,所述展示模块,包括:第一显示模块和第二显示模块。
第一显示模块,用于在与所述显示屏当前显示界面上显示叠加浮动界面。
第二显示模块,用于在所述叠加浮动界面上显示所述异常程序信息。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。