CN117555717B - 一种应用异常处理方法、终端及计算机存储介质 - Google Patents

一种应用异常处理方法、终端及计算机存储介质 Download PDF

Info

Publication number
CN117555717B
CN117555717B CN202410034217.8A CN202410034217A CN117555717B CN 117555717 B CN117555717 B CN 117555717B CN 202410034217 A CN202410034217 A CN 202410034217A CN 117555717 B CN117555717 B CN 117555717B
Authority
CN
China
Prior art keywords
application
target data
preset
data
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.)
Active
Application number
CN202410034217.8A
Other languages
English (en)
Other versions
CN117555717A (zh
Inventor
叶凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen X Focus Technology Co ltd
Original Assignee
Shenzhen X Focus Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen X Focus Technology Co ltd filed Critical Shenzhen X Focus Technology Co ltd
Priority to CN202410034217.8A priority Critical patent/CN117555717B/zh
Publication of CN117555717A publication Critical patent/CN117555717A/zh
Application granted granted Critical
Publication of CN117555717B publication Critical patent/CN117555717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了应用异常处理方法、终端及计算机存储介质。本申请方案在侦测应用响应异常时,可以通过预设的异常处理机制来处理异常并启动与应用关联的第二处理程序,并将当前的处理参数传递给第二处理程序,从而通过启动第二处理程序来响应用户操作,并返回操作结果,如此,可以确保用户在应用异常时仍然能够继续使用服务,这避免了因应用崩溃或响应异常而导致的服务中断或者应用清退,大大降低了当前数据丢失和损坏的可能性。

Description

一种应用异常处理方法、终端及计算机存储介质
技术领域
本申请涉及终端应用开发技术领域,尤其涉及一种应用异常处理方法、终端及计算机存储介质。
背景技术
随着终端技术的快速发展,终端应用(APP)已经成为人们日常生活中不可或缺的一部分,终端可以通过安装不同的应用实现各种功能。然而,在应用运行过程中,由于各种原因可能会导致应用异常。终端系统或应用开发过程中一般都配置有异常处理模块,异常处理模块可以在检测到应用在运行中发生异常时,调用默认异常处理机制对异常应用运用进行处理,比如,应用因部分代码或者部分逻辑错误无法响应操作时,系统会启动清退关闭处理,清退异常应用。
然而,系统在对应用程序异常退出时,会对关闭该应用程序运行相关的线程并对存储该应用程序的数据的物理内存进行清理回收,这将可能导致在应用程序异常退出清理时一些有些关键数据丢失,此外,程序的运行被中断,异常可能导致程序无法正常执行保存数据的操作,或者在异常发生清退关闭时,程序可能无法正确处理数据保存的逻辑可能会导致当前数据的丢失或损坏,进而导致应用程序后续难以根据关键数据恢复至当前运行时的状态,而且直接清退应用也会导致用户体验差。因此,如何快速解决异常,尽量避免应用因异常被清退成为了应用开发的重要问题。
发明内容
基于此,本申请针对上述问题,提出了一种应用异常处理方案,以使应用在部分响应异常时仍能响应操作,避免应用因异常被清退,提升用户的体验。
本申请一方面提供一种应用异常处理方法,所述方法包括:
侦测用户的对应用的操作指令,响应所述操作指令;
判断所述响应是否异常;
若所述应用响应异常,则触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取用户操作指令相关第一目标数据;
通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据;
接收所述关联第二目标程序返回的第二目标数据;
根据所述第二目标数据更新所述应用的界面和/或状态。
具体地,所述判断所述响应是否异常,包括:侦测到用户的操作指令后,通过主程序启动预设计时器;若在预设时间内未收到相应处理从线程返回的响应结果,则判断所述响应异常,并触发预设的异常处理;
或者,侦测到用户的操作指令后,捕获系统的预设异常来检测所述响应是否异常。
具体地,所述预设的异常处理机制包括:将所述异常信息记录到日志中;
所述主程序向所述处理从线程发送预设的信号或指令;所述从线程停止执行任务,并释放相关资源。
进一步地,通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据,包括:判断所述第一目标数据类型,若为第一数据类型,则通过将需要传递的所述第一目标数据进行URL编码,根据所述编码后的第一目标数据生成URL,将生成的URL传递给所述关联第二处理程序。
若所述第一目标数据为第二数据类型,则通过将需要传递的所述第一目标数据进行URL编码;根据所述编码后的第一目标数据生成URL;将生成的URL传递给所述关联第二处理程序;
若所述第一目标数据不符合预设条件,则将所述第一目标数据保存在预设的数据库或缓存中;获取所述数据库或缓存的访问参数;触发预设第一触发事件并将所述访问参数作为事件的参数,以使得所述关联第二处理程序通过所述访问参数获取所述第一目标数据。
进一步地,所述接收所述关联第二目标程序返回的第二目标数据,包括:监听所述关联第二处理程序发送的预设第二触发事件;根据所述第二触发事件获取所述第二目标数据。
进一步地,所述应用关联的第二处理程序为小程序,启动与所述应用关联的第二处理程序,包括:在所述应用程序中通过预设的SDK和API,获取所述小程序的相关实例参数;根据所述小程序的相关实例参数调用预设的API函数,启动所述小程序。
本申请第二方面提供一种应用异常处理装置,所述装置包括:
响应模块,用于侦测用户的对应用的操作指令,响应所述操作指令;
判断模块,用于判断所述响应是否异常;
触发模块,用于所述应用响应异常时,触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取模块,用于提取用户操作指令相关第一目标数据;
传递模块,用于通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据;
接收模块,用于接收所述关联第二目标程序返回的第二目标数据;
更新模块,用于根据所述第二目标数据更新所述应用的界面和/或状态。
本申请三方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
本申请第四方面提供一种计算机终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
本申请上述方案在侦测应用响应异常时,可以通过预设的异常处理机制来处理异常并启动与应用关联的第二处理程序,并将当前的处理参数传递给第二处理程序,从而通过启动第二处理程序来响应用户操作,并返回操作结果,如此,可以确保用户在应用异常时仍然能够继续使用服务,这避免了因应用崩溃或响应异常而导致的服务中断或者应用清退也大大降低了当前数据丢失和损坏的可能性。
进一步地,第二处理程序还可以作为扩展功能和服务,在应用代码问题导致某些功能无法使用或响应时,第二程序提供额外的功能或替代方案以快速恢复部分或全部功能,如此,用户可以继续使用应用的核心功能,而不需要清退当前应用进程或等待开发者修复代码问题,提升了用户的体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中应用异常处理方法流程图;
图2为一个实施例中应用异常处理装置结构框图;
图3为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
在一个实施方式中,如图1为本申请一种应用异常处理方法流程图,所述方法包括:
S10、侦测用户的对应用的操作指令,响应所述操作指令。
具体地,本申请开发应用包括用户界面,以便用户可以与应用进行交互,这可以是图形界面、命令行界面或其他形式的界面,并且应用在UI组件上设置事件监听器,以便在用户执行操作时能够捕获到相应的事件,例如,在图形界面中,这可以包括点击、触摸、拖拽等事件。
当用户执行操作时,相应的事件被触发并传递给事件处理函数或方法。事件处理逻辑根据事件的类型和参数来确定用户的操作意图。事件处理逻辑解析用户的操作,将其转换为应用可以理解的指令或命令,包括对事件参数的解析和转换,以确定用户想要执行的具体操作。
S11、判断所述响应是否异常。
具体地,在一个实施例中,所述判断所述响应是否异常,包括:侦测到用户的操作指令后,通过应用主程序启动预设计时器,若在预设时间内未收到相应处理返回的响应结果,则判断所述响应异常,并触发预设的异常处理。
具体地,本申请应用开发时,对功能代码进行模块化设计,主程序调用对应的函数执行个模块的功能,每个模块执行完成时向主程序返回预设的标识,主程序也可以通过该标识信息来定位或确定功能模块的性能及响应情况,当异常发生时,也有利于主程序根据各程序功能模块的返回的标识确定并定位出问题的程序模块,并获取对应的堆栈跟踪信息,帮助开发者更加快速定位和解决异常。
本申请在侦测到用户的操作指令后,通过应用主程序启动预设计时器,判断在预设时间内是否能收到对应的模块功能处理程序反馈的标识和/或对应的处理结果,若主程序在未能接收到对应模块的标识和/处理结果,则判断当前响应异常,预设的时间开发者可以根据各模块的历史运行情况或者在各终端系统运行情况进行确定。
在另一个实施例中,可以侦测到用户的操作指令后,捕获系统的预设异常来检测所述响应是否异常。
例如在安卓系统中,主程序可以通过捕获ANR异常来判断当前应用是否响应异常,当应用无法在规定时间内响应用户操作时,系统会弹出ANR对话框提示用户,应用主程序可以通过捕获ANR异常来检测不响应用户操作的异常采取相应的处理措施,并记录超时信息到日志中。
S12、若所述应用响应异常,则触发预设的异常处理机制,启动与所述应用关联的第二处理程序。
当应用出现异常时,主程序执行:S121、触发预设的异常处理机制处理异常。主程序设置异常模块函数来处理异常,接收到异常信号或通知后,会触发预设的异常处理机制,调用异常处理函数对异常进行分类、记录详细的错误信息、执行恢复操作等。并执行资源清理和恢复处理:在异常处理函数中,可以进行必要的资源清理和恢复操作,例如关闭文件句柄、释放内存等。具体的,所述预设的异常处理机制包括:
S1211、主程序将所述异常信息记录到日志中。
在确认响应异常后,主程序确定并定位程序模块,并提取异常信息保存记录到对应的日志中,以后续发送给服务端帮助开发人员分析定位应用程序异常时的问题并进行改进。其中所记录的异常信息包括但不限于:异常的类型、消息、异常发生位置、以及堆栈跟踪信息、线程等信息,堆栈跟踪信息以文本形式存储,其包含了函数调用的顺序、参数等信息。
S1212、主程序创建异常处理线程,并传递预设的信号和/或标识信息,所述异常处理线程关闭对应的执行任务,并释放相关资源。
确认异常后,主程序可以创建向所述异常处理线程发送预设的信号和/或标识信息。异常处理线程根据所述信号和/或标识信息,定位当前对应的模块代码,并关闭对应的任务,同时异常处理线程负责回收相关的资源,包括释放内存、关闭对应的文件句柄、断开因当前操作引起的通信连接等。
本申请上述方案可以在应用响应异常时仍然能够继续使用服务,这避免了因应用崩溃或响应异常而导致的服务中断或者应用清退,大大降低了因应用响应异常导致当前数据丢失和损坏的可能性。
S122、启动与所述应用关联的第二处理程序。
所述应用关联的第二处理程序为小程序,启动与所述应用关联的第二处理程序,包括:在所述应用通过预设的SDK和API;获取所述小程序的相关实例参数;根据所述小程序的相关实例参数调用预设的API函数,启动所述小程序。具体包括以下:
首先在微信开放平台申请并创建应用,创建应用后再应用详情里面配置android端的签名和包名信息,获取的微信小程序的实例参数,该实例参数包括小程序原始ID,并获取所创建应用的APPID,其中该微信小程序为该应用微信小程序。然后在App内集成微信SDK,并应用事件处理函数中,调用框架提供的API 函数WXAPIFactory.createWXAPI()、WXLaunchMiniProgram.Req()及api.sendReq()等函数通过传递小程序ID和应用APPID来启动小程序,在小程序在回调onResp中通过 设置WXLaunchMiniProgram.Resp进行响应。
本申请方案在小程序设计时,可以预先明确小程序的功能框架,以在小程序启动后,可以通过预设的API接口调用对应的功能函数,如控制指令转发、与服务器通信进行数据处理等。
S13、提取用户操作指令相关第一目标数据。
具体地,用户可能会有不同的操作,不同的操作指令所涉及的数据有所不同。在一个实施例中,用户操作指令相关第一目标数据可以是还未处理完的控制指令数据及相关参数数据。
在应用开发时可能由于相关模块代码的问题,在执行某个功能模块代码,由于多线程并发导致出现竞态条件、死锁和其他同步问题,不正确的线程同步可能导致数据不一致或程序异常崩溃,从而导致应用无法执行指令,引发响应异常。此时,待处理第一目标数据是还未处理完的控制指令数据及指令相关参数数据。例如,在智能家居APP中,用户的操作有可能是通过APP来控制相关家居设备,而用于应用执行异常时,有些控制设备的指令或参数未能发送给对应的中控设备或家电设备,则可以将待该为发送的给设备控制指令或参数作为第一目标数据,后续转交给第二处理程序发送给智能家居中控设备或家电设备。本申请的一个实施例中,第二处理程序为小程序,小程序通常运行在单线程环境中,避免了多线程并发的复杂性,因此在这方面相对不容易出错。
在另一个实施例中,用户操作指令相关第一目标数据可以是还未处理完的交互通信数据。
具体地,用户操作可能会涉及需要数据交互,在执行用户操作指令时,可能由于应用某些代码原因导致执行用户操作时因逻辑出错或者网络请求超时等原因导致数据无法高效快速与服务器通信交互,进而引发响应异常。例如,在执行用户的操作指令,需要与服务器进行大量的数据传输交互,而在应用开发中,网络请求是一个常见的操作,但也容易出错,由于网络不稳定、请求超时、应用代码逻辑缺陷错误等都可能导致请求失败,进而可能使得与服务器通信中断。此时第一目标数据可以是与服务还未处理完的交互数据。本申请的一个实施例中,第二处理程序为小程序,小程序小程序通常提供简化的网络请求接口和自动重试机制,使得网络请求相对更加可靠和容错,因此在当应用与服务器通信中断时,本申请采用通过小程序与服务器进行通信交互对中断的通信或数据处理,进而实现继续与服务器进行数据交互。
S14、通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据。
由于不同操作对应的待处理的第一目标数据不同,为了使应用能更加稳定、高效地向第二处理程序传递第一目标数据,本申请方案根据第一目标数据的情况采用不同的预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据,具体包括如下:
S141、判断所述第一目标数据类型。
具体地,可以通过判断所述第一目标数据的类型和/或所述待传递的第一目标数据的量进行判断,例如,判断所述第一目标数据是否为未处理完的控制指令数据及指令相关参数数据,和/或所述第一目标数据的长度、数据量是否超过预设值,和/或是否有数据安全性要求等等,若第一目标数据为指令及指令相关参数或数据长度、数据量小于预设值,则属于第一数据类型,否则为第二数据类型。
S142、若为第一数据类型,则通过将需要传递的所述第一目标数据或数据ID进行URL编码;根据所述编码后的第一目标数据生成URL;将生成的URL传递给所述关联第二处理程序。
具体地,将需要传递的数据(如指令参数或数据)编码到URL中,可以将需要传递的指令参数或数据进行编码,将编码后的数据转换为URL安全的字符串,并将其添加到URL的末尾。然后生成带有参数的URL,应用使用系统提供的API或调用小程序的SDK,打开小程序并将带有参数的URL传递给小程序,如应用程序使用小程序提供的APIwx.navigateToMiniProgram打开小程序的内置浏览器,将构建的URL传递给小程序内置浏览器,并且在小程序中,通过编程方式解析传递过来的URL,提取其中的指令数据。
采用URL传递参数具有简单易用,通过URL传递数据不需要额外的配置和处理,只需要在URL中添加参数即可,但是,其受数据长度的限制,当需要传递的数据过长时,可能会导致URL过长而无法正常传递,同时也存储数据安全性问题。因此,本申请采用判断所述第一目标数据为一些数据长度小、数据量不大、可以通过第二局域网发送的指令数据和参数,采用URL传递的方式传递给小程序,例如,智能家居应用APP中,因异常未能发送给设备的控制指令,该指令数据不长且第二处理程序可以通过局域网进行安全发送。
S143、若所述第一目标数据为第二数据类型,则将所述第一目标数据保存在预设的数据存储区,触发预设第一触发事件并将所述第一目标数据访问参数作为事件的参数,以使得所述关联第二处理程序通过所述访问参数获取所述第一目标数据。
具体地,对于一些数据安全要求比较高、或者数据量比较大的第一目标数据,如,需要与服务器交互的通信数据,本申请方案通过将数据第一目标数据采用预设的加密方式对数据进行加密并将加密后的保存在预设的数据区,如预设的存储区域,并获取该数据区该第一目标数据对应的访问参数。然后,触发预设的第一触发事件,所述第一触发事件可以为自定义事件,该事件可以在应用开发中事先设定好,并且可以触发第二处理程序进行捕获响应的事件,也可以采用第二处理程序可以捕获的系统事件,将所述第一目标数据访问参数作为事件的参数,以使得所述关联第二处理程序在通过所述访问参数获取所述第一目标数据,例如,小程序接收到应用触发的事件后,可以处理这些事件,并根据事件的参数去获取对应的数据,然后将该数据发送给服务器进行处理交互,并接收服务器对数据的处理结果。
本申请采用事件向第二处理程序传递第一目标数据可以提高数据的安全性,并且传递灵活性高:通过事件传递数据可以实现异步通信和数据共享,提高系统的响应速度和扩展性。
S15、接收所述关联第二目标程序返回的第二目标数据。
具体地,所述第二目标数据即为根据第一目标数据处理后的数据,该第二目标数据可以为处理后的一系列数据,也可以为第一目标数据处理后的状态结果,当所述第二处理程序处理完后的第二目标数据返回给应用。
而为了使应用能实现异步通信,所述接收所述关联第二目标程序返回的第二目标数据,可以采用事件触发的方式,具体包括:监听所述关联第二处理程序发送的预设第二触发事件,根据所述第二触发事件获取所述第二目标数据。第二触发事件可以与第一触发事件相同,也可以不同,第二处理程序可以将第二数据同样保存在预设的存储区,并通过第二触发事件来让应用获取第二目标数据。
S16、根据所述第二目标数据更新所述应用的界面和/或状态。
当接收到返回的第二目标数据后,应用根据返回是数据更新应用的界面和/或状态,具体包括:
解析所述第二目标数据,根据返回的第二目标数据,确定需要更新相应的界面元素,包括更新文本、图片、图表或其他UI组件,更新界面使用UI框架或库提供的更新方法,例如重新绘制视图、更新属性或调用更新函数。
除了界面更新外,应用还需要根据返回的目标数据更新内部状态,包括更新应用程序的数据模型、设置标志位或更新应用程序的内部状态变量。
申请上述方案在侦测应用响应异常时,可以通过预设的异常处理机制来处理异常并启动与应用关联的第二处理程序,并将当前的处理参数传递给第二处理程序,从而通过启动第二处理程序来响应用户操作,并返回操作结果,如此,可以确保用户在应用异常时仍然能够继续使用服务,这避免了因应用崩溃或响应异常而导致的服务中断或者应用清退也大大降低了当前数据丢失和损坏的可能性。
进一步地,第二处理程序还可以作为扩展功能和服务,在应用代码问题导致某些功能无法使用或响应时,第二处理程序提供额外的功能或替代方案以快速恢复部分或全部功能,如此,用户可以继续使用应用的核心功能,而不需要清退当前应用进程或等待开发者修复代码问题,提升了用户的体验。此外,本申请方案根据数据特性,提供了不同传递方式,来保证处理的高效及数据的安全性,进而提高应用稳定性。
在一个实施例中,如图2所示,本申请第二方面提供一种应用异常处理装置,所述装置包括:
响应模块,用于侦测用户的对应用的操作指令,响应所述操作指令;
判断模块,用于判断所述响应是否异常;
触发模块,用于所述应用响应异常时,触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取模块,用于提取用户操作指令相关第一目标数据;
传递模块,用于通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据;
接收模块,用于接收所述关联第二目标程序返回的第二目标数据;
更新模块,用于根据所述第二目标数据更新所述应用的界面和/或状态。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
侦测用户的对应用的操作指令,响应所述操作指令;
判断所述响应是否异常;
若所述应用响应异常,则触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取用户操作指令相关第一目标数据;
通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据;
接收所述关联第二目标程序返回的第二目标数据;
根据所述第二目标数据更新所述应用的界面和/或状态。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
侦测用户的对应用的操作指令,响应所述操作指令;
判断所述响应是否异常;
若所述应用响应异常,则触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取用户操作指令相关第一目标数据;
通过预设数据传递方式,向所述关联第二处理程序传递所述第一目标数据;
接收所述关联第二目标程序返回的第二目标数据;
根据所述第二目标数据更新所述应用的界面和/或状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种应用异常处理方法,其特征在于,所述方法包括:
侦测用户的对应用的操作指令,响应所述操作指令;
判断所述响应是否异常;
若所述应用响应异常,则触发预设的异常处理机制,
启动与所述应用关联的第二处理程序;
提取用户操作指令相关第一目标数据;
通过预设数据传递方式,向所述关联的第二处理程序传递所述第一目标数据;
接收所述关联的第二目标程序返回的第二目标数据;
根据所述第二目标数据更新所述应用的界面和/或状态;
其中,所述关联的第二处理程序为所述应用的小程序;
所述方法还包括:
判断所述第一目标数据类型;
若第一目标数据为指令、指令相关参数,或者数据长度、数据量小于预设值,则通过将需要传递的所述第一目标数据进行URL编码;
根据所述编码后的第一目标数据生成URL;
将生成的URL传递给所述关联的第二处理程序。
2.根据权利要求1所述的方法,其特征在于,所述判断所述响应是否异常,包括:
侦测到用户的操作指令后,通过主程序启动预设计时器;
若在预设时间内未收到相应处理返回的响应结果,则判断所述响应异常,并触发预设的异常处理;
或者,
侦测到用户的操作指令后,捕获系统的预设异常来检测所述响应是否异常。
3.根据权利要求2所述的方法,其特征在于,预设的异常处理机制包括:
将所述异常信息记录到日志中;
主程序创建预设处理线程,并向所述处理线程发送预设的信号和/或标识信息;
所述处理线程停止执行任务,并释放相关资源。
4.根据权利要求1所述的方法,所述方法还包括:
若所述第一目标数据为安全要求比较高、或者数据量比较大的数据,则将所述第一目标数据保存在预设的数据存储区;
获取所述第一目标数据的访问参数;
触发预设第一触发事件并将所述访问参数作为事件的参数,以使得所述关联第二处理程序通过所述访问参数获取所述第一目标数据。
5.根据权利要求1所述的方法,其特征在于,所述接收所述关联第二目标程序返回的第二目标数据,包括:
监听所述关联第二处理程序发送的预设第二触发事件;
根据所述第二触发事件获取所述第二目标数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,启动与所述应用关联的第二处理程序,包括:
在所述应用程序中通过预设的SDK和API,获取所述小程序的相关实例参数;
根据所述小程序的相关实例参数调用预设的API函数,启动所述小程序。
7.一种应用异常处理装置,其特征在于,所述装置包括:
响应模块,用于侦测用户的对应用的操作指令,响应所述操作指令;
判断模块,用于判断所述响应是否异常;
触发模块,用于所述应用响应异常时,触发预设的异常处理机制,启动与所述应用关联的第二处理程序;
提取模块,用于提取用户操作指令相关第一目标数据;
传递模块,用于通过预设数据传递方式,向所述关联的第二处理程序传递所述第一目标数据;
接收模块,用于接收所述关联第二目标程序返回的第二目标数据;
更新模块,用于根据所述第二目标数据更新所述应用的界面和/或状态;
其中,所述关联的第二处理程序为所述应用的小程序;
所述装置还包括:
判断所述第一目标数据类型;
若第一目标数据为指令、指令相关参数,或者数据长度、数据量小于预设值,则通过将需要传递的所述第一目标数据进行URL编码;
根据所述编码后的第一目标数据生成URL;
将生成的URL传递给所述关联的第二处理程序。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
CN202410034217.8A 2024-01-10 2024-01-10 一种应用异常处理方法、终端及计算机存储介质 Active CN117555717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410034217.8A CN117555717B (zh) 2024-01-10 2024-01-10 一种应用异常处理方法、终端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410034217.8A CN117555717B (zh) 2024-01-10 2024-01-10 一种应用异常处理方法、终端及计算机存储介质

Publications (2)

Publication Number Publication Date
CN117555717A CN117555717A (zh) 2024-02-13
CN117555717B true CN117555717B (zh) 2024-04-26

Family

ID=89815029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410034217.8A Active CN117555717B (zh) 2024-01-10 2024-01-10 一种应用异常处理方法、终端及计算机存储介质

Country Status (1)

Country Link
CN (1) CN117555717B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859275A (zh) * 2010-03-08 2010-10-13 宇龙计算机通信科技(深圳)有限公司 一种监控应用程序的方法、系统及移动终端
CN103365732A (zh) * 2012-03-29 2013-10-23 宇龙计算机通信科技(深圳)有限公司 一种应用程序异常的处理方法、系统及移动终端
CN106502820A (zh) * 2016-11-28 2017-03-15 深圳天珑无线科技有限公司 应用崩溃处理方法及装置
CN110309029A (zh) * 2019-06-29 2019-10-08 深圳乐信软件技术有限公司 异常数据的采集方法、装置、计算机设备和存储介质
CN115934390A (zh) * 2022-11-10 2023-04-07 梅赛德斯-奔驰集团股份公司 处理应用程序崩溃的方法、系统和运行应用程序的设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859275A (zh) * 2010-03-08 2010-10-13 宇龙计算机通信科技(深圳)有限公司 一种监控应用程序的方法、系统及移动终端
CN103365732A (zh) * 2012-03-29 2013-10-23 宇龙计算机通信科技(深圳)有限公司 一种应用程序异常的处理方法、系统及移动终端
CN106502820A (zh) * 2016-11-28 2017-03-15 深圳天珑无线科技有限公司 应用崩溃处理方法及装置
CN110309029A (zh) * 2019-06-29 2019-10-08 深圳乐信软件技术有限公司 异常数据的采集方法、装置、计算机设备和存储介质
CN115934390A (zh) * 2022-11-10 2023-04-07 梅赛德斯-奔驰集团股份公司 处理应用程序崩溃的方法、系统和运行应用程序的设备

Also Published As

Publication number Publication date
CN117555717A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
US10838838B2 (en) Method and apparatus for dealing with abnormality of application program and storage medium
CN100498725C (zh) 用于最小化计算机应用程序中的丢失的方法和系统
US9146839B2 (en) Method for pre-testing software compatibility and system thereof
US20160132420A1 (en) Backup method, pre-testing method for environment updating and system thereof
WO2018019242A1 (zh) 网站服务器的自恢复方法和自恢复系统
CN108845875B (zh) 一种常驻进程保活系统以及方法
CN112235342B (zh) 异常运行环境的修复方法、装置、计算机设备和存储介质
CN107357731A (zh) 进程产生core dump问题的监控、分析和处理方法
CN111506326A (zh) 终端设备的升级方法、装置、设备及存储介质
CN106790463B (zh) Web配置文件重载过程的访问方法和系统
CN113094210B (zh) 一种windows平台进程及文件守护方法及系统
CN113407383A (zh) 主备系统切换方法、装置、服务器及主备系统
CN112379993A (zh) 一种机器人流程自动化处理系统、方法及装置
CN110851300A (zh) 程序进程监控的方法、装置、计算机设备及可读存储介质
CN117555717B (zh) 一种应用异常处理方法、终端及计算机存储介质
CN111813592A (zh) 系统故障恢复预案的优化方法、装置及计算机存储介质
CN112070585A (zh) 订单状态统一管理方法、装置、计算机设备和存储介质
CN112559248B (zh) 预处理服务恢复方法、装置、设备及存储介质
CN113687867B (zh) 一种云平台集群的关机方法、系统、设备及存储介质
CN110188008B (zh) 作业调度主备切换方法、装置、计算机设备及存储介质
CN105391575A (zh) 一种金库控制方法及系统
CN110647526B (zh) 批量数据处理方法、装置、计算机设备及存储介质
CN110764940A (zh) 分布式系统服务异常的处理方法及装置
CN113377467B (zh) 信息解耦方法、装置、服务器及存储介质
CN117349182A (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