一种应用升级方法及装置制造方法

文档序号:6623478阅读:158来源:国知局
一种应用升级方法及装置制造方法
【专利摘要】本发明实施例公开了一种应用升级方法及装置,涉及软件【技术领域】,其中,所述方法包括:获得目标应用的更新文件;利用第三方函数解析库Rhino库对所述目标应用的更新文件进行解析,得到所述目标应用对应的Java类文件;运行所述目标应用对应的Java类文件,实现所述目标应用升级。应用本发明实施例提供的方案进行应用升级时,由于采用第三方函数解析库Rhino库对所获得的更新文件进行解析,而不是采用安卓操作系统提供的相关文件进行解析,所以能够避开Google规定的应用升级模式,从而开发者能够结合自身的实际情况编写应用升级文件。
【专利说明】一种应用升级方法及装置

【技术领域】
[0001] 本发明涉及软件【技术领域】,特别涉及一种应用升级方法及装置。

【背景技术】
[0002] 随着电子技术的快速发展,电子设备的性能越来越高,用户可以在其中安装多种 应用。实际应用中,用户所安装的应用可能会存在漏洞或者功能单一等问题,因此,应用开 发者会对这些应用进行升级,以修复漏洞或者丰富应用的功能。
[0003] 现有技术中,在安卓操作系统中进行应用升级时,由于受Google规定的应用升级 模式的限制,获得应用的更新文件后,只能调用安卓操作系统提供的相关文件,按照Google 规定的应用升级模式进行操作,才能完成应用升级。这种情况下,在安卓操作系统中进行应 用升级实现模式单一,不利于应用开发者结合自身的实际情况编写应用升级文件。


【发明内容】

[0004] 本发明实施例公开了一种应用升级方法及装置,以使得应用开发者能够摆脱 Google规定的应用升级模式,结合自身的实际情况编写应用升级文件。
[0005] 为达到上述目的,本发明实施例公开了一种应用升级方法,所述方法包括:
[0006] 获得目标应用的更新文件;
[0007] 利用第三方函数解析库Rhino库对所述目标应用的更新文件进行解析,得到所述 目标应用对应的Java类文件;
[0008] 运行所述目标应用对应的Java类文件,实现所述目标应用升级。
[0009] 可选的,所述获得目标应用的更新文件,包括:
[0010] 向服务器发送应用更新查询请求,其中,所述应用更新查询请求中,携带电子设备 中已安装应用的标识和版本号;
[0011] 获得所述服务器根据所述应用更新查询请求反馈的查询结果;
[0012] 根据所述查询结果,判断是否存在所述目标应用的更新文件;
[0013] 若存在,获得所述目标应用的更新文件。
[0014] 可选的,所述获得目标应用的更新文件,包括:
[0015] 接收服务器发送的所述目标应用的最新版本信息;
[0016] 判断所述目标应用的当前版本信息与最新版本信息是否一致;
[0017] 若不一致,获得所述目标应用的更新文件。
[0018] 可选的,在所述利用第三方函数解析库Rhino库对所述目标应用的更新文件进行 解析,得到所述目标应用对应的Java类文件之前,还包括:
[0019] 获得用户针对所述目标应用的更新文件的操作指令;
[0020] 若所述操作指令为同意升级,则利用第三方函数解析库Rhino库对所述目标应用 的更新文件进行解析,得到所述目标应用对应的Java类文件。
[0021] 为达到上述目的,本发明实施例公开了一种应用升级装置,所述装置包括:
[0022] 更新文件获得模块,用于获得目标应用的更新文件;
[0023] 更新文件解析模块,用于利用第三方函数解析库Rhino库对所述目标应用的更新 文件进行解析,得到所述目标应用对应的Java类文件;
[0024] 应用升级模块,用于运行所述目标应用对应的Java类文件,实现所述目标应用升 级。
[0025] 可选的,所述更新文件获得模块,包括:
[0026] 查询请求发送子模块,用于向服务器发送应用更新查询请求,其中,所述应用更新 查询请求中,携带电子设备中已安装应用的标识和版本号;
[0027] 查询结果反馈子模块,用于获得所述服务器根据所述应用更新查询请求反馈的查 询结果;
[0028] 更新文件判断子模块,用于根据所述查询结果,判断是否存在所述目标应用的更 新文件;
[0029] 第一更新文件获得子模块,用于在所述更新文件判断子模块的判断结果为是的情 况下,获得所述目标应用的更新文件。
[0030] 可选的,所述更新文件获得模块,包括:
[0031] 版本信息接收子模块,用于接收服务器发送的所述目标应用的最新版本信息;
[0032] 版本信息判断子模块,用于判断所述目标应用的当前版本信息与最新版本信息是 否一致;
[0033] 第二更新文件获得子模块,用于在所述版本信息判断子模块的判断结果为否的情 况下,获得所述目标应用的更新文件。
[0034] 可选的,所述应用升级装置还包括:
[0035] 操作指令获得模块,用于获得用户针对所述目标应用的更新文件的操作指令,若 所述操作指令为同意升级,则触发所述更新文件解析模块对所述目标应用的更新文件进行 解析。
[0036] 由以上可见,本发明实施例提供的方案中,获得目标应用的更新文件后,利用第三 方函数解析库Rhino库对目标应用的更新文件进行解析,得到目标应用对应的Java类文 件,并运行解析该目标应用的更新文件得到的Java类文件,实现目标应用升级。与现有技 术在安卓操作系统中进行应用升级相比,通过本发明实施例提供的方案进行应用升级时, 由于采用第三方函数解析库Rhino库对所获得的更新文件进行解析,而不是采用安卓操作 系统提供的相关文件进行解析,所以能够避开Google规定的应用升级模式,从而开发者能 够结合自身的实际情况编写应用升级文件。

