上一主题: 重新计算历史

下一主题: 事件单一性

重新计算原因

以下是系统中强制引擎进行重新计算的事件的列表:

新原始数据

原始数据和中间数据可以在发生的实际时间之后添加进来。 例如,一些事件源处于非活动状态并且未接收数据的情况。 一旦添加了新数据,引擎便会从所添加事件的时间戳开始重新计算。 例如,在月末输入了美元的值。 针对该月的整个计算都将基于此时的美元值。 当引擎回到月初时,它将使用新值重新计算。

更正

即使数据已进行了计算,也可以更正数据。 更正会替换原始数据。

注意:此情况不适用于中间数据,对于中间数据无法添加更正。

添加更正时,引擎必须查找在更改发生之前的状态。 然后,引擎使用该时间点的计算中包括的新更正数据重新计算度量标准。

例如,如果用户上周错误地输入数字 5 作为原始数据。 然后,用户将 5 替换为 3。 引擎必须从输入 5 之日起进行重新计算。 使用数字 3 来替代 5。

注意:更正可以是删除不正确数据,而不一定将其替换为新数据。

新资源版本

基于注册来接收事件:

资源自定义属性的更改

在对资源的自定义属性执行更改时,引擎将重新计算与该资源关联的所有度量标准。 从自定义属性更改之日起重新计算度量标准。

例如,有这样一种情况:服务器分别位于纽约、芝加哥和洛杉矶。 用户决定在纽约组中包括芝加哥服务器。 然后,管理器决定,芝加哥服务器实际上是洛杉矶组的一部分,并更改了芝加哥服务器的状态。 现在,引擎必须进行重新计算。

新增/激活/停用例外

可为定义的时间段创建例外。 例如,有一个时间段定义为正常工作时间,但由于电源故障存在例外。 此例外将从正常工作时间中删除指定的时间间隔。 尽管现在将事件视为在时间段之外,但仍会对其进行处理。 一旦此时间与正常例程不同,便可在业务逻辑脚本中定义时间段外行为。 但是,用户还无法定义引擎在例外时段段内的行为。 不能从标准的时间段外行为修改此行为。 可在实际时间段之前或之后定义例外。 在将例外添加到引擎计算的时间范围内时,引擎将重新计算并考虑该例外。

例如,在一周前已发出断电通知。 系统一直计算到当前时间,但没有考虑断电。 在此情况下,需要进行重新计算。

业务逻辑模块版本

由用户定义的业务逻辑可在每个单独的度量标准中创建。 此外,如果是必须重用的核心逻辑,则可以存放在业务逻辑模块中。 采用这种方式,用户只需创建一次逻辑,就可在多个度量标准中使用该逻辑。 但是,当更改模块以更正逻辑中的错误时,则链接到该模块的所有度量标准都将更改。 这种情况下,必须重新计算这些度量标准,以考虑此更正。

例如,用户有多个客户端并且所有客户端都需要一个帮助台度量标准。 这种情况下,就可将帮助台逻辑放入业务逻辑模块中。

新中间数据事件

通过事件重用性功能,用户可以创建使用其他度量标准的计算结果作为输入的度量标准。 这种数据称为中间数据。 此数据的创建方法是,让一个度量标准发送在结构上与原始数据相似的事件。 然后,接收度量标准注册此发送度量标准,并按照度量标准接收原始数据事件的相同方式接收所发送的事件。 如果发送度量标准进行重新计算,它必须删除先前发送的事件并对需要重新计算的时间范围进行重新计算。 这意味着,它先前发送的中间数据不再是最新的。 注册接收此数据的度量标准也必须进行重新计算,以考虑新数据。

新合同版本

在创建合同版本时,会从合同版本开始之时对包含的部分或全部度量标准进行重新计算。 将仅针对与先前版本相比发生了更改的度量标准执行重新计算。 如果创建合同版本后就直接提交,则不会发生重新计算。 不会因为度量标准包含更改而进行重新计算。

以下是不进行重新计算的情况:

对于新合同版本而言,这被视为计算而非重新计算,因此不会显示在重新计算历史中。

例如,与 ABC 公司签订了一个为期三年的合同。 您将合同延长了一年。 此更改将产生新合同版本。 ACE1 将从 2005 年 1 月 1 日起重新计算度量标准。

如果有一个合同具有 100 个度量标准,您创建版本并更改了其中一个度量标准的参数,则不会发生任何更改。 其他度量标准不会重新计算。

注意:如果在很久以前进行更改,则会引起较长的重新计算。 此重新计算需要较长时间,因为受影响的度量标准必须从更改之时起进行重新计算。