KR20210119023A - 온라인 잡 처리 방법 및 컴퓨터 프로그램 - Google Patents

온라인 잡 처리 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210119023A
KR20210119023A KR1020200035339A KR20200035339A KR20210119023A KR 20210119023 A KR20210119023 A KR 20210119023A KR 1020200035339 A KR1020200035339 A KR 1020200035339A KR 20200035339 A KR20200035339 A KR 20200035339A KR 20210119023 A KR20210119023 A KR 20210119023A
Authority
KR
South Korea
Prior art keywords
online
job
program
meta information
computer
Prior art date
Application number
KR1020200035339A
Other languages
English (en)
Other versions
KR102322964B1 (ko
Inventor
이수용
전성배
김상호
Original Assignee
주식회사 티맥스 소프트
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 주식회사 티맥스 소프트 filed Critical 주식회사 티맥스 소프트
Priority to KR1020200035339A priority Critical patent/KR102322964B1/ko
Priority to US16/831,064 priority patent/US20210303642A1/en
Publication of KR20210119023A publication Critical patent/KR20210119023A/ko
Priority to KR1020210140195A priority patent/KR20210131275A/ko
Application granted granted Critical
Publication of KR102322964B1 publication Critical patent/KR102322964B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Abstract

본 개시의 일 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 온라인 프로그램과 관련된 온라인 잡 처리 시 배치 시스템(batch system)을 이용하지 않기 위해 상기 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스에 액세스하는 단계; 상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계; 및 상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.

Description

온라인 잡 처리 방법 및 컴퓨터 프로그램{METHODS AND COMPUTER PROGRAMS FOR PROCESSING ONLINE JOBS}
본 개시 내용은 온라인 잡 처리 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로, 개방 환경에서 온라인 잡을 처리하기 위한 방법 및 컴퓨터 프로그램에 관한 것이다.
메인프레임 시스템은 1960-70년대 정부와 금융기관 그리고 대기업들이 기업 활동에 필요한 다양한 데이터를 처리하기 위하여 많이 도입하였다. 메인프레임 시스템은 다수의 단말기를 하나의 컴퓨터에 연결하는 중앙 집중 방식을 채택하여 여러 가지 작업을 수행하는 범용 목적의 대형 컴퓨터를 의미한다. 예를 들어, IBM사의 System/360 등이 이에 해당한다. 메인프레임 시스템은 이후 30년 가까이 기업의 컴퓨팅 산업을 주도하며 지속적인 성장을 보여 왔다 그러나, 80년대 말 유닉스 플랫폼과 같은 개방형 시스템에서의 분산환경이 대두되고, 시스템 운영비용의 절감을 위한 개방형 시스템으로의 다운사이징 바람이 불면서 메인 프레임 시스템의 입지가 크게 흔들리게 되었다.
개방형 시스템은 메인프레임 시스템과 달리 특정 업체의 폐쇄적인 기술과 프로그램에 의존하지 않고 인터페이스가 개방되어 있어, 다른 기종의 컴퓨터와 상호 연결이나 이식이 가능한 시스템을 말하며, 예를 들어, UNIX 등이 이에 해당한다. 최근에도 개방형 시스템의 인기가 지속되고 있지만, 현재의 개방형 시스템은 작업(Job) 처리를 위해 기존의 메인프레임 시스템과 같이 배치 시스템을 이용한다.
특히, 개방형 시스템에서 온라인 작업을 처리할 때, 배치 시스템을 이용하는 경우, 프로세스의 비정상 종료와 같은 상황에서 유연한 재기동이 어려울 수 있다. 구체적으로, 여러 업무 프로세스 중 하나의 프로세스만 이상 종료되더라도 사용자가 해당 작업에 포함된 모든 프로세스를 수동으로 재기동 해야한다.
따라서, 개방형 시스템에서 이용되는 배치 시스템으로 인해 발생되는 불편함을 해소하는 방법에 대한 연구가 필요하다.
대한민국 등록특허공보 제10-1997494호
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 배치 시스템 없이 온라인 잡을 처리하는 방법 및 컴퓨터 프로그램을 제공하고자 하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 온라인 프로그램과 관련된 온라인 잡 처리 시 배치 시스템(batch system)을 이용하지 않기 위해 상기 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스에 액세스하는 단계; 상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계; 및 상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 상기 메타 정보는, 상기 온라인 프로그램과 관련된 작업 제어 언어(Job Control Language)의 마이그레이션(Migration)이 수행될 때, 상기 작업 제어 언어가 정적 분석됨에 따라 생성되어 상기 데이터 베이스에 저장될 수 있다.
또한, 상기 마이그레이션은 이하의 마이그레이션 단계들에 의해 수행되고, 상기 마이그레이션 단계들은: 메인 프레임(Mainframe)의 작업 입력 서브시스템(Job Entry Subsystem) 환경에서 실행되는 메인 프레임용 작업 제어 언어를 획득하는 단계; 및 상기 메인 프레임에서 사용되고 있는 엡시딕 코드(EBCDIC Code) 기반으로 작성된 상기 메인 프레임용 작업 제어 언어를 개방형 시스템에서 사용하는 아스키 코드(ASCII Code) 기반의 상기 작업 제어 언어로 변환하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 상기 메타 정보는, 상기 온라인 잡을 처리하기 위한 트랜잭션 단위의 스케줄링 정보, 상기 온라인 잡과 관련된 실행 프로그램(Execution Program)에 대한 정보, 상기 실행 프로그램의 위치 정보, 상기 온라인 잡과 관련된 데이터셋(Dataset) 이름, 상기 데이터셋의 위치 정보, 상기 데이터셋의 할당 방법에 대한 정보 및 사용할 입출력 장치에 대한 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는, 상기 온라인 프로그램이 실행되는 경우, 상기 온라인 프로그램과 관련된 온라인 잡의 실행을 요청하는 커맨드(Command)에 기초하여 온라인 잡 이름을 인식하는 단계; 및 상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는, 상기 온라인 잡 이름이 제 1 온라인 잡 이름인 경우, 상기 제 1 온라인 잡 이름에 맵핑되어 상기 데이터 베이스에 저장된 제 1 메타 정보를 리드하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계는, 상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계; 및 상기 리소스를 이용하여 상기 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계는, 상기 메타 정보에서 상기 온라인 잡에 대응하는 리소스를 추출하는 단계; 및 상기 리소스에 포함된 실행 프로그램을 실행시켜, 상기 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 단계들은, 상기 온라인 프로그램의 이상 종료 여부를 감지하는 단계; 상기 온라인 프로그램의 이상 종료가 감지된 경우, 상기 데이터 베이스에 액세스 하여 상기 온라인 프로그램의 온라인 잡과 관련된 메타 정보를 재리드(re-read)하는 단계; 및 상기 메타 정보를 이용하여, 이상 종료된 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 재처리 하는 단계;를 더 포함할 수 있다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 온라인 잡 처리 방법이 개시된다. 상기 방법은: 온라인 프로그램과 관련된 온라인 잡 처리 시 배치 시스템(batch system)을 이용하지 않기 위해 상기 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스에 액세스하는 단계; 상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계; 및 상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 상기 메타 정보는, 상기 온라인 프로그램과 관련된 작업 제어 언어(Job Control Language)의 마이그레이션(Migration)이 수행될 때, 상기 작업 제어 언어가 정적 분석됨에 따라 생성되어 상기 데이터 베이스에 저장될 수 있다.
또한, 상기 마이그레이션은 이하의 마이그레이션 단계들에 의해 수행되고, 상기 마이그레이션 단계들은: 메인 프레임(Mainframe)의 작업 입력 서브시스템(Job Entry Subsystem) 환경에서 실행되는 메인 프레임용 작업 제어 언어를 획득하는 단계; 및 상기 메인 프레임에서 사용되고 있는 엡시딕 코드(EBCDIC Code) 기반으로 작성된 상기 메인 프레임용 작업 제어 언어를 개방형 시스템에서 사용하는 아스키 코드(ASCII Code) 기반의 상기 작업 제어 언어로 변환하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 상기 메타 정보는, 상기 온라인 잡을 처리하기 위한 트랜잭션 단위의 스케줄링 정보, 상기 온라인 잡과 관련된 실행 프로그램(Execution Program)에 대한 정보, 상기 실행 프로그램의 위치 정보, 상기 온라인 잡과 관련된 데이터셋(Dataset) 이름, 상기 데이터셋의 위치 정보, 상기 데이터셋의 할당 방법에 대한 정보 및 사용할 입출력 장치에 대한 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는, 상기 온라인 프로그램이 실행되는 경우, 상기 온라인 프로그램과 관련된 온라인 잡의 실행을 요청하는 커맨드(Command)에 기초하여 온라인 잡 이름을 인식하는 단계; 및 상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는, 상기 온라인 잡 이름이 제 1 온라인 잡 이름인 경우, 상기 제 1 온라인 잡 이름에 맵핑되어 상기 데이터 베이스에 저장된 제 1 메타 정보를 리드하는 단계;를 포함할 수 있다.
또한, 상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계는, 상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계; 및 상기 리소스를 이용하여 상기 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계는, 상기 메타 정보에서 상기 온라인 잡에 대응하는 리소스를 추출하는 단계; 및 상기 리소스에 포함된 실행 프로그램을 실행시켜, 상기 온라인 트랜잭션을 처리하는 단계;를 포함할 수 있다.
또한, 상기 방법은, 상기 온라인 프로그램의 이상 종료 여부를 감지하는 단계; 상기 온라인 프로그램의 이상 종료가 감지된 경우, 상기 데이터 베이스에 액세스 하여 상기 온라인 프로그램의 온라인 잡과 관련된 메타 정보를 재리드(re-read)하는 단계; 및 상기 메타 정보를 이용하여, 이상 종료된 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 재처리 하는 단계;를 더 포함할 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시는 배치 시스템 없이 온라인 잡을 처리하는 방법 및 컴퓨터 프로그램을 제공하여, 개방형 시스템에서 이용되는 배치 시스템으로 인해 발생되는 불편함을 해소할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시의 몇몇 실시예에 따른 배치 시스템 없이 온라인 잡을 수행하기 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 몇몇 실시예에 따른 서버가 온라인 잡을 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 본 개시의 몇몇 실시예에 따른 마이그레이션 방법의 일례를 설명하기 위한 흐름도이다.
도 4는 본 개시의 몇몇 실시예에 따른 서버가 데이터 베이스에서 온라인 잡과 관련된 메타 정보를 리드하는 방법의 일례를 설명하기 위한 흐름도이다.
도 5는 본 개시의 몇몇 실시예에 따른 서버가 온라인 잡과 관련된 메타 정보를 이용하여 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6은 본 개시 내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
또한, 다양한 양상들 및 특징들이 하나 이상의 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 단말들, 서버들, 디바이스들, 컴포넌트들, 모듈들 등의 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 용어 "컴퓨터 프로그램", "컴포넌트", "모듈", "시스템" 등은 서로 호환가능하게 사용될 수 있으며, 그리고 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다.
또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 개시의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
더불어, 본 명세서에서 사용되는 용어 "정보" 및 "데이터"는 종종 서로 상호교환 가능하도록 사용될 수 있다.
이하의 설명에서 사용되는 구성 요소에 대한 접미사 “모듈” 및 “부”는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시내용의 청구범위에서의 단계들에 대한 권리범위는, 각 단계들에 기재된 기능 및 특징들에 의해 발생되는 것이지, 각각의 단계에서 그 순서의 선후관계를 명시하지 않는 이상, 청구범위에서의 각 단계들의 기재 순서에 영향을 받지 않는다. 예를 들어, A단계 및 B단계를 포함하는 단계로 기재된 청구범위에서, A단계가 B단계 보다 먼저 기재되었다고 하더라도, A단계가 B단계 이전에 선행되어야 한다는 것으로 권리범위가 제한되지는 않는다.
본 개시 내용에서, 작업 제어 언어(Job Control Language)는 데이터를 처리하기 위하여, 오퍼레이팅(Operating) 시스템에게 무엇을 하려고 하는지를 알려준다. 작업 제어 언어는 일련의 규칙을 가진 작업 제어 언어 문장(Statement)으로 이루어져 있고, 작업 제어 언어 문장에 의해 오퍼레이팅 시스템에 대하여, 어떤 처리를 해야 하는가 즉, 어느 프로그램을 실행하고, 그 프로그램이 어떤 자원을 필요로 하는가 등을 지시할 수 있다.
작업 제어 언어 문장은 다음과 같은 기능을 수행할 수 있다. 작업(Job)을 오퍼레이팅 시스템에 넘겨준다. 또한, 무엇을 해야 하는가를 오퍼레이팅 시스템에게 제시한다. 특정 데이터셋(Dataset)에 대해 하드웨어 장치 할당을 오퍼레이팅 시스템에 요구하고, 실행해야 할 프로그램을 지정하기도 한다.
여기서, 데이터셋은 논리적으로 연결된 데이터 레코드의 집합을 의미할 수 있다. 상기 레코드는 애플리케이션에서 사용되는 정보의 기본 단위를 의미한다. 그리고, 데이터셋은 종류에 따라서 Non-VSAM 데이터셋과 VSAM 데이터셋으로 구분될 수 있다. 다만, 이에 한정되는 것은 아니다.
사용자가 오퍼레이팅 시스템에 수행을 위해 건네준(Submit) 일련의 작업(Job)을 입력 Job Stream이라고 한다. 입력 Job Stream은 한 개 또는 복수의 Job으로 구성되고, 하나의 Job은 한 개 또는 복수의 Step으로 구성된다. 각각의 Job은 다음과 같은 작업 제어 언어 문장으로 구성될 수 있다. 예를 들어, 작업 제어 언어 문장은 Job의 시작을 나타내는 'Job Statement', Step의 시작을 나타내는 하나 이상의 'EXEC Statement', Job Step의 수행을 위해 필요한 Dataset을 정의한 'DD Statement', 입력 Data와 그 종료를 나타내는 'Delimiter Statement'를 포함할 수 있다.
하나의 Step은 여러 개의 Processor(CPU)를 가진 시스템에서, 동일 Processor 상에서 수행되어야 하는 최소 작업 단위이다. 다시 말해, 하나의 Step은 여러 개의 Sub Step으로 분할되어 병렬로 수행할 수 없다. 동일한 Job 내의 Step 간에는 고도의 시스템처리기법에 의해 병렬로 수행이 가능하다. 단지, 시스템환경 및 Job 특성에 의해 수행 여부 및 병렬 수행정도가 결정된다.
Job Statement는 Job의 시작을 Operating System에 알려 줄 수 있다. Job Statement는 Job을 구분하기 위한 정보 및 Job을 실행하기 위해 필요한 Parameter를 지정할 수 있다. 또한, 하나의 Job은 다음 Job Statement가 발견되거나, NULL Statement가 발견되는 곳에서 종료된다.
EXEC Statement는 Job Step은 실행하여야 할 프로그램 이름을 지정하는 EXEC Statement로 시작한다. 한 개의 Job에는 하나 또는 복수의 Job Step이 존재한다. 하나의 Job Step은 다음 EXEC Statement, Job Statement, NULL Statement를 만난 곳에서 종료된다.
DD Statement는 프로그램이 필요로 하는 Dataset(UNIX서버 등에서의 File과 유사함)을 지정한다. 하나의 Dataset은 하나의 DD Statement로 지정한다. 사용할 Dataset이름, 사용할 입출력장치, Dataset의 위치, 할당방법, 기타 Dataset 특성 등을 지정한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 보다 상세하게 설명하고자 한다.
도 1은 본 개시의 몇몇 실시예에 따른 배치 시스템 없이 온라인 잡을 수행하기 위한 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 배치 시스템 없이 온라인 잡을 수행하기 위한 시스템은 서버(100), 데이터 베이스(200), 메인 프레임(300), 개방형 시스템(400) 및 네트워크(500)를 포함할 수 있다. 다만, 상술한 구성 요소들은 배치 시스템 없이 온라인 잡을 수행하기 위한 시스템을 구현하는데 있어서 필수적인 것은 아니어서, 상기 시스템은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
본 개시의 몇몇 실시예에 따르면, 서버(100)는 특정 프로그램(특히, 온라인 프로그램)을 수행하고자 하는 사용자와 관련될 수 있다. 구체적으로, 서버(100)는 사용자로부터 특정 프로그램의 실행 요청을 수신하면, 상기 특정 프로그램과 관련된 작업 제어 언어(Job Control Language)를 이용하여 상기 특정 프로그램과 관련된 트랜잭션을 처리할 수 있다.
서버(100)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다. 다만, 이에 한정되는 것은 아니고, 서버(100)는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display) 등이 포함될 수도 있다.
본 개시의 몇몇 실시예에 따르면, 서버(100)는 프로세서(110), 통신부(120) 및 메모리(130)를 포함할 수 있다. 다만, 상술한 구성 요소들은 서버(100)를 구현하는데 있어서 필수적인 것은 아니어서, 서버(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저, 서버(100)의 통신부(120)는, 서버(100)와 데이터 베이스(200) 사이, 서버(100)와 메인 프레임(300) 사이 및 서버(100)와 개방형 시스템(400) 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 통신부(120)는, 서버(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
서버(100)와 데이터 베이스(200) 사이, 서버(100)와 메인 프레임(300) 사이 및 서버(100)와 개방형 시스템(400) 사이의 통신을 연결하는 네트워크(500)는 공중전화 교환망(PSTN:Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 여기서 제시되는 네트워크(500)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.
본 개시의 실시예들에 따른 네트워크(500)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN:Personal Area Network), 근거리 통신망(WAN:Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크(500)는 공지의 월드와이드웹(WWW:World Wide Web)일 수 있으며, 적외선(IrDA:Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.
본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.
한편, 서버(100)의 메모리(130)는 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수도 있다. 메모리(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적 어도 하나의 타입의 저장매체를 포함할 수 있다. 이러한 메모리(130)는 프로세서(110)에 제어에 의하여 동작 될 수 있다.
그리고, 서버(100)의 프로세서(110)는 통상적으로 서버(100)의 전반적인 동작을 제어한다. 프로세서(110)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(130)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 프로세서(110)는 메모리(130)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(110)는 상기 응용 프로그램의 구동을 위하여, 서버(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
본 개시의 몇몇 실시예에 따르면, 서버(100)의 프로세서(110)는 온라인 프로그램과 관련된 온라인 잡을 처리할 수 있다. 여기서, 프로세서(110)는 온라인 잡을 처리할 때, 배치 시스템을 이용하지 않고, 상기 온라인 잡을 처리할 수 있다.
구체적으로, 프로세서(110)는 데이터 베이스(200)에 저장된 온라인 잡과 관련된 메타 정보를 리드하여, 온라인 잡을 처리할 수 있다. 좀더 구체적으로, 프로세서(110)는 메타 정보를 이용하여, 온라인 프로그램과 관련된 온라인 트랜잭션을 처리할 수 있다. 여기서, 온라인 잡과 관련된 메타 정보는, 온라인 프로그램과 관련된 작업 제어 언어의 마이그레이션(Migration)이 수행될 때, 작업 제어 언어가 정적 분석됨에 따라 생성되어 데이터 베이스(200)에 저장될 수 있다.
즉, 본 개시의 몇몇 실시예에 따른 서버(100)는 배치 시스템을 거치지 않고, 온라인 프로그램에 대한 처리를 수행하여, 업무를 효율적으로 관리 및 운용할 수 있다.
예를 들어, 업무 프로세스의 이상 종료 시, 사용자의 개입이 없더라도 이상 종료된 프로세스를 데이터 베이스(200)에서 리드할 수 있다. 따라서, 본 개시의 서버(100)는 업무 프로세스의 이상 종료에도 효율적으로 대처할 수 있다.
이하, 서버(100)의 프로세서(110)가 온라인 프로그램과 관련된 온라인 잡을 처리하는 방법에 대한 설명은 도 2 내지 도 5를 참조하여 후술한다.
본 개시에서 데이터 베이스(200)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 싱글 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨팅 디바이스를 포함할 수 있다. 이러한 데이터 베이스(200)들 각각은 DBMS(Database Management System) 및 영구 저장 매체(persistent storage)를 포함할 수 있다. 또한, 데이터 베이스(200)는 쿼리를 실행하기 위한 장치와 상호 교환 가능하게 사용될 수도 있다. 다만, 이에 한정되는 것은 아니다.
본 개시의 몇몇 실시예에 따르면, 데이터 베이스(200)는 온라인 프로그램에 대응하는 온라인 잡과 관련된 메타 정보를 저장하고 있을 수 있다. 구체적으로, 데이터 베이스(200)는 영구 저장 매체에 온라인 잡과 관련된 메타 정보를 저장하고 있을 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 데이터 베이스(200)는 특정 온라인 잡을 처리하고자 하는 외부 서버(여기서, 서버(100))의 액세스를 허용할 수 있다. 또한, 데이터 베이스(200)는 외부 서버가 액세스하여, 메타 정보를 리드하도록 허용할 수 있다. 즉, 데이터 베이스(200)는 외부 서버로부터 수신되는 쿼리(예를 들어, 메타 정보를 요청하는 쿼리)에 대응하는 정보를 상기 외부 서버로 제공할 수 있다.
본 개시에서 메인 프레임(300)은 예를 들어, IBM사와 같은 큰 회사에서 만든 대형 컴퓨터를 일컫는 산업계 용어로서, 대기업이나 금융기관과 같은 아주 커다란 회사들의 기업활동에 필요한 컴퓨팅 업무에 주로 사용되며, 분산 컴퓨팅 방식을 취하기보다는 중앙 집중식으로 구성되어 있다. 다만, 이에 한정되는 것은 아니다.
본 개시에서 개방형 시스템(400)은 서로 다른 컴퓨터 제조업체의 하드웨어(H/W)와 소프트웨어(S/W)간의 연계가 가능하도록 설계하는 방식을 일컫는 산업계 용어로서 이를 운영체계, 통신 등의 분야로 구분할 수 있고, 여기서 일컫는 개방형 시스템은 예컨대, 유닉스(UNIX) 또는 리눅스(Linux) 등의 운영체계를 탑재한 중형 컴퓨터이다. 다만, 이에 한정되는 것은 아니다.
도 2는 본 개시의 몇몇 실시예에 따른 서버가 온라인 잡을 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 2를 참조하면, 서버(100)의 프로세서(110)는 온라인 프로그램과 관련된 온라인 잡을 처리할 수 있다. 구체적으로, 프로세서(110)는 온라인 잡을 처리 시 배치 시스템을 이용하기 않기 위해 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스(200)에 액세스할 수 있다(S110). 즉, 프로세서(110)는 온라인 잡과 관련된 메타 정보를 획득하기 위해 데이터 베이스(200)에 액세스 할 수 있다.
여기서, 온라인 잡과 관련된 메타 정보는, 온라인 프로그램과 관련된 작업 제어 언어의 마이그레이션이 수행될 때, 작업 제어 언어가 정적 분석됨에 따라 생성되어 데이터 베이스(200)에 저장될 수 있다.
그리고, 메타 정보는 온라인 잡을 처리하기 위한 트랜잭션 단위의 스케줄링 정보, 온라인 잡과 관련된 실행 프로그램(Execution Program)에 대한 정보, 실행 프로그램의 위치 정보, 온라인 잡과 관련된 데이터셋(Dataset) 이름, 데이터셋의 위치 정보, 데이터셋의 할당 방법에 대한 정보 및 사용할 입출력 장치에 대한 정보 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
상술한 작업 제어 언어가 마이그레이션되는 방법에 대한 설명은 도 3을 참조하여 후술한다.
서버(100)의 프로세서(110)는 데이터 베이스(200)에 액세스한 경우, 데이터 베이스(200)에서 온라인 잡과 관련된 메타 정보를 리드할 수 있다(S120). 구체적으로, 프로세서(110)는 온라인 잡 이름을 이용하여, 온라인 잡과 관련된 메타 정보를 리드할 수 있다.
이하, 프로세서(110)가 메타 정보를 리드하는 방법에 대한 설명은 도 4를 참조하여 후술한다.
서버(100)의 프로세서(110)는 온라인 잡과 관련된 메타 정보를 리드한 경우, 온라인 잡과 관련된 메타 정보를 이용하여 온라인 프로그램과 관련된 온라인 트랜잭션을 처리할 수 있다(S130). 구체적으로, 프로세서(110)는 메타 정보를 이용하여, 온라인 잡을 수행하기 위한 리소스를 세팅하고, 상기 리소스를 이용하여 온라인 트랜잭션을 처리할 수 있다.
이하, 프로세서(110)가 온라인 트랜잭션을 처리하는 방법에 대한 설명은 도 5를 참조하여 후술한다.
본 개시의 추가적인 몇몇 실시예에 따르면, 서버(100)의 프로세서(110)는 온라인 프로그램의 이상 종료 여부를 감지할 수 있다. 구체적으로, 프로세서(110)는 온라인 프로그램이 실행된 이후, 기 설정된 시간 간격(예컨대, 1분)으로 온라인 프로그램의 이상 종료 여부를 감지할 수 있다.
프로세서(110)는 온라인 프로그램의 이상 종료가 감지된 경우, 데이터 베이스(200)에 액세스할 수 있다. 또한, 프로세서(110)는 온라인 프로그램의 온라인 잡과 관련된 메타 정보를 재리드(re-read)할 수 있다. 그리고, 프로세서(110)는 메타 정보를 이용하여, 이상 종료된 온라인 프로그램과 관련된 온라인 트랜잭션을 재처리 할 수 있다.
즉, 본 개시의 서버(100)는 업무 프로세스의 이상 종료 시, 사용자의 개입이 없더라도 이상 종료된 프로세스를 데이터 베이스(200)에서 리드할 수 있다. 따라서, 본 개시의 서버(100)는 업무 프로세스의 이상 종료에도 효율적으로 대처할 수 있다.
도 3은 본 개시의 몇몇 실시예에 따른 마이그레이션 방법의 일례를 설명하기 위한 흐름도이다.
도 3을 참조하면, 서버(100)의 프로세서(110)는 메인 프레임(300)의 작업 입력 서브시스템(Job Entry Subsystem) 환경에서 실행되는 메인 프레임용 작업 제어 언어를 획득할 수 있다(S210).
구체적으로, 프로세서(110)는 메인 프레임(300)에 액세스할 수 있다. 그리고, 메인 프레임(300)의 작업 입력 서브시스템 환경에서 실행되는 작업 제어 언어 원본 파일을 다운로드 받을 수 있다.
그리고, 프로세서(110)는 메인 프레임(300)에서 사용되고 있는 엡시딕 코드(EBCDIC Code) 기반으로 작성된 메인 프레임용 작업 제어 언어를 개방형 시스템에서 사용하는 아스키 코드(ASCII Code) 기반의 작업 제어 언어로 변환할 수 있다(S220).
본 개시의 몇몇 실시예에 따르면, 메인 프레임(300)의 호스트인 DB2는 UNLOAD(DB2에 저장되어 있는 데이터를 직렬화하여 파일로 다운받는 작업) 수행 후에 컨트롤 파일을 생성할 수 있다. 여기서, 컨트롤 파일이란 UNLOAD 작업을 통해 다운받은 데이터 및 파일을 다시 DB2로 LOAD (추출된 파일을 다시 되돌리는 복구 작업)할 때 사용되는 파일이다.
한편, 개방형 시스템(400)에서 실행되는 DB2 HPU도 동일하게 UNLOAD 작업 이후 LOAD 작업을 수행할 때 필요한 컨트롤 파일을 생성할 수 있다. 하지만, 메인 프레임(300)과 개방형 시스템(400) 사이에 컨트롤 파일의 문법적인 차이가 존재하여 메인 프레임(300)에서 생성된 컨트롤 파일을 개방형 시스템(400)에서 실행되는 DB2 HPU에서는 바로 사용할 수 없다.
따라서, 프로세서(110)는 LOAD JCL의 SYSIN에 INSTREAM방식으로 지정되어 있는 LOAD 컨트롤 구문을 ASC FROMAT METHODL 형태로 변환한 후에 추가로 해당 컨트롤 파일을 개방형 시스템(400)의 DB2 HPU의 문법에 맞도록 변환한다.
본 개시의 몇몇 실시예에 따르면, 개방형 시스템(400)에서 사용되는 SASHOST에서 외부 파일에 접근하기 위해 입출력 파일을 지정하는 방법은 기존 메인 프레임(300)에서 사용되는 SASHOST의 파일 접근 방법과 차이가 있다.
개방형 시스템(400)의 SASHOST 유틸리티는 프로그램 호출할 때에는 입출력 파일을 파라미터로 전달한다. 따라서, 프로세서(110)는 JCL에서 SASHOST를 호출하려면 입출력 값으로 사용되는 DD 명을 명시적으로 지정하여 SASHOST을 호출할 때 파라미터로 전달할 수 있게 JCL을 변환한다.
본 개시의 몇몇 실시예에 따르면, SORT 유틸리티 중에 SyncSort 제품은 ZD 포맷의 음수 표현 방식이 메인 프레임(300)에서 사용될 때와 개방형 시스템(400)에서 사용될 때의 차이가 존재한다. 따라서, 프로세서(110)는 SORT JCL에 기술된 ZD 포맷을 TP 포맷으로 변환한다.
도 3에서 작업 제어 언어에 대한 마이그레이션을 수행하는 주체의 예시로서 서버(100)의 프로세서(110)를 기재하였다. 하지만, 이에 한정되는 것은 아니고, 작업 제어 언어를 관리하는 외부 관리 서버 또는, 데이터베이스 시스템 서버의 프로세서에 의해 상술한 단계들(S210 및 S220)이 수행될 수도 있다.
도 4는 본 개시의 몇몇 실시예에 따른 서버가 데이터 베이스에서 온라인 잡과 관련된 메타 정보를 리드하는 방법의 일례를 설명하기 위한 흐름도이다.
도 4를 참조하면, 서버(100)의 프로세서(110)는 온라인 프로그램이 실행되는 경우, 온라인 프로그램과 관련된 온라인 잡의 실행을 요청하는 커맨드에 기초하여 온라인 잡 이름을 인식할 수 있다(S121). 여기서, 온라인 잡의 실행을 요청하는 커맨드는 온라인 잡 이름을 포함할 수 있다.
프로세서(110)는 온라인 잡 이름을 이용하여, 온라인 잡과 관련된 메타 정보를 리드할 수 있다(S122).
예를 들어, 프로세서(110)는 온라인 잡 이름이 제 1 온라인 잡 이름인 경우, 제 1 온라인 잡 이름에 맵핑되어 데이터 베이스(200)에 저장된 제 1 메타 정보를 리드할 수 있다.
즉, 데이터 베이스(200)는 온라인 잡 이름과 상기 온라인 잡 이름에 대응하는 온라인 잡을 맵핑하여, 상기 온라인 잡과 관련된 메타 정보를 저장하고 있을 수 있다. 예를 들어, 데이터 베이스(200)는 “제 1 온라인 잡 이름-제 1 온라인 잡-제 1 온라인 잡의 메타 정보”와 같은 형태로 온라인 잡과 관련된 메타 정보가 저장되어 있을 수 있다.
도 5는 본 개시의 몇몇 실시예에 따른 서버가 온라인 잡과 관련된 메타 정보를 이용하여 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 5를 참조하면, 서버(100)의 프로세서(110)는 메타 정보를 이용하여 온라인 잡을 수행하기 위한 리소스를 세팅할 수 있다(S131).
구체적으로, 프로세서(110)는 메타 정보에서 온라인 잡에 대응하는 리소스를 추출할 수 있다.
온라인 잡에 대응하는 리소스는 예를 들어, 개방형 시스템(400)에서 사용되는 모든 자원을 의미할 수 있다. 예를 들어, 리소스는 데이터셋 및 실행 프로그램을 포함할 수 있다.
한편, 프로세서(110)는 리소스를 이용하여 온라인 트랜잭션을 처리할 수 있다(S132).
구체적으로, 프로세서(110)는 온라인 잡에 대응하는 리소스에 포함된 실행 프로그램을 실행시켜, 온라인 트랜잭션을 처리할 수 있다.
도 6은 본 개시 내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
본 개시가 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시가 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다는 것을 잘 알 것이다.
일반적으로, 본 명세서에서의 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로시져, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다.
컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)―이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음―, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 예를 들어, USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 저장 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 저장 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (18)

  1. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 서버의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
    온라인 프로그램과 관련된 온라인 잡 처리 시 배치 시스템(batch system)을 이용하지 않기 위해 상기 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스에 액세스하는 단계;
    상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계; 및
    상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  2. 제 1 항에 있어서,
    상기 온라인 잡과 관련된 상기 메타 정보는,
    상기 온라인 프로그램과 관련된 작업 제어 언어(Job Control Language)의 마이그레이션(Migration)이 수행될 때, 상기 작업 제어 언어가 정적 분석됨에 따라 생성되어 상기 데이터 베이스에 저장되는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  3. 제 2 항에 있어서,
    상기 마이그레이션은 이하의 마이그레이션 단계들에 의해 수행되고, 상기 마이그레이션 단계들은:
    메인 프레임(Mainframe)의 작업 입력 서브시스템(Job Entry Subsystem) 환경에서 실행되는 메인 프레임용 작업 제어 언어를 획득하는 단계; 및
    상기 메인 프레임에서 사용되고 있는 엡시딕 코드(EBCDIC Code) 기반으로 작성된 상기 메인 프레임용 작업 제어 언어를 개방형 시스템에서 사용하는 아스키 코드(ASCII Code) 기반의 상기 작업 제어 언어로 변환하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  4. 제 2 항에 있어서,
    상기 온라인 잡과 관련된 상기 메타 정보는,
    상기 온라인 잡을 처리하기 위한 트랜잭션 단위의 스케줄링 정보, 상기 온라인 잡과 관련된 실행 프로그램(Execution Program)에 대한 정보, 상기 실행 프로그램의 위치 정보, 상기 온라인 잡과 관련된 데이터셋(Dataset) 이름, 상기 데이터셋의 위치 정보, 상기 데이터셋의 할당 방법에 대한 정보 및 사용할 입출력 장치에 대한 정보 중 적어도 하나를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  5. 제 1 항에 있어서,
    상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는,
    상기 온라인 프로그램이 실행되는 경우, 상기 온라인 프로그램과 관련된 온라인 잡의 실행을 요청하는 커맨드(Command)에 기초하여 온라인 잡 이름을 인식하는 단계; 및
    상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  6. 제 5 항에 있어서,
    상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는,
    상기 온라인 잡 이름이 제 1 온라인 잡 이름인 경우, 상기 제 1 온라인 잡 이름에 맵핑되어 상기 데이터 베이스에 저장된 제 1 메타 정보를 리드하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  7. 제 1 항에 있어서,
    상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계는,
    상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계; 및
    상기 리소스를 이용하여 상기 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  8. 제 7 항에 있어서,
    상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계는,
    상기 메타 정보에서 상기 온라인 잡에 대응하는 리소스를 추출하는 단계; 및
    상기 리소스에 포함된 실행 프로그램을 실행시켜, 상기 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  9. 제 1 항에 있어서,
    상기 온라인 프로그램의 이상 종료 여부를 감지하는 단계;
    상기 온라인 프로그램의 이상 종료가 감지된 경우, 상기 데이터 베이스에 액세스 하여 상기 온라인 프로그램의 온라인 잡과 관련된 메타 정보를 재리드(re-read)하는 단계; 및
    상기 메타 정보를 이용하여, 이상 종료된 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 재처리 하는 단계;
    를 더 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  10. 온라인 잡 처리 방법에 있어서,
    온라인 프로그램과 관련된 온라인 잡 처리 시 배치 시스템(batch system)을 이용하지 않기 위해 상기 온라인 잡과 관련된 메타 정보를 포함하는 데이터 베이스에 액세스하는 단계;
    상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계; 및
    상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  11. 제 10 항에 있어서,
    상기 온라인 잡과 관련된 상기 메타 정보는,
    상기 온라인 프로그램과 관련된 작업 제어 언어(Job Control Language)의 마이그레이션(Migration)이 수행될 때, 상기 작업 제어 언어가 정적 분석됨에 따라 생성되어 상기 데이터 베이스에 저장되는,
    온라인 잡 처리 방법.
  12. 제 11 항에 있어서,
    상기 마이그레이션은 이하의 마이그레이션 단계들에 의해 수행되고, 상기 마이그레이션 단계들은:
    메인 프레임(Mainframe)의 작업 입력 서브시스템(Job Entry Subsystem) 환경에서 실행되는 메인 프레임용 작업 제어 언어를 획득하는 단계; 및
    상기 메인 프레임에서 사용되고 있는 엡시딕 코드(EBCDIC Code) 기반으로 작성된 상기 메인 프레임용 작업 제어 언어를 개방형 시스템에서 사용하는 아스키 코드(ASCII Code) 기반의 상기 작업 제어 언어로 변환하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  13. 제 11 항에 있어서,
    상기 온라인 잡과 관련된 상기 메타 정보는,
    상기 온라인 잡을 처리하기 위한 트랜잭션 단위의 스케줄링 정보, 상기 온라인 잡과 관련된 실행 프로그램(Execution Program)에 대한 정보, 상기 실행 프로그램의 위치 정보, 상기 온라인 잡과 관련된 데이터셋(Dataset) 이름, 상기 데이터셋의 위치 정보, 상기 데이터셋의 할당 방법에 대한 정보 및 사용할 입출력 장치에 대한 정보 중 적어도 하나를 포함하는,
    온라인 잡 처리 방법.
  14. 제 10 항에 있어서,
    상기 데이터 베이스에서 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는,
    상기 온라인 프로그램이 실행되는 경우, 상기 온라인 프로그램과 관련된 온라인 잡의 실행을 요청하는 커맨드(Command)에 기초하여 온라인 잡 이름을 인식하는 단계; 및
    상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  15. 제 14 항에 있어서,
    상기 온라인 잡 이름을 이용하여 상기 온라인 잡과 관련된 메타 정보를 리드하는 단계는,
    상기 온라인 잡 이름이 제 1 온라인 잡 이름인 경우, 상기 제 1 온라인 잡 이름에 맵핑되어 상기 데이터 베이스에 저장된 제 1 메타 정보를 리드하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  16. 제 10 항에 있어서,
    상기 온라인 잡과 관련된 메타 정보를 이용하여 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 처리하는 단계는,
    상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계; 및
    상기 리소스를 이용하여 상기 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  17. 제 16 항에 있어서,
    상기 메타 정보를 이용하여 상기 온라인 잡을 수행하기 위한 리소스를 세팅하는 단계는,
    상기 메타 정보에서 상기 온라인 잡에 대응하는 리소스를 추출하는 단계; 및
    상기 리소스에 포함된 실행 프로그램을 실행시켜, 상기 온라인 트랜잭션을 처리하는 단계;
    를 포함하는,
    온라인 잡 처리 방법.
  18. 제 10 항에 있어서,
    상기 온라인 프로그램의 이상 종료 여부를 감지하는 단계;
    상기 온라인 프로그램의 이상 종료가 감지된 경우, 상기 데이터 베이스에 액세스 하여 상기 온라인 프로그램의 온라인 잡과 관련된 메타 정보를 재리드(re-read)하는 단계; 및
    상기 메타 정보를 이용하여, 이상 종료된 상기 온라인 프로그램과 관련된 온라인 트랜잭션을 재처리 하는 단계;
    를 더 포함하는,
    온라인 잡 처리 방법.
KR1020200035339A 2020-03-24 2020-03-24 온라인 잡 처리 방법 및 컴퓨터 프로그램 KR102322964B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200035339A KR102322964B1 (ko) 2020-03-24 2020-03-24 온라인 잡 처리 방법 및 컴퓨터 프로그램
US16/831,064 US20210303642A1 (en) 2020-03-24 2020-03-26 Methods And Computer Programs For Processing Online Jobs
KR1020210140195A KR20210131275A (ko) 2020-03-24 2021-10-20 온라인 잡 처리 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200035339A KR102322964B1 (ko) 2020-03-24 2020-03-24 온라인 잡 처리 방법 및 컴퓨터 프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140195A Division KR20210131275A (ko) 2020-03-24 2021-10-20 온라인 잡 처리 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20210119023A true KR20210119023A (ko) 2021-10-05
KR102322964B1 KR102322964B1 (ko) 2021-11-09

Family

ID=77856343

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200035339A KR102322964B1 (ko) 2020-03-24 2020-03-24 온라인 잡 처리 방법 및 컴퓨터 프로그램
KR1020210140195A KR20210131275A (ko) 2020-03-24 2021-10-20 온라인 잡 처리 방법 및 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210140195A KR20210131275A (ko) 2020-03-24 2021-10-20 온라인 잡 처리 방법 및 컴퓨터 프로그램

Country Status (2)

Country Link
US (1) US20210303642A1 (ko)
KR (2) KR102322964B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140121749A (ko) * 2013-04-08 2014-10-16 주식회사 오비고 메타 스토어의 관리 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
US20190065537A1 (en) * 2012-12-17 2019-02-28 Salesforce.Com, Inc. Third party files in an on-demand database service
KR20190036770A (ko) * 2017-09-28 2019-04-05 주식회사 티맥스 소프트 메인프레임 시스템의 데이터를 실시간으로 개방형 시스템에서 사용하기 위한 방법
JP2019153181A (ja) * 2018-03-05 2019-09-12 富士通株式会社 管理プログラム
US20190370058A1 (en) * 2018-05-29 2019-12-05 American Express Travel Related Services Company, Inc. Automated execution of batch job workflows
KR20190143419A (ko) * 2019-12-05 2019-12-30 주식회사 티맥스데이터 익스텐트를 재배치하는 데이터베이스 서버 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190065537A1 (en) * 2012-12-17 2019-02-28 Salesforce.Com, Inc. Third party files in an on-demand database service
KR20140121749A (ko) * 2013-04-08 2014-10-16 주식회사 오비고 메타 스토어의 관리 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
KR20190036770A (ko) * 2017-09-28 2019-04-05 주식회사 티맥스 소프트 메인프레임 시스템의 데이터를 실시간으로 개방형 시스템에서 사용하기 위한 방법
KR101997494B1 (ko) 2017-09-28 2019-07-08 주식회사 티맥스 소프트 메인프레임 시스템의 데이터를 실시간으로 개방형 시스템에서 사용하기 위한 방법
JP2019153181A (ja) * 2018-03-05 2019-09-12 富士通株式会社 管理プログラム
US20190370058A1 (en) * 2018-05-29 2019-12-05 American Express Travel Related Services Company, Inc. Automated execution of batch job workflows
KR20190143419A (ko) * 2019-12-05 2019-12-30 주식회사 티맥스데이터 익스텐트를 재배치하는 데이터베이스 서버 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램

Also Published As

Publication number Publication date
US20210303642A1 (en) 2021-09-30
KR20210131275A (ko) 2021-11-02
KR102322964B1 (ko) 2021-11-09

Similar Documents

Publication Publication Date Title
US11182404B2 (en) Data replication technique in database management system
US9063960B2 (en) Systems and methods for performing customized large-scale data analytics
US9646042B2 (en) Data consistency and rollback for cloud analytics
EP3453155B1 (en) Providing automatic detection and optimization of user experience upgrades based on detected customization
US11372635B2 (en) In-memory software package installation and testing
US8185496B2 (en) Separating file data streams to enhance progressive incremental processing
US20160179918A1 (en) Asynchronous data replication using an external buffer table
US10671565B2 (en) Partitioning target data to improve data replication performance
US9892122B2 (en) Method and apparatus for determining a range of files to be migrated
US20210271660A1 (en) Method For Implementing Change Data Capture In Database Management System
KR102442577B1 (ko) 개발환경을 제공하는 방법
KR20210104013A (ko) 데이터 변환 서버 및 컴퓨터 프로그램
US10324933B2 (en) Technique for processing query in database management system
WO2023055469A1 (en) Dynamic policy adjustment based on resource consumption
KR101997494B1 (ko) 메인프레임 시스템의 데이터를 실시간으로 개방형 시스템에서 사용하기 위한 방법
US8874628B1 (en) Systems and methods for projecting hierarchical storage management functions
KR102322964B1 (ko) 온라인 잡 처리 방법 및 컴퓨터 프로그램
US11294866B2 (en) Lazy optimistic concurrency control
US10997051B2 (en) Server, method of controlling server, and computer program stored in computer readable medium therefor
US9465937B1 (en) Methods and systems for securely managing file-attribute information for files in a file system
US9830230B1 (en) Systems and methods for storing updated storage stack summaries
US10977249B2 (en) Method, system, and apparatus for performing flow-based processing using stored procedure
KR102085608B1 (ko) 복구 서버 및 컴퓨터 프로그램
WO2013130391A1 (en) Systems and methods for maintaining group membership records
KR20200078426A (ko) 복구 서버 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant