软件安装方法、装置、终端及计算机可读存储介质与流程

文档序号:17948511发布日期:2019-06-18 23:51阅读:139来源:国知局
软件安装方法、装置、终端及计算机可读存储介质与流程

本发明涉及软件技术领域,尤其涉及了一种软件安装方法、装置、终端及计算机可读存储介质。



背景技术:

手机应用软件繁多,各种手机应用市场和下载途径也很多,正规应用软件和假冒软件鱼龙混杂。非正规的假冒应用软件或者正规的应用软件被恶意插入有害信息之后再放到应用市场供用户下载,用户下载下来并安装使用时,存在较大的安全问题。



技术实现要素:

本发明实施例提供一种软件安装方法、装置、终端及计算机可读存储介质。

第一方面,本发明实施例提供了一种软件安装方法,其特征在于,包括:

在获取到待安装软件的安装指令时,解析所述待安装软件包以获取所述待安装软件权限标识;

从预设数据库查询与所述软件权限标识对应的预设权限标识;

当所述预设数据库有与所述软件权限标识对应的预设权限标识时,根据所述安装指令安装所述待安装软件。

优选地,所述从预设数据库查询与所述软件权限标识对应的预设权限标识包括:

将所述软件权限标识与所述预设数据库中的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识;

当存在与软件权限标识的关系符合预设规则的预设权限标识时,判定所述预设数据库有与所述软件权限标识对应的预设权限标识。

优选地,所述将所述软件权限标识与所述预设数据库中的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识包括:

获取所述软件权限标识的软件授权日期;

将所述软件权限标识与所述预设数据库中标准授权日期与所述软件授权日期相同的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识。

优选地,所述软件安装方法还包括:

当所述预设数据库没有与所述软件权限标识对应的预设权限标识时,将所述软件权限标识与非法软件库中的非法权限标识比对,判断是否存在与所述软件权限标识相同的非法权限标识;

当存在与所述软件权限标识相同的非法权限标识时,阻止执行所述安装指令并发出非法软件告警信息;

当不存在与所述软件权限标识相同的非法权限标识时,发出安装询问信息以向用户确认是否根据所述安装指令安装所述待安装软件。

优选地,所述在获取到待安装软件的安装指令时,解析所述待安装软件包以获取所述待安装软件权限标识包括:

在获取到待安装软件的安装指令时,解析所述待安装软件包以获取所述待安装软件权限标识和所述待安装软件的权限等级;

当所述权限等级在预设范围内时,执行所述从预设数据库查询与所述软件权限标识对应的预设权限标识的步骤。

优选地,所述解析所述待安装软件包以获取所述待安装软件权限标识和所述待安装软件的权限等级包括:

解析所述待安装软件包以获取所述待安装软件权限标识和所述待安装软件类型;

根据所述软件类型确定所述待安装软件的权限等级。

优选地,所述预设权限标识是所述预设数据库中的经软件管控平台审核并通过的合法软件封装时生成的权限标识经第一预设算法进行哈希处理之后得到的哈希值,所述软件权限标识是所述待安装软件封装时生成的权限标识经第二预设算法进行哈希处理之后得到的哈希值。

第二方面,本发明实施例还提供一种软件安装装置,包括:

解析模块,用于在获取到待安装软件的安装指令时,解析所述待安装软件包以获取所述待安装软件权限标识;

查询模块,用于从预设数据库查询与所述软件权限标识对应的预设权限标识;

执行模块,用于当所述预设数据库有与所述软件权限标识对应的预设权限标识时,根据所述安装指令安装所述待安装软件。

需要说明的是,上述软件安装装置中各个模块的功能实现及技术效果与上述软件安装方法相对应,为避免冗余,此处不再一一赘述。

第三方面,本发明实施例还提供一种终端,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行上述任一项所述的软件安装方法中的步骤的指令。

第四方面,本发明还提供一种计算机可读存储介质,存储用于安装的计算机程序,其中,所述计算机程序使得计算机执行上述任一项所述的软件安装方法。

本发明实施例的技术方案中,在获取到待安装软件的安装指令时,解析待安装软件包以获取待安装软件权限标识;从预设数据库查询与软件权限标识对应的预设权限标识;当预设数据库有与软件权限标识对应的预设权限标识时,根据安装指令安装待安装软件。通过从预设数据库查询与所述软件权限标识对应的预设权限标识,判断预设数据库中是否有与软件权限标识对应的预设权限标识来判断待安装软件是否经过软件管控平台的审核,那么当预设数据库有与所述软件权限标识对应的预设权限标识时,可认为待安装为合法软件,则可以根据安装指令安装待安装软件。这样可以避免用户在终端安装假冒软件、被恶意插入有害信息的软件或其他非法软件,保证终端运行的安全性。

