KR20160142102A - 분산 스트림 처리 서비스 병합 방법 및 장치 - Google Patents

분산 스트림 처리 서비스 병합 방법 및 장치 Download PDF

Info

Publication number
KR20160142102A
KR20160142102A KR1020150078030A KR20150078030A KR20160142102A KR 20160142102 A KR20160142102 A KR 20160142102A KR 1020150078030 A KR1020150078030 A KR 1020150078030A KR 20150078030 A KR20150078030 A KR 20150078030A KR 20160142102 A KR20160142102 A KR 20160142102A
Authority
KR
South Korea
Prior art keywords
node
stream processing
tree
service tree
service
Prior art date
Application number
KR1020150078030A
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 KR1020150078030A priority Critical patent/KR20160142102A/ko
Priority to US15/153,264 priority patent/US20160357612A1/en
Publication of KR20160142102A publication Critical patent/KR20160142102A/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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • G06F17/30516
    • G06F17/30545

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시 예들은, 분산 스트림 처리 서비스를 관리하는 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법은, 하나의 분산 스트림 처리 서비스를 기반으로 전역 서비스 트리를 생성하는 단계; 상기 하나의 분산 스트림 처리 서비스와는 상이한 분산 스트림 처리 서비스가 입력될 때마다 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하는 단계; 및 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 적어도 하나의 노드를 병합함으로써 상기 전역 서비스 트리를 갱신하는 단계를 포함한다. 본 발명의 실시 예들에 따르면, 분산 스트림 처리 서비스들 간에 공통으로 존재하는 태스크(또는 인스턴스)들에 공통된 자원을 할당할 수 있다.

Description

