KR20140070231A - 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체 - Google Patents

맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체 Download PDF

Info

Publication number
KR20140070231A
KR20140070231A KR1020120138477A KR20120138477A KR20140070231A KR 20140070231 A KR20140070231 A KR 20140070231A KR 1020120138477 A KR1020120138477 A KR 1020120138477A KR 20120138477 A KR20120138477 A KR 20120138477A KR 20140070231 A KR20140070231 A KR 20140070231A
Authority
KR
South Korea
Prior art keywords
workflow
mapreduce
workflows
work
relationship information
Prior art date
Application number
KR1020120138477A
Other languages
English (en)
Other versions
KR101516055B1 (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 KR1020120138477A priority Critical patent/KR101516055B1/ko
Priority to US13/866,710 priority patent/US20140156849A1/en
Publication of KR20140070231A publication Critical patent/KR20140070231A/ko
Application granted granted Critical
Publication of KR101516055B1 publication Critical patent/KR101516055B1/ko

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/46Multiprogramming arrangements
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 의한 맵리듀스 워크플로우 처리 장치는, 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 워크플로우 수신부 및 상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 워크플로우 제어부를 포함한다.

Description

맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체{MAP-REDUCE WORKFLOW PROCESSING DEVICE AND METHOD, AND STORAGE MEDIA STORING THE SAME}
본 발명은 맵리듀스 워크플로우 처리 기술에 관한 것으로, 보다 상세하게는, 워크플로우 메타데이터를 통해 맵리듀스 워크플로우들을 처리할 수 있는 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체에 관한 것이다.
맵리듀스(Map Reduce) 작업은 복수의 서버들에 전체 작업을 분배하는 맵(Map) 작업과 맵 작업의 결과물을 취합하여 최종 결과로 출력하는 리듀스(Reduce) 작업을 포함한다.
한국공개특허 제10-2011-0012867호는 클라우드 컴퓨팅 시스템와 같은 대용량 데이터 분산처리의 맵리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법에 관한 것으로, 분산처리 과정에서 생성되는 중간 정보가 메모리 클러스터의 특정 노드에 집중되는 문제점을 해결하기 위해 맵리듀스(MapReduce) 기반 분산처리 과정에서 중간에 생성되는 정보를 가상 메모리에 저장하는 발명을 개시한다.
한국공개특허 제10-2011-0006691호는 오픈 소스 분산 시스템에서 네트워크 상에서 수집되는 대량의 패킷을 각 클러스터 노드에서 병렬로 처리할 수 있도록 구현한 패킷분석 시스템 및 패킷분석 방법에 관한 것으로, 하둡 클러스터 환경에서 패킷 데이터를 저장 및 분석함으로써 대량의 패킷 trace를 빠르게 처리할 수 있는 발명을 개시한다.
이러한 선행 기술들은 단일 맵리듀스 작업을 처리하므로 복합적인 맵 리듀스 작업을 처리하는 것에 적절하지 않을 수 있다.
한국공개특허 제10-2011-0012867호 한국공개특허 제10-2011-0006691호
본 발명은 복합적인 맵리듀스 작업을 처리할 수 있는 맵리듀스 워크플로우 처리 장치와 방법, 및 이를 저장한 기록 매체를 제공하고자 한다.
본 발명은 복합적인 맵리듀스 작업을 처리하기 위해 복수의 맵리듀스 워크플로우들을 분석할 수 있는 맵리듀스 워크플로우 처리 장치와 방법, 및 이를 저장한 기록 매체를 제공하고자 한다.
본 발명은 복수의 맵리듀스 워크플로우들의 분석을 통해 생성된 워크플로우 실행 정의서와 워크플로우 메타데이터를 이용하여 복합적인 맵리듀스 작업을 처리할 수 있는 맵리듀스 워크플로우 처리 장치와 방법, 및 이를 저장한 기록 매체를 제공하고자 한다.
본 발명은 복합적인 맵리듀스 작업을 처리하기 위해 현재 실행되고 있는 맵리듀스 워크플로우의 수정을 관리할 수 있는 맵리듀스 워크플로우 처리 장치와 방법, 및 이를 저장한 기록 매체를 제공하고자 한다.
실시예들 중에서, 맵리듀스 워크플로우 처리 장치는 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 워크플로우 수신부 및 상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 워크플로우 제어부를 포함한다.
일 실시예에서, 상기 워크플로우 실행 정의서와 상기 워크플로우 메타데이터는 형식 언어로 작성되는 것을 특징으로 할 수 있다.
일 실시예에서, 맵리듀스 워크플로우 처리 장치는 상기 워크플로우 실행 정의서, 상기 작업 관계 정보 및 상기 호출 관계 정보를 별개의 그룹으로 저장하는 메타데이터 저장부를 더 포함할 수 있다.
일 실시예에서, 맵리듀스 워크플로우 처리 장치는 상기 워크플로우 실행 정의서를 실행하는 과정에서 상기 워크플로우 메타데이터를 통해 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 워크플로우 실행부를 더 포함할 수 있다.
일 실시예에서, 상기 워크플로우 실행부는 상기 복수의 맵리듀스 워크플로우들 내에 정의된 맵리듀스 작업들을 각각 수행하는 복수의 멀티-작업 수행부들 및 상기 맵리듀스 작업들을 할당하고 상기 맵리듀스 작업 수행부들의 작업 상태들을 관리하는 맵리듀스 작업 할당부를 포함할 수 있다.
일 실시예에서, 상기 워크플로우 실행부는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 상기 제1 맵리듀스 워크플로우의 진행 상태를 워크플로우 상태 저장부에 저장할 수 있다.
일 실시예에서, 상기 워크플로우 실행부는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 호출 관계를 상기 워크플로우 제어부에 송신할 수 있다.
일 실시예에서, 상기 워크플로우 제어부는 상기 수신된 호출 관계를 기초로 상기 메타데이터 저장부에 저장된 호출 관계 정보를 갱신할 수 있다.
일 실시예에서, 상기 작업 관계 정보는 작업 프로세스의 식별자와 이름, 및 상기 작업 프로세스를 호출하는 워크플로우에 대한 접근키를 포함할 수 있다.
일 실시예에서, 상기 호출 관계 정보는 콜러 워크플로우(caller workflow)에 대한 접근키와 콜드 워크플로우(called workflow)에 대한 접근키를 포함하는 워크플로우의 식별자 및 상기 워크플로우의 이름을 포함할 수 있다.
일 실시예에서, 상기 워크플로우 제어부는 현재 실행되고 있는 맵리듀스 워크플로우가 수정되면 상기 현재 실행되고 있는 맵리듀스 워크플로우의 호출 직전 상태로 콜러(caller) 맵리듀스 워크플로우에 관한 처리를 일시적으로 정지할 수 있다.
일 실시예에서, 상기 워크플로우 제어부는 상기 현재 실행되고 있는 맵리듀스 워크플로우의 수정이 완료되면 상기 콜러(caller) 맵리듀스 워크플로우를 통해 상기 수정이 완료된 맵리듀스 워크플로우를 바로 실행시킬 수 있다.
실시예들 중에서, 맵리듀스 워크플로우 처리 방법은 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 단계 및 상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 단계를 포함한다.
일 실시예에서, 상기 워크플로우 실행 정의서와 상기 워크플로우 메타데이터는 형식 언어로 작성되는 것을 특징으로 할 수 있다.
일 실시예에서, 맵리듀스 워크플로우 처리 방법은 상기 워크플로우 실행 정의서, 상기 작업 관계 정보 및 상기 호출 관계 정보를 별개의 그룹으로 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 맵리듀스 워크플로우 처리 방법은 상기 워크플로우 실행 정의서를 실행하는 과정에서 상기 워크플로우 메타데이터를 통해 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는 상기 복수의 맵리듀스 워크플로우들 내에 정의된 맵리듀스 작업들을 각각 수행하는 단계 및 상기 맵리듀스 작업들을 할당하고 상기 맵리듀스 작업 수행부들의 작업 상태들을 관리하는 단계를 포함할 수 있다.
일 실시예에서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 상기 제1 맵리듀스 워크플로우의 진행 상태를 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 호출 관계를 워크플로우 제어를 위해 송신하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 워크플로우 메타데이터를 생성하는 단계는 상기 수신된 호출 관계를 기초로 기 저장된 호출 관계 정보를 갱신하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 작업 관계 정보는 작업 프로세스의 식별자와 이름, 및 상기 작업 프로세스를 호출하는 워크플로우에 대한 접근키를 포함하는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 호출 관계 정보는 콜러 워크플로우(caller workflow)에 대한 접근키와 콜드 워크플로우(called workflow)에 대한 접근키를 포함하는 워크플로우의 식별자 및 상기 워크플로우의 이름을 포함하는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 워크플로우 메타데이터를 생성하는 단계는 현재 실행되고 있는 맵리듀스 워크플로우가 수정되면 상기 현재 실행되고 있는 맵리듀스 워크플로우의 호출 직전 상태로 콜러 맵리듀스 워크플로우에 관한 처리를 일시적으로 정지하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 워크플로우 메타데이터를 생성하는 단계는 상기 현재 실행되고 있는 맵리듀스 워크플로우의 수정이 완료되면 상기 콜러 맵리듀스 워크플로우를 통해 상기 수정이 완료된 맵리듀스 워크플로우를 바로 실행시키는 단계를 더 포함할 수 있다.
실시예들 중에서, 맵리듀스 워크플로우 처리 장치에서 수행되는 컴퓨터 프로그램을 기록한 기록매체는 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 기능 및 상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 기능을 포함한다.
본 발명의 일 실시예에 따른 맵리듀스 워크플로우 처리 장치와 이와 관련된 기술들은 복수의 맵리듀스 워크플로우들에 대한 워크플로우 실행 정의서와 작업 관계 정보 및 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하여 맵리듀스 워크플로우 상호간의 연관관계를 관리할 수 있다.
본 발명의 일 실시예에 따른 맵리듀스 워크플로우 처리 장치와 이와 관련된 기술들은 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 메타데이터 저장부에 저장된 호출 관계 정보를 갱신하여 실행 중인 맵리듀스 워크플로우와 다른 맵리듀스 워크플로우 사이의 관계를 빠르게 파악할 수 있다.
본 발명의 일 실시예에 따른 맵리듀스 워크플로우 처리 장치와 이와 관련된 기술들은 현재 실행되고 있는 맵리듀스 워크플로우가 수정되면 현재 실행되고 있는 맵리듀스 워크플로우의 호출 직전 상태로 콜러(caller) 맵리듀스 워크플로우에 관한 처리를 일시적으로 정지하여 맵리듀스 워크플로우 수정에 따른 영향을 최소화 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 맵리듀스 워크플로우 처리 장치를 설명하는 도면이다.
도 2은 도 1에 있는 워크플로우 실행부를 설명하는 도면이다.
도 3은 워크플로우 제어부와 워크플로우 실행부에서 호출 관계 정보를 갱신하는 과정을 설명하는 흐름도이다.
도 4는 워크플로우 실행 정의서와 워크플로우 메타데이터를 설명하는 도면이다.
도 5는 맵리듀스 워크플로우 수정에 따른 콜러 워크플로우(caller workflow)의 일시 정지 과정을 설명하는 흐름도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 맵리듀스 워크플로우 처리 장치를 설명하는 도면이다.
도 1을 참조하면, 맵리듀스 워크플로우 처리 장치(100)는 워크플로우 수신수(110), 워크플로우 제어부(120), 메타데이터 저장부(130) 및 워크플로우 실행부(140)를 포함한다.
워크플로우 수신부(110)는 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신한다. 맵리듀스 워크플로우는 적어도 하나 이상의 맵리듀스 작업을 포함할 수 있다. 맵리듀스 워크플로우는 대용량 데이터를 처리하기 위한 일련의 작업들에 대한 프로세스에 해당하고, 적어도 하나의 맵리듀스 작업을 포함하거나 또는 별개의 독립적인 맵리듀스 워크플로우를 콜드 맵리듀스 워크플로우(called mapreduce workflow)로서 포함할 수 있다. 또한, 맵리듀스 워크플로우는 조건 파라미터를 포함하여 분기 작업을 수행할 수 있고, 각 분기에서, 맵리듀스 작업 또는 별개의 독립적인 맵리듀스 워크플로우를 수행할 수 있다. 일 실시예에서, 워크플로우 수신부(110)는 맵리듀스 워크플로우를 작성하거나 또는 다른 저장소에서 가져올 수 있는 사용자 인터페이스를 제공할 수 있다.
일 실시예에서, 워크플로우 수신부(110)는 맵리듀스 어플리케이션 정보를 수신할 수 있다. 맵리듀스 어플리케이션 정보는 맵리듀스 작업을 외부의 어플리케이션(예를 들어, JAR 파일)으로 정의하기 위해 사용될 수 있다.
워크플로우 제어부(120)는 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 워크플로우 메타데이터를 생성한다. 워크플로우 메타데이터는 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함한다.
여기에서, 워크플로우 실행 정의서는 복수의 맵리듀스 작업들 또는 별개의 독립적인 맵리듀스 워크플로우를 포함하여 워크플로우의 진행을 결정할 수 있다. 일 실시예에서, 복수의 맵리듀스 작업들 각각은 워크플로우 수신부(110)를 통해 수신된 작업에 해당하거나 또는 워크플로우 제어부(120)에 의해 추가된 작업에 해당할 수 있다. 즉, 워크플로우 제어부(120)는 워크플로우 수신부(110)를 통해 수신된 작업들에 추가적인 작업을 부가하여 대용량 데이터 처리 효율을 향상시킬 수 있다. 워크플로우 메타데이터(특히, 작업 관계 정보 및 호출 관계 정보)는 도 4를 참조하여 설명한다.
일 실시예에서, 워크플로우 실행 정의서와 워크플로우 메타데이터는 형식 언어로 작성될 수 있다. 여기에서, 형식 언어는 맵리듀스 워크플로우 처리 장치(100)가 인식할 수 있는 언어로서, 예를 들어, XML언어에 해당할 수 있다.
메타데이터 저장부(130)는 워크플로우 실행 정의서, 해당 작업 관계 정보 및 해당 호출 관계 정보를 별개의 그룹(예를 들어, 데이터베이스 테이블)으로 저장한다. 워크플로우 제어부(120)는 메타데이터 저장부(130)에 저장된 내용을 기초로 맵리듀스 워크플로우를 실행시킬 수 있다. 또한, 워크플로우 제어부(120)는 워크플로우 실행 정의서, 해당 작업 관계 정보 및 해당 호출 관계 정보에 수정, 변경 사항이 있는 경우 메타데이터 저장부(130)에 저장된 내용을 수정하거나 갱신할 수 있다.
워크플로우 실행부(140)는 워크플로우 실행 정의서를 실행하는 과정에서 워크플로우 메타데이터를 통해 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어한다. 워크플로우 실행부(140)는 워크플로우 제어부(120)의 명령에 의해 맵리듀스 작업을 수행하여 대용량 데이터를 처리한다. 일 실시예에서, 워크플로우 실행부(140)는 맵리듀스 워크플로우 엔진(미도시됨)을 포함할 수 있고, 예를 들어, 맵리듀스 워크플로우 엔진은 아파치 재단(Apache Foundation)의 우지(Oozie) 또는 링크드인(Linded In)의 아즈카반(Azkaban)에 해당할 수 있다. 워크플로우 실행부(140)는 도 2 및 도 3을 참조하여 설명한다.
도 2은 도 1에 있는 워크플로우 실행부를 설명하는 도면이다.
도 2를 참조하면, 워크플로우 실행부(140)는 복수의 멀티-작업 수행부들(142), 맵리듀스 작업 할당부(141) 및 워크플로우 상태 저장부(143)를 포함할 수 있다.
복수의 멀티-작업 수행부들(142)은 복수의 맵리듀스 워크플로우들 내에 정의된 맵리듀스 작업들을 각각 수행하고, 맵리듀스 작업 할당부(141)는 맵리듀스 작업들을 할당하고 맵리듀스 작업 수행부(142)들의 작업 상태들을 관리할 수 있다.
멀티-작업 수행부들(142)은 맵리듀스 작업을 구성하는 맵 작업과 리듀스 작업을 수행할 수 있는 컴퓨팅 노드(하드웨어 또는 소프트웨어)에 해당할 수 있다. 예를 들어, 멀티-작업 수행부(142)는 하둡(Hadoop) 분산 시스템의 태스크 트래커(Task Tracker)에 해당할 수 있다.
맵리듀스 작업 할당부(141)는 맵리듀스 작업을 복수의 멀티-작업 수행부들(142)에 할당하고 맵리듀스 작업 수행부들(142)의 작업 상태들을 관리하여 멀티-작업 수행부들(142)이 대용량 데이터를 처리하도록 한다. 예를 들어, 맵리듀스 작업 할당부(141)는 하둡 분산 시스템의 잡 트래커(Job Tracker)에 해당할 수 있다.
워크플로우 상태 저장부(143)는 현재 워크플로우 실행부(140)에서 진행되고 있는 맵리듀스 워크플로우의 현재 상태를 저장한다. 즉, 워크플로우 실행부(140)가 예상하지 못한 외부 또는 내부 신호에 의해 중단된 경우, 워크플로우 상태 저장부(143)는 맵리듀스 워크플로우의 식별자 및 해당 워크플로우를 구성하는 맵리듀스 작업 또는 호출되는 별개의 맵리듀스 워크플로우들의 실행 상태(예를 들어, 대기, 실행, 성공, 실패)를 저장할 수 있다. 워크플로우 실행부(140)는 워크플로우 상태 저장부(143)에 저장된 일정한 지점부터 맵리듀스 워크플로우를 계속하여 진행할 수 있다.
일 실시예에서, 워크플로우 실행부(140)는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 제1 맵리듀스 워크플로우의 진행 상태를 워크플로우 상태 저장부(143)에 저장할 수 있다. 워크플로우 실행부(140)는 제2 맵리듀스 워크플로우에 의한 작업이 완료된 후에 워크플로우 상태 저장부(143)에 저장된 지점부터 제1 맵리듀스 워크플로우를 계속하여 진행할 수 있다.
도 3은 워크플로우 제어부와 워크플로우 실행부에서 호출 관계 정보를 갱신하는 과정을 설명하는 흐름도이다.
워크플로우 제어부(120)와 워크플로우 실행부(140)는 아래와 같은 단계를 통해 맵리듀스 워크플로우 진행 중 호출 관계 정보를 갱신할 수 있다.
워크플로우 제어부(120)는 워크플로우 실행 정의서를 메타데이터 저장부에 저장하고, 워크플로우 실행 정의서에 따라 맵리듀스 워크플로우를 진행한다(단계 S310). 워크플로우 실행부(140)는 현재의 맵리듀스 워크플로우가 진행되는 도중에 별개의 독립적인 맵리듀스 워크플로우가 호출되면(단계 S320), 현재 진행 상태를 워크플로우 상태 저장부(143)에 저장한다(단계 S330).
워크플로우 실행부(140)는 제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 호출 관계를 워크플로우 제어부(120)에 송신한다(단계 S340).
워크플로우 제어부(120)는 수신된 호출 관계를 기초로 메타데이터 저장부(130)에 저장된 호출 관계 정보를 갱신한다(단계 S350). 워크플로우 제어부(120)는 호출된 워크플로우의 진행이 완료되면(단계 S360) 다시 현재의 워크플로우를 진행한다(단계 S370).
도 4는 워크플로우 실행 정의서와 워크플로우 메타데이터의 저장 구조를 설명하는 도면이다.
워크플로우 실행 정의서(410)는 복수의 맵리듀스 작업들 또는 별개의 독립적인 맵리듀스 워크플로우를 포함하여 맵리듀스 워크플로우의 진행을 결정할 수 있다. 일 실시예에서, 맵리듀스 워크플로우의 식별자(411)와 이름(412), 설명 속성(413) 및 목적 속성(414) 중 어느 하나를 포함할 수 있다.
작업 관계 정보(420)는 작업 프로세스들 간의 실행 관계를 나타내는 정보로서, 일 실시예에서, 작업 프로세스의 식별자(421)와 이름(422), 및 작업 프로세스를 호출하는 워크플로우의 식별자(423)에 대한 접근키를 포함할 수 있다.
호출 관계 정보(430)는 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 정보로서, 콜러 워크플로우(caller workflow)에 대한 접근키(431)와 콜드 워크플로우(called workflow)에 대한 접근키(432)를 포함하는 워크플로우의 식별자 및 워크플로우의 이름(423)을 포함할 수 있다. 여기에서, 맵리듀스 워크플로우가 별개의 독립적인 맵리듀스 워크플로우를 호출하는 경우, 호출하는 맵리듀스 워크플로우는 콜러 워크플로우(caller workflow)에 해당하고, 호출되는 맵리듀스 워크플로우는 콜드 워크플로우(called workflow)에 해당한다.
도 5는 맵리듀스 워크플로우 수정에 따른 콜러 워크플로우(caller workflow)의 일시 정지 과정을 설명하는 도면이다.
워크플로우 제어부(120)는 맵리듀스 워크플로우를 수정하여 적용하는 경우 해당 워크플로우를 호출하는 콜러 워크플로우(caller workflow) 작업을 일시 정지 할수 있다.
맵리듀스 워크플로우가 수정되는 경우(단계 S510), 수정된 맵리듀스 워크플로우를 호출하는 콜러 워크플로우(caller workflow)가 존재할 수 있다(단계 S520). 해당 콜러 워크플로우가 작업 진행 중이면(단계 S530), 워크플로우 제어부(120)는 콜러 워크플로우의 작업을 일시 정지한다(단계 S540). 이후 워크플로우 제어부(120)는 수정된 맵리듀스 워크플로우를 적용하고(단계 S550), 중지된 콜러 워크플로우를 재개 할 수 있다(단계 S560). 일 실시예에서, 워크플로우 제어부(120)는 현재 실행되고 있는 맵리듀스 워크플로우가 수정되면, 콜러(caller) 맵리듀스 워크플로우를 해당 호출 직전 상태로 일시적으로 정지할 수 있다. 워크플로우 제어부(120)는 맵리듀스 워크플로우의 수정이 완료되면 상기 콜러(caller) 맵리듀스 워크플로우를 통해 수정이 완료된 맵리듀스 워크플로우를 바로 실행할 수 있다.
일 실시예에서, 워크플로우 제어부(120)는 맵리듀스 워크플로우가 수정되는 경우 수정되는 맵리듀스 워크플로우가 참조 하거나 참조 되는 맵리듀스 워크플로우 목록을 사용자 알림 화면으로 제공할 수 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 맵리듀스 워크플로우 처리 장치 110: 워크플로우 수신부
120: 워크플로우 제어부 130: 메타데이터 저장부
140: 워크플로우 실행부 141: 맵리듀스 작업 할당부
142: 멀티-작업 수행부 143: 워크플로우 상태 저장부
410: 워크플로우 실행 정의서 411~415: 워크플로우 속성
420: 작업 관계 정보 421~423: 작업 관계 정보 속성
430: 호출 관계 정보 431~433: 호출 관계 정보 속성

Claims (25)

  1. 상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 워크플로우 수신부; 및
    상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 워크플로우 제어부를 포함하는 맵리듀스 워크플로우 처리 장치.
  2. 제1항에 있어서, 상기 워크플로우 실행 정의서와 상기 워크플로우 메타데이터는
    형식 언어로 작성되는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  3. 제1항에 있어서,
    상기 워크플로우 실행 정의서, 상기 작업 관계 정보 및 상기 호출 관계 정보를 별개의 그룹으로 저장하는 메타데이터 저장부를 더 포함하는 맵리듀스 워크플로우 처리 장치.
  4. 제3항에 있어서,
    상기 워크플로우 실행 정의서를 실행하는 과정에서 상기 워크플로우 메타데이터를 통해 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 워크플로우 실행부를 더 포함하는 맵리듀스 워크플로우 처리 장치.
  5. 제4항에 있어서, 상기 워크플로우 실행부는
    상기 복수의 맵리듀스 워크플로우들 내에 정의된 맵리듀스 작업들을 각각 수행하는 복수의 멀티-작업 수행부들; 및
    상기 맵리듀스 작업들을 할당하고 상기 맵리듀스 작업 수행부들의 작업 상태들을 관리하는 맵리듀스 작업 할당부를 포함하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  6. 제5항에 있어서, 상기 워크플로우 실행부는
    제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 상기 제1 맵리듀스 워크플로우의 진행 상태를 워크플로우 상태 저장부에 저장하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  7. 제5항에 있어서, 상기 워크플로우 실행부는
    제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 호출 관계를 상기 워크플로우 제어부에 송신하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  8. 제7항에 있어서, 상기 워크플로우 제어부는
    상기 수신된 호출 관계를 기초로 상기 메타데이터 저장부에 저장된 호출 관계 정보를 갱신하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  9. 제1항에 있어서, 상기 작업 관계 정보는
    작업 프로세스의 식별자와 이름, 및 상기 작업 프로세스를 호출하는 워크플로우에 대한 접근키를 포함하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  10. 제1항에 있어서, 상기 호출 관계 정보는
    콜러 워크플로우(caller workflow)에 대한 접근키와 콜드 워크플로우(called workflow)에 대한 접근키를 포함하는 워크플로우의 식별자 및 상기 워크플로우의 이름을 포함하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  11. 제1항에 있어서, 상기 워크플로우 제어부는
    현재 실행되고 있는 맵리듀스 워크플로우가 수정되면 상기 현재 실행되고 있는 맵리듀스 워크플로우의 호출 직전 상태로 콜러(caller) 맵리듀스 워크플로우에 관한 처리를 일시적으로 정지하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  12. 제11항에 있어서, 상기 워크플로우 제어부는
    상기 현재 실행되고 있는 맵리듀스 워크플로우의 수정이 완료되면 상기 콜러(caller) 맵리듀스 워크플로우를 통해 상기 수정이 완료된 맵리듀스 워크플로우를 바로 실행시키는 것을 특징으로 하는 맵리듀스 워크플로우 처리 장치.
  13. 맵리듀스 워크플로우 처리 장치에서 수행되는 맵리듀스 워크플로우 처리 방법에 있어서,
    상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 단계; 및
    상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 단계를 포함하는 맵리듀스 워크플로우 처리 방법.
  14. 제13항에 있어서, 상기 워크플로우 실행 정의서와 상기 워크플로우 메타데이터는
    형식 언어로 작성되는 것을 특징으로 하는 맵리듀스 워크플로우 처리 방법.
  15. 제14항에 있어서,
    상기 워크플로우 실행 정의서, 상기 작업 관계 정보 및 상기 호출 관계 정보를 별개의 그룹으로 저장하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  16. 제15항에 있어서,
    상기 워크플로우 실행 정의서를 실행하는 과정에서 상기 워크플로우 메타데이터를 통해 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  17. 제16항에 있어서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는
    상기 복수의 맵리듀스 워크플로우들 내에 정의된 맵리듀스 작업들을 각각 수행하는 단계; 및
    상기 맵리듀스 작업들을 할당하고 상기 맵리듀스 작업 수행부들의 작업 상태들을 관리하는 단계를 포함하는 맵리듀스 워크플로우 처리 방법.
  18. 제17항에 있어서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는
    제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 상기 제1 맵리듀스 워크플로우의 진행 상태를 저장하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  19. 제17항에 있어서, 상기 멀티-작업과 다른 워크플로우에 대한 호출을 가능하게 제어하는 단계는
    제1 맵리듀스 워크플로우에서 제2 맵리듀스 워크플로우가 호출되면 호출 관계를 워크플로우 제어를 위해 송신하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  20. 제19항에 있어서, 상기 워크플로우 메타데이터를 생성하는 단계는
    상기 수신된 호출 관계를 기초로 기 저장된 호출 관계 정보를 갱신하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  21. 제13항에 있어서, 상기 작업 관계 정보는
    작업 프로세스의 식별자와 이름, 및 상기 작업 프로세스를 호출하는 워크플로우에 대한 접근키를 포함하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 방법.
  22. 제13항에 있어서, 상기 호출 관계 정보는
    콜러 워크플로우(caller workflow)에 대한 접근키와 콜드 워크플로우(called workflow)에 대한 접근키를 포함하는 워크플로우의 식별자 및 상기 워크플로우의 이름을 포함하는 것을 특징으로 하는 맵리듀스 워크플로우 처리 방법.
  23. 제13항에 있어서, 상기 워크플로우 메타데이터를 생성하는 단계는
    현재 실행되고 있는 맵리듀스 워크플로우가 수정되면 상기 현재 실행되고 있는 맵리듀스 워크플로우의 호출 직전 상태로 콜러 맵리듀스 워크플로우에 관한 처리를 일시적으로 정지하는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  24. 제23항에 있어서, 상기 워크플로우 메타데이터를 생성하는 단계는
    상기 현재 실행되고 있는 맵리듀스 워크플로우의 수정이 완료되면 상기 콜러 맵리듀스 워크플로우를 통해 상기 수정이 완료된 맵리듀스 워크플로우를 바로 실행시키는 단계를 더 포함하는 맵리듀스 워크플로우 처리 방법.
  25. 맵리듀스 워크플로우 처리 장치에서 수행되는 컴퓨터 프로그램을 기록한 기록매체에 있어서,
    상호 간에 독립적인 복수의 맵리듀스 워크플로우들을 수신하는 기능; 및
    상기 복수의 맵리듀스 워크플로우들을 분석하여 워크플로우 실행 정의서와 적어도 하나 이상의 작업 프로세스 간의 실행 관계를 나타내는 작업 관계 정보 및 상기 복수의 맵리듀스 워크플로우들 간의 호출 관계를 나타내는 호출 관계 정보를 포함하는 워크플로우 메타데이터를 생성하는 기능을 포함하는 기록매체.
KR1020120138477A 2012-11-30 2012-11-30 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체 KR101516055B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120138477A KR101516055B1 (ko) 2012-11-30 2012-11-30 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체
US13/866,710 US20140156849A1 (en) 2012-11-30 2013-04-19 Map-reduce workflow processing apparatus and method, and storage media storing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120138477A KR101516055B1 (ko) 2012-11-30 2012-11-30 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체

Publications (2)

Publication Number Publication Date
KR20140070231A true KR20140070231A (ko) 2014-06-10
KR101516055B1 KR101516055B1 (ko) 2015-05-04

Family

ID=50826626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120138477A KR101516055B1 (ko) 2012-11-30 2012-11-30 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체

Country Status (2)

Country Link
US (1) US20140156849A1 (ko)
KR (1) KR101516055B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910888B2 (en) 2014-10-01 2018-03-06 Red Hat, Inc. Map-reduce job virtualization
JP6558037B2 (ja) * 2015-04-10 2019-08-14 富士通株式会社 運用管理プログラム、運用管理方法、および運用管理装置
US10102029B2 (en) * 2015-06-30 2018-10-16 International Business Machines Corporation Extending a map-reduce framework to improve efficiency of multi-cycle map-reduce jobs
CN105162937B (zh) * 2015-08-31 2018-04-06 小米科技有限责任公司 来电信息处理方法及装置
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
USD898059S1 (en) 2017-02-06 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
USD898060S1 (en) 2017-06-05 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
KR102009576B1 (ko) * 2017-12-13 2019-08-09 충북대학교 산학협력단 처리 스케줄러를 이용한 워크플로우 장치 및 워크플로우 장치의 동작 방법
KR101996151B1 (ko) * 2017-12-13 2019-07-03 충북대학교 산학협력단 워크플로우 시스템에서의 테이블 네이밍 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284423B2 (en) * 2006-04-07 2012-10-09 Ricoh Production Print Solutions LLC Customer-configurable print workflow system
JP5478526B2 (ja) * 2011-01-31 2014-04-23 日本電信電話株式会社 データ分析及び機械学習処理装置及び方法及びプログラム
US20120222097A1 (en) * 2011-02-28 2012-08-30 Wilson Jobin System and method for user classification and statistics in telecommunication network
US9086923B2 (en) * 2011-09-16 2015-07-21 Rutgers, The State University Of New Jersey Autonomic workflow management in dynamically federated, hybrid cloud infrastructures
US8856291B2 (en) * 2012-02-14 2014-10-07 Amazon Technologies, Inc. Providing configurable workflow capabilities

Also Published As

Publication number Publication date
KR101516055B1 (ko) 2015-05-04
US20140156849A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
KR101516055B1 (ko) 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체
US9086923B2 (en) Autonomic workflow management in dynamically federated, hybrid cloud infrastructures
Nathani et al. Policy based resource allocation in IaaS cloud
US10733019B2 (en) Apparatus and method for data processing
US9141433B2 (en) Automated cloud workload management in a map-reduce environment
US20170357448A1 (en) Selective i/o prioritization by system process/thread
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
CN103365713A (zh) 一种资源的调度和管理方法及装置
US20130081063A1 (en) Scalable, Parallel Processing of Messages While Enforcing Custom Sequencing Criteria
US11132221B2 (en) Method, apparatus, and computer-readable medium for dynamic binding of tasks in a data exchange
JP5552449B2 (ja) データ分析及び機械学習処理装置及び方法及びプログラム
CN103067468A (zh) 云调度方法及其系统
WO2013091219A1 (zh) 并发任务的处理方法及装置
US20150033226A1 (en) Host system and method for managing data consumption rate in a virtual data processing environment
CN107800779B (zh) 优化负载均衡的方法及系统
Liu et al. KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes
Sai et al. Producer-Consumer problem using Thread pool
CN102790715A (zh) 一种基于互联网的资源分配系统及方法
AU2015288125B2 (en) Control in initiating atomic tasks on a server platform
US10033781B2 (en) Streaming data on data processes
KR102230266B1 (ko) 복수의 전자 디바이스 사이에서 애플리케이션을 공유하는 방법 및 전자 디바이스
KR102045997B1 (ko) 분산 파일 시스템을 기반으로 하는 빅데이터 처리 플랫폼의 태스크 스케줄링 방법, 이를 위한 컴퓨터 프로그램 및 컴퓨터 판독 가능 기록 매체
Singh et al. Private cloud scheduling with SJF, bound waiting, priority and load balancing
CN114490000A (zh) 任务处理方法、装置、设备及存储介质
US20100325636A1 (en) Interface between a resource manager and a scheduler in a process

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180404

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5