金融IT基础设施数据元在iTop中的实现

人民银行发布的 《JR/T 0210-2021 金融IT基础设施数据元》 标准已经于2021年1月实施。本文尝试分析此标准和 iTop 的差异,并讨论用 iTop 实现此标准的方法。

建模方法

和 iTop 一样,都是基于面向对象的思路来设计数据模型,最上层是 IT基础设施数据元,然后是 虚拟机资源数据元,数据中心数据元,硬件设施数据元,网络线路数据元,基础软件数据源,关联关系数据元。其中硬件设施数据元又细分为不同的设备。如图所示

最顶层的 IT 基础设施数据元有一些通用属性,如图。

IT基础设施数据元和 iTop 的 FunctionalCI 比较类似,但是也有一些区别:

  1. iTop 最顶层是 cmdbAbstractObject,关联关系是继承自 cmdbAbstractObject,基本就只有两边的 ID 两个属性,不像央行标准的继承自 IT基础设施数据元,有那么多属性。
  2. 数据中心数据元部分类似 iTop 中的 Location,可以扩展 Location 的属性来满足央行标准,也可以在 FunctionalCI 下新增数据中心CI。

通过以上对比,可以看到如果用 iTop 来做,需要为连接关系类都加上 IT基础设施数据元 的那些属性,我们又不方便修改 cmdbAbstractObject,因此需要用到 iOnClassInitialization 接口。接口定义位于 core/metamodelmodifier.inc.php

/**
 * Any extension to hook the initialization of the metamodel 
 *
 * @copyright   Copyright (C) 2010-2012 Combodo SARL
 * @license     http://opensource.org/licenses/AGPL-3.0
 */

interface iOnClassInitialization
{
	public function OnAfterClassInitialization($sClass);
}

定义一个需要添加自定义属性的类目数组,然后判断 $sClass 是否在此数组中。新增自定义属性如果需要根据某些条件自动更新,可以用 iApplicationObjectExtension 接口。

复合属性

央行标准用复合属性表示 CPU信息,存储信息,部署属性等。类似 iTop 中的 外建类型属性(AttributeExternalKey)。CPU信息,存储信息在 iTop 中可以考虑作为类型(Typology)的子类,部署信息可以对应 iTop 中的地理位置(Location),安装信息对应 iTop 中的机柜(Rack)。

关联关系

和 iTop 基本一致,某些关联关系需要记录更多属性的,可以直接在 lnk 类上添加即可。

多值属性

央行标准的多值属性可以对应 iTop 的 AttributeLinkSet。以数据中心区域划分属性为例,为区域建模(可以作为 Typology子类),区域通过 AttributeExternalKey 指向数据中心,数据中心模型用 AttributeLinkSet 展示所有区域。

结论

通过以上讨论,iTop 基本能够满足央行标准。可以考虑用 iTop 来建设符合央行标准的 CMDB。有两种思路。

  1. 如果还没有 iTop 或者其他 CMDB,可以用 iTop 来完全按照央行标准建设,可以考虑删掉 iTop 中所有无关的类。包括 FunctionalCI,然后建立一个和央行标准完全一致的模型。
  2. 如果已经有 iTop 或者其他 CMDB,应考虑通过数据转换方式将数据转换为央行格式。可以设计一些转换过滤函数,通过配置文件配置转换规则,比如,可以定义如下的配置文件:
---
version: v1.9
model:
- class: Server
  source: Server  # iTop 对应的类名
  key: serialnumber
  fields:
  - name: serialnumber
    value:
      from: serialnumber  # 从 iTop 中取该属性
      filter:
      - join(serialnumber,name,-) # 从 iTop 中取多个属性连接在一起,最后一个参数是连接符
      - replace(production=00,stock=01) # 替换
  - name: ownership
    value:
      from: =机构名称   # 不需要从 iTop 转,直接赋值

(全文完)

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注