附图说明

下面将对本发明实施例涉及的一些附图进行说明。

图1为本发明实施例的终端的硬件结构示意图;

图2为本发明实施例的软件安装方法的流程示意图;

图3为本发明实施例的软件安装方法的另一流程示意图;

图4为本发明实施例的软件安装方法的又一流程示意图;

图5为本发明实施例的软件安装方法的再一流程示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

请参阅图1,图1是本发明实施例提供的终端100的硬件结构示意图。终端100包括处理器101、存储器102、网络接口103,以及一个或多个程序,一个或多个程序被存储在存储器102中,并且被配置由处理器101执行,程序包括用以下任一实施例的软件安装方法的步骤的指令。存储器102可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器102可选的还可以是独立于前述处理器101的存储装置。网络接口103可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

请参阅图2,图2是本发明实施例提供的一种软件安装方法的流程示意图,这种方法可包括但不限于如下步骤:

01、在获取到待安装软件的安装指令时,解析待安装软件包以获取待安装软件权限标识;

本发明实施例的软件安装方法用于安装软件。本发明实施例的软件安装方法可以由本发明实施例的终端运行本发明实施例的软件安装程序实现,软件安装程序可以集成在终端自身的操作系统中,也可以将软件安装程序作为单独的应用软件。

将待安装软件的安装包从网站、应用商店或其他软件下载平台下载下来之后,存储在终端,当用户通过操作终端发出安装待安装软件的安装指令时,获取到待安装软件的安装指令之后,终端解析待安装软件的软件包,获得待安装软件的软件权限标识。软件权限标识是待安装软件封装时生成的。软件权限标识可以是但不限于是授权码。

02、从预设数据库查询与软件权限标识对应的预设权限标识;

软件封装之后,在软件下载平台上线之前,需要经过软件管控平台审核,软件开发者将安装包及软件信息发送至软件管控平台审核且审核通过之后即可上线,软件信息中包含待安装软件封装时生成的软件权限标识和待安装软件版本信息、软件名称、软件功能、软件类型、软件发布公司等。审核通过之后,软件管控平台将软件权限标识作为预设权限标识存储至预设数据库。经过软件管控平台审核且审核通过的软件为合法软件。

预设数据库可以是云端的数据库,软件安装程序在终端100运行时,通过终端100的网络接口103访问预设数据库。预设数据库也可以是本地的数据库,软件管控平台将软件权限标识作为预设权限标识存储至预设地址,通过终端100的网络接口103将预设地址内的数据下载并存储至终端103的存储器102形成预设数据库,并定时根据预设地址内的数据更新预设数据库内的数据,这样由于预设数据库位于终端本地,则可更加快速的查找与软件权限标识对应的预设权限标识。软件管控平台可以为用于提供软件下载资源的软件下载平台,也可以为与软件下载平台相互独立的管控平台。

03、当预设数据库有与软件权限标识对应的预设权限标识时,根据安装指令安装待安装软件。

如果软件被恶意篡改,则需要重新进行封装,会重新生成与原始软件权限标识不同的件权限标识。恶意篡改的软件是无法通过软件管控平台的审核的,因此预设数据库中没有与恶意篡改的软件或者其他非法软件的权限标识对应的预设权限标识。那么可通过从预设数据库查询与软件权限标识对应的预设权限标识,判断预设数据库中是否有与软件权限标识对应的预设权限标识来进一步判断待安装软件是否经过软件管控平台的审核。当预设数据库有与软件权限标识对应的预设权限标识时,说明待安装软件通过了软件管控平台的审核,为合法的软件,那么可根据安装指令安装该待安装软件。

本发明实施例的软件安装方法中,通过从预设数据库查询与软件权限标识对应的预设权限标识,判断预设数据库中是否有与软件权限标识对应的预设权限标识来判断待安装软件是否经过软件管控平台的审核,那么当预设数据库有与软件权限标识对应的预设权限标识时,可认为待安装为合法软件,则可以根据安装指令安装待安装软件。这样可以避免用户在终端安装假冒软件、被恶意插入有害信息的软件或其他非法软件,保证终端运行的安全性。

进一步地,预设权限标识是预设数据库中的经软件管控平台审核并通过的合法软件封装时生成的权限标识经第一预设算法进行哈希处理之后得到的哈希值,软件权限标识是待安装软件封装时生成的权限标识经第二预设算法进行哈希处理之后得到的哈希值。软件封装时,会生成一个权限标识,将该权限标识经第一预设算法进行哈希处理得到的哈希值作为该软件权限标识。软件封装之后,在软件下载平台上线之前,发送至软件管控平台审核的软件信息中包含软件封装时生成的未经哈希处理的权限标识,软件管控平台对该软件进行审核并通过之后,将该软件的权限标识利用第二预设算法进行哈希处理,将得到的哈希值作为预存软件标识存储至预设数据库。这样,预设权限标识和软件权限标识均为数字,可更快速地从预设数据库查询与软件权限标识对应的预设权限标识。第一预设算法与第二预设算法可以相同,也可以不同。可根据第一预设算法和第二预设算法的关系从预设数据库查询与软件权限标识对应的预设权限标识。

