KR101806497B1 - Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법 - Google Patents

Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법 Download PDF

Info

Publication number
KR101806497B1
KR101806497B1 KR1020160098913A KR20160098913A KR101806497B1 KR 101806497 B1 KR101806497 B1 KR 101806497B1 KR 1020160098913 A KR1020160098913 A KR 1020160098913A KR 20160098913 A KR20160098913 A KR 20160098913A KR 101806497 B1 KR101806497 B1 KR 101806497B1
Authority
KR
South Korea
Prior art keywords
etl
job process
agent
server
agents
Prior art date
Application number
KR1020160098913A
Other languages
English (en)
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 KR1020160098913A priority Critical patent/KR101806497B1/ko
Application granted granted Critical
Publication of KR101806497B1 publication Critical patent/KR101806497B1/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
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

ETL 잡 프로세스(ETL job process)를 분산 수행하기 위한 미들웨어(middleware) 장치 및 그 방법이 개시된다. 다수의 데이터베이스 서버(database server)에 대하여 ETL 잡 프로세스(ETL job process)를 수행하며, 상기 데이터베이스 서버의 유휴 자원(idle resource)을 분석하고 유휴 자원 분석 결과를 실시간 송신하는 다수의 ETL 에이전트(extraction, transformation, loading agent); 상기 다수의 ETL 에이전트로부터 상기 유휴 자원 분석 결과를 각각 실시간 수신하고, 각각 실시간 수신된 유휴 자원 분석 결과를 기반으로 상기 다수의 ETL 에이전트가 ETL 잡 프로세스를 분산하여 수행하도록 제어하는 ETL 분산 서버(extraction, transformation, loading distribution server)를 구성한다. 상술한 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법에 의하면, ETL 분산 서버의 하드웨어 내 또는 동일한 네트워크 상에 ETL 에이전트를 구비하여 ETL 잡 프로세스를 수행하도록 구성됨으로써, ETL 잡 프로세스의 분산 실행은 물론 그 효율성을 높일 수 있는 효과가 있다. 특히, 데이터베이스 서버의 유휴 자원을 실시간으로 분석하여 ETL 에이전트를 통해 그 유휴 자원의 활용도를 높일 수 있으며, 데이터 마이그레이션 시에는 데이터 보존은 물론 그 프로세스의 효율성을 높일 수 있는 효과가 있다.

Description

ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법{MIDDLEWARE APPARATUS FOR DITRIBUTING EXTRACTION, TRANSFOMRATION, LOADING JOB PROCESS AND METHOD THREREOF}
본 발명은 미들웨어(middleware) 장치 및 미들웨어 장치의 수행 방법에 관한 것으로서, 구체적으로는 ETL 잡 프로세스(extraction, transformation, loading job process)를 분산 수행하기 위한 미들웨어 장치 및 그 방법에 관한 것이다.
최근에는 다양한 분야에서 빅 데이터(big data)의 수집과 분석을 통한 새로운 정보의 가공이 이루어지고 있다.
이러한 빅 데이터는 내부 네트워크 또는 외부 네트워크에서 다양하게 데이터가 수집되며 변환되고 저장되는 과정을 거친다.
ETL 잡 프로세스(extraction, transformation, loading job process)는 데이터 마이그레이션(data migration)의 일종으로서 데이터를 이관하는 일련의 프로세스를 의미한다.
좀 더 구체적으로는 내부 네트워크의 여러 데이터베이스 내지는 자원 서버(source server)로부터 데이터를 추출(extraction)하고 변환(transformation)하여 적재(loading)하는 것을 의미한다. 수많은 ETL 잡 프로세스는 동시에 수행된다.
기존에는 ETL 잡 프로세스가 성공하였는지 또는 실패하였는지에 대해서 피드백(feedback)을 받을 뿐, 데이터베이스 서버의 유휴 자원(idle resource)에 대해서는 전혀 고려하지 않았다.
이에, 기존에는 유휴 자원을 효율적으로 활용할 수 없었으며, 동시에 수백개 내지 수천개가 실행되는 ETL 잡 프로세스에 대해서 효율적으로 관리할 수 없었다.
데이터베이스 서버의 유휴 자원을 실시간 파악하고 활용하는 것은 물론 데이터베이스 서버의 셧다운(shutdown)시 다른 데이터베이스 서버로 데이터 마이그레이션(data migration)을 수행하여 데이터의 보존과 데이터 수집/분석에 만전을 기할 수 있는 수단이 요구된다.
한국등록특허공보 10-1260403 한국공개특허공보 10-2015-0112050
본 발명의 목적은 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치를 제공하는 데 있다.
본 발명의 다른 목적은 미들웨어 장치의 ETL 잡 프로세스 분산 수행 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치는, 다수의 데이터베이스 서버(database server)에 대하여 ETL 잡 프로세스(ETL job process)를 수행하며, 상기 데이터베이스 서버의 유휴 자원(idle resource)을 분석하고 유휴 자원 분석 결과를 실시간 송신하는 다수의 ETL 에이전트(extraction, transformation, loading agent); 상기 다수의 ETL 에이전트로부터 상기 유휴 자원 분석 결과를 각각 실시간 수신하고, 각각 실시간 수신된 유휴 자원 분석 결과를 기반으로 상기 다수의 ETL 에이전트가 ETL 잡 프로세스를 분산하여 수행하도록 제어하는 ETL 분산 서버(extraction, transformation, loading distribution server)를 포함하도록 구성될 수 있다.
여기서, 상기 다수의 ETL 에이전트는, ETL 에이전트가 설치된 데이터베이스 서버의 CPU(central processing unit) 가용율, 메모리(memory) 가용율 및 하드디스크 용량(disk space)에 대한 유휴 자원을 분석하도록 구성될 수 있다.
그리고 상기 ETL 분산 서버 및 상기 다수의 ETL 에이전트는, 하나의 하드웨어(hardware)에 구현되거나 또는 동일한 네트워크 상에 존재하는 각각 별도의 하드웨어에 구현되도록 구성될 수 있다.
그리고 상기 ETL 분산 서버는, WAS(web application server)로 구성되며 ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하도록 구성될 수 있다.
그리고 상기 ETL 분산 서버는, 상기 ETL 잡 프로세스를 수행하기 위한 상기 ETL 에이전트의 개수를 가변적으로 늘리거나 줄이도록 구성될 수 있다.
그리고 상기 ETL 분산 서버는, 소정의 데이터베이스 서버가 셧다운(shutdown)되는 경우, 상기 ETL 에이전트가 상기 셧다운된 데이터베이스 서버의 데이터를 다른 데이터베이스 서버로 마이그레이션(migration)을 수행하도록 상기 ETL 에이전트를 제어하는 것으로 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 미들웨어 장치의 ETL 잡 프로세스 분산 수행 방법은, ETL 분산 서버(extraction, transformation, loading distribution server)가 다수의 ETL 에이전트(extraction, transformation, loading agent)로 데이터베이스 서버(database server)의 유휴 자원(idle resource)을 수집하도록 요청하는 단계; 상기 ETL 에이전트가 상기 요청에 따라 상기 데이터베이스 서버에 대하여 유휴 자원을 분석하고 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버로 송신하는 단계; 상기 ETL 분산 서버가 상기 유휴 자원 분석 결과를 실시간 수신하고, 실시간 수신된 유휴 자원 분석 결과에 따라 현재 가용 상태의 ETL 에이전트로 ETL 잡 프로세스(extraction, transformation, loading job process)를 수행하도록 명령하는 단계; 상기 ETL 에이전트가 상기 명령에 따라 ETL 잡 프로세스를 수행하고 수행 결과를 상기 ETL 분산 서버로 피드백하는 단계를 포함하도록 구성될 수 있다.
여기서, 상기 ETL 에이전트가 상기 요청에 따라 상기 데이터베이스 서버에 대하여 유휴 자원을 분석하고 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버로 송신하는 단계는, 상기 ETL 에이전트가 상기 ETL 에이전트가 설치된 데이터베이스 서버의 CPU(central processing unit) 가용율, 메모리(memory) 가용율 및 하드디스크 용량(disk space)에 대한 유휴 자원을 분석하도록 구성될 수 있다.
그리고 상기 ETL 분산 서버가 상기 유휴 자원 분석 결과를 실시간 수신하고, 실시간 수신된 유휴 자원 분석 결과에 따라 현재 가용 상태의 ETL 에이전트로 ETL 잡 프로세스를 수행하도록 명령하는 단계는, 상기 ETL 잡 프로세스를 수행하기 위한 상기 ETL 에이전트의 개수를 가변적으로 늘리거나 줄이도록 구성될 수 있다.
그리고 상기 ETL 에이전트가 상기 명령에 따라 ETL 잡 프로세스를 수행하고 수행 결과를 상기 ETL 분산 서버로 피드백하는 단계는, 상기 ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하도록 구성될 수 있다.
한편, 상기 ETL 에이전트가 소정의 데이터베이스 서버가 셧다운(shutdown)되는지 감지하는 단계; 상기 ETL 에이전트가 상기 셧다운된 경우, 상기 ETL 분산 서버의 제어에 따라 상기 ETL 에이전트가 상기 셧다운이 감지된 데이터베이스 서버의 데이터를 다른 데이터베이스 서버로 마이그레이션(migration)을 수행하는 단계를 더 포함하도록 구성될 수 있다.
상술한 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법에 의하면, ETL 분산 서버의 하드웨어 내 또는 동일한 네트워크 상에 ETL 에이전트를 구비하여 ETL 잡 프로세스를 수행하도록 구성됨으로써, ETL 잡 프로세스의 분산 실행은 물론 그 효율성을 높일 수 있는 효과가 있다.
특히, 데이터베이스 서버의 유휴 자원을 실시간으로 분석하여 ETL 에이전트를 통해 그 유휴 자원의 활용도를 높일 수 있으며, 데이터 마이그레이션 시에는 데이터 보존은 물론 그 프로세스의 효율성을 높일 수 있는 효과가 있다.
도 1은 본 발명에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치의 모식도이다.
도 2는 본 발명의 일 실시예에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치의 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 미들웨어 장치의 ETL 잡 프로세스 분산 수행 방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치의 모식도이고, 도 2는 본 발명의 일 실시예에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치의 블록 구성도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치(100)는 다수의 ETL 에이전트(extraction, transformation, loading agent)(110) 및 ETL 분산 서버(extraction, transformation, loading distribution server)(120)를 포함하도록 구성될 수 있다.
ETL 잡 프로세스를 분산 수행하기 위한 미들웨어 장치(100)는 기존과 달리 데이터베이스 서버(database server)(10)의 유휴 자원(idle resource)을 분석하여 그 활용도를 높이고 데이터베이스 서버(10)의 자원(resource)의 점유율에 따라 ETL 잡 프로세스(ETL job process)를 분산 수행하도록 구성된다. 기존에는 없었던 ETL 에이전트(110)를 이용하여 유휴 자원 분석은 물론 ETL 잡 프로세스의 분산 수행을 하여 네트워크 내부에 존재하는 데이터베이스 서버(10) 간의 데이터 마이그레이션(data migration)을 원활하게 수행할 수 있도록 구성된다.
이하, 세부적인 구성에 대하여 설명한다.
ETL 에이전트(110)는 ETL 에이전트(110)가 설치된 데이터베이스 서버(10)에 대하여 ETL 잡 프로세스를 수행하도록 구성될 수 있다. ETL 에이전트(110)나 데이터베이스 서버(10)는 각각 다수 개가 구비될 수 있다.
ETL 에이전트(110)는 기본적으로 어느 하나의 데이터베이스 서버(10)에 대해 ETL 잡 프로세스를 수행하여 데이터를 추출(extraction)하거나 변환(transformation)하고 적재(loading)하도록 구성될 수 있다.
그러나, ETL 분산 서버(120)의 분산 실행 제어에 따라 다른 데이터베이스 서버(10)로의 데이터 마이그레이션 등을 수행하도록 구성될 수 있다.
ETL 에이전트(110)는 ETL 분산 서버(120)와 동일한 하드웨어(hardware)에 구현될 수 있으며, 하나의 네트워크 내에서 ETL 분산 서버(120)와 별도로 구성된 하드웨어에 구현될 수도 있다.
ETL 에이전트(110)가 ETL 분산 서버(120)와 동일한 하드웨어에 구현되는 경우에는 ETL 에이전트(110)는 ETL 분산 서버(120)에 의해 수시로 생성될 수 있도록 구성될 수 있다.
ETL 에이전트(110)는 ETL 분산 서버(120)의 요청에 따라 데이터베이스 서버(10)의 유휴 자원을 분석하고 그 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버(120)로 송신하도록 구성될 수 있다.
구체적으로 유휴 자원의 분석이라 함은 ETL 에이전트(110)가 CPU(central processing unit) 가용율 및 메모리(memory) 가용율, 하드디스크 용량(disk space)에 대한 상태를 분석하여 ETL 잡 프로세스를 수행하기 위한 최적의 서버를 찾을 수 있도록 구성 할 수 있다.
ETL 분석 서버(120)는 다수의 ETL 에이전트(110)에 대하여 제어를 하는 구성으로서, 유휴 자원 분석 결과에 따라 각 ETL 에이전트(110)의 ETL 잡 프로세스를 분산 실행시켜 각 데이터베이스 서버(10)의 유휴 자원에 대한 활용도를 높이도록 구성될 수 있다.
즉, ETL 분석 서버(120)는 ETL 에이전트(110)로부터 각각 실시간 수신된 유휴 자원 분석 결과를 기반으로 다수의 ETL 에이전트(110)가 ETL 잡 프로세스를 분산하여 수행하도록 제어하는 것으로 구성될 수 있다. 기존에는 ETL 잡 프로세스의 성공 또는 실패 여부만을 원격에서 확인할 수 있을 뿐, ETL 잡 프로세스를 각 데이터베이스 서버(10)에 대해 분산 실행할 수 있도록 하는 구성이 없었으나, 본 발명에서는 이러한 분산 수행 구성에 의해 그 실행 속도와 자원 점유율을 효율적으로 이용할 수 있다.
한편, ETL 분산 서버(120)는 WAS(web application server)로 구성되며 ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하도록 구성될 수 있다.
그리고 ETL 분산 서버(120)는 동시에 실행되는 ETL 잡 프로세스의 개수가 늘어나는 경우, 그 ETL 에이전트(110)의 개수를 가변적으로 늘리거나 줄일 수 있도록 구성될 수 있다. 이때, ETL 에이전트(110)는 ETL 분산 서버(120)와 동일한 하드웨어에 구현되는 소프트웨어 모듈로 구성되는 경우이다.
다른 한편, ETL 에이전트(110)에 의해 소정의 데이터베이스 서버(110)가 셧다운(shutdown)되는 것이 감지되는 경우, ETL 분산 서버(120)는 ETL 에이전트(110)가 셧다운된 데이터베이스 서버(10)의 데이터를 다른 데이터베이스 서버(10)로 마이그레이션을 수행하여 데이터를 보존하도록 구성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 미들웨어 장치의 ETL 잡 프로세스 분산 수행 방법의 흐름도이다.
도 3을 참조하면, ETL 분산 서버(extraction, transformation, loading distribution server)(120)가 다수의 ETL 에이전트(extraction, transformation, loading agent)(110)로 데이터베이스 서버(database server)(10)의 유휴 자원(idle resource)을 수집하도록 요청한다(S101).
다음으로, ETL 에이전트(110)가 요청에 따라 데이터베이스 서버(10)에 대하여 유휴 자원을 분석하고 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버(120)로 송신한다(S102).
여기서, ETL 에이전트(110)가 데이터베이스 서버(10)의 CPU(central processing unit) 가용율, 메모리(memory) 가용율 및 하드디스크 용량(disk space)에 대한 유휴 자원을 분석하도록 구성될 수 있다.
다음으로, ETL 분산 서버(120)가 유휴 자원 분석 결과를 실시간 수신하고, 실시간 수신된 유휴 자원 분석 결과에 따라 현재 가용 상태의 ETL 에이전트(110)로 ETL 잡 프로세스(extraction, transformation, loading job process)를 수행하도록 명령한다(S103).
여기서, 바람직하게는 현재 가용 상태는 최적의 자원을 활용할 수 있는 상태로 한정될 수 있다. 최적의 자원을 활용할 수 있는 상태 중 현재 가용 상태는 ETL 잡 프로세스 대비 유휴 자원을 대비하여 프로세스의 효율을 가장 높일 수 있는 상태를 의미한다. 최적의 자원을 활용할 수 있는 상태는 다양한 알고리즘에 따라 판단될 수 있는데, CPU(central processing unit) 가용율 및 메모리(memory) 가용율이 높거나 하드디스크 용량(disk space)이 큰 상태가 될 수 있다. 특히, 저장할 데이터가 많은 경우에는 하드디스크 용량을 먼저 고려하여 ETL 잡 프로세스를 분산 수행하도록 하고, 최대한 빠른 시간 내에 처리를 해야 하는 경우에는 CPU 가용율과 메모리 가용율을 우선적으로 고려하여 최적의 자원을 활용할 수 있는 상태를 판단하도록 구성될 수 있다. 이러한 최적의 자원을 활용할 수 있는 상태는 ETL 잡 프로세스의 중단없이 프로세스의 수행이 가능하도록 하는 잡 프로세스 배치를 가능하게 하도록 정해지는 것이 바람직하다.
최적의 자원을 활용할 수 있는 상태가 아니더라도 ETL 에이전트(110)가 현재 가용할 수 있는 상태이면, ETL 분산 서버(120)는 해당 ETL 에이전트(110)가 ETL 잡 프로세스를 수행하도록 명령할 수도 있다.
이때, ETL 분산 서버(120)는 ETL 잡 프로세스를 수행하기 위한 ETL 에이전트(110)의 개수를 가변적으로 늘리거나 줄이도록 구성될 수 있다.
다음으로, ETL 에이전트(110)가 명령에 따라 ETL 잡 프로세스를 수행하고 수행 결과를 ETL 분산 서버(120)로 피드백한다(S104).
여기서, ETL 에이전트(110)는 ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하도록 구성될 수 있다.
다음으로, ETL 에이전트(110)가 소정의 데이터베이스 서버(10)가 셧다운(shutdown)되는지 감지한다(S105).
다음으로, 소정의 데이터베이스 서버(10)가 셧다운된 경우, ETL 분산 서버(120)의 제어에 따라 ETL 에이전트(110)가 셧다운이 감지된 데이터베이스 서버(10)의 데이터를 다른 데이터베이스 서버(10)로 마이그레이션(migration)한다(S106).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: ETL 에이전트
120: ETL 분산 서버

