应用程序的更新方法和装置与流程

文档序号:11215982阅读:280来源:国知局
应用程序的更新方法和装置与流程

本发明实施例涉及信息技术领域,尤其涉及一种应用程序的更新方法和装置。



背景技术:

随着智能手机等终端设备的快速普及和网络速度、资源等的快速提升,互联网已经颠覆性地改变了人们的传统生活理念和出行消费以及日常生活交互方式,各种各样的移动式和嵌入式终端设备与应用程序更是层出不穷。

对于运营商而言,有越来越多的新内容信息可以借助于不同的应用程序进行不同方式的推送。

对于终端的用户而言,越来越多的人每时每刻都在寻找与其自身的诸多不同需求所匹配的应用程序,并期望能得到更好的推送内容和更安全更健壮的应用体验,而不希望所安装的应用程序出现各种缺陷(bug)和崩溃等问题,不希望下载安装的应用程序影响其它已安装的应用程序的运行,更不希望影响终端系统的直接运行。

相应的,对于应用程序的开发者而言,新的商务合作与运营活动和推送需求对应用程序的功能样式、以及扩展支持能力等提出了更多更快的需求,从而直接导致现在的诸多应用程序为了尽快的推出新功能需求样式或者尽早超越竞争对手等不断加快应用程序的开发速度,缩短应用程序的上线更新周期。

应用程序一旦发布后,受限于开发速度等原因,可能需要更新,对出现的 一些问题进行修复,或者,根据所合作的运营商的推送需求或者终端用户的需求对应用程序的功能需要扩展。当应用程序需要更新时,一般是通过发布新版本的应用程序,使用户通过下载安装新版本的应用程序的操作来实现。

存在的缺陷在于:需要用户通过不断更新应用程序的版本,以实现问题修复或者功能扩展,操作繁琐,且系统性能开销较大,可能导致用户卸载应用程序,浪费开发者辛辛苦苦投入的诸多人力、物力和财力,给开发者和合作的运营商都带来严重损失;更甚至通过版本更新的开发周期和用户的实际更新到新版本的应用程序的收敛周期都会比较长,导致难于全面快速及时的修复问题,或者难以及时实现功能的扩展。



技术实现要素:

本发明实施例提供一种应用程序的更新方法和装置,以优化应用程序的更新方案。

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

获取安装同一应用程序的至少两个客户端的属性信息;

根据所述属性信息,确定待更新的至少一个目标客户端,以及对应的待更新内容;

将所述待更新内容配置为更新命令,下发至对应的目标客户端,以使所述目标客户端根据所述更新命令对所述应用程序的安装数据进行更新。

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

属性信息获取模块,用于获取安装同一应用程序的至少两个客户端的属性信息;

更新对象确定模块,用于根据所述属性信息,确定待更新的至少一个目标 客户端,以及对应的待更新内容;

更新模块,用于将所述待更新内容配置为更新命令,下发至对应的目标客户端,以使所述目标客户端根据所述更新命令对所述应用程序的安装数据进行更新。

本发明实施例提供的应用程序的更新方法和装置,通过获取安装同一应用程序的至少两个客户端的属性信息,既可以将具有相同属性信息的客户端批量确定为待更新的目标客户端,并确定对应的待更新内容,基于此,配置更新命令,并下发至对应的目标客户端,从而实现对具有相同属性信息的目标客户端中的同一应用程序进行批量更新;又可以将具有个性化属性信息的客户端精确确定为待更新的目标客户端,并确定对应的待更新内容,基于此,配置更新命令,并下发至该目标客户端,从而实现对具有个性化属性信息的某个目标客户端中的应用程序的指定更新,一方面,在实现有效更新的同时,减少了对无关用户的打扰;另一方面,针对已经发布出去的应用程序,进行在线更新,无需下载安装新版本的应用程序,降低了系统性能开销,提升了用户体验,且提升了开发者和合作的运营商的利益;此外,并不受限于新版本的开发周期和用户的实际更新到新版本的应用程序的收敛周期都比较长的影响,能够及时在线更新。

