在面向批处理的环境中动态登记文件的机制的制作方法

文档序号:6567716阅读:170来源:国知局
专利名称:在面向批处理的环境中动态登记文件的机制的制作方法
技术领域
本发明涉及批处理领域。更具体地说,本发明涉及批处理运行时所 需文件的登记。
背景技术
批处理是一种对电子计算机进行操作的方式,并且可以追溯到穿孔 卡片的时代。批处理通常被理解为对一系列成批作业的处理。通常为每 个单独的批处理作业提供了全部所需的程序、数据和指令,从而可以在 完全没有用户干预的情况下执行。
批处理作业定义在控制语言中,该控制语言通常被称为JCL (作业 控制语言)。利用这种控制语言, 一方面可以预先充分地规划批处理作业 的执行,从而可以在没有任何干预的情况下在后台运行这些批处理作业。 另一方面,可以使准系统(near-system)或物理数据(文件名、输出设备 的地址等)与运行程序相隔离并转移到JCL控制指令中。这样,就可以 灵活地规划需要数小时或数天的计算时间的所有处理。这种计算敏感处 理通常被用于银行或其他大公司中例如在一天末或年底运行的周期性出 现的批处理。
基于批处理的操作系统通常具有用于控制和监控批处理操作运行的 特殊系统组件。这些系统组件读取JCL控制指令并对其进行解释。例如, MVS (多虚拟存储器)操作系统使用JES (作业入口子系统)来读取和 解释JCL控制指令。
现今,许多操作系统(在某些情况下通过附加组件)提供批处理以 及诸如交互式处理或实时(在线)处理的其他操作模式。例如,基于批 处理的MVS操作系统通过附加CICS (用户信息控制系统)而变得能够 进行实时处理。附加TSO (时间共享选项)使MVS扩展为可以进行交互
式处理。在以下文献中概述了 TSO、JCL和JES:Teuffel,Michael,TSO: Time Sharing Option im Betriebssystem MVS—das Lehr — und Handbuch fUr den erfolgreichen TSO-Benutzer (TSO: Time Sharing Option in the MVS operation system - the textbook and manual for the successful TSO user), 3rd edition, Munich, Oldenbourg, 1989。
如上所述,JCL控制指令通常包括准系统或物理信息,并将其链接 到程序专用(program-specific)数据。例如,如果程序包含了程序员针对 文件类型而选择的一般名称(designation),则JCL控制指令中存在指向 存储在系统中的文件(数据集)的引用,并且当程序运行时该引用应该 与该一般文件名称相关联。在MVS/TSO中,通过以下JCL控制指令来 进行该引用
〃my—inputdata DD DSN=edl .i叩ut.data 此处myjnputdata表示程序员针对程序所使用的文件类型而选择的一般 名称,在该例中,edl.input.data表示程序要处理的存储文件的物理名称。 基于将物理文件名与其物理存储位置(盘名、道址等)关联起来的数据 库目录,在JCL控制指令的处理过程中,可以识别必要的物理文件、可 以预留所需的临时存储区域并且可以读取想要的文件。这同样适用于写 入文件的情况。
尽管批处理有上述优点,特别是在计算昂贵并且计算处理周期性出 现的情况下,但直到目前为止可用的功能的范围仍不足够。在许多基于 批处理的操作系统中,都需要在程序开始之前生成程序所需的所有文件。 实际上,已经证明通常要预先生成过多的空文件。然而,不必要的空文 件很难识别,并且在批处理操作结束时通常不删除这些不必要的空文件。 因此,在常规的批处理系统中,过多的存储空间被实际上可以删除的空 文件不必要地占据着。对于过去访问过但在今后运行的程序中不再需要 的文件也存在同样的问题。
常规批处理机制的另一个缺点是在JCL控制指令中必须固定地分配 物理文件名(例如,要写入的文件的文件名)。相应地,固定的物理存储 空间必须与数据库目录中的每个文件名相关联。在重复运行批处理操作
的情况下,这种刚性结构的影响是由于固定分配的物理文件名而使要由 程序寻址的文件被不断地改写。因此,可能在很长时间内不会有令人满 意的文件版本,即,不能创建特定文件类型的不同版本。(至少是以不可 接受的成本。例如,在许多情况下,在JCL控制指令中对新物理文件名 的不断分配被排除,这是因为随后将不得不在每个批处理运行前手动地 改变这些控制指令)。
为了可以更简单地控制文件版本,已经提出了应该通过生成数据组
(GDG)在操作系统级下动态地分配文件名。根据该方法,JCL控制数 据中仅有一个组名。操作系统仅在批处理运行时生成指定组的新文件(新 数据集)。
然而,使用GDG对于许多应用而言并不适用,这是因为只能通过参 照GDG的各个文件在文件栈中的位置(例如栈中的"倒数第二个文件"或 "第七个文件")来对GDG的各个文件进行相对寻址。可以理解,这使得 编程变得困难,并且尤其使人类用户难以阅读指令。此外,在程序崩溃 的情况下,重启很关键,这是因为与此同时新文件可能已经添加到桟中 或者旧文件已经被删除。在这些情况下,个别文件的相对栈位置也已经 发生改变,从而在后续处理中错误的文件被读取、删除、改写等。
本发明基于以下目的提供改进的用于在面向批处理的环境中动态 管理文件的机制。该机制应适于简化文件的内部管理(例如,识别和处 理不再需要的文件)。此外,该机制应允许可靠的文件版本控制。

