版本升级方法及终端设备与流程

文档序号:12177869阅读:247来源:国知局
版本升级方法及终端设备与流程

本发明实施例涉及计算机技术领域,尤其涉及一种版本升级方法及终端设备。



背景技术:

目前,在终端设备(例如手机、电脑、电视等)中可以安装多个应用程序,并当应用程序存在新版本时,可以对应用程序进行升级。

现有技术中,当应用程序的开发者开发出高版本的应用程序时,由运维人员将高版本应用程序对应的升级包上传至服务器,并配置该高版本对应的版本信息。终端设备可以对服务器中配置的版本信息进行检测,当终端设备根据服务器中配置的版本信息,确定服务器中存在更高版本的应用程序时,终端设备可以下载更高版本应用程序对应的升级包,并根据升级包对终端设备中的应用程序进行升级。

然而,运维人员可能在服务器中上传错误的升级包,或者,服务器中的升级包可能被恶意替换,使得终端设备中的应用程序无法进行正常升级或者升级成其它的应用程序,导致应用程序升级的安全性较差。



技术实现要素:

本发明实施例提供一种版本升级方法及终端设备,用于提高应用程序升级的安全性。

第一方面,本发明实施例提供一种版本升级方法,包括:

在版本服务器中下载待升级应用程序对应的升级包;

在所述升级包中获取所述升级包对应的应用程序的标识及所述升级包对应的第一版本信息,在所述版本服务器中获取所述升级包对应的第二版本信息;

根据所述待升级应用程序的标识、所述升级包对应的应用程序的标识、所述第一版本信息、及所述第二版本信息,确定所述升级包的安全性;

在确定所述升级包为安全升级包时,根据所述升级包对所述待升级应用程序进行升级。

在一种可能的实施方式中,所述在所述升级包中获取所述升级包对应的应用程序的标识,包括:

获取所述升级包的包名;

根据所述升级包的包名,确定所述升级包对应的应用程序的标识。

在另一种可能的实施方式中,所述获取所述升级包的包名,包括:

对所述升级包进行解析,获取所述升级包中包括的签名信息;

在所述签名信息中获取所述升级包的包名。

在另一种可能的实施方式中,根据所述待升级应用程序的标识、所述升级包对应的应用程序的标识、所述第一版本信息、及所述第二版本信息,确定所述升级包的安全性,包括:

判断所述待升级应用程序的标识和所述升级包对应的应用程序的标识是否相同;

若否,则确定所述升级包为隐患升级包;

若是,则判断所述第一版本信息和所述第二版本信息是否相同;若是,则确定所述升级包为安全升级包。

在另一种可能的实施方式中,若判断所述第一版本信息和所述第二版本信息不相同,所述方法还包括:

获取所述待升级应用程序的第三版本信息;

根据所述第一版本信息和所述第三版本信息,判断所述升级包对应的版本是否高于所述待升级应用程序对应的版本;

若是,则确定所述升级包为安全升级包;

若否,则确定所述升级包为隐患升级包。

在另一种可能的实施方式中,若确定所述升级包为风险升级包,所述方法还包括:

向所述版本服务器发送版本信息异常提示信息,以提示所述版本服务器中的所述升级包存在安全隐患。

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

下载模块,用于在版本服务器中下载待升级应用程序对应的升级包;

获取模块,用于在所述升级包中获取所述升级包对应的应用程序的标识及所述升级包对应的第一版本信息,在所述版本服务器中获取所述升级包对应的第二版本信息;

确定模块,用于根据所述待升级应用程序的标识、所述升级包对应的应用程序的标识、所述第一版本信息、及所述第二版本信息,确定所述升级包的安全性;

升级模块,用于在确定所述升级包为安全升级包时,根据所述升级包对所述待升级应用程序进行升级。

在一种可能的实施方式中,所述获取模块包括获取单元和确定单元,其中,

所述获取单元用于,获取所述升级包的包名;

所述确定单元用于,根据所述升级包的包名,确定所述升级包对应的应用程序的标识。

在另一种可能的实施方式中,所述获取单元具体用于:

对所述升级包进行解析,获取所述升级包中包括的签名信息;