附图说明

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

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

图2为本发明实施例二提供的一种应用程序的更新方法的流程图;

图3为本发明实施例三提供的一种应用程序的更新装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

实施例一

请参阅图1,为本发明实施例一提供的一种应用程序的更新方法的流程图。本发明实施例的方法可以由配置以硬件和/或软件实现的应用程序的更新装置来执行,该实现装置典型的是配置于能够提供应用程序的更新服务的设备中。

该方法包括:

110、获取安装同一应用程序的至少两个客户端的属性信息。

在本操作中,所述属性信息是体现客户端自身属性以及该应用程序在该客户端中的自有属性,例如可包括下述至少一项:所属终端标识信息、应用渠道信息、应用和地域信息。

其中,应用程序开发完成后,可以通过各种应用渠道进行发布,以供客户端获取并安装。本操作中,所述应用渠道信息表明该客户端获取该应用程序的渠道,可包括下述至少一项:主版渠道、分版本渠道、高速下载渠道、分升级渠道、m站渠道,web渠道以及应用商店渠道。地域信息为该客户端所属客户 端当前所处的地域,可通过定位技术获取。

120、根据所述属性信息,确定待更新的至少一个目标客户端,以及对应的待更新内容。

本操作可包括以下两种实现方式:

一种是,将具有相同属性信息的客户端批量确定为待更新的目标客户端,例如,将应用渠道信息相同、应用版本信息相同或地域信息相同的各客户端确定为待更新的目标客户端。相应的,将所述目标客户端中的所述应用程序的待修复问题和/或待扩展功能确定为对应的待更新内容。

这种实现方式中,可以批量确定待更新的目标客户端,并确定所述目标客户端中的所述应用程序的待更新内容。

另一种是,将具有个性化属性信息的客户端精确确定为待更新的目标客户端,例如,将与所属终端标识信息对应的客户端确定为待更新的目标客户端。相应的,将该目标客户端中的所述应用程序的待修复问题和/或待扩展功能确定为对应的待更新内容。

这种实现方式中,可以精确确定某个客户端为待更新的目标客户端,并确定该目标客户端中的所述应用程序的待更新内容。

130、将所述待更新内容配置为更新命令,下发至对应的目标客户端,以使所述目标客户端根据所述更新命令对所述应用程序的安装数据进行更新。

在本操作中,所述更新命令的形式可包括下述至少一项:组合命令、批处理命令、脚本、程序片段或源码diff。所述更新命令无需编译,可直接在目标客户端运行。

其中,组合命令是由一系列命令按一定的顺序集合而成的一个可执行的文本文件,扩展名可以为.cmd,也可以是其它后缀形式,本实施例对此不进行限 制。批处理命令是由一系列命令按一定的顺序集合而成的一个可执行的文本文件,扩展名可以为.bat,也可以是其它后缀形式,本实施例对此不进行限制。脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。程序片段是指使用特定的编程语言编写的实现特定功能的代码的组合。源码diff是使用特定的编程语言编写的一系列代码的组合,用于替换目标客户端中的所述应用程序的部分源代码。

需要说明的是,在本操作中,组合命令、批处理命令或脚本并不更改所述应用程序的源代码。而程序片段或源码diff更改了所述应用程序的源代码。

在将更新命令下发时,可以单独下发,也可以随推送信息一同下发。具体可以基于云平台实现下发,其中,云平台是由一群松散耦合的计算机组成的一个超级虚拟计算机或者cdn(contentdeliverynetwork,内容分发网络)服务器集群等。

在实现更新时,可以采用客户端本地后台静默运行,而不会给用户带来过多的感知和打扰,具体可以是:在将所述更新命令下发至对应的目标客户端时,下发后台静默更新控制命令至对应的目标客户端;或者可以是:将后台静默更新控制命令携带在更新命令中,下发至对应的目标客户端。

