CN107729167A - 应用异常处理方法和装置 - Google Patents
应用异常处理方法和装置 Download PDFInfo
- Publication number
- CN107729167A CN107729167A CN201610653675.5A CN201610653675A CN107729167A CN 107729167 A CN107729167 A CN 107729167A CN 201610653675 A CN201610653675 A CN 201610653675A CN 107729167 A CN107729167 A CN 107729167A
- Authority
- CN
- China
- Prior art keywords
- application process
- abnormal
- server
- abnormity
- frequency
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种应用异常处理方法和装置,该方法包括:操作第一应用进程;当异常文件夹中新增由操作***在所述第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到所述异常文件;根据所述异常文件生成异常信息并上报至服务器;接收所述服务器反馈的停止操作指令,所述停止操作指令根据上报的所述异常信息生成;根据所述停止操作指令停止操作所述第一应用进程。本发明提供的应用异常处理方法和装置,即使第一应用进程本身崩溃也可以检测到异常,并可一定程度上避免因对第一应用进程的不当操作导致第一应用进程发生异常。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用异常处理方法和装置。
背景技术
随着终端硬件配置的不断发展,终端上可以运行种类繁多、可实现各种功能的应用,比如拍照应用、视频应用、音乐应用或者游戏应用等。应用在运行时难免会发生异常的情况,将应用在发生异常时产生的异常信息保存下来,通过某种渠道反馈给开发人员,有利于开发人员根据该异常信息开发新版本的应用,以克服旧版本的应用所存在的问题。
按照目前所采用的应用异常处理方式,应用进程在运行时会设置各种可能的异常情况所对应的处理方式,当应用进程发生某种异常时,便会采用该异常情况下的处理方式上报相应的异常信息至服务器。然而,目前的应用异常处理方式需要应用在发生异常时应用进程本身能够运行,当应用进程本身发生崩溃时就无法上报异常信息。
发明内容
基于此,有必要针对目前的应用异常处理方式在应用进程本身发生崩溃时就无法上报异常信息的技术问题,提供一种应用异常处理方法和装置。
一种应用异常处理方法,包括:
操作第一应用进程;
当异常文件夹中新增由操作***在所述第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到所述异常文件;
根据所述异常文件生成异常信息并上报至服务器;
接收所述服务器反馈的停止操作指令,所述停止操作指令根据上报的所述异常信息生成;
根据所述停止操作指令停止操作所述第一应用进程。
一种应用异常处理装置,包括:
操作模块,用于操作第一应用进程;
监测模块,用于当异常文件夹中新增由操作***在所述第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到所述异常文件;
上报模块,用于根据所述异常文件生成异常信息并上报至服务器;
接收模块,用于接收所述服务器反馈的停止操作指令,所述停止操作指令根据上报的所述异常信息生成;
所述操作模块还用于根据所述停止操作指令停止操作所述第一应用进程。
上述应用异常处理方法和装置,当第一应用进程发生异常时,由操作***在异常文件夹中新增相应的异常文件,通过监测进程可监测到该异常文件,从而监测到第一应用进程发生异常。即使第一应用进程本身崩溃,也可以通过操作***生成记录该次崩溃的异常文件,进而通过监测进程监测到异常,并根据异常文件进行异常信息的上报。而且,当操作第一应用进程后,若第一应用进程发生异常,可通过服务器根据上报的异常信息触发停止操作指令,进而停止操作第一应用进程,可一定程度上避免因对第一应用进程的不当操作导致第一应用进程发生异常。
附图说明
图1为一个实施例中应用异常处理***的应用环境图;
图2为一个实施例中终端的结构示意图;
图3为一个实施例中服务器的结构示意图;
图4为一个实施例中应用异常处理方法的流程示意图;
图5为另一个实施例中应用异常处理方法的时序图;
图6为一个实施例中广告信息拦截配置界面的示意图;
图7为一个实施例中服务器远程控制终端关闭广告信息拦截功能的示意图;
图8为一个实施例中应用异常处理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中应用异常处理***的应用环境图。参照图1,该应用异常处理***包括终端110和服务器120,终端110和服务器120之间通过网络连接通信。终端110可以是多个。其中,终端110可用于操作第一应用进程;当异常文件夹中新增由操作***在第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到异常文件;根据异常文件生成异常信息并上报至服务器120。服务器120可用于根据上报的异常信息生成停止操作指令,并向终端110返回停止操作指令。终端110可用于接收服务器120反馈的停止操作指令;根据停止操作指令停止操作第一应用进程。
图2为一个实施例中终端的内部结构示意图。如图2所示,该终端包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,终端的非易失性存储介质存储有操作***,还包括一种应用异常处理装置,该应用异常处理装置用于实现一种应用异常处理方法。终端的处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的应用异常处理装置的运行提供环境。终端的内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种应用异常处理方法。网络接口用于与服务器进行网络通信,如向服务器上报异常信息,接收服务器发送的停止操作指令等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中服务器的内部结构示意图。如图3所示,该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作***、数据库和适用于服务器的应用异常处理装置,数据库可用于存储历史异常信息等数据,该应用异常处理装置用于实现一种适用于服务器的应用异常处理方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的应用异常处理装置的运行提供环境。服务器的网络接口用于据以与外部的终端通过网络连接通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图4为一个实施例中应用异常处理方法的流程示意图。参照图2,本实施例以该方法应用于上述图1中的终端110来举例说明。该应用异常处理方法具体包括如下步骤:
S402,操作第一应用进程。
其中,第一应用是需要监测其异常的应用,可以是拍照应用、视频应用、音乐应用或者游戏应用等。第一应用进程是指第一应用的进程,该进程是第一应用的实例。操作可以是对第一应用进程中代码的变更或者数据的修改等。终端可通过第二应用进程操作第一应用进程。第一应用进程可以是指定的应用进程,也可以是除去第二应用进程的其它任意应用进程。
在一个实施例中,步骤S402包括:向第一应用进程中注入代码。其中,代码的注入是指将具有特定功能的代码添加到正在运行的应用进程中执行的过程。代码注入可使用钩子(Hook)函数或者CreateRemoteThread(远程线程注入)函数等实现。
代码是可执行的,可用于在第一应用进程中执行时实现动作拦截或者数据修改等功能。在一个实施例中,代码用于在执行时拦截第一应用进程触发的广告信息。广告信息是指向用户推送的信息,比如推荐商品的商品广告信息、推荐专业服务的服务广告信息或者推荐商业场所的商业场所广告信息等。拦截第一应用进程触发的广告信息是将广告信息不予以呈现,可以是拦截用于获取广告信息的网络请求,也可以是拦截展示广告信息的动作。代码在执行时可通过关键字匹配来识别广告信息。
S404,当异常文件夹中新增由操作***在第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到异常文件。
具体地,终端通过操作***创建***进程,该***进程具有***权限;在第一应用进程发生异常时,比如第一应用进程崩溃时,终端通过***进程获取到在第一应用进程发生异常时所生成的异常文件,并将该异常文件新增到异常文件夹中。终端可通过区别于第一应用进程且区别于***进程的监测进程监测异常文件夹,从而监测到异常文件夹中新增的异常文件。
其中,第一应用进程发生的异常是指第一应用进程未能按照被设计的正常目标运行时的状态,包括未捕获异常(Uncaught Exception)和已设置异常处理者的可捕获异常。异常文件是记录第一应用进程所产生异常的文件,可以包括第一应用进程发生异常时的堆栈信息。该异常文件记录了异常类型、异常发生的位置以及导致异常的原因等信息。
在一个实施例中,第一应用进程被第二应用进程所操作;监测进程由第二应用进程启动;第二应用进程和监测进程具有跨应用访问的权限。其中,跨应用访问的权限是指一个应用进程可访问另一个应用进程的应用空间。第二应用进程和监测进程具体可以获得root权限或者system权限,从而具有跨应用访问的权限。
S406,根据异常文件生成异常信息并上报至服务器。
具体地,异常信息可由第二应用进程所创建的监测进程根据异常文件生成,并由该监测进程直接上报至服务器。异常信息也可由第二应用进程所创建的监测进程根据异常文件生成并传递至第二应用进程,进而由第二应用进程上报至服务器。异常信息可包括异常文件的内容,也可以包括根据异常文件统计的信息,比如统计的第二应用进程发生异常的总次数,或者在指定周期内第二应用进程发生异常的次数。
S408,接收服务器反馈的停止操作指令,停止操作指令根据上报的异常信息生成。
具体地,服务器在接收到异常信息后,可直接根据该异常信息判断是否满足停止操作的条件,若满足则生成停止操作指令,进而向此次上报异常信息的终端反馈此停止操作指令。停止操作的条件具体可以为是否因操作第一应用进程而导致此次异常的判断条件。
在一个实施例中,服务器在接收到异常信息后,还可根据此次接收到的异常信息,结合此次上报异常信息的终端所上报的历史异常信息,或者结合包括此次上报异常信息的终端的多个终端所上报的历史异常信息,判断是否满足停止操作的条件,若满足则生成停止操作指令,进而向此次上报异常信息的终端反馈此停止操作指令。其中,此次接收到的异常信息与历史异常信息结合,具体可以是此次接收到的异常信息与历史异常信息进行比较,以判断是否满足停止操作的条件。
S410,根据停止操作指令停止操作第一应用进程。
具体地,终端在接收到停止操作指令后,可通过第二应用进程对停止操作指令进行响应,从而停止对第一应用进程的操作。
在一个实施例中,若步骤S402包括:向第一应用进程中注入代码;步骤S410包括:根据停止操作指令停止向第一应用进程中注入代码。本实施例中,若接收到停止操作指令,则后续在第一应用进程运行时,第二应用进程不再向第一应用进程中注入代码,通过服务器远程控制终端上向第一应用进程注入代码的行为,可防止因强行向第一应用进程注入代码导致第一应用进程发生异常。
上述应用异常处理方法,当第一应用进程发生异常时,由操作***在异常文件夹中新增相应的异常文件,通过监测进程可监测到该异常文件,从而监测到第一应用进程发生异常。即使第一应用进程本身崩溃,也可以通过操作***生成记录该次崩溃的异常文件,进而通过监测进程监测到异常,并根据异常文件进行异常信息的上报。而且,当操作第一应用进程后,若第一应用进程发生异常,可通过服务器根据上报的异常信息触发停止操作指令,进而停止操作第一应用进程,可一定程度上避免因对第一应用进程的不当操作导致第一应用进程发生异常。
参照图5,图5为一个实施例中应用异常处理方法的时序图。本实施例的应用异常处理方法具体包括如下步骤:
S502,通过第二应用进程启动监测进程。
其中,第二应用进程是第二应用的进程,第二应用是区别于第一应用和操作***的应用。第二应用可以是专门实施应用异常处理方法的应用,或者是集成有实施应用异常处理方法的软件模块的应用。第二应用进程和监测进程可以均具有跨应用访问的权限,具体可以具有root权限或者system权限。
S504,通过监测进程监测异常文件夹。
具体地,终端可通过监测进程实时或者定期监测异常文件夹,具体可监测异常文件夹是否存在新增的异常文件。
S506,通过第二应用进程向第一应用进程中注入代码,代码携带有第二应用进程的应用特征。
具体地,代码注入可使用钩子(Hook)函数或者CreateRemoteThread(远程线程注入)函数等实现。代码用于在第一应用进程中执行时实现动作拦截或者数据修改等功能。代码具体可用于在执行时拦截第一应用进程触发的广告信息。第二应用进程的应用特征,具体可以是第二应用的标识,比如包名或者名称,还可以是专属于第二应用的数据结构特征等。向第一应用进程中注入代码是步骤S402的具体步骤。
S508,通过操作***的***进程,在第一应用进程发生异常时生成异常文件并保存在异常文件夹中。
具体地,第一应用进程若在运行时发生异常,则会通过操作***的异常处理机制,向操作***专门用于监测应用异常的***进程发送异常消息。该异常消息会携带有前述的应用特征,还会包括异常发生时的环境信息。***进程根据该异常消息生成异常文件,并将异常文件保存至异常文件夹。
S510,通过监测进程监测到异常文件夹中新增的异常文件。
S512,通过监测进程,当在异常文件中检测到应用特征后,根据异常文件生成异常信息并上报至服务器。
具体地,终端可通过监测进程,采用关键词匹配的方式,检测新增的异常文件中是否存在前述的应用特征。若存在应用特征,则终端可通过监测进程并根据新增的异常文件生成异常信息并上报至服务器。若不存在应用特征,则终端可通过监测进程返回步骤S504继续监测异常文件夹。
S514,通过第二应用进程接收服务器反馈的停止注入指令,停止注入指令根据上报的异常信息生成;根据停止注入指令停止向第一应用进程中注入代码。
其中,停止注入指令是一种停止操作指令。具体地,服务器在接收到异常信息后,可直接根据该异常信息判断是否满足停止注入代码的条件,若满足则生成停止注入指令,进而向此次上报异常信息的终端反馈此停止注入指令。停止注入代码的条件具体可以为是否因向第一应用进程中注入代码而导致此次异常的判断条件。
进一步地,终端可通过监测进程接收到停止注入指令并传递至第二应用进程,从而通过第二应用进程接收到停止注入指令。终端还可以直接通过第二应用进程接收服务器反馈的停止注入指令。终端通过第二应用进程对停止注入指令进行响应,后续在第一应用进程运行时不会再向第一应用进程中注入代码。根据停止操作指令停止向第一应用进程中注入代码是步骤S410的具体步骤。
本实施例中,通过第二应用进程向第一应用进程中注入代码,使得第一应用进程可以具有第一应用进程本身不具备的功能。若注入代码后第二应用发生异常,将异常信息上报至服务器后,接收服务器根据该异常信息触发的停止注入指令,进而停止向第一应用进程中注入代码,可一定程度上避免因注入代码而导致第一应用进程异常,保证了注入代码的可用性。进一步地,当在异常文件中检测到应用特征后,根据异常文件生成异常信息并上报至服务器,可以筛选出有可能是注入代码导致的异常并进行上报,过滤掉无关的异常文件,可提高代码注入控制的准确性。
在一个实施例中,停止操作指令由服务器在第一变化量大于第一预设变化量时触发;其中,第一变化量为第二异常次数均值相较于第一异常次数均值的变化量;所述第一异常次数均值为根据第一时间段内上报的异常信息统计的异常次数均值;所述第二异常次数均值为根据第二时间段内上报的异常信息统计的异常次数均值;所述第一时间段在所述第二时间段之前;操作所述第一应用进程的时间点大于所述第一时间段的最小边界值,且小于所述第二时间段的最大边界值。
具体地,服务器可确定第一时间段和第二时间段,使得操作所述第一应用进程的时间点大于所述第一时间段的最小边界值,且小于所述第二时间段的最大边界值。其中,操作所述第一应用进程的时间点还可以大于等于第一时间段的最大边界值,且小于第二时间段的最小边界值。若第一时间段和第二时间段邻接,则操作所述第一应用进程的时间点可以是第一时间段和第二时间段的邻接时间点。第一时间段和第二时间段各自的时间长度可以相等。
进一步地,服务器可获取对应第一时间段的第一异常次数均值,并获取对应第二时间段的第二异常次数均值。且第一异常次数均值可预先或者在需要时根据第一时间段内上报的异常信息统计得到,第二异常次数均值可预先或者在需要时根据第二时间段内上报的异常信息统计得到。
更进一步地,服务器可将第一异常次数均值减去第二异常次数均值得到第一变化量。服务器比较第一变化量和第一预设变化量的大小,若第一变化量大于第一预设变化量则触发停止操作指令,若第一变化量小于第一预设变化量则可以无任何动作。
其中,统计所用的异常信息可以是相同终端上报的异常信息,也可以是各个终端上报的异常信息的集合。时间段比如48小时、24小时或者12小时等。异常次数均值可以是相应时间段内异常次数的算术平均值或者加权平均值。
本实施例中,分时间段统计异常次数均值,各个时间段内异常次数均值的变化量可以反映终端发生异常的次数是否在正常范围内。如果第一变化量大于第一预设变化量,表示在操作第一应用进程后,异常次数整体上发生了较大的增长,很有可能是由于操作第一应用进程而导致异常次数增多,此时触发停止操作指令可以提高对第一应用进程进行操作的安全。
举例说明,服务器可统计每天的异常次数均值,对于相邻的第一天和第二天,若在第一天或者第二天时操作第一应用进程,而且第二天的异常次数均值比第一天的异常次数均值有显著增长,那么可认定异常次数增长是由于操作第一应用进程所引起的,此时触发停止操作指令,使得终端停止对第一应用进程的操作。
在一个实施例中,在步骤S410之后,一种应用异常处理方法还包括:接收服务器发送的开启操作指令;开启操作指令由服务器在第二变化量小于第二预设变化量时触发;其中,第二变化量为第四异常次数均值相较于第三异常次数均值的变化量;所述第三异常次数均值为根据第三时间段内上报的异常信息统计的异常次数均值;所述第四异常次数均值为根据第四时间段内上报的异常信息统计的异常次数均值;所述第三时间段在所述第四时间段之前;触发所述停止操作指令的时间点大于所述第三时间段的最小边界值,且小于所述第四时间段的最大边界值;根据开启操作指令开始执行步骤S402。
具体地,服务器可确定第三时间段和第四时间段,使得触发所述停止操作指令的时间点大于所述第三时间段的最小边界值,且小于所述第四时间段的最大边界值。其中,触发所述停止操作指令的时间点还可以大于等于第三时间段的最大边界值,且小于第四时间段的最小边界值。若第三时间段和第四时间段邻接,则触发所述停止操作指令的时间点可以是第三时间段和第四时间段的邻接时间点。第三时间段和第四时间段各自的时间长度可以相等。
进一步地,服务器可获取对应第三时间段的第三异常次数均值,并获取对应第四时间段的第四异常次数均值。且第三异常次数均值可预先或者在需要时根据第三时间段内上报的异常信息统计得到,第四异常次数均值可预先或者在需要时根据第四时间段内上报的异常信息统计得到。
再进一步地,服务器可将第三异常次数均值减去第四异常次数均值得到第二变化量。服务器比较第二变化量和第二预设变化量的大小,若第二变化量小于第二预设变化量则触发开启操作指令,若第二变化量大于第二预设变化量则可以确认触发停止操作指令是有效的。其中,开启操作指令是用于开启对第一应用进程进行操作的功能的指令。终端在根据停止操作指令停止操作第一应用进程后,若接收到该开启操作指令,则再重新开始操作第一应用进程。
本实施例中,分时间段统计异常次数均值,各个时间段内异常次数均值的变化量可以反映终端发生异常的次数是否在正常范围内。如果第二变化量小于第二预设变化量,表示在停止对第一应用进程的操作后,异常次数整体上没有太大变化,说明停止对第一应用进程的操作并没有带来异常发生次数的改善,已触发的停止操作指令是无效的,此时触发开启操作指令可以重新触发对第一应用进程的操作,纠正误判。
举例说明,服务器可统计每天的异常次数均值,对于相邻的第一天和第二天,若在第一天或者第二天时触发停止操作指令,而且第二天的异常次数均值比第一天的异常次数均值变化很小,那么可认定停止对第一应用进程的操作并没有带来异常发生次数的改善,此时触发开启操作指令并发送到终端执行。
在一个实施例中,前述的应用异常处理方法应用于多个终端;停止操作指令由服务器在根据多个终端所上报的异常信息分析出异常分布特征后,在分析出的异常分布特征符合公共异常分布特征时触发并反馈至当前开启对第一应用进程进行操作的功能的终端。
其中,异常分布特征是反映异常在不同的终端环境下分布情况的特征。终端环境比如终端的硬件环境和操作***环境,硬件环境可通过终端机型区分,操作***环境可通过操作***版本号区分。公共异常分布特征是指被判定为公共异常的异常所具备的分布特征。公共异常是存在于超过预设种类数的终端环境的异常,具体可以是存在于超过预设种类数的终端环境且每种终端环境下出现的次数超过预设次数的异常。
具体地,终端可根据多个终端所上报的异常信息,分析出反映异常实际分布的异常分布特征,进而与公共异常分布特征进行比较。若分析出的异常分布特征与公共异常分布特征匹配,比如分析出存在该异常的终端环境超过预设种类数,且每种终端环境下出现异常的次数均超过预设次数,则触发停止操作指令,并将停止操作指令反馈至当前开启对第一应用进程进行操作的功能的终端。
本实施例中,当分析出的异常分布特征符合公共异常分布特征时,说明此次异常不是个体问题而是公共问题,此时向当前开启对第一应用进程进行操作的功能的终端,使得相应终端停止操作第一应用进程,可有效避免公共异常的广泛出现,可有效控制应用异常的发生。
在一个实施例中,停止操作指令由服务器触发时,使得服务器将在配置文件中用于触发对所述第一应用进程的操作的配置项配置为关闭,所述配置文件用于在安装用于操作所述第一应用进程的应用时进行初始化配置。
具体地,用于操作第一应用进程的应用如上述的第二应用,终端在安装第二应用时,需要从服务器下载配置文件,根据配置文件完成第二应用的初始化配置。服务器在触发操作指令时,将该配置文件中用于触发操作第一应用进程的配置项配置为关闭。其它还未安装第二应用的终端在后续安装第二应用时,将默认停止对第一应用进程进行操作,可有效避免公共异常出现在新增用户的终端上,可有效控制应用异常的发生。
在一个实施例中,停止操作指令由服务器在第一变化量大于第一预设变化量时,根据多个终端所上报的异常信息分析出异常分布特征后,并在分析出的异常分布特征符合公共异常分布特征时触发,并被反馈至当前开启对第一应用进程进行操作的功能的终端。
下面用一个具体应用场景来说明上述应用异常处理方法的原理。具体地,终端A和终端B上运行第二应用进程,第二应用进程可提供如图6所示的广告信息拦截配置界面,可用于针对每个第一应用进程设置是否开启拦截广告信息的功能。第二应用进程启动监测进程,并由监测进程监测异常文件夹。第二应用进程向第一应用进程注入用于拦截广告信息的代码。当第一应用进程发生异常时,操作***的***进程将形成异常文件新增到异常文件夹中。监测进程监测到异常文件夹中新增的异常文件,从而形成异常信息上报至服务器。参照图7,若上报异常信息的终端A和终端B在当天的异常次数均值超过往常每天的异常次数均值,则服务器可继续根据上报的异常信息判断当前异常是否为公共问题。若是公共问题则向当前开启拦截广告信息功能的所有终端如终端A和终端B发送停止注入指令,使得相应终端关闭针对第一应用进程的广告信息拦截功能。同时,服务器还可以将安装用于拦截广告信息功能的应用时所需的配置文件中针对第一应用进程的广告信息拦截功能的配置项配置为关闭,后续安装该用于拦截广告信息功能的应用的终端如终端C和终端D将默认关闭针对第一应用进程的广告信息拦截功能。
如图8所示,在一个实施例中,提供了一种应用异常处理装置800,包括:操作模块810、监测模块820、上报模块830和接收模块840。
操作模块810,用于操作第一应用进程。
监测模块820,用于当异常文件夹中新增由操作***在第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到异常文件。
上报模块830,用于根据异常文件生成异常信息并上报至服务器。
接收模块840,用于接收服务器反馈的停止操作指令,停止操作指令根据上报的异常信息生成。
操作模块810还用于根据停止操作指令停止操作第一应用进程。
上述应用异常处理装置800,当第一应用进程发生异常时,由操作***在异常文件夹中新增相应的异常文件,通过监测进程可监测到该异常文件,从而监测到第一应用进程发生异常。即使第一应用进程本身崩溃,也可以通过操作***生成记录该次崩溃的异常文件,进而通过监测进程监测到异常,并根据异常文件进行异常信息的上报。而且,当操作第一应用进程后,若第一应用进程发生异常,可通过服务器根据上报的异常信息触发停止操作指令,进而停止操作第一应用进程,可一定程度上避免因对第一应用进程的不当操作导致第一应用进程发生异常。
在一个实施例中,操作模块810还用于向第一应用进程中注入代码;还用于根据停止操作指令停止向第一应用进程中注入代码。
本实施例中,若接收到停止操作指令,则后续在第一应用进程运行时,第二应用进程不再向第一应用进程中注入代码,通过服务器远程控制终端上向第一应用进程注入代码的行为,可防止因强行向第一应用进程注入代码导致第一应用进程发生异常。
在一个实施例中,代码用于在执行时拦截第一应用进程触发的广告信息。
在一个实施例中,操作模块810用于通过第二应用进程将代码注入到第一应用进程中;代码携带有第二应用进程的应用特征;上报模块830还用于若在异常文件中检测到应用特征,则根据异常文件生成异常信息并上报至服务器。
本实施例中,当在异常文件中检测到应用特征后,根据异常文件生成异常信息并上报至服务器,可以筛选出有可能是注入代码导致的异常并进行上报,过滤掉无关的异常文件,可提高代码注入控制的准确性。
在一个实施例中,停止操作指令由服务器在第一变化量大于第一预设变化量时触发;其中,第一变化量为第二异常次数均值相较于第一异常次数均值的变化量;所述第一异常次数均值为根据第一时间段内上报的异常信息统计的异常次数均值;所述第二异常次数均值为根据第二时间段内上报的异常信息统计的异常次数均值;所述第一时间段在所述第二时间段之前;操作所述第一应用进程的时间点大于所述第一时间段的最小边界值,且小于所述第二时间段的最大边界值。
本实施例中,分时间段统计异常次数均值,各个时间段内异常次数均值的变化量可以反映终端发生异常的次数是否在正常范围内。如果第一变化量大于第一预设变化量,表示在操作第一应用进程后,异常次数整体上发生了较大的增长,很有可能是由于操作第一应用进程而导致异常次数增多,此时触发停止操作指令可以提高对第一应用进程进行操作的安全。
在一个实施例中,接收模块840还用于在操作模块810根据停止操作指令停止操作第一应用进程后,接收服务器发送的开启操作指令;开启操作指令由服务器在第二变化量小于第二预设变化量时触发;其中,第二变化量为第四异常次数均值相较于第三异常次数均值的变化量;所述第三异常次数均值为根据第三时间段内上报的异常信息统计的异常次数均值;所述第四异常次数均值为根据第四时间段内上报的异常信息统计的异常次数均值;所述第三时间段在所述第四时间段之前;触发所述停止操作指令的时间点大于所述第三时间段的最小边界值,且小于所述第四时间段的最大边界值;
操作模块810还用于根据开启操作指令开始操作第一应用进程。
本实施例中,当停止操作第一应用进程之后,若第二变化量小于第二预设变化量,表示停止操作第一应用进程后异常次数整体上未发生较大变化,很有可能异常次数增多并非是操作第一应用进程而导致,此时触发开启操作指令可以重新触发对第一应用进程的操作,纠正误判。
在一个实施例中,应用异常处理装置800应用于多个终端;停止操作指令由服务器在根据多个终端所上报的异常信息分析出异常分布特征后,在分析出的异常分布特征符合公共异常分布特征时触发并反馈至当前开启对第一应用进程进行操作的功能的终端。
本实施例中,当分析出的异常分布特征符合公共异常分布特征时,说明此次异常不是个体问题而是公共问题,此时向当前开启对第一应用进程进行操作的功能的终端,使得相应终端停止操作第一应用进程,可有效避免公共异常的广泛出现,可有效控制应用异常的发生。
在一个实施例中,停止操作指令由服务器触发时,使得服务器将在配置文件中用于触发对所述第一应用进程的操作的配置项配置为关闭,所述配置文件用于在安装用于操作所述第一应用进程的应用时进行初始化配置。
本实施例中,服务器在触发操作指令时,将该配置文件中用于触发操作第一应用进程的配置项配置为关闭。其它还未安装第二应用的终端在后续安装第二应用时,将默认停止对第一应用进程进行操作,可有效避免公共异常出现在新增用户的终端上,可有效控制应用异常的发生。
在一个实施例中,操作模块810还用于通过第二应用进程操作第一应用进程;监测模块还用于通过第二应用进程启动监测进程;第二应用进程和监测进程具有跨应用访问的权限。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种应用异常处理方法,包括:
操作第一应用进程;
当异常文件夹中新增由操作***在所述第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到所述异常文件;
根据所述异常文件生成异常信息并上报至服务器;
接收所述服务器反馈的停止操作指令,所述停止操作指令根据上报的所述异常信息生成;
根据所述停止操作指令停止操作所述第一应用进程。
2.根据权利要求1所述的方法,其特征在于,所述操作第一应用进程的步骤包括:
向第一应用进程中注入代码;
所述根据所述停止操作指令停止操作所述第一应用进程的步骤包括:
根据所述停止操作指令停止向第一应用进程中注入代码。
3.根据权利要求2所述的方法,其特征在于,所述代码用于在执行时拦截所述第一应用进程触发的广告信息。
4.根据权利要求2所述的方法,其特征在于,所述代码由第二应用进程注入到所述第一应用进程中;所述代码携带有所述第二应用进程的应用特征;所述方法还包括:
若在所述异常文件中检测到所述应用特征,则执行所述根据所述异常文件生成异常信息并上报至服务器的步骤。
5.根据权利要求1所述的方法,其特征在于,所述停止操作指令由所述服务器在第一变化量大于第一预设变化量时触发;其中,所述第一变化量为第二异常次数均值相较于第一异常次数均值的变化量;所述第一异常次数均值为根据第一时间段内上报的异常信息统计的异常次数均值;所述第二异常次数均值为根据第二时间段内上报的异常信息统计的异常次数均值;所述第一时间段在所述第二时间段之前;操作所述第一应用进程的时间点大于所述第一时间段的最小边界值,且小于所述第二时间段的最大边界值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述停止操作指令停止操作所述第一应用进程的步骤之后,所述方法还包括:
接收所述服务器发送的开启操作指令;所述开启操作指令由所述服务器在第二变化量小于第二预设变化量时触发;其中,所述第二变化量为第四异常次数均值相较于第三异常次数均值的变化量;所述第三异常次数均值为根据第三时间段内上报的异常信息统计的异常次数均值;所述第四异常次数均值为根据第四时间段内上报的异常信息统计的异常次数均值;所述第三时间段在所述第四时间段之前;触发所述停止操作指令的时间点大于所述第三时间段的最小边界值,且小于所述第四时间段的最大边界值;
根据所述开启操作指令开始执行所述操作第一应用进程的步骤。
7.根据权利要求1所述的方法,其特征在于,所述方法应用于多个终端;所述停止操作指令由所述服务器在根据所述多个终端所上报的异常信息分析出异常分布特征后,在分析出的所述异常分布特征符合公共异常分布特征时触发并反馈至当前开启对所述第一应用进程进行操作的功能的终端。
8.根据权利要求7所述的方法,其特征在于,所述停止操作指令由所述服务器触发时,使得所述服务器将在配置文件中用于触发对所述第一应用进程的操作的配置项配置为关闭,所述配置文件用于在安装用于操作所述第一应用进程的应用时进行初始化配置。
9.根据权利要求1所述的方法,其特征在于,所述第一应用进程被第二应用进程所操作;所述监测进程由所述第二应用进程启动;所述第二应用进程和所述监测进程具有跨应用访问的权限。
10.一种应用异常处理装置,其特征在于,包括:
操作模块,用于操作第一应用进程;
监测模块,用于当异常文件夹中新增由操作***在所述第一应用进程发生异常时所生成的异常文件时,通过监测进程监测到所述异常文件;
上报模块,用于根据所述异常文件生成异常信息并上报至服务器;
接收模块,用于接收所述服务器反馈的停止操作指令,所述停止操作指令根据上报的所述异常信息生成;
所述操作模块还用于根据所述停止操作指令停止操作所述第一应用进程。
11.根据权利要求10所述的装置,其特征在于,所述操作模块还用于向第一应用进程中注入代码;还用于根据所述停止操作指令停止向第一应用进程中注入代码。
12.根据权利要求11所述的装置,其特征在于,所述代码用于在执行时拦截所述第一应用进程触发的广告信息。
13.根据权利要求11所述的装置,其特征在于,操作模块用于通过第二应用进程将代码注入到所述第一应用进程中;所述代码携带有所述第二应用进程的应用特征;所述上报模块还用于若在所述异常文件中检测到所述应用特征,则根据所述异常文件生成异常信息并上报至服务器。
14.根据权利要求10所述的装置,其特征在于,所述停止操作指令由所述服务器在第一变化量大于第一预设变化量时触发;其中,所述第一变化量为第二异常次数均值相较于第一异常次数均值的变化量;所述第一异常次数均值为根据第一时间段内上报的异常信息统计的异常次数均值;所述第二异常次数均值为根据第二时间段内上报的异常信息统计的异常次数均值;所述第一时间段在所述第二时间段之前;操作所述第一应用进程的时间点大于所述第一时间段的最小边界值,且小于所述第二时间段的最大边界值。
15.根据权利要求10所述的装置,其特征在于,所述接收模块还用于在所述操作模块根据所述停止操作指令停止操作所述第一应用进程后,接收所述服务器发送的开启操作指令;所述开启操作指令由所述服务器在第二变化量小于第二预设变化量时触发;其中,所述第二变化量为第四异常次数均值相较于第三异常次数均值的变化量;所述第三异常次数均值为根据第三时间段内上报的异常信息统计的异常次数均值;所述第四异常次数均值为根据第四时间段内上报的异常信息统计的异常次数均值;所述第三时间段在所述第四时间段之前;触发所述停止操作指令的时间点大于所述第三时间段的最小边界值,且小于所述第四时间段的最大边界值;
所述操作模块还用于根据所述开启操作指令开始操作所述第一应用进程。
16.根据权利要求10所述的装置,其特征在于,所述装置应用于多个终端;所述停止操作指令由所述服务器在根据所述多个终端所上报的异常信息分析出异常分布特征后,在分析出的所述异常分布特征符合公共异常分布特征时触发并反馈至当前开启对所述第一应用进程进行操作的功能的终端。
17.根据权利要求16所述的装置,其特征在于,所述停止操作指令由所述服务器触发时,使得所述服务器将在配置文件中用于触发对所述第一应用进程的操作的配置项配置为关闭,所述配置文件用于在安装用于操作所述第一应用进程的应用时进行初始化配置。
18.根据权利要求10所述的装置,其特征在于,所述操作模块还用于通过第二应用进程操作所述第一应用进程;所述监测模块还用于通过所述第二应用进程启动所述监测进程;所述第二应用进程和所述监测进程具有跨应用访问的权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610653675.5A CN107729167B (zh) | 2016-08-10 | 2016-08-10 | 应用异常处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610653675.5A CN107729167B (zh) | 2016-08-10 | 2016-08-10 | 应用异常处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729167A true CN107729167A (zh) | 2018-02-23 |
CN107729167B CN107729167B (zh) | 2020-09-11 |
Family
ID=61200334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610653675.5A Active CN107729167B (zh) | 2016-08-10 | 2016-08-10 | 应用异常处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729167B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587345A (zh) * | 2018-12-28 | 2019-04-05 | 努比亚技术有限公司 | 异常应用提示方法、移动终端及计算机可读存储介质 |
CN113434362A (zh) * | 2021-06-24 | 2021-09-24 | 广州欢网科技有限责任公司 | Android程序发生异常时自动预警的方法及装置 |
CN114564369A (zh) * | 2022-04-28 | 2022-05-31 | 云账户技术(天津)有限公司 | 应用程序的异常监测方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN101916224A (zh) * | 2010-08-20 | 2010-12-15 | 迈普通信技术股份有限公司 | 测试进程异常检测方法以及自动化测试控制装置 |
CN102200941A (zh) * | 2010-03-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 进程状态监控方法及单元 |
CN104268080A (zh) * | 2014-09-25 | 2015-01-07 | 北京金山安全软件有限公司 | 一种软件异常处理方法和设备 |
CN104503892A (zh) * | 2014-12-19 | 2015-04-08 | 宇龙计算机通信科技(深圳)有限公司 | 终端异常的处理方法、处理装置和终端 |
CN105025318A (zh) * | 2015-06-30 | 2015-11-04 | 北京奇艺世纪科技有限公司 | 一种应用程序的异常日志信息的反馈方法及装置 |
CN105389249A (zh) * | 2015-10-29 | 2016-03-09 | Tcl集团股份有限公司 | 异常日志生成配置方法及异常日志生成配置装置 |
CN105657046A (zh) * | 2016-02-24 | 2016-06-08 | 中国科学技术大学 | 一种基于Openwrt路由器的广告注入的方法 |
CN105653455A (zh) * | 2015-12-29 | 2016-06-08 | 广东欧珀移动通信有限公司 | 一种程序漏洞的检测方法及检测*** |
-
2016
- 2016-08-10 CN CN201610653675.5A patent/CN107729167B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN102200941A (zh) * | 2010-03-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 进程状态监控方法及单元 |
CN101916224A (zh) * | 2010-08-20 | 2010-12-15 | 迈普通信技术股份有限公司 | 测试进程异常检测方法以及自动化测试控制装置 |
CN104268080A (zh) * | 2014-09-25 | 2015-01-07 | 北京金山安全软件有限公司 | 一种软件异常处理方法和设备 |
CN104503892A (zh) * | 2014-12-19 | 2015-04-08 | 宇龙计算机通信科技(深圳)有限公司 | 终端异常的处理方法、处理装置和终端 |
CN105025318A (zh) * | 2015-06-30 | 2015-11-04 | 北京奇艺世纪科技有限公司 | 一种应用程序的异常日志信息的反馈方法及装置 |
CN105389249A (zh) * | 2015-10-29 | 2016-03-09 | Tcl集团股份有限公司 | 异常日志生成配置方法及异常日志生成配置装置 |
CN105653455A (zh) * | 2015-12-29 | 2016-06-08 | 广东欧珀移动通信有限公司 | 一种程序漏洞的检测方法及检测*** |
CN105657046A (zh) * | 2016-02-24 | 2016-06-08 | 中国科学技术大学 | 一种基于Openwrt路由器的广告注入的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587345A (zh) * | 2018-12-28 | 2019-04-05 | 努比亚技术有限公司 | 异常应用提示方法、移动终端及计算机可读存储介质 |
CN109587345B (zh) * | 2018-12-28 | 2021-09-07 | 努比亚技术有限公司 | 异常应用提示方法、移动终端及计算机可读存储介质 |
CN113434362A (zh) * | 2021-06-24 | 2021-09-24 | 广州欢网科技有限责任公司 | Android程序发生异常时自动预警的方法及装置 |
CN114564369A (zh) * | 2022-04-28 | 2022-05-31 | 云账户技术(天津)有限公司 | 应用程序的异常监测方法、装置、电子设备及存储介质 |
CN114564369B (zh) * | 2022-04-28 | 2022-08-02 | 云账户技术(天津)有限公司 | 应用程序的异常监测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107729167B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593400B1 (en) | Automatic triage model execution in machine data driven monitoring automation apparatus | |
US11798028B2 (en) | Systems and methods for monitoring malicious software engaging in online advertising fraud or other form of deceit | |
US10942960B2 (en) | Automatic triage model execution in machine data driven monitoring automation apparatus with visualization | |
US10412111B2 (en) | System and method for determining network security threats | |
CN103744593B (zh) | 移动终端及防止移动终端误操作的方法 | |
Mathur et al. | Characterizing the Use of {Browser-Based} Blocking Extensions To Prevent Online Tracking | |
US20190028557A1 (en) | Predictive human behavioral analysis of psychometric features on a computer network | |
US20180248902A1 (en) | Malicious activity detection on a computer network and network metadata normalisation | |
US20180246797A1 (en) | Identifying and monitoring normal user and user group interactions | |
CN107729167A (zh) | 应用异常处理方法和装置 | |
CN107329894A (zh) | 应用程序***测试方法、装置及电子设备 | |
CN110113315A (zh) | 一种业务数据的处理方法及设备 | |
CN105653944A (zh) | 作弊行为检测方法及装置 | |
US11550688B2 (en) | User interaction logic classification | |
CN107491300A (zh) | 一种智能功能的提示方法及其终端 | |
CN110442502A (zh) | 一种埋点的方法、装置、设备及存储介质 | |
CN110083472A (zh) | 应用崩溃处理方法、装置、计算机设备及存储介质 | |
CN106484592A (zh) | 一种异常检测方法和装置 | |
CN109358765A (zh) | 终端、在终端上执行操作的方法、装置及存储介质 | |
US9098804B1 (en) | Using data aggregation to manage a memory for an event-based analysis engine | |
CN108595957A (zh) | 浏览器主页篡改检测方法、装置及存储介质 | |
CN109271059A (zh) | 屏幕的防误触方法、终端以及计算机可读存储介质 | |
CN107704734A (zh) | 一种用户账户的识别方法及其设备 | |
CN112667338B (zh) | 业务线展示控制方法、装置、电子设备及存储介质 | |
CN104423844B (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 |