信息系统集成项目接口版本兼容性检查方法及系统转让专利

申请号 : CN202110446941.8

文献号 : CN112988222B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王科峰娄飞孙晓鹏周小欠

申请人 : 郑州信大捷安信息技术股份有限公司

摘要 :

本发明涉及接口兼容性管理技术领域,特别涉及一种信息系统集成项目接口版本兼容性检查方法及系统,包含:构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并存储至数据库;依据现场产品部署和/或版本升级需求,构建现场关联产品集,将其中每一种产品作为调用方来获取调用方产品版本、调用接口及接口版本,将现场接口产品作为产品提供方并从数据库中查询对应提供方的接口版本;根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。本发明基于接口版本的兼容性管理,能够及时发现产品部署和升级过程中版本兼容性问题,降低产品部署和升级风险,具有较好的应用前景。

权利要求 :

1.一种信息系统集成项目接口版本兼容性检查方法,其特征在于,包含:构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联表和第二子关联表存储至数据库,其中,第一子关联表和第二子关联表中分别存有各个产品版本及对应接口版本;

依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口版本,并将现场接口产品作为产品提供方,并从数据库中查询对应提供方的接口版本;

根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。

2.根据权利要求1所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,现场关联产品集中至少包含两种产品,分别确定每种产品待部署和/或升级的产品版本,并将该每种产品作为调用方,来获取调用方产品版本、接口及接口版本。

3.根据权利要求1所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,针对开发的新版本产品,根据版本号声明原则标注该开发的新版本产品的接口版本号,并基于新版本产品的接口版本号更新数据库中相关数据。

4.根据权利要求3所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,针对开发的新版本产品,通过提供接口服务的产品、产品版本、接口及接口版本来逐级选择其自身适配的接口及接口版本。

5.根据权利要求3所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,版本号声明原则包含如下内容:若新版本产品未改变接口,则该接口的主版本号和次版本号保持不变;若新版本产品改变接口且向前兼容,则该接口的主版本号不变,次版本号升级;

若新版本产品改变接口且不向前兼容,则该接口的主版本号升级,次版本号清零。

6.根据权利要求5所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,针对开发出的新版本产品,其对应接口版本不向前兼容时,根据该新版本接口在数据库查询得到依赖该接口的其他产品,对查询到的其他产品进行升级适配处理。

7.根据权利要求1所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,接口版本兼容性标准包含如下内容:若提供方接口版本与调用方接口版本主版本号相同,且调用方接口版本次版本号小于等于提供方接口版本次版本号,则判定二者兼容,否则,判定二者不兼容。

8.根据权利要求1或7所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,通过遍历现场所有部署和/或升级的产品进行兼容性检查;在每个部署和/或升级的产品兼容性检查中,将现场关联产品集中每一种产品作为调用方,遍历调用方全部调用接口,依据调用方的调用接口及接口版本判断现场是否包含提供该接口的产品,若包含,则将提供该接口的产品作为提供方,通过提供方产品版本查询数据库来获取提供方接口版本,并基于接口版本兼容性标准判断提供方的接口版本是否兼容调用方接口版本。

9.根据权利要求1所述的信息系统集成项目接口版本兼容性检查方法,其特征在于,针对兼容性检查通过的情形,对现场产品进行部署和/或版本升级,并在部署和/或版本升级完成后,更新现场产品版本部署状态。

10.一种信息系统集成项目接口版本兼容性检查系统,其特征在于,包含:数据库构建模块、现场工程部署模块和兼容性检查模块,其中,数据库构建模块,用于构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联表和第二子关联表存储至数据库,其中,第一子关联表和第二子关联表中分别存有各个产品版本及对应接口版本;

现场工程部署模块,用于依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口版本,并将现场接口产品作为产品提供方,并从数据库中查询对应提供方的接口版本;

兼容性检查模块,用于根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。

说明书 :

信息系统集成项目接口版本兼容性检查方法及系统

技术领域

[0001] 本发明涉及接口兼容性管理技术领域,特别涉及一种信息系统集成项目接口版本兼容性检查方法及系统。

背景技术

[0002] 目前,一个信息系统集成项目中,往往会部署多个相互依赖的软件产品。当某一产品需要升级时,如果其依赖的产品、或者对其依赖的产品没有执行必要的升级,往往会引发
兼容性问题,导致升级失败,造成现场事故。传统上使用兼容性测试的方式来进行兼容性验
证。对于小规模的工程,产品较少,问题不大。但是如果有多个工程现场,每个现场部署的产
品较多、版本又不太一致时,各产品版本间的组合情况就灾难性地膨胀了。以至于无法实施
充分、有效的测试来进行必要的兼容性验证。

发明内容

[0003] 为此,本发明提供一种信息系统集成项目接口版本兼容性检查方法及系统,基于接口版本的兼容性管理,便于接口兼容性测试验证,能够及时发现产品部署和升级过程中
版本兼容性问题,降低产品部署和升级风险。
[0004] 按照本发明所提供的设计方案,提供一种信息系统集成项目接口版本兼容性检查方法,包含:
[0005] 构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联表和第二子关联表存储
至数据库,其中,第一子关联表和第二子关联表中分别存有各个产品版本及对应接口版本;
[0006] 依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口版本,并将现场接口产品
作为产品提供方,并从数据库中查询对应提供方的接口版本;
[0007] 根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。
[0008] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,现场关联产品集中至少包含两种产品,分别确定每种产品待部署和/或升级的产品版本,并将该每种产
品作为调用方,来获取调用方产品版本、接口及接口版本。
[0009] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,针对开发的新版本产品,根据版本号声明原则标注该开发的新版本产品的接口版本号,并基于新版本
产品的接口版本号更新数据库中相关数据。
[0010] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,针对开发的新版本产品,通过提供接口服务的产品、产品版本、接口及接口版本来逐级选择其自身适配
的接口及接口版本。
[0011] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,版本号声明原则包含如下内容:若新版本产品未改变接口,则该接口的主版本号和次版本号保持不变;
若新版本产品改变接口且向前兼容,则该接口的主版本号不变,次版本号升级;若新版本产
品改变接口且不向前兼容,则该接口的主版本号升级,次版本号清零。
[0012] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,针对开发出的新版本产品,其对应接口版本不向前兼容时,根据该新版本接口在数据库查询得到依赖
该接口的其他产品,对查询到的其他产品进行升级适配处理。
[0013] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,接口版本兼容性标准包含如下内容:若提供方接口版本与调用方接口版本主版本号相同,且调用方接
口版本次版本号小于等于提供方接口版本次版本号,则判定二者兼容,否则,判定二者不兼
容。
[0014] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,通过遍历现场所有部署和/或升级的产品进行兼容性检查;在每个部署和/或升级的产品兼容性检查
中,将现场关联产品集中每一种产品作为调用方,遍历调用方全部调用接口,依据调用方的
调用接口及接口版本判断现场是否包含提供该接口的产品,若包含,则将提供该接口的产
品作为提供方,通过提供方产品版本查询数据库来获取提供方接口版本,并基于接口版本
兼容性标准判断提供方的接口版本是否兼容调用方接口版本。
[0015] 作为本发明信息系统集成项目接口版本兼容性检查方法,进一步地,针对兼容性检查通过的情形,对现场产品进行部署和/或版本升级,并在部署和/或版本升级完成后,更
新现场产品版本部署状态。
[0016] 进一步地,本发明还提供一种信息系统集成项目接口版本兼容性检查系统,包含:数据库构建模块、现场工程部署模块和兼容性检查模块,其中,
[0017] 数据库构建模块,用于构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联
表和第二子关联表存储至数据库,其中,第一子关联表和第二子关联表中分别存有各个产
品版本及对应接口版本;
[0018] 现场工程部署模块,用于依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口
版本,并将现场接口产品作为产品提供方,并从数据库中查询对应提供方的接口版本;
[0019] 兼容性检查模块,用于根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。
[0020] 本发明的有益效果:
[0021] 本发明通过接口管理的方式来进行关联产品的版本兼容性验证,实现对现场工程部署或升级产品版本的兼容性检查,能够及时发现产品部署或升级过程中,版本兼容性问
题,避免兼容性问题引起现场事故;另外,开发团队只要了解并录入自己的产品接口需求,
即可实现产品间的兼容性检查,以便于产品负责人根据兼容性检查结果做出相应的协调,
提高产品接口兼容性检测、验证及部署升级效率,具有较好的应用前景。
附图说明:
[0022] 图1为实施例中信息系统集成项目接口版本兼容性检查方法流程示意;
[0023] 图2为实施例中针对某现场工程产品兼容性检查流程示意。具体实施方式:
[0024] 为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
[0025] 本发明实施例,提供一种信息系统集成项目接口版本兼容性检查方法,包含:
[0026] 构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联表和第二子关联表存储
至数据库,其中,第一子关联表和第二子关联表中分别存有各个产品版本及对应接口版本;
[0027] 依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口版本,并将现场接口产品
作为产品提供方,并从数据库中查询对应提供方的接口版本;
[0028] 根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。
[0029] 通过接口管理的方式来进行关联产品的版本兼容性验证,实现对现场工程部署或升级产品版本的兼容性检查,能够及时发现产品部署或升级过程中,版本兼容性问题,避免
兼容性问题引起现场事故。
[0030] 参见图1所示,基于对应的接口建立相互依赖的两个产品的主关联表,相互依赖的两个产品,一个作为提供方,另一个作为调用方,分别建立提供方的各个产品版本与对应的
接口版本之间的第一子关联表,以及调用方的各个产品版本与对应的接口版本之间的第二
子关联表,然后将所述主关联表、所述第一子关联表以及所述第二子关联表关联存储在数
据库中;基于现场工程部署或产品版本升级需求,预构建现场关联产品集,所述现场关联产
品集至少包括两种产品,并分别确定出每一种产品待部署或升级的产品版本;将现场关联
产品集中每一种待部署或升级产品作为调用方,并分别获取出调用方的产品版本、接口以
及接口版本,然后获取现场提供该接口的产品作为提供方,基于提供方的产品版本从所述
数据库查询获取得到提供方的接口版本,最后根据接口版本兼容性标准对所述调用方的接
口版本与所述提供方的接口版本进行兼容性检查。
[0031] 进一步地,本案实施例中的版本可通过版本号来区分的,版本号由主版本号MajorVersion和次版本号MinorVersion组成,例如接口版本号为1.2,则“1”为接口主版本
号,“2”为接口次版本号,且主版本号与次版本号之间可通过符号“.”隔开。
[0032] 进一步地,本案实施例中接口版本兼容性标准具体表征可描述如下为:
[0033] 如果提供方的接口版本与调用方的接口版本的主版本号相同,且调用方的接口版本的次版本号小于等于提供方的接口版本的次版本号,则判定二者兼容;否者,则判定二者
不兼容。
[0034] 进一步地,基于上述的方法,本发明实施例还提供一种信息系统集成项目接口版本兼容性检查系统,包含:数据库构建模块、现场工程部署模块和兼容性检查模块,其中,
[0035] 数据库构建模块,用于构建提供方和调用方之间基于接口相互依赖的产品主关联表、提供方产品第一子关联表、调用方产品第二子关联表,并将产品主关联表、第一子关联
表和第二子关联表存储至数据库,其中,第一子关联表和第二子关联表中分别存有各个产
品版本及对应接口版本;
[0036] 现场工程部署模块,用于依据现场产品部署和/或版本升级需求,构建现场关联产品集;将现场关联产品集中每一种产品作为调用方,获取调用方产品版本、调用接口及接口
版本,并将现场接口产品作为产品提供方,并从数据库中查询对应提供方的接口版本;
[0037] 兼容性检查模块,用于根据接口版本兼容性标准对调用方接口版本和提供方接口版本进行兼容性检查。
[0038] 为进一步解释本案方案,下面以产品A、产品B、产品C、产品D进行具体说明产品、产品版本、接口、接口版本的关联关系。
[0039] 表1示出了产品A、产品B、产品C、产品D的产品、接口之间的依赖关系;由表1可知,产品A与产品B是依赖关系,且对应的接口为JAB,在此依赖关系下,产品A作为接口JAB的提供
方,产品B作为接口JAB的调用方;产品B与产品C是依赖关系,且对应的接口为JBC1、JBC2,在此
依赖关系下,产品B作为接口JBC1、JBC2的提供方,产品C作为接口JBC1、JBC2的调用方;产品C与
产品D是依赖关系,且对应的接口为JCD,在此依赖关系下,产品C作为接口JCD的提供方,产品
D作为接口JCD的调用方。
[0040] 表1:
[0041]  产品B 产品C 产品D
产品A JAB    
产品B   JBC1、JBC2  
产品C     JCD
[0042] 表2示出了产品A的第一子关联表,表3示出了产品B的第二子关联表,由表2和表3可以得到,提供方各个产品A版本与提供方接口JAB版本的版本号,以及调用方各个产品B版
本与调用方接口JAB版本的版本号。
[0043] 表2:
[0044]
[0045]
[0046] 表3:
[0047]
[0048] 可以理解,所谓的调用方与提供方是相对的,同一个产品在不同的场景中可以在调用方与提供方之间切换。具体的,在一种场景中,如果产品B调用接口1访问产品A,则产品
B为调用方,产品A为提供方。在另一个场景中,如果产品C调用接口2访问产品B,则在此场景
中,产品B将作为提供方,产品C为调用方。
[0049] 本案实施例中,针对开发新版本产品,可根据版本号声明原则标注新版本产品的接口版本号,然后基于新版本产品的接口版本号更新所述数据库中的相关数据,其中,版本
号声明原则具体表征可描述如下:
[0050] 如果新版本产品未改变接口,则该接口的主版本号MajorVersion和次版本号MinorVersion保持不变;
[0051] 如果新版本产品改变了接口,但向前兼容,则接口的主版本号MajorVersion不变,次版本号MinorVersion升高;
[0052] 如果新版本产品改变了接口,且不向前兼容,则接口的主版本号MajorVersion升高,次版本号MinorVersion清0。
[0053] 具体的,例如:原来的产品版本为1.0,接口版本为1.1,现将产品版本从1.0升级到2.0。
[0054] 如果按照上述第一种情况,则产品版本1.0升级到2.0并未改变接口,此时产品版本2.0的接口版本仍为1.1,且保持不变。
[0055] 如果按照上述第二种情况,则产品版本1.0升级到2.0已改变了接口,但向前兼容,此时产品版本2.0的接口版本可能变为1.2,接口版本1.2是兼容接口版本1.1的,接口版本
1.1变为接口版本1.2即表示向前兼容。
[0056] 如果按照上述第二种情况,则产品版本1.0升级到2.0已改变了接口,且不向前兼容,此时产品版本2.0的接口版本可能变为2.0,接口版本2.0是不兼容接口版本1.1的。
[0057] 根据本发明的实施例,在开发新版本产品时,可通过提供接口服务的产品、产品版本、接口及接口版本逐级选择出自己需要调用的接口及接口版本。
[0058] 举例来说,如果开发者根据需求(这里的需求其实已经知道需要开发出什么样的产品)需要开发产品A时,则产品A首先根据接口服务选择对应依赖的产品B,并根据选择的
产品B选择对应的产品版本,再根据产品版本确定调用的接口以及接口版本。
[0059] 根据本发明的实施例,如果开发出的新版本产品,其对应的接口版本不向前兼容时,可根据该接口在数据库查询得到依赖该接口的其它产品,并通知给其它产品的负责人
以进行升级适配处理。
[0060] 可以理解,各种产品、产品版本、该产品版本提供的接口以及接口版本、依赖该接口的其它产品都已存入数据库中。当新版本产品引发提供的接口版本不向前兼容时,例如:
新版本产品的接口版本由原先的1.2变为为2.0,此时,原本依赖该接口版本1.2的其它产品
将可能无法适配新版本产品的接口版本2.0,为了增强多个产品之间的互通性,可以将接口
版本2.0通知给其它产品的负责人,以便于做出相应的协调。
[0061] 如图2所示,兼容性检查的过程可设计包括如下内容:
[0062] 步骤3‑1,读取下一个部署或升级的产品及其产品版本,并将其作为调用方;
[0063] 步骤3‑2,读取调用方的调用接口及其接口版本;
[0064] 步骤3‑3,判断现场工程是否包含提供该接口的产品,如果是,则进入步骤3‑4,如果否,则兼容性检测失败;
[0065] 步骤3‑4,将提供该接口的产品作为提供方,并通过提供方的产品版本查询所述数据库以获取所述提供方的接口版本;
[0066] 步骤3‑5,基于接口版本兼容性标准判断提供方的接口版本是否兼容调用方的接口版本,如果是,则进入步骤3‑6,如果否,则兼容性检测失败;
[0067] 步骤3‑6,判断是否遍历完调用方全部的调用接口,如果是,则进入步骤3‑7,如果否,返回至步骤3‑2;
[0068] 步骤3‑7;判断是否遍历完现场工程所有部署或升级的产品,如果是,则兼容性检查通过,如果否,返回至步骤3‑1。
[0069] 进一步地,根据本发明的实施例,针对兼容性检查通过后,实施现场工程的产品部署或者版本升级,待部署或版本升级后,更新现场工程的产品版本部署状态。
[0070] 可以理解,现场工程师负责管理工程部署的产品及其版本状态。实施现场部署、现场升级时,现场工程师在工具中调整部署的产品版本,会触发以下版本兼容性检查。通过版
本兼容性检查后,方能实施部署或者升级;完成部署、升级后,要更新工程的产品版本部署
状态。其中,判断提供方的接口版本和调用方的接口版本兼容标准为:主版本号
MajorVersion相等,调用方的次版本号MinorVersion小于或等于提供方的次版本号
MinorVersion。
[0071] 本发明通过接口管理的方式,来进行关联产品版本兼容性验证,实现对现场工程部署或升级产品版本的兼容性检查。能够及时发现产品部署或升级过程中,版本兼容性问
题,避免兼容性问题引起现场事故。另外,开发团队只要了解并录入自己的产品接口需求,
即可由工具进行产品间的兼容性检查,以便于产品负责人根据兼容性检查结果做出相应的
协调,提升效率,降低成本。
[0072] 除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0073] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。
[0074] 在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0075] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基
本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的
是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规
定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组
合来实现。
[0076] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0077] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得
一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所
述系统的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑
Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以
存储程序代码的介质。
[0078] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发
明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员
在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻
易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护
范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。