CN104252349A - 一种识别软件的方法和装置 - Google Patents

一种识别软件的方法和装置 Download PDF

Info

Publication number
CN104252349A
CN104252349A CN201310264946.4A CN201310264946A CN104252349A CN 104252349 A CN104252349 A CN 104252349A CN 201310264946 A CN201310264946 A CN 201310264946A CN 104252349 A CN104252349 A CN 104252349A
Authority
CN
China
Prior art keywords
file
fingerprint
software
version
content
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.)
Pending
Application number
CN201310264946.4A
Other languages
English (en)
Inventor
云朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhixiang Technology Co Ltd
Original Assignee
BEIJING APU COMPUTER SYSTEM Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING APU COMPUTER SYSTEM Co Ltd filed Critical BEIJING APU COMPUTER SYSTEM Co Ltd
Priority to CN201310264946.4A priority Critical patent/CN104252349A/zh
Publication of CN104252349A publication Critical patent/CN104252349A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

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

Claims (8)

1.一种识别软件的方法,其特征在于,包括:
获取软件的文件指纹,将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的软件版本;
所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。
2.根据权利要求1所述的方法,其特征在于,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到的字符串。
3.根据权利要求1所述的方法,其特征在于,所述数值计算的方法包括哈希算法。
4.根据权利要求1所述的方法,其特征在于,所述逻辑关系包括:与、或、非。
5.一种识别软件的装置,其特征在于,包括:
获取模块,用于获取软件的文件指纹;
比较模块,用于将获取的文件指纹与保存的文件指纹进行比较,在比较结果为相同的情况下确认所述软件的版本为所述保存的文件指纹中当前被比的文件指纹所对应的版本;
所述文件指纹是文件内容指纹或者文件关系指纹,或者二者的组合;其中,文件内容指纹是根据所述软件中的两个以上的文件分别得到的“文件内容的标识和/或文件名”组合唯一确定,文件关系指纹是根据所述软件中的两个以上的文件之间的预设的逻辑关系唯一确定。
6.根据权利要求5所述的装置,其特征在于,所述文件内容的标识是对所述文件的预定位置的代码进行数值计算得到的字符串。
7.根据权利要求5所述的装置,其特征在于,所述数值计算的方法包括哈希算法。
8.根据权利要求5所述的装置,其特征在于,所述逻辑关系包括:与、或、非。
CN201310264946.4A 2013-06-28 2013-06-28 一种识别软件的方法和装置 Pending CN104252349A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310264946.4A CN104252349A (zh) 2013-06-28 2013-06-28 一种识别软件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310264946.4A CN104252349A (zh) 2013-06-28 2013-06-28 一种识别软件的方法和装置

Publications (1)

Publication Number Publication Date
CN104252349A true CN104252349A (zh) 2014-12-31

Family

ID=52187295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310264946.4A Pending CN104252349A (zh) 2013-06-28 2013-06-28 一种识别软件的方法和装置

Country Status (1)

Country Link
CN (1) CN104252349A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641423A (zh) * 2021-08-31 2021-11-12 青岛海信传媒网络技术有限公司 显示设备及系统启动方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369836A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 自动建立应用软件版本信息库的方法
CN1369804A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 自动检测软件版本的方法
CN1760828A (zh) * 2004-10-11 2006-04-19 佛山市顺德区顺达电脑厂有限公司 软件版本的辨识方法及其电路
CN101178651A (zh) * 2007-12-21 2008-05-14 深圳市迅雷网络技术有限公司 一种软件版本更新提示的方法、系统及装置
CN101770375A (zh) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 一种软件自动升级的实现方法、系统和装置
CN102831049A (zh) * 2011-06-13 2012-12-19 腾讯科技(深圳)有限公司 检测软件的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369836A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 自动建立应用软件版本信息库的方法
CN1369804A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 自动检测软件版本的方法
CN1760828A (zh) * 2004-10-11 2006-04-19 佛山市顺德区顺达电脑厂有限公司 软件版本的辨识方法及其电路
CN101178651A (zh) * 2007-12-21 2008-05-14 深圳市迅雷网络技术有限公司 一种软件版本更新提示的方法、系统及装置
CN101770375A (zh) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 一种软件自动升级的实现方法、系统和装置
CN102831049A (zh) * 2011-06-13 2012-12-19 腾讯科技(深圳)有限公司 检测软件的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641423A (zh) * 2021-08-31 2021-11-12 青岛海信传媒网络技术有限公司 显示设备及系统启动方法
CN113641423B (zh) * 2021-08-31 2023-07-07 青岛海信传媒网络技术有限公司 显示设备及系统启动方法

Similar Documents

Publication Publication Date Title
US11669544B2 (en) Allocation and reassignment of unique identifiers for synchronization of content items
US8307355B2 (en) Method and apparatus for populating a software catalogue with software knowledge gathering
EP1513065B1 (en) File system and file transfer method between file sharing devices
US10108635B2 (en) Deduplication method and deduplication system using data association information
US8959062B2 (en) Data storage device with duplicate elimination function and control device for creating search index for the data storage device
US10929125B2 (en) Determining provenance of files in source code projects
CN109543462B (zh) 设备标识确定方法、装置、服务器及存储介质
US9292387B2 (en) Medium, control method, and information processing apparatus
JP5319133B2 (ja) 文書管理システム、文書管理方法およびプログラム
CN104850301A (zh) 一种在系统桌面上将应用程序图标分类的方法和系统
US8489616B2 (en) Identifying software
US20150121485A1 (en) Configuration of network devices
CN106462430A (zh) 应用升级包获取方法及装置
CN106445643B (zh) 克隆、升级虚拟机的方法及设备
CN111190962B (zh) 一种文件同步方法、装置及本地终端
JP3874593B2 (ja) コンピュータ識別装置
US20120102069A1 (en) Data migration system and data migration method
CN102360410A (zh) 文件系统的用户操作发现方法和应用该方法的同步系统
CN111507400B (zh) 应用分类方法、装置、电子设备以及存储介质
CN111858486A (zh) 一种文件分类方法和装置
CN106462489B (zh) 分析装置管理系统
CN109783463A (zh) 文件同步方法、装置及计算机可读存储介质
CN104252349A (zh) 一种识别软件的方法和装置
US8650227B2 (en) Storage medium, determination method, and apparatus
CN103812908A (zh) 云端文件处理方法以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: BEIJING WEFI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING APU COMPUTER SYSTEM CO., LTD.

Effective date: 20150821

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150821

Address after: 100081 Beijing city Haidian District tophere building A block 8 layer 801

Applicant after: BEIJING ZHIXIANG TECHNOLOGY CO., LTD.

Address before: 100025 Beijing city Chaoyang District eight Zhuang Xili 2000 No. four building 602 room

Applicant before: Beijing APU Computer System Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141231