人民银行发布的 《JR/T 0210-2021 金融IT基础设施数据元》 标准已经于2021年1月实施。本文尝试分析此标准和 iTop 的差异,并讨论用 iTop 实现此标准的方法。
建模方法
和 iTop 一样,都是基于面向对象的思路来设计数据模型,最上层是 IT基础设施数据元,然后是 虚拟机资源数据元,数据中心数据元,硬件设施数据元,网络线路数据元,基础软件数据源,关联关系数据元。其中硬件设施数据元又细分为不同的设备。如图所示
最顶层的 IT 基础设施数据元有一些通用属性,如图。
IT基础设施数据元和 iTop 的 FunctionalCI 比较类似,但是也有一些区别:
- iTop 最顶层是 cmdbAbstractObject,关联关系是继承自 cmdbAbstractObject,基本就只有两边的 ID 两个属性,不像央行标准的继承自 IT基础设施数据元,有那么多属性。
- 数据中心数据元部分类似 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。有两种思路。
- 如果还没有 iTop 或者其他 CMDB,可以用 iTop 来完全按照央行标准建设,可以考虑删掉 iTop 中所有无关的类。包括 FunctionalCI,然后建立一个和央行标准完全一致的模型。
- 如果已经有 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 转,直接赋值
(全文完)
发表回复