在所述签名信息中获取所述升级包的包名。

在另一种可能的实施方式中,所述确定模块具体用于:

判断所述待升级应用程序的标识和所述升级包对应的应用程序的标识是否相同;

若否,则确定所述升级包为隐患升级包;

若是,则判断所述第一版本信息和所述第二版本信息是否相同;若是,则确定所述升级包为安全升级包。

在另一种可能的实施方式中,所述确定模块还用于:

在所述确定模块判断所述第一版本信息和所述第二版本信息不相同时,获取所述待升级应用程序的第三版本信息;

根据所述第一版本信息和所述第三版本信息,判断所述升级包对应的版本是否高于所述待升级应用程序对应的版本;

若是,则确定所述升级包为安全升级包;

若否,则确定所述升级包为隐患升级包。

在另一种可能的实施方式中,所述终端设备还包括发送模块,其中,

所述发送模块用于,在所述确定模块确定所述升级包为风险升级包时,向所述版本服务器发送版本信息异常提示信息,以提示所述版本服务器中的所述升级包存在安全隐患。

本发明实施例提供的版本升级方法及终端设备,在终端设备下载得到待升级应用程序对应的升级包之后,终端设备对升级包进行解析,以在升级包中获取升级包对应的应用程序的标识及升级包对应的第一版本信息,并根据待升级应用程序的标识、升级包对应的应用程序的标识、版本服务器中配置的升级包对应的第二版本信息、及第一版本信息,确定升级包的安全性;在确定升级包为安全升级包时,根据升级包对待升级应用程序进行升级。在上述过程中,在升级包中获取得到的升级包对应的应用程序的标识和第一版本信息均为升级包的实际信息,通过对升级包的实际信息进行验证,可以准确的确定升级包是否为安全的,并在确定升级包为安全升级包时,再根据升级包对待升级应用程序进行升级,进而提高对应用程序进行升级的安全性。

附图说明

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

图1为本发明提供的版本升级方法的应用场景示意图;

图2为本发明提供的版本升级方法的流程示意图;

图3为本发明提供的确定升级包安全性方法的流程示意图一;

图4为本发明提供的确定升级包安全性方法的流程示意图二;

图5为本发明提供的终端设备的结构示意图一;

图6为本发明提供的终端设备的结构示意图二。

具体实施方式

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

图1为本发明提供的版本升级方法的应用场景示意图,请参见图1,包括终端设备101和版本服务器102。可选的,该终端设备101可以为手机、电脑、电视等设备,在终端设备101中可以安装多种应用程序。版本服务器102用于存储多种应用程序,终端设备101可以在版本服务器中下载应用程序,并进行安装;当应用程序的开发者开发出高版本的应用程序时,运维人员可以将高版本应用程序对应的升级包上传至版本服务器102,并在版本服务器102中配置该升级包对应的版本信息,终端设备101可以在版本服务器中下载高版本应用程序对应的升级包,并根据升级包对终端设备101中的应用程序进行升级。在本申请中,在终端设备101下载到升级包之后,终端设备101对下载的升级包进行检测,并在确定下载的升级包为安全升级包时,再根据该升级包对终端设备中的应用程序进行升级,进而提高版本升级的安全性。

下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为本发明提供的版本升级方法的流程示意图,该方法的执行主体可以为终端设备,请参见图2,该方法可以包括:

S201、在版本服务器中下载待升级应用程序对应的升级包;

S202、在升级包中获取升级包对应的应用程序的标识及升级包对应的第一版本信息,在版本服务器中获取升级包对应的第二版本信息;

S203、根据待升级应用程序的标识、升级包对应的应用程序的标识、第一版本信息、及第二版本信息,确定升级包的安全性;

S204、在确定升级包为安全升级包时,根据升级包对待升级应用程序进行升级。

在实际应用过程中,当版本服务器中的应用程序开发出高版本时,运维人员将高版本的升级包上传至版本服务器,并配置该升级包对应的版本信息;若终端设备中安装有版本服务器中的应用程序,终端设备可以根据版本服务器中配置的升级包对应的版本信息、及终端设备中安装的应用程序的版本信息,检测版本服务器中升级包的版本是否比终端设备中应用程序的版本高,若是,则终端设备自动下载升级包、或者提醒用户下载升级包;当然,在版本服务器中存在高版本时,服务器也可以向终端设备发送提示信息,以使终端设备自动下载升级包、或者提醒用户下载升级包。

在终端设备在版本服务器中下载待升级应用程序对应的升级包之后,终端设备对升级包进行解析,以在升级包中获取升级包对应的应用程序的标识及升级包对应的第一版本信息。

可选的,终端设备可以直接获取该升级包的包名,并根据升级包的包名,确定升级包对应的应用程序的标识。可选的,由于同一应用程序的所有版本包名、及所有版本的升级包的包名均相同,因此,终端设备可以直接将升级包的包名确定为升级包对应的应用程序的标识。在实际应用过程中,部分不良商家为了提高其开发的应用程序的下载量,将其开发的应用程序的包名恶意修改为正确升级包的包名,并对版本服务器中的升级包进行恶意替换,为了避免该种情况对应用程序的升级造成的不良影响,终端设备可以对升级包进行解析,以获取升级包中包括的签名信息,并在签名信息中获取升级包的包名。由于升级包中的签名信息不易被恶意模仿及修改,因此在升级包的签名信息中可以获取准确的升级包的包名。

可选的,在升级包中携带有该升级包对应的第一版本信息,终端设备可以对升级包进行解析以获取升级包中包括第一版本信息。可选的,升级包对应的第一版本可以存储在升级包中的预设文件中,相应的,终端设备可以对升级包进行解析,获取用于存储升级包的版本信息的预设文件,并在预设文件中获取升级包对应的第一版本信息。

终端设备还在版本服务器中获取升级包对应的第二版本信息,其中,该第二版本信息为运营人员在版本服务器中上传升级包时,在版本服务器中配置的。需要说明的是,由于该第二版本信息为运营人员配置的,因此,该第二版本信息存在被配置错误的可能性,即,运营人员配置的该第二版本信息和升级包的实际版本信息不相同。

在终端设备获取得到升级包对应的应用程序的标识及升级包对应的第一版本信息、及第二版本信息之后,终端设备根据待升级应用程序的标识、升级包对应的应用程序的标识、版本服务器中配置的升级包对应的第二版本信息、及第一版本信息,确定升级包的安全性。可选的,若待升级应用程序的标识和升级包对应的应用程序的标识相同,且第一版本信息和第二版本信息相同,则可以确定升级包为安全升级包;或若待升级应用程序的标识和升级包对应的应用程序的标识不相同,或者第一版本信息和第二版本信息不相同,则可以确定升级包为隐患升级包,隐患升级包表示该升级包存在安全隐患。当然,在实际应用过程中,还可以根据其它方式确定升级包是否为安全升级包,本发明对此不作具体限定。

在终端设备确定升级包为安全升级包时,则根据升级包对待升级应用程序进行升级,在终端设备确定升级包为隐患升级包时,终端设备可以向所述版本服务器发送版本信息异常提示信息,以提示所述版本服务器中的所述升级包存在安全隐患。可选的,该异常提示信息中可以包括待升级应用程序的标识和升级包的标识。

本发明实施例提供的版本升级方法,在终端设备下载得到待升级应用程序对应的升级包之后,终端设备对升级包进行解析,以在升级包中获取升级包对应的应用程序的标识及升级包对应的第一版本信息,并根据待升级应用程序的标识、升级包对应的应用程序的标识、版本服务器中配置的升级包对应的第二版本信息、及第一版本信息,确定升级包的安全性;在确定升级包为安全升级包时,根据升级包对待升级应用程序进行升级。在上述过程中,在升级包中获取得到的升级包对应的应用程序的标识和第一版本信息均为升级包的实际信息,通过对升级包的实际信息进行验证,可以准确的确定升级包是否为安全的,并在确定升级包为安全升级包时,再根据升级包对待升级应用程序进行升级,进而提高对应用程序进行升级的安全性。

在图2所示实施例的基础上,可选的,可以通过如下可行的实现方式确定升级包的安全性(图2所示实施例中的S203),具体的,请参见图3所示的实施例。