在实现更新时,也可以结合实际需求进行一定的用户可选性引导操作,从而方便用户进行自主选择和处理。例如,对于某些特殊的问题修复或者功能扩展处理,可以在用户进入到指定场景后触发进行,更或者某些问题修复或功能扩展是需要或者可以根据用户的不同选择而进行不同引导处理;或者也可以直接建议引导用户进行相应问题修复或功能扩展处理。具体以何种形式,取决于问题修复或者功能扩展的策略需求以及具体的时效性。

示例性地,所述目标客户端根据所述更新命令对所述应用程序中的安装数 据进行更新可包括:修改某些错误数据、修改某些配置信息、对某些文件进行重命名,或者替换所述应用程序中某些类或方法对应的代码等,本实施例对此不进行限制。

在实现更新时,可具体包括:目标客户端判断更新命令是简单命令信息还是复合命令信息;如果判断结果为简单命令信息,则直接根据所述更新命令对所述应用程序的安装数据进行更新;如果判断结果为复合命令信息,则根据所述更新命令,并通过与所述应用程序进行交互,实现对所述应用程序的安装数据的更新。有些安装数据的更新是需要一定触发条件(例如,时间有效性)的,这些安装数据对应的更新命令为复合命令信息,在具体更新时,需要根据所述更新命令,并通过与所述应用程序进行交互,在满足更新的触发条件时,实现对所述应用程序中这些安装数据的更新。

本实施例的技术方案,通过获取安装同一应用程序的至少两个客户端的属性信息,既可以将具有相同属性信息的客户端批量确定为待更新的目标客户端,并确定对应的待更新内容,基于此,配置更新命令,并下发至对应的目标客户端,从而实现对具有相同属性信息的目标客户端中的同一应用程序进行批量更新;又可以将具有个性化属性信息的客户端精确确定为待更新的目标客户端,并确定对应的待更新内容,基于此,配置更新命令,并下发至该目标客户端,从而实现对具有个性化属性信息的某个目标客户端中的应用程序的指定更新。一方面,针对客户端个性化的属性信息确定目标客户端和待更新内容,针对性更强,且更新措施更灵活,在实现有效更新的同时,减少了对无关用户的打扰;另一方面,针对已经发布出去的应用程序,进行在线更新,无需下载安装新版本的应用程序,降低了系统性能开销,提升了用户体验,且提升了开发者和合作的运营商的利益;此外,并不受限于新版本的开发周期和用户的实际更新到 新版本的应用程序的收敛周期都比较长的影响,能够及时在线更新,并可根据不同终端情况而针对性处理。

本实施例的技术方案,可以应用于对具有相同属性信息(例如,相同应用渠道信息、相同应用版本信息或相同地域信息)的目标客户端中的同一应用程序批量进行问题修复和/或功能扩展;又可以应用于对具有个性化属性信息的某个目标客户端中的应用程序进行个性化的问题修复和/或功能扩展。

在上述方案中,在将所述待更新内容配置为更新命令之后,在下发至对应的目标客户端之前,所述方法还可优选包括:

对所述更新命令进行压缩加密以及容错检验。

这样操作的好处在于:通过有效的加解密机制能保障免受外界破解攻击的风险,提升安全性;通过容错检验能保证更新命令有效无误,以免下发错误以及被第三方拦截篡改。

实施例二

请参阅图2,为本发明实施例二提供的一种应用程序的更新方法的流程图。该方法包括:

210、获取安装同一应用程序的至少两个客户端的属性信息。

220、获取所述至少两个客户端针对所述应用程序而提供的应用运行报告。

具体地,可以通过每个客户端中的同一应用程序中的错误统计模块获取该应用程序的应用运行报告。

230、从所述应用运行报告中获取所述应用程序的运行状态信息。

其中,所述运行状态信息可包括下述至少一项:运行异常信息、运行错误信息、应用程序无响应信息,以及用户反馈的运行故障描述信息。