【专利附图】

【附图说明】
[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0038] 图1为本发明实施例提供的应用升级方法的第一种流程示意图;
[0039] 图2为本发明实施例提供的应用升级方法的第二种流程示意图;
[0040] 图3为本发明实施例提供的应用升级装置的第一种结构示意图;
[0041] 图4为本发明实施例提供的应用升级装置的第二种结构示意图。

【具体实施方式】
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0043] 由于不同操作系统对其中已安装应用的升级模式具有不同要求,所以,在进行应 用升级程序开发时,受限于各个操作系统对升级模式的要求。具体的,例如,Google认为只 有用户手动选择并进行的应用升级才是安全、可靠的,那么按照Google的要求,在安卓操 作系统中对应用进行升级只能由用户手动进行,然而,实际应用中,用户由于工作、时间等 原因,经常不会选择手动进行应用升级,进而使得用户无法及时修复应用存在的漏洞或者 无法第一时间体验到应用的新功能等。鉴于上述的原因,本发明实施例提供了一种应用升 级方法。
[0044] 下面先对本申请文件中涉及到的技术术语进行简单介绍。
[0045] Rhino库:Rhino库是一个完全使用Java语言编写的开源JavaScript引擎实现, 主要用于在Java环境中执行XXX. js文件或者JS (JavaScript)程序。Rhino库通常用于在 Java程序中,为最终用户提供脚本化能力。应用Rhino库的最终目是为了能够在Java执行 环境中执行JS程序,以便直接拷贝并执行JavaScript代码。
[0046] JavaScript :JavaScript 是一种由 Netscape 的 LiveScript 发展而来的原型化继 承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端 语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
[0047] Lua :Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成,并于1993年开发的一种小巧的脚本语言。其设计目的是 为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而 成,几乎在所有操作系统和平台上都可以编译、运行。Lua并没有提供强大的库,这是由它的 定位决定的。所以Lua不适合作为开发独立应用程序的语言。
[0048] LibLua :LibLua是负责解析Lua脚本并且调用对应C函数的开发库。简单而言就 是能利用C函数去运行Lua脚本的库。
[0049] 下面通过具体实例对本发明进行详细介绍。
[0050] 图1为本发明实施例提供的应用升级方法的第一种流程示意图,该方法包括:
[0051] S101 :获得目标应用的更新文件。
[0052] 本发明实施例提供的应用升级方法的执行主体为用户设备中安装的客户端,其 中,用户设备可以是计算机、平板电脑和手机等等。
[0053] 目标应用可以是用户设备已安装的应用中当前正在运行的应用,也可以是用户设 备中已安装的应用中当前未运行的应用。
[0054] 具体的,获得目标应用的更新文件时,一种具体实现方式中,客户端可以先向服务 器发送应用更新查询请求,服务器接收到客户端发送的应用更新查询请求后,根据该请求 查询是否存在应用的更新文件,并将查询结果反馈给客户端,客户端根据服务器反馈的查 询结果,可判断得知是否存在目标应用的更新文件,若存在,获得目标应用的更新文件。
[0055] 上述的应用更新查询请求中可以携带电子设备中已安装应用的标识和版本号,当 然,本申请并不限定应用更新查询请求中所携带的信息。
[0056] 需要说明的是,应用更新查询请求中携带的电子设备中已安装应用的标识,可以 理解为目标应用的标识,也可以理解为包含目标应用的标识在内的电子设备中多个或全部 已安装应用的标识。
[0057] 另一种具体实现方式中,客户端还可以先接收服务器发送的目标应用的最新版本 信息,再根据该最新版本信息,判断目标应用的当前版本信息与最新版本信息是否一致,若 不一致,获得目标应用的更新文件。
[0058] 其中,服务器向客户端发送目标应用的最新版本信息,可以是服务器检测到目标 应用进行了版本更新而触发的,也可以是服务器接收到客户端发送的触发指令而触发的, 例如,客户端发送的触发指令所包含的信息可以是在用户设备中已启动目标应用等等。
[0059] 另外,上述的目标应用的更新文件可以是针对目标应用的一个或多个功能模块的 升级文件,目标应用在运行状态下进行应用升级时,若无特殊要求可以不退出目标应用而 直接进行升级。
[0060] S102 :利用第三方函数解析库Rhino库对目标应用的更新文件进行解析,得到目 标应用对应的Java类文件。
[0061] 实际应用中,应用本发明实施例提供的应用升级方法进行升级时,所需的第三方 文件解析库与更新文件的类型相关,解析不同类型的更新文件需要不同的第三方文件解析 库,例如,JS(JavaScript)脚本文件可以采用Rhino库进行解析,Lua文件可以采用LibLua 库进行解析等等。本实施例中,目标应用的更新文件为JS脚本文件。
[0062] 另外,本领域内的技术人员可以理解的是,解析不同类型的更新文件所需的第三 方文件解析库还与操作系统相关,例如,本实施例中的Rhino库可用于在安卓操作系统中 解析JS脚本文件,而在ios操作系统中解析JS脚本文件则可采用其他库进行解析。
[0063] S103 :运行目标应用对应的Java类文件,实现目标应用升级。
[0064] 实际应用中,利用Rhino库解析目标应用的更新文件得到Java类文件后,可以利 用VMware等虚拟机软件运行所得到的Java类文件传入dalvik虚拟机中直接运行。本申 请并不限定具体的运行方式。
[0065] 由以上可见,本实施例提供的方案中,获得目标应用的更新文件后,利用第三方函 数解析库Rhino库对目标应用的更新文件进行解析,得到目标应用对应的Java类文件,并 运行解析该目标应用的更新文件得到的Java类文件,实现目标应用升级。与现有技术在安 卓操作系统中进行应用升级相比,通过本实施例提供的方案进行应用升级时,由于采用第 三方函数解析库Rhino库对所获得的更新文件进行解析,而不是采用安卓操作系统提供的 相关文件进行解析,所以能够避开Google规定的应用升级模式,从而开发者能够结合自身 的实际情况编写应用升级文件。
[0066] 在本发明的另一个优选实施例中,参见图2,提供了应用升级方法的第二种流程示 意图,与前述实施例相比,本实施例中该方法还包括:
[0067] S104 :获得用户针对目标应用的更新文件的操作指令。
[0068] 考虑到不同用户的实际情况各不相同,在获得目标应用的更新文件后,可以提示 用户已经获得了目标应用的更新文件,在用户给出针对目标应用的更新文件的操作指令为 同意升级的情况,再利用预设的第三方文件解析库Rhino库对目标应用的更新文件进行解 析。
[0069] 由以上可见,本实施例提供的方案中,在获得目标应用的更新文件之后,先获得用 户针对目标应用的更新文件的操作指令,在用户同意升级的情况下,利用第三方文件解析 库Rhino库进行文件解析并实现目标应用升级。可见本实施例中,在避开Google规定的应 用升级模式的同时,兼顾了用户的应用升级意愿,能够提高用户的体验效果。
[0070] 与上述的应用升级方法相对应,本发明实施例还提供了 一种应用升级装置。
[0071] 图3为本发明实施例提供的应用升级装置的第一种结构示意图,该装置包括:更 新文件获得模块301、更新文件解析模块302和应用升级模块303。
[0072] 其中,更新文件获得模块301,用于获得目标应用的更新文件;
[0073] 更新文件解析模块302,用于利用第三方函数解析库Rhino库对所述目标应用的 更新文件进行解析,得到所述目标应用对应的Java类文件;
[0074] 应用升级模块303,用于运行所述目标应用对应的Java类文件,实现所述目标应 用升级。
[0075] 在本发明的一个具体实施例中,更新文件获得模块301包括:查询请求发送子 模块、查询结果反馈子模块、更新文件判断子模块和第一更新文件获得子模块(图中未示 出)。
[0076] 其中,查询请求发送子模块,用于向服务器发送应用更新查询请求,其中,所述应 用更新查询请求中,携带电子设备中已安装应用的标识和版本号;
[0077] 查询结果反馈子模块,用于获得所述服务器根据所述应用更新查询请求反馈的查 询结果;
[0078] 更新文件判断子模块,用于根据所述查询结果,判断是否存在所述目标应用的更 新文件;
[0079] 第一更新文件获得子模块,用于在所述更新文件判断子模块的判断结果为是的情 况下,获得所述目标应用的更新文件。
[0080] 在本发明的另一个具体实施例中,更新文件获得模块301包括:版本信息接收子 模块、版本信息判断子模块和第二更新文件获得子模块(图中未示出)。
[0081] 其中,版本信息接收子模块,用于接收服务器发送的所述目标应用的最新版本信 息;
[0082] 版本信息判断子模块,用于判断所述目标应用的当前版本信息与最新版本信息是 否一致;
[0083] 第二更新文件获得子模块,用于在所述版本信息判断子模块的判断结果为否的情 况下,获得所述目标应用的更新文件。
[0084] 由以上可见,本实施例提供的方案中,获得目标应用的更新文件后,利用第三方函 数解析库Rhino库对目标应用的更新文件进行解析,得到目标应用对应的Java类文件,并 运行解析该目标应用的更新文件得到的Java类文件,实现目标应用升级。与现有技术在安 卓操作系统中进行应用升级相比,通过本实施例提供的方案进行应用升级时,由于采用第 三方函数解析库Rhino库对所获得的更新文件进行解析,而不是采用安卓操作系统提供的 相关文件进行解析,所以能够避开Google规定的应用升级模式,从而开发者能够结合自身 的实际情况编写应用升级文件。
[0085] 在本发明的另一个具体实施例中,参见图4,提供了应用升级装置的第二种结构示 意图,与前述实施例相比,该装置还包括:操作指令获得模块304。
[0086] 其中,操作指令获得模块304,用于获得用户针对所述目标应用的更新文件的操作 指令,若所述操作指令为同意升级,则触发所述更新文件解析模块302对所述目标应用的 更新文件进行解析。
[0087] 由以上可见,本实施例提供的方案中,在获得目标应用的更新文件之后,先获得用 户针对目标应用的更新文件的操作指令,在用户同意升级的情况下,利用第三方文件解析 库Rhino库进行文件解析并实现目标应用升级。可见本实施例中,在避开Google规定的应 用升级模式的同时,兼顾了用户的应用升级意愿,能够提高用户的体验效果。
[0088] 对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0089] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除 在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0090] 本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中, 这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0091] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【权利要求】
1. 一种应用升级方法,其特征在于,所述方法包括: 获得目标应用的更新文件; 利用第三方函数解析库Rhino库对所述目标应用的更新文件进行解析,得到所述目标 应用对应的Java类文件; 运行所述目标应用对应的Java类文件,实现所述目标应用升级。
2. 根据权利要求1所述的方法,其特征在于,所述获得目标应用的更新文件,包括: 向服务器发送应用更新查询请求,其中,所述应用更新查询请求中,携带电子设备中已 安装应用的标识和版本号; 获得所述服务器根据所述应用更新查询请求反馈的查询结果; 根据所述查询结果,判断是否存在所述目标应用的更新文件; 若存在,获得所述目标应用的更新文件。
3. 根据权利要求1所述的方法,其特征在于,所述获得目标应用的更新文件,包括: 接收服务器发送的所述目标应用的最新版本信息; 判断所述目标应用的当前版本信息与最新版本信息是否一致; 若不一致,获得所述目标应用的更新文件。
4. 根据权利要求1-3中任一项所述的方法,其特征在于,在所述利用第三方函数解析 库Rhino库对所述目标应用的更新文件进行解析,得到所述目标应用对应的Java类文件之 前,还包括: 获得用户针对所述目标应用的更新文件的操作指令; 若所述操作指令为同意升级,则利用第三方函数解析库Rhino库对所述目标应用的更 新文件进行解析,得到所述目标应用对应的Java类文件。
5. -种应用升级装置,其特征在于,所述装置包括: 更新文件获得模块,用于获得目标应用的更新文件; 更新文件解析模块,用于利用第三方函数解析库Rhino库对所述目标应用的更新文件 进行解析,得到所述目标应用对应的Java类文件; 应用升级模块,用于运行所述目标应用对应的Java类文件,实现所述目标应用升级。
6. 根据权利要求5所述的装置,其特征在于,所述更新文件获得模块,包括: 查询请求发送子模块,用于向服务器发送应用更新查询请求,其中,所述应用更新查询 请求中,携带电子设备中已安装应用的标识和版本号; 查询结果反馈子模块,用于获得所述服务器根据所述应用更新查询请求反馈的查询结 果; 更新文件判断子模块,用于根据所述查询结果,判断是否存在所述目标应用的更新文 件; 第一更新文件获得子模块,用于在所述更新文件判断子模块的判断结果为是的情况 下,获得所述目标应用的更新文件。
7. 根据权利要求5所述的装置,其特征在于,所述更新文件获得模块,包括: 版本信息接收子模块,用于接收服务器发送的所述目标应用的最新版本信息; 版本信息判断子模块,用于判断所述目标应用的当前版本信息与最新版本信息是否一 致; 第二更新文件获得子模块,用于在所述版本信息判断子模块的判断结果为否的情况 下,获得所述目标应用的更新文件。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述装置还包括: 操作指令获得模块,用于获得用户针对所述目标应用的更新文件的操作指令,若所述 操作指令为同意升级,则触发所述更新文件解析模块对所述目标应用的更新文件进行解 析。
【文档编号】G06F9/445GK104156247SQ201410400208
【公开日】2014年11月19日 申请日期:2014年8月14日 优先权日:2014年8月14日
【发明者】邝锐强 申请人:广州金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1