CN101939728A - 作业网络自动生成装置、方法和程序记录介质 - Google Patents

作业网络自动生成装置、方法和程序记录介质 Download PDF

Info

Publication number
CN101939728A
CN101939728A CN200980104745XA CN200980104745A CN101939728A CN 101939728 A CN101939728 A CN 101939728A CN 200980104745X A CN200980104745X A CN 200980104745XA CN 200980104745 A CN200980104745 A CN 200980104745A CN 101939728 A CN101939728 A CN 101939728A
Authority
CN
China
Prior art keywords
file
jcl
job
stream
job network
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.)
Pending
Application number
CN200980104745XA
Other languages
English (en)
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN101939728A publication Critical patent/CN101939728A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

现有技术无法支持将由主机等中使用的JCL语言描述的作业向各种开放系统中迁移。基于本发明的第一方面,一种作业网络自动生成设备,具有:作业网络生成装置,其根据输入的JCL文件来创建描述作业内的作业步骤控制流的流链接,并且创建描述与上述流链接相关联的作业步骤的脚本文件;以及作业网络输出装置,其根据上述流链接和上述脚本文件来创建作业网络定义文件。

Description

作业网络自动生成装置、方法和程序记录介质
技术领域
本发明涉及作业网络自动生成装置、方法和程序记录介质。
背景技术
近年来,在很多企业系统中,主动执行从主机到使用诸如UNIX(注册商标)服务器或者Windows(注册商标)等通用OS的开放系统的系统更新。然而,迄今为止,在此类系统更新中,主机上使用的作业资产的迁移成为一个大问题。虽然那些作业资产通常由作业控制语言(JCL:Job Control Language)来描述,但是开放系统上的通用作业管理软件无法解释该语言。因此,要执行这样的改变,即,将这些JCL描述表达的作业控制信息改变为通用作业管理软件上的作业网络流(流程图)。
作为作业网络流的形式,存在依赖于作业管理软件的每个类型的各种形式。图1-1到图1-4的每一个是表示等同次序关系的作业网络流。在通常的作业管理软件中,并不特别地施加对描述的约束,并且通常允许用户给出各种描述。然而,在没有约束的情况下,针对相同的次序关系而创建的作业网络流是否类似于图1-2或者图1-3之一是不确定的,这取决于操作者的识别力。如果存在具有针对相同次序关系的不同和各种形状的作业网络流,则从作业迁移时的测试效率角度以及从迁移之后的可维护性角度来看,都存在着问题。
为了解决这个问题,存在如图1所示的作业管理软件,其提前固定开始点和结束点,并且约束如何绘制作业网络流的线的方式。由于这一约束,当给定次序关系时,将会创建几乎唯一的作业网络流。该作业管理软件要求,无论由谁创建作业网络流,其都将是类似形式的流,并且可以创建具有高可维护性的简单作业网络流。
然而,对于JCL文件向此类作业管理软件的迁移来说,需要将JCL描述转换为简单形式的作业网络流。该转换存在若干问题。
第一个问题在于,在由系统工程师手动执行转换工作时,以及在具有大量JCL文件的用户环境下,将出现人工错误所导致的质量恶化。为了执行错误恢复而执行的测试工作需要庞大的开销。因此,需要对迁移工作进行自动化。
第二个问题如下。除了由类似于命令解释器的语法产生的处理描述之外,JCL文件包括特殊控制信息,其描述诸如并行执行或者等待的控制指令。除控制指令外,存在例如¥SUBJOB<->¥ENDSUBJOB(并行执行)之类可能被写在任何位置的控制指令,并且存在例如¥WAITSUB之类使等待在所描述位置处明确执行的控制指令。当通过简单的自动转换工具转换此类JCL文件时,通常会生成具有类似于图1-4中的线交叉的复杂作业网络流。在这种情况下,创建的作业网络流无法再应用于上述作业管理软件。
作为相关技术,以下发明是已知的。日本专利申请公开号2001-166928(称为专利文献1)中公开了一种自动生成作业网的自动生成装置的发明。自动生成装置创建数据库,该数据库合并来自输入作业网设计信息(系统流、作业流、相同作业、数据项信息定义、记录信息定义、文件信息定义和操作调度)的屏幕的设计信息。根据注册的操作调度,该自动生成装置通过作业网结构文件生成机制来生成作业网结构文件。该自动生成装置接受作业网络流作为输入,而不接受JCL文件作为输入。
在日本专利申请公开号2001-282549(称为专利文献2)中公开了一种程序转换装置的发明。该程序转换装置包括多个程序计数器和多个线程执行设备。多个线程执行设备可以按照控制推测模式执行线程,并且可以按照数据依赖推测模式执行线程。控制推测模式是这样的模式,其根据多个程序计数器来同时取得、解释和执行多个线程的指令,并且随后在线程生成时间之后可以取消寄存器组上产生的改变。数据依赖推测模式是这样的模式,其在自己的线程加载来自存储区的值之后,以及在生成该自己的线程的父线程在相同存储区中存储值时,至少在特有线程加载之后取消处理结果,并且重新执行那些处理。
程序转换装置转换多线程处理器的给定源程序。多线程处理器具有指令集,其允许处理器通过单个机器指令或者最多若干机器指令的组合来执行以下处理。第一处理由线程执行设备上的线程执行,其生成控制推测模式的新线程。当满足指定的条件时,第二处理结束自己的线程,并且取消由自己的线程生成的线程的控制推测模式。第三处理取消控制推测模式的已生成线程。当由自己的线程生成的线程从存储区的指定地址加载时,第四处理临时预先指引挂起操作。第五处理取消针对指定的存储器地址的上述临时加载挂起指引。通过在线程执行设备上执行的线程,第六处理生成数据依赖推测模式的新线程。第七处理取消由自己的线程生成的线程的数据依赖推测模式。
程序转换装置包括寄存器分配试验单元、分叉(FORK)位置决策单元、指令重新布置单元和寄存器分配单元。寄存器分配试验单元在并行化之前尝试寄存器分配,并且预测每个变量的寄存器分配情况和中间程序上的中间项。分叉位置决策单元基于寄存器分配试验单元的寄存器试验结果来确定是否使用线程生成指令将中间程序的条件分支部分转换为并行代码。另外,分叉位置决策单元确定并行代码的并行执行方法。指令重新布置单元基于分叉位置决策单元的决策结果,使用线程生成指令将中间程序的条件分支部分转换为并行代码。以及,指令重新布置单元,参考寄存器分配试验结果,经由线程生成指令之前和之后的线程之间的存储器来插入保证数据依赖关系的指令,并且重新布置线程生成指令之前和之后的指令,以便在早期阶段执行线程生成。关于是否可以指派物理寄存器,寄存器分配单元为被并行化和重新布置的指令序列执行确定的寄存器分配,以便产生与试验时的寄存器分配相同的分配结果。
该程序转换装置是编译器,并且目的是避免进程之间的数据依赖,以及有效地进行并行处理。
日本专利申请公开号2007-257384(称为专利文献3)中公开了一种作业网图自动生成装置的发明,其自动地生成批处理系统的系统设计规划。作业网图自动生成装置包括:数据库单元;以及信息提取和显示单元,其从有关的数据库单元中搜索信息并对其进行显示。数据库单元包括:指示作业ID的作业信息、程序信息和文件信息;组成批处理系统的程序和文件;指示作业和文件分类的作业分类信息和文件分类信息;以及指示每个上述信息之间关系的关系信息。信息提取和显示单元包括执行提取步骤和生成步骤的程序。在提取步骤中,信息提取和显示单元指定作业的分类信息,并且从数据库单元提取具有有关分类的作业信息。在生成步骤中,信息提取和显示单元判断从关系信息中提取出的作业信息的上下文,并且生成示出作业信息的关系的图。在该作业网图自动生成装置中,通过哪种策略来基于次序关系信息创建作业网络流是不清楚的。因此,当作业数量巨大并且次序关系复杂时,所创建的作业网络流变得复杂、难以理解并且不适合实际使用的可能性较高。而且,每当转换作业网络流时,(尽管流示出的逻辑意义是相同的),其可能被转换为不同的流(作为人类可观看的“图片”)。
日本专利申请公开号1996-147156(称为专利文献4)公开了一种程序移植系统的发明。程序移植系统执行程序移植,以使得使用移植来源的计算机系统上的作业控制语言自动执行的一系列程序变为在移植目的地的计算机系统上自动可执行。程序移植系统包括作业控制程序输入装置、输入文件存在搜索装置、逻辑关系检查装置、外部参考文件输入装置、日志列表输出装置和修改程序输出装置。
作业控制程序输入装置输入由移植来源的计算机系统的作业控制语言描述的作业控制程序。输入文件存在搜索装置搜索与作业控制程序的文件指定语句中指定的输入文件相对应的文件是否存在于移植目的地的计算机系统的存储器单元中。逻辑关系检查装置仔细检查作业控制程序中编写的逻辑关系。外部参考文件输入装置输入与来自移植目的地的计算机系统的存储器单元的作业控制程序中编写的外部参考文件相对应的文件。日志列表输出装置输出在程序输入装置、输入文件存在搜索装置、逻辑关系检查装置或者外部参考文件输入装置中出现错误时,指示错误存在的日志列表,并且输出在没有发生错误时指示错误不存在的日志列表。修改的程序输出装置改变作业控制程序以便由移植目的地的计算机系统使用,并且在程序输入装置、输入文件存在搜索装置、逻辑关系检查装置或者外部参考文件输入装置中都没有发生错误时将其输出。
该程序移植系统无法实现流形状的简化或者优化,也不能改进作业网络流的可读性和可视化。另外,程序移植系统对于作业执行环境的管理人力、操作人力和维护人力的缩减是没有用的。
[专利文献1]日本专利申请公开号2001-166928
[专利文献2]日本专利申请公开号2001-282549
[专利文献3]日本专利申请公开号2007-257384
[专利文献4]日本专利申请公开号1996-147156
发明内容
本发明要解决的问题
上述专利文献的技术不是用于将主机等中使用的由JCL语言描述的作业向各种开放系统同样如此。原因如上所述。本发明提供了一种作业网络自动生成装置、方法和程序记录介质,用以解决上述问题。
解决问题的手段
根据本发明的第一方面,一种作业网络自动生成设备,包括:作业网络生成装置,其根据输入的JCL文件来创建描述作业中的作业步骤控制流的流链接以及描述与所述流链接相关的作业步骤的脚本文件;以及作业网络输出装置,其根据所述流链接和所述脚本文件来创建作业网络定义文件。
根据本发明的第二方面,一种记录在记录介质中的作业网络自动生成程序,使得计算机执行:作业网络生成处理,其中根据输入的JCL文件来创建描述作业中的作业步骤控制流的流链接以及描述与所述流链接相关的作业步骤的脚本文件;以及作业网络输出处理,其根据所述流链接和所述脚本文件来创建作业网络定义文件。
在根据本发明的第一方面的作业网络自动生成方法中,计算机根据输入的JCL文件来创建描述作业中的作业步骤控制流的流链接以及描述与流链接相关的作业步骤的脚本文件;以及根据所述流链接和所述脚本文件来创建作业网络定义文件。
本发明的效果
本发明的作业网络自动生成装置可以将用于主机等的由JCL语言描述的JCL文件转换为作业网络定义文件。
附图说明
[图1-1]图1-1是示出表示相同次序关系的作业网络流的第一示图。
[图1-2]图1-2是示出表示相同次序关系的作业网络流的第二示图。
[图1-3]图1-3是示出表示相同次序关系的作业网络流的第三示图。
[图1-4]图1-4是示出表示相同次序关系的作业网络流的第四示图。
[图2]图2是示出作业网络自动生成装置的整体结构的示图。
[图3]图3是JCL到中间文件转换单元的框图。
[图4]图4是作业网络生成单元的框图。
[图5]图5是脚本文件分割单元的功能说明性框图。
[图6]图6是流链接创建单元的功能说明性框图。
[图7]图7是流链接创建方法的第一说明性框图。
[图8]图8是流链接创建方法的第二说明性框图。
[图9]图9是流链接创建方法的第三说明性框图。
[图10]图10是流链接创建方法的第四说明性框图。
[图11]图11是流链接创建方法的第五说明性框图。
[图12]图12是流链接创建方法的第六说明性框图。
[图13]图13是示出JCL到中间文件转换单元的处理的流程图。
[图14]图14是示出流链接创建方法的第一流程图。
[图15]图15是示出流链接创建方法的第二流程图。
[图16]图16是示出流链接创建方法的第三流程图。
[图17]图17是示出流链接创建方法的第四流程图。
[图18]图18是示出作业网络输出单元的输出处理的流程图。
[图19]图19是示出根据本发明的作业网络自动生成装置10的基本结构的示图。
代码描述
10 作业网络自动生成装置
11 JCL文件输入单元
12 JCL到中间文件转换单元
13 作业网络生成单元
14 作业网络输出单元
32 中间文件生成单元
34 中间文件输出单元
36 转换词典
41 JCL分析单元
42 脚本文件分割单元
43 流链接创建单元
44 流链接诊断单元
45 流链接优化单元
52 主干管理单元
54 分支管理单元
56 等待管理单元
58 分支优化单元
具体实施方式
参考附图详细描述本发明在最优选模式下的示例性实施方式。图2表示该实施方式的作业网络自动生成装置的整体结构。作业网络自动生成装置10包括JCL文件输入单元11、JCL到中间文件转换单元12、作业网络生成单元13和作业网络输出单元14。JCL文件输入单元11从存储器单元A1读取作为转换目标的JCL文件。JCL到中间文件转换单元12分析JCL文件,并将JCL文件转换为由外壳语言描述、可由通用UNIX(注册商标)0S进行解释的中间文件。作业网络生成单元13分析中间文件中的JCL描述,并且创建流链接。作业网络生成单元13进一步将中间文件划分为作业脚本。作业网络输出单元14将所创建的流链接和作业脚本转换为作业网络定义文件,并且将其输出。
JCL文件输入单元11、JCL到中间文件转换单元12、作业网络生成单元13和作业网络输出单元14由硬件实现。JCL文件输入单元11、JCL到中间文件转换单元12、作业网络生成单元13和作业网络输出单元14可以由作业网络自动生成装置10的处理器来实现,该作业网络自动生成装置10也是在存储器上执行程序的计算机。
图2的作业网络自动生成装置10输入来自存储器单元A1的JCL文件,并且向存储器单元B1输出作业网络定义文件。
图3是JCL到中间文件转换单元12的框图。JCL到中间文件转换单元12包括中间文件生成单元32、中间文件输出单元34和转换词典36。中间文件生成单元32将JCL文件输入单元11从存储器单元A1提取的JCL文件转换为中间文件。中间文件输出单元34输出生成的中间文件。转换词典36预先准备。中间文件生成单元32参考该转换词典36来执行转换处理。JCL和外壳脚本的对应关系表存储在转换词典36中。
图4是作业网络生成单元13的框图。作业网络生成单元13包括JCL分析单元41、脚本文件分割单元42、流链接创建单元43、流链接诊断单元44和流链接优化单元45。JCL分析单元41扫描和分析中间文件中的JCL描述。脚本文件分割单元42从JCL分析单元41接收JCL描述中的处理行(描述将要作为作业执行的处理的行),并将其存储在存储器单元B1的脚本文件中。流链接创建单元43从JCL分析单元41接收JCL描述中的JCL指令行(流控制行),并且根据指令行的类型将流部分添加到主存储器MEM 1中的流链接中。流链接诊断单元44诊断流链接创建单元43所创建的流链接是否具有正确的结构。流链接优化单元45改变流链接的结构,并且优化流链接。
图5是脚本文件分割单元42的功能说明性框图。JCL分析单元41连续扫描输入的JCL描述,并且区分所扫描的行是JCL指令行还是某种其他行(即,处理行)。当行被区分为JCL指令行时,JCL分析单元41将JCL指令行移交给流链接创建单元43。另一方面,当被区分为处理行时,JCL分析单元41将处理行移交给脚本文件分割单元42。
脚本文件分割单元42划分处理行,并且将其存储到处理器单元B 1中创建的多个脚本文件中。当JCL指令行出现时,每个脚本文件由流链接创建单元43打开(OPEN)或者关闭(CLOSE),以作为与主干或者分支相关的脚本文件。
图6是流链接创建单元43的功能说明性框图。流链接创建单元43包括主干管理单元52、分支管理单元54和等待管理单元56,并且使用主存储器MEM 1来创建流链接。流链接创建单元43从JCL分析单元41接收JCL指令行,并且在主干管理单元52、分支管理单元54和等待管理单元56之间分发接收的JCL指令行。
流链接创建单元43如下解释由JCL描述进行描述的控制流。
1.¥SUBJOB指令和¥ENDSUBJOB指令之间的行构成“分支”。
2.除了以上指令(¥JOB指令、¥ENDJOB指令等)之外的全部JCL指令行构成“主干”。
3.¥WAITSUB指令是由¥SUBJOB导出的“分支”的等待点(收敛点)。
4.JCL描述控制流,其中从形成基础的“主干”导出不少于0个“分支”,并且其由等待收敛。
流链接创建单元43使用以下部分创建流链接。
-开始(START)部分
-结束(END)部分
-单位作业部分
-并行分支部分
-事件传输部分
-事件接收部分
图7-图12是示出由流链接创建单元43执行的流链接创建过程的示图。首先,流链接创建单元43存储在主存储器MEM 1上开发的流链接中的开始部分。然后,JCL分析单元41向流链接创建单元43发送JCL指令行的¥JOB Daily(¥STEP JOB1),并且主干管理单元52更新该流,并添加作为单位作业部分的主干1。然后,JCL分析单元41向流链接创建单元43发送JCL指令行的¥SUBJOB SUB1(¥STEP JOB2),并且分支管理单元54更新该流,并添加作为并行分支部分的并行1和分支1。当JCL分析单元41向流链接创建单元43发送JCL指令行的¥JOB3(¥STEP JOB3)时,主干管理单元54保持作为单位作业部分的当前主干1,并且生成主干2作为将要与等待点相关的新单位作业部分。
图7是当流链接创建单元43已经接收JCL指令行的¥SUBJOBSUB2(¥STEP JOB4)时的操作说明性框图。在图7中,在接收¥SUBJOB SUB2之后,分支管理单元54向流链接添加作为并行分支部分的并行2和分支2。具体地,管理分支的分支管理单元54与并行1和分支1并行地分配并行2和分支2,并且将其添加到流链接中。也即,为了执行形成并行分支的、从¥SUBJOB指令到¥ENDSUBJOB指令的处理,分支管理单元54向流链接添加表示并行执行的并行分支部分。此时,分支管理单元54创建分支路径中的下一分支,并且进一步管理其收敛。另外,分支管理单元54使脚本文件与分支n相关,并且存储与该分支n相关的从¥SUBJOB到¥ENDSUBJOB的所有行。
主干管理单元52管理主干部分。主干管理单元52记录脚本文件中的所有处理行,直到检测到¥SUBJOB指令或者¥WAITJOB指令。此时,脚本文件分割单元42记录与主干相关的脚本文件中的所有处理行。
图8是当流链接创建单元43接收JCL指令行的¥WAITJOB时的操作说明性框图。主干管理单元52已经生成主干2,其与接收¥WAITJOB之前的阶段处的等待点相关。如图所示,当流链接创建单元43接收¥WAITJOB时,等待管理单元56添加等待1,其是最近的主干(主干2)之后的等待部分(也称为焦点(FOCUS)部分)。而且,主干管理单元52关闭与主干1相关的脚本文件,并且打开与主干2相关的脚本文件。
图9-图11是示出分支的收敛方法的示图。在添加等待1时,流链接创建单元43收敛流链接的分支。如图9所示,分支管理单元54使得等待管理单元56搜索待收敛的分支。这些分支在¥WAITJOB行的自变量中描述。首先,分支管理单元54组合分支1和等待1。而且,主干管理单元52在并行2之后分配主干2,并且将其组合。由此如图10所示更新流链接。
然后,分支管理单元54尝试进行分支2的收敛。等待管理单元56生成等待2(其是等待部分),并且在等待1之后分配该等待2,并且将其组合。分支管理单元54组合分支2和等待2。这时,读取¥WAITJOB的处理结束。当JCL分析单元41扫描JCL描述到结束时,流链接创建单元43对作为单位作业部分的主干3与结束部分进行组合。因此,如图11所示更新流链接。
当完成JCL描述的扫描时,流链接诊断单元44使用分支管理单元54诊断分支部分。当存在未收敛的分支时,流链接诊断单元44警告该事实。然后,流链接优化45根据作业管理软件的流方法,使用分支优化单元58来优化流链接。如图11所示,分支优化单元58对并行分支部分进行排序,并且解决分支的交叉。图12是示出作业网络生成单元13的输入/输出关系的示图。作业网络生成单元13输入中间文件的JCL描述,并且输出流链接和脚本文件。
图13是示出JCL到中间文件转换单元12的处理的流程图。JCL到中间文件转换单元12打开JCL文件(步骤21-1),并且逐行地读取JCL描述(步骤21-2)。中间文件生成单元32重复转换处理,直到检测到JCL文件的EOF(文件的结束)(步骤21-3)。在输入JCL文件的EOF(步骤21-3:是)之前,中间文件生成单元32搜索转换词典36(步骤21-4),并且检查读取的行是否是转换目标行(该行是否在转换词典36中)(步骤21-5)。如果该行是转换目标行,则中间文件生成单元32使用转换词典36的搜索结果来转换该行,并且将结果输出至中间文件(步骤21-8)。如果该行不是转换目标行,则中间文件生成单元32按照原样将该行输出至中间文件(步骤21-7)。当检测到JCL文件的EOF时(步骤21-3:是),中间文件生成单元32关闭中间文件(步骤21-6)。中间文件输出单元34向作业网络生成单元13传输作为转换结果而创建的中间文件。通过该转换过程,JCL文件被转换为使用外壳语言描述的中间文件。中间文件生成单元32将作为注释行的后续转换处理所需的JCL指令行保留原样。
图14-图17是示出作业网络生成单元13的流链接创建处理的流程图。该实施方式的作业网络生成单元13根据以下JCL指令行生成流链接。
¥JOB(JCL描述的开始)
¥ENDJOB(JCL描述的结束)
¥SUBJOB(并行执行处理描述的开始)
¥ENDSUBJOB(并行执行处理描述的结束)
¥WAITSUB(与指定的¥SUBJOB相对应的结束同步或者结束等待)
¥RUN(开始由指定的JCL文件描述的作业)
如图14所示,在打开接收自JCL到中间文件转换单元12的中间文件(步骤22-1)之后,作业网络生成单元13中的JCL分析单元41逐行读取中间文件(步骤22-2)。JCL分析单元41重复中间文件的读取,直到检测到EOF(步骤22-3)。当检测到中间文件的EOF时(步骤22-3:是),JCL分析单元41作为错误结束中间文件的分析。
在检测到中间文件的EOF(步骤22-3:是)之前,JCL分析单元41区分读取的行是否是JCL指令行(¥JOB行)(步骤22-4)。如果不是¥JOB行(步骤22-4:否),则JCL分析单元41读取下一行。如果是¥JOB行(步骤22-4:是),则JCL分析单元41打开作业网络流(步骤22-5),并且进行到图15的详细分析处理。
在图15的详细分析处理中,首先,作为初始化过程,流链接创建单元43向基(BASE)路径添加开始部分,并且随后,添加单位作业部分并且开始创建流链接。流链接创建单元43进一步在存储器单元B1中创建与单位作业部分相关的脚本文件,并将其打开(步骤23-1)。如果读取的行不是JCL指令行,则脚本文件分割单元42将该行存储在打开的脚本文件中。
JCL分析单元41逐行地读取中间文件(步骤23-2),并且重复该读取直到EOF(步骤23-3)。如果读取的行是¥SUBJOB行(步骤23-4),则流链接创建单元43关闭基路径的单位作业部分(步骤23-9),并且向基路径添加并行分支部分(步骤23-10)。流链接创建单元43进一步在并行分支路径中创建单位作业部分(步骤23-11)。脚本文件分割单元42存储与该单位作业部分相关的脚本文件中所有的行直到¥ENDSUBJOB。之后,流链接创建单元43继续进行并行分支路径处理(步骤23-12)。
当读取目标行是¥WAITSUB行,并且JOBNAME自变量不存在时(步骤23-5),流链接创建单元43关闭基路径的单位作业部分(步骤23-13)。接下来,流链接创建单元43向基路径添加焦点(FOCUS:等待)部分,搜索¥WAITSUB行的自变量中描述的并且应当进行收敛的分支,并且通过该焦点部分收敛所有的并行分支部分(步骤23-14)。然后,流链接创建单元43创建基路径中的下一单位作业部分并且打开该部分(步骤23-15)。
如果读取目标行是¥WAITSUB行,并且其自变量是JOBNAME(步骤23-6),则流链接创建单元43关闭基路径的单位作业部分(步骤23-16)。然后,流链接创建单元43向基路径添加焦点部分,搜索具有¥WAITSUB行的自变量中所描述的JOBNAME的路径,并且通过该焦点部分收敛这些并行分支部分(步骤23-17)。然后,流链接创建单元43创建基路径中的下一单位作业部分,并且打开该部分(步骤23-18)。
如果读取目标行是¥ENDJOB行(步骤23-7),则流链接创建单元43结束流链接的创建,并且关闭作业网络流(步骤23-19)。
如果读取目标行是¥RUN行,并且其参数值是HOLD=N(步骤23-8),则流链接创建单元43进行¥RUN处理(步骤23-20)。HOLD=N的参数值表示:自变量中指定的JOBNAME被激活N次(¥ACTIVATE)之后,执行JOBNAME(¥RUN)。
如果读取目标行既不是¥SUBJOB行也不是¥WAITSUB行、¥ENDJOB行、参数值为HOLD=N的¥RUN行,则流链接创建单元43判断读取的行不是标识符行(步骤23-21)。脚本文件分割单元42将此行添加至与当前打开的单位作业部分相关的脚本文件中(步骤23-22)。
图16是示出并行分支路径处理的流程图。首先,流链接创建单元43打开并行分支路径中的单位作业部分(步骤24-1)。然后,JCL分析单元41逐行读取中间文件(步骤24-2),并且重复该读取直到检测到EOF(步骤24-3)。流链接创建单元43确定读取的行是否是“¥RUN HOLD=ON”或者“¥ACTIVATE”(步骤24-4)。如果是其中之一,则流链接创建单元43进行¥RUN处理(步骤24-5)。如果不是其中之一,则流链接创建单元43确定读取的行是否是“¥ENDSUBJOB”(步骤24-6)。如果读取的行是“¥ENDSUBJOB”,则流链接创建单元43关闭单位作业部分(步骤24-7),关闭并行分支部分(步骤24-8),并且结束并行分支路径处理。如果读取的行不是“¥ENDSUBJOB”,则流链接创建单元43假设该行是处理行(步骤24-9),并且将该行附加到与单位作业部分相关的脚本文件中(步骤24-10)。
图17是示出RUN处理的流程图。在图17中,如果行是“¥RUNHOLD=ON”,则流链接创建单元43关闭单位作业部分(步骤25-1),并且创建N个事件接收部分(步骤25-2)。然后,流链接创建单元43在流链接中创建子作业网络“JOBNAME”(步骤25-3),并且打开下一单位作业(步骤25-4)。另一方面,如果该行不是“¥RUNHOLD=ON”,则流链接创建单元43关闭单位作业部分(步骤25-5),并且创建事件传输部分(步骤25-6)。然后,流链接创建单元43打开下一单位作业部分(步骤25-7)。
在完成JCL描述的扫描时,等待管理单元56扫描分支(BRANCH)部分,并且如果存在未收敛分支部分,则警告该事实。然后,流链接优化单元45根据焦点部分的索引(index)对分支部分进行排序。
图18是示出作业网络输出单元14的输出处理的流程图。作业网络输出单元14在图18的流程图之后,将流链接等转换为针对目标作业管理软件的作业网络定义。在图18中,首先,作业网络输出单元14确定流链接的链接结构是否正确(步骤26-1)。如果其不正确,则作业网络输出单元14输出错误。如果其正确,则作业网络输出单元14确定其是否具有可以绘制为作业网络的结构或者可以输出至文件的结构(步骤26-2)。如果其具有此类结构,则作业网络输出单元14将链接结构照原样绘制为作业网络流,或者将其输出至文件(步骤26-3)。如果其不具有此类结构,则作业网络输出单元14确定其是否可以进行修正(步骤26-4),并且如果可以进行修正,则修正该链接结构,并且将其绘制为作业网络流或者将其输出至文件(步骤26-5)。
开放系统的作业管理软件输入作业网络自动生成装置10生成的作业网络定义。作业管理软件根据并行执行的控制流和由流链接表示的收敛(同步)来解释作业网络定义,启动由作业网络自动生成装置10所生成的脚本,并且获得所启动脚本的结束同步。通过该作业管理软件的操作,主机计算机上以JCL描述的作业可以在开放系统中执行。
如上所述,该实施方式的作业网络自动生成装置10具有以下效果。第一个效果在于:充分降低了从主机计算机向开放系统的作业环境转换的成本。这是因为该实施方式的作业网络自动生成装置10支持从JCL到作业网络的自动转换,并且用于手动作业迁移的人力和风险变得极小。
第二个效果在于:极大地改善了作业环境转变之后的可维护性。这是因为由作业网络自动生成装置10自动生成的作业网络流是具有较高可维护性的简单流。因此,转变之后的作业监控和修改工作与JCL文件的情况相比变得非常容易。
第三个效果在于:可以容易地执行使用通用作业管理软件的作业操作。这是因为作业网络自动生成装置10用来将复杂流转换为具有简单形状的流的算法可以应用于通用作业管理软件的流优化中。这是因为,可以将作业管理软件的流转换为具有较高可维护性的流。
图19是示出本发明的作业网络自动生成装置10的基本结构的示图。作业网络自动生成装置10包括作业网络生成单元13和作业网络输出单元14。
作业网络生成单元13创建流链接和脚本文件,其中流链接描述来自输入的JCL文件的作业中的作业步骤控制流,而脚本文件与流链接相关,并且其中每个描述一个作业步骤。作业网络输出单元14根据流链接和脚本文件来创建作业网络定义文件。
在该基本结构中,中间文件不由JCL到中间文件创建单元12创建。假设中间文件例如由另一装置创建,并且预先存储在存储器单元A1中。
如上所述,参考示例性实施方式描述了本发明。然而,本发明不限于上述的示例性实施方式。在本发明的范围内以及在本领域技术人员可以理解的程度内,可以对于本发明的组成和细节做出各种改变。
本申请要求基于2008年3月7日提交的日本专利申请号2008-058805的优先权,并且在此并入其全部公开内容。

