一种基于在线服务的自动纠错的方法和系统与流程

文档序号:12039166阅读:166来源:国知局
一种基于在线服务的自动纠错的方法和系统与流程
本发明涉及电子技术领域,尤其涉及一种基于在线服务的自动纠错的方法和系统。

背景技术:
目前的技术是基于标准的浏览器,在系统启动后,打开本地网页,然后读取用户预设的数据来访问相应的服务网站,或者系统启动后直接访问设定的网站。通过在线网页的方式提供服务,如果有错误,只是修改服务器上的网页代码,终端装置内程序不做任何修改。在一些IPTV的终端盒子中,采用基于W3C的标准,直接访问服务或者内容提供商的在线网站。通过下载设定的网页,在终端设备上呈现,来给终端用户提供各种在线服务。这种解决方案只能对提供的服务或者呈现的内容有纠错能力。而对于终端内出现的程序逻辑错误和定义无法解决,这种技术的前提条件是必须保证系统内的现有程序稳定而正确的运行。

技术实现要素:
本发明实施例所要解决的技术问题在于,提供一种基于在线服务的自动纠错的方法及装置。可通过在线服务的方式,自动更新错误模块,达到自动纠错的目的。为了解决上述技术问题,本发明实施例提供了一种基于在线服务的自动纠错的方法,包括:通过预设的异常捕获机制捕获应用程序中运行异常的模块;根据所述捕获到的应用程序中运行异常的模块下载对应的更新文件;根据所述更新文件更新所述应用程序。进一步的,所述根据所述运行异常的模块下载对应的文件包括:发送所述应用程序中运行异常的模块的参数信息到前端服务器;从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。进一步的,所述通过预设的异常捕获机制捕获应用程序中运行异常的模块之前还包括:检测到当前运行的所述应用程序异常。进一步的,所述应用程序中运行异常的模块的参数信息包括名称、版本信息、编译时间中多种或任意一种。进一步的,所述通过预设的异常捕获机制捕获应用程序中运行异常的模块具体包括:通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件;或通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。一种终端设备,包括:捕获模块,用于通过预设的异常捕获机制捕获应用程序中运行异常的模块;下载模块,用于根据所述捕获到的应用程序中运行异常的模块下载对应的更新文件;更新模块,用于根据所述更新文件更新所述应用程序。进一步的,所述下载模块包括:发送单元,用于发送所述应用程序中运行异常的模块的参数信息到前端服务器;下载单元,用于从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。进一步的,还包括:报错模块,用于当检测到当前运行的所述应用程序异常时,触发所述捕获模块通过预设的异常捕获机制捕获应用程序中运行异常的模块。进一步的,所述运行异常的模块的参数信息包括名称、版本信息、编译时间中多种或任意一种。进一步的,所述捕获模块具体包括:第一捕获单元,用于通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件;第二捕获单元,用于通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。一种前端系统,包括:查询单元,用于根据所述参数信息比较版本库查询对应的更新文件;发送单元,用于发送所述参数信息对应的更新文件。一种基于在线服务的自动纠错的系统,包括如上所述的终端设备和如上所述的前端系统。实施本发明实施例,具有如下有益效果:通过提供一种在线服务的方式,在终端设备中内嵌异常捕获的程序和机制,通过对系统程序异常的捕获,然后访问在线服务,通过比较相应的设定参数,自动下载并更新系统内相应的错误模块,对终端设备内系统错误和逻辑错误的自动纠正,达到自动纠错的目的,减少了系统全部升级的时间和功耗,以及节省了人工维护终端设备的成本。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一种基于在线服务的自动纠错的第一实施例流程图;图2是本发明一种基于在线服务的自动纠错的第二实施例流程图;图3是本发明一种终端设备的实施例示意图;图4是本发明一种终端设备的下载模块实施例示意图;图5是本发明一种终端设备的捕获模块实施例示意图;图6是本发明一种前端系统的实施例示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明基于在线服务的自动纠错的方法第一实施例流程如图1所示,其可包括:步骤101:通过预设的异常捕获机制捕获应用程序中运行异常的模块。终端设备上电启动之后,用户操作应用程序。当应用程序发生逻辑错误出现异常,或者出现系统级别的异常,都通过相应的异常捕获机制,分析出当前出现的错误的模块。比如当系统为linux,可以通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件,backtrace是一种在嵌入式系统中通用的堆栈回归技术,可以通过寄存器值,指针地址,回归查找到当前正在被使用的库名称、库里面函数的名称以及当前执行到当前函数的所在行。当系统为android,可以通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。步骤102:根据所述捕获到的应用程序中运行异常的模块下载对应的更新文件。具体实施中,可通过相应的异常捕获机制,分析出当前出现的错误的模块后,提取错误的模块的参数信息,比如名称,版本信息,编译时间等,再发送所述应用程序中运行异常的模块的参数信息到前端服务器,前端服务器接收到运行异常的模块的参数信息后,进行判断处理,如果有最新的版本,则通知终端设备,进行下载对应的更新文件,终端设备从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。具体实施中,还可以把分析结果错误的模块的参数信息存放在系统的数据文件内。系统第二次重启后,自动去读取这个数据文件里面错误的模块的参数信息,把这些错误的模块的参数信息发送给服务器。步骤103:根据所述更新文件更新所述应用程序。具体实施中,终端设备在接收完毕相应的更新文件后,可将系统中出错的模块替换成最新更新文件中的模块,系统更新纠错成功,然后系统重启。实施本发明实施例可通过在线服务的方式,自动更新错误模块,达到自动纠错的目的。本发明基于在线服务的自动纠错的方法的第二实施例流程如图2所示:步骤201:检测到当前运行的所述应用程序异常。终端设备上电启动之后,用户操作应用程序。检测应用程序是否发生逻辑错误出现异常,或者出现系统级别的异常。步骤202a:通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件。比如当系统为linux,可以通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件。例如,当运行应用程序mediaplay时发生逻辑错误出现异常,可以通过backtrace分析出当前出错的所述应用程序名称为mediaplay,相关的动态链接库文件为Libaudio_demux.so。步骤202b:通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。当系统为android,可以通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件,以捕获应用程序中运行异常的模块。步骤203:发送所述应用程序中运行异常的模块的参数信息到前端服务器。通过相应的异常捕获机制,分析出当前出现的错误的模块后,提取错误的模块的参数信息,比如名称,版本信息,编译时间等,再发送所述应用程序中运行异常的模块的参数信息到前端服务器。例如,当前出错的所述应用程序名称为mediaplay,相关的动态链接库文件为Libaudio_demux.so,版本为2.10.04,编译时间为2013年5月4日9:40,将这些运行异常的模块的参数信息发送到前端服务器。步骤204:前端系统根据所述参数信息比较版本库查询对应的更新文件。前端服务器接收到运行异常的模块的参数信息后,进行判断处理,如果有最新的版本,则通知终端设备,进行下载对应的更新文件。例如,前端服务器查找到有最新的版本,版本为2.10.06,编译时间为2013年6月4日9:50的动态链接库文件Libaudio_demux.so。步骤205:前端系统发送所述参数信息对应的更新文件。步骤206:从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。,终端设备从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。例如,终端设备从前端服务器下载版本为2.10.06,编译时间为2013年6月4日9:50的动态链接库文件Libaudio_demux.so。步骤207:根据所述更新文件更新所述应用程序。与前文实施例中的S103相同,本实施例中不再赘述。具体实施中,步骤202a和步骤202b可执行其中一个。实施本发明实施例,通过提供一种在线服务的方式,在终端设备中内嵌异常捕获的程序和机制,通过对系统程序异常的捕获,然后访问在线服务,通过 比较相应的设定参数,自动下载并更新系统内相应的错误模块,对终端设备内系统错误和逻辑错误的自动纠正,达到自动纠错的目的,减少了系统全部升级的时间和功耗,以及节省了人工维护终端设备的成本。与本发明基于在线服务的自动纠错的方法的实施例相对应,本发明还提供了终端设备实施例。本发明终端设备的第一实施例框图如图3所示,本发明实施例中的终端设备可以实现在平板电脑、数字电视、机顶盒、手机上,该装置至少可以包括:捕获模块310、下载模块320、更新模块330。其中:捕获模块310,用于通过预设的异常捕获机制捕获应用程序中运行异常的模块。终端设备上电启动之后,用户操作应用程序。当应用程序发生逻辑错误出现异常,或者出现系统级别的异常,捕获模块310通过相应的异常捕获机制,分析出当前出现的错误的模块。比如当系统为linux,捕获模块310可以通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件;当系统为android,捕获模块310可以通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。下载模块320,用于根据所述捕获到的应用程序中运行异常的模块下载对应的更新文件。通过相应的异常捕获机制,分析出当前出现的错误的模块后,提取错误的模块的参数信息,比如名称,版本信息,编译时间等,再发送所述应用程序中运行异常的模块的参数信息到前端服务器,前端服务器接收到运行异常的模块的参数信息后,进行判断处理,如果有最新的版本,则通知终端设备,进行下载对应的更新文件,下载模块320从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。具体实施中,下载模块320还可以把分析结果错误的模块的参数信息存放在系统的数据文件内。系统第二次重启后,自动去读取这个数据文件里面错误的模块的参数信息,把这些错误的模块的参数信息发送给服务器。更新模块330,用于根据所述更新文件更新所述应用程序。终端设备在接收完毕相应的更新文件后,更新模块330将系统中出错的模块替换成最新更新文件中的模块,系统更新纠错成功,然后系统重启。可选的,终端设备进一步还可以包括以下模块:报错模块340,用于当检测到当前运行的所述应用程序异常时,触发所述捕 获模块通过预设的异常捕获机制捕获应用程序中运行异常的模块。终端设备上电启动之后,用户操作应用程序。报错模块340检测应用程序是否发生逻辑错误出现异常,或者出现系统级别的异常。具体的,如图4所示,所述下载模块320至少包括:发送单元321,用于发送所述应用程序中运行异常的模块的参数信息到前端服务器。通过相应的异常捕获机制,分析出当前出现的错误的模块后,提取错误的模块的参数信息,比如名称,版本信息,编译时间等,发送单元321再发送所述应用程序中运行异常的模块的参数信息到前端服务器。例如,当前出错的所述应用程序名称为mediaplay,相关的动态链接库文件为Libaudio_demux.so,版本为2.10.04,编译时间为2013年5月4日9:40,发送单元321将这些运行异常的模块的参数信息发送到前端服务器。下载单元322,用于从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。下载单元322从前端服务器下载所述应用程序中异常的模块的参数信息对应的更新文件。例如,下载单元322从前端服务器下载版本为2.10.06,编译时间为2013年6月4日9:50的动态链接库文件Libaudio_demux.so。具体的,如图5所示,所述捕获模块310至少包括:第一捕获单元311a,用于通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件。比如当系统为linux,第一捕获单元311a可以通过backtrace分析出当前出错的所述应用程序名称和相关的动态链接库文件。例如,当运行应用程序mediaplay时发生逻辑错误出现异常,第一捕获单元311a可以通过backtrace分析出当前出错的所述应用程序名称为mediaplay,相关的动态链接库文件为Libaudio_demux.so。第二捕获单元311b,用于通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件。当系统为android,第二捕获单元311b可以通过java的异常捕获机制,反向查看到所述应用程序名称和对应的字节码文件,以捕获应用程序中运行异常的模块。具体实施中,更新模块330可包括第一捕获单元311a和第二捕获单元311b中一个。具体的,如图6所示,所述前端系统包括:查询单元410,用于根据所述参数信息比较版本库查询对应的更新文件。前 端服务器接收到运行异常的模块的参数信息后,进行判断处理,是否有有最新的版本。例如,前端服务器查找到有最新的版本,版本为2.10.06,编译时间为2013年6月4日9:50的动态链接库文件Libaudio_demux.so。发送单元420,用于发送所述参数信息对应的更新文件。实施本发明实施例,通过提供一种在线服务的方式,在终端设备中内嵌异常捕获的程序和机制,通过对系统程序异常的捕获,然后访问在线服务,通过比较相应的设定参数,自动下载并更新系统内相应的错误模块,对终端设备内系统错误和逻辑错误的自动纠正,达到自动纠错的目的,减少了系统全部升级的时间和功耗,以及节省了人工维护终端设备的成本。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1