大型机 - 更改的文件名的扩展后缀名称是什么?

mainframe - what is the name of extension suffix on filenames that change?

我记得在执行 ftp 将文件从大型机复制到 windows 时,文件名上总会有一些数字后缀每天都会更改。即 abc.4328 然后它将变成 abc.23595..etc 大型机世界中不断变化的后缀的 concept/terminology 是什么?

撇开驻留在 Unix 文件系统中的大型机文件(z/OS 是 Unix 的一种风格并且已经存在多年),大型机文件没有扩展名或后缀。

大型机文件名(称为数据集名称或 DSN)采用 HLQ[.Q1[.Q2[.Qn]]] 的形式,其中 HLQ 是高级限定符,Q1...Qn 是与HLQ 和彼此的句号。整个 DSN 不得超过 44 个字符。每个限定符必须由字母、数字和 IBM 所说的 "national" 字符组成,这些字符(无论如何在美国)是 @、# 和 $。此外,限定符不能以数字字符开头。在我看来,最好避免这种情况的例外情况。

正如 Bruce Martin 在他的评论中指出的那样,大型机具有生成数据组 (GDG) 的概念,它具有最低级别的限定符,采用操作系统生成的 GnnnnVnn 形式,其中 G 和 V 之间的四位数字是"generation number" 和 V 后面的两位数字是 "version number." 每次创建文件的新实例时,操作系统都会递增世代号。

所以您可能正在考虑 GDG。请注意,GDG 最低级别限定符不依赖于日期或时间,它仅指示创建数据集实例的顺序。

GDG 通常不是通过绝对世代号访问,而是通过相对世代号访问。如果 ABC.DEF 是一个 GDG 并且有四个现存的世代 ABC.DEF.G0008V00, ABC.DEF.G0009V00, ABC.DEF.G0010V00, ABC.DEF.G0011V00 那么参考对于 ABC.DEF.G0011V00,ABC.DEF(0) 将是 shorthand。对于 ABC.DEF.G0010V00,对 ABC.DEF(-1) 的引用将是 shorthand。引用相对生成 (0) 始终是对最近创建的 GDG 实例的引用。

大型机数据集也可能是PDS(分区数据集)。分区数据集具有 "members" 并且在概念上与 PC 或 Unix 文件系统上的目录略有相似(尽管实现 非常 不同)。一个PDS可能包含许多相关的成员,例如实用程序控制语句,希望将它们作为一个组来管理。

PDS 名称遵循与普通 DSN 相同的规则,成员名称遵循与普通 DSN 限定符相同的规则,但引用成员需要在括号中指定。如果 MY.DATA 是 PDS 并且我希望访问名称为 XYZ 的成员,我将指定 MY.DATA(XYZ).

请注意,数据集的格式不一定在其名称中指明。一个数据集是,例如包含固定 100 字节记录的 PDS 作为元数据记录在文件系统中。

上面@cschneid 的反应很好。添加到它:

  1. z/OS 基本技能页面上有来自 IBM 的 GDG 文档 - https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconcepts_175.htm
  2. 有几种数据集类型 - GDG 并不是真正不同的数据集组织,它只是一种特殊的命名约定,表示相对 "age"。有顺序数据集("flat files")、分区数据集(有点像被目录包围的平面文件的集合)、VSAM 数据集(一个很长的主题)和其他一些不常用的深奥类型这些日子。
  3. GDG 是一种非常灵活的命名(非 VSAM)数据集的方式,其版本号可以在 JCL 或使用这些相对版本号的行命令中引用。但这只是命名

琐事:在我工作过的地方,系统程序员和操作人员经常将这些 GnnnnVnn 称为 "goovoo" 数字,b/c 它们通常编号为 G00nnV00.. :-)