분산 스트림 처리 서비스 병합 방법 및 장치{Distributed stream processing services merging method and apparatus thereof}
본 발명의 실시 예들은, 분산 스트림 처리 서비스를 관리하는 방법 및 장치에 관한 것이다.
빅데이터 시대가 도래하면서, 다양한 스트림 데이터를 실시간으로 처리하고자 하는 욕구가 증대되고 있다. 스트림 데이터의 실시간 처리를 위하여, 스트림 데이터를 분산 네트워크 환경에서 분산 병렬 처리하는 방안이 이용되고 있다.
도 1은 데이터 플로우 측면에서 스트림 데이터를 분산 처리하는 종래의 방법을 설명하기 위한 예시도이다.
분산 스트림 처리 서비스(100)는 스트림 데이터가 입력되는 입력 소스(10)와 스트림 데이터의 처리 결과가 출력되는 출력 소스(20)를 가진다.
스트림 데이터의 처리 과정은, 스트림 데이터와 관련된 질의 또는 처리 방법이 기술된 다수의 태스크들(111, 112, 113, 114, 115)과, 이들 태스크들(111, 112, 113, 114, 115) 간의 데이터 흐름을 기술하는 DAG(Directed Acyclic Graph)로 표현된다.
분산 스트림 처리 서비스(100) 내의 태스크들(111, 112, 113, 114, 115)은 다수의 인스턴스들(131, 132, 133, 134, 135)로 분할될 수 있고, 분할된 인스턴스들(131, 132, 133, 134, 135)은 클러스터에 존재하는 다수의 분산 노드들(110, 120, 130, 140, 150)에 분산 배치되어 실행될 수 있다.
본 발명의 실시 예들은, 대규모 분산 스트림 처리 서비스의 수행 성능을 향상시킬 수 있도록 하는 방안을 제공한다.
본 발명의 실시 예들은, 적은 자원으로 대규모 분산 스트림 처리 서비스가 수행될 수 있도록 하는 방안을 제공한다.
본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법은, 하나의 분산 스트림 처리 서비스를 기반으로 전역 서비스 트리를 생성하는 단계; 상기 하나의 분산 스트림 처리 서비스와는 상이한 분산 스트림 처리 서비스가 입력될 때마다 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하는 단계; 및 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 적어도 하나의 노드를 병합함으로써 상기 전역 서비스 트리를 갱신하는 단계를 포함한다.
일 실시 예에서, 상기 전역 서비스 트리를 갱신하는 단계는, 상기 전역 서비스 트리와 상기 개별 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 노드들이 있는지 확인하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 공통으로 존재하는 노드들이 있는지 확인하는 단계는, 최상위 노드부터 시작되는 일련의 공통된 노드들이 있는지 확인하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리를 갱신하는 단계는, 상기 일련의 공통된 노드들 중 최하위 노드를 병합 기준 노드로 결정하는 단계; 및 상기 개별 서비스 트리에 존재하는 병합 기준 노드의 하위에 연결된 서브 트리를, 상기 전역 서비스 트리에 존재하는 병합 기준 노드의 하위에 추가하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 방법은, 상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 방법은, 상기 전역 서비스 트리에 존재하는 각각의 노드들에 대하여, 해당 노드가 몇 개의 분산 스트림 처리 서비스에 이용되는지를 나타내는 참조 카운트를 설정하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 방법은, 상기 참조 카운트가 설정 값 이상인 노드가 있는 경우, 해당 노드의 하위에 연결된 서브 트리들 중 어느 하나의 서브 트리를 해당 노드의 상위 노드에 연결하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리에서 삭제하는 단계는, 상기 전역 서비스 트리와 상기 삭제 요청된 분산 스트림 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 참조 카운트가 1인 공통 노드가 있는 경우 해당 공통 노드 및 해당 공통 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에서 삭제하는 단계; 및 참조 카운트가 2 이상인 공통 노드가 있는 경우 해당 공통 노드의 참조 카운트를 1 감소시키는 단계를 포함할 수 있다.
일 실시 예에서, 상기 방법은, 상기 갱신된 전역 서비스 트리에 존재하는 서브 트리들을 서로 다른 서버에 분산 배치하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 장치는, 하나의 분산 스트림 처리 서비스를 기반으로 전역 서비스 트리를 생성하고, 상기 하나의 분산 스트림 처리 서비스와는 상이한 분산 스트림 처리 서비스가 입력될 때마다 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하며, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 적어도 하나의 노드를 병합함으로써 상기 전역 서비스 트리를 갱신하는 전역 서비스 트리 관리자; 및 상기 갱신된 전역 서비스 트리를 기반으로 자원 할당을 수행하는 스케쥴러를 포함한다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 전역 서비스 트리와 상기 개별 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 노드들이 있는지 확인할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 최상위 노드부터 시작되는 일련의 공통된 노드들이 있는지 확인할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 일련의 공통된 노드들 중 최하위 노드를 병합 기준 노드로 결정하고, 상기 개별 서비스 트리에 존재하는 병합 기준 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에 존재하는 병합 기준 노드의 하위에 추가할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 전역 서비스 트리에 존재하는 각각의 노드들에 대하여, 해당 노드가 몇 개의 분산 스트림 처리 서비스에 이용되는지를 나타내는 참조 카운트를 설정할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 참조 카운트가 설정 값 이상인 노드가 있는 경우, 해당 노드의 하위에 연결된 서브 트리들 중 어느 하나의 서브 트리를 해당 노드의 상위 노드에 연결할 수 있다.
일 실시 예에서, 상기 전역 서비스 트리 관리자는, 상기 전역 서비스 트리와 상기 삭제 요청된 분산 스트림 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여 참조 카운트가 1인 공통 노드가 있는 경우 해당 공통 노드 및 해당 공통 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에서 삭제하고, 참조 카운트가 2 이상인 공통 노드가 있는 경우 해당 공통 노드의 참조 카운트를 1 감소시킬 수 있다.
일 실시 예에서, 상기 스케쥴러는, 상기 갱신된 전역 서비스 트리에 존재하는 서브 트리들을 서로 다른 서버에 분산 배치할 수 있다.
본 발명의 실시 예들에 따르면, 분산 스트림 처리 서비스들 간에 공통으로 존재하는 태스크(또는 인스턴스)들에 공통된 자원을 할당할 수 있다. 따라서, 본 발명의 실시 예들에 따르면, 대규모의 분산 스트림 처리 서비스의 수행 성능을 향상시킬 수 있다.
도 1은 데이터 플로우 측면에서 스트림 데이터를 분산 처리하는 종래의 방법을 설명하기 위한 예시도,
도 2의 (a) 및 도 2의 (b)는 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법의 개념을 설명하기 위한 예시도,
도 3은 본 발명의 일 실시 예에 따른 스트림 데이터 분산 처리 시스템을 설명하기 위한 예시도,
도 4는 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법을 설명하기 위한 흐름도,
도 5의 (a) 내지 도 5의 (d)는 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법을 설명하기 위한 예시도,
도 6의 (a) 및 도 6의 (b)는 본 발명의 일 실시 예에 따라 구축된 전역 서비스 트리를 기반으로 하는 태스크 분산 배치 방법을 설명하기 위한 예시도,
도 7의 (a) 및 도 7의 (b)는 본 발명의 일 실시 예에 따른 전역 서비스 트리에서 서브 트리를 수정하는 방법을 설명하기 위한 예시도,
도 8은 본 발명의 일 실시 예에 따른 전역 서비스 트리에서 특정 분산 스트림 처리 서비스를 삭제하는 방법을 설명하기 위한 흐름도,
도 9의 (a) 및 도 9의 (b)는 본 발명의 일 실시 예에 따른 전역 서비스 트리에서 특정 분산 스트림 처리 서비스를 삭제하는 방법을 설명하기 위한 예시도,
도 10은 본 발명의 일 실시 예에 따른 사용자별 전역 서비스 트리를 설명하기 위한 예시도.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 2의 (a) 및 도 2의 (b)는 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법의 개념을 설명하기 위한 예시도이다.
도 2의 (a)에는, 일 예로서, CCTV로부터 지속적으로 대량 발생하는 스트림 데이터(예를 들어, 시각 데이터)를 처리하는 분산 스트림 처리 서비스들(서비스 1, 서비스 2, 서비스3)의 예를 도시하였다.
도 2의 (a)에 도시된 바와 같이, 각각의 분산 스트림 처리 서비스들이 서로 공통되는 입력 소스(CCTV 1)와 서로 공통되는 태스크들(예를 들어, 수집 및 특징 추출)을 보유하는 경우를 가정한다. 이러한 경우, 각각의 분산 스트림 처리 서비스들이 개별적으로 수행되는 경우, 동일한 태스크 처리를 위하여 자원이 불필요하게 중복하여 소모된다.
만약, 각각의 분산 스트림 처리 서비스들에 공통으로 존재하는 태스크들에 동일한 자원을 할당한다면, 적은 자원과 적은 소요 시간으로 스트림 데이터가 처리될 수 있을 것이다. 이는, 입력 소스 및 출력 소스에 대하여도 마찬가지이다.
도 2의 (b)에는 본 발명의 일 실시 예에 따라, 다수의 분산 스트림 처리 서비스들에 공통으로 존재하는 입력 소스(CCTV1)와 태스크들(수집 및 특징 추출)을 병합하여 전역 서비스 트리를 생성한 예를 도시하였다.
도 2의 (b)에 도시된 바와 같은 전역 서비스 트리에 따라 스트림 데이터를 처리하는 경우, 도 2의 (a)에 도시된 분산 스트림 처리 서비스들을 개별적으로 수행하는 것에 비하여, 적은 자원과 적은 소모 시간으로 스트림 데이터가 처리될 수 있을 것이다.
도 3은 본 발명의 일 실시 예에 따른 스트림 데이터 분산 처리 시스템을 설명하기 위한 예시도이다. 실시 예에 따라, 도 3에 도시된 구성 요소들 중 적어도 일부는 생략될 수 있다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 스트림 데이터 분산 처리 시스템은, 서비스 관리 레이어(320) 및 적어도 하나의 태스크 실행 레이어들(340a, 340b, 340c)을 포함한다.
서비스 관리 레이어(320)는 태스크 실행 레이어들(340a, 340b, 340c)이 배치된 분산 노드(330a, 330b, 330c)에 배치되거나, 태스크 실행 레이어들(340a, 340b, 340c)이 배치되지 않는 별도의 분산 노드(310)에 배치될 수 있다. 태스크 실행 레이어들(340a, 340b, 340c)은, 다수의 분산 노드들(330a, 330b, 330c)에 하나씩 배치될 수 있다.
서비스 관리 레이어(320)는, 분산 스트림 처리 서비스 병합 장치로 명명될 수 있다. 서비스 관리 레이어(320)는, 전역 서비스 트리 관리자(322), 서비스 관리자(324), 자원 모니터(326), 스케쥴러(328) 및 전역 서비스 트리 관리자(322)를 포함한다.
전역 서비스 트리 관리자(322)는, 전역 서비스 트리를 관리한다. 전역 서비스 트리를 관리한다는 것은, 예를 들어 전역 서비스 트리를 생성/유지하고, 전역 서비스 트리에 태스크 노드를 추가하거나, 전역 서비스 트리에서 태스크 노드를 삭제하는 동작을 포함할 수 있다.
전역 서비스 트리 관리자(322)는 서비스 관리자(324)로부터 새로운 분산 스트림 처리 서비스의 등록이 요청되면, 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하고, 생성된 개별 서비스 트리를 전역 서비스 트리에 반영할 수 있다. 또한, 서비스 관리자(324)로부터 특정 분산 스트림 처리 서비스의 삭제가 요청되면, 삭제 요청된 분산 스트림 처리 서비스에 대한 태스크 노드들을 전역 서비스 트리에서 삭제할 수 있다.
서비스 관리자(324)는, 분산 스트림 처리 서비스(300)의 등록, 삭제 및 검색 등과 관련된 사용자 요청을 처리한다.
자원 모니터(326)는, 태스크 실행자(344a, 344b, 344c)를 통해 주기적으로 인스턴스별 입력 부하량, 출력 부하량, 데이터 처리 성능 정보 및 분산 노드별 자원 사용 상태 정보 중 적어도 하나를 수집할 수 있다. 그리고, 수집된 정보들을 기반으로 태스크(또는 인스턴스) 재배치를 위한 정보를 구축할 수 있다.
자원 모니터(326)는, 분산 스트림 처리 서비스의 수행 성능에 대한 변동 추이를 모니터링하고 이를 분석할 수 있다. 그리고, 분산 스트림 처리 서비스, 태스크 또는 인스턴스의 재스케쥴링 여부를 결정할 수 있다. 그리고, 결정된 바에 따라 재스케쥴링이 이루어질 수 있도록 스케쥴러(328)에게 재스케쥴링을 요청할 수 있다. 한편, 자원 모니터(326)는 태스크 실행자(344a, 344b, 344c)로부터 특정 태스크의 재스케쥴링 요청이 있을 경우, 해당 요청을 스케쥴러(328)에 전달할 수도 있다.
스케쥴러(328)는, 서비스 관리자(324)로부터 태스크(또는 인스턴스) 배치 요청이 수신되거나 자원 모니터(326)로부터 분산 스트림 처리 서비스, 태스크 또는 인스턴스에 대한 재스케쥴링 요청이 수신되면, 해당 요청에 대응하는 스케쥴링을 수행한다. 스케쥴러(328)는 자원 모니터(326)에서 관리하는 분산 노드에 대한 자원 정보를 바탕으로 여유 자원을 가지는 분산 노드를 선정하고 선정된 분산 노드에 위치하는 태스크 실행 레이어에 하나 이상의 태스크를 할당할 수 있다.
태스크 실행 레이어(340a, 340b, 340c)는, 태스크 관리자(342a, 342b, 342c) 및 태스크 실행자(344a, 344b, 344c)를 포함한다.
태스크 관리자(342a, 342b, 342c)는, 태스크 실행자(344a, 344b, 344c)에서 발생하는 쓰레드들을 실행하고 태스크 실행자(344a, 344b, 344c)를 제어 및 관리할 수 있다. 태스크 실행자(344a, 344b, 344c)는 스케쥴러(328)로부터 태스크(또는 인스턴스)를 할당받을 수 있다. 그리고, 할당된 태스크(또는 인스턴스)를 입력 데이터 스트림 또는 출력 데이터 스트림에 바인딩할 수 있다. 태스크 실행자(344a, 344b, 344c)는, 태스크(또는 인스턴스)를 별도의 쓰레드로서 실행시킬 수 있으며, 실행 중인 태스크(또는 인스턴스)들의 상태를 주기적으로 수집할 수 있다.
분산 스트림 처리 서비스(300)는 적어도 하나의 태스크들(302a, 302b, 302c)을 포함하며, 태스크들(302a, 302b, 302c) 간에는 스트림 데이터의 입출력 흐름을 갖는다. 태스크들(302a, 302b, 302c)은 각각 하나 이상의 인스턴스들(346a, 346b, 346c)로 분할되어 실행될 수 있다. 다시 말해, 분산 스트림 처리 서비스(300)는 서비스 관리 레이어(320)와 태스크 실행 레이어(340a, 340b, 340c)에 의해 태스크(또는 인스턴스) 단위로 분할되어 분산 노드들(330a, 330b, 330c)에 할당되고 실행될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 방법을 설명하기 위한 흐름도이다. 실시 예에 따라, 도 4에 도시된 단계들 중 적어도 하나는 생략될 수 있다.
단계(401)에서, 분산 스트림 처리 서비스 병합 장치는, 등록(또는 실행)이 요청된 분산 스트림 처리 서비스의 구조를 분석하고, 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성할 수 있다.
분산 스트림 처리 서비스는, 적어도 하나의 입력 소스, 적어도 하나의 태스크 및 적어도 하나의 출력 소스를 포함할 수 있다. 개별 서비스 트리는, 적어도 하나의 노드와 각 노드들 간의 흐름으로 표현될 수 있다. 개별 서비스 트리에 포함된 각각의 노드들은 입력 소스, 태스크(또는 인스턴스) 및 출력 소스들 중 어느 하나에 대응될 수 있다. 개별 서비스 트리는, 해당 분산 스트림 처리 서비스의 삭제 또는 수정을 위하여 서비스 트리 목록에 저장될 수 있다.
단계(403)에서, 분산 스트림 처리 서비스 병합 장치는, 단계(401)에서 생성된 개별 서비스 트리를 기반으로 전역 서비스 트리를 생성할 수 있다.
개별 서비스 트리와, 개별 서비스 트리를 기반으로 생성되는 전역 서비스 트리의 일 예를 도 5의 (a)에 도시하였다. 도 5의 (a)를 참조하는 실시 예에서, 개별 서비스 트리(510)는 입력 소스(A)와 일련의 태스크들(B, C, D)을 포함한다고 가정한다. 이러한 경우, 전역 서비스 트리(500)는, 개별 서비스 트리(510)와 마찬가지로 입력 소스(A)와 태스크들(B, C, D)의 흐름으로 표현된다.
일 실시 예에서, 전역 서비스 트리를 생성함에 있어, 각각의 노드들(A, B, C, D)에 대한 참조 카운트(502)가 설정될 수 있다. 참조 카운트(502)는, 해당 노드가 몇 개의 분산 스트림 처리 서비스에 이용되는지 여부를 나타낼 수 있다. 처음으로 전역 서비스 트리가 생성되는 경우, 각 노드(A, B, C, D)의 참조 카운트(502)는 1로 설정될 수 있다. 참조 카운트는, 추후 전역 서비스 트리에서 특정 분산 스트림 처리 서비스를 삭제할 때 이용될 수 있다. 이는 관련되는 도면을 참조하여 후술한다.
단계(405)에서, 새로운 분산 스트림 처리 서비스가 등록(또는 실행)될 수 있다. 여기서, 새로운 분산 스트림 처리 서비스는, 입력 소스(A)와 일련의 태스크들(B, E, F)을 포함한다고 가정한다.
단계(407)에서, 분산 스트림 처리 서비스 병합 장치는, 새로운 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성할 수 있다. 도 5의 (b)에는, 입력 소스(A)와 일련의 태스크들(B, E, F)에 대응하는 노드들로 구성된 개별 서비스 트리(520)의 일 예를 도시하였다.
단계(409)에서, 분산 스트림 처리 서비스 병합 장치는, 병합 기준 노드를 결정할 수 있다. 병합 기준 노드는, 전역 서비스 트리에 존재하는 노드들과 개별 서비스 트리에 존재하는 노드들의 병합을 수행함에 있어, 그 기준이 되는 노드를 의미할 수 있다. 병합 기준 노드를 결정함에 있어, 전역 서비스 트리 및 개별 서비스 트리에 존재하는 최상위 노드부터 검색을 수행할 수 있다. 여기서, 최상위 노드는, 일련의 노드들 중 가장 전단에 위치하는 노드를 의미할 수 있다.
예를 들어, 도 5의 (b)에 도시된 바와 같이, 전역 서비스 트리에 노드들(A, B, C, D)이 존재하는 경우를 가정한다. 그리고, 새로운 개별 서비스 트리에 노드들(A, B, E, F)이 존재하는 경우를 가정한다.
이러한 경우, 최상위 노드부터 순차적인 비교를 수행하여 병합 기준 노드를 결정할 수 있다. 먼저 전역 서비스 트리에 존재하는 최상위 노드와 개별 서비스 트리에 존재하는 최상위 노드가 공통 노드인지 확인할 수 있다. 공통 노드인지 확인한다는 것은, 해당 노드가 동일한 입력 소스 또는 동일한 태스크(또는 인스턴스)에 대응하는 노드인지 확인하는 것을 의미할 수 있다.
최상위 노드(A)가 공통되므로, 분산 스트림 처리 서비스 병합 장치는, 차상위 노드를 확인한다. 차상위 노드(B)도 공통되므로, 그 다음 차상위 노드가 공통되는지 비교한다. 전역 서비스 트리의 그 다음 차상위 노드(C)와 개별 서비스 트리의 그 다음 차상위 노드(E)는 공통되지 않으므로, 비교를 그만하고, 마지막으로 동일한 것으로 판단된 노드(B)를 병합 기준 노드로 설정한다.
일 실시 예에서, 공통된 노드가 확인될 때마다, 확인된 공통 노드를 임시로 저장해 놓을 수 있다. 그리고, 마지막으로 저장된 공통 노드를 병합 기준 노드로 설정할 수 있다.
단계(411)에서, 분산 스트림 처리 서비스 병합 장치는, 병합 기준 노드를 기준으로 노드 병합을 수행하여 전역 서비스 트리를 갱신한다.
예를 들어, 도 5의 (b)에 도시된 바와 같이, 개별 서비스 트리(520)에 존재하는 병합 기준 노드(B)의 하위에 연결된 노드들(E, F)을, 전역 서비스 트리(500)에 존재하는 병합 기준 노드(B)의 하위에 연결할 수 있다.
전역 서비스 트리를 갱신함에 있어, 참조 카운트를 함께 갱신할 수 있다. 예를 들어, 장치는, 병합 기준 노드(B) 및 병합 기준 노드(B)의 상위 노드들(A, B)에 대한 참조 카운트를 1씩 증가시킬 수 있다. 그리고, 병합 기준 노드(B)의 하위에 새로이 연결되는 하위 노드들(E, F)에 대한 참조 카운트는 1로 설정할 수 있다.
이후, 갱신된 전역 서비스 트리를 기반으로 태스크(또는 인스턴스)의 분산 배치가 이루어질 수 있다. 병합 기준 노드(B) 및 병합 기준 노드(B)의 상위 노드(A)는 이미 분산 노드들에 분산 배치되어 있기 때문에, 병합 기준 노드(B)의 하위에 연결된 노드들(E, F)에 대하여만 스케쥴링이 이루어질 수 있다.
이후, 입력 소스(A)와 태스크들(G, H, I)를 갖는 분산 스트림 처리 서비스와 입력 소스(A)와 태스크들(B, C, D, J)을 갖는 분산 스트림 처리 서비스가 입력되는 경우를 가정하여, 전역 서비스 트리가 갱신되는 예를 도 5의 (c) 및 도 5의 (d)에 도시하였다. 전역 서비스 트리의 갱신 과정은 도 5의 (b)를 참조하여 설명한 바와 같으므로, 그 상세한 설명은 생략한다.
도 6의 (a) 및 도 6의 (b)는 본 발명의 일 실시 예에 따라 구축된 전역 서비스 트리를 기반으로 하는 태스크 분산 배치 방법을 설명하기 위한 예시도이다.
도 6의 (a)는 도 5의 (a) 내지 도 5의 (d)를 참조하여 전술한 방법에 따라 구축된 전역 서비스 트리를 도시한다. 이하, 분산 노드(예를 들어, 서버)와의 혼동을 방지하기 위하여, 전역 서비스 트리에 존재하는 노드들을 태스크 노드라 한다.
분산 스트림 처리 서비스 병합 장치는, 전역 서비스 트리(500)를 기반으로 각 태스크 노드들을 분산 노드에 배치할 수 있다. 분산 스트림 처리 서비스 병합 장치는, 통신 부하를 감소시키기 위하여 일련의 태스크 노드들을 동일한 분산 노드에 배치할 수 있다.
예를 들어, 도 6의 (b)에 도시된 바와 같이, 분산 스트림 처리 서비스 병합 장치는, 일련의 태스크 노드들을 포함하는 서브 트리(610), 서브 트리(620) 및 서브 트리(630)들을 각각 서로 다른 분산 노드에 배치할 수 있다.
서로 다른 분산 노드에 배치되는 태스크 노드들은 TCP 등을 이용하여 통신을 수행할 수 있고, 스트림 데이터는 바이트 배열로 직렬화되어 입출력될 수 있다. 같은 분산 노드에 배치된 태스크 노드들은, 동일한 프로세스의 쓰레드로 실행될 수 있고, 쓰레드들 간의 데이터 전송은 메모리 내에서 이루어질 수 있다.
한편, 전역 서비스 트리에 존재하는 노드들 중 특정 노드에서 많은 서브 트리들이 분기하는 경우 해당 노드는 과부하를 일으킬 가능성이 높다. 따라서, 해당 노드의 과부하를 해결하기 위하여 서브 트리의 위치를 수정할 수 있다. 이를 도 7의 (a) 및 도 7의 (b)를 참조하여 설명한다.
도 7의 (a) 및 도 7의 (b)는 본 발명의 일 실시 예에 따른 전역 서비스 트리에서 서브 트리를 수정하는 방법을 설명하기 위한 예시도이다.
서브 트리의 수정에는 참조 카운트가 이용될 수 있으며, 도 7의 (a) 및 도 7의 (b)를 참조하여 설명하는 실시 예에서는, 5이상의 참조 카운트를 갖는 노드가 있는 경우 서브 트리를 수정하는 예를 설명한다.
예를 들어, 도 7의 (a)에 도시된 바와 같이, 특정 노드(B)의 참조 카운트가 5인 경우를 가정하자. 이러한 경우 노드(B)는 과부하를 일으킬 가능성이 높다. 이러한 경우, 노드(B)의 하위에 연결된 서브 트리들 중 어느 하나가 상위 노드(A)에 연결되도록 서브 트리를 수정할 수 있다. 이 때, 수정 전의 서브 트리와 동일한 노드 흐름(A-B-Q-R)을 갖도록 서브 트리 수정될 수 있다. 서브 트리가 수정된 예를 도 7의 (b)에 도시하였다.
도 8은 본 발명의 일 실시 예에 따른 전역 서비스 트리에서 특정 분산 스트림 처리 서비스를 삭제하는 방법을 설명하기 위한 흐름도이다. 실시 예에 따라, 도 8에 도시된 단계들 중 적어도 일부는 생략되거나, 그 순서가 바뀔 수 있다.
단계(801)에서, 분산 스트림 처리 서비스 병합 장치는, 사용자에 의하여 삭제가 요청된 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 서비스 트리 목록에서 검색한다.
단계(803)에서, 분산 스트림 처리 서비스 병합 장치는, 전역 서비스 트리와 개별 서비스 트리에 공통으로 존재하는 공통 노드를 검색한다. 공통 노드의 검색은 최상위 노드부터 순차적으로 이루어질 수 있다.
단계(805)에서, 분산 스트림 처리 서비스 병합 장치는, 검색된 공통 노드의 참조 카운트가 설정 값, 예를 들어 1인지 확인한다.
단계(805)의 판단 결과 검색된 공통 노드의 참조 카운트가 1이 아닌 경우(즉, 참조 카운트가 2 이상인 경우), 분산 스트림 처리 서비스 병합 장치는, 단계(807)로 진행하여 검색된 공통 노드의 참조 카운트를 1 감소시킨다. 그리고, 단계(809)로 진행하여 다음 공통 노드의 검색을 수행한다.
한편, 단계(805)의 판단 결과 검색된 공통 노드의 참조 카운트가 1인 경우 단계(811)로 진행한다.
검색된 공통 노드의 참조 카운트가 1이라는 것은, 해당 공통 노드가 삭제 요청된 분산 스트림 처리 서비스에만 이용되는 노드임을 의미한다. 따라서, 단계(811)에서, 분산 스트림 처리 서비스 병합 장치는, 해당 공통 노드 및 해당 공통 노드의 하위 노드들을 삭제한다. 다시 말해, 분산 스트림 처리 서비스 병합 장치는, 해당 공통 노드를 포함하는 서브 트리를 전역 서비스 트리에서 삭제한다.
예를 들어, 도 9의 (a)에 도시된 바와 같은 전역 서비스 트리가 있다고 가정하자. 그리고, 흐름(A-B-E-F)으로 표현되는 분산 스트림 처리 서비스에 대한 삭제 요청이 있다고 가정하자. 분산 스트림 처리 서비스 병합 장치는, 최상위 노드(A)부터 순차적으로 비교를 수행하여 공통 노드를 검색하고, 검색된 공통 노드의 참조 카운트를 확인한다. 예를 들어, 공통 노드(A)의 참조 카운트는 4이며, 이는 해당 공통 노드(A)가 4개의 분산 스트림 처리 서비스에 이용됨을 의미한다. 분산 스트림 처리 서비스 병합 장치는 공통 노드(A)의 참조 카운트를 1 감소 시키고, 다음 공통 노드들을 순차적을 검색한다. 이러한 동작은 참조 카운트가 1인 공통 노드가 검색될때까지 이루어질 수 있다. 예를 들어, 도 9의 (a)에 도시된 바와 같이, 참조 카운트가 1인 공통 노드(E)가 검색되었다고 가정하자. 참조 카운트가 1이라는 것은 해당 공통 노드(E)가 하나의 분산 스트림 처리 서비스(삭제 요청된 분산 스트림 처리 서비스)에 이용되는 노드임을 의미한다. 따라서, 분산 스트림 처리 서비스 병합 장치는, 도 9의 (b)에 도시된 바와 같이, 공통 노드(E) 및 공통 노드(E)의 하위 노드(F)를 전역 서비스 트리에서 삭제한다.
이상에서는, 분산 스트림 처리 서비스에 대한 자동 병합 방법에 대하여 설명하였다. 실시 예에 따라, 분산 스트림 처리 서비스의 병합은 사용자에 의하여 수동으로 이루어질 수도 있다. 예를 들어, 사용자는 전역 서비스 트리에 존재하는 특정 노드를 지정(이러한 지정은 각 노드에 할당된 고유한 식별자를 이용하여 이루어질 수 있다 )하고, 해당 특정 노드의 하위에 적어도 하나의 노드를 추가할 수 있다. 이를 위하여, 분산 스트림 처리 서비스 병합 장치는, 사용자가 노드를 추가할 수 있도록 API(Application Programming Interface) 또는 GUI(Graphical User Interface) 도구를 제공할 수 있다. 한편, 사용자에 의하여 노드가 추가되는 경우, 분산 스트림 처리 서비스 병합 장치는, 사용자에 의하여 추가된 노드의 상위에 존재하는 노드들의 참조 카운트를 1씩 증가시킬 수 있다.
도 10은 본 발명의 일 실시 예에 따른 사용자별 전역 서비스 트리를 설명하기 위한 예시도이다.
본 발명의 일 실시 예에 따른 분산 스트림 처리 서비스 병합 장치는, 사용자 간의 데이터 보호를 위해서, 동일한 사용자에 대한 분산 스트림 처리 서비스들 간에만 태스크 공유를 지원할 수 있다.
예를 들어, 도 10에 도시된 바와 같이, 전역 서비스 트리는 사용자별로 관리될 수 있다. 각각의 전역 서비스 트리는 1개의 루트 노드(사용자 1, 사용자 2, ..., 사용자 n)를 가지며, 각각의 루트 노드는 다수의 입력 소스 노드를 자식 노드로 가질 수 있다.
실시 예에 따라, 서로 다른 사용자에 대한 분산 스트림 처리 서비스들 간에 태스크 공유가 지원되게 할 수도 있다.
이상에서 설명된 본 발명의 실시 예들은 임의의 다양한 방법으로 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 그 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현되는 경우에, 다양한 운영 체제 또는 플랫폼을 이용하는 하나 이상의 프로세서 상에서 실행되는 소프트웨어로서 구현될 수 있다. 추가적으로, 그러한 소프트웨어는 다수의 적합한 프로그래밍 언어들 중에서 임의의 것을 사용하여 작성될 수 있고, 또한 프레임워크 또는 가상 머신에서 실행 가능한 기계어 코드 또는 중간 코드로 컴파일 될 수 있다.
또한, 본 발명의 실시 예들이 하나 이상의 프로세서 상에서 실행되는 경우 이상에서 논의된 본 발명의 다양한 실시 예들을 구현하는 방법을 수행하기 위한 하나 이상의 프로그램이 기록된 프로세서 판독 가능 매체(예를 들어, 메모리, 플로피 디스크, 하드 디스크, 콤팩트 디스크, 광학 디스크 또는 자기 테이프 등)로 구현될 수 있다.

