Redfish Data model (红鱼的资料模型)

本文深入解析Redfish Datamodel,阐述其在软件工程中的应用,从概念设计、ER模型到实体建模,以及Redfish Schema文档的重要性,揭示Resourcemap在关系管理中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(这一篇写得不够完整,但好像不能暂时下架文章,所以有空再来修)

今天来聊个简单的概念,Redfish 的 Data model

上面是Redfish Spec的内容,提到Redfish 将 Protocol 和 Data model 的版本分开了,那这边的Data model 是指什么呢?

什么是Data model ?

在软体工程中,在系统开发前,需要先作需求的统计和分析,这时候我们会将需要处理的资料(Data requirement) 作初步的概念设计(conceptual design),产生概念模型 (Conceptual schema),这是一个high level 的Data model,以Redfish 为例子

如果我们设计一个需要处理System 和 BMC 资料的Redfish ,我们需要先将想要处理的资料作分类和分析,经过建模后资料之间的关系大略如下

 这边用到ER model,补充一下他的概念

  • Entity: 特定的Object,每个Entity 有它自己的Type (Redfish 世界称作Resource ,type 会标记在@odata.type)
  • Attribute: 用来描述Entity (Redfish 世界称作Property)
  • Key Attribute: 每个Entity 的这个Attribute都有独一无二的值,例如身份证字号/员工编号,都是key attribute (Redfish 世界常见的是@odata.id 或是 id)
  • Multivalued Attribute: 多值的attribute,例如Status object 可再分为State和 Health 

有个概念模型后,我们会进入实体模型阶段,将我们的Data model 描述得更仔细,以便后续的资料沟通,其中,一个完整的 Data model 会有三个组成元素

  • The structural part (结构): 资料在资料库中的组成与表示方式
  • The integrity part (完整性): 资料在结构与表示方式中的合法条件 (例如 UserName 不能超过几个字元、密码的长度或是Attribute的Type 要是string or int等条件)
  • The manipulation part (操作) : 如何更新、新增或是查询数据 (这个Resource 能不能被POST、DELETE 或是 Property能不能被PATCH)

经过完整的建模產生的schema 就在 redfish schema document (DSP0268),里面可以看出很完整的资料模型结构和严谨的规范

在DSP0268中有清楚描述了Redfish 的Data model,另外Redfieh 有提供 Schema definition languages 所撰写的Data model (DSP8010),供开发人员使用

最后我们来看一下很多人介绍Redfish 时会放的Resource map,是不是更有感觉

这边的"computer systems" 和 "Manager By" 就是上面提到的relationship (Resource 之间的关系),Processors 是Computer System 的Property,那他也可以和Processor Resource 产生一个关系,就像底下

如果和Redfish 熟的话,会发现有些关系是会放在"Links"的property中的 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值