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

文档序号:6504920阅读:212来源:国知局
一种识别软件的方法和装置制造方法
【专利摘要】本发明提出一种识别软件的方法和装置,有助于针对各种情况准确实现软件版本的识别。本发明的识别软件的方法包括:获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。
【专利说明】一种识别软件的方法和装置

【技术领域】
[0001] 本发明涉及一种识别软件的方法和装置。

【背景技术】
[0002]随着计算机技术的日益发展,软件产品层出不穷,软件的版本也在时常更新。在软 件进行升级时,首先要做的就是对软件进行识别。识别时不仅识别出是哪个软件,而且识别 出是该软件的哪个版本。因为软件识别主要用于进行版本升级,所以识别软件时,关键是识 别出软件的版本。
[0003] 识别软件的工作对于一些服务器来说显得格外重要。例如有的服务器上安装了服 务软件,用来帮助开发者实现程序功能的开发,这类服务软件往往数量众多,在长期的使用 过程中服务器的维护人员难以确定这些软件的当前更新状态,在进行升级操作例如对软件 进行批量升级时需对软件进行识别。
[0004] 现有的一种识别软件的方式基于软件的安装。软件在安装时由操作系统记录了软 件的一些信息,其中一般包括软件当前的版本,因此可以通过查找操作系统中的记录来确 定软件的版本。这种方式依赖于操作系统的记录,对于一些绿色化即不需安装的软件来说, 由于操作系统中没有记录软件的相关信息或记录不全面,无法从操作系统中的记录来获得 软件的版本。
[0005] 有些软件自身带有版本信息文件,可通过获取计算机中的版本信息文件来确定软 件的版本。但有些软件同有这样的版本信息文件,或者对版本信息文件进行修改使软件版 本信息不准确,对于这样的情况无法通过获取版本信息文件来确定软件的版本。


【发明内容】

[0006] 有鉴于此,本发明提出一种识别软件的方法和装置,有助于针对各种情况准确实 现软件版本的识别。本发明的其他目的和效果将结合【具体实施方式】加以说明。
[0007] 为了实现上述目的,根据本发明的一个方面,提供了一种识别软件的方法。
[0008] 本发明的识别软件的方法包括:获取软件的文件指纹,将获取的文件指纹与保存 的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件 指纹中当前被比的文件指纹所对应的软件版本;所述文件指纹是文件内容指纹或者文件关 系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得 到的"文件内容的标识和/或文件名"组合唯一确定,文件关系指纹是根据所述软件中的两 个以上的文件之间的预设的逻辑关系唯一确定。
[0009] 可选地,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到 的字符串。
[0010] 可选地,所述数值计算的方法包括哈希算法。
[0011] 可选地,所述逻辑关系包括:与、或、非。
[0012] 根据本发明的另一方面,提供了一种识别软件的装置。
[0013]本发明的识别软件的装置包括:获取模块,用于获取软件的文件指纹;比较模块, 用于将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述 软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的版本;所述文件指纹是 文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中 的两个以上的文件分别得到的"文件内容的标识和/或文件名"组合唯一确定,文件关系指 纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。
[0014] 可选地,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到 的字符串。
[0015] 可选地,所述数值计算的方法包括哈希算法。
[0016] 可选地,所述逻辑关系包括:与、或、非。
[0017] 根据本发明的技术方案,采用文件指纹作为软件的标识,能够确保软件的版本能 够被识别,不依赖于软件在操作系统中的注册信息或者软件自带的版本信息;并且该方式 因为可以灵活地选取文件内容指纹和文件关系指纹,对于文件内容指纹和文件关系指纹来 说又可以灵活选取各个文件来得到,所以在实现中易于根据软件的实际特点来确定文件指 纹的具体方式以及计算时所采用的文件,使文件指纹的计算较为高效并且有区别地标识多 个软件的多个版本;在进行版本比较时的流程也较为简单,便于采用计算机高效执行。

【专利附图】

【附图说明】
[0018] 说明书附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示 意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1是根据本发明实施例的识别软件的方法的示意图; 图2是根据本发明实施例的识别软件的装置的基本结构的示意图。

【具体实施方式】
[0019] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0020] 软件通常是由多个文件构成,这些文件一般来说具有如下特点:无论文件信息如 何改变,总会有一些核心功能文件在版本更新时不会被修改;由于文件之间的依赖关系,有 些文件的名称不能更改,否则将影响软件的功能。由于存在这些特点,本实施例中利用文 件名、文件内容来实现软件的识别,根据文件名、文件内容来形成一个用来标识软件的字符 串,本实施例中将该字符串称作文件指纹,具体包括文件内容指纹和文件关系指纹,文件指 纹可以是文件内容指纹和文件关系指纹的组合,即将这两个字符串连接,也可以是文件内 容指纹和文件关系指纹中的一种,可以根据软件的实际特点来定,以计算指纹较快并且避 免不同软件版本计算得到相同文件指纹的情况为原则。 _
[0021] 文件内容指纹的单元形式可以是"文件名和文件内容标识"组合,即将文件名和文 件内容标识连接。文件内容标识可以是对文件的预定位置的代码进行数值计算得到的字符 串,例如采用哈希算法得到的哈希值。这里的预定位置可以是一个或多个位置,在下文中结 合本实施例中的识别软件的方法作进一步说明。
[0022] 文件内容指纹也可以是文件名或者文件内容标识,即从一者中选出一种作为文件 内容指纹。这里表述为"单元形式",意思是文件内容指纹的完整形式是由多个单元组成,至 少需两个单元。例如由文件名为filel的文件得到组合"filel和hashl",其中hashl是根 据从filel中的预定位置取出的代码进行哈希计算得到的哈希值;同样由文件名file2得 到组合"file2或hash2";这样,文件内容指纹即为上述两个组合的合并,即将上述两个组 合的字符串连接。
[0023] 文件关系指纹是根据软件中的两个以上的文件之间的预设的逻辑关系唯一确定, 这里的逻辑关系包括与、或、非。例如,一条文件关系指纹是:filel与file2 ;其中Hlel 和file2是两个文件名,则该文件关系指纹的意思是该软件既要包含文件filel,又要包含 file2。又如,一条文件关系指纹是:file3与Dfile4 ;表示该软件是既包含文件file3,又在 与f ile3之间的相对目录为D的目录下包含文件f ile4。又如,一条文件关系指纹是:file5 或file6非file7,表示该软件中有文件file5或file6,但没有文件file7。
[0024] 在使用文件指纹进行软件识别时,可以按照图1所示的步骤进行。图1是根据本 发明实施例的识别软件的方法的示意图。
[0025] 步骤S11 :获取软件的文件指纹。此步骤中即按上述方式获得软件的文件指纹。在 计算机中安装有多个软件的情况下,获取的则是这多个软件的指纹。
[0026] 步骤S12 :将获取的软件的文件指纹与保存的文件指纹进行比较。这里的保存的 文件指纹一般是一个列表,列表中每一项是一个软件的一个版本的文件指纹,这些文件指 纹如果包含文件内容指纹,计算文件内容标识时采用的文件中的代码的位置,在步骤S11 中应当将该位置作为上述的预定位置,以保证得到的文件指纹具有可比性。上述列表的内 容例如表1所示。
[0027] 表 1

【权利要求】
1. 一种识别软件的方法,其特征在于,包括: 获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为 相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应 的软件版本; 所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指 纹是根据所述软件中的两个以上的文件分别得到的"文件内容的标识和/或文件名"组合 唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一 确定。
2. 根据权利要求1所述的方法,其特征在于,所述文件内容的标识是对所述文件的预 定位置的代码进行数值计算得到的字符串。
3. 根据权利要求1所述的方法,其特征在于,所述数值计算的方法包括哈希算法。
4. 根据权利要求1所述的方法,其特征在于,所述逻辑关系包括:与、或、非。
5. -种识别软件的装置,其特征在于,包括: 获取模块,用于获取软件的文件指纹; 比较模块,用于将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同 的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的版 本; 所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指 纹是根据所述软件中的两个以上的文件分别得到的"文件内容的标识和/或文件名"组合 唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一 确定。
6. 根据权利要求5所述的装置,其特征在于,所述文件内容的标识是对所述文件的预 定位置的代码进行数值计算得到的字符串。
7. 根据权利要求5所述的装置,其特征在于,所述数值计算的方法包括哈希算法。
8. 根据权利要求5所述的装置,其特征在于,所述逻辑关系包括:与、或、非。
【文档编号】G06F9/44GK104252349SQ201310264946
【公开日】2014年12月31日 申请日期:2013年6月28日 优先权日:2013年6月28日
【发明者】云朋 申请人:北京艾普优计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1