在数据服务生成 (DSG) 环境中,变更管理是指可以修改模型的某个方面(添加度量值、监控上下文等),并要部署此新版本模型并保留现有数据的情况。
通过将数据库中已经存在的表修改为支持更早版本,使其现在可与两个版本兼容来完成这些任务。例如,如果模型的新版本删除一个度量值并添加一个新的度量值,监控上下文表将被修改,以包含对应于已删除度量值的列(支持最初版本)和对应于新度量值的列(支持新版本)。所有现有数据都将保留,但旧的实列在新定义的度量值列中具有空值。
模型之间的受支持的更改如下(度量值是指度量值、秒表和计数器):
- 增加度量值字符串长度
- 减少度量值字符串长度
- 删除度量值(但请留意对维更改的特殊限制)
- 添加度量值(但请留意对维更改的特殊限制)
- 添加监控上下文
- 删除监控上下文
- 修改监控上下文的相关谓词
- 添加触发器
- 添加和删除触发器的求值时间
- 创建新维
- 删除维
- 创建新度量方式
- 创建新事实属性
不支持以下更改。“数据服务生成”在检测到这些更改时会抛出错误:
- 将秒表从累计改为不累计,或反之
- 更改为度量值分配的维
- 更改维的度量集或维键,方法有多种:
- 创建新度量值,并将其分配到现有维
- 删除作为现有维的一部分的度量值
- 切换维中度量值的 isPartOfKey 标志
- 将度量值从事实属性更改为维属性,或从维属性更改为事实属性
“数据服务生成器”检查监控模型的前版本和新版本。如果没有前版本,那么“数据服务生成器”生成对应于新模型的工件。如果新模型的前版本存在,那么“数据服务生成器”会比较已部署模型版本和新模型版本的不同。
如果发现差异,那么会根据这些差异重新生成相应的脚本以修改数据库。有关从现有模型中创建新模型的更多信息,请参阅 IBM® Business
Monitor 开发工具箱文档。
如果“数据服务生成”检测到两个模型版本之间的差异中包含不兼容的更改,比如删除了作为维的一部分的度量值,那么会报告一个错误。此时,用户有两种选择。要么撤消引起问题的模型更改并重新部署,要么将新模型版本作为完全独立的模型进行部署,而不是作为已部署模型的新版本。
要将模型的新版本作为完全独立的模型部署,必须首先更改模型的标识。另外,模型中的所有监控上下文标识也必须更改为唯一的标识,以避免和已部署模型所用的标识冲突。如果将模型部署为独立模型而不是新版本,那么模型之间不会共享表或数据,相当于在 Monitor 服务器上部署了其他任何两个独立的模型。
在部署现有模型的新版本时,另一个需要注意的事项是“数据移动服务(DMS)”工件。当部署模型的新版本时,“数据服务生成”生成 DMS 工件有以下三种可能:
- 没有生成 DS_DMS_Setup.zip 文件:如果 DSG 本身报告成功,那么缺少 DS_DMS_Setup.zip 文件表明模型版本之间的更改并不保证对 DMS 的更改。您不需要对该模型版本作任何设置,并且您可以在管理控制台步骤向导中方便地确认 DMS 设置步骤。
- 生成了 DS_DMS_Setup.zip 文件,但其中不含任何启动/停止脚本:由于您对模型的更改需要更改 DMS 配置,所以您需要运行 DMS 设置脚本,但是您将继续使用在较早版本中生成的启动/停止脚本(如果使用了启动/停止脚本生成器工具,那么脚本由该工具生成)。
- 生成了 DS_DMS_Setup.zip 文件,并且其中包含启动/停止脚本:在这种情况下,当启动 DMS 时,您必须同时运行新的启动脚本和针对较早模型版本生成的所有先前启动脚本。
或者,您可以使用启动/停止脚本生成器来合并与所有模型版本关联的全部脚本。