上一篇 | 下一篇

仓库填充过程的监控技术

发布: 2008-7-01 13:01 | 作者: admin | 来源: | 查看: 0次

仓库填充过程的监控技术

热 荐

【字体:小 大】

仓库填充过程的监控技术

作者:- 文章来源:- 点击数:1663 更新时间:2006-4-22

该表包含了未在 WIP 中保存的信息: 每个经过了下列其中一种状态的版本的记录:purging、canceling、retrying、interrupted。在清除、取消或为填充而重试该版本之前,只能在 WIP 中短时间内看到这些临时状态。 每个被成功清除的版本的记录;在 WIP 中,被清除的版本的有关信息也将被删除。 被取消的版本的记录,即使它们已从 WIP 中清除。 正从 WIP 中被删除的每个版本的有关记录,其中包含了删除的时间。

表 WIP.STEPS_SCHEDULED 包含了各步骤的调度信息,以及已取消激活的已调度版本。当与已调度版本相应的步骤从生产级别降到测试或开发级别时,该版本将被取消激活。

图 4

该表包含了无法在 WIP 中获得的信息: 显示调度何时变为非活动的记录:当仓库管理员降级其中定义了一个或多个调度的步骤时,其调度就变为非活动的。 显示何时将调度覆盖的记录:如果 WIP 操作员决定立刻运行一个本来计划稍后才运行的版本时,就会出现该情况。因此,该版本不会在其初始指定的时间 Ti 运行,而是立刻运行;如果对该步骤指定了重复调度,那么则会在 WIP 中插入一个新版本,而其执行起始时间就是刚刚运行版本中初始指定的时间 Ti 加上其重复间隔。 关于过去已被调度的老版本的记录,即使它们可能已经被执行过了。而这些关于已经执行的被调度版本的记录在其执行之后就已从 WIP 中删除。

在本文的结尾,我们提供了一些固定的示例查询,将有助于用户从这些表中筛选出所需信息。附录中显示了这些表的完整定义。

除了刚才所描述的三个表之外,要获得包含了重要错误列表的表也很方便,且无需浏览从 WIP 环境中获得的许多日志页面。该工作极易完成,因为我们在 IWH.EDITION 表上定义了另一个触发器:当该表更新了一条记录并且该版本的状态为 failed 或 warning 类型时,与 IWH.LOGMSGS 表中版本有关的所有记录以及包含了错误消息的所有记录都将被写入 WIP.STEPS_ERRORS 表。附录中还提供了该表的确切结构。此表还包含了一个附加列 RESOLUTION_SUGGESTION,它并非是从 IWH.EDITION 提取的;该列由 WIP 操作员填入,用以包含动作的描述,而该动作是为校正执行时所碰到的错误而要采取的。当碰到不寻常的错误时该列的填写可能十分有用,便于在今后发生同样的错误时可应用快速的解决方案。

管理 WIP 历史表的大小

WIP 历史表 WIP_FULL_ARCHIVE 包含了每个版本的完整历史,并且被用作填充目标表 STEPS_COMPLETED、STEPS_TEMPSTATUS 和 STEPS_SCHEDULED 的源信息。表 WIP_FULL_ARCHIVE 的大小持续增长,因为触发器机制会将数据一点点地从 IWH.EDITION 表中填入档案表。这种设计并不可取,因而必须加以改进以确保控制好档案表的大小。而且要能够对过去仓库处理活动的任何历史加以恢复;备份文件应该包含从档案表中删除的数据。这可能是出于审计目的而需要的功能。我们还必须确保被定期激活以挖掘档案表并填充 3 个目标表的那些步骤会处理在同一时刻被插入到档案表中的数据。例如,只获得已完成的版本的有关信息,但是却遗漏了同一版本的各个中间状态的信息是极其不可取的。

改进后的设计是将 2 个表用于存档,取代目前的 WIP_FULL_ARCHIVE 表。表 WIP_ARCHIVE 是一个分级表。IWH.EDITION 表上所定义的触发器机制将连续填充该表。这是一个极其动态的表。而表 WIP_ARCHIVE_COPY 则包含了 WIP_ARCHIVE 表的快照复制;在执行复制时,同时也会将正在被复制的数据从原始的 WIP_ARCHIVE 表中删除。因此根据该数据转移的执行频率,WIP_ARCHIVE 表的大小可以保持得相当小。WIP_ARCHIVE_COPY 是一个更为静态的表;在每次执行从 WIP_ARCHIVE 表的转移时将替换它的内容。然后将筛选 WIP_ARCHIVE_COPY 表中的数据并进行转换,以生成目标表 STEPS_COMPLETED、STEPS_TEMPSTATUS 和 STEPS_SCHEDULED。

从 WIP_ARCHIVE 到 WIP_ARCHIVE_COPY 表的周期性转移将会由一个 UDP 步骤 Move WIP Data 来执行;该步骤将删除 WIP_ARCHIVE 表中的所有数据;而定义在 WIP_ARCHIVE 表上的 after-delete 触发器则会将所有删除的数据插入 WIP_ARCHIVE_COPY 表。

我们没有选择另一种通过定义 SQL 步骤来实现的方法,此 SQL 步骤将从 WIP_ARCHIVE 表中选择数据后插入 WIP_ARCHIVE_COPY 表,而 WIP_ARCHIVE_COPY 表上的 after-insert 触发器紧接着会删除 WIP_ARCHIVE 表中的数据。该方法虽然可以在两个表中产生完全相同的结果,但是其效率要低得多,因为这需要将 WIP_ARCHIVE 表中删除的数据与插入 WIP_ARCHIVE_COPY 表的数据一列一列地进行比较。

字号: | 推荐给好友

63/6<123456>

评分:0

我来说两句