如何在 WebSphere Business Monitor 中表示时间戳记

由于 WebSphere® Business Monitor 在其数据服务组件中使用多个数据库,因此了解在数据库复制期间,系统如何在这些数据库之间转换时间戳记是非常重要的。

针对 WebSphere Business Monitor 拓扑结构,有多种可能的配置。您需要了解如何设置这些拓扑结构,以获得您想要的时间戳记结果。所涉及的服务器有包含运行时数据库的服务器、包含历史数据库的服务器,以及安装了 WebSphere Portal 的服务器(即 DB2® Alphablox 的安装位置)。如果结果采用格林威治标准时间(GMT)报告所有时间,那么运行时数据库、历史数据库和 WebSphere Portal 所在的机器必须都将自己的系统时钟设置成 GMT。随后,所有时间戳记和维报告都必须采用 GMT。

如果想要采用东部标准时间(EST)报告所有时间,那么所有服务器都应设置成 EST。如果希望客户机采用不同的时区,建议将所有服务器都设置成 GMT。如果通过 WebSphere Portal 指定的客户机设置不是 GMT,那么在使用时间戳记(它们与 WebSphere Portal 上的设置相关)的报告与执行维分析的报告之间存在着一些差异。这些差异由 GMT 设置引起的。 以下是详细的技术信息。

状态数据库中的时间戳记列以长整型 Java™ 数据类型存储(根据 GMT 序列化 Java 时间戳记)。在这些时间戳记在三个数据库中移动之后,就可以在状态和运行时数据库之间的 ETL 步骤期间,将它们从这些 Java 长整型转换成 DB2 时间戳记。这项更改是通过使用基于 Java 的 UDF 完成的,它将长整型转换成时间戳记,并将该时间戳记数据类型返回给 DB2。此时,会根据安装了运行时数据库的服务器的时钟设置,转换时间戳记。如果该系统时钟设置成 GMT,则将这些时间戳记转换成 GMT;否则,将根据系统时钟的时区偏移量和夏令时偏移量,来转换它们。这些时间戳记以相对于该时区的形式存储在 DB2 中,而非以 GMT 存储。DB2 提供了专用寄存器,以检索时区偏移量,并将其应用于时间戳记。

移至历史数据库的时间戳记不会转换,因此历史数据库将以与运行时系统相同的时区存储时间戳记。这就意味着运行时和历史数据库服务器必须使用相同的时区设置。在 ETL 期间,会将这些时间戳记与 DIM_TIME 表进行比较。DIM_TIME 表本身没有时区,但当它与数据库服务器相结合,就会使用该服务器的时区设置。因此,假定所查找的 DIM_TIME 和时间戳记都与历史数据库服务器的时区(可能不是 GMT)相关,那么对 DIM_TIME 表的所有映射都已完成。

安装了 WebSphere Portal 的服务器也需要采用与运行时和历史数据库服务器相同的时区。目前,当仪表板直接查询时间戳记列(不使用时间维)时,当前的体系结构假定运行时和历史数据库的时区与仪表板服务器的相同。时间戳记会转换回 Java 时间戳记,WebSphere Portal 假定数据库服务器时间戳记采用与自己相同的时区,并根据这些设置,将时间戳记转换回 GMT。客户机机器可能具有不同的时区设置。只要 WebSphere Portal 正确地将时间戳记转换成 GMT,就不会出问题。仅当 WebSphere Portal 以及运行时和历史数据库服务器具有相同的时区设置时,它才能正确转换。

由于 WebSphere Business Monitor 中的 TIME DIMENSION 设计,最后一个问题可能比较麻烦。在 ETL 阶段,存在一些到 TIME DIMENSION 的链接,以进行维分析。执行分析的人必须认识到,不管客户机时区设置如何,这些报告都是基于运行时和历史数据库服务器的时区,发生过从 GMT 到这些服务器本地时间的转换。即使 TIME DIMENSION 的详细程度只是“日”,时区的不同也会改变特定记录发生的“日期”。


Copyright IBM Corporation 2005, 2006. All Rights Reserved.