CN113312263A - 异常监测方法和装置 - Google Patents
异常监测方法和装置 Download PDFInfo
- Publication number
- CN113312263A CN113312263A CN202110629730.8A CN202110629730A CN113312263A CN 113312263 A CN113312263 A CN 113312263A CN 202110629730 A CN202110629730 A CN 202110629730A CN 113312263 A CN113312263 A CN 113312263A
- Authority
- CN
- China
- Prior art keywords
- page
- information
- control
- list
- application program
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种异常监测方法和装置,属于故障检测技术领域。该异常监测方法包括接收用户对应用程序中第一控件的第一输入;响应于第一输入,确定在预设时间段内是否监测到响应信息;其中,响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;在未监测到响应信息的情况下,将运行第一控件时产生的异常信息上传至服务器。
Description
技术领域
本申请属于故障检测技术领域,具体涉及一种异常监测方法和装置。
背景技术
随着智能电子设备的不断普及,可供智能电子设备安装的APP(Application,应用程序)也越来越多,且每个应用程序中都设置有大量的控件。因此,如何及时监测用户触发控件时可能出现的异常情况,成为APP优化过程的一个关键问题。
现有技术中,进行异常监测的主要方式是,从业务角度出发,针对不同的业务场景设计不同的异常监测逻辑,也即预测业务可能出现的异常情况,进而针对可能的异常情况向服务器上报相关的异常信息。举例而言,对于APP中的账号登录界面,当用户点击登录按钮时,根据登录业务的具体条件进行判断,例如密码是否错误、账号是否存在风险等,进而依据具体的异常情况,利用不同的异常监测逻辑将异常信息上报至服务器。这样,使得异常监测逻辑不具通用性,且无法监测到一些潜在的异常情况,另外,由于异常监测代码与业务代码融合在一起,因此,后续对异常监测代码进行维护时,维护难度较大,成本较高。
发明内容
本申请实施例的目的是提供一种异常监测方法和装置,能够解决现有的异常监测逻辑不具通用性,且无法监测到潜在的异常情况,后续对相应监测代码的维护难度较大,成本较高的问题。
第一方面,本申请实施例提供了一种异常监测方法,该方法包括:
接收用户对应用程序中第一控件的第一输入;
响应于所述第一输入,确定在预设时间段内是否监测到响应信息;其中,所述响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;
在未监测到所述响应信息的情况下,将运行所述第一控件时产生的异常信息上传至服务器。
第二方面,本申请实施例提供了一种异常监测装置,该装置包括:
输入接收模块,用于接收用户对应用程序中第一控件的第一输入;
信息监测模块,用于响应于所述第一输入,确定在预设时间段内是否监测到响应信息;其中,所述响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;
信息上传模块,用于在未监测到所述响应信息的情况下,将运行所述第一控件时产生的异常信息上传至服务器。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,通过从输入-响应的角度出发,也即在接收到用户对应用程序中第一控件的第一输入之后,确定在预设时间段内是否监测到包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项响应信息,在未监测到响应信息的情况下,进行异常信息上传。这样,由于正常情况下用户每次输入后应用程序必然会有一定的响应,因此,如果未监测到任何响应信息,可以判定有极大概率属于异常情况,可向服务器进行上报,进而无需确定其具体属于哪种业务,就可以进行异常监测,对无法预测的异常情况也能进行监测和上报,因此,本申请实施例的异常监测逻辑具有通用性,且可以识别出潜在的异常情况。另外,由于异常监测代码与业务代码并无任何关联,因此,本申请实施例中异常监测代码的维护难度也较低,降低了代码维护成本。
附图说明
图1是根据一示例性实施例示出的异常监测方法的流程图之一;
图2是根据一示例性实施例示出的异常监测方法的流程图之二;
图3是根据一示例性实施例示出的异常监测方法的流程图之三;
图4是根据一示例性实施例示出的一种异常监测装置的结构框图;
图5是根据一示例性实施例示出的一种电子设备的结构框图;
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的异常监测方法、装置、电子设备及存储介质进行详细地说明。
本申请所提供的异常监测方法,可以应用于对控件输入时出现的异常情况进行监测的场景中。另外,本申请实施例提供的异常监测方法,执行主体可以为异常监测装置,或者该异常监测装置中的用于执行异常监测方法的控制模块。本申请实施例中以异常监测装置执行异常监测方法为例,说明本申请实施例提供的异常监测方法。
图1是根据一示例性实施例示出的一种异常监测方法的流程图。
如图1所示,该异常监测方法可以包括如下步骤:
步骤110,接收用户对应用程序中第一控件的第一输入。
这里,第一控件可以是应用程序中任一页面上设置的控件,该控件具体可以是按钮,当然也可以是其他支持用户输入的控件,在此不作限定。第一输入可以是用户对第一控件的点击输入,例如在聊天APP的登录页面上,用户可点击登录按钮,这样,设备可接收到用户对登录按钮的点击输入。
步骤120,响应于第一输入,确定在预设时间段内是否监测到响应信息。
其中,响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项。具体的,页面打开信息可以是基于当前显示页面打开新页面的响应信息;窗口弹出信息可以是基于当前显示页面弹出新的显示窗口时收到的响应信息;消息弹出信息可以是基于当前显示页面弹出提示消息时收到的响应信息,其中,弹出提示消息例如可以是弹出Toast;布局变化信息例如可以是当前显示页面中任意控件的位置发生变化,或者页面中的图文内容发生变化等情况下,收到的响应信息。
这里需要说明的是,窗口和消息的区别在于,窗口需要人为点击关闭按钮才能关闭窗口,消息则无需人为点击即可自动在一定时长后自动消失。
另外,考虑到应用程序卡顿的问题,可设置一个反应时间,也即预设时间段。该预设时间段可以是接收到第一输入之后的预设时长,例如在用户点击按钮之后的3秒内监测响应信息。具体的,可通过开启一个延迟任务来推迟检测流程。
在一个具体例子中,当用户点击按钮后,设备可检测在之后的3秒内是否发生过跳转新页面、弹出窗口、弹出消息、布局变化中的任意一种或几种情况,若是,则确定监测到响应信息,若否,则确定未监测到响应信息。
在一种可选实施方式中,在响应信息包括页面打开信息、窗口弹出信息或者消息弹出信息中的至少一项的情况下,上述步骤120具体可以包括:
获取系统的第一页面列表;其中,第一页面列表用于记录系统中已打开页面的页面数据;
创建第二页面列表,将第一页面列表中的页面数据复制到第二页面列表中;其中,第二页面列表对应的数据添加策略设置为在添加页面数据的情况下,发送响应信息;
将第一页面列表替换为第二页面列表;
在预设时间段内监听第二页面列表是否发送响应信息。
这里,对于安卓(Android)系统而言,系统中会维护一个页面列表,也即第一页面列表,该页面列表主要用于记录系统中当前已打开的所有页面的页面数据,每当有新的页面、窗口或消息被打开时,就会将相应的页面数据添加至该页面列表中。
由于系统中原始的页面列表,也即第一页面列表,并没有添加数据时进行通知的功能,因此,本申请实施例可通过创建第二页面列表,来代替第一页面列表,并对第二页面列表对应的数据添加接口的代码进行修改,使得第二页面列表能够在每次添加页面数据时,对外发送一个通知,也即发送响应信息。这样,只需监听第二页面列表是否在该预设时间段内发送响应信息,即可确定是否出现异常情况。
其中,获取系统的第一页面列表的方式可以是,使用窗口管理器(WindowManager)通过反射获取系统原生窗口对应的页面列表。
这样,通过创建第二页面列表,替换系统的第一页面列表,使得在有新的页面数据添加至列表时,能够及时发送响应信息,如此,只需监听第二页面列表是否在预设时间段内发送响应信息,即可确定是否出现异常。
在一种可选实施方式中,在响应信息包括页面打开信息的情况下,上述步骤120具体可以包括:
利用页面生命周期回调接口,确定在预设时间段内是否监听到页面打开信息。
这里,可在应用程序被打开时,首先注册Android全局的应用生命周期(ApplicationLifecycle),进而利用页面生命周期回调接口(ActivityLifecycleCallbacks)监听在预设时间段内是否有新的页面被打开,每当有新的页面被打开,应用层会收到相应的通知,也即监听到页面打开信息。
如此,通过利用页面生命周期回调接口,在预设时间段内监听页面打开信息,可以实现对跳转新页面的响应形式的监测。
步骤130,在未监测到响应信息的情况下,将运行第一控件时产生的异常信息上传至服务器。
这里,运行第一控件时产生的异常信息具体可以包括产生异常时该第一控件所在页面的名称、时间以及该第一控件的名称等。
示例性地,在未监测到响应信息的情况下,说明可能已出现异常情况,此时可将第一控件相关的信息作为异常信息上报给服务器;反之,在监测到响应信息的情况下,说明用户的输入已得到响应,没有出现异常情况,此时,可不上报异常信息。
另外,当服务器接收到的对应于同一控件的异常信息的数量低于设定值时,可认为是用户个人设备原因导致的响应异常,因此可不作处理;当服务器接收到的对应于同一控件的异常信息的数量累积到高于设定值后,可自动向该应用程序的后台维护人员发起告警,以及时通知后台维护人员对该控件进行检查和维护。
由此,通过从输入-响应的角度出发,也即在接收到用户对应用程序中第一控件的第一输入之后,确定在预设时间段内是否监测到包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项响应信息,在未监测到响应信息的情况下,进行异常信息上传。这样,由于正常情况下用户每次输入后应用程序必然会有一定的响应,因此,如果未监测到任何响应信息,可以判定有极大概率属于异常情况,可向服务器进行上报,进而无需确定其具体属于哪种业务,就可以进行异常监测,对无法预测的异常情况也能进行监测和上报,因此,本申请实施例的异常监测逻辑具有通用性,且可以识别出潜在的异常情况。另外,由于异常监测代码与业务代码并无任何关联,因此,本申请实施例中异常监测代码的维护难度也较低,降低了代码维护成本。
基于此,在一种可选实施方式中,在上述步骤110之后,本申请实施例提供的异常监测方法还可以包括:
获取运行第一控件时产生的异常信息;
将异常信息存储在缓存区中;
相应地,在将运行第一控件时产生的异常信息上传至服务器之前,本申请实施例提供的异常监测方法还包括:
从缓存区中获取异常信息。
这里,每当用户触发第一控件,可先将第一控件的异常信息存储在缓存区中,以便在出现无响应的异常情况时,直接可以上传与第一控件相关的异常信息。
在一个具体例子中,当按钮被点击时,可将该按钮相关的信息(包括当前页面名称、按钮名称等)收集后暂存到缓存区里,然后开启一个延迟任务,倒计时3秒,若3秒内没有任何响应,则3秒后自动读取缓存区中记录的信息,并上报至服务器。
需要说明的是,在从缓存区中获取到第一控件的异常信息并上传至服务器之后,在接收到服务器返回的确认信息的情况下,可清空缓存区中第一控件的异常信息。
这样,通过将第一控件的异常信息缓存在缓存区中,可方便在出现异常情况时,及时获取并上报与该控件相关的信息。
在一种可选实施方式中,在监测到响应信息的情况下,本申请实施例提供的异常监测方法还可以包括:
清空缓存区中存储的异常信息。
在一个具体例子中,当按钮被点击后3秒内发生过跳转新的页面、弹出窗口、弹出消息、或者当前界面的布局发生变化,则将缓冲区中的信息记录删除,并取消延迟任务,本次异常监测流程结束。
这样,在确认有响应的情况下,及时清空缓存区中存储的异常信息,可以节省内存资源。
为了更好地描述上述方案,基于上述各种实施方式,举一个具体例子,如图2所示,该异常监测方法可以包括步骤210-220,下面对此进行详细解释。
步骤210,点击按钮;
步骤220,将该按钮对应的信息写入缓存区;
步骤230,倒计时3秒,并确定在3秒内是否监测到响应信息,若是,则执行步骤240,若否,则执行步骤250;
步骤240,清空缓存区,取消倒计时;
步骤250,倒计时3秒后将缓存区中的信息上传至服务器。
由此,可实现从点击-响应的角度,判断控件触发过程是否异常,从而更具有通用性,同时,也降低了代码维护成本。
另外,在进行异常监测之前,还需要将异常监测代码插入相应的控件输入事件中,以通过运行该异常监测代码实现异常监测过程。在其中一种可能的实施例中,如图3所示,在上述步骤110之前,本申请实施例提供的异常监测方法还可以包括:步骤1101-1102,具体如下所示:
步骤1101,获取应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数。
其中,至少一个页面中包括第一控件。
这里,控件输入事件可以是能够触发第一控件的输入事件,例如,当针对第一控件的第一输入为点击第一控件的情况下,控件输入事件可以是点击事件。
示例性的,可首先获取该应用程序中已打开的所有页面,进而自动寻找每个页面中可以触发的控件,例如所有可以点击的按钮,由此,可以获取到与每个控件对应的控件输入事件的事件处理函数,例如点击事件对应事件处理函数,进而自动将异常监测代码自动添加至对应的事件处理函数中。
需要说明的是,异常监测代码的添加过程可以是永久性添加,也可以是临时添加,也即,每打开一个页面添加一次异常监测代码,当页面关闭或者应用程序关闭时,异常监测代码再自动删除,在此不做限定。
在一种可选实施方式中,上述步骤1101,具体可以包括:
利用页面生命周期回调接口,获取应用程序中打开的第一页面;
获取与第一页面对应的应用程序界面;
遍历应用程序界面中已打开的至少一个页面,获取至少一个页面中与控件输入事件对应的事件处理函数。
这里,由于在Android系统中,每当有一个新的页面被打开时,系统都会对外发送一条消息,此时,可通过页面生命周期回调接口监听该消息,每当页面打开时,就可以获取到当前打开的页面(也即Activity)。
另外,由于Android系统中,所有的页面布局都是从一个根节点嵌套衍生而来,其中,根节点可以是应用程序对应的最大的界面窗口,根节点下的各个子节点可以是该应用程序中已打开的各个页面。这样,通过调用页面生命周期回调接口可获取到当前打开的第一页面,并通过该第一页面获取到相应的应用程序界面也即根节点,依次遍历该根节点下的所有的子节点,也即遍历应用程序界面中已打开的所有页面,当发现某个子节点有中有点击事件时,可获取到该点击事件对应的事件处理函数。
这样,可通过当前打开的第一页面,获取到该页面对应的应用程序界面,进而依次遍历应用程序界面中已打开的所有页面,可以获取每个页面中与控件输入事件对应的事件处理函数,为实现异常监测代码的自动添加提供了基础。
步骤1102,在事件处理函数中的事件处理代码之前添加异常监测代码。
其中,异常监测代码用于实现异常监测方法。
示例性的,在获取到每个页面中的控件输入事件对应的事件处理流程后,可在该原始处理流程之前添加异常监测代码,最后将该组合后的流程重新设置给相应的控件。
这样,通过获取已打开的每个页面中与控件输入事件对应的事件处理函数,进而将异常监测代码添加至该事件处理函数,可以在用户触发控件后,利用事件处理函数处理该控件输入事件时进行异常情况的监测。另外,自动添加代码的方式,可节省人力,降低异常监测功能的开发成本。
基于相同的发明构思,本申请还提供了一种异常监测装置。下面结合图4对本申请实施例提供的异常监测装置进行详细说明。
图4是根据一示例性实施例示出的一种异常监测装置的结构框图。
如图4所示,异常监测装置400可以包括:
输入接收模块401,用于接收用户对应用程序中第一控件的第一输入;
信息监测模块402,用于响应于第一输入,确定在预设时间段内是否监测到响应信息;其中,响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;
信息上传模块403,用于在未监测到响应信息的情况下,将运行第一控件时产生的异常信息上传至服务器。
下面对上述异常监测装置400进行详细说明,具体如下所示:
在其中一个实施例中,在响应信息包括页面打开信息、窗口弹出信息或者消息弹出信息中的至少一项的情况下,上述信息监测模块402,具体可以包括:
列表获取子模块,用于获取系统的第一页面列表;其中,第一页面列表用于记录系统中已打开页面的页面数据;
列表创建子模块,用于创建第二页面列表,将第一页面列表中的页面数据复制到第二页面列表中;其中,第二页面列表对应的数据添加策略设置为在添加页面数据的情况下,发送响应信息;
列表替换子模块,用于将第一页面列表替换为第二页面列表;
信息监听子模块,用于在预设时间段内监听第二页面列表是否发送响应信息。
在其中一个实施例中,在响应信息包括页面打开信息的情况下,上述信息监测模块402,具体可以包括:
接口监听子模块,用于利用页面生命周期回调接口,确定在预设时间段内是否监听到页面打开信息。
在其中一个实施例中,上述异常监测装置400还可以包括:
信息获取模块,用于在接收用户对应用程序中第一控件的第一输入之后,获取运行第一控件时产生的异常信息;
信息缓存模块,用于将异常信息存储在缓存区中;
装置还包括:
信息读取模块,用于在将运行第一控件时产生的异常信息上传至服务器之前,从缓存区中获取异常信息。
在其中一个实施例中,在监测到响应信息的情况下,上述异常监测装置400还可以包括:
缓存清空模块,用于清空缓存区中存储的异常信息。
在其中一个实施例中,上述异常监测装置400还可以包括:
函数获取模块,用于在接收用户对应用程序中第一控件的第一输入之前,获取应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数;其中,至少一个页面中包括第一控件;
代码添加模块,用于在事件处理函数中的事件处理代码之前添加异常监测代码;其中,异常监测代码用于实现异常监测方法。
在其中一个实施例中,上述函数获取模块,具体可以包括:
页面获取子模块,利用页面生命周期回调接口,获取应用程序中打开的第一页面;
界面获取子模块,用于获取与第一页面对应的应用程序界面;
页面遍历子模块,用于遍历应用程序界面中运行的至少一个页面,获取至少一个页面中与控件输入事件对应的事件处理函数。
由此,通过从输入-响应的角度出发,也即在接收到用户对应用程序中第一控件的第一输入之后,确定在预设时间段内是否监测到包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项响应信息,在未监测到响应信息的情况下,进行异常信息上传。这样,由于正常情况下用户每次输入后应用程序必然会有一定的响应,因此,如果未监测到任何响应信息,可以判定有极大概率属于异常情况,可向服务器进行上报,进而无需确定其具体属于哪种业务,就可以进行异常监测,对无法预测的异常情况也能进行监测和上报,因此,本申请实施例的异常监测逻辑具有通用性,且可以识别出潜在的异常情况。另外,由于异常监测代码与业务代码并无任何关联,因此,本申请实施例中异常监测代码的维护难度也较低,降低了代码维护成本。
本申请实施例中的异常监测装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为网络附属存储器(Network AttachedStorage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的异常监测装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的异常监测装置能够实现图1至图3的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图5所示,本申请实施例还提供一种电子设备500,包括处理器501,存储器502,存储在存储器502上并可在所述处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述异常监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。
本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,用户输入单元607,用于接收用户对应用程序中第一控件的第一输入;
处理器610,用于响应于第一输入,确定在预设时间段内是否监测到响应信息;
网络模块602,用于在未监测到响应信息的情况下,将运行第一控件时产生的异常信息上传至服务器。
由此,通过从输入-响应的角度出发,也即在接收到用户对应用程序中第一控件的第一输入之后,确定在预设时间段内是否监测到包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项响应信息,在未监测到响应信息的情况下,进行异常信息上传。这样,由于正常情况下用户每次输入后应用程序必然会有一定的响应,因此,如果未监测到任何响应信息,可以判定有极大概率属于异常情况,可向服务器进行上报,进而无需确定其具体属于哪种业务,就可以进行异常监测,对无法预测的异常情况也能进行监测和上报,因此,本申请实施例的异常监测逻辑具有通用性,且可以识别出潜在的异常情况。另外,由于异常监测代码与业务代码并无任何关联,因此,本申请实施例中异常监测代码的维护难度也较低,降低了代码维护成本。
可选地,处理器610,还用于获取系统的第一页面列表;其中,第一页面列表用于记录系统中已打开页面的页面数据;创建第二页面列表,将第一页面列表中的页面数据复制到第二页面列表中;将第一页面列表替换为第二页面列表;
接口单元608,用于在预设时间段内监听第二页面列表是否发送响应信息。
可选地,处理器610,还用于利用页面生命周期回调接口,确定在预设时间段内是否监听到页面打开信息。
可选地,处理器610,还用于获取运行第一控件时产生的异常信息;将异常信息存储在缓存区中;从缓存区中获取异常信息。
可选地,处理器610,还用于清空缓存区中存储的异常信息。
可选地,处理器610,还用于获取应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数;在事件处理函数中的事件处理代码之前添加异常监测代码。
可选地,处理器610,还用于利用页面生命周期回调接口,获取应用程序中打开的第一页面;获取与第一页面对应的应用程序界面;遍历应用程序界面中运行的至少一个页面,获取至少一个页面中与控件输入事件对应的事件处理函数。
由此,可实现从点击-响应的角度,判断控件触发过程是否异常,从而更具有通用性,同时,也降低了代码维护成本。另外,自动添加代码的方式,可节省人力,降低异常监测功能的开发成本。
应理解的是,本申请实施例中,输入单元604可以包括图形处理器(GraphicsProcessing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器609可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述异常监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述异常监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种异常监测方法,其特征在于,包括:
接收用户对应用程序中第一控件的第一输入;
响应于所述第一输入,确定在预设时间段内是否监测到响应信息;其中,所述响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;
在未监测到所述响应信息的情况下,将运行所述第一控件时产生的异常信息上传至服务器。
2.根据权利要求1所述的方法,其特征在于,在所述响应信息包括所述页面打开信息、所述窗口弹出信息或者所述消息弹出信息中的至少一项的情况下,所述确定在预设时间段内是否监测到响应信息,包括:
获取系统的第一页面列表;其中,所述第一页面列表用于记录系统中已打开页面的页面数据;
创建第二页面列表,将所述第一页面列表中的所述页面数据复制到所述第二页面列表中;其中,所述第二页面列表对应的数据添加策略设置为在添加页面数据的情况下,发送所述响应信息;
将所述第一页面列表替换为所述第二页面列表;
在所述预设时间段内监听所述第二页面列表是否发送所述响应信息。
3.根据权利要求1所述的方法,其特征在于,在接收用户对应用程序中第一控件的第一输入之后,所述方法还包括:
获取运行所述第一控件时产生的异常信息;
将所述异常信息存储在缓存区中;
在将运行所述第一控件时产生的异常信息上传至服务器之前,所述方法还包括:
从所述缓存区中获取所述异常信息;
在监测到所述响应信息的情况下,所述方法还包括:
清空所述缓存区中存储的所述异常信息。
4.根据权利要求1所述的方法,其特征在于,在接收用户对应用程序中第一控件的第一输入之前,所述方法还包括:
获取所述应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数;其中,所述至少一个页面中包括所述第一控件;
在所述事件处理函数中的事件处理代码之前添加异常监测代码;其中,所述异常监测代码用于实现所述异常监测方法。
5.根据权利要求4所述的方法,其特征在于,所述获取所述应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数,包括:
利用页面生命周期回调接口,获取所述应用程序中打开的第一页面;
获取与所述第一页面对应的应用程序界面;
遍历所述应用程序界面中已打开的至少一个页面,获取所述至少一个页面中与控件输入事件对应的事件处理函数。
6.一种异常监测装置,其特征在于,包括:
输入接收模块,用于接收用户对应用程序中第一控件的第一输入;
信息监测模块,用于响应于所述第一输入,确定在预设时间段内是否监测到响应信息;其中,所述响应信息包括页面打开信息、窗口弹出信息、消息弹出信息或者布局变化信息中的至少一项;
信息上传模块,用于在未监测到所述响应信息的情况下,将运行所述第一控件时产生的异常信息上传至服务器。
7.根据权利要求6所述的装置,其特征在于,在所述响应信息包括所述页面打开信息、所述窗口弹出信息或者所述消息弹出信息中的至少一项的情况下,所述信息监测模块,包括:
列表获取子模块,用于获取系统的第一页面列表;其中,所述第一页面列表用于记录系统中已打开页面的页面数据;
列表创建子模块,用于创建第二页面列表,将所述第一页面列表中的所述页面数据复制到所述第二页面列表中;其中,所述第二页面列表对应的数据添加策略设置为在添加页面数据的情况下,发送所述响应信息;
列表替换子模块,用于将所述第一页面列表替换为所述第二页面列表;
信息监听子模块,用于在所述预设时间段内监听所述第二页面列表是否发送所述响应信息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
信息获取模块,用于在接收用户对应用程序中第一控件的第一输入之后,获取运行所述第一控件时产生的异常信息;
信息缓存模块,用于将所述异常信息存储在缓存区中;
所述装置还包括:
信息读取模块,用于在将运行所述第一控件时产生的异常信息上传至服务器之前,从所述缓存区中获取所述异常信息。
在监测到所述响应信息的情况下,所述装置还包括:
缓存清空模块,用于清空所述缓存区中存储的所述异常信息。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
函数获取模块,用于在接收用户对应用程序中第一控件的第一输入之前,获取所述应用程序中已打开的至少一个页面中,与控件输入事件对应的事件处理函数;其中,所述至少一个页面中包括所述第一控件;
代码添加模块,用于在所述事件处理函数中的事件处理代码之前添加异常监测代码;其中,所述异常监测代码用于实现所述异常监测方法。
10.根据权利要求9所述的装置,其特征在于,所述函数获取模块,包括:
页面获取子模块,利用页面生命周期回调接口,获取所述应用程序中打开的第一页面;
界面获取子模块,用于获取与所述第一页面对应的应用程序界面;
页面遍历子模块,用于遍历所述应用程序界面中运行的至少一个页面,获取所述至少一个页面中与控件输入事件对应的事件处理函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629730.8A CN113312263B (zh) | 2021-06-07 | 2021-06-07 | 异常监测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629730.8A CN113312263B (zh) | 2021-06-07 | 2021-06-07 | 异常监测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312263A true CN113312263A (zh) | 2021-08-27 |
CN113312263B CN113312263B (zh) | 2022-06-21 |
Family
ID=77377487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629730.8A Active CN113312263B (zh) | 2021-06-07 | 2021-06-07 | 异常监测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312263B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941546A (zh) * | 2022-11-29 | 2023-04-07 | 重庆长安汽车股份有限公司 | 系统接口的监控方法、装置、电子设备及存储介质 |
WO2024139823A1 (zh) * | 2022-12-30 | 2024-07-04 | Oppo广东移动通信有限公司 | 显示控制方法、显示控制装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140082092A1 (en) * | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Method of resolving a contact while composing text and/or email message |
CN104268055A (zh) * | 2014-09-01 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 一种程序异常的监控方法和装置 |
US20170123615A1 (en) * | 2015-10-30 | 2017-05-04 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for prohibiting notifications in application window |
US20170228311A1 (en) * | 2014-03-03 | 2017-08-10 | Lg Electronics Inc. | Method For Verifying Operations For Common Application Development Of In-Vehicle Infotainment System And Mobile Terminal |
CN109101297A (zh) * | 2017-06-20 | 2018-12-28 | 北京国双科技有限公司 | 一种页面的标识方法及装置 |
CN109376071A (zh) * | 2018-09-03 | 2019-02-22 | 平安普惠企业管理有限公司 | 应用软件异常反馈方法、装置、计算机设备及存储介质 |
CN109445966A (zh) * | 2018-11-06 | 2019-03-08 | 网易传媒科技(北京)有限公司 | 事件处理方法、装置、介质和计算设备 |
-
2021
- 2021-06-07 CN CN202110629730.8A patent/CN113312263B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140082092A1 (en) * | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Method of resolving a contact while composing text and/or email message |
US20170228311A1 (en) * | 2014-03-03 | 2017-08-10 | Lg Electronics Inc. | Method For Verifying Operations For Common Application Development Of In-Vehicle Infotainment System And Mobile Terminal |
CN104268055A (zh) * | 2014-09-01 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 一种程序异常的监控方法和装置 |
US20170123615A1 (en) * | 2015-10-30 | 2017-05-04 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for prohibiting notifications in application window |
CN109101297A (zh) * | 2017-06-20 | 2018-12-28 | 北京国双科技有限公司 | 一种页面的标识方法及装置 |
CN109376071A (zh) * | 2018-09-03 | 2019-02-22 | 平安普惠企业管理有限公司 | 应用软件异常反馈方法、装置、计算机设备及存储介质 |
CN109445966A (zh) * | 2018-11-06 | 2019-03-08 | 网易传媒科技(北京)有限公司 | 事件处理方法、装置、介质和计算设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941546A (zh) * | 2022-11-29 | 2023-04-07 | 重庆长安汽车股份有限公司 | 系统接口的监控方法、装置、电子设备及存储介质 |
WO2024139823A1 (zh) * | 2022-12-30 | 2024-07-04 | Oppo广东移动通信有限公司 | 显示控制方法、显示控制装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113312263B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176960B (zh) | 一种用户操作行为跟踪方法、装置、设备及存储介质 | |
CN113312263B (zh) | 异常监测方法和装置 | |
CN103812990B (zh) | 终端设备及其控制方法 | |
CN113114845B (zh) | 通知消息显示方法和装置 | |
JP2023540340A (ja) | 通知メッセージ表示制御方法、装置、電子機器と可読記憶媒体 | |
CN113141293A (zh) | 消息显示方法、装置及电子设备 | |
CN107577471A (zh) | 一种应用控制方法及移动终端 | |
CN105893471B (zh) | 一种数据处理方法及电子设备 | |
CN113992615B (zh) | 撤回消息的显示方法、装置、电子设备及存储介质 | |
CN113709306B (zh) | 会话处理方法、装置及电子设备 | |
CN114626813A (zh) | 用于调度平台的任务回溯方法、装置、终端及存储介质 | |
CN112416212B (zh) | 程序访问方法、装置、电子设备和可读存储介质 | |
CN112287706B (zh) | 扫码交互方法及装置 | |
CN106201464A (zh) | 一种冻结应用的应用图标处理方法及移动终端 | |
CN112764638B (zh) | 显示控制方法、电子设备和可读存储介质 | |
CN112764628B (zh) | 内容显示方法、装置、电子设备和存储介质 | |
CN111694477B (zh) | 标签处理方法、装置及电子设备 | |
CN113961431A (zh) | 业务监控方法及其装置 | |
CN113703993A (zh) | 服务消息处理方法、装置及设备 | |
CN111338960A (zh) | 埋点数据采集方法及其装置 | |
CN111639007A (zh) | 一种数据处理方法、装置、终端及计算机可读存储介质 | |
CN113079250B (zh) | 消息处理方法和消息处理装置 | |
CN112732326B (zh) | 信息显示方法及装置 | |
CN117407252A (zh) | 网页使用时长获取方法、装置、电子设备及存储介质 | |
CN112214139A (zh) | 一种应用管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |