关系类型管理
概述
关系类型定义了配置项之间可以建立的关联种类,描述了一个配置项如何与其他配置项相连。
关键概念:
- 配置项类型:定义"表示什么",例如
应用、计算机、数据库等 - 关系类型:定义"如何连接",例如
依赖于、运行于、包含等 - 关联关系:定义哪些配置项类型之间可以建立哪种关系,在配置项类型管理的"关联关系"标签页中配置
示例:
- 关系类型
运行于定义了一种"a运行在b之上"的关系语义 - 关联关系配置"数据库类型可以通过运行于关系连接到计算机类型"
- 实际实例:数据库"MySQL-01" --运行于--> 计算机"Server-01"
这个模块能帮你做什么:
- 查看系统预定义的关系类型(如
依赖于、运行于、包含等) - 创建自定义关系类型
- 编辑或删除自定义关系类型
- 导入导出关系类型定义
界面组织
关系类型管理页面采用列表 + 详情两层结构:列表页以表格形式展示所有关系类型,点击任一行进入独立的详情页进行查看和编辑。
列表页字段
| 列名 | 说明 |
|---|---|
| 显示名称 | 当前语言的翻译后显示名称(如 运行于),未翻译时回退到英文显示名 |
| 名称 | 关系类型的唯一标识符(如 r_runs_on) |
| 描述 | 当前语言的翻译后描述 |
| 类型 | 标签:蓝色"内置"表示系统预定义,灰色"自定义"表示用户创建 |
工具栏按钮
| 按钮 | 说明 | 操作 |
|---|---|---|
| 添加关系类型 | 创建新的关系类型 | 点击打开创建对话框,填写后立即保存 |
| 删除(批量) | 批量删除选中的关系类型 | 选中至少一行后启用;内置类型会被自动跳过 |
| 导出 | 导出选中的关系类型为 JSON | 选中至少一行后启用;支持多选导出 |
| 导入 | 从 JSON 文件导入关系类型 | 点击打开导入对话框,支持"覆盖已存在"选项 |
行操作
| 操作 | 说明 |
|---|---|
| 点击行 | 进入关系类型详情页(在该页可编辑显示名称、描述等) |
| 删除(行内) | 删除该关系类型,内置类型不可删除 |
如何使用
查看关系类型
- 在列表页直接浏览所有关系类型(名称、显示名称、描述、内置/自定义)
- 点击任意行进入详情页查看完整信息
搜索关系类型
使用列表页上方的搜索框:
- 在搜索框中输入关系类型名称
- 列表自动过滤,只显示匹配的关系类型
- 清空搜索框恢复显示所有关系类型
创建新关系类型
- 点击列表页工具栏的"添加关系类型"按钮
- 在弹出对话框中填写关系类型信息:
- 名称:关系类型的唯一标识符(必须以字母开头,只能包含字母、数字和下划线,最长 100 字符)
- 显示名称:关系类型的显示名称(最长 100 字符)
- 描述:关系类型的用途说明(可选,最长 500 字符)
- 点击"保存"完成创建
编辑关系类型
- 在列表页点击要编辑的关系类型,进入详情页
- 在详情页修改显示名称或描述(名称为唯一标识符,不可修改)
- 点击详情页的"保存"按钮提交修改
删除关系类型
单条删除:
- 在列表页找到要删除的自定义关系类型
- 点击该行的"删除"按钮
- 在确认弹窗中点击"确定"
批量删除:
- 在列表页勾选要删除的多个自定义关系类型
- 点击工具栏的"删除"按钮
- 在确认弹窗中点击"确定"(若有内置类型被选中,会被自动跳过并提示)
注意
- 只能删除自定义关系类型,内置类型的"删除"按钮会被禁用,批量删除时也会被自动跳过
- 如果已有"关联关系"使用了该类型,则无法删除(系统会拒绝并提示)
导出关系类型
- 在列表页勾选要导出的关系类型(支持多选)
- 点击工具栏的"导出"图标按钮
- 系统逐个下载 JSON 格式的关系类型定义文件
导入关系类型
- 点击列表页工具栏的"导入"图标按钮
- 在弹出对话框中点击上传区域,选择要导入的 JSON 文件(仅接受
.json,最多 1 个) - 如需覆盖已存在的关系类型,勾选"覆盖现有的关系类型"复选框
- 点击"确认导入"完成操作
内置关系类型说明
系统预置了以下内置关系类型:
| 名称 | 显示名称 | 说明 |
|---|---|---|
r_depends_on | 依赖于 | 功能依赖关系,用于故障 影响分析 |
r_runs_on | 运行于 | 表示软件/应用运行在特定平台或系统上 |
r_contains | 包含 | 物理或逻辑包含关系 |
r_member_of | 属于 | 集群成员或组织归属关系 |
r_hosts | 托管 | 物理主机或容器平台对上层资源的托管 |
r_connects_to | 连接到 | 网络连接关系 |
r_provides | 提供 | 提供服务、资源或供给的关系 |
r_consumes | 使用 | 消费或使用的关系 |
r_located_in | 位于 | 物理位置关系 |
r_owns | 拥有 | 拥有或所有权关系 |
r_manages | 管理 | 管理关系 |
强依赖关系
某些关系类型具有"强依赖"特性,定义了配置项之间必须依附的关系。某些配置项(如数据库、磁盘)必须依附于其他配置项才能创建,不能单独存在。
依附配置项属性的作用:
依附配置项(attached_to)是定义在根配置项类型上的系统属性- 记录当前配置项所依附的配置项的 ID
- 在创建强依赖关联时由系统自动设置,创建后无法手动修改
支持的强依赖关系类型:
| 关系类型 | 依附方向 | 说明 |
|---|---|---|
运行于(r_runs_on) | 正向 | 源配置项依附于目标配置项。例如:数据库实例依附于计算机或数据库集群 |
包含(r_contains) | 反向 | 目标配置项依附于源配置项。例如:磁盘依附于计算机 |
使用说明
每种配置项类型可以在其"关联关系"中定义多个强依赖关系。例如 数据库 可以定义同时 运行于 计算机 和 数据库集群,意味着创建数据库实例时必须选择其中一种类型的实例作为其依附配置项。
常见问题
Q:关系类型和关联关系有什么区别?
A:
- 关系类型:定义"如何连接"的语义种类(如
依赖于、运行于),在本模块统一管理 - 关联关系:定义哪些 CI 类型之间可以用哪种关系连接(如"应用类型可以通过
依赖于连接到计算机类型"),在 CI 类型管理的"关联关系"标签页配置
Q:为什么有些关系的"删除"按钮是灰色的?
A:内置关系类型的"删除"按钮被禁用,只允许删除用户自定义的关系类型。批量删除时若有内置类型被选中,也会被自动跳过并提示。
Q:删除关系类型会影响现有数据吗?
A:删除前系统会检查是否已有"关联关系"使用了该类型。若有,删除会被拒绝并提示。请先解除所有依赖该类型的关联关系后再删除。