Claims (20)

  1. 하나의 분산 스트림 처리 서비스를 기반으로 전역 서비스 트리를 생성하는 단계;
    상기 하나의 분산 스트림 처리 서비스와는 상이한 분산 스트림 처리 서비스가 입력될 때마다 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하는 단계; 및
    상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 적어도 하나의 노드를 병합함으로써 상기 전역 서비스 트리를 갱신하는 단계
    를 포함하는 분산 스트림 처리 서비스 병합 방법.
  2. 제 1 항에 있어서, 상기 전역 서비스 트리를 갱신하는 단계는,
    상기 전역 서비스 트리와 상기 개별 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 노드들이 있는지 확인하는 단계
    를 포함하는 분산 스트림 처리 서비스 병합 방법.
  3. 제 2 항에 있어서, 상기 공통으로 존재하는 노드들이 있는지 확인하는 단계는,
    최상위 노드부터 시작되는 일련의 공통된 노드들이 있는지 확인하는 단계
    를 포함하는 분산 스트림 처리 서비스 병합 방법.
  4. 제 3 항에 있어서, 상기 전역 서비스 트리를 갱신하는 단계는,
    상기 일련의 공통된 노드들 중 최하위 노드를 병합 기준 노드로 결정하는 단계; 및
    상기 개별 서비스 트리에 존재하는 병합 기준 노드의 하위에 연결된 서브 트리를, 상기 전역 서비스 트리에 존재하는 병합 기준 노드의 하위에 추가하는 단계
    를 포함하는 분산 스트림 처리 서비스 병합 방법.
  5. 제 1 항에 있어서,
    상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신하는 단계
    를 더 포함하는 분산 스트림 처리 서비스 병합 방법.
  6. 제 1 항에 있어서,
    상기 전역 서비스 트리에 존재하는 각각의 노드들에 대하여, 해당 노드가 몇 개의 분산 스트림 처리 서비스에 이용되는지를 나타내는 참조 카운트를 설정하는 단계
    를 더 포함하는 분산 스트림 처리 서비스 병합 방법.
  7. 제 6 항에 있어서,
    상기 참조 카운트가 설정 값 이상인 노드가 있는 경우, 해당 노드의 하위에 연결된 서브 트리들 중 어느 하나의 서브 트리를 해당 노드의 상위 노드에 연결하는 단계
    를 더 포함하는 분산 스트림 처리 서비스 병합 방법.
  8. 제 6 항에 있어서,
    상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신하는 단계
    를 더 포함하는 분산 스트림 처리 서비스 병합 방법.
  9. 제 8 항에 있어서, 상기 전역 서비스 트리에서 삭제하는 단계는,
    상기 전역 서비스 트리와 상기 삭제 요청된 분산 스트림 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 참조 카운트가 1인 공통 노드가 있는 경우 해당 공통 노드 및 해당 공통 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에서 삭제하는 단계; 및
    참조 카운트가 2 이상인 공통 노드가 있는 경우 해당 공통 노드의 참조 카운트를 1 감소시키는 단계
    를 포함하는 분산 스트림 처리 서비스 병합 방법.
  10. 제 1 항에 있어서,
    상기 갱신된 전역 서비스 트리에 존재하는 서브 트리들을 서로 다른 서버에 분산 배치하는 단계
    를 더 포함하는 분산 스트림 처리 서비스 병합 방법.
  11. 하나의 분산 스트림 처리 서비스를 기반으로 전역 서비스 트리를 생성하고, 상기 하나의 분산 스트림 처리 서비스와는 상이한 분산 스트림 처리 서비스가 입력될 때마다 해당 분산 스트림 처리 서비스에 대한 개별 서비스 트리를 생성하며, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 적어도 하나의 노드를 병합함으로써 상기 전역 서비스 트리를 갱신하는 전역 서비스 트리 관리자; 및
    상기 갱신된 전역 서비스 트리를 기반으로 자원 할당을 수행하는 스케쥴러
    를 포함하는 분산 스트림 처리 서비스 병합 장치.
  12. 제 11 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 전역 서비스 트리와 상기 개별 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여, 상기 전역 서비스 트리와 상기 개별 서비스 트리에 공통으로 존재하는 노드들이 있는지 확인하는
    분산 스트림 처리 서비스 병합 장치.
  13. 제 12 항에 있어서, 상기 전역 서비스 트리 관리자는,
    최상위 노드부터 시작되는 일련의 공통된 노드들이 있는지 확인하는
    분산 스트림 처리 서비스 병합 장치.
  14. 제 13 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 일련의 공통된 노드들 중 최하위 노드를 병합 기준 노드로 결정하고, 상기 개별 서비스 트리에 존재하는 병합 기준 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에 존재하는 병합 기준 노드의 하위에 추가하는
    분산 스트림 처리 서비스 병합 장치.
  15. 제 11 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신하는
    분산 스트림 처리 서비스 병합 장치.
  16. 제 11 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 전역 서비스 트리에 존재하는 각각의 노드들에 대하여, 해당 노드가 몇 개의 분산 스트림 처리 서비스에 이용되는지를 나타내는 참조 카운트를 설정하는
    분산 스트림 처리 서비스 병합 장치.
  17. 제 16 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 참조 카운트가 설정 값 이상인 노드가 있는 경우, 해당 노드의 하위에 연결된 서브 트리들 중 어느 하나의 서브 트리를 해당 노드의 상위 노드에 연결하는
    분산 스트림 처리 서비스 병합 장치.
  18. 제 16 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 전역 서비스 트리에 반영된 분산 스트림 처리 서비스 중 어느 하나의 분산 스트림 처리 서비스에 대한 삭제 요청이 있는 경우, 해당 분산 스트림 처리 서비스에만 이용되는 노드를 상기 전역 서비스 트리에서 삭제함으로써 상기 전역 서비스 트리를 갱신하는
    분산 스트림 처리 서비스 병합 장치.
  19. 제 18 항에 있어서, 상기 전역 서비스 트리 관리자는,
    상기 전역 서비스 트리와 상기 삭제 요청된 분산 스트림 서비스 트리 각각의 최상위 노드부터 순차적으로 비교를 수행하여 참조 카운트가 1인 공통 노드가 있는 경우 해당 공통 노드 및 해당 공통 노드의 하위에 연결된 서브 트리를 상기 전역 서비스 트리에서 삭제하고, 참조 카운트가 2 이상인 공통 노드가 있는 경우 해당 공통 노드의 참조 카운트를 1 감소시키는
    분산 스트림 처리 서비스 병합 장치.
  20. 제 11 항에 있어서, 상기 스케쥴러는,
    상기 갱신된 전역 서비스 트리에 존재하는 서브 트리들을 서로 다른 서버에 분산 배치하는
    분산 스트림 처리 서비스 병합 장치.
