CICS队列之TDQ与TSQ

队列(Queue)是一种以先进先出方式存取的数据集,是CICS可以管理的数据集之一。

队列是连续的存储设施,由于事务处理的动态特性,所以通常它们本质上是静态的。它们通常用于处理请求或者将数据从一个事务传递到另一个事务,如图2.11所示。例如,作为事务的一部分所生成的数据通常在任务完成后才打印;数据在队列中等待打印程序在没有更紧急任务的情况下再来处理它。

队列分为瞬时数据队列(TDQ)和临时存储队列(TSQ)。瞬时数据队列提供常规的队列功能;临时存储队列通常用于在多个事务之间共享读写和更新,如作为共享数据的暂存区。

一:瞬时数据队列(Transient Data Queue,TDQ)具有以下特点:

(1)数据在瞬时数据队列中以先进先出(FIFO)的模式进行管理;

(2)数据从TDQ读出后,将自动被删除;

(3)数据指针始终指向TDQ的第一条数据;

(4)瞬时数据队列必须预先在CICS中定义,其名字为4个字节以内的字母和数字组合。

根据瞬时数据队列数据存在的位置不同,瞬时数据队列可以分为三种类型的瞬时数据队列:Intrapartition TDQ、Extrapartition TDQ、Indirect TDQ。

二: 临时存储队列

临时存储队列(Temporary Storage Queue,TSQ)是CICS中另外一个重要的临时数据存储的队列

根据临时存储队列数据存在的位置不同,可以分为如下两种类型。

 

(1)Main TSQ:又称主存临时存储队列,所有数据将临时存储在CICS的内存中,由WRITEQ TS的参数MAIN决定,默认为Auxiliary,如果为Main,则写入CICS内存中。该类TSQ通常用于存储只需短时间保存的少量数据。

(2)Auxiliary TSQ:又称辅助临时存储队列,所有数据将存储在CICS定义的一个VSAM文件中,该文件在CICS的启动作业流中由DD DFHTEMP指定,由WriteQ TS的参数Auxiliary决定,默认为Auxiliary。该类TSQ通常用于存储需长时间保存的数据。

临时存储队列具有以下的特点:

(1)数据按先后顺序写入临时存储队列,并分配到一个Item数。

(2)可以通过指定Item数直接读取对应的数据,默认为读取下一条数据记录。

(3)数据从TSQ读出后,数据不会被删除,数据指针始终指向TSQ的下一条数据。

(4)队列中的数据可以被更新。

(5)直到队列被删除,TSQ 中的数据都不变,可以被读取任意次,即使写入TSQ的TASK结束了,其他TASK的程序仍然能够读取它写入的数据。

(6)TSQ中的记录是变长的。

(7)TSQ的数据是不可恢复的数据,当CICS 再次启动时,原来在TSQ里面的数据将全部丢失。

(8)TSQ 数据可以存储在内存或辅存中,这依赖于系统初始化时的定义和WRITEQ TS时的指定。

(9)TSQ不需要预先在CICS中定义,在应用程序对其写操作时自动创建,其名字为4个字节以内的字母和数字等字符组合。

 

三:TSQ与TDQ相比,有如表2.4所示区别。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sjmz30071360

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值