图3为本发明提供的确定升级包安全性方法的流程示意图一,请参见图3,该方法可以包括:

S301、判断待升级应用程序的标识和升级包对应的应用程序的标识是否相同;

若否,则执行S302;

若是,则执行S303;

S302、确定升级包为隐患升级包;

S303、判断第一版本信息和第二版本信息是否相同;

若是,则执行S304;

若否,则执行S302;

S304、确定升级包为安全升级包。

在图3所示的实施例中,在终端设备获取得到待升级应用程序的标识、升级包对应的应用程序的标识、第一版本信息、及第二版本信息之后,终端设备先判断待升级应用程序的标识和升级包对应的应用程序的标识是否相同。

若待升级应用程序的标识和升级包对应的应用程序的标识不相同,则说明该升级包不是待升级应用程序对应的升级包,若根据该升级包对待升级应用程序进行升级,则可能导致升级不成功,或者将待升级应用程序升级成为其它类型的应用程序;在该种情况下,则确定升级包为隐患升级包,并不再判断第一版本信息和第二版本信息是否相同。

若待升级应用程序的标识和升级包对应的应用程序的标识相同,则说明该升级包是待升级应用程序对应的升级包。在实际应用过程中,由于用户通常根据版本服务器中配置的第二版本信息,判断是否需要对终端设备中的应用程序进行升级,为了确定升级包的真实版本信息(第一版本信息)和用户需要的版本信息(第二版本信息)相符合,则进一步判断第一版本信息和第二版本信息是否相同;若相同,则说明升级包的真实版本信息(第一版本信息)和用户需要的版本信息(第二版本信息)相同,则确定升级包为安全升级包,若不相同,则确定升级包为隐患升级包,可选的,该隐患升级包对应的版本可能比终端设备中的待升级应用程序的版本低。

在上述过程中,通过判断待升级应用程序的标识和升级包对应的应用程序的标识是否相同,可以准确的确定升级包是否为待升级应用程序对应的升级包;通过判断第一版本信息和第二版本信息是否相同,可以准确的确定出升级包是否为用户需要的升级包;这样,可以准确的确定得到升级包的安全性。

在图3所示实施例的基础上,由于版本服务器中配置的第二版本信息可能有误,为了避免第二版本信息有误导致对升级包的安全性的判断失误,在判断第一版本信息和第二版本信息不相同时,可以通过图4所示的实施例对升级包的安全性进行确认,具体的,请参见图4所示的实施例。

图4为本发明提供的确定升级包安全性方法的流程示意图二,在图3所示实施例的基础上,请参见图4,该方法可以包括:

S401、判断待升级应用程序的标识和升级包对应的应用程序的标识是否相同;

若否,则执行S402;

若是,则执行S403;

S402、确定升级包为隐患升级包;

S403、判断第一版本信息和第二版本信息是否相同;

若是,则执行S404;

若否,则执行S405;

S404、确定升级包为安全升级包;

S405、获取待升级应用程序的第三版本信息;

S406、根据第一版本信息和第三版本信息,判断升级包对应的版本是否高于待升级应用程序对应的版本;

若是,则执行S404;

若否,则执行S402。

需要说明的是,S401-S402的执行过程可以参见图3实施例中所示的S301-S302,此处不再进行赘述。

在S403中,在判断第一版本信息和第二版本信息相同时,则确定升级包为安全升级包;在判断第一版本信息和第二版本信息不相同时,则获取待升级应用程序的第三版本信息,并根据第一版本信息和第三版本信息,判断升级包对应的版本是否高于待升级应用程序对应的版本。

若升级包对应的版本高于待升级应用程序对应的版本,则说明运维人员可能将版本服务器中的第二版本信息配置错误,相应的,可以确定升级包为安全升级包;若升级包对应的版本低于或等于待升级应用程序对应的版本,则说明运维人员可能将错误的升级包上传至版本服务器,则确定升级包为隐患升级包。

在上述过程中,在确定第一版本信息和第二版本信息不同时,进一步根据待升级应用程序的第三版本信息和第一版本信息,进一步的确定升级包的安全性,进而有限避免了由于版本服务器中配置的第二版本信息有误,而导致的对升级包的安全性的判断失误的问题,进一步提高了对应用程序进行升级的安全性。