KR1020150078030A 2015-06-02 2015-06-02 분산 스트림 처리 서비스 병합 방법 및 장치 KR20160142102A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150078030A KR20160142102A (ko) 2015-06-02 2015-06-02 분산 스트림 처리 서비스 병합 방법 및 장치
US15/153,264 US20160357612A1 (en) 2015-06-02 2016-05-12 Distributed stream processing services merging method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150078030A KR20160142102A (ko) 2015-06-02 2015-06-02 분산 스트림 처리 서비스 병합 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160142102A true KR20160142102A (ko) 2016-12-12

Family

ID=57451468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150078030A KR20160142102A (ko) 2015-06-02 2015-06-02 분산 스트림 처리 서비스 병합 방법 및 장치

Country Status (2)

Country Link
US (1) US20160357612A1 (ko)
KR (1) KR20160142102A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102266324B1 (ko) * 2020-02-28 2021-06-17 숭실대학교산학협력단 머신 러닝 실행 관리 플랫폼에서의 워커 노드 관리 방법 및 그를 위한 플랫폼 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472565B (zh) * 2021-06-03 2024-02-20 北京闲徕互娱网络科技有限公司 服务器功能的扩容方法、装置、设备和计算机可读介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102266324B1 (ko) * 2020-02-28 2021-06-17 숭실대학교산학협력단 머신 러닝 실행 관리 플랫폼에서의 워커 노드 관리 방법 및 그를 위한 플랫폼 시스템