发明内容
根据本发明的第一方面,通过一种批处理方法来实现该目的,所述
批处理方法包括以下步骤提供包括对至少一个程序进行调用的批处理 控制指令;提供各自具有物理文件名的多个文件,所述多个文件在批处 理运行过程中被访问;提供与程序相关的文件定义信息,该文件定义信 息通过抽象选择准则定义了在程序运行过程中被访问(或至少期望被访 问)的文件;提供文件寄存器,该文件寄存器用于将为程序运行而创建 的文件的物理文件名寄存在寄存器条目中,所述寄存器条目向每个物理
文件名分配了至少一个选择属性;以及基于与待调用的程序相关联的所 述文件定义信息来选择和/或创建寄存器条目。
在选择了寄存器条目后,可以将包含在所选寄存器条目中的物理文 件名(如果需要的话,连同其他寄存器信息)从文件寄存器传递到对该 信息进行分析并开始其他步骤的组件。该组件可以是服务组件(例如, 驻留在批处理环境中)。根据该方法的可能版本,将包含在所选寄存器条 目中的信息(例如,物理文件名)从文件寄存器传递到服务组件,该服 务组件基于该信息为待调用程序准备运行时环境。所述运行时环境的准 备可以包括预留出存储空间或准备出(例如开通)程序所需的路径。这 里的程序通常理解为系统程序或应用程序,但是例如也可以是批处理控 制指令的程序(例如,诸如排序算法或编译器调用的系统定义的JCL例 程)。
在选择和/或创建寄存器条目之前可以对包含在文件定义信息中的 抽象选择准则进行具体化。可以基于至少一个参数来对抽象选择准则进 行具体化,所述参数是在批处理运行开始时传递的(例如,传递到诸如 JES的批处理控制组件)。可以通过运行控制组件(调度器)来开始批处 理运行,并且传递所述至少一个具体化参数。所述运行控制组件优选地 与所述服务组件进行通信。所述服务组件或所述文件寄存器的(或批处 理控制组件的)组件随后可以基于所传递的至少一个参数对至少一个抽 象选择准则进行具体化。基于所述至少一个经具体化的选择准则,来选 择和/或创建文件寄存器中的寄存器条目。可以与所述选择处理独立地进 行所述寄存器条目的创建。因此可以想到仅在程序运行后才创建新的寄 存器条目(而相应的文件以及这些文件的路径是在程序运行前创建的)。 此外,可以在程序运行后对所选寄存器条目进行更新。
根据第一变型例,在批处理控制指令中直接给出所述文件定义信息。 根据第二变型例,与控制指令独立地保存所述文件定义信息。在第二变 型例的情况下,例如,所述文件定义信息可以包含在独立文件中(可以 为待调用的每个程序创建包含所述文件定义信息的独立文件)。可以在批 处理控制指令中定义包含所述文件定义信息并与特定程序相关联的文
件。这种定义可以包括给出该文件的物理文件名。
包含在所述文件定义信息中的抽象选择准则可以指代非物理参数。 这种非物理参数例如包括非物理文件名(例如由程序员分配并在程序中 寻址的文件类型)。另外地或另选地,抽象选择准则可以按照其他方式(例 如非直接地)抽象地定义文件寄存器中待选择的文件和/或待新创建的文 件。例如,通常保存的文件版本和/或文件状态准则可以作为抽象选择准 则包含在所述文件定义信息中。例如,通常保存的文件版本准则表示生 成或更新待选择的文件的不确定时段或瞬间(例如"本周"或"今天")。
有利的是,控制指令不但与文件定义信息无关,而且在待调用应用 程序的情况下,也与对于应用程序运行时所需文件分配物理文件名无关。 这些事实以及文件寄存器的提供有助于实现文件版本控制机制。
在文件寄存器的寄存器条目中,每个物理文件名都与至少一个选择 属性相关联。基于寄存器条目中的选择属性和确定的选择准则,来确定 待选择和/或创建的寄存器条目。根据第一变型例,所述至少一个选择属 性包括文件版本属性。所述文件版本属性可以被选择为,使其可以区分 程序代码中定义的文件类型的不同版本。例如,文件版本属性是时间戳 或连续计数。
根据另一变型例,所述至少一个选择属性表示程序专用文件类型名 称。这种选择属性使得可以进行寄存器条目(其中包含物理文件名)的 与程序有关的选择和/或与程序有关的创建。
根据第三变型例,所述至少一个选择属性包括文件状态属性。可以 通过文件状态属性来识别文件的活动状态。文件状态属性可以是二元参 数(活动/非活动)或者是有两个以上状态的参数。利用文件状态属性, 可以在批处理运行的环境中实现诸如找到不再需要的空文件或选择与状 态有关的文件的有利功能。
可以在程序结束后,针对下一批处理事件对在程序运行期间被访问 的文件的选择属性,特别是文件状态属性进行分配或更新。因此新创建 和写入的文件可以接收第一活动状态。另一方面,在程序运行期间读取 的先前创建的文件可以接收与第一活动状态不同的第二活动状态。这样
就可以基于文件状态属性(例如在第二活动状态的情况下)来进行包括 文件删除和/或文件存档的文件内部管理。此外,作为文件内部管理的一 部分,可以定义和监控保留期。
有用的是,对于在程序运行之前新创建但在程序运行期间未使用的 文件(空文件),根本不创建寄存器条目。在这种情况下,可以例如通过 周期性地将寄存在文件寄存器中的文件与实际存在的文件进行比较而可 靠地检测到不必要地生成的文件,并在需要时将其删除。
在删除不再需要(例如己读取或非活动)的文件时,也可以删除文 件寄存器中的相应寄存器条目(反之亦然)。同样,在写入新文件时,可 以在文件寄存器中生成相应的寄存器条目。有用的是,在创建新寄存器 条目时,可以直接输入相关联的选择属性,并以此方式与寄存器条目中 的物理文件名产生联系。
本发明可以实现为软件、硬件或硬件和软件的组合。因此本发明的 另一方面涉及具有程序代码单元的计算机程序产品,其中当所述计算机 程序产品在一 台或更多台计算机上运行时,所述程序代码单元执行根据
本发明的步骤。所述计算机程序产品可以存储在诸如DVD-ROM或 CD-ROM的计算机可读数据介质上。
根据硬件方面,本发明提供了一种批处理系统。根据本发明的批处 理系统包括批处理控制组件,用于对批处理控制指令进行处理,所述 批处理控制指令包括调用至少一个程序;用于存储多个文件的存储组件 (例如数据库),每个文件都具有物理文件名并在批处理程序运行时被访 问;文件定义组件,用于提供与程序有关的文件定义信息,所述文件定 义信息通过抽象选择准则定义了程序运行所需的文件;文件寄存器,用 于寄存为程序运行而创建的文件的物理文件名,该文件寄存器的寄存器 条目中的每个物理文件名都与至少一个选择属性相关联;以及运行时组
件,其与所述批处理控制组件进行通信,并且访问所述文件寄存器和所 述文件定义组件,所述服务组件基于与待调用的程序相关联的所述文件 定义信息来开始选择和/或创建寄存器条目。
所述服务组件可以访问包含在所选和/或新创建的寄存器条目中的物理文件名。基于所选和/或新创建的寄存器条目,所述服务组件因此可 以为待调用程序准备运行时环境。
所述批处理系统还可以包括用于启动所述批处理运行并传递至少一 个参数的运行控制组件,所述至少一个参数对包含在所述文件定义信息 中的抽象选择准则进行具体化。所述服务组件可以是基于经具体化的选 择准则来开始选择和/或创建寄存器条目的形式。
所述批处理系统还可以包括数据库目录,其中每个物理文件名都与 物理存储位置相关联。所述数据库目录可以在所述文件寄存器以外额外 设置。
还可以想到将一管理组件与所述批处理系统相关联。所述管理组件 可以执行诸如创建空文件并向所选或新创建的文件开通路径的任务。


