队列(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数 |
相关推荐
### CICS联机程序开发与调试 #### 一、CICS概念与功能 **CICS**(Customer Information Control System),即客户信息控制系统,是由IBM开发的一款先进的联机事务处理(OLTP)系统,专为大型主机环境设计。它提供了...
**CICS联机程序开发与调试教程:关键知识点解析** **一、CICS概念与功能** CICS(Customer Information Control System),即客户信息控制系统,是由IBM公司开发的一款强大的联机事务处理(Online Transaction ...
冷启 SFS_SERVER 一定要慎重,因为它将清空所有 SFS 服务器上的文件、临时存储队列、临时数据队列。 查看 CICS 和 SFS 服务器状态 使用以下命令查看 CICS 和 SFS 服务器状态: cicslssrc -a | grep cics 此命令...
CICS的应用程序可以通过CICS API来进行编程,可以使用COBOL、PL/I、C等编程语言与CICS API接口进行交互。CICS还支持基本映射支持(BMS),允许开发者定义用户界面,以及通过用户日志(Userjournals)记录事务信息。 ...
- **工作与临时存储队列**:讲解了如何在程序中使用临时存储队列来存储中间结果。 - **包含临时存储队列的维护程序**:通过示例程序演示了如何将临时存储队列应用于实际的程序设计中。 - **第8章:额外的CICS命令...
该指南涵盖了 CICS 管理的各个方面,包括配置与定制、创建和配置 CICS 区域、配置 CICS 资源等。 配置与定制 在配置 CICS 系统时,需要定义 CICS 区域和资源。CICS 区域是 CICS 系统的逻辑单元,用于管理 CICS ...
1. **事务处理**:CICS的核心功能之一是事务处理。它能够处理大量的在线交易请求,确保每一笔交易的完整性和一致性。在银行、零售和电信等行业中,CICS被广泛用于处理高并发的交易请求。 2. **数据库集成**:CICS与...
课程内容涵盖了CICS的基础知识介绍、CICS提供的交易和系统资源、CICS编程入门、CICS杂项功能、更深入的BMS讨论、程序测试、DASD访问、LINK与XCTL使用、队列管理、错误处理、术语回顾以及最终考试。 #### 五、CICS...
3. **CEBR// TSQ Brower**:临时存储队列浏览器,TSQ是CICS用来临时存储数据的结构,CEBR允许用户查看和管理TSQ的内容,这对于追踪数据流和调试很有帮助。 4. **CEDF// Execution Diagnostic Facility**:执行诊断...
根据提供的文件信息,我们可以深入探讨CICS的概念与功能,以便为初学者提供全面的理解和掌握。CICS(Customer Information Control System)是IBM开发的一种在线事务处理(OLTP)软件,主要用于支持大型企业级应用...
### CICS联机程序开发与调试教程知识点概览 #### CICS相关的重要概念与功能 **CICS**(Customer Information Control System),即客户信息控制系统,是由IBM开发的一款强大的联机事务处理(Online Transaction ...
4. **资源定义**:CICS中的资源包括文件、队列、程序等,通过CICS Definition Language(CSDL)或图形化工具进行定义和管理。 ### CICS编程与开发 1. **编程语言**:CICS支持多种编程语言,如COBOL、PL/I、Java,...
5. 开发CICS应用程序:开发者需要掌握CICS的编程模型,包括事务处理、屏幕处理、数据映射、队列管理等。CICS提供了自己的一套编程语言和API,例如C、COBOL和Java。开发者需要使用这些工具来创建适合CICS环境的应用...
5. **资源定义**:在CICS中,需要定义各种资源,如文件、数据库、队列等,以便程序能够访问。CICS提供了一种名为Control Region的环境,用于配置和管理这些资源。 6. **集成与互操作性**:CICS可以与其他IBM产品...
EXEC CICS 文档