Claims (11)

  1. 다수의 데이터베이스 서버(database server)에 대하여 ETL 잡 프로세스(ETL job process)를 수행하며, 상기 데이터베이스 서버의 유휴 자원(idle resource)을 분석하고 유휴 자원 분석 결과를 실시간 송신하는 다수의 ETL 에이전트(extraction, transformation, loading agent);
    상기 다수의 ETL 에이전트로부터 상기 유휴 자원 분석 결과를 각각 실시간 수신하고, 각각 실시간 수신된 유휴 자원 분석 결과를 기반으로 상기 다수의 ETL 에이전트가 ETL 잡 프로세스를 분산하여 수행하도록 제어하는 ETL 분산 서버(extraction, transformation, loading distribution server)를 포함하고,
    상기 다수의 ETL 에이전트는,
    상기 ETL 분산 서버에 구현되는 소프트웨어 모듈로 구성되고, 상기 다수의 데이터베이스 서버의 CPU(central processing unit) 가용율, 메모리(memory) 가용율 및 하드디스크 용량(disk space)에 대한 유휴 자원을 분석하도록 구성되고,
    상기 ETL 분산 서버는,
    하나의 하드웨어로 구성되는 WAS(web application server)로 구성되고, ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하며, 소정의 데이터베이스 서버가 셧다운(shutdown)되는 경우 상기 ETL 에이전트가 상기 셧다운된 데이터베이스 서버의 데이터를 다른 데이터베이스 서버로 마이그레이션(migration)을 수행하도록 상기 ETL 에이전트를 제어하며, 소정의 데이터베이스 서버의 셧다운(shutdown) 여부 또는 데이터 마이그레이션(data migration)의 수행 여부에 따라 상기 ETL 잡 프로세스를 수행하기 위한 상기 ETL 에이전트의 개수를 자동으로 가변적으로 늘리거나 줄이도록 구성되는 것을 특징으로 하는 ETL 잡 프로세스를 분산 수행하기 위한 미들웨어(middleware) 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. ETL 분산 서버(extraction, transformation, loading distribution server)가 다수의 ETL 에이전트(extraction, transformation, loading agent)로 데이터베이스 서버의 유휴 자원(idle resource)을 수집하도록 요청하는 단계;
    상기 ETL 에이전트가 상기 요청에 따라 상기 데이터베이스 서버에 대하여 유휴 자원을 분석하고 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버로 송신하는 단계;
    상기 ETL 분산 서버가 상기 유휴 자원 분석 결과를 실시간 수신하고, 실시간 수신된 유휴 자원 분석 결과에 따라 현재 가용 상태의 ETL 에이전트로 ETL 잡 프로세스(extraction, transformation, loading job process)를 수행하도록 명령하는 단계;
    상기 ETL 에이전트가 상기 명령에 따라 ETL 잡 프로세스를 수행하고 수행 결과를 상기 ETL 분산 서버로 피드백하는 단계;
    상기 ETL 에이전트가 소정의 데이터베이스 서버가 셧다운(shutdown)되는지 감지하는 단계;
    상기 ETL 에이전트가 상기 셧다운된 경우, 상기 ETL 분산 서버의 제어에 따라 상기 ETL 에이전트가 상기 셧다운이 감지된 데이터베이스 서버의 데이터를 다른 데이터베이스 서버로 마이그레이션(migration)을 수행하는 단계를 포함하고,
    상기 ETL 에이전트가 상기 요청에 따라 상기 데이터베이스 서버에 대하여 유휴 자원을 분석하고 유휴 자원 분석 결과를 실시간으로 ETL 분산 서버로 송신하는 단계는,
    상기 ETL 에이전트가 설치된 데이터베이스 서버의 CPU(central processing unit) 가용율, 메모리(memory) 가용율 및 하드디스크 용량(disk space)에 대한 유휴 자원을 분석하도록 구성되고,
    상기 ETL 분산 서버가 상기 유휴 자원 분석 결과를 실시간 수신하고, 실시간 수신된 유휴 자원 분석 결과에 따라 현재 가용 상태의 ETL 에이전트로 ETL 잡 프로세스를 수행하도록 명령하는 단계는,
    상기 ETL 잡 프로세스를 수행하기 위한 상기 ETL 에이전트의 개수를 가변적으로 늘리거나 줄이도록 구성되고,
    상기 ETL 에이전트가 상기 명령에 따라 ETL 잡 프로세스를 수행하고 수행 결과를 상기 ETL 분산 서버로 피드백하는 단계는,
    상기 ETL 잡 프로세스의 등록 및 모니터링(monitoring)을 수행하도록 구성되고,
    상기 ETL 분산 서버는,
    하나의 하드웨어로 구성되는 WAS(web application server)로 구성되고,
    상기 다수의 ETL 에이전트는,
    상기 ETL 분산 서버에 구현되는 소프트웨어 모듈로 구성되는 것을 특징으로 하는 미들웨어(middleware) 장치의 ETL 잡 프로세스 분산 수행 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
KR1020160098913A 2016-08-03 2016-08-03 Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법 KR101806497B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160098913A KR101806497B1 (ko) 2016-08-03 2016-08-03 Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160098913A KR101806497B1 (ko) 2016-08-03 2016-08-03 Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101806497B1 true KR101806497B1 (ko) 2017-12-08

Family

ID=60919996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160098913A KR101806497B1 (ko) 2016-08-03 2016-08-03 Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101806497B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732809A (zh) * 2020-12-31 2021-04-30 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186624A (ja) 2013-03-25 2014-10-02 Kddi Corp マイグレーション処理方法及び処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186624A (ja) 2013-03-25 2014-10-02 Kddi Corp マイグレーション処理方法及び処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
박상현. ‘ETL 데이터 이관의 성능 향상에 관한 연구’. 숭실대학교 정보과학대학원 소프트웨어공학과, 학위논문(석사), 2015.08., pp.1-63.*
최종근. '데이터 마이그레이션을 위한 오픈소스 ETL도구 평가'. 숭실대학교 정보과학대학원 소프트웨어공학과, 학위논문(석사), 2011.06., pp.1-30.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732809A (zh) * 2020-12-31 2021-04-30 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法
CN112732809B (zh) * 2020-12-31 2023-08-04 杭州海康威视系统技术有限公司 一种etl系统及基于etl系统的数据处理方法