在以下对优选实施方式的说明和附图中给出了本发明的其他优点和 演进。
图1示出了根据本发明的批处理系统的示意图; 图2示出了根据本发明的批处理方法的实施方式的流程图; 图3示出了为根据图1的批处理系统准备运行时环境的示意图; 图4示出了与准备运行时环境相关联地在文件寄存器中选择寄存器 条目的示意图-,
图5示出了将新创建和写入的文件寄存在文件寄存器中的示意图; 图6示出了文件定义组件及其包含的抽象文件定义信息的示意图; 图7示出了经具体化的文件定义信息的示意图;而 图8和图9示出了文件寄存器的寄存器条目的示意图。
具体实施例方式
下面以批处理环境为例对本发明的各种实施方式进行说明,该批处 理环境基于为其提供的MVS操作系统和交互式组件TSO。不言而喻,本 发明还可以实现在诸如VMS或UNIX的其他面向批处理的操作系统中。图1示出了示例性批处理系统100的必要组件的示意图。作为核心 元件,系统100包括由MVS操作系统提供的批处理环境10。批处理控 制组件12 (JES)形成了批处理环境10的必要部分。控制组件12为处理 批处理控制指令14 (JCL)的形式,在该实施方式中批处理控制指令14 是在批处理环境10的外部准备好的。
通常,控制指令14是以多记录(JCL记录)形式被创建的,并作为 文件(数据集)被存储在系统数据库(例如图1中所示的数据库16)中。 包含在控制指令14中的JCL记录中的至少一个(EXEC记录)定义了要 在批处理运行中调用和执行的程序(例如,应用程序)。包含在控制指令 14中的JCL记录中的至少另一个(DD记录)定义了下面将要详细描述 并在批处理环境10中需要的文件的物理文件名。然而,在EXEC记录中 表示的程序所需文件的物理文件名没有包含在控制指令中。
在运行时环境10的外部设置有与控制组件12进行通信的运行控制 组件18 (调度器)。运行控制组件18定义了批处理运行的时间和逻辑顺 序,还负责启动各个批处理运行。批处理运行还可以例如通过输入TSO 命令SUBMIT而手动启动。
批处理环境10中设置有被称为服务组件20 (公共服务框架,CSF) 的组件。其目的是动态地为批处理运行提供资源(临时存储空间、与路 径相关联的文件等)。服务组件20的必要功能是为控制指令14中表示的 并且要在批处理运行中调用的程序准备运行时环境。在图1所示实施方 式中,服务组件20被表示为控制组件12的一部分。然而,服务组件20 还可以具有控制组件12以外,特别是批处理环境10以外的功能。
服务组件20和控制组件12可以访问文件寄存器22 (FR)、文件定 义组件24 (文件定义文件,FDF)和数据库16 (DB)。数据库16中存储 有批处理运行期间(特别是程序运行期间)要被访问的文件。数据库16 中的每个文件都与一物理文件名相关联。在数据库目录26 (CAT)中, 数据库16中的物理存储位置相应地与每个物理文件名相关联。通过此处 无需进一步考虑的系统功能来管理数据库目录26。
文件寄存器22与服务组件20进行通信,并访问数据库16 (如果需 要的话也访问数据库目录26)。文件寄存器22包含单独的寄存器条目, 在寄存器条目中每个物理文件名都与至少一个选择属性相关联。
与程序有关的抽象选择准则与文件寄存器22中的寄存器条目的单 独的选择属性相关联。抽象选择属性指定了在特定程序运行时所需(例 如要读取和/或写入)的文件(数据集),并由文件定义组件24作为文件 定义信息而提供。此处文件定义组件24是(例如存储在数据库16中的) 文件定义文件。
控制指令14的DD记录中的文件定义文件可以与物理文件名相关 联。这样就在控制指令14中产生了 (通过其物理文件名而)指定的文件 定义文件与在控制指令14的EXEC记录中表示的指定程序之间的联系 (还可以想到其他关联机制)。基于这种联系,服务组件10可以确定与 待调用程序相关联的文件定义信息,并基于该文件定义信息开始在文件 寄存器22中选择和/或创建寄存器条目。
在文件寄存器22中选择和/或创建寄存器条目是与访问和/或创建相 应物理文件相独立地进行的。为了在程序运行前开始创建空文件,设置 了文件管理组件21。利用文件管理组件21,还可以在程序运行前开通所 选和/或所创建的文件的路径。根据图1,文件管理组件21与服务组件21 和数据库16进行通信。
下面,将参照图2所示的流程图200来说明批处理方法的实施方式。 可以利用图1所示的批处理系统100或利用构成不同的系统在计算机产 品的控制下实现该方法。
该方法开始于步骤202,在步骤202中准备包含对至少一个程序进 行调用的批处理控制指令。随后,在步骤204中,准备具有物理文件名 并在批处理运行期间被访问的文件。在下一步骤206中,准备与程序相 关的文件定义信息。所述文件定义信息定义了在程序运行期间被访问(或 至少期望被访问)的文件。程序运行期间的文件访问包括至少一次写入 访问或至少一次读取访问。文件定义信息优选地以抽象选择准则的形式 来定义程序运行期间所需的文件。
在步骤208中,准备文件寄存器,在所述寄存器中可以以寄存器条
目的形式寄存为程序运行而创建的文件的物理文件名。有用的是,专门 为那些在前一程序运行过程中实际被访问的文件创建寄存器条目。在文 件寄存器中,每个寄存器条目都与至少一个选择属性相关联。
在下一步骤210中,基于与待调用的程序相关联的文件定义信息来
选择和/或创建寄存器条目。每个选择处理都基于此处包含的选择准则。
可以按照如下方式来创建新寄存器条目在文件寄存器中,至少一个选 择属性与物理文件名相关联(取决于包含在相应文件定义信息中的选择 准则)。选择和创建的子步骤可以立即逐一执行或者相对于程序运行在时 间上独立地执行。因此可以在程序运行前进行寄存器条目的选择,而在 程序运行后对所选寄存器条目进行更新并创建新的寄存器条目。
在随后的步骤(图2中未示出)中,特别是在基于包含在所选寄存 器条目中的信息(例如基于所选物理文件名)选择了寄存器条目后,可
以准备待调用的程序的运行时环境。另外,在步骤210之前,可以对包
含在文件定义信息中的抽象选择准则中的至少一个进行具体化。随后可
以基于至少一个经具体化的选择准则来执行步骤210。
下面将参照图3至图9来说明批处理方法的详细实施方式。所述方 法可以利用图1中所示的批处理系统IOO来实现。因此,为相同类型的 元件使用了相同的标号。
在采用服务组件20的功能之前,在批处理环境10中创建服务组件 20的运行时环境。在图3中示意性示出了服务组件20的运行时环境的创 建,下面对其进行简要描述。
如果批处理控制组件12受图1中所示的运行控制组件18 (或手动 地)指示对控制指令14进行处理,则控制组件12首先在图3中所示的 第一步骤中准备服务组件20的运行时环境。为此,在批处理环境中预留 出服务组件20可载入其中的存储空间(未示出)。此外,为服务元件20 要读取的文件定义组件24以及为文件寄存器条目预留出存储空间30。文 件定义组件24的存储空间30是基于控制指令14而预留的,控制指令14 为要载入的文件定义组件24分配了物理文件名(DD记录)。
在控制组件12已经为文件定义组件24、寄存器条目和服务组件20
预留了存储空间后,在控制指令14的控制下,服务组件20被载入并调 用。随后服务组件20在图3中所示的第二步骤中将控制指令14中给出 了其物理文件名的文件定义组件(数据集)载入所预留的存储空间30中。
随后,基于所载入的文件定义组件24的内容和部分地从运行时环境 10的外部(例如从运行控制组件)获得的其他信息,在第三步骤中为控 制指令14中指示且要被载入的(应用)程序准备运行时环境32。图4示 意性示出了该运行时环境的准备。
从图4中可以看出,服务组件20具有控制逻辑40。控制逻辑40开 始对于待调用的程序的运行时环境的准备,下面将更详细地对此进行描 述。
首先,运行控制组件18将控制指令14和指定的参数集传递到控制 组件12。控制组件12将与控制指令14中待调用的程序相关联的文件定 义组件24载入所预留的存储空间(图3中的标号30)中。随后基于所传 递的参数对载入的文件定义组件24的内容进行具体化,最后进行分析。 这种分析的目的是识别待调用的程序所需的文件。
例如,图6示出了由控制组件12载入的文件定义组件24。文件定 义组件24包含了在控制指令14的EXEC记录中指定的程序的文件定义 信息,在本例中被称为"PRG-PROC70982"。该文件定义信息通过抽象(非 物理)选择准则以及(如果需要的话)其他选择准则定义了该程序运行 期间所需的文件。在该实施方式中,抽象选择准则是准则"版本"和"处理 单元"。在图6中所示的情况下,假设程序访问了两种不同的文件类型。 被称为myjnputdata的第一种文件类型由程序来读取,而被称为 my—ouputdata的第二种文件类型由程序来写入。对于被称为myjnputdata 的文件类型,抽象选择准则"版本"声明了本周内创建的该文件类型的所 有版本都是由程序读取的。另外,在相关的批处理运行中,应该仅读取 那些与特定的抽象表示(即,在文件定义信息中没有明确地指定)的处 理单元相关联的文件类型。对于待调用的程序所需的第二种文件类型 my一ouputdata,文件定义信息抽象地指定对于相关的处理单元,应该创 建带有今天的日期的当前文件版本(新文件)。在读取了已经参照图6说明过的文件定义信息后,在下一步骤中对 包含在其中的抽象选择准则(版本、处理单元)进行具体化。利用运行 控制组件18 (或手动地)传递到控制组件的参数集来对这些选择准则进
行具体化。在该例中,具体化参数可以是当前日期(例如,13.12,2004) 和指定的处理单元的编号(例如03)。假设在本周中,对于被称为 my—inputdata的文件类型,存在11.12.2004和12.12.2004的文件版本,并 假设要针对13.12.2004创建被称为my一ouputdata的文件类型的新文件, 则图5中所示的文件定义组件24的经具体化的选择参数如图7所示。
应指出的是,根据图6的文件类型名称还表示袖象(非物理)选择 准则,因为(尚)未将物理文件名分配给该文件类型名称。而是利用文 件寄存器22来分配物理文件名,下面将更详细地对此进行说明。还应指 出的是,在文件定义信息中,对于每种文件类型,都存在以下指示数 据库16中已经存在程序所需的相应文件,还是必须在程序被调用之前通 过文件管理组件21新创建程序所需的相应文件。
图7中所示的部分具体化的选择准则以单个列表34 (见图4)的形 式或顺序地被传递到文件寄存器22。文件寄存器22的接口组件42接收 选择准则34并借助于文件寄存器数据库44对其进行分析。该数据库44 中寄存有在以前的批处理运行(即以前的程序运行)的环境中被访问的 那些文件的物理文件名。如图8所示,这些物理文件名是以单独的寄存 器条目的形式寄存的。
例如,图8中示出了四个寄存器条目,每个寄存器条目都对应于具 有物理文件名的单个物理文件。每个寄存器条目都与多个选择属性相关 联。第一选择属性表示特定文件类型名称。第二选择属性是时间戳形式 的文件版本属性。时间戳表示特定文件被创建或更新的日期("日期"或"每 天")。第三选择属性标识了针对其创建特定文件的处理单元。第四选择 属性是文件状态属性,其表示特定文件的活动状态并使得可以找到不再 需要的文件(特别是已经读取过的文件)。
下面将针对图8所示的表中的第一寄存器条目更详细地说明各个选 择属性。根据该第一寄存器条目,物理名为P01.F3.DDT.X3的文件是文 件类型为my—inputdata的文件,并且是针对处理单元03在2004年12月
11日创建的。该文件被标记为状态属性"活动"。
根据以上所述内容,下面可以对根据图4的接口组件42的作用方法 进行说明。接口组件42具有两种不同的功能, 一方面具有选择一个或更 多个现有条目(图4)的功能,另一方面具有寄存新条目的功能(即创建 如图5所示的新条目)。首先将基于图4来说明现有寄存器条目的选择。 在分析根据图7的列表34中的经具体化的文件定义信息时,接口组 件42确认应该读取针对处理单元03的被称为my一inputdata的文件类型 的两个版本,即11.12.2004和12.12.2004的两个文件版本。接口组件42 基于这些选择准则来选择文件寄存器数据库44中与这些选择准则一致的 那些条目。这些条目是根据图8的表中的前两个条目。接口组件42读取 这两个条目并以列表的形式(或顺序地)将其传递回控制组件12。
对于被称为my—ouputdata的文件类型,CSF逻辑40确认要新创建 并写入的文件是具有今天的日期(13.12.2004)的文件版本并且是针对处 理单元03的。随后CSF逻辑使文件管理组件21在数据库16中创建新的 空文件,并分配新的物理文件名,还将该新的物理文件名(连同物理存 储位置一起)输入数据库目录26中。
随后控制组件12为接口组件42保持的列表50中列出的所有文件或 者由文件管理组件21新创建的所有文件预留出存储区域。应该指出的是, 目前控制组件12还从列表50或管理组件21知晓了在程序运行期间被寻 址的文件的物理文件名,因此可以开通程序所需的文件(即所选和新创 建的文件)的路径。控制组件12可以将开通程序所需文件的路径的任务 委托给管理组件21。作为运行时准备的最后步骤,服务组件12为待调用 的程序预留存储空间,并最终将控制指令14中定义的程序载入并调用到 为此而预留的存储空间中。
在程序结束后,CSF逻辑40基于文件定义信息24来检查文件寄存 器数据库44中的条目必须被新创建或更新至何种程度。如图5所示,必 须将相应的信息以列表52的形式或顺序地传送到文件寄存器22的接口 组件42。接口组件42对接收到的信息进行分析并基于接收到的信息来创
建新的寄存器条目,或者对现有的寄存器条目进行更新。
下面基于参照图6至图8说明的例子来说明该处理。在程序结束后, CSF逻辑40基于文件定义信息24来检查在程序运行时己经出现的文件 访问。这样,CSF逻辑就确认程序读取了针对处理单元03的文件类型名 称为my—inputdata的两个文件。相应地,传递到接口组件42的列表52 包括将这两个文件的状态从"活动(active)"变为"已读取(read)"的指令(见 图9)。 CSF逻辑还确认"日期"为13.12.2004的针对处理单元03的文件类 型名称为my—ouputdata的文件是由程序新创建并实际写入的。相应地, 列表52包括创建具有相应选择属性和相应物理文件名的相应新寄存器条 目(如图9所示)的指令。
如果CSF逻辑40确认在程序运行前文件管理组件21确实创建了新 的(空)文件,而该文件在程序运行期间并未被写入,则不向列表52添 加对于该新创建的文件的索引。相应地,接口组件42也不为不需要的该 空文件创建新的寄存器条目。可以在清除处理中找到并删除这种(不需 要的)空文件。为了找到不需要的空文件,检查在数据库16中创建的在 文件寄存器数据库44中不存在相应寄存器条目的文件。随后删除这种文 件。
由于根据以上说明,不必在控制指令14中定义程序所需文件的物理 文件名,所以批处理运行可以是更为灵活的形式。在所述实施方式中, 利用文件寄存器将物理文件名动态地与程序专用文件类型关联起来。文 件寄存器使得可以在不需要利用常规GDG的情况下以有利的方式进行
文件版本控制。另外,文件寄存器中对诸如"日期"的具体(绝对)版本 属性的灵活分配使得在系统崩溃的情况下可以进行与问题无关的重新启 动。具体地说,如果使用了版本属性和相应的选择准则,则可以避免GDG 的相对索引。
文件寄存器的另一优点是可以为每个物理文件分配文件状态属性。
文件状态属性使得可以区分并管理每个文件。具体地说,通过这种方式 可以可靠地找到并删除不活动的或已经被读取过的文件。可以通过接口 组件42或通过附加的管理服务46来执行文件和状态操作,如图4所示。
可以从文件寄存器的外部(以及批处理环境的外部)来调用管理服务46。 优选的是,周期性地调用管理服务46从而以规则间隔来删除不活动的和 读取过的文件。
管理服务46还可用于根据文件寄存器44中的条目识别出不再需要 (己读取)的文件并将这些文件从数据库16中删除。显然,这种清除步 骤还可以基于一个或更多个其他的或另外的选择属性来进行。因此可以 想到,基于寄存器条目识别出在指定关键日期之前生成并且应该被删除 的所有文件。
权利要求
1、一种批处理方法,该批处理方法包括以下步骤-提供包括对至少一个程序进行调用的批处理控制指令(JCL,14);-提供多个文件(16),所述多个文件中的每一个都有物理文件名,并且在批处理运行过程中被访问;-在批处理运行的环境下处理所述控制指令(JCL,14);其特征在于以下步骤-提供与程序有关的文件定义信息(FDF,24),该文件定义信息定义了在程序运行过程中被访问的文件;-提供文件寄存器(FR,22),该文件寄存器用于以寄存器条目的形式寄存为程序运行而创建的文件的物理文件名,所述寄存器条目使每个物理文件名与至少一个选择属性相关联;以及-基于与待调用的程序相关联的所述文件定义信息来选择和/或创建寄存器条目。
2、 根据权利要求1所述的方法,其特征在于将包含在所选寄存器条目中的物理文件名从所述文件寄存器(22) 传递到服务组件(CSF, 10)。
3、 根据权利要求1或2所述的方法,其特征在于 基于所选寄存器条目,为待调用的程序准备运行时环境。
4、 根据权利要求3所述的方法,其特征在于,所述运行时环境的准 备包括准备程序所需文件的路径。
5、 根据权利要求1至4中任意一项所述的方法,其特征在于,基于至少一个参数对包含在所述文件定义信息中的选择准则进行具体化,并 且基于经具体化的选择准则来选择和/或创建寄存器条目。
6、 根据权利要求5所述的方法,其特征在于在批处理运行开始时, 将所述至少一个参数传递到批处理控制组件(JES, 12)。
7、 根据权利要求1至6中任意一项所述的方法,其特征在于,在所 述程序运行之后,创建新的寄存器条目和/或对所选寄存器条目进行更新。
8、 根据权利要求1至7中任意一项所述的方法,其特征在于,所述 文件定义信息包含在所述批处理控制指令中所定义的文件(FDF, 24)中。
9、 根据权利要求1至8中任意一项所述的方法,其特征在于,包含 在所述文件定义信息中的所述抽象选择准则与至少一个非物理参数有 关。
10、 根据权利要求1至9中任意一项所述的方法,其特征在于,与 所述控制指令独立地保存所述文件定义信息。
11、 根据权利要求1至10中任意一项所述的方法,其特征在于,所 述程序是应用程序,并且所述控制指令与为所述应用程序运行时所需的 文件分配物理文件名无关。
12、 根据权利要求1至11中任意一项所述的方法,其特征在于,所 述至少一个选择属性包括文件版本属性。
13、 根据权利要求12所述的方法,其特征在于 所述文件版本属性是时间戳。
14、 根据权利要求1至12中任意一项所述的方法,其特征在于,所 述至少一个选择属性表示程序专用文件类型。
15、 根据权利要求1至14中任意一项所述的方法,其特征在于,所 述至少一个选择属性包括文件状态属性。
16、 根据权利要求15所述的方法,其特征在于 所述文件状态属性标识了文件的活动状态。
17、 根据权利要求15或16所述的方法,其特征在于 在所述程序运行之后,对在所述程序运行期间被访问的文件的所述文件状态属性进行分配或更新。
18、 根据权利要求15至17中任意一项所述的方法,其特征在于, 基于所述文件状态属性来实现所述文件的内部管理。
19、 一种具有程序代码单元的计算机程序产品,当所述计算机程序 产品在一台或更多台计算机上运行时所述程序代码单元执行权利要求1 至18中任意一项所述的歩骤。
20、 根据权利要求19所述的计算机程序产品,该计算机程序产品存 储在计算机可读数据介质中。
21、 一种批处理系统(100),该批处理系统包括-批处理控制组件(JES, 12),用于对批处理控制指令(JCL, 14) 进行处理,所述批处理控制指令包括对至少一个程序的调用;以及-存储有多个文件的存储组件(DB, 16),所述多个文件中的每一 个都具有物理文件名并在批处理程序运行期间被访问; 其特征在于-文件定义组件(FDF, 24),用于提供与程序有关的文件定义信息,所述文件定义信息定义了程序运行所需的文件;-文件寄存器(FR, 22),用于寄存为程序运行而创建的文件的物理文件名,该文件寄存器(FR, 22)的寄存器条目中的每个物理文件名都 与至少一个选择属性相关联;以及-服务组件(CSF, 20),其与所述批处理控制组件(JES, 12)进 行通信,并且访问所述文件寄存器(FR, 22)和所述文件定义组件(FDF, 24),所述服务组件基于与待调用的程序相关联的所述文件定义信息而开 始选择和/或创建寄存器条目。
22、 根据权利要求21所述的系统,其特征在于 所述服务组件(20)可以访问包含在所选或新创建的寄存器条目中的所述物理文件名。
23、 根据权利要求21或22所述的系统,其特征在于所述服务组件(20)基于所选和/或新创建的寄存器条目来为待调用 的程序准备运行时环境。
24、 根据权利要求21至23中任意一项所述的系统,其特征在于 运行控制组件(18),用于启动所述批处理运行并传递至少一个参数,所述至少一个参数对包含在所述文件定义信息中的所述抽象选择准则进 行具体化,所述服务组件(20)基于经具体化的选择准则而开始在文件 寄存器(22)中选择和/或创建寄存器条目。
25、 根据权利要求21至24中任意一项所述的系统,其特征在于 所述文件寄存器(FR, 22)以数据库的形式构成。
全文摘要
本发明提供了在面向批处理的环境中动态登记文件的机制。为了识别不必要创建或不再需要的文件从而在面向批处理的环境中进行可靠的文件版本控制,提供了一种动态批处理系统(100)。该系统(100)包括批处理控制组件(12),用于对批处理控制指令(14)进行处理,该批处理控制指令包括对至少一个程序的调用;以及包含多个文件的数据库(16),所述文件中的每一个都具有物理文件名。该系统(100)还包括提供程序专用文件定义信息的组件(24),所述文件定义信息通过抽象选择准则定义了程序运行所需的文件。在文件寄存器(22)中,以寄存器条目的形式寄存了为程序运行而创建的文件的物理文件名,寄存器条目为每个物理文件名分配了至少一个选择属性。与控制组件(12)进行通信的服务组件(20)访问文件寄存器(22)和文件定义组件(24)。服务组件(20)基于与待调用的程序相关联的文件定义信息来选择和/或创建寄存器条目。
文档编号G06F9/44GK101194227SQ200680020130
公开日2008年6月4日 申请日期2006年5月4日 优先权日2005年6月8日
发明者汉斯比特·罗亚克尔, 马库斯·维特里斯巴赫 申请人:瑞士银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1