Claims (15)

1.一种作业网络自动生成设备,包括:
作业网络生成装置,其根据输入的JCL(作业控制语言)文件,创建描述作业中的作业步骤控制流的流链接以及描述与所述流链接相关的作业步骤的脚本文件;以及
作业网络输出装置,其根据所述流链接和所述脚本文件,来创建作业网络定义文件。
2.如权利要求1所述的作业网络自动生成设备,其中所述作业网络创建装置根据所述JCL文件的处理行来生成所述脚本文件,并且根据所述JCL文件的JCL指令行来生成所述流链接。
3.如权利要求2所述的作业网络自动生成设备,其中所述作业网络生成单元输入包括并行执行处理描述和结束同步描述的所述JCL指令行,
当输入所述并行执行处理描述时,从所述流链接中描述的所述作业的顺序执行流(主干),导出与所述主干并行执行的流(分支),
当输入所述结束同步描述时,将所述分支收敛到所述流链接中的所述主干,
生成所述脚本文件,每个所述脚本文件对应于具有所述并行执行处理描述和所述结束同步描述作为边界的流的每个经划分部分,并且每个所述脚本文件与所述主干和所述分支的每一个相关。
4.如权利要求3所述的作业网络自动生成设备,包括:
转换词典,
JCL到中间文件转换单元,其使用所述转换词典将输入的所述JCL文件转换为中间文件,其中
所述作业网络创建装置根据所述中间文件来创建所述流链接。
5.如权利要求4所述的作业网络自动生成设备,其中所述作业网络生成单元对应于所述并行执行处理描述来创建所述流链接中的并行部分,并且对应于所述结束同步描述来创建所述流链接中的等待部分。
6.一种记录作业网络自动生成程序的记录介质,使计算机执行:
作业网络生成处理,其中根据输入的JCL(作业控制语言)文件创建描述作业中的作业步骤控制流的流链接以及描述与所述流链接相关的作业步骤的脚本文件;以及
作业网络输出处理,其中根据所述流链接和所述脚本文件来创建作业网络定义文件。
7.如权利要求6所述的记录所述作业网络自动生成程序的记录介质,其中所述计算机
执行所述作业网络创建处理,其中根据所述JCL文件的处理行来生成所述脚本文件,并且根据所述JCL文件的JCL指令行来生成所述流链接。
8.如权利要求7所述的记录所述作业网络自动生成程序的记录介质,其中所述计算机
执行所述作业网络生成处理,其中输入包括并行执行处理描述和结束同步描述的所述JCL指令行,
当输入所述并行执行处理描述时,从所述流链接中描述的所述作业的顺序执行流(主干),导出与所述主干并行执行的流(分支),
当输入所述结束同步描述时,将所述分支收敛到所述流链接中的所述主干,
生成所述脚本文件,每个所述脚本文件对应于具有所述并行执行处理描述和所述结束同步描述作为边界的流的每个经划分部分,并且每个所述脚本文件与所述主干和所述分支的每一个相关。
9.如权利要求8所述的记录所述作业网络自动生成程序的记录介质,其中所述计算机包括转换词典,执行:
JCL到中间文件转换处理,其中使用所述转换词典将输入的所述JCL文件转换为中间文件,以及
所述作业网络创建处理,其中根据所述中间文件来创建所述流链接。
10.如权利要求9所述的记录所述作业网络自动生成程序的记录介质,其中所述计算机执行:
所述作业网络生成处理,其中对应于所述并行执行处理描述来创建所述流链接中的并行部分,并且对应于所述结束同步描述来创建所述流链接中的等待部分。
11.一种作业网络自动生成方法,其中计算机根据输入的JCL(作业控制语言)文件来创建描述作业中的作业步骤控制流的流链接以及描述与所述流链接相关的作业步骤的脚本文件;以及
根据所述流链接和所述脚本文件来创建作业网络定义文件。
12.如权利要求11所述的作业网络自动生成方法,其中所述计算机
根据所述JCL文件的处理行来生成所述脚本文件,并且根据所述JCL文件的JCL指令行来生成所述流链接。
13.如权利要求12所述的作业网络自动生成方法,其中所述计算机
输入包括并行执行处理描述和结束同步描述的所述JCL指令行,
当输入所述并行执行处理描述时,从所述流链接中的所述作业的顺序执行流(主干),导出与所述主干并行执行的流(分支),
当输入所述结束同步描述时,将所述分支收敛到所述流链接中的所述主干,
生成所述脚本文件,每个所述脚本文件对应于具有所述并行执行处理描述和所述结束同步描述作为边界的流的每个经划分部分,并且使每个所述脚本文件与所述主干和所述分支的每一个相关。
14.如权利要求13所述的作业网络自动生成方法,其中所述计算机包括转换词典,
使用所述转换词典将输入的所述JCL文件转换为中间文件,以及
根据所述中间文件来创建所述流链接。
15.如权利要求14所述的作业网络自动生成方法,其中所述计算机
对应于所述并行执行处理描述来创建所述流链接中的并行部分,以及对应于所述结束同步描述来创建所述流链接中的等待部分。
CN200980104745XA 2008-03-07 2009-02-26 作业网络自动生成装置、方法和程序记录介质 Pending CN101939728A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-058805 2008-03-07
JP2008058805A JP2009217405A (ja) 2008-03-07 2008-03-07 ジョブネットワーク自動生成方式及びプログラム
PCT/JP2009/054117 WO2009110525A1 (ja) 2008-03-07 2009-02-26 ジョブネットワーク自動生成装置、方法及びプログラム記録媒体

