【已评审】新增资源协作接口支持能效调速算法的可替换性

背景

当前能效智能调速算法涉及使用机器学习相关算法,而算法所需要的训练数据内置在BMC中无法进行修改,为满足不同客户的诉求,需提供替换和恢复训练数据的能力。

关联ISSUE

导入导出能效智能算法模型配置issue

评审点

(1)新增资源协作路径:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmsEngine;
(2)新增资源协作接口:bmc.kepler.Chassis.ThermalSubsystem.AlgorithmsEngine,AlgorithmsEngine接口下新增方法GetAlgorithmsList、Import和ResetToDefaults

详细描述

评审点1:新增资源协作路径:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmsEngine

路径描述:新增能效智能调速算法路径,统一管理能效智能算法相关配置
实现接口

实现接口 实现接口描述 CSR配置影响 持久化影响 其他影响
bmc.kepler.Chassis.ThermalSubsystem.AlgorithmsEngine (1)实现GetAlgorithmsList方法,提供获取能效智能调速算法及其状态
(2)实现Import方法,提供能效智能算法导入配置的功能
(3)实现ResetToDefaults方法,提供能效智能算法恢复默认配置的功能
不涉及 新增接口,无兼容性问题 不涉及

评审点2:新增资源协作接口:bmc.kepler.Chassis.ThermalSubsystem.AlgorithmsEngine

接口描述:此接口用于管理能效智能调速算法的通用接口
新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
GetAlgorithmsList / / a{ssa{ss}} 整体是一个数组AlgorithmsList,每一个数组对应一种算法类型,每一个数组元素为:
AlgorithmType:智能调速算法类型
AlgorithmStatus:智能调速算法运行状态
CustomConfigurations:智能调速算法自定义配置生效状态
返回当前能效智能调速算法类型,算法运行状态和算法自定义配置生效状态 ReadOnly
Import sss AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC,后续可进行扩展
ConfigType: 导入配置类型,枚举值,取值范围TrainSet,表示训练集导入,后续可进行扩展
Content: 表示导入配置的文件路径名称
(当ConfigType取值为TrainSet时,表示训练集类型的配置导入,导入文件必须为csv格式, 所有训练数据必须打包为 单个 ZIP 压缩包),支持远程导入
注:当前针对AlgorithmType和ConfigType的取值在业务逻辑中进行校验
u 成功返回:TaskId:任务id
错误返回:
(1)检查是否有正在导入的任务,返回错误信息“ConfigurationImportingErr”;(2)传入文件不存在,返回错误信息“InvalidPath”
(3)解压失败或是文件解析格式错误或数据不一致,返回错误信息“WrongFileFormat”
(4)解析文件配置,属性值类型或取值范围不匹配,返回错误信息“PropertyValueMismatch”
(5)其它错误导致导入数据失败,返回错误信息“InternalError”
提供能效智能算法导入配置的功能 BasicSetting
ResetToDefaults ss AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC,后续可进行扩展
ResetType: 恢复配置类型,枚举值
ResetAll 恢复所有配置到默认值,后续可进行扩展
注:当前针对AlgorithmType和ResetType的取值在业务逻辑中进行校验
u 成功返回:TaskId:任务id
错误返回:
如果对应算法正在执行导入或是恢复任务,返回错误信息“ResetOperationNotAllowed”
恢复指定算法对应配置的默认值 BasicSetting

评审结论

通过,具体结论如下:

  1. 同意新增资源协作路径:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmsEngine;
  2. 同意在新增资源协作路径下新增接口:bmc.kepler.Chassis.ThermalSubsystem.AlgorithmsEngine和其对应的方法:GetAlgorithmsList,Import,ResetToDefaults,接口的方法详细信息见评审点2;
  1. 方法执行失败时的错误引擎需要明确,如果要新增自定义错误则需要一同进行评审
  2. zip 格式是个什么格式?字符串有 zip 格式吗?

1、已添加方法执行失败的错误返回信息说明,使用的错误信息无需新增
2、Content的参数说明已更新,明确了导入不同的配置类型,要求不同的文件格式或压缩包格式

**ImportConfig**
AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC
ConfigType: 导入配置类型,枚举值,MPC支持的两种导入类型:TrainingData训练数据导入、HyperParameter模型超参导入
Content: 表示导入配置的文件路径,TrainingData类型的配置导入,训练数据必须被压缩为zip格式,HyperParameter类型的配置导入,配置文件必须为json格式
响应参数:
成功返回:TaskId:任务id
错误返回:
(1)传入文件格式错误,返回错误信息“WrongFileFormat”
(2)解析传入配置,发生属性值类型或取值范围不匹配,返回错误信息“PropertyValueMismatch”
(3)其它错误导致导入数据失败,返回错误信息“InternalError”	
**ExportConfig**	
AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC
ConfigType: 导出配置类型,枚举值,MPC支持导出类型:HyperParameter模型超参导出
响应参数:
成功返回:TaskId:任务id
错误返回:导出配置失败,返回错误信息“InternalError”