CN107402798B - 转换排序脚本以在不同编码环境下重用jcl的方法和装置 - Google Patents
转换排序脚本以在不同编码环境下重用jcl的方法和装置 Download PDFInfo
- Publication number
- CN107402798B CN107402798B CN201610615255.8A CN201610615255A CN107402798B CN 107402798 B CN107402798 B CN 107402798B CN 201610615255 A CN201610615255 A CN 201610615255A CN 107402798 B CN107402798 B CN 107402798B
- Authority
- CN
- China
- Prior art keywords
- copy
- job
- data
- executable program
- description
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
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)的方法和装置。方法包括:步骤A,划分JCL中的一个或多个作业步骤;步骤B,从作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD);步骤C,从与可执行程序对应的可执行程序源获取与数据描述对应的文件描述(FD);步骤D,基于文件描述生成第一副本;步骤E,通过比较第一副本和作业步骤中包括的排序字段确定有效性;以及步骤F,根据有效性的确定结果,基于第一副本生成和存储第二副本。
Description
相关申请的交叉引用
本申请要求2016年5月19日向韩国知识产权局提出的韩国专利申请No.10-2016-0061535的权益,其全部内容通过引用并入本文。
技术领域
本发明涉及用于转换排序脚本以在不同编码环境下重用JCL(作业控制语言)的方法和存储于计算机可读介质中的计算机程序,尤其涉及当执行以JCL描述的排序脚本时分析用于根据编码差异转换脚本的信息的方法,基于分析信息提供排序脚本转换信息的方法,以及用于执行上述功能的计算机程序。
背景技术
二十世纪六十年代到七十年代期间,政府、金融机构和大型公司引进了主机系统以处理企业活动所需的各种数据。主机系统指的是使用中心汇集方法将多个终端与一台计算机相连接从而执行各种作业的通用大型计算机。例如,IBM公司开发的360系统是主机系统的一个例子。从此,主机系统引领企业计算机产业不断发展了近30年。然而,在八十年代末期,为了节约系统的运营成本,集合开放系统的优势和精简的具有开放系统如Unix平台的分布式环境成为趋势,因此在很大程度上削弱主机系统的地位。
与主机系统不同,开放系统并不依赖于特定公司的封闭式技术或程序。相反,其接口是开放的以便开放系统连接至或移植到不同类型的计算机。UNIX是开放系统的例子。最近,已经试图将主机系统完全重建为开放系统,这是危险的,并且需要高成本以及大量的人力和时间。
主机转换的解决方案被建议为一种新的替代方法。主机转换是一种高IT系统实现策略,它可以在不重新开发应用程序的情况下,将主机系统环境下构建和操作的IT系统转换为开放环境下的系统,以按现状重用。主机转换可以节约完全重建的初期成本和时间,并能充分利用现有资源,因此最小化风险,并且可以期待其他各种积极影响。
为了在不同编码环境下重用JCL,需要转换排序脚本,例如在主机系统中使用的扩充的二进制编码的十进制交换码(EBCDIC)和在开放系统中使用的美国信息交换标准码(ASCII)。因此,主机系统和开放环境的排序顺序是不同的,从而当通过复杂字段配置用作排序关键字的字段时,研究通过自适应编码分离待被排序的字段的方法是有必要的。
相关技术文献:韩国专利No.10-1379855。
发明内容
本发明的示例性实施例已经致力于提供一种用于转换排序脚本以在不同编码环境下重用JCL的方法和装置,从而当通过EBCDIC而不是通过ASCII在Unix环境中维持排序脚本编码时能够自动转换各个JCL。
本发明的另一个示例性实施例致力于提供一种用于转换排序脚本以在不同编码环境下重用JCL的方法和装置,从而可以确保比其他相关技术高的速度和精确性。
本发明的示例性实施例提供一种用于在不同编码环境下重用JCL的排序脚本转换方法。所述方法包括:步骤A,划分JCL中的一个或多个作业步骤;步骤B,从所述作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD);步骤C,从所述可执行程序对应的可执行程序源获取所述数据描述对应的文件描述(FD);步骤D,基于所述文件描述生成第一副本(copy book);步骤E,通过比较所述第一副本和所述作业步骤中包括的排序字段确定有效性;步骤F,根据有效性的确定结果,基于第一副本生成和存储第二副本;以及步骤G,通过参考第二副本对排序字段进行转换。
所述步骤B可包括:当所述作业步骤中使用的可执行程序是排序程序时,从包含排序程序的作业步骤中提取数据集名称,并从包含数据集名称的第二作业步骤中提取可执行程序和数据描述。
所述步骤B可进一步包括在第一作业步骤中提取与数据集名称对应的排序字段。
所述步骤C可包括:在数据库中搜索与可执行程序对应的可执行程序源,从所述可执行程序源中提取与数据描述对应的文件描述,以及在文件描述中获取与数据集名称对应的数据的布局,以及基于所述布局生成第一副本。
所述步骤E可包括:通过比较所述第一副本和所述数据集名称对应的数据的排序字段,确定所述第一副本是否与排序字段相匹配。
所述步骤F可包括:当通过比较第一副本和数据集名称对应的数据的排序字段得到所述第一副本与数据的排序字段相匹配的结果时,将所述第一副本设置为第二副本。
所述可执行程序可包括面向商业的通用语言(COBOL)。
本发明的另一个示例性实施例提供了一种在不同编码环境下重用JCL的排序脚本转换装置,包括:作业步骤划分单元,用于划分JCL中的一个或多个作业步骤;提取单元,用于从所述作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD);文件描述获取单元,用于从所述可执行程序对应的可执行程序源获取所述数据描述对应的文件描述(FD);第一副本生成单元,用于基于所述文件描述生成第一副本;有效性确定单元,用于通过比较所述第一副本和所述作业步骤中包括的排序字段确定有效性;第二副本生成单元,用于根据所述有效性的确定结果,基于第一副本生成和存储第二副本;以及排序字段转换单元,用于通过参考第二副本对排序字段进行转换。
根据本发明示例性实施例的用于转换排序脚本以在不同编码环境下重用JCL的方法和装置,可以通过相同的排序顺序处理具有不同代码系统的系统中的数据。
根据本发明示例性实施例的用于转换排序脚本以在不同编码环境下重用JCL的方法和装置,JCL中的排序脚本可被自动转换,从而根据EBCDIC代码系统的顺序进行排序。
根据本发明示例性实施例的用于转换排序脚本以在不同编码环境下重用JCL的方法和装置,与相关技术的方法相比,可以确保高速度和精确性。
然而,本发明的效果不限于上述描述,对于本领域技术人员而言,以上没有提及的其他效果将从下面的描述中变得明显。
附图说明
将参考附图描述各个方面,相同的附图标记共同地表示相同的元素。在下面的示例性实施例中,为了描述的目的,建议多个特定细节以更好地理解一个或多个方面。但是,明显的是方面也可被体现为不具有这些特定细节。在其他例子中,已知的结构和装置将被示为框图以简单地描述一个或多个方面。
图1是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换系统的框图。
图2是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换装置的内部配置的框图。
图3是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换方法的流程图。
图4示出根据本发明示例性实施例的JCL。
图5是根据本发明示例性实施例的可执行程序的作业步骤以及使用的可执行程序源。
图6示出根据本发明示例性实施例的确定第一副本的有效性的方法。
图7示出根据本发明示例性实施例的通过参考第二副本转换排序字段的方法。
图8示出根据本发明示例性实施例的执行排序脚本转换程序以在不同编码环境下重用JCL的计算机的框图。
图9示出根据本发明示例性实施例的执行排序脚本转换程序以在不同编码环境下重用JCL的示例性计算环境的示意框图。
具体实施方式
通过下面结合附图的示例性实施例,本发明的上述目的、特征及优点将变得明显。为了描述根据本发明的概念的示例性实施例,下面阐释特定结构或功能性说明。根据本发明的概念的示例性实施例可通过多种形式体现,但不能被解释为限于本说明书或申请中所述的示例性实施例。
各种修改及改变可以应用于根据本发明的概念的示例性实施例,并且示例性实施例可以具有多种形式,因此在本说明书或申请中将参考附图详细描述示例性实施例。但是这并不将本发明限制在特定示例性实施例的范围内,并且应理解的是,本发明包含落入本发明的精神和技术范围内的所有修改、等同及替换。
术语如第一或第二可用来描述不同的部件,但所述部件并不限于上述术语。上述术语可用于将一个部件从其他部件中区分出来,例如,在不超过根据本发明的概念所限定的范围的情况下,第一部件可以被称为第二部件,类似地,第二部件也可以被称为第一部件。
需要理解的是,当描述某一元素与另一元素“相连”或“连接”时,所述元素可以是直接与其他元素相连或连接或通过第三元素与其他元素相连或连接。相反,应理解的是,当某一元素被称为与其他元素“直接连接”或“直接相连”时,其他元素不介入其间。其他用于描述元素之间关系的表达例如“之间”、“直接之间”、“相邻”或“直接相邻”同样适用于上述解释。
本说明书中所用的术语仅用于描述特定实施例,并且不旨在限制本发明。除非上下文中有明确相反的意思,单数形式可以包括复数形式。需要理解的是,本说明书中的术语“包括”或“具有”表示存在本说明书中描述的特征、数字、步骤、操作、部件、部分或其组合,但并不排除预先存在或添加一个或多个其他特征、数字、步骤、操作、部件、部分或其组合的可能性。
除非有相反意义的定义,本文使用的所有术语(包括技术术语和科学术语)具有与本领域技术人员广泛理解的含义相同的含义。除非本说明书中有明确的定义,否则通用字典中定义的术语应被解释为具有与相关领域中的含义相同的含义,而不能被解释为理想的或过于正式的含义。
作业控制语言(以下缩写为JCL)通知操作系统做什么以便处理数据。由含有一系列规则的JCL语句配置JCL。可以通过JCL语句向操作系统指明需要操作哪些过程,即需要执行哪些程序,或程序需要哪些资源。
JCL语句可实现以下功能。JCL语句将作业提交给操作系统。进一步地,JCL语句建议操作系统该做什么。JCL语句可请求操作系统向特定数据集分配硬件装置或指定待被执行的程序。
用户向操作系统提交的一系列待被执行的作业称为输入作业流。输入作业流由一个或多个作业配置,其中一个作业由一个或多个步骤配置。每个作业可以由以下的JCL语句配置。例如,JCL语句可以包含指示作业开始的“作业语句”,指示步骤开始的一个或多个“执行语句”,定义执行作业步骤所需的数据集的“DD语句”,以及指示输入数据和输入数据的结束的“分隔语句”。
一个步骤是需要在含有多个处理器(CPU)的系统中的相同处理器上执行的最小的作业单元。也就是说,一个步骤可被划分为不并行执行的多个子步骤。通过高度系统处理技术可以并行执行相同作业中的步骤。但是,通过系统环境和作业特性确定是否执行和并行执行程度。
作业语句可以通知操作系统作业的开始。作业语句可指定用于区分作业的信息和执行作业所需要的参数。而且,当发现下一个作业语句或发现空语句时,一个作业结束。
作业步骤从指定待被执行的程序的名称的执行语句开始。一个作业中存在一个或多个作业步骤。当一个作业步骤遇到下一个执行语句、作业语句或空语句时,该作业步骤结束。
DD语句指定程序所需的数据集(与UNIX服务器中的文件类似),通过一个DD语句指定一个数据集。DD语句指定数据集的名称,将要使用的输入/输出设备,数据集的位置,分配方法及其他数据集特征。
下面将参考附图详细描述本发明的示例性实施例。
图1是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换系统的框图。
参考图1,根据本发明示例性实施例的排序脚本转换系统包括主机系统100,开放系统200以及排序脚本转换装置300。
例如,主机系统100是用于工业领域的终端,指的是由大型公司如IBM所开发的大型计算机。主机系统100主要用于非常大型的公司如大公司或金融机构的商业活动所需的计算作业。所述主机系统100不仅通过分布式计算方法配置,还通过中心汇集方法配置。
开放系统200是工业术语,要求将不同计算机制造商的硬件H/W和软件S/W设计为彼此相连的方法。开放系统200可被分为多个域,例如操作系统和通信。这里,开放系统是中等大小的计算机,其中装载有操作系统,例如UNIX或Linux。
排序脚本转换装置300将主机系统100的JCL划分为一个或多个作业步骤,并从划分后的作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD)。然后,排序脚本转换装置300从可执行程序对应的可执行程序源获取数据描述对应的文件描述(FD),并基于获取到的文件描述生成第一副本。排序脚本转换装置300通过比较生成的第一副本和作业步骤中包括的排序字段而确定有效性,然后根据有效性确定结果基于第一副本生成第二副本并存储第二副本。进一步地,排序脚本转换装置300可以通过参考第二副本对排序字段进行转换。通过这样做,当通过EBCDIC而不是通过ASCII在Unix环境中维持排序脚本编码时,根据本发明示例性实施例的排序脚本转换装置300自动转换地转换各个JCL。因此,与现有技术的方法相比,可确定高速度和精确性。
根据本发明示例性实施例的排序脚本转换装置300可以是OFMiner。OFMiner可以包括分析系统,该分析系统对主机的资产(JCL,JCL程序,COBOL源,副本或地图)进行解析和分析作业以形成其数据库,并且提取数据迁移或资产分析(目的在于理解整个系统)所需要的信息用于执行实际项目。
图2是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换装置的内部配置的框图。
参考图2,根据本发明示例性实施例的排序脚本转换装置300可包括作业步骤划分单元310,提取单元320,文件描述获取单元330,第一副本生成单元340,有效性确定单元350,第二副本生成单元360和排序字段转换单元370。
作业步骤划分单元310可以划分JCL中一个或多个作业步骤。JCL可包括一个或多个作业步骤。每一个作业步骤可以包含可执行程序(PGM),数据集名称(DSN)以及数据描述(DD)中的至少一个。
提取单元320可以从作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD)。JCL中的可执行程序(PGM)可由执行语句配置。在一个示例性实施例中,可执行程序可包括COBOL程序和SORT(排序)程序,但本发明的范围并不限于此。数据集名称(DSN)可在JCL的DD语句中确认。主机系统100中的数据集可对应于开放系统200中的文件。可以指定待在DD语句中使用的数据集名称,待使用的输入/输出设备,数据集的位置以及分配方法。
文件描述获取单元330可以从可执行程序对应的可执行程序源获取数据描述对应的文件描述(FD)。例如,当可执行程序是COBOL时,文件描述获取单元330可以搜索与可执行程序对应的COBOL程序源。COBOL程序源可以预先存储在数据库中,然后,可以从搜索到的COBOL程序源获得文件描述。在这种情况下,获得的文件描述可包括与数据描述对应的文件描述。也就是说,文件描述获取单元330可基于数据描述获得对应的文件描述。
第一副本生成单元340可以基于文件描述获取单元330获取的文件描述生成第一副本。也就是说,文件描述获取单元330在文件描述中获取与数据集名称对应的数据的布局,并使用获得的布局生成第一副本。
有效性确定单元350通过比较第一副本生成单元340生成的第一副本和作业步骤中包括的排序字段而确定有效性。当作业步骤中包括的排序字段与第一副本相对应时,有效性可被批准。
第二副本生成单元360可以根据有效性确定单元350的确定结果,将第一副本指定或设置为第二副本。检查JCL中包括的排序字段是否为开放系统200和有效性被批准的第二副本中使用的排序字段可以用作在必要时转换排序字段的基础材料。
排序字段转换单元370可以通过参考第二副本对JCL中包括的排序字段进行转换。JCL中包括的排序字段并不总是被转换。只有在使用JCL中包括的排序字段没有在开放系统200中获得相同结果时,排序字段才需要被转换。
图3是示出根据本发明示例性实施例的用于在不同编码环境下重用JCL的排序脚本转换方法的流程图。
参考图3,作业步骤划分单元310可在步骤S110中划分JCL中的一个或多个作业步骤。
JCL语句包括作业语句,执行语句以及DD语句。如上所述,作业语句通知操作系统作业的开始并指定用于划分作业的信息以及执行作业所需的参数。作业步骤从执行语句开始,该执行语句指定待被执行的程序的名称。当一个作业步骤遇到下一个执行语句、作业语句或空语句时,该作业步骤结束。DD语句指定程序所需的数据集,并指定待被使用的数据集名称,将要使用的输入/输出设备,数据集的位置,分配方法及其他数据集特征。
图4示出根据本发明示例性实施例的JCL。
参考图4,根据本发明示例性实施例的JCL被分为四个作业步骤:ST01,ST02,ST03,以及ST04。在此,为了方便清楚地描述本发明的示例性实施例,描述四个步骤作为示例。但是,作业步骤不限于此。确认的是,执行语句和DD语句包含在每个步骤ST01,ST02,ST03,和ST04中,并且特别地,在作业步骤ST02中,使用排序程序并且通过排序字段定义数据集的排序。
再次参考图3,在步骤S120中,提取单元320可从作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD)。在图4所示的作业步骤ST01中,确认可执行程序(PGM)为COBOL1,数据集名称(DSN)为AAA.BBB,以及数据描述(DD)为SYSUT1。使用JCL中的PGM语句可以指定可执行程序源。在这种情况下,在相应的可执行程序源中存在定义的很多文件描述(FD)。在可执行程序的文件描述中,JCL的数据描述中定义的DD(SYSUT1)被分配给可执行程序的选择语句中的文件描述,以便请求数据描述。也就是说,只有当文件描述被理解时,才能通过文件描述的数据说明生成副本。
在图4所示的作业步骤ST02中,确认可执行程序(PGM)为SORT,数据集名称(DSN)为AAA.BBB,以及排序字段为SORT FIELDS=(1,2,CH,5,4,CH)。此处“1”表示LOCATION(SAM文件中控制字段的位置),“2”表示LENGTH(控制字段的长度),“CH”表示DATA FORMAT(控制字段的数据类型)。也就是说,应理解的是,在作业步骤ST02中包括的数据集AAA.BBB中,从第一字节的两个字节是字符(CH)排序,并且从第五字节的四个字节为字符(CH)排序。如果SORT FIELDS=(1,2,CH,5,4,BI),那么从第五字节的四个字节可以为数字(BI)排序。
通过同样的方法,在作业步骤ST03中,确认的是可执行程序(PGM)为SORT,数据集名称(DSN)为CCC.DDD,以及排序字段为SORT FIELDS=(1,2,CH,3,4,ZD)。也就是说,应理解的是,在作业步骤ST03中包括的数据集CCC.DDD中,从第一字节的两个字节是字符(CH)排序,并且从第三字节的四个字节为区域十进制(ZD)排序。如果SORT FIELDS=(1,2,CH,3,4,PD),那么从第三字节的四个字节为压缩十进制(PD)排序。
下面详细描述通过提取单元320从作业步骤提取可执行程序(PGM),数据集名称(DSN)以及数据描述(DD)的方法。首先,当作业步骤中使用的可执行程序为SORT程序时,从包含SORT程序的第一作业步骤中提取数据集名称。当确认图4所示的作业步骤ST02中EXECPGM=SORT时,则提取待被处理的数据集的名称AAA.BBB。然后,从包含数据集名称的第二作业步骤中提取可执行程序和数据描述。由于图4所示的作业步骤ST01中包含数据集的名称AAA.BBB,则可提取可执行程序PGM=COBOL1以及数据描述SYSUT1。并且,可在第一作业步骤中提取与数据集名称相对应的SORT FIELDS。总之,可在作业步骤ST02中配置排序信息,如表1所示。
表1
可在作业步骤ST03中配置排序信息,如表2所示。
表2
图5是根据本发明示例性实施例的可执行程序的作业步骤以及使用的可执行程序源。
参考图3-图5,文件描述获取单元330可在步骤310中从与可执行程序对应的可执行程序源获得数据描述对应的文件描述(FD)。首先,从数据库搜索可执行程序(COBOL1)对应的可执行程序源(COBOL.cb1),并可从可执行程序源提取数据描述对应的文件描述。从提取的文件描述获得数据集名称对应的数据的布局,并可以基于获得的布局生成第一副本。例如,由于可执行程序为作业步骤ST02中的COBOL1,搜索数据库以使用可执行程序源,即COBOL1.cb1。
在JCL中,声明作业步骤ST01的EXEC PGM为COBOL1,因此应理解的是,在这个信息中的COBOL.cb1源中定义数据集的布局。在这种情况下,COBOL.cb1可以声明多个文件描述。由于数据集AAA.BBB的数据描述为SYSUT1,因此从COBOL.cb1的选择语句找到使用SYSUT1的语句。可以理解的是,通过SELECT SYSUT1 to FDI语句,DD SYSUT1被分配给FD1,并且数据的布局也存在于FD1中。因此,在步骤S140中,第一副本生成单元340可基于文件描述生成第一副本。
图6示出根据本发明示例性实施例的确定第一副本的有效性的方法。
参考图3和图6,在步骤150中,有效性确定单元350通过比较第一副本和作业步骤中包括的排序字段确定有效性。为了确定有效性,有效性确定单元350通过比较第一副本和数据集名称对应的数据的排序字段确定第一副本是否与排序字段相匹配。如图6所示,比较第一副本(01 REC 03 REC-A PICX(1)03 REC-N COMP(1)03 REC-B PIC9(2)03 REC-C PICX(4))和作业步骤ST02的SORTFIELD=1,2,CH,5,4,CH以确定是否匹配。
在步骤S160中,当有效性的确定结果为第一副本与排序字段相匹配时,第二副本生成单元360将第一副本指定为第二副本,并生成和存储第二副本。在此,生成的第二副本可被用于转换排序字段。
在步骤S170中,排序字段转换单元370通过参考第二副本转换排序字段。主机系统100和开放系统200的编码彼此不同。例如,主机系统100(例如IBM)可使用EBCDIC而开放系统200(例如,UNIX环境)可使用ASCII。然而,因为编码方法不同,主机系统100中的排序脚本通过字符(CH)排序,处理在Unix环境中需要数字(BI)排序的部分。如果在Unix环境下字符(CH)排序与数字(BI)排序是不加以区分的,那么很难在不同编码环境下重用JCL。
图7示出根据本发明示例性实施例的通过参考第二副本转换排序字段的方法。
参考图7,排序字段转换单元370比较第二副本和作业步骤ST02的排序字段SORTFIELDS=(1,2,CH,5,4,CH)。作业步骤ST02的排序字段被定义使得从第一字节的两个字节为字符(CH)排序。但是,参考第二副本,当数据集AAA.BBB的实际排序被配置以便从第一字节的一个字节为字符(CH)排序以及从第二字节的一个字节为数字(BI)排序时,排序字段可由SORT FIELDS=(1,2,CH,5,4,CH)转换为SORT FIELDS=(1,1,CH,2,1,BI,5,4,CH)。当开放系统200中使用SORT FIELDS=(1,1,CH,2,1,BI,5,4,CH)时,开放系统200中的数据集AAA.BBB可被配置为从第二字节的一个字节为数字(BI)排序。
图8是示出根据本发明示例性实施例的执行排序脚本转换程序以在不同编码环境下重用JCL的计算机的框图。
参考图8,将简洁并大体地描述适用于执行根据本发明示例性实施例的各个方面的计算机环境。
尽管关于在一台或多台计算机上可以可执行的计算机可执行指令大体地描述本发明,但对于本领域技术人员明显的是,本发明可通过与其他程序模块和/或硬件和软件结合相连接而实现。
一般情况下,程序模块包括执行特定任务或实现特定抽象数据类型的例行程序、程序、组件、数据结构等。而且,本领域技术人员可理解的是,本发明提出的方法可以被其他计算机系统配置实现,所述的其他计算机系统配置不仅包括单一处理器或多处理器系统,小型计算机和主机电脑,还包括个人电脑,手持计算设备,基于微处理器的或可编程的家用电器(其可与待被操作的一个或多个相关设备连接)。
本发明的示出的方面可进一步在分布式运算环境中体现,其中一些任务可由通过通信网络相互连接的远程处理装置执行。在分布式运算环境中,程序模块可位于本地和远程存储装置中。
一般情况下,计算机包含各种计算机可读介质。任意计算机可访问的介质可以是计算机可读介质。计算机可读介质包含易失性介质、非易失性介质、便携介质和非便携介质。作为不限于此的示例,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括易失性介质、非易失性介质、便携介质和非便携介质,其可通过存储信息(如计算机可读指令,数据结构,程序模块或其他数据)的任意方法或技术实现。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字视频光盘(DVD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备或计算机可访问的并用于存储所需信息的其他任意介质。
通信介质一般执行计算机可读指令、数据结构、程序模块或调制数据信号(例如载波或其他传输机制)中的其他数据,并且包括所有信息传输介质。术语调制数据信号指的是其中信号的一个或多个特性被设置或改变以对信号中的信息进行编码的信号。作为不限于此的示例,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声音,无线电,红外线或其他无线介质。以上提到的介质的任意组合被认为也可包含在计算机可读介质的范围内。
示出了包括执行本发明的各个方面的计算机1102的示例性环境1100。计算机1102包括处理装置1104,系统存储器1106以及系统总线1108。系统总线1108将包括系统存储器1106(不限于此)的系统组件连接至处理装置1104。处理装置1104可能是众多商业处理器中的任意处理器。双处理器和其他多处理器架构也可被用作处理装置1104。
系统总线1108可以是各种类型的系统总线中的任意一种,这些系统总线通过使用存储总线,外部设备总线以及多种商业总线结构中的任意一个连接到本地总线。系统存储器1106包括只读存储器(ROM)1110和随机存取存储器RAM 1112。基本输入/输出系统(BIOS)存储于非易失性存储器1110中,例如ROM,EPROM以及EEPROM,BIOS包括基本例行程序,当计算机被激活时,其可协助在计算机1102中的组件之间传输信息。RAM 1112可进一步包括快速RAM,例如用于高速缓存数据的静态RAM。
计算机1102进一步包括嵌入式硬盘驱动器(HDD)1114(例如EIDE,SATA),嵌入式硬盘驱动器也可被配置为合适的底盘中的外部磁盘(未示出),磁软盘驱动器(FDD)1116(例如,用于从便携式磁盘中读取数据或在其中记录数据),以及光盘驱动器1120(例如,用于读取CD-ROM光盘1112,或从高质量光学介质(如DVD等)中读取数据或在其中记录数据)。硬盘驱动器1114、磁盘驱动器1116以及光盘驱动器1120可通过硬盘驱动器接口1124,磁盘驱动器接口1126以及光盘驱动器接口1128与系统总线1108相连。用于实现外部驱动的接口1124包含通用串行总线(USB)以及IEEE 1394接口技术中的至少一个或两个。
这些驱动器及与其相关的计算机可读介质提供数据,数据结构,计算机可执行指令等的非易失性存储。在计算机1102的情况下,驱动和介质对应于将任意数据存储为合适的数字类型。在对计算机可读介质的描述中,已经提到HDD、可移动磁盘以及可移动光学介质(例如CD或DVD)。但是,本领域技术人员熟知的是,其他类型的计算机可读介质如极碟驱动器,磁带,闪存卡,卡盘等也可用于示例性操作环境中,并且任意介质可包括执行本发明的方法的计算机可执行指令。
包括操作系统1130的大量程序模块,一个或多个应用程序1132,其他程序模块1134以及程序数据1136可存储于驱动器和RAM 1112中。操作系统,应用程序,模块和/或数据的全部或一部分也可高速缓存于RAM 1112中。显然,本发明可以在各种商业应用的操作系统或操作系统的组合中实现。
用户可以通过一个或多个有线/无线输入装置例如定点设备(如键盘1138和鼠标1140)向计算机1102输入指令和信息。其他输入设备(未示出)可包括麦克风、红外遥控器、控制杆、游戏板、手写笔、触摸屏等。这些和其他输入设备有时通过连接至系统总线1104的输入装置接口1142与处理装置1108相连,但可以通过并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口或其他接口相连。
显示器1144或其他类型的显示装置同样通过接口(如视频适配器1146)与系统总线1108相连。除显示器1144之外,计算机一般包括其他外围输出设备(未示出),例如扬声器或打印机。
计算机1102可使用远程计算机1148通过有线和/或无线通信与一个或多个远程计算机的逻辑连接在网络环境下操作。远程计算机1148可以是工作站、服务器计算机、路由器、个人电脑、便携计算机、基于微处理器的娱乐游戏机、对等设备或其他通用网络节点,一般情况下包括对于计算机1102已经描述的大量或所有组件。但是,简单起见,图中只示出存储设备1150。图示的逻辑连接包括到局域网(LAN)1152和/或更大网络(例如广域网(WAN)1154)的有线/无线连接。LAN和WAN网络环境一般应用于办公室和公司,并且促进企业范围的计算机网络,如内联网,这些都与全球计算机网络(如互联网)相连。
当计算机1102在LAN网络环境下使用时,计算机1102通过有线和/或无线通信网络接口或适配器1156与本地网络1152相连。适配器1156允许到LAN 1152的有线或无线通信,LAN 1152还包括其中设置的无线接入点以与无线适配器1156通信。当计算机1102在WAN网络环境下使用时,计算机1102具有其他元件(例如,包括调制解调器1158)或与WAN 1154上的通信服务器相连,或者利用互联网设置通过WAN 1154的通信。调制解调器1158可以为嵌入式或外接式、有线或无线装置,并且通过串行端口1142与系统总线1108相连。在网络环境中,对于计算机1102描述的程序模块或其一部分可存储于所述远程存储装置1150中。容易理解的是,图示的网络连接是示例性的,也可使用其他方法设置计算机之间的通信链接。
计算机1102执行操作以与任意无线设备或实体通信,其中无线设备或实体通过无线通信进行布置以操作,例如,打印机、扫描机、台式机和/或便携计算机、便携数据助理(PDA)、通信卫星、与无线可检测标签相关的任意设备或位置(如公用电话亭、报亭或休息室)以及电话机。这包括至少Wi-Fi或蓝牙无线技术。因此,通信可以是先前定义的结构,例如相关领域的网络或至少两台设备间的简单Ad-hoc通信。
无线网络(Wi-Fi)在不使用网线的情况下使能从家里沙发上,旅店的床上或办公室的会议室与互联网的连接。Wi-Fi是允许设备(例如计算机)在室内或室外(即基站覆盖范围内的任何地方)传送和接收数据的无线技术。Wi-Fi网络使用名为IEEE 802.11(a,b,g等)的无线技术以提供安全,可靠且快速的无线连接。Wi-Fi用于将计算机互联或将计算机与互联网和有线网络相连(使用IEEE802.3或以太网)。Wi-Fi网络在未授权的2.4和5Ghz的无线宽带中以11Mbps(802.11a)或54Mbps(802.11b)的数据速率运行,或者在包含两个带宽(双频)的产品中运行。因此,网络可提供类似于很多办公室中使用的基础10BaseT有线以太网的现实世界性能。
图9示出根据本发明示例性实施例的执行排序脚本转换程序以在不同编码环境下重用JCL的示例性计算环境的示意框图。
参考图9,系统1200包括一个或多个客户端1202。客户端1202可以是硬件和/或软件(例如线路、程序或计算装置)。例如,客户端1202可以使用示例性实施例存储数据片段(cookie)和/或相关情景信息。
系统1200进一步包括一个或多个服务器1204。所述服务器1204也可以是硬件和/或软件(例如线路,程序或计算装置)。服务器可使用示例性实施例存储执行转换的线路。客户端1202和服务器1204之间的一个可能通信可以是一种被配置为在两个或更多个计算机处理器之间传输的数据包。例如,数据包可以包括数据片段和/或相关情景信息。系统1200包括通信框架1206(例如全球通信网,如互联网),通信框架1206可以用于在客户端1202和服务器1204之间简单地进行通信。
通信可通过有线(包括光纤)和/或无线技术简单地实现。客户端1202通过与一个或多个客户端数据存储器1208相连而操作,客户端数据存储器1208用于在客户端1202中存储本地信息(例如数据片段和/或相关情景信息)。类似地,服务器1204通过与一个或多个服务器数据存储器1210相连而操作,服务器数据存储器1210用于在服务器1204中存储本地信息。
尽管已经参考示例性实施例描述了本发明,本领域的普通技术人员可以理解的是,在不背离本发明的精神和范围的情况下可以进行多种变化和修改,如所附的权利要求所定义的。
Claims (8)
1.一种用于在不同编码环境下重用作业控制语言的排序脚本转换方法,包括:
步骤A,划分作业控制语言中的一个或多个作业步骤;
步骤B,从所述作业步骤提取可执行程序,数据集名称以及数据描述;
步骤C,从与所述可执行程序对应的可执行程序源获取与所述数据描述对应的文件描述;
步骤D,基于所述文件描述生成第一副本;
步骤E,通过比较所述第一副本和所述作业步骤中包括的排序字段,确定有效性;
步骤F,根据所述有效性的确定结果,基于所述第一副本生成和存储第二副本;以及
步骤G,通过比较所述第二副本和所述作业步骤的排序字段对所述排序字段进行转换。
2.根据权利要求1所述的排序脚本转换方法,其中步骤B包括:
当所述作业步骤中使用的可执行程序是排序程序时,从包含排序程序的第一作业步骤中提取所述数据集名称;以及
从包含所述数据集名称的第二作业步骤中提取所述可执行程序和所述数据描述。
3.根据权利要求2所述的排序脚本转换方法,还包括:
在所述第一作业步骤中提取与所述数据集名称对应的排序字段。
4.根据权利要求1所述的排序脚本转换方法,其中步骤C和步骤D包括:
在数据库中搜索与所述可执行程序对应的可执行程序源;
从所述可执行程序源中提取与所述数据描述对应的文件描述;
在所述文件描述中获取与所述数据集名称对应的数据的布局;以及
基于所述布局生成所述第一副本。
5.根据权利要求1所述的排序脚本转换方法,其中步骤E包括:
通过比较所述第一副本和与所述数据集名称对应的数据的排序字段,确定所述第一副本是否与所述排序字段相匹配。
6.根据权利要求1所述的排序脚本转换方法,其中步骤F包括:
当通过比较所述第一副本和与所述数据集名称对应的数据的排序字段得到所述第一副本与所述数据的排序字段相匹配的结果时,将所述第一副本设置为第二副本。
7.根据权利要求1所述的排序脚本转换方法,其中所述可执行程序包括COBOL。
8.一种用于在不同编码环境下重用作业控制语言的排序脚本转换装置,包括:
作业步骤划分单元,用于划分作业控制语言中的一个或多个作业步骤;
提取单元,用于从所述作业步骤提取可执行程序,数据集名称以及数据描述;
文件描述获取单元,用于从与所述可执行程序对应的可执行程序源获取与所述数据描述对应的文件描述;
第一副本生成单元,用于基于所述文件描述生成第一副本;
有效性确定单元,用于通过比较所述第一副本和所述作业步骤中包括的排序字段确定有效性;
第二副本生成单元,用于根据所述有效性的确定结果,基于所述第一副本生成和存储第二副本;以及
排序字段转换单元,用于通过比较所述第二副本和所述作业步骤的排序字段对所述排序字段进行转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011238400.8A CN112269593A (zh) | 2016-05-19 | 2016-07-29 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0061535 | 2016-05-19 | ||
KR1020160061535A KR101762283B1 (ko) | 2016-05-19 | 2016-05-19 | 인코딩이 다른 환경에서 jcl을 재사용하기 위한 소트 스크립트 변환 방법 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011238400.8A Division CN112269593A (zh) | 2016-05-19 | 2016-07-29 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402798A CN107402798A (zh) | 2017-11-28 |
CN107402798B true CN107402798B (zh) | 2020-11-27 |
Family
ID=59419197
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011238400.8A Pending CN112269593A (zh) | 2016-05-19 | 2016-07-29 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
CN201610615255.8A Active CN107402798B (zh) | 2016-05-19 | 2016-07-29 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011238400.8A Pending CN112269593A (zh) | 2016-05-19 | 2016-07-29 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10013251B2 (zh) |
KR (1) | KR101762283B1 (zh) |
CN (2) | CN112269593A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534640B2 (en) * | 2017-03-24 | 2020-01-14 | Oracle International Corporation | System and method for providing a native job control language execution engine in a rehosting platform |
KR102326490B1 (ko) * | 2020-03-25 | 2021-11-15 | 주식회사 티맥스 소프트 | 스텝 입출력 데이터 셋 파이프라이닝 |
CN111708926B (zh) * | 2020-06-12 | 2023-06-13 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN112114817B (zh) * | 2020-09-28 | 2023-09-19 | 中国银行股份有限公司 | 基于cobol语言的数据字典字段信息获取方法及装置 |
CN113515306B (zh) * | 2021-04-26 | 2023-04-25 | 建信金融科技有限责任公司 | 一种系统移植的方法及装置 |
CN113157277B (zh) * | 2021-05-28 | 2024-03-01 | 中国工商银行股份有限公司 | 一种主机文件处理方法及装置 |
CN113312112B (zh) * | 2021-06-25 | 2024-10-15 | 中国农业银行股份有限公司 | 数据处理方法及设备 |
KR20230108893A (ko) | 2022-01-12 | 2023-07-19 | 주식회사 티맥스 소프트 | 관계형 데이터베이스 마이그레이션 과정에서 테이블 및 db 입출력 객체를 생성하는 방법 및 서버 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1124913A (ja) * | 1997-06-27 | 1999-01-29 | Nec Software Kansai Ltd | Jclプログラム変換装置および記録媒体 |
CN1848088A (zh) * | 2005-02-18 | 2006-10-18 | 国际商业机器公司 | 将本机接口函数调用转换为更简单操作的方法和系统 |
CN101553779A (zh) * | 2006-10-17 | 2009-10-07 | 三星Sds株式会社 | 将主机系统应用程序转换为开放系统应用程序的转换装置和方法 |
CN102541514A (zh) * | 2010-12-09 | 2012-07-04 | 沈阳高精数控技术有限公司 | 一种将结构文本语言转换为梯形图语言的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878422A (en) * | 1996-04-09 | 1999-03-02 | Viasoft, Inc. | System for virtually converting data in a field between first and second format by using hook routines |
AU711020B2 (en) * | 1996-04-09 | 1999-10-07 | Viasoft, Inc. | System for virtually converting data |
JP3262493B2 (ja) * | 1996-04-12 | 2002-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムのデータ構造を表示する方法、及びデータ構造表示装置 |
US6748380B2 (en) * | 2001-05-14 | 2004-06-08 | International Business Machines Corporation | Method, system, and program product for permission to access software |
US20030056192A1 (en) * | 2001-05-24 | 2003-03-20 | Burgess Allen G. | Source code analysis system and method |
JP4483543B2 (ja) | 2004-11-18 | 2010-06-16 | 日本電気株式会社 | バッチ処理検証装置、バッチ処理検証プログラム、及びバッチ処理検証方法 |
JP2009217405A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | ジョブネットワーク自動生成方式及びプログラム |
JP2010205068A (ja) * | 2009-03-04 | 2010-09-16 | Hitachi Information Systems Ltd | ソフトウェア資源移行システム及び同移行方法 |
JP2010287213A (ja) * | 2009-05-11 | 2010-12-24 | Nec Corp | ファイル変換装置、ファイル変換方法およびファイル変換プログラム |
US20150193243A1 (en) * | 2014-01-06 | 2015-07-09 | Veristorm, Inc. | System and method for extracting data from legacy data systems to big data platforms |
CN104461863B (zh) * | 2014-10-29 | 2018-04-17 | 中国建设银行股份有限公司 | 一种业务系统测试方法、设备及系统 |
CN104317602B (zh) * | 2014-11-03 | 2017-09-08 | 中国农业银行股份有限公司 | 一种主机代码文件的开发方法及装置 |
-
2016
- 2016-05-19 KR KR1020160061535A patent/KR101762283B1/ko active Active
- 2016-07-08 US US15/206,178 patent/US10013251B2/en active Active
- 2016-07-29 CN CN202011238400.8A patent/CN112269593A/zh active Pending
- 2016-07-29 CN CN201610615255.8A patent/CN107402798B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1124913A (ja) * | 1997-06-27 | 1999-01-29 | Nec Software Kansai Ltd | Jclプログラム変換装置および記録媒体 |
CN1848088A (zh) * | 2005-02-18 | 2006-10-18 | 国际商业机器公司 | 将本机接口函数调用转换为更简单操作的方法和系统 |
CN101553779A (zh) * | 2006-10-17 | 2009-10-07 | 三星Sds株式会社 | 将主机系统应用程序转换为开放系统应用程序的转换装置和方法 |
CN102541514A (zh) * | 2010-12-09 | 2012-07-04 | 沈阳高精数控技术有限公司 | 一种将结构文本语言转换为梯形图语言的方法 |
Non-Patent Citations (1)
Title |
---|
大型机环境下对银行报表系统的源程序进行信息提取;张志强;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070715(第01期);第138-36页 * |
Also Published As
Publication number | Publication date |
---|---|
KR101762283B1 (ko) | 2017-07-31 |
US20170337056A1 (en) | 2017-11-23 |
US10013251B2 (en) | 2018-07-03 |
CN112269593A (zh) | 2021-01-26 |
CN107402798A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402798B (zh) | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 | |
US11544623B2 (en) | Consistent filtering of machine learning data | |
CN109034993B (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
US9003529B2 (en) | Apparatus and method for identifying related code variants in binaries | |
US9135289B2 (en) | Matching transactions in multi-level records | |
CN111190594B (zh) | Vue组件的文档生成方法及装置 | |
JP7157141B2 (ja) | ゲノム・ファイルのためのコンテキスト・アウェア差分アルゴリズム | |
US7574446B2 (en) | Converting arbitrary strings into numeric representations to facilitate complex comparisons | |
US20110252063A1 (en) | Relevancy filter for new data based on underlying files | |
CN109063091B (zh) | 混合编码的数据迁移方法、数据迁移装置和存储介质 | |
CN113434506B (zh) | 数据管理及检索方法、装置、计算机设备及可读存储介质 | |
Akram et al. | DroidMD: an efficient and scalable android malware detection approach at source code level | |
Li et al. | Juxtapp and dstruct: Detection of similarity among android applications | |
JP2018081403A (ja) | インシデント管理システム、インシデント管理方法およびコンピュータプログラム | |
JP7390356B2 (ja) | クローニング後のテナント識別子変換のためのレコードの識別 | |
Kelly et al. | Recovering a balanced overview of topics in a software domain | |
KR20240135995A (ko) | 문서에 관련된 멀티미디어 파일을 관리하기 위한 방법 및 장치 | |
US10949617B1 (en) | System for differentiating encoding of text fields between networked services | |
US11838322B2 (en) | Phishing site detection device, phishing site detection method and phishing site detection program | |
KR20170131821A (ko) | 인코딩이 다른 환경에서 jcl을 재사용하기 위한 소트 스크립트 변환 방법 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램 | |
Scheid et al. | Opening Pandora's Box: An Analysis of the Usage of the Data Field in Blockchains | |
CN111291230A (zh) | 特征处理方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |