一种应用程序更新方法及终端与流程

文档序号:11285869阅读:262来源:国知局
一种应用程序更新方法及终端与流程

本发明涉及终端通信技术领域,尤其涉及一种应用程序更新方法及终端。



背景技术:

手机等终端中往往会安装有很多应用程序,这些应用程序在使用过程中会发生不可预测的错误,导致应用程序不能正常使用。为了解决该问题,用户可以将应用程序进行更新,然而目前对应用程序进行更新时,往往直接将应用程序更新至最新版本,也就是说,并不是针对应用程序所出现的问题进行的版本更新,最新版本的应用程序也可能会出现相同的错误。



技术实现要素:

本发明的实施例提供了一种应用程序更新方法及终端,可以根据应用程序所出现的错误进行针对性的更新,以使得更新后的应用程序可以修复前述错误。

第一方面,本发明实施例提供了一种应用程序更新方法,该方法包括:

获取所述应用程序的报错信息;

基于所述报错信息,获取服务器发送的反馈信息;

判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息;

若所述反馈信息包括所述应用程序的预设版本信息,基于所述预设版本信息更新所述应用程序。

第二方面,本发明实施例还提供了一种终端,该终端包括:

第一获取单元,用于获取所述应用程序的报错信息;

第二获取单元,用于基于所述报错信息,获取服务器发送的反馈信息;

第一判断单元,用于判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息;

更新单元,用于若所述反馈信息包括所述应用程序的预设版本信息,基于所述预设版本信息更新所述应用程序。

本发明实施例通过获取所述应用程序的报错信息,并基于所述报错信息,获取服务器发送的反馈信息;然后再判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息;当判断出所述反馈信息包括所述应用程序的预设版本信息时,基于所述预设版本信息更新所述应用程序。该方法在应用程序报错时,及时根据应用程序的报错信息进行有针对性的更新操作,以修复应用程序中出现的报错。

附图说明

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

图1是本发明实施例提供的一种应用程序更新方法的流程示意图;

图2是图1所示方法中步骤s102的子步骤流程示意图;

图3是本发明实施例提供的一种应用程序更新方法的另一流程示意图;

图4是图3所示方法中步骤s205的子步骤流程示意图;

图5是本发明实施例提供的一种终端的结构示意图;

图6是本发明实施例提供的一种终端的另一结构示意图;

图7是图6所示终端中更新单元的结构示意图;

图8是本发明实施例提供的一种终端的又一结构示意图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

请参阅图1,图1是本发明实施例提供的一种应用程序更新方法的流程示意图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑或智能穿戴设备等终端中,对终端中应用程序出现报错时,进行及时更新应用程序,以修复应用程序所出现的报错问题。如图1所示,该应用程序更新方法包括以下步骤s101~s104。

s101、获取所述应用程序的报错信息。

终端内的安装的应用程序可以分为终端自带的预置应用程序和用户自行下载安装的应用程序。无论是哪种应用程序,在用户使用这些应用程序的过程中,这些应用程序都有可能会出现错误,进而使得该次使用应用程序中断。

为了可以及时对出现错误的应用程序进行修复,以提高应用程序运行的稳定性,在本实施例中,当检测到应用程序报错时,即应用程序出现错误,终端系统将获取该应用程序的报错信息。

在本实施例中,应用程序的报错信息包括错误堆栈信息和标识信息。其中,错误堆栈信息可以为报错发生的代码行数。在其他实施例中,报错信息也可以为其他的能够标识出应用程序所出现的错误的信息,在此不做具体限制。

另外,标识信息可以包括应用程序的包名、版本号等多种信息中的一种或几种组合,只要标识信息可以表征出应用程序的身份信息即可。

可以理解的是,报错信息所包括的内容不局限于上述两种的组合,还可以包括其他种类信息,比如,报错信息还可以包括终端的imei(internationalmobileequipmentidentity,简称imei)码、用户注册应用程序的用户账号等等,在此不做具体限制。

s102、基于所述报错信息,获取服务器发送的反馈信息。

请参阅图2,图2为本实施例中步骤s102的子步骤流程示意图。步骤s102的子步骤包括以下步骤s102a至s102b。

s102a、发送所述错误堆栈信息和标识信息至所述服务器。

在该实施例中,当终端系统获取到错误堆栈信息和标识信息后,终端系统将发送错误堆栈信息和标识信息至服务器。

在一实施例中,终端内也可以安装反馈模块,当终端系统获取到错误堆栈信息和标识信息后,将错误堆栈信息和标识信息传递至反馈模块,由反馈模块发送错误堆栈信息和标识信息至服务器。可以理解的是,该反馈模块也可以为独立的应用程序,在此不做具体限制。

当服务器接收到该终端系统发送的错误堆栈信息和标识信息时,将根据该错误堆栈信息和标识信息查找对应的应用程序的预设版本信息,其中,该预设版本信息为修复该报错信息的应用程序版本信息。

具体地,在一实施例中,服务器内会预先存储对应关系表,对应关系表如表1所示。

表1

在表1所示的对应关系表中,包括应用程序包名、版本号、错误堆栈信息和预设版本信息。当服务器接收到错误堆栈信息和标识信息时,服务器根据标识信息中的应用程序的包名、版本号以及错误堆栈信息确定对应的预设版本信息。

譬如,服务器接收到的标识信息中的包名为应用程序1,版本号为v1.1.1,错误堆栈信息为代码212行,那么服务器根据报错信息在表1所示的对应关系表中找到对应的预设版本信息为v1.1.2。

又譬如,服务器接收到的标识信息中的包名为应用程序2,版本号为v2.1.2,错误堆栈信息为代码100行,那么服务器根据报错信息在表1所示的对应关系表中找到对应的预设版本信息分别为v3.1.1、v3.1.4、v3.2.1。

服务器可以随机选取上述三个版本号中的任意一个作为预设版本信息,也可以以查找到的第一个版本号作为预设版本信息,在此不做具体限制。

为了避免查找到的预设版本信息也存在其他报错问题,当服务器根据对应关系表查找到预设版本信息时,还需要进一步判断该预设版本信息是否存在错误堆栈信息。

比如,若服务器将版本号为v3.1.4作为预设版本信息时,服务器在对应关系表中查找到该版本号v3.1.4对应的错误堆栈信息为代码300行,解决该代码300错误的预设版本信息为v3.2.3,此时服务器将版本号为v3.2.3作为最终的预设版本信息,这样可以减少终端向服务器发送报错信息的次数,提高应用程序运行的稳定性,同时也提高用户体验度。

当然,服务器也有可能在对应关系表中查找不到与报错信息对应的预设版本信息。比如,标识信息中的包名为应用程序3,在对应关系表中不存在应用程序3的相关报错信息,此时服务器将无法获取到预设版本信息。

为了可以解决应用程序3当前版本所出现的错误,服务器可以通过邮件等方式向相应的技术人员等发送通知,以使得相应技术人员可以对应用程序3的当前版本所出现的错误进行修复,并将修复版本信息以及安装文件上传至服务器,便于服务器及时对对应关系表进行更新以及执行后续对终端应用程序3的相关更新操作。

可以理解的是,表1所示出的对应关系表仅仅是多种对应关系表中的一种,在此不对对应关系表的形式和内容做具体限制。另外,服务器根据报错信息查找对应的预设版本信息的方法也不局限于上述方式,在此不做具体限制。

s102b、获取所述服务器根据所述错误堆栈信息和标识信息发送的反馈信息。

当服务器根据错误堆栈信息和标识信息获取到预设版本信息时,将根据预设版本信息生成反馈信息,并发送反馈信息至终端。可以理解的是,该反馈信息中将包括预设版本信息。

当服务器根据错误堆栈信息和标识信息未获取到预设版本信息时,也就是说,服务器内没有用来修复应用程序当前版本所出现错误的预设版本信息,此时服务器也生成反馈信息,该反馈信息中将不包括预设版本信息。

s103、判断所述反馈信息是否包括所述应用程序的预设版本信息。

当终端接收到服务器发送的反馈信息后,将判断该反馈信息中是否存在应用程序的预设版本信息。

