bg_image

新一代CMDB数据管理方案 – 建模篇

建模总览

建模是新一代CMDB数据管理平台的关键能力基座。通过建模,用户可以按需自行定义各类场景所需的基础数据模型。基础数据模型为未来在平台中纳管的具体数据实例制定了属性、关系、运算、展示、查询等各方面的规范和标准。

平台内置了一套参考数据模型,已预先对常用数据分类、属性、关系、运算、展示、查询进行了初始化。这套模型来自多个行业和客户实战项目中总结的最佳实践,范围覆盖了应用系统、基础架构、物理资产、数据中心等常见IT资源。用户可以选择从零开始搭建一套全新的数据模型。当然,为了快速交付场景,我们推荐用户在参考数据模型的基础上,通过复制、扩展和裁剪等方式,快速生成适合自身需要的新数据模型集合。

建模方法

我们认为,建模是从深刻理解场景开始的一项系统性工程。在开始正式设计和配置一个新的模型前,您需要预先思考和回答几个问题:

1,为什么需要这个新模型?

建模的起点不是进入平台立即开始配置,而是以"Design To Win"的思路预先做好模型的规划。数据类型不是越多越好,纳管的数据量也不是越大越好,无论是否采用自动化手段,更多的数据类型和更多的数据量意味着更多的维护成本和代价。因此,建模开始前,请先思考一个问题:"这个新模型将服务于哪个工作场景?"。任何没有场景消费的类型和数据,都应该毫不犹豫的从平台里清理掉。

2,如何最大限度精简这个新模型?

对模型而言,动辄上百个字段的设计,看似非常完善,实际上会引发巨大的维护成本和不必要的平台负载。最大限度的精简设计,识别和保留关键属性和关系,去除那些未来很长时间也不会用到的无效属性和关系,是我们历经多年项目建设总结的一个关键实践经验。不必担心未来需要添加字段时可能遇到麻烦,我们的平台已为你充分考虑了这一点,添加字段仅需通过几步简单操作即可完成,成本为0。因此,关注当下场景需求,建立最小的适应性模型即可。

3,如何通过建模确保未来数据实例的准确性、有效性?

定义模型中包含哪些属性和关系,这些属性和关系如何展示,只是CMDB建模的基本操作。更重要的是,如何在建模过程中,同步设计好数据实例准确性、有效性的保障机制。这里面就包括深入理解模型字段的数据来源,字段之间的内在联动关系、场景对最终字段格式和内容的消费需求等。

平台建模能力

为了支持以上建模工程,新一代CMDB数据管理平台为您提供了一套完整的建模能力,帮助您在最短时间内搭建一套与您的消费场景完全匹配的数据模型。这些建模能力包括:

数据类型快速定义

平台数据类型在类型树中统一管理,用户可在类型树各层按需添加、编辑、删除任意数据类型,并可在数据类型层面定义该类数据的全局行为,比如数据权限标签、是否记录版本历史、是否显示拓扑或附件等

  • 类型树层级的数量无限制
  • 各层数据类型的数量无限制
  • 数据类型父子之间默认具有继承关系
  • 数据类型支持快速复制,复制类型后,源类型包括属性、关系在内的所有模型定义将自动复制到新类型中,1分钟完成建模 

属性和关系快速定义

平台允许用户为每种数据类型自行定义不限数量的属性和关系字段。当前,按上文建模方法提及的最佳实现,属性和关系的数量应在满足场景需求的前提下尽可能的精简。这并非来自平台技术的限制,而是出于未来数据管理成本的审慎考量。按短期需求定义有限的属性和关系字段即可,因为在我们的平台上,未来添加新字段定义的成本为0

属性和关系在平台层面统一认定为字段。属性字段和关系字段在定义时需要设置的选项大多数是一致的,包括:字段标识、显示名称、所属表单分页、组件类型、显示高度、显示宽度、必填性控制、只读性控制、唯一性、内容校验机制、版本记录机制等。与属性字段相比,关系字段额外增加了目标关联实例所属类型和映射关系约束等特定选项,以方便对未来数据实例之间实际建立和存储关联关系的管理。

正如上文建模方法提到的,建模时就应从设计角度确保未来数据实例的准确性、有效性。这需要在建模阶段识别和定义好字段与字段之间的联动关系。为此,平台特别提供了一个重要的建模功能:运算值。

运算值是为控制字段在特定条件下自动计算或限定取值范围而提供的选项。平台内置了上百种运算函数,以方便用户实现各类计算逻辑。用户可设定字段运算的触发模式,包括新建时、界面修改时、保存时、再次打开时,这意味着,用户拥有更灵活的选择,确保在各类交互场景中获得自动运算生成的数据。

运算值的另外一个重要的好处时,通过设定运算策略,结合平台的自动发现能力,95%以上的数据维护从人工模式转化成自动化模式,这意味着为了保证数据质量而投入的人力成本也降低了95%。

表单和列表快速定义

平台允许用户为不同数据类型定义不同的表单和列表展示机制。通过每个数据类型中的表单、列表定义,用户可以拖拽方式快速设定字段在表单、列表中的排序。

平台通过设置字段组件、表单高度、表单宽度、位置排序、所属分页、字段间分割线、表单隐藏等选项来控制字段在表单中展示模式。例如,用户可在每个类型的"表单"排序页面中调整字段在表单中位置。

平台通过设置字段是否列显、列高亮逻辑、列表宽度、列显位置等选项来控制字段在列表清单中的展示模式。例如,用户可在每个类型的"列表"排序页面中调整字段在列表中的位置。

平台支持按父子结构,将父数据类型的表单、列表定义自动更新到所有子数据类型。此功能可大幅提升模型定义的效率。如需调整一个大类的表单或列表显示模式,可在该大类的父类型上定义后,将最新的显示模式刷新到其所有子类上生效,上百个类型的字段调整可在几秒内完成。