`

CICS队列之TDQ与TSQ

    博客分类:
  • CICS
阅读更多

队列(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所示区别。

TDQ TSQ
需要预先定义 无须预先定义,需要使用时自动创建,直至被删除
数据存储在物理文件中 数据存储在CICS内存或辅存中
先进先出 顺序写入(每个数据分配到一个ITEM数)
数据读出后自动删除 数据读出后不删除
指针始终指向TDQ的第一条数据 指针可以调整为任意ITEM数
 

#############################################################

#############################################################

 刚刚看到IBM官网上面比较详细的的,mark :

CICS提供了两种队列:TDQ(transient data queues)和TSQ(temporary storage queues),在本章中将对这两种队列进行详细介绍,并说明在编写应用程序时该选取哪种队列,最后介绍CICS提供的用来浏览队列内容的交易CEBR。
1.  TDQ(transient data queues)
      瞬时数据队列TDQ由一个四个字节的ID标识,在使用前必须定义和安装。TDQ分两类: Intrapartition TDQ和Extrapatition TDQ,两者的区别可以简单的理解为:
      Intrapartition TDQ: 与CICS region相关。(关联到CICS startup job中指定的数据集)
      Extrapartition TDQ:与CICS region无关。 (关联到一个与CICS region不相关的数据集) 
图像 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      可使用的API如下:
              - WRITEQ TD (往TDQ中写数据)
              - READQ TD   (从TDQ中读取数据)
              - DELETEQ TD(删除一个Intrapartition TDQ)
      下面依次介绍Intrapartition TDQ和Extrapartition TDQ:
       (1) Intrapartition TDQ
图像
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
      Intrapartition TDQ具有以下特点:
          - 所有的Intrapartition TDQ都共用同一个VSAM文件
          - 记录是变长的   
          - 记录顺序写入,顺序读出。记录一旦被读取便不再可用
       (2) Extrapartition TDQ
图像
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       Extrapartition TDQ具有以下特点:
          - Extrapartition TDQ支持与CICS外部的批处理程序或批处理系统共享数据。
          - 每一个Extrapartition TDQ对应一个顺序数据集,记录可为定长或变长,blocked或unblocked。
      
2.  TSQ(temporary storage queues)
图像
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    TSQ具有以下特点:
         - TSQ的记录是变长的
         - TSQ在使用之前不需要在CICS系统中定义,由1-16个字符的ID标识
         -记录即可顺序读取,也可直接读取;记录可以被更新
         -记录在读取之后仍然可访问
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics