CN100524212C - 批处理方法和系统 - Google Patents

批处理方法和系统 Download PDF

Info

Publication number
CN100524212C
CN100524212C CNB2006800201305A CN200680020130A CN100524212C CN 100524212 C CN100524212 C CN 100524212C CN B2006800201305 A CNB2006800201305 A CN B2006800201305A CN 200680020130 A CN200680020130 A CN 200680020130A CN 100524212 C CN100524212 C CN 100524212C
Authority
CN
China
Prior art keywords
file
program
register
batch processing
definition information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006800201305A
Other languages
English (en)
Other versions
CN101194227A (zh
Inventor
马库斯·维特里斯巴赫
汉斯比特·罗亚克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Union Bank Of Switzerland Ltd
Original Assignee
UBS AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UBS AG filed Critical UBS AG
Publication of CN101194227A publication Critical patent/CN101194227A/zh
Application granted granted Critical
Publication of CN100524212C publication Critical patent/CN100524212C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了批处理方法和系统。为了识别不必要创建或不再需要的文件从而在面向批处理的环境中进行可靠的文件版本控制,提供了一种动态批处理系统(100)。该系统(100)包括:批处理控制组件(12),用于对批处理控制指令(14)进行处理,该批处理控制指令包括对至少一个程序的调用;以及包含多个文件的数据库(16),所述文件中的每一个都具有物理文件名。该系统(100)还包括:提供程序专用文件定义信息的组件(24),所述文件定义信息通过抽象选择准则定义了程序运行所需的文件。在文件寄存器(22)中,以寄存器条目的形式寄存了为程序运行而创建的文件的物理文件名,寄存器条目为每个物理文件名分配了至少一个选择属性。与控制组件(12)进行通信的服务组件(20)访问文件寄存器(22)和文件定义组件(24)。服务组件(20)基于与待调用的程序相关联的文件定义信息来选择和/或创建寄存器条目。

Description

批处理方法和系统
技术领域
本发明涉及批处理领域。更具体地说,本发明涉及批处理运行时所需文件的登记。
背景技术
批处理是一种对电子计算机进行操作的方式,并且可以追溯到穿孔卡片的时代。批处理通常被理解为对一系列成批作业的处理。通常为每个单独的批处理作业提供了全部所需的程序、数据和指令,从而可以在完全没有用户干预的情况下执行。
批处理作业定义在控制语言中,该控制语言通常被称为JCL(作业控制语言)。利用这种控制语言,一方面可以预先充分地规划批处理作业的执行,从而可以在没有任何干预的情况下在后台运行这些批处理作业。另一方面,可以使准系统(near-system)或物理数据(文件名、输出设备的地址等)与运行程序相隔离并转移到JCL控制指令中。这样,就可以灵活地规划需要数小时或数天的计算时间的所有处理。这种计算敏感处理通常被用于银行或其他大公司中例如在一天末或年底运行的周期性出现的批处理。
基于批处理的操作系统通常具有用于控制和监控批处理操作运行的特殊系统组件。这些系统组件读取JCL控制指令并对其进行解释。例如,MVS(多虚拟存储器)操作系统使用JES(作业入口子系统)来读取和解释JCL控制指令。
现今,许多操作系统(在某些情况下通过附加组件)提供批处理以及诸如交互式处理或实时(在线)处理的其他操作模式。例如,基于批处理的MVS操作系统通过附加CICS(用户信息控制系统)而变得能够进行实时处理。附加TSO(时间共享选项)使MVS扩展为可以进行交互式处理。在以下文献中概述了TSO、JCL和JES:Teuffel,Michael,TSO:TimeSharing Option im Betriebssystem MVS—das Lehr—und Handbuch für denerfolgreichen TSO-Benutzer(TSO:Time Sharing Option in the MVSoperation system-the textbook and manual for the successful TSO user),3rdedition,Munich,Oldenbourg,1989。
如上所述,JCL控制指令通常包括准系统或物理信息,并将其链接到程序专用(program-specific)数据。例如,如果程序包含了程序员针对文件类型而选择的一般名称(designation),则JCL控制指令中存在指向存储在系统中的文件(数据集)的引用,并且当程序运行时该引用应该与该一般文件名称相关联。在MVS/TSO中,通过以下JCL控制指令来进行该引用:
//my_inputdata DD DSN=edl.input.data
此处my_inputdata表示程序员针对程序所使用的文件类型而选择的一般名称,在该例中,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中所示的批处理系统100来实现。因此,为相同类型的元件使用了相同的标号。
在采用服务组件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中所示的情况下,假设程序访问了两种不同的文件类型。被称为my_inputdata的第一种文件类型由程序来读取,而被称为my_ouputdata的第二种文件类型由程序来写入。对于被称为my_inputdata的文件类型,抽象选择准则“版本”声明了本周内创建的该文件类型的所有版本都是由程序读取的。另外,在相关的批处理运行中,应该仅读取那些与特定的抽象表示(即,在文件定义信息中没有明确地指定)的处理单元相关联的文件类型。对于待调用的程序所需的第二种文件类型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中删除。显然,这种清除步骤还可以基于一个或更多个其他的或另外的选择属性来进行。因此可以想到,基于寄存器条目识别出在指定关键日期之前生成并且应该被删除的所有文件。

Claims (23)

1、一种批处理方法,该批处理方法包括以下步骤:
-提供包括对至少一个程序进行调用的批处理控制指令(JCL,14);
-提供多个文件(16),所述多个文件中的每一个都有物理文件名,并且在批处理运行过程中被访问;
-在批处理运行的环境下处理所述控制指令(JCL,14);
其特征在于以下步骤:
-提供与程序有关的文件定义信息(FDF,24),该文件定义信息定义了在程序运行过程中被访问的文件;
-提供文件寄存器(FR,22),该文件寄存器用于以寄存器条目的形式寄存为程序运行而创建的文件的物理文件名,所述寄存器条目使每个物理文件名与至少一个选择属性相关联;以及
-基于与待调用的程序相关联的所述文件定义信息来选择和/或创建寄存器条目。
2、根据权利要求1所述的方法,其特征在于
将包含在所选寄存器条目中的物理文件名从所述文件寄存器(22)传递到服务组件(CSF,10)。
3、根据权利要求1或2所述的方法,其特征在于
基于所选寄存器条目,为待调用的程序准备运行时环境。
4、根据权利要求3所述的方法,其特征在于,所述运行时环境的准备包括准备程序所需文件的路径。
5、根据权利要求1或2所述的方法,其特征在于,基于至少一个参数对包含在所述文件定义信息中的选择准则进行具体化,并且基于经具体化的选择准则来选择和/或创建寄存器条目。
6、根据权利要求5所述的方法,其特征在于在批处理运行开始时,将所述至少一个参数传递到批处理控制组件(JES,12)。
7、根据权利要求1所述的方法,其特征在于,在所述程序运行之后,创建新的寄存器条目和/或对所选寄存器条目进行更新。
8、根据权利要求1所述的方法,其特征在于,所述文件定义信息包含在所述批处理控制指令中所定义的文件(FDF,24)中。
9、根据权利要求1所述的方法,其特征在于,包含在所述文件定义信息中的抽象选择准则与至少一个非物理参数有关。
10、根据权利要求1所述的方法,其特征在于,与所述控制指令独立地保存所述文件定义信息。
11、根据权利要求1所述的方法,其特征在于,所述程序是应用程序,并且所述控制指令与为所述应用程序运行时所需的文件分配物理文件名无关。
12、根据权利要求1所述的方法,其特征在于,所述至少一个选择属性包括文件版本属性。
13、根据权利要求12所述的方法,其特征在于
所述文件版本属性是时间戳。
14、根据权利要求1所述的方法,其特征在于,所述至少一个选择属性表示程序专用文件类型。
15、根据权利要求1所述的方法,其特征在于,所述至少一个选择属性包括文件状态属性。
16、根据权利要求15所述的方法,其特征在于
所述文件状态属性标识了文件的活动状态。
17、根据权利要求15或16所述的方法,其特征在于
在所述程序运行之后,对在所述程序运行期间被访问的文件的所述文件状态属性进行分配或更新。
18、根据权利要求15所述的方法,其特征在于,基于所述文件状态属性来实现所述文件的内部管理。
19、一种批处理系统(100),该批处理系统包括:
-批处理控制组件(JES,12),用于对批处理控制指令(JCL,14)进行处理,所述批处理控制指令包括对至少一个程序的调用;以及
-存储有多个文件的存储组件(DB,16),所述多个文件中的每一个都具有物理文件名并在批处理程序运行期间被访问;
其特征在于
-文件定义组件(FDF,24),用于提供与程序有关的文件定义信息,所述文件定义信息定义了程序运行所需的文件;
-文件寄存器(FR,22),用于寄存为程序运行而创建的文件的物理文件名,该文件寄存器(FR,22)的寄存器条目中的每个物理文件名都与至少一个选择属性相关联;以及
-服务组件(CSF,20),其与所述批处理控制组件(JES,12)进行通信,并且访问所述文件寄存器(FR,22)和所述文件定义组件(FDF,24),所述服务组件基于与待调用的程序相关联的所述文件定义信息而开始选择和/或创建寄存器条目。
20、根据权利要求19所述的系统,其特征在于
所述服务组件(20)可以访问包含在所选或新创建的寄存器条目中的所述物理文件名。
21、根据权利要求19或20所述的系统,其特征在于
所述服务组件(20)基于所选和/或新创建的寄存器条目来为待调用的程序准备运行时环境。
22、根据权利要求19所述的系统,其特征在于
运行控制组件(18),用于启动所述批处理运行并传递至少一个参数,所述至少一个参数对包含在所述文件定义信息中的所述抽象选择准则进行具体化,所述服务组件(20)基于经具体化的选择准则而开始在文件寄存器(22)中选择和/或创建寄存器条目。
23、根据权利要求19所述的系统,其特征在于
所述文件寄存器(FR,22)以数据库的形式构成。
CNB2006800201305A 2005-06-08 2006-05-04 批处理方法和系统 Active CN100524212C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05012372.8 2005-06-08
EP05012372A EP1731999B1 (de) 2005-06-08 2005-06-08 Mechanismus zum dynamischen Registrieren von Dateien in einer stapelverarbeitungsorientierten Umgebung

Publications (2)

Publication Number Publication Date
CN101194227A CN101194227A (zh) 2008-06-04
CN100524212C true CN100524212C (zh) 2009-08-05

Family

ID=35414722

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800201305A Active CN100524212C (zh) 2005-06-08 2006-05-04 批处理方法和系统

Country Status (7)

Country Link
US (1) US7945910B2 (zh)
EP (1) EP1731999B1 (zh)
CN (1) CN100524212C (zh)
AT (1) ATE365347T1 (zh)
DE (1) DE502005000908D1 (zh)
HK (1) HK1117922A1 (zh)
WO (1) WO2006131178A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4776571B2 (ja) * 2007-03-16 2011-09-21 富士通株式会社 実行制御プログラム,実行制御方法及び実行制御装置
US7958188B2 (en) * 2007-05-04 2011-06-07 International Business Machines Corporation Transaction-initiated batch processing
US8370839B2 (en) * 2007-07-20 2013-02-05 International Business Machines Corporation Monitoring message queues in message queuing information systems and initiating batch jobs to perform functions on the message queues
KR100905494B1 (ko) * 2007-09-07 2009-07-01 박수민 파일 관리 시스템 및 파일 관리를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
US8479203B2 (en) * 2009-07-24 2013-07-02 International Business Machines Corporation Reducing processing overhead and storage cost by batching task records and converting to audit records
US8706610B2 (en) 2011-08-16 2014-04-22 Sl-X Technology Uk Ltd. Systems and methods for electronically initiating and executing securities lending transactions
WO2013025938A2 (en) 2011-08-16 2013-02-21 Sl-X Ip Sarl Systems and methods for electronically initiating and executing securities lending transactions
CA2942881A1 (en) * 2013-03-15 2014-09-25 Wal-Mart Stores, Inc. Apparatus and method enablement of customer information control systems on a mainframe computer
US10642801B2 (en) 2017-08-29 2020-05-05 Bank Of America Corporation System for determining the impact to databases, tables and views by batch processing
CN107679140B (zh) * 2017-09-25 2019-11-12 中国银行股份有限公司 文件处理方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104718A (en) * 1974-12-16 1978-08-01 Compagnie Honeywell Bull (Societe Anonyme) System for protecting shared files in a multiprogrammed computer
JPH05233570A (ja) * 1991-12-26 1993-09-10 Internatl Business Mach Corp <Ibm> 異オペレーティング・システム間分散データ処理システム
US5404528A (en) * 1993-01-19 1995-04-04 Canon Information Systems, Inc. Scripting system
JPH09259153A (ja) * 1996-03-19 1997-10-03 Mitsubishi Electric Corp バッチ実行制御プログラム作成装置及び方法
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6131190A (en) * 1997-12-18 2000-10-10 Sidwell; Leland P. System for modifying JCL parameters to optimize data storage allocations
US6631477B1 (en) * 1998-03-13 2003-10-07 Emc Corporation Host system for mass storage business continuance volumes
US7197431B2 (en) * 2000-08-22 2007-03-27 International Business Machines Corporation Method and system for determining the use and non-use of software programs
US7353514B1 (en) * 2000-10-27 2008-04-01 Sprint Communications Company L.P. Computer software method for administering batch jobs
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US20020169780A1 (en) * 2001-05-11 2002-11-14 Bull Hn Information Systems Inc. Method and data processing system for providing disaster recovery file synchronization
US6934949B2 (en) * 2002-02-25 2005-08-23 International Business Machines Corporation Method, computer program product, and system for dual mode batch program execution
US20040181792A1 (en) * 2003-03-12 2004-09-16 Barajas Gaston M. Method to control, manage and monitor batched command files

Also Published As

Publication number Publication date
HK1117922A1 (en) 2009-01-23
CN101194227A (zh) 2008-06-04
US7945910B2 (en) 2011-05-17
DE502005000908D1 (de) 2007-08-02
ATE365347T1 (de) 2007-07-15
WO2006131178A1 (de) 2006-12-14
EP1731999A1 (de) 2006-12-13
EP1731999B1 (de) 2007-06-20
US20060294521A1 (en) 2006-12-28

Similar Documents

Publication Publication Date Title
CN100524212C (zh) 批处理方法和系统
US4949251A (en) Exactly-once semantics in a TP queuing system
US5495610A (en) Software distribution system to build and distribute a software release
EP0352050A2 (en) Single-keyed indexed file for TP queue repository
US9870258B1 (en) Systems and methods for performing scheduling for a cluster
KR20010103603A (ko) 모델의 충격 분석
EP0855056B1 (en) Object-oriented method maintenance mechanism that does not require cessation of the computer system
CN100568176C (zh) 用于文件版本控制管理的方法和系统
EP2862099A1 (en) Systems and methods for asynchronous schema changes
WO1991008542A1 (en) Software distribution system
WO2006130514A1 (en) Method and system for scheduling jobs in a computer system
US5369732A (en) Method and apparatus for goal processing memory management
CA2253345C (en) Relational database compiled/stored on a memory structure
CA2245133A1 (en) Language manager interface
US11468021B2 (en) Method for the deployment of schema changes in systems involving a database and computer system
US6120553A (en) System for modifying JCL statements to optimize data storage allocations
US6874072B2 (en) Method, apparatus and article of manufacture for managing a reusable linear access storage medium
CN114692585A (zh) 表服务处理方法及系统
Fiegl A simulation model for the study of job scheduling policy.
EP1959359B1 (en) A data management system
Oliphint Operating system for the B 5000
JPH03118642A (ja) 情報処理システムにロードされたプログラムの実行を観測する方法及び装置
CN114281760A (zh) 数据项文件的注册方法、系统、电子设备及存储介质
JPH04299734A (ja) ソフトウェア開発方法
Endres IBM Boeblingen's early software contributions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1117922

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1117922

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181019

Address after: 45 Hof street, Zurich, Switzerland

Patentee after: Union Bank of Switzerland Ltd.

Address before: Zurich

Patentee before: Ubs AG