一种版本兼容的判断方法及装置的制造方法

xiaoxiao2020-10-23  13

一种版本兼容的判断方法及装置的制造方法
【技术领域】
[0001] 本发明设及计算机领域中的嵌入式软件组件开发技术,尤其设及一种版本兼容的 判断方法及装置。
【背景技术】
[0002] 在通用的平台化软件生命周期内,软件面向的应用领域非常复杂多变,因此,需要 及时的对软件版本进行相应的升级更新,W适应软件缺陷修复、软件功能增强、软件性能优 化及软件运行环境变化等需求。
[0003] 现有技术中,采用基于组件的软件开发方法进行的软件开发。其中,一款软件由多 个软件组件组成,每个软件组件都有自己的版本,例如,嵌入式软件和上位机软件的软件组 件可W包括=类:源码组件(编译时组件)、二进制代码组件(链接时组件)、可执行代码组 件(运行时组件)。当软件中有某个软件组件的新版本集成发布时,软件组件系统再对该软 件组件单独进行升级、或者软件组件系统对该一款软件的所有软件组件进行升级,W完成 对该软件组件的升级。
[0004] 然而,在平台化、组件化、模块化架构的开发模式下,采用现有技术的软件组件的 升级方式时,个别软件组件可W单独进行升级,但是当个别软件组件跨版本进行升级时,可 能会遇到新版本的软件组件升级后,与软件组件系统中其它不用升级的软件组件存在不兼 容的问题,使得包括上述新版本的软件组件和其它不用升级的软件组件的软件组件系统不 能正常运行,从而导致软件组件系统的不稳定。因此,在个别软件组件可W单独进行升级 时,软件组件系统中软件组件间的兼容性的判断成为解决上述问题的关键。

【发明内容】