s104、基于所述预设版本信息更新所述应用程序。

当步骤s103判断出反馈信息中存在预设版本信息,终端系统将根据预设版本信息更新应用程序。

具体地,在一实施例中,终端系统向服务器获取预设版本信息对应的应用程序的安装文件。当终端接收到服务器发送的应用程序的安装文件后,将根据该安装文件升级应用程序至预设版本,以修复旧版本应用程序中所出现的报错问题。

可以理解的是,在其他实施例中,服务器在发送反馈信息至终端时,也可以将与预设版本信息对应的应用程序的安装文件一起发送至终端,这样可以减少终端与服务器之间的交互次数,避免占用服务器过多资源。

本实施例中,通过在检测到应用程序报错时,获取应用程序的报错信息,并基于报错信息,获取服务器发送的反馈信息;然后再判断反馈信息是否包括应用程序的预设版本信息;当判断出反馈信息包括应用程序的预设版本信息时,基于预设版本信息更新应用程序。该方法可以对出现报错的应用程序进行有针对性的更新操作,以修复应用程序中出现的报错,提高应用程序的稳定性,同时也可以减少终端与服务器之间的报错交互次数,避免占用终端和服务器过多资源。

请参阅图3,图3是本发明实施例提供的一种应用程序更新方法的另一流程示意图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑或智能穿戴设备等终端中,对终端中应用程序出现报错时,进行及时更新应用程序,以修复应用程序所出现的报错问题。如图3所示,该应用程序更新方法包括以下步骤s201~s207。

s201、获取所述应用程序的报错信息。

在本实施例中,当检测到应用程序报错时,即应用程序出现错误,终端系统将获取该应用程序的报错信息。

在此,应用程序的报错信息包括错误堆栈信息和标识信息。其中,错误堆栈信息可以为报错发生的代码行数。在其他实施例中,报错信息也可以为其他的能够标识出应用程序所出现的错误的信息,在此不做具体限制。

另外,标识信息可以包括应用程序的包名、版本号等多种信息中的一种或几种组合,只要标识信息可以表征出应用程序的身份信息即可。

可以理解的是,报错信息所包括的内容不局限于上述两种的组合,还可以包括其他种类信息,比如,报错信息还可以包括终端的imei(internationalmobileequipmentidentity,简称imei)码、用户注册应用程序的用户账号等等,在此不做具体限制。

s202、基于所述报错信息,获取服务器发送的反馈信息。

在本实施例中,当终端系统获取到错误堆栈信息和标识信息后,终端系统将发送错误堆栈信息和标识信息至服务器。

在一实施例中,终端内也可以安装反馈模块,当终端系统获取到错误堆栈信息和标识信息后,将错误堆栈信息和标识信息传递至反馈模块,由反馈模块发送错误堆栈信息和标识信息至服务器。可以理解的是,该反馈模块也可以为独立的应用程序,在此不做具体限制。

当服务器接收到该终端系统发送的错误堆栈信息和标识信息时,将根据该错误堆栈信息和标识信息查找对应的应用程序的预设版本信息,其中,该预设版本信息为修复该报错信息的应用程序版本信息。

需要说明的是,服务器可以根据预先存储的对应关系表查找与报错信息对应的预设版本信息,也可以采用其他方式进行查找,在此不做具体限制。

服务器根据查找结果生成反馈信息,并将反馈信息发送至终端。可以理解的是,若服务器查找到与报错信息对应的预设版本信息,所生成的反馈信息中将包括该预设版本信息;若服务器未查找到与报错信息对应的预设版本信息,所生成的反馈信息中将不包括该预设版本信息。

s203、判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息;若所述反馈信息包括所述应用程序的预设版本信息,执行步骤s204;若所述反馈信息不包括所述应用程序的预设版本信息,执行步骤s206。

当终端接收到服务器发送的反馈信息后,将判断该反馈信息中是否存在应用程序的预设版本信息。

若反馈信息中包括应用程序的预设版本信息,说明服务器中存在可以修复报错信息的预设版本的应用程序,此时,将执行步骤s204。

若反馈信息不包括应用程序的预设版本信息,说明服务器中不存在可以修复报错信息的预设版本的应用程序,此时,将执行步骤s206。

s204、判断所述应用程序是否处于运行状态,若所述应用程序处于运行状态,则返回执行步骤s204;若所述应用程序未处于运行状态,执行步骤s205。

当步骤s203判断出反馈信息中包括预设版本信息时,先判断应用程序是否处于运行状态。需要说明的是,运行状态包括后台运行状态和前台运行状态。

当步骤s204判断出应用程序处于运行状态时,说明用户可能会使用到该应用程序,为了不影响用户使用应用程序,将暂不对应用程序进行更新操作,并间隔预定时间后重新执行步骤s204,即继续判断应用程序的运行状态。

当步骤s204判断出应用程序未处于运行状态时,为了可以及时修复应用程序所出现的问题,将执行步骤s205。

s205、基于所述预设版本信息更新所述应用程序。

当步骤s204判断出应用程序未处于运行状态时,终端系统将根据预设版本信息更新应用程序。

请参阅图4,图4为图3中步骤s205的子步骤流程示意图。该步骤s205的子步骤包括步骤s205a~s205d。

s205a、向所述服务器获取所述预设版本信息对应的应用程序的安装文件。

终端系统根据预设版本信息从服务器中下载对应的应用程序的安装文件。

在一实施例中,为了避免浪费用户的移动网络流量,终端向所述服务器获取所述预设版本信息对应的应用程序的安装文件,具体执行以下步骤:

s205a1、判断所述终端是否处于无线网络连接状态。

s205a2、若所述终端处于无线网络连接状态,从所述服务器中下载所述预设版本信息对应的应用程序的安装文件。

s205a3、若所述终端未处于无线网络连接状态,记录所述预设版本信息的状态为待下载状态,并在间隔预设时间后返回执行步骤s205a1。

s205b、判断所述应用程序是否为预置应用程序;若所述应用程序为预置应用程序,执行步骤s205c;若所述应用程序为非预置应用程序,执行步骤s205d。

在终端获取到预设版本信息对应的应用程序的安装文件之后,将判断应用程序是否为预置应用程序。其中,预置应用程序可以指终端内自带的应用程序。非预置应用程序可以指用户自行下载安装的应用程序。

s205c、调用终端系统的静默安装接口并根据所述安装文件更新所述应用程序。

当应用程序为预置应用程序时,可以调用终端系统的静默安装接口,并根据所述安装文件更新应用程序,这样可以在用户无感知的情况下,修复应用程序所出现的报错问题。

s205d、生成提示信息,用于提示用户触发预设更新操作以根据所述安装文件更新所述应用程序。

当应用程序为非预置应用程序时,在此种情况下,安装应用程序一般需要用户参与。终端生成提示信息,用于提示用户手动触发预设更新操作。

譬如,在提示信息中,预设更新操作为一个更新按钮,用户点击更新按钮时,终端将获取到点击更新按钮的操作事件,并根据该操作事件和安装文件更新应用程序。

可以理解的是,上述根据安装文件更新应用程序的方式仅仅是众多更新应用程序的方式中的一种,应用程序的更新方式可以根据实际需求进行设置,在此不做具体限制。

s206、在所述终端满足预设触发条件时,向所述服务器发送获取所述预设版本信息的请求。

当步骤s203判断出反馈信息中不包括预设版本信息时,将判断终端是否满足预设触发条件。

在此,预设触发条件可以为终端重新开机。比如,当检测到终端重新开机,则判定满足预设触发条件,并执行相应步骤。

预设触发条件也可以为每天的特定时间点或者间隔预定时间。比如,预设触发条件为每天早上8点,或者每间隔两个小时。当时间达到每天早上8点,或者每间隔两个小时,都判定满足触发条件。

当然,预设触发条件不局限于上述几种,可以根据实际需求进行设置,在此不对预设触发条件进行限制。

当判断出终端满足预设触发条件时,终端将向所述服务器发送获取所述预设版本信息的请求。具体地,终端根据报错信息生成获取预设版本信息的请求,并将该请求发送至服务器。可以理解的是,该请求中携带有报错信息。

在服务器接收到终端发送的请求时,服务器将根据该请求中的报错信息获取对应的预设版本信息。

当服务器根据请求中的报错信息查找到对应的预设版本信息时,也就是说,技术人员已经将解决报错信息的预设版本信息和相应的安装文件上传至服务器,此时服务器将向终端发送该预设版本信息。

当服务器根据请求未查找到对应的预设版本信息时,也就是说,技术人员还未将解决报错信息的预设版本信息和相应的安装文件上传至服务器,此时服务器不向终端发送任何回馈信息,也就是说,终端将不会收到预设版本信息。

s207、接收所述服务器根据所述请求发送的预设版本信息,并返回执行步骤s204。

终端在向服务器发送获取预设版本信息的请求之后,若终端接收到服务器根据该请求发送的预设版本信息,则说明服务器中存在用于修复该报错问题的预设版本信息以及对应的安装文件,此时,终端将执行步骤s204。

本实施例中,通过获取应用程序的报错信息,并基于报错信息,获取服务器发送的反馈信息;然后再判断反馈信息是否包括应用程序的预设版本信息;当判断出反馈信息包括应用程序的预设版本信息,且在判断出应用程序未处于运行状态下,基于预设版本信息更新应用程序。该方法在用户不使用应用程序的情况下,对应用程序进行有针对性的更新操作,以修复应用程序中出现的报错,提高应用程序的稳定性,同时也可以减少终端与服务器之间的报错交互次数,避免占用终端和服务器过多资源。

请参阅图5,图5是本发明实施例提供的一种终端的结构示意图。该终端300可以为智能手机(如android手机、ios手机等)、平板电脑或智能穿戴设备等电子设备,在此不做具体限制。

如图5所示,本实施例中的终端300包括第一获取单元301、第二获取单元302、第一判断单元303和更新单元304。

(1)第一获取单元301;

第一获取单元301,用于获取所述应用程序的报错信息。

具体地,当检测到应用程序报错时,即应用程序出现错误,第一获取单元301将获取该应用程序的报错信息。

应用程序的报错信息包括错误堆栈信息和标识信息。其中,错误堆栈信息可以为报错发生的代码行数。在其他实施例中,报错信息也可以为其他的能够标识出应用程序所出现的错误的信息,在此不做具体限制。

另外,标识信息可以包括应用程序的包名、版本号等多种信息中的一种或几种组合,只要标识信息可以表征出应用程序的身份信息即可。

第一获取单元301在获取到报错信息后,将报错信息发送至第二获取单元302。

(2)第二获取单元302;

第二获取单元302,用于基于所述报错信息,获取服务器发送的反馈信息。

在第二获取单元302接收到报错信息后,将报错信息发送至服务器。具体地,第二获取单元302发送错误堆栈信息和标识信息至服务器。

当服务器根据接收到的错误堆栈信息和标识信息查找到对应的预设版本信息时,将根据预设版本信息生成反馈信息,并发送反馈信息至终端。第二获取单元302将获取服务器根据错误堆栈信息和标识信息发送的反馈信息。可以理解的是,该反馈信息中将包括预设版本信息。

当服务器根据错误堆栈信息和标识信息未获取到预设版本信息时,也就是说,服务器内没有用来修复应用程序当前版本所出现错误的预设版本信息,此时服务器也生成反馈信息并发送给终端。第二获取单元302将获取该反馈信息。其中,该反馈信息中将不包括预设版本信息。

需要说明的是,预设版本信息为修复该报错信息的应用程序版本信息。

(3)第一判断单元303;

第一判断单元303,用于判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息。

第二获取单元302将获取到的反馈信息传递至第一判断单元303。第一判断单元303判断该反馈信息是否包括应用程序的预设版本信息。

(4)更新单元304。

更新单元304,用于若所述反馈信息包括所述应用程序的预设版本信息,基于所述预设版本信息更新所述应用程序。

当第一判断单元303判断出反馈信息中存在预设版本信息时,第一判断单元303将向更新单元304发送第一信号,以使得更新单元304在接收到第一信号后,基于预设版本信息更新应用程序。

具体地,更新单元304向服务器获取预设版本信息对应的应用程序的安装文件。当更新单元304接收到服务器发送的应用程序的安装文件后,将根据该安装文件升级应用程序至预设版本,以修复旧版本应用程序中所出现的报错问题。

本实施例中,在第一获取单元301获取应用程序的报错信息,并由第二获取单元302基于报错信息获取服务器发送的反馈信息;然后再由第一判断单元303判断反馈信息是否包括应用程序的预设版本信息;当第一判断单元303判断出反馈信息包括应用程序的预设版本信息时,更新单元304基于预设版本信息更新应用程序。该终端300可以对出现报错的应用程序进行有针对性的更新操作,以修复应用程序中出现的报错,提高应用程序的稳定性,同时也可以减少终端与服务器之间的报错交互次数,避免占用终端和服务器过多资源。

请参阅图6,图6是本发明实施例提供的一种终端的另一结构示意图。该终端400可以为智能手机(如android手机、ios手机等)、平板电脑或智能穿戴设备等电子设备,在此不做具体限制。

如图5所示,本实施例中的终端400包括第一获取单元401、第二获取单元402、第一判断单元403、第三判断单元404、更新单元405、发送单元406和接收单元407。

(1)第一获取单元401;

第一获取单元401,用于获取所述应用程序的报错信息。

具体地,当检测到应用程序报错时,即应用程序出现错误,第一获取单元401将获取该应用程序的报错信息。

应用程序的报错信息包括错误堆栈信息和标识信息。其中,错误堆栈信息可以为报错发生的代码行数。在其他实施例中,报错信息也可以为其他的能够标识出应用程序所出现的错误的信息,在此不做具体限制。

另外,标识信息可以包括应用程序的包名、版本号等多种信息中的一种或几种组合,只要标识信息可以表征出应用程序的身份信息即可。

第一获取单元401在获取到报错信息后,将报错信息发送至第二获取单元402。

(2)第二获取单元402;

第二获取单元402,用于基于所述报错信息,获取服务器发送的反馈信息。

第二获取单元402在获取到报错信息后,即获取到错误堆栈信息和标识信息后,将发送错误堆栈信息和标识信息至服务器。

当服务器接收到该第二获取单元402发送的错误堆栈信息和标识信息时,将根据该错误堆栈信息和标识信息查找对应的应用程序的预设版本信息,其中,该预设版本信息为修复该报错信息的应用程序版本信息。

需要说明的是,服务器可以根据预先存储的对应关系表查找与报错信息对应的预设版本信息,也可以采用其他方式进行查找,在此不做具体限制。

服务器根据查找结果生成反馈信息,并将反馈信息发送至终端。可以理解的是,若服务器查找到与报错信息对应的预设版本信息,所生成的反馈信息中将包括该预设版本信息;若服务器未查找到与报错信息对应的预设版本信息,所生成的反馈信息中将不包括该预设版本信息。

第二获取单元402将获取服务器发送的反馈信息,并将反馈信息传递至第一判断单元403。

(3)第一判断单元403;

第一判断单元403,用于判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息。

当第一判断单元403接收到反馈信息后,将判断该反馈信息中是否存在应用程序的预设版本信息。

若反馈信息中包括应用程序的预设版本信息,说明服务器中存在可以修复报错信息的预设版本的应用程序,此时,第一判断单元403将向第三判断单元404发送第二信号,以使得第三判断单元404根据第二信号执行相应操作。

若反馈信息不包括应用程序的预设版本信息,说明服务器中不存在可以修复报错信息的预设版本的应用程序,此时,第一判断单元403将向发送单元406发送第三信号,以使得发送单元406根据第三信号执行相应操作。

(4)第三判断单元404;

第三判断单元404,用于判断所述应用程序是否处于运行状态。

第三判断单元404在接收到第二信号后,将判断应用程序是否处于运行状态。在此,运行状态包括后台运行状态和前台运行状态。

当第三判断单元404判断出应用程序处于运行状态时,说明用户可能会使用到该应用程序,为了不影响用户使用应用程序,将暂不对应用程序进行更新操作,并间隔预定时间后,第三判断单元404重新判断应用程序的运行状态。

当第三判断单元404判断出应用程序未处于运行状态时,为了可以及时修复应用程序所出现的问题,第三判断单元404向更新单元405发送第四信号,以使得更新单元405根据第四信号执行相应操作。

(5)更新单元405;

更新单元405,用于基于所述预设版本信息更新所述应用程序。

请参阅图7,图7为图6中更新单元的结构示意图。该更新单元405包括第三获取单元4051、第二判断单元4052、调用更新单元4053和提示更新单元4054。具体如下:

(51)第三获取单元4051;

第三获取单元4051,用于向所述服务器获取所述预设版本信息对应的应用程序的安装文件。

具体地,第三获取单元4051根据预设版本信息从服务器中下载对应的应用程序的安装文件。

在一实施例中,为了避免浪费用户的移动网络流量,第三获取单元4051向所述服务器获取所述预设版本信息对应的应用程序的安装文件时,具体执行:判断所述终端是否处于无线网络连接状态,若所述终端处于无线网络连接状态,从所述服务器中下载所述预设版本信息对应的应用程序的安装文件;若所述终端未处于无线网络连接状态,记录所述预设版本信息的状态为待下载状态,并在间隔预设时间后重新判断终端是否处于无线网络连接状态。

(52)第二判断单元4052;

第二判断单元4052,用于判断所述应用程序是否为预置应用程序。

在第三获取单元4051获取到预设版本信息对应的应用程序的安装文件之后,第二判断单元4052将判断应用程序是否为预置应用程序。其中,预置应用程序可以指终端内自带的应用程序。非预置应用程序可以指用户自行下载安装的应用程序。

(53)调用更新单元4053;

调用更新单元4053,用于若所述应用程序为预置应用程序,调用终端系统的静默安装接口并根据所述安装文件更新所述应用程序。

当第二判断单元4052判断出应用程序为预置应用程序时,调用更新单元4053可以调用终端系统的静默安装接口,并根据所述安装文件更新应用程序,这样可以在用户无感知的情况下,修复应用程序所出现的报错问题。

(54)提示更新单元4054。

提示更新单元4054,用于若所述应用程序为非预置应用程序,生成提示信息,用于提示用户触发预设更新操作以根据所述安装文件更新所述应用程序。

当第二判断单元4052判断出应用程序为非预置应用程序时,在此种情况下,安装应用程序一般需要用户参与。提示更新单元4054生成提示信息,用于提示用户手动触发预设更新操作,并在接收到点击预设更新操作的事件之后,根据安装文件更新所述应用程序。

(6)发送单元406;

发送单元406,用于若所述反馈信息不包括所述应用程序的预设版本信息,在所述终端满足预设触发条件时,向所述服务器发送获取所述预设版本信息的请求。

当第一判断单元403判断出反馈信息中不包括预设版本信息时,发送单元406判断终端是否满足预设触发条件。

在此,预设触发条件可以为终端重新开机,也可以为每天的特定时间点或者间隔预定时间等等,在此不做具体限制。

当发送单元406判断出终端400满足预设触发条件时,发送单元406向所述服务器发送获取所述预设版本信息的请求。

具体地,发送单元406根据报错信息生成获取预设版本信息的请求,并将该请求发送至服务器。可以理解的是,该请求中携带有报错信息。

在服务器接收到发送单元406发送的请求时,服务器将根据该请求获取对应的预设版本信息。

当服务器根据请求查找到对应的预设版本信息时,此时服务器将向终端400发送该预设版本信息。

当服务器根据请求未查找到对应的预设版本信息时,也就是说,技术人员还未将解决报错信息的预设版本信息和相应的安装文件上传至服务器,此时服务器不向终端400发送任何回馈信息。

(7)接收单元407。

接收单元407,用于接收所述服务器根据所述请求发送的预设版本信息。