Publications (1)

Publication Number Publication Date
CN101939728A true CN101939728A (zh) 2011-01-05

Family

ID=41056077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980104745XA Pending CN101939728A (zh) 2008-03-07 2009-02-26 作业网络自动生成装置、方法和程序记录介质

Country Status (5)

Country Link
US (1) US20110035746A1 (zh)
EP (1) EP2251785A4 (zh)
JP (1) JP2009217405A (zh)
CN (1) CN101939728A (zh)
WO (1) WO2009110525A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269593A (zh) * 2016-05-19 2021-01-26 特脉克斯软件株式会社 转换排序脚本以在不同编码环境下重用jcl的方法和装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
CN102004666A (zh) * 2010-11-25 2011-04-06 中国工商银行股份有限公司 一种大型计算机作业排程设备及系统
JP6138701B2 (ja) * 2011-03-04 2017-05-31 富士通株式会社 分散計算方法及び分散計算システム
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8924974B1 (en) * 2011-06-08 2014-12-30 Workday, Inc. System for error checking of process definitions for batch processes
KR101657339B1 (ko) 2013-05-22 2016-09-19 매그나칩 반도체 유한회사 Dll 동작 모드 제어회로 및 그 방법
US10135749B2 (en) * 2013-09-23 2018-11-20 Sears Brands, L.L.C. Mainframe migration tools
CA3092699C (en) * 2013-12-06 2023-07-25 Ab Initio Technology Llc Source code translation
US20160070698A1 (en) * 2014-09-04 2016-03-10 Total System Services, Inc. Database Management System Tools for An Automated Work to Stage Process
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US11226841B2 (en) 2016-03-22 2022-01-18 Mitsubishi Electric Corporation Information processing system, information processing device, and information processing method
US10540737B2 (en) * 2017-12-22 2020-01-21 International Business Machines Corporation Processing unit performance projection using dynamic hardware behaviors
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320315A (zh) * 2007-02-19 2008-12-10 日本电气株式会社 用于从作业控制语句生成作业网络流的装置及其方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2624753B2 (ja) * 1988-03-18 1997-06-25 株式会社日立製作所 上位仕様書作成方法
JPH0553785A (ja) * 1991-08-23 1993-03-05 Hitachi Ltd 図形エデイタとテキストエデイタの連動編集方法
JP3181994B2 (ja) * 1992-09-03 2001-07-03 株式会社日立製作所 ジョブフロー仕様書自動作成方法
JPH06318151A (ja) * 1992-09-09 1994-11-15 Central Syst Kk フロー図・処理プログラム間変換装置および方法
JP2551312B2 (ja) * 1992-12-28 1996-11-06 日本電気株式会社 ジョブステップ並列実行方式
JPH08147156A (ja) * 1994-11-21 1996-06-07 Shunei Iida プログラム移植システム
JP3755165B2 (ja) * 1995-06-22 2006-03-15 富士通株式会社 並列処理手続き選定装置及び方法
JP3251203B2 (ja) * 1997-06-27 2002-01-28 エヌイーシーシステムテクノロジー株式会社 Jclプログラム変換装置、jclプログラム変換方法、および、記録媒体
JP2001166928A (ja) 1999-12-06 2001-06-22 Hitachi Ltd ジョブネットの自動生成装置
JP3641997B2 (ja) 2000-03-30 2005-04-27 日本電気株式会社 プログラム変換装置及び方法並びに記録媒体
JP4791660B2 (ja) * 2001-08-23 2011-10-12 日立公共システムエンジニアリング株式会社 データフロー自動生成装置とデータフロー自動生成方法およびコンピュータ読み取り可能な記録媒体
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
JP2005107828A (ja) * 2003-09-30 2005-04-21 Central Computer Services Co Ltd ジョブフロー作成システム及びプログラム
TWI335541B (en) * 2004-02-18 2011-01-01 Ibm Grid computing system, management server, processing server, control method, control program and recording medium
JP4461111B2 (ja) 2006-03-24 2010-05-12 日本証券テクノロジー株式会社 バッチ系のシステム設計図自動生成方式
US8572616B2 (en) * 2006-05-25 2013-10-29 International Business Machines Corporation Apparatus, system, and method for managing z/OS batch jobs with prerequisites
JP4776571B2 (ja) * 2007-03-16 2011-09-21 富士通株式会社 実行制御プログラム,実行制御方法及び実行制御装置
US7958188B2 (en) * 2007-05-04 2011-06-07 International Business Machines Corporation Transaction-initiated batch processing
US20090217272A1 (en) * 2008-02-26 2009-08-27 Vita Bortnikov Method and Computer Program Product for Batch Processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320315A (zh) * 2007-02-19 2008-12-10 日本电气株式会社 用于从作业控制语句生成作业网络流的装置及其方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269593A (zh) * 2016-05-19 2021-01-26 特脉克斯软件株式会社 转换排序脚本以在不同编码环境下重用jcl的方法和装置