[0005] 为解决上述技术问题,本发明实施例期望提供一种版本兼容的判断方法及装置, 能够判断软件组件间的版本兼容,保证软件组件系统升级的稳定性。
[0006] 本发明的技术方案是该样实现的:
[0007] 本发明实施例提供一种版本兼容的判断方法,所述方法包括:
[000引获取软件组件系统的集成配置文件,所述集成配置文件包括所述软件组件系统进 行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件, 其中,N> 1 ;
[0009] 获取所述N个软件组件的版本描述文件;
[0010] 根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组 件任意版本是否兼容,确定进行所述软件组件系统的稳定升级。
[0011] 在上述方案中,所述每个软件组件的版本描述文件包括;每个软件组件与所述N 个软件组件中除自身W外的其它N-1个软件组件之间的依赖关系;
[0012] 相应的,所述根据所述N个软件组件中的每个软件组件的版本描述文件,判断所 述每个软件组件任意版本是否兼容,包括:
[0013] 根据每个软件组件与所述其它N-1个软件组件之间的依赖关系,确定所述每个软 件组件被依赖的版本;
[0014] 判断所述每个软件组件被依赖的版本是否兼容。
[0015] 在上述方案中,所述N个软件组件中的任意一个软件组件的版本描述文件还包 括;所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信息、所 述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的兼容 标记,W及所述任意一个软件组件的历史版本信息;
[0016] 相应的,判断所述任意一个软件组件被依赖的版本是否兼容的方法,包括:
[0017] 根据所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版 本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信 息的兼容标记,W及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件 的任意版本之间的版本树;
[001引根据所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组 件被依赖的版本是否兼容。
[0019] 在上述方案中,所述根据所述任意一个软件组件的任意版本之间的版本树,判断 所述任意一个软件组件被依赖的版本是否兼容,包括:
[0020] 在所述任意一个软件组件的任意版本之间的版本树中,判断所述任意一个软件组 件被依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个 版本兼容。
[0021] 在上述方案中,所述任意一个软件组件被依赖的任意两个版本兼容之后,所述方 法还包括:
[0022] 所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所 述软件组件系统的版本兼容。
[0023] 本发明实施例提供一种版本兼容的判断装置,所述装置包括:
[0024] 获取单元,用于获取软件组件系统的集成配置文件,所述集成配置文件包括所述 软件组件系统进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个 升级的软件组件,其中,1 ;
[0025] 所述获取单元,还用于获取所述N个软件组件的版本描述文件;
[0026] 判断单元,用于根据所述获取单元获取的所述N个软件组件中的每个软件组件的 版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件系统的 稳定升级。
[0027] 在上述方案中,所述获取单元获取的所述每个软件组件的版本描述文件包括:每 个软件组件与所述N个软件组件中除自身W外的其它N-1个软件组件之间的依赖关系;所 述版本兼容的判断装置,还包括;确定单元;
[002引所述确定单元,用于根据所述获取单元获取的每个软件组件与所述其它N-1个软 件组件之间的依赖关系,确定所述每个软件组件被依赖的版本;
[0029] 所述判断单元,具体用于判断所述确定单元确定的所述每个软件组件被依赖的版 本是否兼谷。
[0030] 在上述方案中,所述获取单元获取的所述N个软件组件中的任意一个软件组件的 版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的 前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一 个版本信息的兼容标记,W及所述任意一个软件组件的历史版本信息;所述版本兼容的判 断装置还包括:生成单元;
[0031] 生成单元,用于根据所述获取单元获取的所述任意一个软件组件的当前版本信 息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与 所述任意一个软件组件的前一个版本信息的兼容标记,W及所述任意一个软件组件的历史 版本信息,生成所述任意一个软件组件的任意版本之间的版本树;
[0032] 所述判断单元,还具体用于根据所述生成单元生成的所述任意一个软件组件的任 意版本之间的版本树,判断所述确定单元确定的所述任意一个软件组件被依赖的版本是否 兼容。
[0033] 在上述方案中,判断单元,还具体用于在所述生成单元生成的所述任意一个软件 组件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容 的分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
[0034] 在上述方案中,所述确定单元,还用于所述判断单元判断所述任意一个软件组件 被依赖的任意两个版本兼容之后,所述判断单元判断所述N个软件组件中的所述每个软件 组件被依赖的任意两个版本兼容时,确定所述软件组件系统的版本兼容。
[0035] 本发明实施例提供了一种版本兼容的判断方法及装置,版本兼容的判断装置获取 软件组件系统的集成配置文件,集成配置文件包括所述软件组件系统进行升级时的N个软 件组件的配置信息,N个软件组件中包括至少一个升级的软件组件;获取N个软件组件的版 本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意 版本是否兼容,W确定进行软件组件系统的稳定升级。采用上述技术实现方案,由于版本兼 容的判断装置在软件组件系统中有新版本的软件组件进行升级时,先判断软件组件系统中 的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从 而可W确定该软件系统在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的 判断装置完成兼容性判断,可W使得软件组件系统在版本兼容时进行单个软件组件的版本 升级,从而保证了软件组件系统升级的稳定性。 【附图说明】
[0036] 图1为本发明实施例提供的一种版本兼容的判断方法的流程图一;
[0037] 图2为本发明实施例提供的一种版本兼容的判断方法的流程图二;
[003引图3为本发明实施例提供的示例性的软件组件的版本依赖关系图;
[0039] 图4为本发明实施例提供的一种版本兼容的判断方法的流程图=;
[0040] 图5为本发明实施例提供的示例性的单个软件组件的版本树;
[0041] 图6为本发明实施例提供的示例性的软件组件的版本依赖关系图至各单个软件 组件的版本树的演化;
[0042] 图7为本发明实施例提供的一种版本兼容的判断方法的流程图四;
[0043] 图8为本发明实施例提供的一种版本兼容的判断装置的结构示意图一;
[0044] 图9为本发明实施例提供的一种版本兼容的判断装置的结构示意图二;
[0045] 图10为本发明实施例提供的一种版本兼容的判断装置的结构示意图=;
[0046] 图11为本发明实施例提供的一种计算机的结构示意图。
【具体实施方式】
[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。
[0048] 本发明实施例的执行主体可W为设置在计算机内的版本兼容的判断装置或外接 与计算机的集成模块,本发明不作限制,下面W版本兼容的判断装置设置在计算机内为例 进行说明。
[0049] 实施例一
[0化0] 本发明的实施例提供一种版本兼容的判断方法,如图1所示,该方法可W包括:
[0化1] S101、获取软件组件系统的集成配置文件,该集成配置文件包括软件组件系统进 行升级时的N个软件组件的配置信息,该N个软件组件中包括至少一个升级的软件组件,其 中,N> 1。
[0052] 本发明实施例的应用场景为:某个软件组件系统中有新版本的软件组件发布时, 该软件组件系统要升级该新版本的软件组件的情况;本步骤可由版本兼容的判断装置完 成。
[0053] 需要说明的是,一个软件组件的集成发布是由研发人员进行的;具体的:
[0化4] 首先,配置该软件组件的版本描述文件,具体可W按照格式填写对应软件组件的 版本信息;软件组件发布时,同步提供软件组件版本描述文件。在版本描述文件中记录该软 件组件的当前版本信息、该软件组件的前一个版本信息、该软件组件的当前版本信息与该 软件组件的前一个版本信息的兼容标记,并保留该软件组件开发的历史版本信息的记录和 依赖关系,该里,依赖关系是指该软件组件依赖与软件组件系统中的除自身W外的其它软 件组件之间的依赖关系。该软件组件依赖其它软件组件时,填写所依赖的软件组件的当前 版本信息。
[0055] 其次,配置软件组件系统的集成配置文件,具体是填写软件组件系统的集成配置 文件。由于不同的应用人员所需集成的软件组件、版本可能不同,因此,通过软件组件系统 的集成配置文件,描述该软件组件系统所包括的各个软件组件的配置信息;其中,在集成配 置文件中配置该软件组件系统的N个软件组件。
[0化6] 具体的,集成配置文件包括的N个软件组件的配置信息可W为N个软件组件名称 及其各自对应的当前版本信息。
[0057] 可选的,本发明实施例中的版本信息可W为版本号。
[0化引需要说明的是,本发明实施例中的当前版本信息是指软件组件当前要使用的版 本,前一个版本信息是指在当前版本升级之前的旧版本信息。
[0059] 在本发明实施例中,每发布一个软件组件的新版本后,版本兼容的判断装置就可 W从中获取到上述软件组件系统的集成配置文件,并从该集成配置文件中得到该软件组件 系统进行升级时所需的N个软件组件的配置信息。
[0060] 需要说明的是,软件组件系统中的N个软件组件中应包括至少一个升级的软件组 件(新版本的软件组件),才有必要进行软件组件系统兼容的判断。
[0061] 示例性的,软件组件系统可W由=个软件组件构成,该软件组件系统的集成配置 文件包括VI. 3版本的MST邸、VI. 2版本的SLAVE和VI. 1版本的IEC103的配置信息;集成 配置文件示例如下:
[0062]Ifey=MAST邸Version= 1. 3Time= 2014-12-06_16:29:59Crc= 8F抓E121
[0063]Key=SLAVEVersion= 1. 2Time= 2014-11-11_20:27:19Crc= 2E9F6B30
[0064] k巧=IEC103Version= 1. 1Time= 2014-10-22-10:25:36Crc= 6A地C31E [00化]其中,Key代表软件组件的名称,Version代表软件组件的版本信息,Time是软件 组件编译形成时间,CRC是软件组件的校验码。
[0066] S102、获取N个软件组件的版本描述文件。
[0067] 本步骤可由版本兼容的判断装置完成;需要说明的是,版本兼容的判断装置在确 定了软件组件系统的N个软件组件之后,该版本兼容的判断装置只需判断该N个软件组件 的兼容问题,于是,该版本兼容的判断装置获取N个软件组件的版本描述文件,W进行软件 组件兼容性的判断。
[0068] 可选的,N个软件组件中的每个软件组件的版本描述文件包括:每个软件组件与N 个软件组件中除自身W外的其它N-1个软件组件之间的依赖关系。
[0069] 示例性的,MST邸的版本描述文件中包括;VI. 3的MST邸依赖VI. 1的SLAVE; SLAVE的版本描述文件中包括;VI. 2版本的SLAVE依赖VI. 3的MAST邸;IEC103的版本描述 文件中包括;VI. 2的IEC103依赖VI. 0的SLAVE和VI. 2的MASTER。
[0070] 可选的,N个软件组件中的任意一个软件组件的版本描述文件还包括:任意一个 软件组件的当前版本信息、任意一个软件组件的前一个版本信息、任意一个软件组件的当 前版本信息与任意一个软件组件的前一个版本信息的兼容标记,W及任意一个软件组件的 历史版本信息。
[0071] 需要说明的是,单个软件组件发布新版本时,需更新软件组件的版本描述文件,并 保留历史版本的描述信息。
[0072] 示例性的,N个软件组件的任意一个软件组件的版本描述文件的格式可W为如下 形式:
[0073]
[0074] 其中,Key为软件组件的名称,化rrent为软件组件的当前版本信息,化ild为子版 本(当前版本)、Parent为父版本(前一个版本),Compatible为兼容标志。D巧en化巧为 软件组件依赖的其它软件组件的名称,ReqV为依赖的其它软件组件的版本信息。
[0075]S103、根据N个软件组件中的每个软件组件的版本描述文件,判断该每个软件组 件任意版本是否兼容,确定进行软件组件系统的稳定升级。
[0076] 本步骤可由版本兼容的判断装置完成;版本兼容的判断装置获取N个软件组件的 版本描述文件之后,该版本兼容的判断装置通过根据该N个软件组件中的每个软件组件的 版本描述文件,判断该每个软件组件任意版本是否兼容,进而判断由N个软件组件构成的 软件组件系统的版本兼容性,从而确定该软件组件系统升级的稳定性。
[0077] 具体的,如图2所示,版本兼容的判断装置执行S101-S102之后,版本兼容的判断 装置根据N个软件组件中的每个软件组件的版本描述文件,判断该每个软件组件任意版本 是否兼容,可W包括步骤;S1031和S1032 ;具体如下;
[007引 S1031、版本兼容的判断装置根据每个软件组件与其它N-1个软件组件的依赖关 系,确定每个软件组件被依赖的版本。
[0079] 版本兼容的判断装置获取了N个软件组件的版本描述文件后,由于每个软件组件 的版本描述文件中包括每个软件组件与N个软件组件中除自身W外的其它N-1个软件组件 之间的依赖关系,因此,该版本兼容的判断装置可W根据每个软件组件与其它N-1个软件 组件之间的依赖关系,确定每个软件组件被依赖的版本。
[0080] 需要说明的是,版本兼容的判断装置可W根据每个软件 组件与其它N-1个软件组 件之间的依赖关系,确定每个软件组件被依赖的版本,从而画出软件组件系统的版本依赖 关系图。
[OOW] 示例性的,MAST邸的版本描述文件中包括;VI. 3的MAST邸依赖VI. 1的SLAVE;SLAVE的版本描述文件中包括;VI. 2版本的SLAVE依赖VI. 3的MAST邸;IEC103的版本描述 文件中包括;VI. 2的IEC103依赖VI. 0的SLAVE和VI. 2的MST邸。版本兼容的判断装置 可W根据MASTER的版本描述文件、SLAVE的版本描述文件,W及IEC103的版本描述文件, 推导出:
[0082] (1)、MST邸被其它组件依赖的版本信息为;VI. 3、VI. 2,MST邸的当前版本信息 为V1.3 ;
[008引 似、SLAVE被其它组件依赖的版本信息为;VI. 1、VI. 0,SLAVE的当前版本信息为VI. 2 ;
[0084] (3)、IEC103未被其它组件依赖,IEC103的当前版本信息为VI. 1。
[0085] 其中,本发明实施例中的提供的示例的软件组件的版本依赖关系图为图3所示。
[0086] S1032、版本兼容的判断装置判断每个软件组件被依赖的版本是否兼容。
[0087] 需要说明的是,在本发明实施例中,版本兼容的判断装置将软件组件系统的版本 匹配拆分为判断各个软件组件被依赖的版本是否兼容的问题。一个软件组件系统由N个软 件组件构成,则整个软件系统最多构成N*(N-1)/2条依赖关系,依次形成单个软件组件被 依赖的版本信息,如果单个软件组件的版本信息兼容的,并可演化到该单个软件组件的当 前版本,则进行版本归并,该样,版本兼容的判断装置可W判断为该单个软件组件满足其它 软件组件的依赖要求,在软件组件系统内该单个软件组件的版本是兼容的,因此,本发明实 施例的整个软件组件系统的版本兼容的判据为;如果各个软件组件在软件组件系统内都是 版本兼容的,则整个软件组件系统的版本是兼容的。
[008引具体的,版本兼容的判断装置确定每个软件组件被依赖的版本之后,由于每个软 件组件的版本描述文件中还包括;每个软件组件的当前版本信息、每个软件组件的前一个 版本信息、每个软件组件的当前版本信息与每个软件组件的前一个版本信息的兼容标记, W及每个软件组件的历史版本信息,因此,该版本兼容的判断装置可W根据上述每个软件 组件的版本描述文件中的信息,判断每个软件组件被依赖的版本是否兼容。
[0089] 具体的,如图4所示,版本兼容的判断装置判断任意一个软件组件被依赖的版本 是否兼容的方法,包括步骤;S10321-S10322 ;具体如下;
[0090] S10321、版本兼容的判断装置根据任意一个软件组件的当前版本信息、该任意一 个软件组件的前一个版本信息、该任意一个软件组件的当前版本信息与该任意一个软件组 件的前一个版本信息的兼容标记,W及该任意一个软件组件的历史版本信息,生成该任意 一个软件组件的任意版本之间的版本树。
[0091] 具体的,版本兼容的判断装置确定每个软件组件被依赖的版本之后,该版本兼容 的判断装置首先分析任意一个软件组件的版本描述文件,并根据任意一个软件组件的当前 版本信息、该任意一个软件组件的前一个版本信息、该任意一个软件组件的当前版本信息 与该任意一个软件组件的前一个版本信息的兼容标记,W及该任意一个软件组件的历史版 本信息,形成该任意一个软件组件的版本树,其中,版本节点可用如下N叉树的数据结构表 示:
[0092]
[0093] 需要说明的是,本发明实施例中的任意一个软件组件的版本树是从版本描述文件 中记录的初始版本直至当前版本的所有版本的版本树。
[0094] 示例性的,如图5所示为单个软件组件的版本树,根据该单个软件组件的版本描 述文件中的信息,按照N叉树结构,从该单个软件组件的初始版本VI.0到当前版本VI.7之 间可衍生出不同分支的版本信息的版本树,其中,可兼容的版本升级用实线箭头表示,不可 兼容的版本升级用虚线箭头表示。
[0095]S10322、版本兼容的判断装置根据任意一个软件组件的任意版本之间的版本树, 判断该任意一个软件组件被依赖的版本是否兼容。
[0096] 版本兼容的判断装置生成任意一个软件组件的任意版本之间的版本树之后,该版 本兼容的判断装置可W通过任意一个软件组件的任意版本之间的版本树的分支结构,判断 该任意一个软件组件被依赖的版本是否兼容。
[0097] 具体的,在任意一个软件组件的任意版本之间的版本树中,判断任意一个软件组 件被依赖的任意两个版本在可兼容的分支上时,该任意一个软件组件被依赖的任意两个版 本兼谷。
[009引在任意一个软件组件的任意版本之间的版本树中,判断任意一个软件组件被依赖 的任意两个版本不在可兼容的分支上时,该任意一个软件组件被依赖的任意两个版本不兼 容。
[0099] 示例性的,假设软件组件系统由MASTER、SLAVE和IEC103组成,且由于如图6所 示,在软件组件版本的版本依赖关系图中,MST邸被其它组件依赖的版本信息为;VI. 3、 VI. 2,MST邸的当前版本信息为VI. 3 ;SLAVE被其它组件依赖的版本信息为;VI. 1、VI. 0, SLAVE的当前版本信息为VI. 2 ;IEC103未被其它组件依赖,IEC103的当前版本信息为 VI. 1。因此,版本兼容的判断装置通过判断MASTER、SLAVE和IEC103的版本兼容来判断 该软件组件的兼容问题。通过图6中MASTER、SLAVE和IEC103各自的版本树,可W得知: MST邸从初始版本VI. 0-V1. 1-V1. 2-当前版本VI. 3的分支是兼容的,而SLAVE从初始版 本VI. 0-V1. 1-当前版本VI. 2的分支是兼容的,IEC103从初始版本VI. 0-当前版本VI. 1的 分支是兼容的。因此,版本兼容的判断装置判断得出;MST邸被其它组件依赖的版本信息 VI. 3和VI. 2是兼容的;SLAVE被其它组件依赖的版本信息VI. 1和VI. 0是兼容的。
[0100] 进一步地,如图7所示,版本兼容的判断装置根据任意一个软件组件的任意版本 之间的版本树,判断该任意一个软件组件被依赖的版本是否兼容之后,该方法还包括步骤 S104,具体如下;
[0101] S104、N个软件组件中的每个软件组件被依赖的任意两个版本兼容时,版本兼容的 判断装置确定软件组件系统的版本兼容。
[0102] 需要说明的是,版本兼容的判断装置在判断任意一个软件组件被依赖的任意两个 版本兼容后,若N个软件组件中的每个软件组件被依赖的任意两个版本兼容,并可演化到 该每个软件组件的当前版本,则进行每个软件组件的版本归并,该样,版本兼容的判断装置 可W判断为该每个软件组件满足其它软件组件的依赖要求,在软件组件系统内该单个软件 组件的版本是兼容的,则该版本兼容的判断装置就可W确定软件组件系统的版本是兼容 的。
[0103] 示例性的,如图6所示,假设MST邸的版本VI. 3是新发布的版本,MST邸的当前 版本信息为VI. 3,SLAVE的当前版本信息为VI. 2,IEC103的当前版本信息为VI. 1,由于版 本兼容的判断装置判断得出;MST邸被其它组件依赖的版本信息VI. 3和VI. 2是兼容的; SLAVE被其它组件依赖的版本信息VI. 1和VI. 0是兼容的,因此,MST邸的VI. 2版本可W 归并为当前版本信息为VI. 3,SLAVE的VI. 0版本可W归并为当前版本信息为VI. 2,因此, MST邸使用当前版本信息为VI. 3,SLAVE使用当前版本信息为VI. 2,IEC103使用当前版本 信息为VI. 1时,该软件组件系统的版本是兼容的,进而MASTER进行VI. 3的版本升级时,该 软件组件的系统的是稳定的。
[0104] 本发明实施例所提供的一种版本兼容的判断方法,版本兼容的判断装置获取软件 组件系统的集成配置文件,集成配置文件包括所述软件组件系统进行升级时的N个软件组 件的配置信息,N个软件组件中包括至少一个升级的软件组件;获取N个软件组件的版本描 述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意版本 是否兼容 ,W确定进行软件组件系统的稳定升级。采用上述技术实现方案,由于版本兼容 的判断装置在软件组件系统中有新版本的软件组件进行升级时,先判断软件组件系统中的 每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从而 可w确定该软件系统在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的判 断装置完成兼容性判断,可W使得软件组件系统在版本兼容时进行单个软件组件的版本升 级,从而保证了软件组件系统升级的稳定性。
[010引实施例二
[0106] 如图8所示,本发明的实施例提供一种版本兼容的判断装置1,该版本兼容的判断 装置1可W包括:
[0107]获取单元10,用于获取软件组件系统的集成配置文件,所述集成配置文件包括所 述软件组件系统进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一 个升级的软件组件,其中,1。
[0108] 所述获取单元10,还用于获取所述N个软件组件的版本描述文件;
[0109] 判断单元11,用于根据所述获取单元10获取的所述N个软件组件中的每个软件组 件的版本描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件系 统的稳定升级。
[0110] 可选的,如图9所示,所述获取单元10获取的所述每个软件组件的版本描述文件 包括;每个软件组件与所述N个软件组件中除自身W外的其它N-1个软件组件之间的依赖 关系;所述版本兼容的判断装置1,还包括:确定单元12。
[0111] 所述确定单元12,用于根据所述获取单元10获取的每个软件组件与所述其它N-1 个软件组件之间的依赖关系,确定所述每个软件组件被依赖的版本。
[0112] 所述判断单元11,具体用于判断所述确定单元12确定的所述每个软件组件被依 赖的版本是否兼容。
[0113] 可选的,如图10所示,所述获取单元10获取的所述N个软件组件中的任意一个软 件组件的版本描述文件还包括;所述任意一个软件组件的当前版本信息、所述任意一个软 件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组 件的前一个版本信息的兼容标记,W及所述任意一个软件组件的历史版本信息;所述版本 兼容的判断装置1还包括:生成单元13。
[0114] 生成单元13,用于根据所述获取单元10获取的所述任意一个软件组件的当前版 本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信 息与所述任意一个软件组件的前一个版本信息的兼容标记,W及所述任意一个软件组件的 历史版本信息,生成所述任意一个软件组件的任意版本之间的版本树。
[0115] 所述判断单元11,还具体用于根据所述生成单元13生成的所述任意一个软件组 件的任意版本之间的版本树,判断所述确定单元12确定的所述任意一个软件组件被依赖 的版本是否兼容。
[0116] 可选的,判断单元11,还具体用于在所述生成单元13生成的所述任意一个软件组 件的任意版本之间的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的 分支上时,所述任意一个软件组件被依赖的任意两个版本兼容。
[0117]可选的,所述确定单元12,还用于所述判断单元11判断所述任意一个软件组件被 依赖的任意两个版本兼容之后,所述判断单元11判断所述N个软件组件中的所述每个软件 组件被依赖的任意两个版本兼容时,确定所述软件组件系统的版本兼容。
[0118] 本发明实施例所提供的一种版本兼容的判断装置,该版本兼容的判断装置获取软 件组件系统的集成配置文件,集成配置文件包括所述软件组件系统进行升级时的N个软件 组件的配置信息,N个软件组件中包括至少一个升级的软件组件,;获取N个软件组件的版 本描述文件;根据N个软件组件中每个软件组件的版本描述文件,判断每个软件组件任意 版本是否兼容,W确定进行软件组件系统的稳定升级。采用上述技术实现方案,由于版本兼 容的判断装置在软件组件系统中有新版本的软件组件进行升级时,先判断软件组件系统中 的每个软件组件任意版本是否兼容,进而判断出每个软件组件被依赖的版本是否兼容,从 而可W确定该软件系统在使用升级的软件组件时的版本是否兼容,因此,通过版本兼容的 判断装置完成的兼容性判断,可W使得软件组件系统在版本兼容时进行单个软件组件的版 本升级,从而保证了软件组件系统升级的稳定性。
[0119] 实施例S
[0120] 如图11所示,本发明的实施例提供一种计算机,该计算机可W包括:
[0121] 处理器14及存储器15,其中,存储器15与处理器14连接,例如,存储器15可W与 处理器14通过总线连接。
[0122] 存储器15用于存储计算机的可执行程序代码,该程序代码包括计算机操作指 令,存储器15可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memcxry),例如,至少一个磁盘存储器。
[0123] 处理器14可W是中央处理器,或者是特定集成电路,或者是被配置成实施本发明 的一个或多个集成电路。
[0124] 具体的,所述处理器14,可用于获取软件组件系统的集成配置文件,所述集成配置 文件包括所述软件组件系统进行升级时的N个软件组件的配置信息,所述N个软件组件中 包括至少一个升级的软件组件,其中,N> 1 ;及获取所述N个软件组件的版本描述文件;W 及根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任意 版本是否兼容,确定进行所述软件组件系统的稳定升级;所述存储器15,可用于存储所述 处理器14获取的所述N个软件组件的集成配置文件及其软件代码,及所述N个软件组件的 版本描述文件及其软件代码,W及存储控制所述计算机完成上述过程的软件程序,从而使 得所述处理器14通过执行上述软件程序并调用上述软件代码,完成上述过程。
[01巧]可选的,所述处理器14获取的所述每个软件组件的版本描述文件包括;每个软件 组件与所述N个软件组件中出自身W外的其它N-1个软件组件之间的依赖关系。
[0126] 所述处理器14,还用于根据每个软件组件与所述其它N-1个软件组件之间的依赖 关系,确定所述每个软件组件被依赖的版本。
[0127] 所述处理器14,具体用于判断所述每个软件组件被依赖的版本是否兼容。
[0128] 可选的,所述处理器14获取的所述N个软件组件中的任意一个软件组件的版本描 述文件还包括:所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个 版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本 信息的兼容标记,W及所述任意一个软件组件的历史版本信息。
[0129] 处理器14,还具体用于根据所述任意一个软件组件的当前版本信息、所述任意一 个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一个软 件组件的前一个版本信息的兼容标记,W及所述任意一个软件组件的历史版本信息,生成 所述任意一个软件组件的任意版本之间的版本树。
[0130] 所述处理器14,还具体用于根据的所述任意一个软件组件的任意版本之间的版本 树,判断所述任意一个软件组件被依赖的版本是否兼容。
[0131] 可选的,处理器14,还具体用于在所述任意一个软件组件的任意版本之间的版本 树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任意一个 软件组件被依赖的任意两个版本兼容。
[0132] 可选的,所述处理器14,还用于所述任意一个软件组件被依赖的任意两个版本兼 容之后,所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所 述软件组件系统的版本兼容。
[0133] 本发明实施例所提供的一种计算机,该计算机获取软件组件系统的集成配置文 件,集成配置文件包括所述软件组件系统进行升级时的N个软件组件的配置信息,N个软件 组件中包括至少一个升级的软件组件;获取N个软件组件的版本描述文件;根据N个软件 组件中每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,W确定进行 软件组件系统的稳定升级。采用上述技术实现方案,由于计算机在软件组件系统中有新版 本的软件组件进行升级时,先判断软件组件系统中的每个 软件组件任意版本是否兼容,进 而判断出每个软件组件被依赖的版本是否兼容,从而可W确定该软件系统在使用升级的软 件组件时的版本是否兼容,因此,通过计算机完成兼容性判断,可W使得软件组件系统在版 本兼容时进行单个软件组件的版本升级,从而保证了软件组件系统升级的稳定性。
[0134] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形 式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储 介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0135] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供该些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器W产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0136] 该些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0137] 该些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤W产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0138] W上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1. 一种版本兼容的判断方法,其特征在于,所述方法包括: 获取软件组件系统的集成配置文件,所述集成配置文件包括所述软件组件系统进行升 级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级的软件组件,其 中,N彡1 ; 获取所述N个软件组件的版本描述文件; 根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每个软件组件任 意版本是否兼容,确定进行所述软件组件系统的稳定升级。2. 根据权利要求1所述的版本兼容的判断方法,其特征在于,所述每个软件组件的版 本描述文件包括:每个软件组件与所述N个软件组件中除自身以外的其它N-I个软件组件 之间的依赖关系; 相应的,所述根据所述N个软件组件中的每个软件组件的版本描述文件,判断所述每 个软件组件任意版本是否兼容,包括: 根据每个软件组件与所述其它N-I个软件组件之间的依赖关系,确定所述每个软件组 件被依赖的版本; 判断所述每个软件组件被依赖的版本是否兼容。3. 根据权利要求2所述的版本兼容的判断方法,其特征在于,所述N个软件组件中的任 意一个软件组件的版本描述文件还包括:所述任意一个软件组件的当前版本信息、所述任 意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任意一 个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信息; 相应的,判断所述任意一个软件组件被依赖的版本是否兼容的方法,包括: 根据所述任意一个软件组件的当前版本信息、所述任意一个软件组件的前一个版本信 息、所述任意一个软件组件的当前版本信息与所述任意一个软件组件的前一个版本信息的 兼容标记,以及所述任意一个软件组件的历史版本信息,生成所述任意一个软件组件的任 意版本之间的版本树; 根据所述任意一个软件组件的任意版本之间的版本树,判断所述任意一个软件组件被 依赖的版本是否兼容。4. 根据权利要求3所述的版本兼容的判断方法,其特征在于,所述根据所述任意一个 软件组件的任意版本之间的版本树,判断所述任意一个软件组件被依赖的版本是否兼容, 包括: 在所述任意一个软件组件的任意版本之间的版本树中,判断所述任意一个软件组件被 依赖的任意两个版本在可兼容的分支上时,所述任意一个软件组件被依赖的任意两个版本 兼容。5. 根据权利要求4所述的版本兼容的判断方法,其特征在于,所述任意一个软件组件 被依赖的任意两个版本兼容之后,所述方法还包括: 所述N个软件组件中的所述每个软件组件被依赖的任意两个版本兼容时,确定所述软 件组件系统的版本兼容。6. -种版本兼容的判断装置,其特征在于,所述装置包括: 获取单元,用于获取软件组件系统的集成配置文件,所述集成配置文件包括所述软件 组件系统进行升级时的N个软件组件的配置信息,所述N个软件组件中包括至少一个升级 的软件组件,其中,N多I ; 所述获取单元,还用于获取所述N个软件组件的版本描述文件; 判断单元,用于根据所述获取单元获取的所述N个软件组件中的每个软件组件的版本 描述文件,判断所述每个软件组件任意版本是否兼容,确定进行所述软件组件系统的稳定 升级。7. 根据权利要求6所述的版本兼容的判断装置,其特征在于,所述获取单元获取的所 述每个软件组件的版本描述文件包括:每个软件组件与所述N个软件组件中除自身以外的 其它N-I个软件组件之间的依赖关系;所述版本兼容的判断装置,还包括:确定单元; 所述确定单元,用于根据所述获取单元获取的每个软件组件与所述其它N-I个软件组 件之间的依赖关系,确定所述每个软件组件被依赖的版本; 所述判断单元,具体用于判断所述确定单元确定的所述每个软件组件被依赖的版本是 否兼容。8. 根据权利要求7所述的版本兼容的判断装置,其特征在于,所述获取单元获取的所 述N个软件组件中的任意一个软件组件的版本描述文件还包括:所述任意一个软件组件的 当前版本信息、所述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前 版本信息与所述任意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件 组件的历史版本信息;所述版本兼容的判断装置还包括:生成单元; 生成单元,用于根据所述获取单元获取的所述任意一个软件组件的当前版本信息、所 述任意一个软件组件的前一个版本信息、所述任意一个软件组件的当前版本信息与所述任 意一个软件组件的前一个版本信息的兼容标记,以及所述任意一个软件组件的历史版本信 息,生成所述任意一个软件组件的任意版本之间的版本树; 所述判断单元,还具体用于根据所述生成单元生成的所述任意一个软件组件的任意 版本之间的版本树,判断所述确定单元确定的所述任意一个软件组件被依赖的版本是否兼 容。9. 根据权利要求8所述的版本兼容的判断装置,其特征在于, 判断单元,还具体用于在所述生成单元生成的所述任意一个软件组件的任意版本之间 的版本树中,所述任意一个软件组件被依赖的任意两个版本在可兼容的分支上时,所述任 意一个软件组件被依赖的任意两个版本兼容。10. 根据权利要求9所述的版本兼容的判断装置,其特征在于, 所述确定单元,还用于所述判断单元判断所述任意一个软件组件被依赖的任意两个版 本兼容之后,所述判断单元判断所述N个软件组件中的所述每个软件组件被依赖的任意两 个版本兼容时,确定所述软件组件系统的版本兼容。
【专利摘要】本发明实施例公开了一种版本兼容的判断方法,包括:获取软件组件系统的集成配置文件,集成配置文件包括软件组件系统进行升级时的N个软件组件的配置信息,N个软件组件中包括至少一个升级的软件组件,其中,N≥1;获取N个软件组件的版本描述文件;根据N个软件组件中的每个软件组件的版本描述文件,判断每个软件组件任意版本是否兼容,确定进行软件组件系统的稳定升级。本发明实施例同时公开了一种版本兼容的判断装置。
【IPC分类】G06F9/445
【公开号】CN104881311
【申请号】CN201510283911
【发明人】陈宏君, 文继锋, 冯亚东, 刘克金, 周强, 徐东方, 熊蕙, 张磊, 周磊, 沈全荣, 陈松林, 刘伟
【申请人】南京南瑞继保电气有限公司, 南京南瑞继保工程技术有限公司
【公开日】2015年9月2日
【申请日】2015年5月28日
转载请注明原文地址:https://www.famiwei.com/read-8138764.html

最新回复(0)