CN107391185B - 检测安装包的方法和装置 - Google Patents
检测安装包的方法和装置 Download PDFInfo
- Publication number
- CN107391185B CN107391185B CN201710559863.6A CN201710559863A CN107391185B CN 107391185 B CN107391185 B CN 107391185B CN 201710559863 A CN201710559863 A CN 201710559863A CN 107391185 B CN107391185 B CN 107391185B
- Authority
- CN
- China
- Prior art keywords
- installation package
- file directory
- directory structure
- operating system
- installation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种检测安装包的方法和装置。其中,该方法包括:获取安装包;读取安装包中的文件目录结构,其中,安装包用于在操作系统上安装软件或应用;判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上进行的安装的安装包的文件目录结构;在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包。本发明解决了在安装软件的过程中无法确定软件的安装包是否能够被正确安装的技术问题。
Description
技术领域
本发明涉及计算机软件领域,具体而言,涉及一种检测安装包的方法和装置。
背景技术
现有技术中,当在终端设备上安装软件或应用时,通常试讲软件或应用的安装包复制到对应的安装目录下,例如,对于手机APP,一般是将安装包直接复制到data/app目录下,解压并扫描安装包,把dex文件保存到dalvik-cache目录下,并在data/app目录下创建与dex文件相对应的应用数据目录。
然而,在对软件的安装包进行安装的过程中,常常会出现软件安装到一部分便不能继续安装的情况,还可能出现在完成安装后,软件或应用不能正常使用的现象,并且用户无法得知软件安装失败的原因。另外,用户一般是在软件安装过程中或在软件安装结束后才知道安装包安装失败,用户无法预先确定软件安装包是否能正常安装。同时,在对安装包进行安装的过程中,需要在终端设备上创建安装目录,在安装包安装失败后,之前创建的安装目录以及在安装过程中所产生的安装文件依然存储在终端设备上,由此,占用了终端设备的大量资源,尤其是在软件多次安装失败的情况下,安装失败的文件将会占用终端设备大量的内存资源,并影响了终端设备的运行速度。
针对上述在安装软件的过程中无法确定软件的安装包是否能够被正确安装的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种检测安装包的方法和装置,以至少解决在安装软件的过程中无法确定软件的安装包是否能够被正确安装的技术问题。
根据本发明实施例的一个方面,提供了一种检测安装包的方法,包括:获取安装包;读取安装包中的文件目录结构,其中,安装包用于在操作系统上安装软件或应用;判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上安装的安装包的文件目录结构;在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包。
根据本发明实施例的另一方面,还提供了一种检测安装包的装置,包括:获取模块,用于获取安装包;读取模块,用于读取安装包中的文件目录结构,其中,安装包用于在操作系统上安装软件或应用;判断模块,用于判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上安装的安装包的文件目录结构;确定模块,用于在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行检测安装包的方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行检测安装包的方法。
在本发明实施例中,采用预先设置文件目录结构的方式,通过获取安装包,读取安装包中的文件目录结构,判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包,其中,安装包用于在操作系统上安装软件或应用,预先设置的一种或几种文件目录结构至少包括第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上进行安装的安装包的文件目录结构,达到了在安装软件的过程中确定软件的安装包能够被正确安装的目的,从而实现了在对安装包进行安装的过程中有效降低对终端设备的内存资源的占用率的技术效果,进而解决了在安装软件的过程中无法确定软件的安装包是否能够被正确安装的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种检测安装包的方法流程图;
图2是根据本发明实施例的一种可选的文件目录结构的示意图;
图3是根据本发明实施例的一种可选的检测安装包的方法流程图;
图4是根据本发明实施例的一种可选的检测安装包的方法流程图;
图5是根据本发明实施例的一种可选的检测安装包的方法流程图;
图6是根据本发明实施例的一种可选的检测安装包的方法流程图;
图7是根据本发明实施例的一种可选的检测安装包的方法流程图;以及
图8是根据本发明实施例的一种检测安装包的装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种检测安装包的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的检测安装包的方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取安装包;
步骤S104,读取安装包中的文件目录结构,其中,安装包用于在操作系统上安装软件或应用;
步骤S106,判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上进行的安装的安装包的文件目录结构;
步骤S108,在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包。
需要说明的是,上述安装包为可以在终端设备上进行安装的软件的安装包,其中,终端设备可以为普通电脑、平板、智能手机以及服务器等。上述文件目录结构为对安装包进行安装的过程中所产生的多个文件之间的关联关系,文件目录结构一般分为一级目录结构、二级目录结构和多级目录结构,其中,如图2所示的一种可选的文件目录结构的示意图,在图2中,一级目录为Program Files文件夹所在的目录,二级文件夹为Google文件夹所在的目录,多级目录为Google文件夹下的所有文件夹下所对应的文件目录,例如,Update文件夹下包含了四个文件,其中,有三个是文件夹,一个是应用程序。
在一种可选的实施例中,检测安装包的应用软件通过识别终端设备上的文件后缀来确定该文件是否为安装包文件,例如,在终端设备为普通电脑的情况下,检测安装包的应用软件如果识别到文件的后缀为.exe,则确定该文件为安装包文件,并获取安装包文件所在的文件目录;如果终端设备为安卓手机,则检测安装包的应用软通过判断文件的后缀是否为.apk来确定该文件是否为安装包文件,同样,在确定该文件为安装包文件的情况下,获取安装包文件所在的文件目录。
需要说明的是,检测安装包的应用软件预先设置了两种类型的文件目录结构,即第一类型的文件目录结构和第二类型的文件目录结构。其中,第一类型的文件目录结构为能够正确在操作系统上安装的安装包的文件目录结构,第二类型的文件目录结构为不能在操作系统上正确安装的安装包的文件目录结构。
在另一种可选的实施例中,在确定待安装的安装包的文件目录结构之后,检测安装包的应用软件将该待安装的安装包的文件目录结构与预先设置的文件目录结构进行匹配,得到两者的相似度。具体可通过如下方法来确定两者的相似度,首先对每一级的文件目录设置一个权重值,对安装包的每一级的文件目录与对应的预先设置的文件目录进行匹配,得到一个相似度,然后分别获取每一级文件目录的权重以及每一级文件目录下两者的相似度,对获取到的相似度以及权重值进行加权求和,计算得到的最终结果即为待安装的安装包的文件目录结构与预先设置的一种或几种文件目录结构的相似度。在获取到两者的相似度之后,进一步判断相似度是否达到预设的第一阈值,如果相似度大于第一阈值,说明待安装的安装包的文件目录结构与能够正常安装的安装包的文件目录结构相同,即待安装的安装包为能够正确安装在操作系统上的安装包。
基于上述步骤S102至步骤S108所限定的方案,可以获知,通过获取安装包,读取安装包中的文件目录结构,判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包,其中,安装包用于在操作系统上安装软件或应用,预先设置的一种或几种文件目录结构至少包括第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上进行安装的安装包的文件目录结构。
容易注意到的是,预先设置能够在操作系统上正确安装的安装包的文件目录结构和不能够在操作系统正确安装的安装包的文件目录结构,在对安装包安装之前,先将待安装的安装包的文件目录结构与预先设置的文件目录结构进行对比,进而在安装包安装之前便可以确定安装包能否安装成功,从而解决了在对安装包进行安装之前,由于不知道安装包能否安装成功,而对安装包进行多次安装,造成终端设备内存资源的浪费的问题。
上述实施例1所限定的方案可以达到在安装软件的过程中确定软件的安装包能够被正确安装的目的,从而实现了在对安装包进行安装的过程中有效降低对终端设备的内存资源的占用率的技术效果,进而解决了在安装软件的过程中无法确定软件的安装包是否能够被正确安装的技术问题。
需要说明的是,如果待安装的安装包的文件目录结构与预设设置的一种或几种文件目录结构的相似度不超过第一阈值,则进一步判断待安装的安装包文件是否与第二类型的文件目录结构匹配,如果相匹配,则确定待安装的安装包文件不能正确安装。如图3所示的一种可选的检测安装包的方法流程图,在相似度未超过第一阈值的情况下,检测安装包的方法还包括如下步骤:
步骤S302,判断文件目录结构与第二类型的文件目录结构的相似度是否超过第二阈值;
步骤S304,在相似度超过第二阈值的情况下,确定安装包为不能够正确安装在操作系统上的安装包。
需要说明的是,确定待安装的安装包的文件目录结构与第二类型的文件目录结构的相似度的方法与上述实施例中确定待安装的安装包的文件目录结构与第一类型的文件目录结构的相似度的方法类似,在此不再赘述。
还存在另一种场景,如图4所示的一种可选的检测安装包的方法流程图,在相似度未超过第一阈值并且也未超过第二阈值的情况下,检测安装包的方法还包括如下步骤:
步骤S402,提取文件目录结构与预先配置的文件目录结构中存在差异的文件或者文件夹;
步骤S404,判断存在差异的文件或者文件夹的优先级,其中,优先级用于指示该文件或者文件夹对安装包能够正确安装在操作系统上的影响;
步骤S406,根据优先级确定安装包是否能被正确安装在操作系统上。
需要说明的是,存在差异的文件或者文件夹的优先级用于表征影响安装包能否安装成功的重要程度,例如,如果缺少文件目录结构中的文件A,软件或应用仍能正确安装,并能够正常使用,而如果缺少文件目录结构中的文件B,软件或应用将不能正确安装,或者,软件或应用仍能安装,但不能正常使用,此时,文件B的优先级要高于文件A的优先级。
此外,还需要说明的是,如果待安装的安装包的文件目录结构中的文件的内容或文件的大小与预先设置的文件目录结构中的文件或者文件夹不同,则认为文件目录结构与预先配置的文件目录结构存在差异,此时,存在差异的文件或者文件夹的优先级是预先设定好的。如果待安装的安装包的文件目录结构中的文件的内容或文件在预先设置的文件目录结构不存在,则认为文件目录结构与预先配置的文件目录结构存在差异,此时,可将存在差异的文件或者文件夹的优先级设置为最高优先级。
另外,在确定了存在差异的文件或者文件夹的优先级之后,根据该优先级对安装包进行安装。在根据优先级确定安装包能否被正常安装在操作系统上之后,可以根据安装的结果对第一类型的文件目录结构和/或第二类型的文件目录结构进行更新,具体方法如图5所示,在图5中,检测安装包的方法还包括如下步骤:
步骤S502,获取安装包在操作系统上的安装结果;
步骤S504,根据安装结果将安装包对应的文件目录结构保存为预先配置的文件目录结构。
需要说明的是,上述安装结果包括正确安装和不正确安装两种结果。如果安装包在操作系统上能够正确安装,则将该安装包所对应的文件目录结构保存在第一类型的文件目录结构中,在将来对待安装的安装包进行检测时,如果检测到待安装的安装包的文件目录结构与之前保存的文件目录结构的匹配度达到第一阈值,则确定该安装包为能够正确安装在操作系统上的安装包。同样,如果安装包在操作系统上不能正确安装,则将该安装包所对应的文件目录结构保存在第二类型的文件目录结构中。
此外,还需要说明的是,通过上述实施例将待安装的安装包的文件目录结构保存为预先设置的文件目录结构,可以方便后续对安装包的检测,提高检测安装包的效率。
在另一种可选的实施例中,如图6所示的一种可选的检测安装包的方法流程图,在图6中,在根据优先级确定安装包是否能被正常安装在操作系统上之后,检测安装包的方法还包括:
步骤S602,获取安装包在操作系统上的安装结果;
步骤S604,在安装结果与根据优先级确定的安装结果不同的情况下,调整存在差异的文件或者文件夹对应的优先级。
在一种可选的实施例中,根据存在差异的文件或者文件夹的优先级对安装包进行按章,如果在该优先级下,安装包不能够正确安装,而预先设置的文件目录结构中存在差异的文件或者文件夹根据该优先级是能够正确对安装包进行安装的,此时调整存在差异的文件或者文件夹的优先级,并根据优先级调整后的文件或者文件夹再次对安装包进行安装,直至,根据调整优先级后的文件或者文件夹对安装包进行安装的安装结果,预先设置的根据优先级确定的安装结果相同,并将优先级调整后的文件或者文件夹的优先级存储起来。
需要说明的是,通过上述实施例根据安装结果对存在差异的文件或者文件夹对应的优先级进行调整,进而根据调整后的优先级来确定安装包能否被正确安装在操作系统上。
在另一种可选的实施例中,如图7所示的一种可选的检测安装包的方法流程图,在确定安装包为能够正确安装在操作系统上的安装包之后,检测安装包的方法还包括如下步骤:
步骤S702,获取应用或软件的行为信息,其中,应用或软件为使用安装包在操作系统上进行安装得到的应用或软件;
步骤S704,根据行为信息确定应用或软件是否正常工作;
步骤S706,在存在不正常工作的情况下,获取不正常工作的日志信息;
步骤S708,根据日志信息判断不正常工作是否由安装包的文件目录结构导致。
需要说明的是,上述行为信息可以为但不限于启动应用或软件,对应用或软件执行相关的动作时所产生的信息,例如,对于酷我音乐软件,用户启动酷我音乐,在酷我音乐中搜索歌曲并播放歌曲时,酷我音乐所产生的信息。在一种可选的实施例中,当用户点击酷我音乐中的播放MTV按钮时,酷我音乐不显示MTV的播放画面,此时,酷我音乐将产生不正常工作的日志信息。其中,该日志信息中记录了应用或软件不能正常工作的原因,包括硬件原因和软件原因,其中,硬件原因为终端设备的硬件出现了问题,而软件原因又包括软件版本比较老旧以及安装包的文件目录结构不正常。因此,检测安装包的应用软件通过获取日志信息便可确定软件或应用不能正常工作的原因,并且在根据日志信息判断不正常工作是由安装包的文件目录结构导致的情况下,根据安装包的文件目录结构调整预先设置的一种或几种文件目录,以使后续的安装包在安装完成之后,可以正常使用软件或应用,进而减少了对终端设备的内存资源的浪费。
实施例2
根据本发明实施例,还提供了一种检测安装包的装置实施例。
图8是根据本发明实施例的检测安装包的装置结构示意图,如图8所示,该装置包括:获取模块801、读取模块803、判断模块805以及确定模块807。
其中,获取模块801,用于获取安装包;读取模块803,用于读取安装包中的文件目录结构,其中,安装包用于在操作系统上安装软件或应用;判断模块805,用于判断文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,第一类型的文件目录结构为能够正确在操作系统上安装的安装包的文件目录结构;确定模块807,用于在相似度超过第一阈值的情况下,确定安装包为能够正确安装在操作系统上的安装包。
需要说明的是,上述获取模块801、读取模块803、判断模块805以及确定模块807对应于实施例1中的步骤S102至步骤S108,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,预先设置的一种或几种文件目录结构还包括:第二类型的文件目录结构,其中,第二类型的文件目录结构为不能正确在操作系统上安装的安装包的文件目录结构;在相似度未超过第一阈值的情况下,检测安装包的装置还包括:第一判断模块以及第一确定模块。其中,第一判断模块,用于判断文件目录结构与第二类型的文件目录结构的相似度是否超过第二阈值;第一确定模块,用于在相似度超过第二阈值的情况下,确定安装包为不能够正确安装在操作系统上的安装包。
需要说明的是,上述第一判断模块以及第一确定模块对应于实施例1中的步骤S302至步骤S304,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,在相似度未超过第一阈值并且也未超过第二阈值的情况下,检测安装包的装置还包括:提取模块、第二判断模块以及第二确定模块。其中,提取模块,用于提取文件目录结构与预先配置的文件目录结构中存在差异的文件或者文件夹;第二判断模块,用于判断存在差异的文件或者文件夹的优先级,其中,优先级用于指示该文件或者文件夹对安装包能够正确安装在操作系统上的影响;第二确定模块,用于根据优先级确定安装包是否能被正确安装在操作系统上。
需要说明的是,上述提取模块、第二判断模块以及第二确定模块对应于实施例1中的步骤S402至步骤S406,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,检测安装包的装置还包括:第一获取模块以及保存模块。其中,第一获取模块,用于获取安装包在操作系统上的安装结果;保存模块,用于根据安装结果将安装包对应的目录结构保存为预先配置的文件目录结构。
需要说明的是,上述第一获取模块以及保存模块对应于实施例1中的步骤S502至步骤S504,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,检测安装包的装置还包括:第二获取模块以及第一调整模块。其中,第二获取模块,用于获取安装包在操作系统上的安装结果;第一调整模块,用于在安装结果与根据优先级确定的安装结果不同的情况下,调整存在差异的文件或者文件夹对应的优先级。
需要说明的是,上述第二获取模块以及第一调整模块对应于实施例1中的步骤S602至步骤S604,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,检测安装包的装置还包括:第三获取模块、第三确定模块、第四获取模块以及第三判断模块。其中,第三获取模块,用于获取应用或软件的行为信息,其中,应用或软件为使用安装包在操作系统上进行安装得到的应用或软件;第三确定模块,用于根据行为信息确定应用或软件是否正常工作;第四获取模块,用于在存在不正常工作的情况下,获取不正常工作的日志信息;第三判断模块,用于根据日志信息判断不正常工作是否由安装包的文件目录结构导致。
需要说明的是,上述第三获取模块、第三确定模块、第四获取模块以及第三判断模块对应于实施例1中的步骤S702至步骤S708,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,第三判断模块包括:第二调整模块。其中,第二调整模块,用于根据安装包的文件目录结构调整预先设置的一种或几种文件目录。
实施例3
根据本发明实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行实施例1中任意一项可选的或优选的检测安装包的方法。
实施例4
根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例1中任意一项可选的或优选的检测安装包的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种检测安装包的方法,其特征在于,包括:
获取安装包;
读取所述安装包中的文件目录结构,其中,所述安装包用于在操作系统上安装软件或应用;
判断所述文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,所述第一类型的文件目录结构为能够正确在所述操作系统上安装的安装包的文件目录结构;
在所述相似度超过所述第一阈值的情况下,确定所述安装包为能够正确安装在所述操作系统上的安装包;
在确定所述安装包为所述能够正确安装在所述操作系统上的安装包之后,所述方法还包括:
获取应用或软件的行为信息,其中,所述应用或软件为使用所述安装包在所述操作系统上进行安装得到的应用或软件;
根据所述行为信息确定所述应用或软件是否正常工作;
在存在不正常工作的情况下,获取不正常工作的日志信息;
根据所述日志信息判断不正常工作是否由所述安装包的文件目录结构导致。
2.根据权利要求1所述的方法,其特征在于,所述预先设置的一种或几种文件目录结构还包括:第二类型的文件目录结构,其中,所述第二类型的文件目录结构为不能正确在所述操作系统上安装的安装包的文件目录结构;在所述相似度未超过所述第一阈值的情况下,所述方法还包括:
判断所述文件目录结构与所述第二类型的文件目录结构的相似度是否超过第二阈值;
在所述相似度超过所述第二阈值的情况下,确定所述安装包为不能够正确安装在所述操作系统上的安装包。
3.根据权利要求2所述的方法,其特征在于,在所述相似度未超过所述第一阈值并且也未超过所述第二阈值的情况下,所述方法还包括:
提取所述文件目录结构与预先配置的文件目录结构中存在差异的文件或者文件夹;
判断存在差异的所述文件或者文件夹的优先级,其中,所述优先级用于指示该文件或者文件夹对所述安装包能够正确安装在所述操作系统上的影响;
根据所述优先级确定所述安装包是否能被正确安装在所述操作系统上。
4.根据权利要求3所述的方法,其特征在于,在根据所述优先级确定所述安装包是否能被正常安装在所述操作系统上之后,所述方法还包括:
获取所述安装包在所述操作系统上的安装结果;
根据所述安装结果将所述安装包对应的文件目录结构保存为预先配置的文件目录结构。
5.一种检测安装包的装置,其特征在于,包括:
获取模块,用于获取安装包;
读取模块,用于读取所述安装包中的文件目录结构,其中,所述安装包用于在操作系统上安装软件或应用;
判断模块,用于判断所述文件目录结构与预先设置的一种或几种文件目录结构的相似度是否超过第一阈值,其中,预先设置的一种或几种文件目录结构至少包括:第一类型的文件目录结构,所述第一类型的文件目录结构为能够正确在所述操作系统上安装的安装包的文件目录结构;
确定模块,用于在所述相似度超过所述第一阈值的情况下,确定所述安装包为能够正确安装在所述操作系统上的安装包;
第三获取模块,用于获取应用或软件的行为信息,其中,所述应用或软件为使用所述安装包在所述操作系统上进行安装得到的应用或软件;
第三确定模块,用于根据所述行为信息确定所述应用或软件是否正常工作;
第四获取模块,用于在存在不正常工作的情况下,获取不正常工作的日志信息;
第三判断模块,用于根据所述日志信息判断不正常工作是否由所述安装包的文件目录结构导致。
6.根据权利要求5所述的装置,其特征在于,所述预先设置的一种或几种文件目录结构还包括:第二类型的文件目录结构,其中,所述第二类型的文件目录结构为不能正确在所述操作系统上安装的安装包的文件目录结构;在所述相似度未超过所述第一阈值的情况下,所述装置还包括:
第一判断模块,用于判断所述文件目录结构与所述第二类型的文件目录结构的相似度是否超过第二阈值;
第一确定模块,用于在所述相似度超过所述第二阈值的情况下,确定所述安装包为不能够正确安装在所述操作系统上的安装包。
7.根据权利要求6所述的装置,其特征在于,在所述相似度未超过所述第一阈值并且也未超过所述第二阈值的情况下,所述装置还包括:
提取模块,用于提取所述文件目录结构与预先配置的文件目录结构中存在差异的文件或者文件夹;
第二判断模块,用于判断存在差异的所述文件或者文件夹的优先级,其中,所述优先级用于指示该文件或者文件夹对所述安装包能够正确安装在所述操作系统上的影响;
第二确定模块,用于根据所述优先级确定所述安装包是否能被正确安装在所述操作系统上。
8.根据权利要求7所述的装置,其特征在于,在根据所述优先级确定所述安装包是否能被正常安装在所述操作系统上之后,所述装置还包括:
第一获取模块,用于获取所述安装包在所述操作系统上的安装结果;
保存模块,用于根据所述安装结果将所述安装包对应的文件目录结构保存为预先配置的文件目录结构。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的检测安装包的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的检测安装包的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710559863.6A CN107391185B (zh) | 2017-07-10 | 2017-07-10 | 检测安装包的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710559863.6A CN107391185B (zh) | 2017-07-10 | 2017-07-10 | 检测安装包的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107391185A CN107391185A (zh) | 2017-11-24 |
CN107391185B true CN107391185B (zh) | 2020-11-13 |
Family
ID=60340169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710559863.6A Active CN107391185B (zh) | 2017-07-10 | 2017-07-10 | 检测安装包的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391185B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114707123A (zh) * | 2022-04-22 | 2022-07-05 | 北京时代亿信科技股份有限公司 | 软件安装包的验证方法及装置、非易失性存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294487B (zh) * | 2012-02-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 安装软件的方法、设备及系统 |
CN103049296B (zh) * | 2012-12-28 | 2016-01-20 | 北界创想(北京)软件有限公司 | 为下载设备自动匹配目标应用的方法和装置 |
CN104021012B (zh) * | 2014-05-16 | 2018-05-01 | 可牛网络技术(北京)有限公司 | 应用程序的下载方法、执行异常的分析方法和装置 |
-
2017
- 2017-07-10 CN CN201710559863.6A patent/CN107391185B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107391185A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102238612B1 (ko) | DoS/DDoS 공격의 탐지 방법, 장치, 서버 및 저장 매체 | |
CN107147748B (zh) | 文件上传方法和装置 | |
CN115794472A (zh) | 芯片的错误收集及错误处理方法、装置及存储介质 | |
CN107391185B (zh) | 检测安装包的方法和装置 | |
CN106569907B (zh) | 一种系统启动文件的校验及编译方法 | |
CN109002348B (zh) | 一种虚拟化系统中的负载均衡方法及装置 | |
CN114282212A (zh) | 流氓软件识别方法、装置、电子设备及存储介质 | |
CN112215593A (zh) | 一种支付方法、装置、服务器及存储介质 | |
CN107633173B (zh) | 文件处理方法和装置 | |
CN109981573B (zh) | 安全事件响应方法及装置 | |
CN103747241A (zh) | 一种视频完整性的检测方法及装置 | |
US20070256067A1 (en) | Method and system for upgrading a software image | |
CN104317645B (zh) | 一种应用程序实例监听端口的方法及装置 | |
CN113010885B (zh) | 一种检测伪装起始地址的内核线程的方法及装置 | |
CN106657316B (zh) | 一种消息撤回方法及装置 | |
CN105988835B (zh) | 一种软件升级的方法及终端 | |
CN105099996A (zh) | 网站验证方法及装置 | |
CN109445694B (zh) | 一种分布式存储系统元数据分离方法和装置 | |
CN108595123B (zh) | 移动终端的数据存储方法及装置 | |
CN110209351B (zh) | 分布式存储数据处理方法和装置 | |
CN106250096B (zh) | 音频设备自动播放音乐的方法及装置 | |
CN107071548B (zh) | 一种视频处理方法及系统 | |
CN111970675A (zh) | 一种预警方法及装置、存储介质 | |
WO2015081834A1 (en) | Method and apparatus for distinguishing software types | |
CN116881001B (zh) | 多dpu宿主机的云平台的管控方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100041 room a-0003, 2 / F, building 3, yard 30, Shixing street, Shijingshan District, Beijing Patentee after: Beijing Falcon Safety Technology Co., Ltd Address before: 12 / F, block B, new office building of China Academy of Building Sciences, No. 30, Beisanhuan East Road, Chaoyang District, Beijing 100013 Patentee before: BEIJING KINGSOFT SECURITY MANAGEMENT SYSTEM TECHNOLOGY Co.,Ltd. |