Similar Documents

Publication Publication Date Title
US10061858B2 (en) Method and apparatus for processing exploding data stream
EP3335120B1 (en) Method and system for resource scheduling
CN100451989C (zh) 软件测试系统及测试方法
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
US20160253220A1 (en) Data center operation
TWI547817B (zh) 叢集運算架構的資源規劃方法、系統及裝置
US20060277295A1 (en) Monitoring system and monitoring method
CN108256118B (zh) 数据处理方法、装置、系统、计算设备以及存储介质
CN105049268A (zh) 分布式计算资源分配系统和任务处理方法
CN105471635B (zh) 一种系统日志的处理方法、装置和系统
CN108334557B (zh) 一种聚合数据分析方法、装置、存储介质及电子设备
US20170048352A1 (en) Computer-readable recording medium, distributed processing method, and distributed processing device
US20160110227A1 (en) System, method of controlling to execute a job, and apparatus
CN105700877A (zh) 一种应用部署方法和装置
CN104199912A (zh) 一种任务处理的方法及装置
CN103107921A (zh) 监控方法和系统
KR101806497B1 (ko) Etl 잡 프로세스를 분산 수행하기 위한 미들웨어 장치 및 그 방법
CN106611222B (zh) 一种通用任务管理方法及系统
CN111376255B (zh) 机器人数据采集方法、装置及终端设备
US9189370B2 (en) Smart terminal fuzzing apparatus and method using multi-node structure
US10379561B2 (en) Energy saving method based on confidence interval and apparatus using the same
CN105760215A (zh) 基于映射规约模型分布式文件系统作业的运行方法
CN106294408B (zh) 对动态网页的异步请求进行监控的方法和装置
US9712380B2 (en) Analytical device control system
US8560650B2 (en) Network device and method for setting parameters of the network device

Legal Events

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