1 介绍
fanout记录使用若干转发运行链接来执行多个被动记录扫描。当需要由于运行一个记录扫描多个记录时,那个记录的转发链接指定一个fanout记录。fanout记录可以最多指定另外6个记录运行。当需要多于6个时,在fanout记录中的一个链接可以指向另一个fanout记录。
注意:fanout记录只传播运行,而不传播数据。在另一方面,dfanout或数据fanout记录可以发送数据给最多8个其它记录。
fanout记录的字段分为以下类别:
扫描参数
操作显示参数
运行时参数
2 扫描参数
fanout记录的转发链接字段(LINK1-LINK6)指定要被扫描的记录。这些要被运行的记录必须在它们的SCAN字段中指定Passive,否则指向它的转发链接将不引起它允许。当为fanout记录指定数据库链接时,使用者只需要指定这个记录名。由于不发送或获取值,字段名称是可选的。
SELM, SELN和SELL字段为转发链接指定运行顺序。选择机制字段(SELM)有三个选项:All, Specified或Mask。这些值如何影响哪些链接运行以及以什么顺序,如下:
1)All:按数值顺序运行链接--LNK1,LNK2等。
2) Specified:SELN被用作指定要运行哪个链接。例如,如果SELN=1,则将运行LNK1。
3)Mask:按如下使用在SELN中的数值:如果SELN=1,运行LNK1。如果SELN=2,运行LNK1和LNK2。如果SELN=3,则运行LNK1,LNK2和LNK3。
SELN从SELL读取它的值。SELL可以是一个常数,一个数据库链接或者一个通道访问链接。如果一个常数,用常数值初始化SELN并且可以通过dbPuts被更改。对于数据库/通道访问链接,在每次运行这个记录时从SELL获取SELN并且也可以通过dbPuts更改它。
Fanout记录也有所有记录都有的标准扫描字段。在章节2.2中这些字段扫描字段中被列出。章节1.1更详细地解释了转发链接和扫描算法如何工作。
3 操作显示参数
这些参数用于向操作者显示有意义数据。有关这些字段,见第二章所有记录类型共有地字段。
4 警报参数
fanout记录有所有记录类型共有地警报参数。章节2.3,警报字段列出了与所有记录类型共有地警报相关联地其它字段。
5 运行时参数
当没有指定字段时,VAL字段只作用使得dbNameAddr成功。否则,它没有作用。
6 记录支持程序
1) init_record 如果SELL类型时CONSTANT链接,这个程序用SELL的值初始化SELN,如果SELL类型是PV_LINK,创建一个通道访问链接。
2) process 见下一部分。
7 记录运行
程序运行实现以下算法:
1、PACT被设成TRUE
2、获取链接选择SELN
3、取决于选择机制,运行链接选择转发链接,并且UDF被设置成FALSE.
4、检测是否应该调用monitors:
a) 如果警报状态或严重性变化了,调用警报监视
b) 重置NSEV和NSTA为0
5、如果需要,扫描转发链接,设置PACT为FALSE,并且返回。