请参阅图3,基于上述实施例,本发明另一实施例中,步骤02包括:

021、将软件权限标识与预设数据库中的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识;

与软件权限标识对应的预设权限标识指与软件权限标识的关系符合预设规则的预设权限标识。预设规则可以是软件权限标识与预设权限标识相同,也可以是其他可以限定软件权限标识与预设权限标识一一对应的规则。

当预设权限标识是预设数据库中的经软件管控平台审核并通过的合法软件封装时生成的权限标识经第一预设算法进行哈希处理之后得到的哈希值,软件权限标识是待安装软件封装时生成的权限标识经第二预设算法进行哈希处理之后得到的哈希值时,预设规则可以根据第一预设算法和第二预设算法确定。当第一预设算法与第二预设算法相同时,预设规则为软件权限标识与预设权限标识相同。当第一预设算法与第二预设算法不同时,根据第一预设算法与第二预设算法之间的关系,将软件权限标识与预设权限标识对应同一个权限标识时,软件权限标识与预设权限标识所需满足的规则作为预设规则。

将软件权限标识与预设数据库中的各预设权限标识比对时,可先获取软件权限标识的软件授权日期;然后将软件权限标识与预设数据库中标准授权日期与软件授权日期相同的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识。可以理解,软件管控平台审核软件并通过的日期为该软件的标准授权日期。将软件权限标识与预设数据库中的各预设权限标识比对时,先从预设数据库中,筛选出标准授权日期与软件授权日期相同的预设权限标识,然后再将软件权限标识与这些筛选出来的预设权限标识比对,这样可以减少软件权限标识与预设数据库中的各预设权限标识比对的过程中的数据处理量,可以更快地判断预设数据库中是否存在与软件权限标识的关系符合预设规则的预设权限标识。

022、当存在与软件权限标识的关系符合预设规则的预设权限标识时,判定预设数据库有与软件权限标识对应的预设权限标识。

预设数据库中有多个预设权限标识,分别将软件权限标识与预设数据库中的各预设权限标识比对,判断各预设权限标识与软件权限标识的关系是否符合预设规则,当存在预设权限标识与软件权限标识的关系符合预设规则时,判定预设数据库中有与软件权限标识对应的预设权限标识。这样由于预设规则不一定是预设权限标识与软件权限标识相同,那么即使是黑客或者其他怀有恶意的人窃取到了预设数据库中的预设权限标识,由于不知道预设规则,也难以通过手动修改软件权限标识来使得非法软件假冒合法软件。如此,更加有效地避免用户在终端安装假冒软件、被恶意插入有害信息的软件或其他非法软件,保证终端运行的安全性。

请参阅图4,基于上述实施例,在本发明又一实施例中,软件安装方法还包括步骤:

04、当预设数据库没有与软件权限标识对应的预设权限标识时,将软件权限标识与非法软件库中的非法权限标识比对,判断是否存在与软件权限标识相同的非法权限标识;

非法软件库中存储有多个非法软件的非法权限标识。这样可通过判断是否存在与软件权限标识相同的非法权限标识来判断待安装软件是否为非法软件。

在一个例子中,当用户发现非法软件时,可通过操作终端标记出非法软件,当本发明实施例的软件安装程序获取到用户标记非法软件的信息时,获取该非法软件权限标识并作为非法权限标识,然后将该非法权限标识发送至非法软件库;或者获取到用户标记非法软件的信息时,执行上述步骤01和02,当确认预设数据库没有与软件权限标识对应的预设权限标识之后,再将该非法软件权限标识并作为非法权限标识发送至非法数据库。这样可以避免用户恶意标记非法软件,导致误将合法的软件权限标识存入非法软件库。

05、当存在与软件权限标识相同的非法权限标识时,阻止执行安装指令并发出非法软件告警信息;

若存在与软件权限标识相同的非法权限标识,可确认待安装软件为非法软件,则阻止执行安装指令并发出非法软件告警信息以提示用户该待安装软件为非法软件。

06、当不存在与软件权限标识相同的非法权限标识时,发出安装询问信息以向用户确认是否根据安装指令安装待安装软件。

