文档首页/ 工业数字模型驱动引擎/ API参考/ API/ 数据建模引擎/ 版本服务/ 对比M-V模型实例 - CompareBusinessVersion
更新时间:2026-07-28 GMT+08:00
分享

对比M-V模型实例 - CompareBusinessVersion

功能介绍

本接口用于根据主对象ID(id),获取指定Master-Branch-Version(M-V)模型下两个不同版本实例的完整数据快照,以便进行属性与关系的差异对比。

建议:

本接口为基础对比功能。为获得更优的对比体验和更细粒度的控制(如仅对比属性或仅对比关系),推荐使用数据建模引擎(xDM Foundation,简称xDM-F)新增的差异对比接口,即instance-attrs-comparison(属性对比)和instance-relation-comparison(关系对比)接口。更多内容可在应用运行态的“数据服务管理 > 全量数据服务 > 系统管理API > 属性对比API”中查看。

在调用本接口前,请确保目标数据模型满足以下条件:

  1. 已在应用设计态完成M-V模型实体(即“父模型”为“VersionObject”的数据实体)的创建与发布。具体操作请参见创建数据实体创建关系实体应用发布

  2. 已将对应应用成功部署至运行态。具体操作请参见部署应用

接口约束

  • 本接口仅支持M-V模型数据实例,不支持普通单实体或关系实体。

  • basicVersion和correlationVersion必须属于同一Master下的版本。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

POST /rdm_{identifier}_app/publicservices/api/{modelName}/compareBusinessVersion

表1 路径参数

参数

是否必选

参数类型

描述

identifier

String

参数解释:

应用的唯一标识。

  • 于2023年06月01日之前创建的应用,其唯一标识为该应用的名称。

  • 于2023年06月01日之后创建的应用,其唯一标识为该应用的ID。

获取方法请参见获取运行服务清单 - ListEnvs

约束限制:

不涉及。

取值范围:

  • 于2023年06月01日之前创建的应用:由英文字母和数字组成,长度为1-36个字符。

  • 于2023年06月01日之后创建的应用:由英文字母和数字组成,且长度为32个字符。

默认取值:

不涉及。

modelName

String

参数解释:

M-V模型的英文名称。

约束限制:

必须为已发布的M-V模型,单实体、关系实体不支持。

取值范围:

以大写字母开头,只能包含字母、数字、“_”,且长度为1-60个字符。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

IAM用户的token。

获取方法请参见获取IAM用户Token

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

applicationId

String

参数解释:

应用ID,用于指定实例所属的应用。

当URL路径中已能明确应用上下文时,此参数可不传。

获取方法请参见获取租户下的应用清单 - ListApps

约束限制:

不涉及。

取值范围:

由英文字母和数字组成,且长度固定为32个字符。

默认取值:

不涉及。

params

VersionModelCompareVersionVO object

参数解释:

请求参数对象,包含待对比的两个版本号及主对象ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 VersionModelCompareVersionVO

参数

是否必选

参数类型

描述

id

String

参数解释:

主对象ID,用于定位待对比版本所属的主对象。

约束限制:

不涉及。

取值范围:

-9223372036854775808到9223372036854775807的整数。

默认取值:

不涉及。

basicVersion

String

参数解释:

基础版本号,作为对比的基准版本。格式为“大版本.迭代版本”,如“A.1”。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

correlationVersion

String

参数解释:

对比版本号,与基础版本进行对比的目标版本。格式为“大版本.迭代版本”,如“B.2”。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

result

String

参数解释:

请求处理结果状态。

取值范围:

  • SUCCESS:请求成功。

  • FAIL:请求失败。

data

Array of objects

参数解释:

请求数据。

取值范围:

不涉及。

errors

Array of strings

参数解释:

异常信息列表。当result为FAIL时,返回具体的错误描述,包含失败原因及建议处理方式。

取值范围:

不涉及。

请求示例

示例:对比M-V模型实例两个版本的差异

对比主对象ID为602443425911939073的基础版本A.1与对比版本B.2之间的属性与关系差异。

POST https://dme.cn-north-4.huaweicloud.com/rdm_04219627d6794f37ae26e8aba250415d_app/publicservices/api/VersionModel/compareBusinessVersion

{
  "applicationId" : "04219627d6794f37ae26e8aba250415d",
  "params" : {
    "basicVersion" : "A.1",
    "correlationVersion" : "B.2",
    "id" : "602443425911939073"
  }
}

响应示例

状态码:200

OK,表示请求成功。

{
  "result": "SUCCESS",
  "data": [
    {
      "id": "602443425911939072",
      "creator": "test1",
      "modifier": "test1",
      "createTime": 2024-02-19T06:38:10.406+0000,
      "lastUpdateTime": 2024-02-19T06:56:43.319+0000,
      "rdmVersion": 1,
      "rdmDeleteFlag": 0,
      "rdmExtensionType": "VersionModel",
      "tenant": {
        "id": "-1",
        "creator": "xdmAdmin",
        "modifier": "xdmAdmin",
        "createTime": 2023-12-01T01:25:21.000+0000,
        "lastUpdateTime": 2023-12-01T01:25:21.000+0000,
        "rdmVersion": 1,
        "rdmDeleteFlag": 0,
        "rdmExtensionType": "Tenant",
        "tenant": null,
        "className": "Tenant",
        "name": "basicTenant",
        "description": "默认租户",
        "kiaguid": null,
        "securityLevel": "internal",
        "nameEn": null,
        "code": "basicTenant",
        "disableFlag": false,
        "dataSource": "DefaultDataSource"
      },
      "className": "VersionModel",
      "name": "这是A版本",
      "description": "这是A版本",
      "kiaguid": "18409de0386546f8af4bb6c1dc5cf50f",
      "securityLevel": "internal",
      "master": {
        "id": "602443425911939073",
        "creator": "test1",
        "modifier": "test1",
        "createTime": 2024-02-19T06:38:10.419+0000,
        "lastUpdateTime": 2024-02-19T06:56:43.319+0000,
        "rdmVersion": 4,
        "rdmDeleteFlag": 0,
        "rdmExtensionType": "VersionModelMaster",
        "tenant": {
          "id": "-1",
          "creator": "xdmAdmin",
          "modifier": "xdmAdmin",
          "createTime": 2023-12-01T01:25:21.000+0000,
          "lastUpdateTime": 2023-12-01T01:25:21.000+0000,
          "rdmVersion": 1,
          "rdmDeleteFlag": 0,
          "rdmExtensionType": "Tenant",
          "tenant": null,
          "className": "Tenant",
          "name": "basicTenant",
          "description": "默认租户",
          "kiaguid": null,
          "securityLevel": "internal",
          "nameEn": null,
          "code": "basicTenant",
          "disableFlag": false,
          "dataSource": "DefaultDataSource"
        },
        "className": "VersionModelMaster"
      },
      "branch": {
        "id": "602443425911939074",
        "creator": "test1",
        "modifier": "test1",
        "createTime": 2024-02-19T06:38:10.464+0000,
        "lastUpdateTime": 2024-02-19T06:56:43.319+0000,
        "rdmVersion": 4,
        "rdmDeleteFlag": 0,
        "rdmExtensionType": "VersionModelBranch",
        "tenant": {
          "id": "-1",
          "creator": "xdmAdmin",
          "modifier": "xdmAdmin",
          "createTime": 2023-12-01T01:25:21.000+0000,
          "lastUpdateTime": 2023-12-01T01:25:21.000+0000,
          "rdmVersion": 1,
          "rdmDeleteFlag": 0,
          "rdmExtensionType": "Tenant",
          "tenant": null,
          "className": "Tenant",
          "name": "basicTenant",
          "description": "默认租户",
          "kiaguid": null,
          "securityLevel": "internal",
          "nameEn": null,
          "code": "basicTenant",
          "disableFlag": false,
          "dataSource": "DefaultDataSource"
        },
        "className": "VersionModelBranch",
        "version": "A"
      },
      "latest": false,
      "latestIteration": true,
      "versionCode": 1,
      "iteration": 1,
      "version": "A",
      "latestVersion": true,
      "workingCopy": false,
      "workingState": {
        "code": "CHECKED_IN",
        "cnName": "已检入",
        "enName": "checked in",
        "alias": "CHECKED_IN"
      },
      "checkOutUserName": null,
      "checkOutTime": null,
      "preVersionId": null,
      "relations": []
    },
    {
      "rdmVersion": 2,
      "description": "这是B版本",
      "version": "B",
      "branch": {
        "id": "602443476277137408",
        "clazz": "VersionModelBranch"
      },
      "preVersionId": "602443476272943104",
      "versionCode": 2,
      "hibernateVersion": 3,
      "latestVersion": true,
      "createTime": 2024-02-23T06:38:10.406+0000,
      "name": "这是B版本",
      "iteration": 2,
      "id": "602443507797336064",
      "relations": [],
      "latest": true,
      "lastUpdateTime": 2024-02-23T06:38:10.406+0000
    }
  ],
  "errors": []
}

状态码

状态码

描述

200

OK,表示请求成功。

错误码

请参见错误码

相关文档