一种识别软件的方法和装置制造方法及图纸

技术编号:10861869 阅读:73 留言:0更新日期:2015-01-01 15:00
本发明专利技术提出一种识别软件的方法和装置,有助于针对各种情况准确实现软件版本的识别。本发明专利技术的识别软件的方法包括:获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。

【技术实现步骤摘要】
【专利摘要】本专利技术提出一种识别软件的方法和装置,有助于针对各种情况准确实现软件版本的识别。本专利技术的识别软件的方法包括:获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。【专利说明】一种识别软件的方法和装置
本专利技术涉及一种识别软件的方法和装置。
技术介绍
随着计算机技术的日益发展,软件产品层出不穷,软件的版本也在时常更新。在软 件进行升级时,首先要做的就是对软件进行识别。识别时不仅识别出是哪个软件,而且识别 出是该软件的哪个版本。因为软件识别主要用于进行版本升级,所以识别软件时,关键是识 别出软件的版本。 识别软件的工作对于一些服务器来说显得格外重要。例如有的服务器上安装了服 务软件,用来帮助开发者实现程序功能的开发,这类服务软件往往数量众多,在长期的使用 过程中服务器的维护人员难以确定这些软件的当前更新状态,在进行升级操作例如对软件 进行批量升级时需对软件进行识别。 现有的一种识别软件的方式基于软件的安装。软件在安装时由操作系统记录了软 件的一些信息,其中一般包括软件当前的版本,因此可以通过查找操作系统中的记录来确 定软件的版本。这种方式依赖于操作系统的记录,对于一些绿色化即不需安装的软件来说, 由于操作系统中没有记录软件的相关信息或记录不全面,无法从操作系统中的记录来获得 软件的版本。 有些软件自身带有版本信息文件,可通过获取计算机中的版本信息文件来确定软 件的版本。但有些软件同有这样的版本信息文件,或者对版本信息文件进行修改使软件版 本信息不准确,对于这样的情况无法通过获取版本信息文件来确定软件的版本。
技术实现思路
有鉴于此,本专利技术提出一种识别软件的方法和装置,有助于针对各种情况准确实 现软件版本的识别。本专利技术的其他目的和效果将结合【具体实施方式】加以说明。 为了实现上述目的,根据本专利技术的一个方面,提供了一种识别软件的方法。 本专利技术的识别软件的方法包括:获取软件的文件指纹,将获取的文件指纹与保存 的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件 指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关 系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得 到的"文件内容的标识和/或文件名"组合唯一确定,文件关系指纹是根据所述软件中的两 个以上的文件之间的预设的逻辑关系唯一确定。 可选地,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到 的字符串。 可选地,所述数值计算的方法包括哈希算法。 可选地,所述逻辑关系包括:与、或、非。 根据本专利技术的另一方面,提供了一种识别软件的装置。 本专利技术的识别软件的装置包括:获取模块,用于获取软件的文件指纹;比较模块, 用于将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述 软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的版本;所述文件指纹是 文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中 的两个以上的文件分别得到的"文件内容的标识和/或文件名"组合唯一确定,文件关系指 纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。 可选地,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到 的字符串。 可选地,所述数值计算的方法包括哈希算法。 可选地,所述逻辑关系包括:与、或、非。 根据本专利技术的技术方案,采用文件指纹作为软件的标识,能够确保软件的版本能 够被识别,不依赖于软件在操作系统中的注册信息或者软件自带的版本信息;并且该方式 因为可以灵活地选取文件内容指纹和文件关系指纹,对于文件内容指纹和文件关系指纹来 说又可以灵活选取各个文件来得到,所以在实现中易于根据软件的实际特点来确定文件指 纹的具体方式以及计算时所采用的文件,使文件指纹的计算较为高效并且有区别地标识多 个软件的多个版本;在进行版本比较时的流程也较为简单,便于采用计算机高效执行。 【专利附图】【附图说明】 说明书附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示 意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是根据本专利技术实施例的识别软件的方法的示意图; 图2是根据本专利技术实施例的识别软件的装置的基本结构的示意图。 【具体实施方式】 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本专利技术。 软件通常是由多个文件构成,这些文件一般来说具有如下特点:无论文件信息如 何改变,总会有一些核心功能文件在版本更新时不会被修改;由于文件之间的依赖关系,有 些文件的名称不能更改,否则将影响软件的功能。由于存在这些特点,本实施例中利用文 件名、文件内容来实现软件的识别,根据文件名、文件内容来形成一个用来标识软件的字符 串,本实施例中将该字符串称作文件指纹,具体包括文件内容指纹和文件关系指纹,文件指 纹可以是文件内容指纹和文件关系指纹的组合,即将这两个字符串连接,也可以是文件内 容指纹和文件关系指纹中的一种,可以根据软件的实际特点来定,以计算指纹较快并且避 免不同软件版本计算得到相同文件指纹的情况为原则。 _ 文件内容指纹的单元形式可以是"文件名和文件内容标识"组合,即将文件名和文 件内容标识连接。文件内容标识可以是对文件的预定位置的代码进行数值计算得到的字符 串,例如采用哈希算法得到的哈希值。这里的预定位置可以是一个或多个位置,在下文中结 合本实施例中的识别软件的方法作进一步说明。 文件内容指纹也可以是文件名或者文件内容标识,即从一者中选出一种作为文件 内容指纹。这里表述为"单元形式",意思是文件内容指纹的完整形式是由多个单元组成,至 少需两个单元。例如由文件名为filel的文件得到组合"filel和hashl",其中hashl是根 据从filel中的预定位置取出的代码进行哈希计算得到的哈希值;同样由文件名file2得 到组合"file2或hash2";这样,文件内容指纹即为上述两个组合的合并,即将上述两个组 合的字符串连接。 文件关系指纹是根据软件中的两个以上的文件之间的预设的逻辑关系唯一确定, 这里的逻辑关系包括与、或、非。例如,一条文件关系指纹是:filel与file2 ;其中Hlel 和file2是两个文件名,则该文件关系指纹的意思是该软件既要包含文件filel,又要包含 file2。又如,一条文件关系指纹是:file3与Dfile4 ;表示该软件是既包含文件file3,又在 与f ile3之间的相对目录为D的目录下包含文件f ile4。又如,一条文件关系指本文档来自技高网
...

【技术保护点】
一种识别软件的方法,其特征在于,包括:获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。

【技术特征摘要】

【专利技术属性】
技术研发人员:云朋
申请(专利权)人:北京艾普优计算机系统有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1