`

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标识
         -记录即可顺序读取,也可直接读取;记录可以被更新
         -记录在读取之后仍然可访问
分享到:
评论

相关推荐

    CICS联机程序开发与调试

    ### CICS联机程序开发与调试 #### 一、CICS概念与功能 **CICS**(Customer Information Control System),即客户信息控制系统,是由IBM开发的一款先进的联机事务处理(OLTP)系统,专为大型主机环境设计。它提供了...

    CICS联机程序开发与调试教程.pdf

    **CICS联机程序开发与调试教程:关键知识点解析** **一、CICS概念与功能** CICS(Customer Information Control System),即客户信息控制系统,是由IBM公司开发的一款强大的联机事务处理(Online Transaction ...

    cics常用命令 cics cics

    冷启 SFS_SERVER 一定要慎重,因为它将清空所有 SFS 服务器上的文件、临时存储队列、临时数据队列。 查看 CICS 和 SFS 服务器状态 使用以下命令查看 CICS 和 SFS 服务器状态: cicslssrc -a | grep cics 此命令...

    CICS联机程序开发与调试教程A.pdf

    CICS的应用程序可以通过CICS API来进行编程,可以使用COBOL、PL/I、C等编程语言与CICS API接口进行交互。CICS还支持基本映射支持(BMS),允许开发者定义用户界面,以及通过用户日志(Userjournals)记录事务信息。 ...

    CICS.CICS Murach - CICS For The COBOL Programmer.pdf

    - **工作与临时存储队列**:讲解了如何在程序中使用临时存储队列来存储中间结果。 - **包含临时存储队列的维护程序**:通过示例程序演示了如何将临时存储队列应用于实际的程序设计中。 - **第8章:额外的CICS命令...

    ibm cics管理指南

    该指南涵盖了 CICS 管理的各个方面,包括配置与定制、创建和配置 CICS 区域、配置 CICS 资源等。 配置与定制 在配置 CICS 系统时,需要定义 CICS 区域和资源。CICS 区域是 CICS 系统的逻辑单元,用于管理 CICS ...

    cics概念与功能

    1. **事务处理**:CICS的核心功能之一是事务处理。它能够处理大量的在线交易请求,确保每一笔交易的完整性和一致性。在银行、零售和电信等行业中,CICS被广泛用于处理高并发的交易请求。 2. **数据库集成**:CICS与...

    CICS 课件 大型主机

    课程内容涵盖了CICS的基础知识介绍、CICS提供的交易和系统资源、CICS编程入门、CICS杂项功能、更深入的BMS讨论、程序测试、DASD访问、LINK与XCTL使用、队列管理、错误处理、术语回顾以及最终考试。 #### 五、CICS...

    CICS Debug

    3. **CEBR// TSQ Brower**:临时存储队列浏览器,TSQ是CICS用来临时存储数据的结构,CEBR允许用户查看和管理TSQ的内容,这对于追踪数据流和调试很有帮助。 4. **CEDF// Execution Diagnostic Facility**:执行诊断...

    cics概念与功能.pdf

    根据提供的文件信息,我们可以深入探讨CICS的概念与功能,以便为初学者提供全面的理解和掌握。CICS(Customer Information Control System)是IBM开发的一种在线事务处理(OLTP)软件,主要用于支持大型企业级应用...

    cics联机程序开发与调试教程

    ### CICS联机程序开发与调试教程知识点概览 #### CICS相关的重要概念与功能 **CICS**(Customer Information Control System),即客户信息控制系统,是由IBM开发的一款强大的联机事务处理(Online Transaction ...

    CICS中间件简明操作手册

    4. **资源定义**:CICS中的资源包括文件、队列、程序等,通过CICS Definition Language(CSDL)或图形化工具进行定义和管理。 ### CICS编程与开发 1. **编程语言**:CICS支持多种编程语言,如COBOL、PL/I、Java,...

    CICS _AIX快速入门

    5. 开发CICS应用程序:开发者需要掌握CICS的编程模型,包括事务处理、屏幕处理、数据映射、队列管理等。CICS提供了自己的一套编程语言和API,例如C、COBOL和Java。开发者需要使用这些工具来创建适合CICS环境的应用...

    CICS软件开发资料

    5. **资源定义**:在CICS中,需要定义各种资源,如文件、数据库、队列等,以便程序能够访问。CICS提供了一种名为Control Region的环境,用于配置和管理这些资源。 6. **集成与互操作性**:CICS可以与其他IBM产品...

    cics IBM EXEC CICS

    EXEC CICS 文档

Global site tag (gtag.js) - Google Analytics