240、根据所述属性信息,确定待更新的至少一个目标客户端;根据所述运行状态信息和所述属性信息,确定对应的待更新内容。

本操作中,可以采用上述实施例中操作120中的两种实现方式确定待更新的至少一个目标客户端,不再赘述。

在将具有相同属性信息的客户端批量确定为待更新的目标客户端这种实现方式中,根据所述运行状态信息和所述属性信息,确定待更新内容,可具体包括:

将所述运行状态信息按照所述属性信息进行分类统计,并将分类统计结果对应的运行状态信息进行整合;

根据整合结果,确定待更新内容。

示例性地,将各客户端提供的应用运行报告中的运行状态信息按照应用渠道信息、应用版本信息或地域信息进行分类统计,并将分类统计结果对应的应用运行报告中的运行状态信息进行整合,根据整合结果确定待更新内容。

例如,假设共有4个客户端安装有应用程序“百度糯米”,客户端1的属性信息包括:所属终端标识信息“1”、应用渠道信息“应用商店渠道”(如,乐商店)、应用版本信息“6.1.5”,以及地域信息“北京”,从该客户端提供的该应用程序的应用运行报告中获取到的运行状态信息包括:页面m对应的应用程序无响应信息;

客户端2的属性信息包括:所属终端标识信息“2”、应用渠道信息“高速下载渠道”、应用版本信息“6.2.0”,以及地域信息“北京”,从该客户端提供的该应用程序的应用运行报告中获取到的运行状态信息包括:商品x图标加载错误的运行错误信息,以及页面m对应的应用程序无响应信息;

客户端3的属性信息包括:所属终端标识信息“3”、应用渠道信息“应用 商店渠道”、应用版本信息“6.2.0”,以及地域信息“北京”,从该客户端提供的该应用程序的应用运行报告中获取到的运行状态信息包括:商品x图标加载错误的运行错误信息,以及页面m对应的应用程序无响应信息;

客户端4的属性信息包括:所属终端标识信息“4”、应用渠道信息“m站渠道”、应用版本信息“6.2.0”,以及地域信息“安徽”,从该客户端提供的该应用程序的应用运行报告中获取到的运行状态信息包括:页面m对应的应用程序无响应信息,以及页面n对应的运行异常信息;

假设将具有相同属性信息(具体是,应用版本信息“6.2.0”)的客户端2、客户端3、和客户端4批量确定为待更新的目标客户端,相应的,将各客户端(即,客户端1、客户端2、客户端3、和客户端4)提供的应用运行报告中的运行状态信息按照应用版本信息进行分类统计,得到应用版本信息“6.1.5”的类别,以及应用版本信息“6.2.0”的类别,并将应用版本信息“6.2.0”的类别对应的客户端2、客户端3和客户端4各自的应用运行报告中的运行状态信息进行整合,根据整合结果确定目标客户端(即,客户端2、客户端3、和客户端4)的待更新内容为:商品x图标加载错误的运行错误信息,页面m对应的应用程序无响应信息,以及页面n对应的运行异常信息。

250、将所述待更新内容配置为更新命令,下发至对应的目标客户端,以使所述目标客户端根据所述更新命令对所述应用程序的安装数据进行更新。

本操作中,上述实施例提供的更新命令的形式、更新命令的下发方式、以及更新方式同样适用于本实施例,不再赘述。

本实施例的技术方案,通过获取安装同一应用程序的至少两个客户端的属性信息以及应用运行报告,既可以将具有相同属性信息的客户端批量确定为待更新的目标客户端,并根据该相同属性信息和对应的应用运行报告中的运行状 态信息,确定对应的待更新内容,基于此,配置更新命令,并下发至对应的目标客户端,从而实现对具有相同属性信息的目标客户端中的同一应用程序进行批量更新;又可以将具有个性化属性信息的客户端精确确定为待更新的目标客户端,并根据该个性化属性信息和对应的应用运行报告中的运行状态信息,确定对应的待更新内容,基于此,配置更新命令,并下发至该目标客户端,从而实现对具有个性化属性信息的某个目标客户端中的应用程序的指定更新,一方面,在实现有效更新的同时,减少了对无关用户的打扰;另一方面,针对已经发布出去的应用程序,进行在线更新,无需下载安装新版本的应用程序,降低了系统性能开销,提升了用户体验,且提升了开发者和合作的运营商的利益;此外,并不受限于新版本的开发周期和用户的实际更新到新版本的应用程序的收敛周期都比较长的影响,能够及时在线更新。

本实施例的技术方案,可以应用于对具有相同属性信息(例如,相同应用渠道信息、相同应用版本信息或相同地域信息)的目标客户端中的同一应用程序批量进行问题修复;又可以应用于对具有个性化属性信息的某个目标客户端中的应用程序进行个性化的问题修复。

需要说明的是,本实施例中,至少两个客户端的属性信息和所述至少两个客户端提供的应用运行报告的获取是独立进行的,对两者的执行顺序不进行限制。

在上述方案中,在将所述待更新内容配置为更新命令之后,在下发至对应的目标客户端之前,所述方法还可优选包括:

对所述更新命令进行压缩加密以及容错检验。

这样操作的好处可参见上述实施例,不再赘述。

实施例三

请参阅图3,为本发明实施例三提供的一种应用程序的更新装置的结构示意图。该装置包括:属性信息获取模块310、更新对象确定模块320和更新模块330。

其中,属性信息获取模块310用于获取安装同一应用程序的至少两个客户端的属性信息;更新对象确定模块320用于根据所述属性信息,确定待更新的至少一个目标客户端,以及对应的待更新内容;更新模块330用于将所述待更新内容配置为更新命令,下发至对应的目标客户端,以使所述目标客户端根据所述更新命令对所述应用程序的安装数据进行更新。

在上述方案中,所述属性信息可包括下述至少一项:所属终端标识信息、应用渠道信息、应用版本信息和地域信息。

进一步地,所述应用渠道可包括下述至少一项:主版渠道、分版本渠道、高速下载渠道、分升级渠道、m站渠道,web渠道以及应用商店渠道。

进一步地,更新对象确定模块320可具体用于:

将应用渠道信息相同、应用版本信息相同或地域信息相同的各客户端确定为待更新的目标客户端;或者

将与所属终端标识信息对应的客户端确定为待更新的目标客户端。

在上述方案中,所述更新命令的形式可包括下述至少一项:组合命令、批处理命令、脚本、程序片段或源码diff。

在上述方案中,更新模块330可具体用于在将所述待更新内容配置为更新命令之后,在下发至对应的目标客户端之前,对所述更新命令进行压缩加密以及容错检验。

在上述方案中,所述待更新内容可包括:所述应用程序的待修复问题和/或 待扩展功能。

在上述方案中,所述装置还可包括:应用运行报告获取模块和运行状态信息获取模块。

其中,应用运行报告获取模块用于获取所述至少两个客户端针对所述应用程序而提供的应用运行报告;运行状态信息获取模块用于从所述应用运行报告中获取所述应用程序的运行状态信息;

相应的,更新对象确定模块320可具体用于:

根据所述运行状态信息和所述属性信息,确定待更新内容。

进一步地,所述运行状态信息可包括下述至少一项:运行异常信息、运行错误信息、应用程序无响应信息,以及用户反馈的运行故障描述信息。

进一步地,更新对象确定模块320可具体用于:

将所述运行状态信息按照所述属性信息进行分类统计,并将分类统计结果对应的运行状态信息进行整合;

根据整合结果,确定待更新内容。

本发明实施例提供的应用程序的更新装置可执行本发明任意实施例所提供的应用程序的更新方法,具备执行方法相应的功能模块和有益效果。

最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其进行限制;实施例中优选的实施方式,并非对其进行限制,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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