下面,通过具体示例,对上述方法实施例所示的版本升级方法进行详细说明。

示例性的,假设终端设备中安装有应用程序1,且终端设备中安装的应用程序1的版本为V2.0版本,应用程序1的包名为abc。

再假设研发人员开发出了应用程序1的高版本V3.0,运维人员将高版本对应的升级包上传至版本服务器,并在在版本服务器中配置该升级包对应的版本信息,假设运维人员在版本服务器中配置版本信息的过程中,将版本信息误配置成V3.1。

在实际应用过程中,当终端设备检测到版本服务器中存在应用程序1对应的高版本升级包(V3.1)时,终端设备生成提示信息,以提示用户对应用程序1进行升级。假设用户根据提示信息,确定将应用程序1升级成为高版本(V3.1),终端设备则根据用户输入的相关操作,在版本服务器中下载升级包。

在终端设备下载升级包之后,终端设备对升级包进行解析,以在升级包中获取升级包的包名(abc)和升级包对应的版本信息(V3.0)。

终端设备判断升级包的包名和终端设备中应用程序1的包名相同,则说明该升级包为应用程序1对应的升级包。终端设备还判断升级包对应的版本信息(V3.0)和版本服务器中配置的升级包的版本信息(V3.1)是否相同,由于升级包对应的版本信息(V3.0)和版本服务器中配置的升级包的版本信息(V3.1)不同,终端设备进一步获取终端设备中的应用程序1的版本信息(V2.0),并判断升级包的版本(V3.0)高于终端设备中应用程序1的版本(V2.0),则确定升级包为安全升级包,并根据该升级包对终端设备中的应用程序进行升级,以实现将终端设备中应用程序1的版本升级为版本V3.0。

图5为本发明提供的终端设备的结构示意图一,请参见图5,该终端设备可以包括:

下载模块501,用于在版本服务器中下载待升级应用程序对应的升级包;

获取模块502,用于在所述升级包中获取所述升级包对应的应用程序的标识及所述升级包对应的第一版本信息,在所述版本服务器中获取所述升级包对应的第二版本信息;

确定模块503,用于根据所述待升级应用程序的标识、所述升级包对应的应用程序的标识、所述第一版本信息、及所述第二版本信息,确定所述升级包的安全性;

升级模块504,用于在确定所述升级包为安全升级包时,根据所述升级包对所述待升级应用程序进行升级。

本发明实施例提供的终端设备可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

图6为本发明提供的终端设备的结构示意图二,在图5所示实施例的基础上,请参见图6,所述获取模块502包括获取单元5021和确定单元5022,其中,

所述获取单元5021用于,获取所述升级包的包名;

所述确定单元5022用于,根据所述升级包的包名,确定所述升级包对应的应用程序的标识。

在一种可能的实施方式中,所述获取单元5021具体用于:

对所述升级包进行解析,获取所述升级包中包括的签名信息;

在所述签名信息中获取所述升级包的包名。

在另一种可能的实施方式中,所述确定模块503具体用于:

判断所述待升级应用程序的标识和所述升级包对应的应用程序的标识是否相同;

若否,则确定所述升级包为隐患升级包;

若是,则判断所述第一版本信息和所述第二版本信息是否相同;若是,则确定所述升级包为安全升级包。

在另一种可能的实施方式中,所述确定模块503还用于:

在所述确定模块判断所述第一版本信息和所述第二版本信息不相同时,获取所述待升级应用程序的第三版本信息;

根据所述第一版本信息和所述第三版本信息,判断所述升级包对应的版本是否高于所述待升级应用程序对应的版本;

若是,则确定所述升级包为安全升级包;

若否,则确定所述升级包为隐患升级包。

在另一种可能的实施方式中,所述终端设备还包括发送模块505,其中,

所述发送模块505用于,在所述确定模块503确定所述升级包为风险升级包时,向所述版本服务器发送版本信息异常提示信息,以提示所述版本服务器中的所述升级包存在安全隐患。

本发明实施例提供的终端设备可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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