一种客户端修复方法、装置、设备及介质与流程

文档序号:22928532发布日期:2020-11-13 16:25阅读:126来源:国知局
一种客户端修复方法、装置、设备及介质与流程

本申请涉及计算机技术领域,特别涉及一种客户端修复方法、装置、设备、介质。



背景技术:

随着机计算机技术的发展,客户端的数量不断增多,而客户端在使用的过程中,容易出现异常问题,所以需要对出现异常的客户端进行修复。现有的客户端修复一般包括发现问题、定位问题、修复问题、验证问题以及版本更新几个阶段,而这些阶段都需要专业工程师参与,从而导致人工成本在整体软件开发成本中是最高的,且一般人工修复问题所需要的周期都是比较长的,而软件修复对时间要求是比较高,一个问题修复时间越长带来的损失就越大。此外,人工修复很难做到24小时全天候待命修复,也导致了修复的延迟。



技术实现要素:

有鉴于此,本申请的目的在于提供一种客户端修复方法、装置、设备、介质,能够进行客户端自动修复,从而节省客户端开发成本,减少修复时间,减少客户端异常带来的损失,且提高了修复效率。其具体方案如下:

第一方面,本申请公开了一种客户端修复方法,应用于目标客户端,包括:

监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应;

如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息;

根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。

可选地,所述根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复之后,还包括:

利用所述第一操作信息对修复后的所述目标客户端进行验证,以便确定所述目标客户端修复是否成功。

可选地,所述利用所述第一操作信息对修复后的所述目标客户端进行验证,包括:

利用修复后的目标客户端重新执行所述第一操作信息对应的操作;

判断修复后的目标客户端在执行所述操作的过程中生成的操作响应是否出现错误;

如果修复后的目标客户端在执行所述操作的过程中生成的操作响应出现错误,则判定所述目标客户端修复未成功,并向所述服务器端提交人工修复请求;

如果修复后的目标客户端在执行所述操作的过程中生成的操作响应未出现错误,则判定所述目标客户端修复成功。

可选地,所述判定所述目标客户端修复成功之后,还包括:

将所述错误信息和所述错误修复信息发送到所述服务器端,以便所述服务器端将所述错误信息以及所述错误修复信息存储到所述预设错误分析数据库中。

可选地,所述判定所述目标客户端修复成功之后,还包括:

按照预设格式显示重新操作提示信息;

获取所述重新操作提示信息对应第二操作信息,并产生所述第二操作信息对应的操作响应。

可选地,所述监测所述目标客户端产生的操作响应是否出现错误之后,还包括:

如果所述操作响应出现错误,则记录所述操作响应对应的时间、所述目标客户端的版本号以及用户信息。

可选地,所述根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复,包括:

根据所述服务器端返回的所述错误修复信息对所述操作响应对应的目标代码进行修改,得到修改后代码;

对所述修改后代码进行编译,得到修复版目标客户端;

利用所述修复版客户端替换所述目标客户端,得到修复后的所述目标客户端。

第二方面,本申请公开了一种客户端修复装置,应用于目标客户端,包括:

操作监测模块,用于监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应;

信息发送模块,用于在所述操作响应出现错误时,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息;

修复模块,用于根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。

第三方面,本申请公开了一种电子设备,包括:

存储器和处理器;

其中,所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序,以实现前述公开的客户端修复方法。

第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的客户端修复方法。

可见,本申请需要监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应,如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息,然后根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。这样在监测到客户端出现错误时,便可以将错误信息发送到对应的服务器端,服务器端会根据错误信息从预设错误分析数据库中确定出错误修复信息,客户端接收到所述错误修复信息之后,便可以根据所述错误修复信息对出现的错误进行修复,能够进行客户端自动修复,从而节省客户端开发成本,减少修复时间,减少客户端异常带来的损失,且提高了修复效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种客户端修复方法流程图;

图2为本申请公开的一种具体的客户端修复方法流程图;

图3为本申请公开的一种具体的客户端修复方法流程图;

图4为本申请公开的一种客户端修复装置结构示意图;

图5为本申请公开的一种电子设备结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有的客户端修复一般包括发现问题、定位问题、修复问题、验证问题以及版本更新几个阶段,而这些阶段都需要专业工程师参与,从而导致人工成本在整体软件开发成本中是最高的,且一般人工修复问题所需要的周期都是比较长的,而软件修复对时间要求是比较高,一个问题修复时间越长带来的损失就越大。此外,人工修复很难做到24小时全天候待命修复,也导致了修复的延迟。有鉴于此,本申请提出了一种客户端修复方法,能够进行客户端自动修复,从而节省客户端开发成本,减少修复时间,减少客户端异常带来的损失,且提高了修复效率。

参见图1所示,本申请实施例公开了一种客户端修复方法,应用于目标客户端,该方法包括:

步骤s11:监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应。

在实际应用中,目标客户端在运行的过程中,需要对接收到操作信息时生成的操作响应进行监控,以确定生成的操作响应是否出现错误。也即,需要监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应。

步骤s12:如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息。

可以理解的是,如果所述操作响应出现错误,则表示所述目标客户端出现错误,需要进行修复,所以需要将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息。

也即,如果所述操作响应出现错误,则将所述操作响应对应的错误信息记录下来,并发送给所述目标客户端对应的服务器端,所述服务器端接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息,并将所述错误修复信息反馈给所述目标客户端。其中,所述错误信息包括但不限于所述目标客户端所属应用、所述目标客户端的版本、错误堆栈、对应的源码等。所述预设错误分析数据库为存储预先获取到的错误信息以及与错误信息对应的错误修复信息的数据库。

在实际应用中,如果在所述预设错误分析数据库中没有与所述目标客户端上传的错误信息对应的错误修复信息,则将所述错误信息上报给管理人员,进行人工修复。

步骤s13:根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。

相应的,便可以根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。具体的,根据所述服务器端返回的所述错误修复信息对所述操作响应对应的目标代码进行修改,得到修改后代码;对所述修改后代码进行编译,得到修复版目标客户端;利用所述修复版客户端替换所述目标客户端,得到修复后的目标客户端。

可见,本申请需要监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应,如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息,然后根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。这样在监测到客户端出现错误时,便可以将错误信息发送到对应的服务器端,服务器端会根据错误信息从预设错误分析数据库中确定出错误修复信息,客户端接收到所述错误修复信息之后,便可以根据所述错误修复信息对出现的错误进行修复,能够进行客户端自动修复,从而节省客户端开发成本,减少修复时间,减少客户端异常带来的损失,且提高了修复效率。

参见图2所示,本申请实施例公开了一种具体的客户端修复方法,应用于目标客户端,该方法包括:

步骤s21:监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应。

首先需要监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应。具体的,目标客户端在获取到第一操作信息时,会对操作信息进行记录,并监测产生的操作响应是否出现错误。如果出现错误,则对错误信息进行记录,除记录所述错误信息之外,还可以对所述操作响应对应的时间、所述目标客户端的版本号以及用户信息等进行记录。

目标客户端用户输入设备包括鼠标、键盘等,而这些输入信息,在用户操作目标客户端的时候可以被记录,用户操作过程全程都会监控是否产生对应错误,记录发生错误时用户的操作过程、错误信息、软件版本、时间、操作用户的信息等信息。

步骤s22:如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息。

如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息,得到本次错误修复方案。如果所述错误分析数据库中不包括所述错误信息对应的错误修复信息,则走人工修复流程。

步骤s23:根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。

可以理解的是,所述服务器端确定出所述错误信息之后,多数目标客户端便可以根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。也即,根据所述错误修复信息对所述操作响应对应的目标代码进行修改,得到修改后代码,对修改后代码进行编译,得到修复后目标客户端,利用所述修复后客户端替换所述目标客户端,得到修复后的目标客户端。

在修复过程中,只是替换了出现错误的客户端,所以客户端本地修复不会引起大规模版本更新替换,是否整体更新修复可由软件维护者决定。且可以延时发布版本,客户端自动修复后,服务方可以集中批量的解决此类问题,优化开发资源,节省软件的维护成本。也减少了用户不可用时长,给客户更好使用体验和提升客户对产品质量的认知。

步骤s24:利用所述第一操作信息对修复后的所述目标客户端进行验证,以便确定所述目标客户端修复是否成功。

在对所述目标客户端进行修复之后,还需要利用所述第一操作信息对修复后的所述目标客户端进行验证,以便确定所述目标客户端修复是否成功。也即,利用修复后的目标客户端重新执行所述第一操作信息对应的操作;判断修复后的目标客户端在执行所述操作的过程中生成的操作响应是否出现错误;如果修复后的目标客户端在执行所述操作的过程中生成的操作响应出现错误,则判定所述目标客户端修复未成功,并向所述服务器端提交人工修复请求;如果修复后的目标客户端在执行所述操作的过程中生成的操作响应未出现错误,则判定所述目标客户端修复成功。

步骤s25:如果所述目标客户端修复成功,则将所述错误信息和所述错误修复信息发送到所述服务器端,以便所述服务器端将所述错误信息以及所述错误修复信息存储到所述预设错误分析数据库中。

利用所述第一操作信息对所述修复后的目标客户端进行验证之后,如果所述目标客户端修复成功,则将所述错误信息和所述错误修复信息发送到所述服务器端,以便所述服务器端将所述错误信息以及所述错误修复信息存储到所述预设错误分析数据库中。这样可以丰富和完善所述预设错误分析数据库,以便所述预设错误分析数据库可以修复更多不同错误类型的客户端,增加客户端自动修复能力。这样通过智能学习,解决问题效率会越来越高,正确性也会越来越高,在单纯客户端存在问题时,用户操作功能的保障性更强。

如果所述目标客户端修复成功之后,还需要按照预设格式显示重新操作提示信息;获取所述重新操作提示信息对应第二操作信息,并产生所述第二操作信息对应的操作响应。也即,所述目标客户端修复成功之后,提示用户重新操作一遍。

现有的客户端错误修复全需人工修复,一个软件错误修复所需要的时间成本为s=i+f+v+p+v2,其中,s表示一个修复版本发布工时,i表示定位时间用时修复周期长,通常情况为0.5小时,f表示修复时间,通常情况0.5小时,v表示验证时间,通常情况0.2小时,p表示版本时间,通常0.1小时,v2表示线上问题二次验证,通常0.2小时,所以一个修复版本工时约为0.5+0.5+0.2+0.1+0.2=1.5小时。工作时间维护下的人力成本为10人,工作时间也即每周5天每天8小时。如果一个软件公司有10个软件产品,1个软件需要1个工程师维护,一个软件公司需要维护工程是10个人,那么全天候维护下的人力成本是42人,全天候也即每周7天每天24小时。

而利用本申请的方法之后,单个软件问题修复时长为版本时间0.1小时,工作时间维护下的人力成本为1人。只需要一个软件工程师作为系统解决不了问题的备份,通常情况下几乎可以忽略。全天候维护下的人力成本为1人。只需要一个软件工程师作为系统解决不了问题的备份,通常情况下几乎可以忽略。10个客户端时工作时间可节省9个人力,全天候可节省41个人力。单个软件问题的修复效率提升了95%以上。

参见图3所示,为客户端修复流程图。在用户操作时,监测操作结果是否出现错误,如果用户操作失败,则表示客户端出现错误,记录本次操作,然后进行问题修复,并利用修复之后的客户端替换出现错误的客户端,然后回放用户操作进行修复验证,判断得到的操作结果是否成功,如果成功,则记录本次修复,如果失败,则通知人工修复。

参见图4所示,本申请实施例公开了一种客户端修复装置,应用于目标客户端,包括:

操作监测模块11,用于监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应;

信息发送模块12,用于在所述操作响应出现错误时,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息;

修复模块13,用于根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。

可见,本申请需要监测所述目标客户端产生的操作响应是否出现错误,其中,所述操作响应为所述目标客户端在获取到第一操作信息时生成的响应,如果所述操作响应出现错误,则将所述操作响应对应的错误信息发送到所述目标客户端对应的服务器端,以便所述服务器端在接收到所述错误信息之后,根据所述错误信息从预设错误分析数据库中确定出所述错误信息对应的错误修复信息,然后根据所述服务器端返回的所述错误修复信息对所述目标客户端进行修复。这样在监测到客户端出现错误时,便可以将错误信息发送到对应的服务器端,服务器端会根据错误信息从预设错误分析数据库中确定出错误修复信息,客户端接收到所述错误修复信息之后,便可以根据所述错误修复信息对出现的错误进行修复,能够进行客户端自动修复,从而节省客户端开发成本,减少修复时间,减少客户端异常带来的损失,且提高了修复效率。

具体的,所述客户端修复装置,还包括:

验证模块,用于利用所述第一操作信息对修复后的所述目标客户端进行验证,以便确定所述目标客户端修复是否成功。

进一步的,所述验证模块,用于:

利用修复后的目标客户端重新执行所述第一操作信息对应的操作;

判断修复后的目标客户端在执行所述操作的过程中生成的操作响应是否出现错误;

如果修复后的目标客户端在执行所述操作的过程中生成的操作响应出现错误,则判定所述目标客户端修复未成功,并向所述服务器端提交人工修复请求;

如果修复后的目标客户端在执行所述操作的过程中生成的操作响应未出现错误,则判定所述目标客户端修复成功。

具体的,所述信息发送模块12,还可以用于:

在判定所述目标客户端修复成功之后,将所述错误信息和所述错误修复信息发送到所述服务器端,以便所述服务器端将所述错误信息以及所述错误修复信息存储到所述预设错误分析数据库中。

具体的,所述客户端修复装置,还包括:

提示信息显示模块,用于按照预设格式显示重新操作提示信息;

信息获取模块,用于获取所述重新操作提示信息对应第二操作信息,并产生所述第二操作信息对应的操作响应。

具体的,所述客户端修复装置,还包括:

信息记录模块,用于在所述操作响应出现错误时,则记录所述操作响应对应的时间、所述目标客户端的版本号以及用户信息。

在实际应用中,所述修复模块13,用于:

根据所述服务器端返回的所述错误修复信息对所述操作响应对应的目标代码进行修改,得到修改后代码;

对所述修改后代码进行编译,得到修复版目标客户端;

利用所述修复版客户端替换所述目标客户端,得到修复后的所述目标客户端。

图5为本申请实施例提供的一种电子设备20的结构示意图,该电子设备20具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。

通常,本实施例中的电子设备20包括:处理器21和存储器22。

其中,处理器21可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器21可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程们阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器21可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器22可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器22还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器22至少用于存储以下计算机程序221,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例中公开的客户端修复方法步骤。

在一些实施例中,电子设备20还可包括有显示屏23、输入输出接口24、通信接口25、传感器26、电源27以及通信总线28。

本技术领域人员可以理解,图5中示出的结构并不构成对电子设备20的限定,可以包括比图示更多或更少的组件。

进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的客户端修复方法。

其中,关于上述客户端修复方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种客户端修复方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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