在发送单元406向服务器发送获取预设版本信息的请求之后,接收单元407将接收服务器根据该请求发送的预设版本信息,并在接收到该预设版本信息后,向第三判断单元404发送第六信号,以使得第三判断单元404根据第六信号执行相应判断操作。

本实施例中,第一获取单元404获取应用程序的报错信息,并由第二获取单元402基于报错信息,获取服务器发送的反馈信息;然后再由第一判断单元403判断反馈信息是否包括应用程序的预设版本信息;当第一判断单元403判断出反馈信息包括应用程序的预设版本信息,且第三判断单元404判断出应用程序未处于运行状态下,更新单元405基于预设版本信息更新应用程序。该终端400在用户不使用应用程序的情况下,对应用程序进行有针对性的更新操作,以修复应用程序中出现的报错,提高应用程序的稳定性,同时也可以减少终端与服务器之间的报错交互次数,避免占用终端和服务器过多资源。

本发明还提供一种终端,如平板电脑、手机、电子阅读器等移动终端,请参阅图8,图8为本发明实施例提供的一种终端的结构示意图。该终端600可以包括输入装置601、存储器602、传感器603、显示装置604、以及处理器605。

本领域技术人员可以理解,图8中示出的终端结构并不构成对终端600的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

输入装置601可用于接收输入的数字、字符信息或用户特征信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

在一实施例中,输入装置601可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。

存储器602可用于存储应用程序和数据。存储器602存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器605通过运行存储在存储器602的应用程序,从而执行各种功能应用以及数据处理。

存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。

传感器603,比如光传感器、运动传感器以及其他传感器。在一实施例中,光传感器可包括环境光传感器及接近传感器。运动传感器包括重力加速度传感器,该重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。至于终端600还可配置气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

显示装置604,可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示装置604可包括显示面板。

处理器605是终端600的控制中心,利用各种接口和线路连接整个终端600的各个部分,通过运行或执行存储在存储器602内的应用程序,以及调用存储在存储器602内的数据,执行终端600的各种功能和处理数据,从而对终端600进行整体监控。

尽管图8中未示出,本领域的技术人员可以理解,终端600还可以包括摄像头、蓝牙模块、无线保真等,在此不再赘述。

具体在本实施例中,终端中的处理器605会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器602中,由处理器605来运行存储在存储器602中的程序代码,并执行如下操作:获取所述应用程序的报错信息;基于所述报错信息,获取服务器发送的反馈信息;判断所述反馈信息是否包括所述应用程序的预设版本信息,其中,所述预设版本信息为修复所述报错信息的应用程序版本信息;若所述反馈信息包括所述应用程序的预设版本信息,基于所述预设版本信息更新所述应用程序。

在一实施例中,所述报错信息包括错误堆栈信息和标识信息。所述处理器605在执行基于所述报错信息,获取服务器发送的反馈信息步骤时,具体执行如下操作:发送所述错误堆栈信息和标识信息至所述服务器;获取所述服务器根据所述错误堆栈信息和标识信息发送的反馈信息。

进一步地,所述处理器605还执行如下操作:若所述反馈信息不包括所述应用程序的预设版本信息,在所述终端满足预设触发条件时,向所述服务器发送获取所述预设版本信息的请求;接收所述服务器根据所述请求发送的预设版本信息,并基于所述预设版本信息更新所述应用程序。

在一实施例中,处理器605在执行基于所述预设版本信息更新所述应用程序步骤时,具体执行以下步骤:向所述服务器获取所述预设版本信息对应的应用程序的安装文件;判断所述应用程序是否为预置应用程序;若所述应用程序为预置应用程序,调用终端系统的静默安装接口并根据所述安装文件更新所述应用程序;若所述应用程序为非预置应用程序,生成提示信息,用于提示用户触发预设更新操作以根据所述安装文件更新所述应用程序。

在一实施例中,所述处理器605在执行基于所述预设版本信息更新所述应用程序步骤之前,还执行如下操作:判断所述应用程序是否处于运行状态;若所述应用程序未处于运行状态,基于所述预设版本信息更新所述应用程序。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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