一种用户终端应用软件远程故障诊断系统及方法与流程

文档序号:17536731发布日期:2019-04-29 14:04阅读:200来源:国知局
一种用户终端应用软件远程故障诊断系统及方法与流程

本发明涉及软件,具体涉及终端应用软件的故障诊断技术。



背景技术:

在当前社会中,科技发展迅猛,但是传统的cs架构模式,仍然是使用最为广泛的结构模式。同时,由于无线网络技术迅猛发展,手机行业也发生了翻天覆地的变化,据统计,2018年中国国内智能手机使用量已达到13亿人次,中国市场上检测到的移动应用app已经达到415万款,并且这些数量还在持续攀升。

随着手机行业的发展,app面临的使用场景也越来越复杂,虽然每款app在对外发布时,都经过了严苛的测试,但是依然无法保证不会在实际的场景中出现意料之外的问题,如果每每都需要相关人员现场支持,无疑会增加企业的维护成本。目前虽然大部分应用都提供了用户反馈功能,但这并未考虑到实际使用场景,一般而言,用户很少可以描述清楚问题出现的现象,以及原因,甚至会出现大概率描述错误的情况,这些描述反而会误导问题的解决方向。

与此同时,大部分用户在程序出现错误异常时,都会选择忽略问题,甚至卸载应用,这无疑也不是app开发企业期望看到的。

由此可见,提供一种用户消耗小,无感知且准确的远端故障诊断方案为本领域亟需解决的问题。



技术实现要素:

针对现有用户终端上应用软件故障诊断方案所存在的问题,需要一种新的用户终端应用软件故障诊断方案。

为此,本发明的目的在于提供一种用户终端应用软件远程故障诊断系统,可对用户终端应用软件进行无感知的远端故障诊断;在此基础上,本发明还提供一种用户终端应用软件远程故障诊断方法。

为了达到上述目的,本发明提供的用户终端应用软件远程故障诊断系统,包括:

终端诊断模块,所述终端诊断模块运行在用户终端的后台,主动捕获用户终端中应用软件异常状态并记录形成异常日志文件,所述终端诊断模块将记录的异常日志文件通过用于终端上传至平台诊断控制模块;

平台诊断控制模块,所述平台诊断控制模块对终端诊断模块上传的异常日志文件进行分析确定用户终端中异常应用软件的故障。

进一步的,所述平台诊断控制模块形成诊断代码指令,并传至运行在用户终端后台的终端诊断模块,所述终端诊断模块根据诊断代码指令自动执行相应的诊断操作,并记录形成诊断日志文件,所述终端诊断模块将记录的诊断日志文件通过用于终端上传至平台诊断控制模块。

进一步的,所述终端诊断模块在诊断操作结束后,自动删除涉及到的执行数据。

进一步的,所述终端诊断模块包括异常捕获子模块、记录子模块、上传子模块、指令接受子模块以及指令执行子模块;

所述异常捕获子模块在用户终端中应用软件出现异常时被触发,捕获应用软件的异常信息,并传至记录子模块;

所述指令接受子模块接收平台诊断控制模块发送的诊断代码指令,并传至指令执行子模块;

所述指令执行子模块根据诊断代码指令对用户终端中应用软件进行诊断操作,并将诊断操作得到的诊断信息传至记录子模块;

所述记录子模块将接收的信息记录形成对应的日志文件,并传至上传子模块;

所述上传子模块调用用户终端的通信功能将对应的日志文件上传至平台诊断控制模块。

进一步的,所述平台诊断控制模块包括文件接收子模块、反馈问题管理子模块、指令下发子模块以及编程模块;

所述文件接收子模块接收用户终端中终端诊断模块上传的日志文件信息,并传至反馈问题管理子模块;所述反馈问题管理子模块对接收的日志文件进行故障分析;

所述编程模块通过编程形成诊断代码指令,并传至指令下发子模块;所述指令下发子模块将接收到的诊断代码指令发送至终端诊断模块。

为了达到上述目的,本发明提供的用户终端应用软件远程故障诊断方法,其在用户终端应用软件出现异常时,在用户终端后台自动捕获出现异常的应用软件相关的异常信息,记录形成异常日志文件,并通过用户终端将异常日志文件主动传至后端进行故障诊断。

进一步的,所述远程故障诊断方法还包括由后端形成诊断代码指令,并传至用户终端,使得用户终端在后台根据诊断代码指令对相应的应用软件主动执行相应的诊断操作,且记录形成诊断日志文件,并通过用户终端将诊断日志文件主动传至后端进行故障诊断。

本发明提供的方案能够实现在用户无感知的情况下,对用户终端中的应用软件进行远程故障诊断,可有效克服现有技术所存在的问题。

同时,本方案在实施时,对用户消耗小,对用户终端中的应用软件可进行主动检测和被动检测,诊断精度高。

附图说明

以下结合附图和具体实施方式来进一步说明本发明。

图1为本发明实例中用户终端应用软件远程故障诊断系统的示意图;

图2为本发明实例中远程故障诊断系统的应用示意图;

图3为本发明实例中远程故障诊断系统进行被动诊断的流程图;

图4为本发明实例中远程故障诊断系统进行主动诊断的流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

本实例基于传统的cs架构下,给出了一种用户终端应用软件远程故障诊断系统,该系统方案能够在终端用户应用软件出现异常情况时,对应用软件的异常状态进行捕获,并将捕获的异常信息传至远程的后端对出现异常的应用软件的故障诊断;同时本系统还能够通过远程的后端进行编程指令下发,实现在用户终端的后台智能检测用户终端应用软件的异常,并且自动上报异常结果的方案。通过本系统能够对用户终端的应用软件实现远程无感的故障诊断,有效的解决现有用户终端应用软件出现问题后,应用软件开发企业无法快速介入解决问题的问题。

参见图1,其所示为本实例给出的用户终端应用软件远程故障诊断系统的系统组成示例。

由图可知,整个远程故障诊断系统100主要包括终端诊断模块110和平台诊断控制模块120两部分。

其中,终端诊断模块110可运行在用户终端的后台,用于对用户终端上运行的应用软件出现异常时进行检测捕获异常信息;同时该模块还可根据平台诊断控制模块120远程发送的诊断代码指令对用户终端上运行的应用软件进行主动故障诊断操作,以获取诊断信息;该终端诊断模块110还将获取到的异常信息或诊断信息记录形成相应日志文件,并基于用户终端上传至远程的平台诊断控制模块120。

而与之配合的平台诊断控制模块120,运行在远端(如应用软件开发企业),基于用户终端的通信方式与用户终端之间保持通信连接,该模块120用于对终端诊断模块110上传的异常日志文件进行分析确定用户终端中异常应用软件的故障;同时该模块120还可形成诊断代码指令,并传至运行在用户终端后台的终端诊断模块110,使得终端诊断模块根据诊断代码指令自动执行相应的诊断操作,并记录形成诊断日志文件,并对终端诊断模块上传的诊断日志文件进行故障诊断分析。

作为一种示例,本实例中的终端诊断模块110由相应的软件程序来构成,在功能上主要包括异常捕获子模块111、记录子模块112、上传子模块113、指令接受子模块114以及指令执行子模块115。

其中,异常捕获子模块111中预设有相应的触发运行机制,使得本子模块能够在用户终端中应用软件出现异常时被触发,以捕获应用软件的异常信息,并传至记录子模块112。

指令接受子模块114,用于调用用户终端中相关的接收接口,以接收平台诊断控制模块120发送的诊断代码指令,并传至指令执行子模块115。

指令执行子模块115,用于解析指令接受子模块114接收的诊断代码指令,并根据诊断代码指令调用用户终端中相关的执行组件对用户终端运行的应用软件进行诊断操作以获取对应的诊断信息,并将诊断操作过程中获取到的诊断信息发送至记录子模块112。

记录子模块112,用于接收异常捕获子模块111和指令执行子模块115发送的信息,并将接收的信息记录形成对应的日志文件,并传至上传子模块113。

另外,根据需要本记录子模块112在上传子模块113将日志文件上传至平台诊断控制模块120后,将记录形成的日志文件删除。

上传子模块113,其可调用用户终端的通信功能将对应的日志文件利用用户终端的通信方式上传至平台诊断控制模块120。

由此构成的终端诊断模块110运行在用户终端后台时,将完成如下操作:

1)捕获应用软件的异常崩溃,并调用终端相关组件友好提示终端用户,同时记录文件;

2)诊断指令执行,要求包括终端的所有对接接口,以及可以顺序执行的控制器,同时记录日志到文件,并且,在诊断执行结束后,主动删除执行数据,不会引起用户资源消耗。

3)上传服务,在诊断结束后,可在wifi网络下自行上传日志文件。

与之对应的,本实例中的平台诊断控制模块120由相应的软件程序来构成,在功能上主要包括文件接收子模块121、反馈问题管理子模块122、指令下发子模块123以及编程模块124。

其中,文件接收子模块121,与终端诊断模块中的上传子模块113对应配合,接收上传子模块113上传的日志文件信息,并传至反馈问题管理子模块122;反馈问题管理子模块122对接收的日志文件进行故障分析,形成对应的结果及解决方案。

编程模块124通过编程形成诊断代码指令,并传至指令下发子模块123;指令下发子模块123将接收到的诊断代码指令发送至终端诊断模块中的指令接受子模块114。

由此构成的平台诊断控制模块120在运行时,将完成如下操作:

1)提供文件接受接口,接收终端上传的日志文件

2)通过编程模块编写形成诊断代码指令,指定下发到特定用户终端,终端执行后上传执行结果以及日志文件。

参见图2,基于上述方案所形成的远程故障诊断系统100在应用时,将其中的终端诊断模块110布置到相应的用户终端设备200中,并运行在用户终端设备200的后台中;同时系统中的平台诊断控制模块120通过相应的通信网络与用户终端设备200中的终端诊断模块110通信连接。

据此系统将能够对用户终端设备中运行的应用软件在出异常时,进行远程诊断,针对不同情况可采用如下两种远程诊断方式:

被动诊断:当终端设备中的应用程序出现异常崩溃等问题时,待程序恢复后,终端设备后台自动捕获出现异常的应用软件相关的异常信息,记录形成异常日志文件,主动上传错误异常日志到后台进行远程故障诊断,崩溃日志文件一般情况下不足100kb,对用户流量影响小。

主动检诊断:这种方式主要是为了应对非崩溃问题,当有用户反馈终端应用程序使用过程中,有不正常的情况出现时,由平台主动进行远程操作,编写特定的诊断执行代码,并发送至终端设备,要求终端设备进行响应,按照指定的诊断执行代码执行操作,且记录形成诊断日志文件,并后台上传执行诊断操作所得到的日志文件;同时在执行结束后,将删除执行数据,对用户也不会有任何影响和感知。考虑到数据安全以及隐私的问题,主动检诊断操作,需要通过终端设备通知用户,取得用户许可之后才能进行。

以下通过一些应用实例来说明一下本系统的运行方式。

参见图3,当终端设备中的软件程序遇到意外崩溃类问题时,由于这类问题,各种语言都有特定的捕获机制。本方案通过运行在终端设备后台的终端诊断模块捕获相应的异常;接着记录异常文件;最后通过上传接口,上传日志记录文件即可;同时在上传成功后删除本地日志文件。

参见图4,当终端用户向应用软件开发企业的售后反馈程序出现意料之外的运行结果时。售后和客户沟通尽可能详细的操作过程,以及问题现象,由程序运维人员进行初步的分析后,通过后台编写诊断执行指令,下发到终端设备;终端设备在接收到该诊断执行指令后,将提醒用户是否允许执行该指令;在用户确认授权后,终端设备将根据诊断执行指令执行诊断操作,并形成对应的诊断日志;在执行完毕后,将获取到的诊断日志上传至远程平台,远程平台收到日志后,进行分析解决。

最后需要说明,上述本发明的方法,或特定系统单元、或其部份单元,为纯软件架构,可以透过程序代码布设于实体媒体,如硬盘、光盘片、或是任何电子装置(如智能型手机、计算机可读取的储存媒体),当机器加载程序代码且执行(如智能型手机加载且执行),机器成为用以实行本发明的装置。上述本发明的方法与装置亦可以程序代码型态透过一些传送媒体,如电缆、光纤、或是任何传输型态进行传送,当程序代码被机器(如智能型手机)接收、加载且执行,机器成为用以实行本发明的装置。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1