Also Published As

Publication number Publication date
EP2251785A1 (en) 2010-11-17
JP2009217405A (ja) 2009-09-24
WO2009110525A1 (ja) 2009-09-11
US20110035746A1 (en) 2011-02-10
EP2251785A4 (en) 2013-01-02

Similar Documents

Publication Publication Date Title
CN101939728A (zh) 作业网络自动生成装置、方法和程序记录介质
JP7090778B2 (ja) 影響分析
CN103069385B (zh) 用于动态加载基于图的计算的系统和方法
JP4962564B2 (ja) 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム
US7934205B2 (en) Restructuring computer programs
CN112711411A (zh) 一种基于Kubernetes及docker的CI/CD流水线系统
CN110532072A (zh) 基于微内核操作系统的分布式流式数据处理方法及系统
CN112131855B (zh) 银行凭证模板生成方法及装置
CN114139923A (zh) 任务关联性分析方法、装置及计算机可读存储介质
Bic A process-oriented model for efficient execution of dataflow programs
JPH096628A (ja) 並列処理手続き選定装置及び方法
CN108874395A (zh) 一种组件化流处理过程中的硬编译方法及装置
JP3318051B2 (ja) 翻訳処理方法
Lucas et al. Extracting mode diagrams from Blech code
CN107180193A (zh) 一种将程序代码转换成数据约束的方法和装置
WO2008041442A1 (fr) Procédé de création de programme par parallélisation, dispositif de création de programme par parallélisation, et programme de création de programme par parallélisation
US9003383B2 (en) Analytic engine to parallelize serial code
US8510342B1 (en) Automatic conversion of build processes to use streaming input
CN116627392B (zh) 一种基于交互式ide的模型开发方法及系统
JP2011258248A (ja) ジョブネットワーク自動生成方式及びプログラム
Wurdel et al. Task model refinement with meta operators
Posch et al. Design and implementation of the Alida framework to ease the development of image analysis algorithms
CN107562430A (zh) 一种针对移动π演算语言的文件处理功能的编译方法
Boubakir et al. An Incremental Approach for the Extraction of Software Product Lines from Model Variants
Wang et al. Automating three-dimensional reconstruction of icosahedral virus structure with Condensed Graphs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110105