若不存在与软件权限标识相同的非法权限标识,无法确认该待安装软件是否为非法软件,则发出安装询问信息以向用户确认是否根据安装指令安装待安装软件。可控制终端的显示屏显示安装询问对话框,让用户选择是否根据安装指令安装待安装指令。这样,当无法确认待安装软件是否非法时,可由用户自行选择是否安装该软件。如果用户可以确认该待安装软件的安全性,例如该待安装软为用户自己编写的软件时,则可以选择根据安装指令安装待安装软件,如果待安装软件来路不明,则可以选择不执行安装指令以阻止安装待安装软件。

请参阅图5,基于上述实施例,在本发明再一实施例中,步骤01包括:

011、在获取到待安装软件的安装指令时,解析待安装软件包以获取待安装软件权限标识和待安装软件的权限等级;

待安装软件的安装包中包括待安装软件信息,软件信息中包含待安装软件封装时生成的软件权限标识和待安装软件版本信息、软件名称、软件功能、软件类型、软件发布公司等。可解析待安装软件包以获取待安装软件权限标识和待安装软件类型,然后根据软件类型确定待安装软件的权限等级。软件类型可包括但不限于社交软件、拍摄软件、新闻软件、购物软件等。各软件类型对应的权限等级可由开发人员预先设定,也可由用户设定。例如,权限等级按照权限由高至低的顺序分为一级、二级和三级,社交软件的权限等级可为一级,拍摄软件和购物软件的权限等级可设为二级,新闻软件可设为三级。需要说明的是,软件类型及权限等级的设定不限于上述实施例中的设定方式,在其他实施例中,可根据实际需求设定,在此不做限定。

当权限等级在预设范围内时,执行步骤02。

预设范围可以由软件安装程序的开发人员设定,也可以由用户设定。例如,当权限等级按照权限由高至低的顺序分为一级、二级和三级,可将预设范围设为一级和二级。当安装软软件所需的权限等级在预设范围内时,执行步骤02,这样可以在安装一些所需权限较低的软件时,因为所需的权限较低,对终端的安全影响较小,省去从预设数据库查询与软件权限标识对应的预设权限标识的步骤,这样可以提高带安装软件的安装效率。

本发明实施例还提供一种软件安装装置,包括:

解析模块,用于在获取到待安装软件的安装指令时,解析待安装软件包以获取待安装软件权限标识;

查询模块,用于从预设数据库查询与软件权限标识对应的预设权限标识;

执行模块,用于当预设数据库有与软件权限标识对应的预设权限标识时,根据安装指令安装待安装软件。

进一步地,查询模块包括:

比对单元,用于将软件权限标识与预设数据库中的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识;

判定单元,用于当存在与软件权限标识的关系符合预设规则的预设权限标识时,判定预设数据库有与软件权限标识对应的预设权限标识。

进一步地,比对单元包括:

获取子单元,用于获取软件权限标识的软件授权日期;

比对子单元,用于将软件权限标识与预设数据库中标准授权日期与软件授权日期相同的各预设权限标识比对,判断是否存在与软件权限标识的关系符合预设规则的预设权限标识。

进一步地,软件安装装置还包括:

判断模块,用于当预设数据库没有与软件权限标识对应的预设权限标识时,将软件权限标识与非法软件库中的非法权限标识比对,判断是否存在与软件权限标识相同的非法权限标识;

告警模块,用于在存在与软件权限标识相同的非法权限标识时,阻止执行安装指令并发出非法软件告警信息;

确认模块,用于在不存在与软件权限标识相同的非法权限标识时,发出安装询问信息以向用户确认是否根据安装指令安装待安装软件。

进一步地,解析模块识包括:

解析单元,用于在获取到待安装软件的安装指令时,解析待安装软件包以获取待安装软件权限标识和待安装软件的权限等级;

查询模块还用于当权限等级在预设范围内时,从预设数据库查询与软件权限标识对应的预设权限标识。

进一步地,解析单元包括:

解析子单元,用于解析待安装软件包以获取待安装软件权限标识和待安装软件类型;

权限确定子单元,用于根据软件类型确定待安装软件的权限等级。

进一步地,预设权限标识是预设数据库中的经软件管控平台审核并通过的合法软件封装时生成的权限标识经第一预设算法进行哈希处理之后得到的哈希值,软件权限标识是待安装软件封装时生成的权限标识经第二预设算法进行哈希处理之后得到的哈希值。

其中,上述软件安装装置中各个模块的功能实现与上述软件安装方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

本发明还提供一种计算机可读存储介质,存储有用于软件安装的计算机程序,其中,计算机程序使得计算机执行上述任一实施例的软件安装方法的步骤。

其中,软件安装程序被执行时所实现的方法可参照本发明软件安装方法的各个实施例,此处不再赘述。

在上述实施例中,可全部或部分地通过软件、硬件、固件、或其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

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

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