Also Published As

Publication number Publication date
US20160357612A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
KR102198680B1 (ko) 확장 가능한 멀티-스테이지 데이터 처리 시스템들에서의 효율적인 데이터 캐싱 관리
US10623269B2 (en) Operator fusion management in a stream computing environment
US11106508B2 (en) Elastic multi-tenant container architecture
JP5967672B2 (ja) データベース管理システム、計算機、データベース管理方法
US10616316B2 (en) Processing element host management in a stream computing environment
CN112153167B (zh) 网际互连协议管理方法、装置、电子设备及存储介质
US10310900B2 (en) Operating programs on a computer cluster
JP5775481B2 (ja) 情報処理システム及びその処理方法
JP2007133586A (ja) リソース割当調停装置およびリソース割当調停方法
CN111597148B (zh) 用于分布式文件系统的分布式元数据管理方法
CN107864211B (zh) 集群资源调度方法及系统
US9851960B2 (en) Tenant allocation in multi-tenant software applications
KR20090065133A (ko) 분산 병렬 처리 시스템에서 태스크 스레드 그룹별 태스크분배 장치, 방법 및 처리 방법
WO2016095535A1 (zh) 资源分配方法、装置和服务器
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
US11308066B1 (en) Optimized database partitioning
JP2006018561A (ja) リソース割り当て方法及びプログラム
KR101236477B1 (ko) 비대칭 클러스터 파일 시스템의 데이터 처리 방법
WO2015047302A1 (en) Processing a hybrid flow associated with a service class
KR20160142102A (ko) 분산 스트림 처리 서비스 병합 방법 및 장치
KR100983479B1 (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US10296227B2 (en) System and method for dynamic cache distribution for in-memory data grids
US11263130B2 (en) Data processing for allocating memory to application containers
JP7060797B2 (ja) テーブル生成方法、テーブル生成装置およびテーブル生成プログラム
CN114138400A (zh) 资源调度系统及方法