背景:
Cognos BI 8 版本以前,cube的发布问题一直困扰着系统管理员,当用户正在访问cube数据源的报表时,会导致cube文件被占用而导致新版本cube无法覆盖而发布失败。
所以在Cogons BI 8版本上提供了一个SDK小工具,cubeswap用于发布cube时,将cube数据源地址指向到新的cube地址,代替文件覆盖操作,以避免文件占用问题。
该程序虽然解决了发布冲突问题,但cognos管理员需要自行管理cube版本,额外增加了运维自动化的开发工作量。
Transformer的新功能:部署与激活(Deployment & Activate)
在Transformer 10中,Powercube提供了自动部署和激活的功能,可以在刷新完成后自动部署和激活,彻底解决了该问题。(原cubeswap程序IBM不再提供)
在Transformer中,右键点击Powercube,进入属性设置。如下图:
Deployment Strategy:设置为copy to available location, then activate
After building the cube:设置为 Automatically copy and activate
Deployment path:设置发布cube的目标地址。这个地址就是数据源连接中配置的cube地址。
然后,运行cube刷新,在数据刷新完成后,transformer就会自动拷贝cube文件到发布目录。如图。
在多次刷新后,我们可以看到发布目录下出现多个文件。
gosales.mdc
这是cube的桩文件,数据源连接中配置的地址就是指向它,但它并不保存数据,可以理解为一个cube的快捷方式,真正的数据保存在个版本的cube文件夹中。
gosales__xxxxxxxxx.ver
这是cube的现有版本的标志文件。通过该文件去寻找现有版本的cube文件。
gosales__xxxxxxxx文件夹
这是不同版本的cube文件存放地址,已产生时间戳命名。
每次更新cube时,Transformer创建新的cube版本文件夹,并修改ver文件名,指向新的cube文件夹。
保存的历史版本,在transformer中设置,本例中历史版本保存3份,加上现有版本,所以一共有4个版本文件夹。
另,运维自动化刷新时,不会启动TR的图形界面,而是使用命令行运行。这时有一个新的运行参数控制发布,-g,参考以下命令。
d:\cognos\c10\bin>cogtr.exe -c -n2 -g -md:\cognos\model\transformer\gosales_deploy.mdl