CN104881311B - 一种版本兼容的判断方法及装置 - Google Patents
一种版本兼容的判断方法及装置 Download PDFInfo
- Publication number
- CN104881311B CN104881311B CN201510283911.4A CN201510283911A CN104881311B CN 104881311 B CN104881311 B CN 104881311B CN 201510283911 A CN201510283911 A CN 201510283911A CN 104881311 B CN104881311 B CN 104881311B
- Authority
- CN
- China
- Prior art keywords
- component software
- version
- component
- software
- edition
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种版本兼容的判断方法,包括:获取软件组件***的集成配置文件,集成配置文件包括软件组件***进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件,其中,N≥1;获取N个软件组件的版本描述文件;根据N个软件组件中的每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,确定进行软件组件***的稳定升级。本发明实施例同时公开了一种版本兼容的判断装置。
Description
技术领域
本发明涉及计算机领域中的嵌入式软件组件开发技术,尤其涉及一种版本兼容的判断方法及装置。
背景技术
在通用的平台化软件生命周期内,软件面向的应用领域非常复杂多变,因此,需要及时的对软件版本进行相应的升级更新,以适应软件缺陷修复、软件功能增强、软件性能优化及软件运行环境变化等需求。
现有技术中,采用基于组件的软件开发方法进行的软件开发。其中,一款软件由多个软件组件组成,每个软件组件都有自己的版本,例如,嵌入式软件和上位机软件的软件组件可以包括三类:源码组件(编译时组件)、二进制代码组件(链接时组件)、可执行代码组件(运行时组件)。当软件中有某个软件组件的新版本集成发布时,软件组件***再对该软件组件单独进行升级、或者软件组件***对这一款软件的所有软件组件进行升级,以完成对该软件组件的升级。
然而,在平台化、组件化、模块化架构的开发模式下,采用现有技术的软件组件的升级方式时,个别软件组件可以单独进行升级,但是当个别软件组件跨版本进行升级时,可能会遇到新版本的软件组件升级后,与软件组件***中其它不用升级的软件组件存在不兼容的问题,使得包括上述新版本的软件组件和其它不用升级的软件组件的软件组件***不能正常运行,从而导致软件组件***的不稳定。因此,在个别软件组件可以单独进行升级时,软件组件***中软件组件间的兼容性的判断成为解决上述问题的关键。
发明内容
为解决上述技术问题,本发明实施例期望提供一种版本兼容的判断方法及装置,能够判断软件组件间的版本兼容,保证软件组件***升级的稳定性。
本发明的技术方案是这样实现的:
本发明实施例提供一种版本兼容的判断方法,所述方法包括:
获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1;
获取所述N个软件组件的版本描述文件;
根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级。
在上述方案中,所述每个软件组件的版本描述文件包括:每个软件组件与所述N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系;
相应的,所述根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意版本是否兼容,包括:
根据每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本;
判断所述每个软件组件被依赖的版本是否兼容。
在上述方案中,所述N个软件组件中的任意一个软件组件的版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息;
相应的,判断所述任意一个软件组件被依赖的版本是否兼容的方法,包括:
根据所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件的任意版本之间的版本树;
根据所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组件被依赖的版本是否兼容。
在上述方案中,所述根据所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组件被依赖的版本是否兼容,包括:
在所述任意一个软件组件的任意版本之间的版本树中,判断所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
在上述方案中,所述任意一个软件组件被依赖的任意两个版本兼容之后,所述方法还包括:
所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
本发明实施例提供一种版本兼容的判断装置,所述装置包括:
获取单元,用于获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1;
所述获取单元,还用于获取所述N个软件组件的版本描述文件;
判断单元,用于根据所述获取单元获取的所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级。
在上述方案中,所述获取单元获取的所述每个软件组件的版本描述文件包括:每个软件组件与所述N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系;所述版本兼容的判断装置,还包括:确定单元;
所述确定单元,用于根据所述获取单元获取的每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本;
所述判断单元,具体用于判断所述确定单元确定的所述每个软件组件被依赖的版本是否兼容。
在上述方案中,所述获取单元获取的所述N个软件组件中的任意一个软件组件的版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息;所述版本兼容的判断装置还包括:生成单元;
生成单元,用于根据所述获取单元获取的所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件的任意版本之间的版本树;
所述判断单元,还具体用于根据所述生成单元生成的所述任意一个软件组件的任意版本之间的版本树,判断所述确定单元确定的所述任意一个软件组件被依赖的版本是否兼容。
在上述方案中,判断单元,还具体用于在所述生成单元生成的所述任意一个软件组件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
在上述方案中,所述确定单元,还用于所述判断单元判断所述任意一个软件组件被依赖的任意两个版本兼容之后,所述判断单元判断所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
本发明实施例提供了一种版本兼容的判断方法及装置,版本兼容的判断装置获取软件组件***的集成配置文件,集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件;获取N个软件组件的版本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,以确定进行软件组件***的稳定升级。采用上述技术实现方案,由于版本兼容的判断装置在软件组件***中有新版本的软件组件进行升级时,先判断软件组件***中的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从而可以确定该软件***在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的判断装置完成兼容性判断,可以使得软件组件***在版本兼容时进行单个软件组件的版本升级,从而保证了软件组件***升级的稳定性。
附图说明
图1为本发明实施例提供的一种版本兼容的判断方法的流程图一;
图2为本发明实施例提供的一种版本兼容的判断方法的流程图二;
图3为本发明实施例提供的示例性的软件组件的版本依赖关系图;
图4为本发明实施例提供的一种版本兼容的判断方法的流程图三;
图5为本发明实施例提供的示例性的单个软件组件的版本树;
图6为本发明实施例提供的示例性的软件组件的版本依赖关系图至各单个软件组件的版本树的演化;
图7为本发明实施例提供的一种版本兼容的判断方法的流程图四;
图8为本发明实施例提供的一种版本兼容的判断装置的结构示意图一;
图9为本发明实施例提供的一种版本兼容的判断装置的结构示意图二;
图10为本发明实施例提供的一种版本兼容的判断装置的结构示意图三;
图11为本发明实施例提供的一种计算机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例的执行主体可以为设置在计算机内的版本兼容的判断装置或外接与计算机的集成模块,本发明不作限制,下面以版本兼容的判断装置设置在计算机内为例进行说明。
实施例一
本发明的实施例提供一种版本兼容的判断方法,如图1所示,该方法可以包括:
S101、获取软件组件***的集成配置文件,该集成配置文件包括软件组件***进行升级时的N个软件组件的配置信息,该N个软件组件中包括至少一个升级的软件组件,其中,N≥1。
本发明实施例的应用场景为:某个软件组件***中有新版本的软件组件发布时,该软件组件***要升级该新版本的软件组件的情况;本步骤可由版本兼容的判断装置完成。
需要说明的是,一个软件组件的集成发布是由研发人员进行的;具体的:
首先,配置该软件组件的版本描述文件,具体可以按照格式填写对应软件组件的版本信息;软件组件发布时,同步提供软件组件版本描述文件。在版本描述文件中记录该软件组件的当前版本信息、该软件组件的前一个版本信息、该软件组件的当前版本信息与该软件组件的前一个版本信息的兼容标记,并保留该软件组件开发的历史版本信息的记录和依赖关系,这里,依赖关系是指该软件组件依赖与软件组件***中的除自身以外的其它软件组件之间的依赖关系。该软件组件依赖其它软件组件时,填写所依赖的软件组件的当前版本信息。
其次,配置软件组件***的集成配置文件,具体是填写软件组件***的集成配置文件。由于不同的应用人员所需集成的软件组件、版本可能不同,因此,通过软件组件***的集成配置文件,描述该软件组件***所包括的各个软件组件的配置信息;其中,在集成配置文件中配置该软件组件***的N个软件组件。
具体的,集成配置文件包括的N个软件组件的配置信息可以为N个软件组件名称及其各自对应的当前版本信息。
可选的,本发明实施例中的版本信息可以为版本号。
需要说明的是,本发明实施例中的当前版本信息是指软件组件当前要使用的版本,前一个版本信息是指在当前版本升级之前的旧版本信息。
在本发明实施例中,每发布一个软件组件的新版本后,版本兼容的判断装置就可以从中获取到上述软件组件***的集成配置文件,并从该集成配置文件中得到该软件组件***进行升级时所需的N个软件组件的配置信息。
需要说明的是,软件组件***中的N个软件组件中应包括至少一个升级的软件组件(新版本的软件组件),才有必要进行软件组件***兼容的判断。
示例性的,软件组件***可以由三个软件组件构成,该软件组件***的集成配置文件包括V1.3版本的MASTER、V1.2版本的SLAVE和V1.1版本的IEC103的配置信息;集成配置文件示例如下:
Key=MASTER Version=1.3 Time=2014-12-06_16:29:59 Crc=8F6DE121
Key=SLAVE Version=1.2 Time=2014-11-11_20:27:19 Crc=2E9F6B30
key=IEC103 Version=1.1 Time=2014-10-22_10:25:36 Crc=6A5BC31E
其中,Key代表软件组件的名称,Version代表软件组件的版本信息,Time是软件组件编译形成时间,CRC是软件组件的校验码。
S102、获取N个软件组件的版本描述文件。
本步骤可由版本兼容的判断装置完成;需要说明的是,版本兼容的判断装置在确定了软件组件***的N个软件组件之后,该版本兼容的判断装置只需判断该N个软件组件的兼容问题,于是,该版本兼容的判断装置获取N个软件组件的版本描述文件,以进行软件组件兼容性的判断。
可选的,N个软件组件中的每个软件组件的版本描述文件包括:每个软件组件与N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系。
示例性的,MASTER的版本描述文件中包括:V1.3的MASTER依赖V1.1的SLAVE;SLAVE的版本描述文件中包括:V1.2版本的SLAVE依赖V1.3的MASTER;IEC103的版本描述文件中包括:V1.2的IEC103依赖V1.0的SLAVE和V1.2的MASTER。
可选的,N个软件组件中的任意一个软件组件的版本描述文件还包括:任意一个软件组件的当前版本信息、任意一个软件组件的前一个版本信息、任意一个软件组件的当前版本信息与任意一个软件组件的前一个版本信息的兼容标记,以及任意一个软件组件的历史版本信息。
需要说明的是,单个软件组件发布新版本时,需更新软件组件的版本描述文件,并保留历史版本的描述信息。
示例性的,N个软件组件的任意一个软件组件的版本描述文件的格式可以为如下形式:
其中,Key为软件组件的名称,Current为软件组件的当前版本信息,Child为子版本(当前版本)、Parent为父版本(前一个版本),Compatible为兼容标志。DependKey为软件组件依赖的其它软件组件的名称,ReqV为依赖的其它软件组件的版本信息。
S103、根据N个软件组件中的每个软件组件的版本描述文件,判断该每个软件组件任意版本是否兼容,确定进行软件组件***的稳定升级。
本步骤可由版本兼容的判断装置完成;版本兼容的判断装置获取N个软件组件的版本描述文件之后,该版本兼容的判断装置通过根据该N个软件组件中的每个软件组件的版本描述文件,判断该每个软件组件任意版本是否兼容,进而判断由N个软件组件构成的软件组件***的版本兼容性,从而确定该软件组件***升级的稳定性。
具体的,如图2所示,版本兼容的判断装置执行S101-S102之后,版本兼容的判断装置根据N个软件组件中的每个软件组件的版本描述文件,判断该每个软件组件任意版本是否兼容,可以包括步骤:S1031和S1032;具体如下:
S1031、版本兼容的判断装置根据每个软件组件与其它N-1个软件组件的依赖关系,确定每个软件组件被依赖的版本。
版本兼容的判断装置获取了N个软件组件的版本描述文件后,由于每个软件组件的版本描述文件中包括每个软件组件与N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系,因此,该版本兼容的判断装置可以根据每个软件组件与其它N-1个软件组件之间的依赖关系,确定每个软件组件被依赖的版本。
需要说明的是,版本兼容的判断装置可以根据每个软件组件与其它N-1个软件组件之间的依赖关系,确定每个软件组件被依赖的版本,从而画出软件组件***的版本依赖关系图。
示例性的,MASTER的版本描述文件中包括:V1.3的MASTER依赖V1.1的SLAVE;SLAVE的版本描述文件中包括:V1.2版本的SLAVE依赖V1.3的MASTER;IEC103的版本描述文件中包括:V1.2的IEC103依赖V1.0的SLAVE和V1.2的MASTER。版本兼容的判断装置可以根据MASTER的版本描述文件、SLAVE的版本描述文件,以及IEC103的版本描述文件,推导出:
(1)、MASTER被其它组件依赖的版本信息为:V1.3、V1.2,MASTER的当前版本信息为V1.3;
(2)、SLAVE被其它组件依赖的版本信息为:V1.1、V1.0,SLAVE的当前版本信息为V1.2;
(3)、IEC103未被其它组件依赖,IEC103的当前版本信息为V1.1。
其中,本发明实施例中的提供的示例的软件组件的版本依赖关系图为图3所示。
S1032、版本兼容的判断装置判断每个软件组件被依赖的版本是否兼容。
需要说明的是,在本发明实施例中,版本兼容的判断装置将软件组件***的版本匹配拆分为判断各个软件组件被依赖的版本是否兼容的问题。一个软件组件***由N个软件组件构成,则整个软件***最多构成N*(N-1)/2条依赖关系,依次形成单个软件组件被依赖的版本信息,如果单个软件组件的版本信息兼容的,并可演化到该单个软件组件的当前版本,则进行版本归并,这样,版本兼容的判断装置可以判断为该单个软件组件满足其它软件组件的依赖要求,在软件组件***内该单个软件组件的版本是兼容的,因此,本发明实施例的整个软件组件***的版本兼容的判据为:如果各个软件组件在软件组件***内都是版本兼容的,则整个软件组件***的版本是兼容的。
具体的,版本兼容的判断装置确定每个软件组件被依赖的版本之后,由于每个软件组件的版本描述文件中还包括:每个软件组件的当前版本信息、每个软件组件的前一个版本信息、每个软件组件的当前版本信息与每个软件组件的前一个版本信息的兼容标记,以及每个软件组件的历史版本信息,因此,该版本兼容的判断装置可以根据上述每个软件组件的版本描述文件中的信息,判断每个软件组件被依赖的版本是否兼容。
具体的,如图4所示,版本兼容的判断装置判断任意一个软件组件被依赖的版本是否兼容的方法,包括步骤:S10321-S10322;具体如下:
S10321、版本兼容的判断装置根据任意一个软件组件的当前版本信息、该任意一个软件组件的前一个版本信息、该任意一个软件组件的当前版本信息与该任意一个软件组件的前一个版本信息的兼容标记,以及该任意一个软件组件的历史版本信息,生成该任意一个软件组件的任意版本之间的版本树。
具体的,版本兼容的判断装置确定每个软件组件被依赖的版本之后,该版本兼容的判断装置首先分析任意一个软件组件的版本描述文件,并根据任意一个软件组件的当前版本信息、该任意一个软件组件的前一个版本信息、该任意一个软件组件的当前版本信息与该任意一个软件组件的前一个版本信息的兼容标记,以及该任意一个软件组件的历史版本信息,形成该任意一个软件组件的版本树,其中,版本节点可用如下N叉树的数据结构表示:
需要说明的是,本发明实施例中的任意一个软件组件的版本树是从版本描述文件中记录的初始版本直至当前版本的所有版本的版本树。
示例性的,如图5所示为单个软件组件的版本树,根据该单个软件组件的版本描述文件中的信息,按照N叉树结构,从该单个软件组件的初始版本V1.0到当前版本V1.7之间可衍生出不同分支的版本信息的版本树,其中,可兼容的版本升级用实线箭头表示,不可兼容的版本升级用虚线箭头表示。
S10322、版本兼容的判断装置根据任意一个软件组件的任意版本之间的版本树,判断该任意一个软件组件被依赖的版本是否兼容。
版本兼容的判断装置生成任意一个软件组件的任意版本之间的版本树之后,该版本兼容的判断装置可以通过任意一个软件组件的任意版本之间的版本树的分支结构,判断该任意一个软件组件被依赖的版本是否兼容。
具体的,在任意一个软件组件的任意版本之间的版本树中,判断任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,该任意一个软件组件被依赖的任意两个版本兼容。
在任意一个软件组件的任意版本之间的版本树中,判断任意一个软件组件被依赖的任意两个版本不在可兼容的分支上时,该任意一个软件组件被依赖的任意两个版本不兼容。
示例性的,假设软件组件***由MASTER、SLAVE和IEC103组成,且由于如图6所示,在软件组件版本的版本依赖关系图中,MASTER被其它组件依赖的版本信息为:V1.3、V1.2,MASTER的当前版本信息为V1.3;SLAVE被其它组件依赖的版本信息为:V1.1、V1.0,SLAVE的当前版本信息为V1.2;IEC103未被其它组件依赖,IEC103的当前版本信息为V1.1。因此,版本兼容的判断装置通过判断MASTER、SLAVE和IEC103的版本兼容来判断该软件组件的兼容问题。通过图6中MASTER、SLAVE和IEC103各自的版本树,可以得知:MASTER从初始版本V1.0-V1.1-V1.2-当前版本V1.3的分支是兼容的,而SLAVE从初始版本V1.0-V1.1-当前版本V1.2的分支是兼容的,IEC103从初始版本V1.0-当前版本V1.1的分支是兼容的。因此,版本兼容的判断装置判断得出:MASTER被其它组件依赖的版本信息V1.3和V1.2是兼容的;SLAVE被其它组件依赖的版本信息V1.1和V1.0是兼容的。
进一步地,如图7所示,版本兼容的判断装置根据任意一个软件组件的任意版本之间的版本树,判断该任意一个软件组件被依赖的版本是否兼容之后,该方法还包括步骤S104,具体如下:
S104、N个软件组件中的每个软件组件被依赖的任意两个版本兼容时,版本兼容的判断装置确定软件组件***的版本兼容。
需要说明的是,版本兼容的判断装置在判断任意一个软件组件被依赖的任意两个版本兼容后,若N个软件组件中的每个软件组件被依赖的任意两个版本兼容,并可演化到该每个软件组件的当前版本,则进行每个软件组件的版本归并,这样,版本兼容的判断装置可以判断为该每个软件组件满足其它软件组件的依赖要求,在软件组件***内该单个软件组件的版本是兼容的,则该版本兼容的判断装置就可以确定软件组件***的版本是兼容的。
示例性的,如图6所示,假设MASTER的版本V1.3是新发布的版本,MASTER的当前版本信息为V1.3,SLAVE的当前版本信息为V1.2,IEC103的当前版本信息为V1.1,由于版本兼容的判断装置判断得出:MASTER被其它组件依赖的版本信息V1.3和V1.2是兼容的;SLAVE被其它组件依赖的版本信息V1.1和V1.0是兼容的,因此,MASTER的V1.2版本可以归并为当前版本信息为V1.3,SLAVE的V1.0版本可以归并为当前版本信息为V1.2,因此,MASTER使用当前版本信息为V1.3,SLAVE使用当前版本信息为V1.2,IEC103使用当前版本信息为V1.1时,该软件组件***的版本是兼容的,进而MASTER进行V1.3的版本升级时,该软件组件的***的是稳定的。
本发明实施例所提供的一种版本兼容的判断方法,版本兼容的判断装置获取软件组件***的集成配置文件,集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件;获取N个软件组件的版本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,以确定进行软件组件***的稳定升级。采用上述技术实现方案,由于版本兼容的判断装置在软件组件***中有新版本的软件组件进行升级时,先判断软件组件***中的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从而可以确定该软件***在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的判断装置完成兼容性判断,可以使得软件组件***在版本兼容时进行单个软件组件的版本升级,从而保证了软件组件***升级的稳定性。
实施例二
如图8所示,本发明的实施例提供一种版本兼容的判断装置1,该版本兼容的判断装置1可以包括:
获取单元10,用于获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1。
所述获取单元10,还用于获取所述N个软件组件的版本描述文件;
判断单元11,用于根据所述获取单元10获取的所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级。
可选的,如图9所示,所述获取单元10获取的所述每个软件组件的版本描述文件包括:每个软件组件与所述N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系;所述版本兼容的判断装置1,还包括:确定单元12。
所述确定单元12,用于根据所述获取单元10获取的每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本。
所述判断单元11,具体用于判断所述确定单元12确定的所述每个软件组件被依赖的版本是否兼容。
可选的,如图10所示,所述获取单元10获取的所述N个软件组件中的任意一个软件组件的版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息;所述版本兼容的判断装置1还包括:生成单元13。
生成单元13,用于根据所述获取单元10获取的所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件的任意版本之间的版本树。
所述判断单元11,还具体用于根据所述生成单元13生成的所述任意一个软件组件的任意版本之间的版本树,判断所述确定单元12确定的所述任意一个软件组件被依赖的版本是否兼容。
可选的,判断单元11,还具体用于在所述生成单元13生成的所述任意一个软件组件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
可选的,所述确定单元12,还用于所述判断单元11判断所述任意一个软件组件被依赖的任意两个版本兼容之后,所述判断单元11判断所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
本发明实施例所提供的一种版本兼容的判断装置,该版本兼容的判断装置获取软件组件***的集成配置文件,集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件,;获取N个软件组件的版本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,以确定进行软件组件***的稳定升级。采用上述技术实现方案,由于版本兼容的判断装置在软件组件***中有新版本的软件组件进行升级时,先判断软件组件***中的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从而可以确定该软件***在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的判断装置完成的兼容性判断,可以使得软件组件***在版本兼容时进行单个软件组件的版本升级,从而保证了软件组件***升级的稳定性。
实施例三
如图11所示,本发明的实施例提供一种计算机,该计算机可以包括:
处理器14及存储器15,其中,存储器15与处理器14连接,例如,存储器15可以与处理器14通过总线连接。
存储器15用于存储计算机的可执行程序代码,该程序代码包括计算机操作指令,存储器15可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如,至少一个磁盘存储器。
处理器14可以是中央处理器,或者是特定集成电路,或者是被配置成实施本发明的一个或多个集成电路。
具体的,所述处理器14,可用于获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1;及获取所述N个软件组件的版本描述文件;以及根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级;所述存储器15,可用于存储所述处理器14获取的所述N个软件组件的集成配置文件及其软件代码,及所述N个软件组件的版本描述文件及其软件代码,以及存储控制所述计算机完成上述过程的软件程序,从而使得所述处理器14通过执行上述软件程序并调用上述软件代码,完成上述过程。
可选的,所述处理器14获取的所述每个软件组件的版本描述文件包括:每个软件组件与所述N个软件组件中出自身以外的其它N-1个软件组件之间的依赖关系。
所述处理器14,还用于根据每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本。
所述处理器14,具体用于判断所述每个软件组件被依赖的版本是否兼容。
可选的,所述处理器14获取的所述N个软件组件中的任意一个软件组件的版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息。
处理器14,还具体用于根据所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件的任意版本之间的版本树。
所述处理器14,还具体用于根据的所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组件被依赖的版本是否兼容。
可选的,处理器14,还具体用于在所述任意一个软件组件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
可选的,所述处理器14,还用于所述任意一个软件组件被依赖的任意两个版本兼容之后,所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
本发明实施例所提供的一种计算机,该计算机获取软件组件***的集成配置文件,集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件;获取N个软件组件的版本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,以确定进行软件组件***的稳定升级。采用上述技术实现方案,由于计算机在软件组件***中有新版本的软件组件进行升级时,先判断软件组件***中的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从而可以确定该软件***在使用升级的软件组件时的版本是否兼容,因此,通过计算机完成兼容性判断,可以使得软件组件***在版本兼容时进行单个软件组件的版本升级,从而保证了软件组件***升级的稳定性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种版本兼容的判断方法,其特征在于,所述方法包括:
获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1;
获取所述N个软件组件的版本描述文件,所述N个软件组件中的每个软件组件的所述版本描述文件包括:任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记和依赖关系,以及所述任意一个软件组件的历史版本信息;
根据所述N个软件组件中的每个软件组件的所述版本描述文件中所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记和依赖关系,以及所述任意一个软件组件的历史版本信息,生成所述每个软件组件任意版本之间的版本树;根据所述版本树,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级。
2.根据权利要求1所述的版本兼容的判断方法,其特征在于,所述依赖关系包括:每个软件组件与所述N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系;
相应的,所述根据所述版本树,判断所述每个软件组件任意版本是否兼容,包括:
根据每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本;
判断所述每个软件组件被依赖的版本是否兼容。
3.根据权利要求2所述的版本兼容的判断方法,其特征在于,所述根据所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组件被依赖的版本是否兼容,包括:
在所述任意一个软件组件的任意版本之间的版本树中,判断所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
4.根据权利要求3所述的版本兼容的判断方法,其特征在于,所述任意一个软件组件被依赖的任意两个版本兼容之后,所述方法还包括:
所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
5.一种版本兼容的判断装置,其特征在于,所述装置包括:
获取单元,用于获取软件组件***的集成配置文件,所述集成配置文件包括所述软件组件***进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其中,N≥1;
所述获取单元,还用于获取所述N个软件组件的版本描述文件,所述N个软件组件中的每个软件组件的所述版本描述文件包括:任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记和依赖关系,以及所述任意一个软件组件的历史版本信息;
判断单元,用于根据所述获取单元获取的所述N个软件组件中的每个软件组件的所述版本描述文件中所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容标记和依赖关系,以及所述任意一个软件组件的历史版本信息所生成的每个软件组件任意版本之间的版本树,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件***的稳定升级。
6.根据权利要求5所述的版本兼容的判断装置,其特征在于,所述获取单元获取的所述依赖关系包括:每个软件组件与所述N个软件组件中除自身以外的其它N-1个软件组件之间的依赖关系;所述版本兼容的判断装置,还包括:确定单元;
所述确定单元,用于根据所述获取单元获取的每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本;
所述判断单元,具体用于判断所述确定单元确定的所述每个软件组件被依赖的版本是否兼容。
7.根据权利要求6所述的版本兼容的判断装置,其特征在于,
判断单元,还具体用于在所述生成单元生成的所述任意一个软件组件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
8.根据权利要求7所述的版本兼容的判断装置,其特征在于,
所述确定单元,还用于所述判断单元判断所述任意一个软件组件被依赖的任意两个版本兼容之后,所述判断单元判断所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软件组件***的版本兼容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510283911.4A CN104881311B (zh) | 2015-05-28 | 2015-05-28 | 一种版本兼容的判断方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510283911.4A CN104881311B (zh) | 2015-05-28 | 2015-05-28 | 一种版本兼容的判断方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104881311A CN104881311A (zh) | 2015-09-02 |
CN104881311B true CN104881311B (zh) | 2018-06-08 |
Family
ID=53948817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510283911.4A Expired - Fee Related CN104881311B (zh) | 2015-05-28 | 2015-05-28 | 一种版本兼容的判断方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104881311B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325921B (zh) * | 2016-08-16 | 2020-07-10 | 北京奇虎科技有限公司 | 关联插件的释放方法及装置 |
CN106293763B (zh) * | 2016-08-19 | 2019-10-22 | 广州品唯软件有限公司 | 应用组件版本的管理方法及装置 |
CN107656749A (zh) * | 2017-09-26 | 2018-02-02 | 国网江苏省电力公司 | 一种设备版本管控方法及装置 |
US11249748B2 (en) | 2017-09-27 | 2022-02-15 | Intel Corporation | Firmware component with self-descriptive dependency information |
CN108170465B (zh) * | 2018-01-04 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN112947956B (zh) * | 2020-08-31 | 2023-02-17 | 深圳市明源云科技有限公司 | 一种应用软件升级方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908901A (zh) * | 2005-04-29 | 2007-02-07 | 阿尔卡特公司 | 电子装置配置管理***和方法 |
CN1936844A (zh) * | 2005-09-23 | 2007-03-28 | 三星电子株式会社 | 用于更新软件的方法和*** |
CN102708044A (zh) * | 2011-03-23 | 2012-10-03 | 沃尔沃汽车公司 | 完整性和兼容性验证装置和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145315A1 (en) * | 2002-01-23 | 2003-07-31 | Tuomo Aro | Exchange of data between components of distributed software having different versions of software |
EP1739552A1 (en) * | 2005-06-21 | 2007-01-03 | Hewlett-Packard Development Company, L.P. | Software installation method and computer system |
-
2015
- 2015-05-28 CN CN201510283911.4A patent/CN104881311B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908901A (zh) * | 2005-04-29 | 2007-02-07 | 阿尔卡特公司 | 电子装置配置管理***和方法 |
CN1936844A (zh) * | 2005-09-23 | 2007-03-28 | 三星电子株式会社 | 用于更新软件的方法和*** |
CN102708044A (zh) * | 2011-03-23 | 2012-10-03 | 沃尔沃汽车公司 | 完整性和兼容性验证装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104881311A (zh) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104881311B (zh) | 一种版本兼容的判断方法及装置 | |
CN105373401B (zh) | 软件包自动发布方法和*** | |
Demuth et al. | Designspace: an infrastructure for multi-user/multi-tool engineering | |
CN106909510A (zh) | 一种获取测试用例的方法以及服务器 | |
García et al. | Building industrial CPS with the IEC 61499 standard on low-cost hardware platforms | |
CN103744647A (zh) | 一种基于工作流GPD的Java工作流开发***及其方法 | |
CN104866298A (zh) | 基于流程图的流程化业务实现方法和装置 | |
CN103942099A (zh) | 基于Hive的并行执行任务方法及装置 | |
CN105468797A (zh) | 一种信息处理方法及装置 | |
US9380001B2 (en) | Deploying and modifying a service-oriented architecture deployment environment model | |
CN107122626A (zh) | 二代测序dna突变检测的生物信息学分析的方法及*** | |
Nascimento et al. | A model-driven infrastructure for developing product line architectures using cvl | |
EP3547143B1 (en) | System and method for model-based and behaviour-driven testing | |
CN106294530B (zh) | 规则匹配的方法和*** | |
CN102591779B (zh) | 基于工作流的通用软件测试过程模型的建立方法 | |
CN104572876A (zh) | 一种软件对应配置文件的读取方法和装置 | |
Herrmannsdörfer et al. | Library concepts for model reuse | |
CN105867892A (zh) | 多开发平台的集中管理方法及*** | |
Cicchetti et al. | A Solution for Concurrent Versioning of Metamodels and Models. | |
CN105867894A (zh) | 开发环境自动创建方法及*** | |
CN108021353A (zh) | 软件产品的说明文档的生成装置、方法、设备及存储介质 | |
US10657476B2 (en) | Just in time compilation (JIT) for business process execution | |
CN106815034A (zh) | 一种数据升级方法和装置 | |
Sedlacek et al. | Tool for supporting education process in information technology | |
Cu et al. | Xlinemapper: a product line feature-architecture-implementation mapping toolset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180608 |