KR101285078B1 - 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 - Google Patents
스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 Download PDFInfo
- Publication number
- KR101285078B1 KR101285078B1 KR1020090126035A KR20090126035A KR101285078B1 KR 101285078 B1 KR101285078 B1 KR 101285078B1 KR 1020090126035 A KR1020090126035 A KR 1020090126035A KR 20090126035 A KR20090126035 A KR 20090126035A KR 101285078 B1 KR101285078 B1 KR 101285078B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- existing
- tasks
- final result
- result
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013500 data storage Methods 0.000 claims description 23
- 238000003672 processing method Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000007958 sleep Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17393—Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
대용량의 데이터를 다수의 컴퓨팅 노드를 이용하여 MapReduce 방식으로 분산 병렬 처리하는 시스템으로서, 이미 수집되어 있는 대용량 저장 데이터는 물론 분산 병렬 처리 작업이 수행되는 동안에도 연속적으로 수집되는 대량의 스트림 데이터에 대해서 점진적인 MapReduce 기반 분산 병렬 처리 기능을 제공하기 위한 분산 병렬 처리 시스템이 제공된다.
분산 병렬 처리, 스트림 데이터, MapReduce, Incremental
Description
본 발명은 스트림 데이터 처리 시스템 및 처리 방법에 관한 것으로서, 더욱 상세하게는 대용량의 데이터를 다수의 컴퓨팅 노드를 이용하여 MapReduce 방식으로 분산 병렬 처리하는 시스템 및 이의 분산 병렬 처리 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-03, 과제명: 저비용 대규모 글로벌인터넷 서비스 솔루션 개발].
웹 2.0의 등장으로 인터넷 서비스가 공급자 중심에서 사용자 중심으로 패러다임이 이동함에 따라 UCC, 개인화 서비스와 같은 인터넷 서비스 시장이 급속도로 증가하고 있다. 이러한 패러다임의 변화로 사용자에 의해서 생성되고 인터넷 서비스를 위해 수집, 처리, 그리고 관리해야 하는 데이터의 양이 빠르게 증가하고 있다.
이와 같은 대용량 데이터의 수집, 처리 및 관리를 위하여, 현재 많은 인터넷 포탈에서 저비용으로 대규모 클러스터를 구축하여 대용량 데이터 분산 관리 및 작업 분산 병렬 처리하는 기술에 대하여 많은 연구를 하고 있으며, 작업 분산 병렬 처리 기술 중에서 미국 Google 사의 MapReduce 모델이 대표적인 작업 분산 병렬 처리 방법 중에 하나로 주목을 받고 있다.
MapReduce 모델은 Google 사에서 저비용 대규모 노드로 구성된 클러스터 상에 저장된 대용량 데이터에 대한 분산 병렬 연산을 지원하기 위하여 제안한 분산 병렬 처리 프로그래밍 모델이다.
MapReduce 모델 기반의 분산 병렬 처리 시스템으로는, Google의 MapReduce 시스템, Apache Software Foundation의 Hadoop MapReduce 시스템과 같은 분산 병렬 처리 시스템이 있다.
이들 MapReduce 모델 기반 분산 병렬 처리 시스템들은 기본적으로 이미 수집되어 저장된 대용량 데이터에 대한 주기적인 오프라인 배치 처리 만을 지원하고 있으며, 연속적으로 수집되는 스트림 데이터에 대한 실시간 처리에 대해서는 별로 고민하고 있지 않아서, 새로 수집되는 입력 데이터에 대해서는 주기적으로 배치 처리를 해야 하는 실정이다.
또한, MapReduce 모델 기반 분산 병렬 처리 시스템을 사용하는 대부분의 인터넷 포탈의 경우, 이와 같이 대용량으로 수집되는 인터넷 데이터, UCC, 개인화 서비스 데이터 등에 대해서 인덱스 구축을 통해서 사용자에게 빠른 검색 기능을 제공하거나, 의미 있는 통계 정보를 추출해서 마케팅에 이용하는 등의 데이터 처리 작업을 주로 요구하고 있다.
이와 같이 인터넷 포탈에서 제공하는 서비스들은 대체로 시간이 많이 걸리더라도 정확한 결과를 찾아 주는 정확 검색 보다는 일정 허용 범위 내에서 정확한 결과에 근접하는 결과를 빨리 찾아 주는 유사도 검색을 주로 지원하고 있어서, 실시간 데이터 처리가 더욱 요구되는 환경이라고 할 수 있다.
따라서, 인터넷 서비스를 제공하는 인터넷 포탈 입장에서는 엄청난 속도로 수집되는 방대한 양의 스트림 데이터로부터 가능한 빨리 의미 있는 정보를 추출하여 사용자에게 서비스하는 능력이 기업의 경쟁력이 된다. 그러나, 기존 시스템들이 제공하는 배치 처리 방식의 분산 병렬 처리 모델로는 인터넷 포탈이 원하는 방대한 양의 스트림 데이터에 대한 실시간 처리가 거의 불가능한 것이 현실이다.
본 발명은 연속적으로 수집이 되는 대용량 스트림 데이터에 대하여 점진적인 MapReduce 기반의 분산 병렬 처리 기술을 제공하여 거의 실시간에 가까운 고속 데이터 처리 시스템 및 기능을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 분산 병렬 처리 시스템은, 입력 데이터 저장 위치에 수집되는 추가 데이터의 여부를 주기적으로 모니터링하는 스트림 데이터 모니터 및 상기 스트림 데이터 모니터의 모니터링 결과에 따라 하나 이상의 추가 태스크를 생성하고, 기존 태스크로부터 출력된 최종 결과와 상기 하나 이상의 추가 태스크로부터 생성된 중간 결과를 병합하여 새로운 최종 결과를 출력하는 작업 관리기를 포함한다.
본 발명에 따른 분산 병렬 처리 방법은, 수집되는 추가 데이터를 모니터링한 결과에 따라 하나 이상의 추가 태스크를 생성하는 단계 및 기존 태스크로부터 출력된 최종 결과와 상기 하나 이상의 추가 태스크로부터 생성된 중간 결과를 병합하여 새로운 최종 결과를 출력하는 단계를 포함한다.
본 발명에 따른 분산 병렬 처리 시스템 및 처리 방법은 다음과 같은 효과를 기대할 수 있다.
첫째, 실시간에 가까운 고속 데이터 처리를 수행할 수 있다.
둘째, 연속적으로 수집되는 스트림에 대한 처리를 수행할 수 있다.
셋째, 대용량 스트림 데이터에 대한 처리를 수행할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시 예에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 실시 예를 예시하는 첨부도면 및 첨부도면에 기재된 내용을 참조하여야만 한다.
본 발명은 MapReduce 방식의 분산 병렬 처리 모델을 지원하는 다중 노드로 구성된 클러스터 상에서의 대용량 데이터에 대한 작업 분산 병렬 처리 시스템에서, 기존에 수집되어 저장된 대용량 데이터에 대한 분산 병렬 처리뿐만 아니라, 연속적으로 수집되는 대용량 스트림 데이터에 대해서도 점진적으로 분산 병렬 처리 기능을 제공하여, 연속적으로 수집되는 대용량 스트림 데이터에 대해서 거의 실시간 분산 병렬 처리 기능을 제공하는 방법에 관한 것이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 분산 병렬 처리 시스템의 시스템 구성도이다.
도 1에서 도시된 바와 같이, 본 발명의 분산 병렬 처리 시스템은 작업 관리기(102), 스트림 데이터 모니터(112), 최종 결과 병합기(113) 및 하나 이상의 태스크 관리기(103, 107)를 포함할 수 있다.
작업 관리기(102)는 작업 관리를 담당하는 노드에서 수행되어 전체 작업 처리 과정을 제어하고 관리할 수 있다.
스트림 데이터 모니터(112)는 새로운 데이터가 수집되었는지 주기적으로 검사하는 역할을 수행할 수 있다.
스트림 데이터 모니터(112)는 입력 데이터 저장 위치(111)에 새로운 데이터, 즉 추가 스트림 데이터가 수집되었는지 주기적으로 검사하고, 검사 결과에 따른 정보를 작업 관리기(102)에 통보할 수 있다.
여기서, 스트림 데이터 모니터(112)는 입력 데이터 저장 위치(111)에 입력되는 새로운 데이터를 관리하기 위하여 입력된 새로운 데이터를 처리한 마지막 시간, 즉 후술될 작업 관리기(102)에 의해 입력 데이터를 분산 병렬 처리하여 완료한 시간을 로깅하여 로그 파일을 생성하고, 생성된 로그 파일을 참조하여 그 시간(즉, 처리 시간) 이후에 입력 데이터 저장 위치(111)로 수집된 데이터만을 새로운 데이터로 인식할 수 있다.
작업 관리기(102)는 스트림 데이터 모니터(112)로부터의 통보에 따라 하나 이상의 추가 태스크, 예컨대 새로운 맵(이하, Map) 태스크와 리듀스(이하, Reduce) 태스크를 생성하여 새로 수집된 추가 데이터를 분산 병렬 처리하도록 제어할 수 있다.
최종 결과 병합기(113)는 Reduce 태스크가 생성한 여러 버전의 최종 결과를 주기적으로 병합할 수 있다.
최종 결과 병합기(113)는 출력 데이터 저장 위치에 여러 버전의 출력 결과가 저장되어 있는 경우, 이를 주기적으로 통합하여 하나의 버전의 출력 결과로 만들어 주는 역할을 수행하고, 수행 결과를 작업 관리기(102)에 통보할 수 있다.
작업 관리기(102)는 새로운 Reduce 태스크 생성 시에 이전 수행 결과를 제공할 때 최종 결과 병합기(113)로부터 출력된 병합에 의해 생성된 최종 결과가 있으면 해당 파일의 위치를 제공할 수 있다.
하나 이상의 태스크 관리기(103, 107)는 각 태스크 관리기에 할당되는 다수개의 Map 태스크를 실제로 수행하는 다수개의 Map 태스크 수행기(104, 108) 및 다수개의 Reduce 태스크를 실제로 수행하는 다수개의 Reduce 태스크 수행기(105, 109)를 각각 포함할 수 있다.
다수개의 Map 태스크 수행기(104, 108) 또는 다수개의 Reduce 태스크 수행기(105, 109)는 Map 태스크 또는 Reduce 태스크가 할당이 되어 수행이 되는 과정에서 생성이 되며, 수행이 완료되면 메모리에서 제거될 수 있다.
본 발명이 제안하는 스트림 데이터에 대한 점진적인 MapReduce 방식의 분산 병렬 처리 서비스를 제공하는 방법은 도 2에서 보는 바와 같다.
도 2는 본 발명에 따른 분산 병렬 처리 방법의 동작을 나타낸 예시도이다.
도 2를 참조하면, 사용자(201)가 '입력 데이터 저장 위치', '출력 데이터 저장 위치', '사용자 정의 Map 함수', '사용자 정의 Reduce 함수', '사용자 정의 Update 함수', 'Reduce 태스크 개수', '처리 완료 입력 삭제 여부', '작업 수행 종료 시간' 등으로 구성이 된 MapReduce 기반 분산 병렬 처리 작업을 작업 관리 기(102)에 제출하여 분산 병렬 처리를 요청한다.
작업 관리기(102)는 입력 데이터 저장 위치(111) 내의 파일 목록을 읽어 와서 전체 입력 데이터 크기를 산출한 후 적절한 개수의 Map 태스크(M1, M2)를 생성하여 태스크 수행 노드의 Map 태스크 수행기에 할당하여 처리가 되도록 한다.
또한, 작업 관리기(102)는 사용자가 입력한 Reduce 태스크 개수만큼의 Reduce 태스크(R1, R2)를 생성하여 태스크 수행 노드의 Reduce 태스크 수행기에 할당하여 처리가 되도록 한다.
Map 태스크(M1, M2)는 할당 받은 입력 파일을 처리하여 중간 결과 파일을 생성한다.
이때, 각 Map 태스크가 생성한 중간 결과는 사용자가 등록한 파티션 함수에 따라서 여러 Reduce 태스크에 고르게 분배가 된다.
각 Map 태스크로부터 중간 결과를 복사한 Reduce 태스크(R1, R2)는 처리를 완료한 후 최종 결과를 사용자가 명시한 출력 데이터 저장 위치(215) 내의 파일(of1, of2)로 작성하거나, 출력 DB 테이블(203)에 삽입한다.
스트림 데이터 모니터(112)는 입력 데이터 저장 위치(111)에 현재 처리 중인 입력 파일 외에 추가적인 파일들이 수집이 되었는지 주기적으로 모니터링한다.
모니터링 결과에 따라 적절한 용량의 새로운 입력 데이터가 수집이 되면 작업 관리기(102)에 통보하고, 작업 관리기(102)는 해당 추가 입력 파일들을 처리하기 위한 새로운 Map 태스크(M3)를 생성하여 태스크 수행 노드의 Map 태스크 수행기에 할당하여 처리하게 한다.
또한, 작업 관리기(102)는 해당 Map 태스크(M3)의 중간 결과를 처리하기 위한 Reduce 태스크(R3, R4)를 생성하여 태스크 수행 노드의 Reduce 태스크 수행기에 할당하여 처리하게 한다.
이때 새로 생성되는 Reduce 태스크(R3, R4)는 기존 Reduce 태스크(R1, R2)와 같은 개수로 생성이 된다.
기존 Reduce 태스크(R1, R2)는 기존 Map 태스크(M1, M2)가 생성한 중간 결과 파일로부터 첫번째 최종 결과를 생성하여 출력 데이터 저장 위치(202)의 파일(of1, of2)로 작성하거나 또는 출력 DB 테이블(203)에 삽입하여 저장한다.
이후, 새로운 Map 태스크(M3)가 생성이 되면, 새로운 Reduce 태스크(R3, R4)는 해당 Map 태스크(M3)가 생성한 중간 결과와 기존 Map 태스크(M1, M2)가 생성한 중간 결과로부터 기존 Reduce 태스크(R1, R2)에 의해서 만들어진 기존 최종 결과(of1, of2)를 통합하여 새로운 최종 결과(of3, of4)를 생성하고, 생성된 새로운 최종 결과(of3, of4)를 출력 데이터 저장 위치(202)의 파일(of3, of4)로 작성하거나 또는 출력 DB 테이블(203)에 삽입하여 저장한다.
또한, 상술한 과정들은 입력 데이터 저장 위치(111)에 새로운 데이터, 즉 추가 파일들이 수집될 때마다 반복하여 수행될 수 있으며, 이에 따라 연속적으로 수집되는 스트림 데이터에 대한 점진적인 MapReduce 기반 분산 병렬 처리 기능을 제공하게 된다.
예컨대, 스트림 데이터 모니터(112)가 입력 데이터 저장 위치(111)에 추가적인 파일들이 수집이 되었는지 모니터링 하고, 모니터링 결과에 따라 새로운 입력 데이터가 다시 수집이 되면 작업 관리기(102)에 통보하고, 작업 관리기(102)는 해당 추가 입력 파일들을 처리하기 위한 새로운 Map 태스크(M4)를 생성하여 태스크 수행 노드의 Map 태스크 수행기에 할당하여 처리하게 한다.
또한, 작업 관리기(102)는 해당 Map 태스크(M4)의 중간 결과를 처리하기 위한 Reduce 태스크(R5, R6)를 생성하여 태스크 수행 노드의 Reduce 태스크 수행기에 할당하여 처리하게 한다.
이때 새로 생성되는 Reduce 태스크(R5, R6)는 기존 Reduce 태스크(R1, R2 또는 R3, R4)와 같은 개수로 생성이 된다.
새로운 Reduce 태스크(R5, R6)는 해당 Map 태스크(M4)가 생성한 중간 결과와 기존 Map 태스크(M3)가 생성한 중간 결과로부터 기존 Reduce 태스크(R3, R4)에 의해서 만들어진 기존 최종 결과(of3, of4)를 통합하여 새로운 최종 결과(of5, of6)를 생성하고, 생성된 새로운 최종 결과(of5, of6)를 출력 데이터 저장 위치(202)의 파일(of5, of6)로 작성하거나 또는 출력 DB 테이블(203)에 삽입하여 저장한다.
한편, 기존 Map 태스크(M1, M2)와 Reduce 태스크(R1, R2)는 할당 받은 입력 데이터의 처리가 끝나면 바로 종료된다.
또한, 새로운 Map 태스크(M3)와 Reduce 태스크(R3, R4) 역시 새로 수집된 입력 데이터(if7, if8, if9)의 처리가 끝나면 바로 종료가 된다.
새로운 Map 태스크(M3)는 기존 Map 태스크(M1, M2)의 완료 여부와 상관없이 독립적으로 처리가 시작이 되며, 새로운 Map 태스크(M4)는 기존 Map 태스크(M1, M2, M3)의 완료 여부와 상관없이 독립적으로 처리가 시작된다.
그러나, 새로운 Reduce 태스크(R3, R4)는 연관된 Map 태스크(M3)의 중간 결과와 기존 Reduce 태스크(R1, R2)가 생성한 기존 최종 결과를 입력 받아서 수행이 되기 때문에, 항상 Map 태스크(M3)와 기존 Reduce 태스크(R1, R2)의 수행이 완료된 이후에 수행이 시작된다.
또한, 새로운 Reduce 태스크(R5, R6)는 연관된 Map 태스크(M4)의 중간 결과와 기존 Reduce 태스크(R3, R4)가 생성한 기존 최종 결과를 입력받아서 수행이 되기 때문에, 항상 Map 태스크(M4)와 기존 Reduce 태스크(R3, R4)의 수행이 완료된 이후에 수행이 시작된다.
Reduce 태스크(R1, R2, R3, R4, R5, R6)가 출력 데이터 저장 위치에 최종 결과를 생성하는 디렉토리 구성을 살펴 보면 도 3에서 보는 바와 같은 디렉토리 구성으로 생성된다.
도 3은 출력 데이터 저장 위치에 최종 결과를 생성하는 디렉토리 구성을 나타낸 예시도이다.
도 3을 참조하면, 사용자가 작업 제출 시에 제공한 출력 데이터 저장 위치(202)가 'output_dir'인 경우, 처음 작업 제출 시점에 수행된 Reduce 태스크(R1, R2)의 저장 위치는 첫번째 수행 시간을 나타내는 시점의 타임스탬프 값을 표현하여 예를 들어, output_dir/1254293251990 디렉토리 밑에 각각 output_dir/1254293251990/r1과 output_dir/1254293251990/r2 디렉토리에 저장이 된다.
이후 2번째로 수행되는 Reduce 태스크(R3, R4)의 최종 결과는 2번째 수행 시점을 나타내는 output_dir/1254293251991 디렉토리 아래에 저장된다.
또한, 3번째로 수행되는 Reduce 태스크(R5, R6)의 최종 결과는 3번째 수행 시점을 나타내는 output_dir/1254293251992 밑에 저장이 되어, 가장 최신의 데이터가 가장 타임스탬프가 큰 값을 갖는 디렉토리에 저장이 되도록 한다.
또한, 최종 결과 병합기(도 1의 도면부호 113)는 여러 버전의 최종 결과를 주기적으로 병합하고 해당 병합 시점을 나타내는 디렉토리에 최종 결과를 작성할 수 있다.
이때, 이전 버전의 최종 결과는 삭제되고, 새로 생성된 최종 결과는 이후 수행되는 Reduce 태스크에 이전 최종 결과로서 사용이 된다.
도 4는 본 발명의 MapReduce 프로그래밍 모델의 예시도이다.
본 발명의 MapReduce 프로그래밍 모델은 도 4에서 보는 바와 같이 사용자 정의 Map 함수(401), 사용자정의 Reduce 함수(402) 그리고 사용자정의 업데이트(Update) 함수(403)로 구성된다.
본 발명의 MapReduce 프로그래밍 모델은 사용자가 기존 Reduce 함수(402) 처리 결과를 얻어 오는 방법을 명세할 수 있도록 Update 함수(403)를 추가하고, Update 함수(403)의 결과를 Reduce 함수에 넘기기 위하여 old_values 인자(404)를 추가한 프로그래밍 모델이다.
본 발명의 MapReduce 프로그래밍 모델을 따르는 분산 병렬 처리 작업은 기본 적으로 기존 결과가 있다는 가정 하에 수행될 수 있으며, 기존 결과 파일 또는 기존 결과 DB에서 값을 읽어 오는 방법을 Update 함수 내에 사용자가 제공해 줘야 한다.
여기서, 사용자가 Update 함수를 제공하지 않으면, MapReduce 프로그래밍 모델의 Reduce 함수에서는 기존 Reduce 함수 수행 결과 값을 알 수가 없으므로, 언제나 기존 결과 값이 없다고 판단하고 새로운 결과 값을 파일 또는 DB에 덮어 쓴다.
따라서, 본 발명의 MapReduce 프로그래밍 모델에서는 사용자가 Update 함수를 작성하여 기존 결과를 얻어 오는 방법을 기술토록 하고, Reduce 함수가 호출될 때마다 Reduce 태스크 수행기 내부에서 해당 키에 해당하는 Update 함수를 수행하여 기존 결과값 old_values을 구한 후에 Reduce 함수의 입력으로 제공할 수 있다.
이때, 사용자가 작성하는 Update 함수는 최종 결과가 파일이라면 파일에서 해당 키(key) 값의 현재까지의 결과를 읽어 올 수 있고, 최종 결과가 DB 테이블이라면 DB 테이블에서 해당 key 값에 해당하는 열(row)을 찾은 후 그 row의 값을 읽어 올 수 있다.
도 5는 추가 입력 데이터가 수집되었는지를 확인하고 이를 처리하는 절차를 나타낸 흐름도이다.
도 2 및 도 5를 참조하면, 스트림 데이터 모니터(112)는 주기적으로 입력 데이터 저장 위치(111)에 추가 수집 데이터가 있는지 확인할 수 있다(S501, S502).
이때, 추가 수집 데이터가 없으면(No) 일정 주기로 수면을 취한 후(S503), 다시 추가 수집 여부를 확인한다(S501, S502).
만일 추가 수집 데이터가 있으면(Yes), 이를 작업 관리기(102)에 통보한 후(S504) 일정 주기 동안 수면을 취한 후 다시 확인 작업을 반복한다.
작업 관리기(102)는 추가 수집 데이터를 분석하여(S505), 데이터 개수 및 용량을 확인한 후, 해당 입력 데이터를 처리하기에 적정한 개수의 Map 태스크를 생성하고, 기존 Reduce 태스크와 같은 개수의 Reduce 태스크를 새로 생성한다(S506).
생성된 Map 태스크는 작업 관리기(102)의 스케줄링에 의해 태스크 수행 노드의 Map 태스크 수행기에 할당되어 처리가 되며(S507), 생성된 Reduce 태스크는 작업 관리기(102)의 스케줄링에 의해 태스크 수행 노드의 Reduce 태스크 수행기에 할당되어 처리가 될 수 있다.
생성된 Reduce 태스크에는 생성된 Map 태스크 수행 사실, 생성된 Map 태스크가 생성하게 될 중간 결과 위치 정보 및 기존 Reduce 태스크 최종 수행 결과 위치 정보 등을 제공될 수 있다(S508).
생성된 Map 태스크가 수행이 완료되면(S509), 해당 Map 태스크가 생성한 중간 결과는 신규 Reduce 태스크에 복사되어 처리가 된다.
또한, 사용자가 완료된 Map 태스크의 입력을 삭제하고자 하는 경우에(S510), 작업 관리기(102)는 입력 파일을 삭제하고 완료한다(S511).
한편, 본 발명의 분산 병렬 처리 시스템은 새로운 스트림 데이터가 주기적으로 수집됨에 따라 여러 번의 Reduce 태스크가 새로 생성되어 이전 최종 결과를 참조하여 새로운 최종 결과를 만들게 되며, 이에 시간이 지남에 따라 출력 데이터 저 장 위치에는 많은 버전, 즉 많은 개수의 최종 결과가 축적되게 된다.
따라서, 도 1에 도시된 최종 결과 병합기(113)는 도 6에서 보는 바와 같은 절차로 기존 최종 결과를 병합하여 최종 결과의 개수를 줄이는 방법을 제공할 수 있다.
도 6은 최종 결과를 병합하여 버전의 개수를 줄이는 방법을 나타낸 흐름도이다.
도 1, 도 2 및 도 6을 참조하면, 최종 결과 병합기(113)는 최종 결과 병합이 시작되면(S601), 삭제 표시된 이전 버전의 최종 결과가 사용 중인지를 확인하고(S602), 사용중이 아니면(No) 이전 버전의 최종 결과를 삭제한다(S603).
그러나, 확인 결과 이전 버전의 최종 결과가 사용중이라면(Yes), 출력 데이터 저장 위치(202) 내에 위치하는 최종 결과의 버전 수, 즉 최종 결과의 개수를 확인한다(S604).
그리고, 확인된 버전 수를 설정값과 비교한다(S605). 여기서, 설정값은 사용자에 의해 설정된 최종 결과의 개수를 의미할 수 있다.
비교 결과, 버전 수가 설정값보다 적으면(No), 일정 기간의 수면을 갖고(S606), 다시 최종 결과 병합 시작 단계(S601)를 수행한다.
그러나, 비교 결과 버전 수가 설정값보다 많거나 같으면(Yes), 기존 버전의 최종 결과를 병합하여 하나의 새로운 최종 결과 버전을 생성한다(S607).
이어, 병합 대상이 된 기존 버전의 최종 결과가 현재 수행 중인 Reduce 태스 크에서 이전 최종 결과로서 사용되고 있는지를 확인한다(S608).
확인 결과 사용중이 아니면 삭제하고(S609), 사용 중이면 삭제 표시를 한다(S610). 이후, 일정 기간의 수면 기간을 갖고(S606), 다시 최종 결과 병합 시작 단계(S601)를 수행한다.
이상에서와 같이, 본 발명의 MapReduce 기반 분산 병렬 처리 시스템에서는 Reduce 태스크가 기본적으로 기존 결과가 존재한다는 가정으로 동작하기 때문에 하기와 같이 제한된 환경하에서 효율적인 분산 병렬 처리 기능을 제공할 수 있다.
예컨대, 본 발명의 분산 병렬 처리 시스템은 1) Reduce 태스크의 개수가 최종 결과에 영향을 미치지 않거나, 2) Reduce 함수의 수행 결과가 Reduce 함수의 입력과 같은 키를 사용하거나, 3) 정확한 결과보다는 연속적으로 수집되는 스트림 데이터에 대한 실시간 분산 병렬 처리를 수행하고자 할 때, 강력한 분산 병렬 처리 기능을 제공할 수 있다.
본 발명의 내용은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 분산 병렬 처리 시스템의 시스템 구성도이다.
도 2는 본 발명에 따른 분산 병렬 처리 방법의 동작을 나타낸 예시도이다.
도 3은 출력 데이터 저장 위치에 최종 결과를 생성하는 디렉토리 구성을 나타낸 예시도이다.
도 4는 본 발명의 MapReduce 프로그래밍 모델의 예시도이다.
도 5는 추가 입력 데이터가 수집되었는지를 확인하고 이를 처리하는 절차를 나타낸 흐름도이다.
도 6은 기존 최종 결과를 병합하여 버전의 개수를 줄이는 방법을 나타낸 흐름도이다.
Claims (16)
- 입력 데이터 저장 위치에 수집되는 추가 데이터의 여부를 주기적으로 모니터링하는 스트림 데이터 모니터;상기 스트림 데이터 모니터의 모니터링 결과에 따라 하나 이상의 추가 태스크를 생성하고, 기존 태스크로부터 출력된 최종 결과와 상기 하나 이상의 추가 태스크로부터 생성된 중간 결과를 병합하여 새로운 최종 결과를 출력하는 작업 관리기; 및상기 하나 이상의 태스크 또는 상기 기존 태스크의 동작을 관리하는 하나 이상의 태스크 관리기를 포함하고,상기 작업 관리기는수집된 추가 데이터를 처리하여 상기 중간 결과를 출력하기 위한 하나의 맵 태스크; 및 상기 하나의 맵 태스크로부터 출력되는 상기 중간 결과를 처리하기 위한 하나 이상의 리듀스 태스크를 생성하여 새로 수집된 추가 데이터를 분산 병렬 처리하도록 제어하는 것을 특징으로 하는 분산 병렬 처리 시스템.
- 청구항 1에 있어서, 상기 작업 관리기는,상기 하나 이상의 리듀스 태스크는 기존 리듀스 태스크와 동일 개수로 생성되는 분산 병렬 처리 시스템.
- 청구항 1에 있어서,상기 하나 이상의 리듀스 태스크는 상기 하나의 맵 태스크로부터 출력되는 상기 중간 결과와 상기 기존 리듀스 태스크로부터 출력된 최종 결과를 병합하여 상기 새로운 최종 결과를 출력하는 분산 병렬 처리 시스템.
- 청구항 1에 있어서,상기 하나의 맵 태스크는 기존 맵 태스크와 독립적으로 동작하는 분산 병렬 처리 시스템.
- 청구항 1에 있어서,상기 하나 이상의 리듀스 태스크는 상기 하나 이상의 맵 태스크 또는 상기 기존 리듀스 태스크의 동작이 완료된 이후에 동작하는 분산 병렬 처리 시스템.
- 청구항 1에 있어서,상기 스트림 데이터 모니터는 상기 입력 데이터 저장 위치에 수집된 상기 추가 데이터의 처리 시간으로부터 로그 파일을 생성하고, 상기 로그 파일을 참조하여 상기 처리 시간 이후에 수집된 데이터를 추가 데이터로 인식하는 분산 병렬 처리 시스템.
- 청구항 1에 있어서,상기 하나 이상의 태스크 또는 상기 기존 태스크로부터 각각 생성된 최종 결과를 주기적으로 병합하는 최종 결과 병합기를 더 포함하는 분산 병렬 처리 시스템.
- 삭제
- 분산 병렬 처리 시스템이 수집되는 추가 데이터를 모니터링한 결과에 따라 하나 이상의 추가 태스크를 생성하는 단계; 및상기 분산 병렬 처리 시스템이 기존 태스크로부터 출력된 최종 결과와 상기 하나 이상의 추가 태스크로부터 생성된 중간 결과를 병합하여 새로운 최종 결과를 출력하는 단계를 포함하고,상기 하나 이상의 추가 태스크를 생성하는 단계는상기 추가 데이터를 처리하여 상기 중간 결과를 출력하기 위한 하나의 맵 태스크와 상기 하나의 맵 태스크로부터 출력되는 상기 중간 결과를 처리하기 위한 하나 이상의 리듀스 태스크를 생성하여, 새로 수집된 추가 데이터를 분산 병렬 처리하도록 제어하는 것을 특징으로 하는 분산 병렬 처리 방법.
- 청구항 9에 있어서, 상기 하나 이상의 추가 태스크를 생성하는 단계는,상기 하나 이상의 리듀스 태스크를 기존 리듀스 태스크와 동일 개수로 생성하는 단계를 포함하는 분산 병렬 처리 방법.
- 청구항 9에 있어서, 상기 새로운 최종 결과를 출력하는 단계는,상기 하나의 맵 태스크가 상기 추가 데이터를 처리하여 상기 중간 결과를 출력하는 단계; 및상기 하나 이상의 리듀스 태스크가 상기 하나의 맵 태스크로부터 출력된 상기 중간 결과와 상기 기존 리듀스 태스크로부터 출력된 최종 결과를 병합하여 상기 새로운 최종 결과를 출력하는 단계를 포함하는 분산 병렬 처리 방법.
- 청구항 9에 있어서,상기 기존 태스크로부터 출력된 최종 결과와 상기 하나 이상의 추가 태스크로부터 출력된 새로운 최종 결과를 주기적으로 병합하여 하나의 최종 결과를 출력하는 단계를 포함하는 분산 병렬 처리 방법.
- 청구항 12에 있어서, 상기 하나의 최종 결과를 출력하는 단계는,상기 기존 태스크 또는 상기 하나 이상의 추가 태스크로부터 출력된 하나 이상의 최종 결과의 개수를 설정값과 비교하는 단계; 및비교 결과에 따라 상기 하나 이상의 최종 결과를 병합하거나 또는 일정 시간 동안 수면하는 단계를 포함하는 분산 병렬 처리 방법.
- 청구항 13에 있어서, 상기 하나의 최종 결과를 출력하는 단계는,상기 하나 이상의 최종 결과의 개수가 상기 설정값보다 적으면, 일정 시간 동안 수면하는 분산 병렬 처리 방법.
- 청구항 13에 있어서, 상기 하나의 최종 결과를 출력하는 단계는,상기 하나 이상의 최종 결과의 개수가 상기 설정값보다 많거나 동일하면, 상기 하나 이상의 최종 결과를 병합하는 분산 병렬 처리 방법.
- 청구항 9에 있어서,수집되는 추가 데이터의 처리 시간으로부터 로그 파일을 생성하고, 상기 로그 파일을 참조하여 상기 처리 시간 이후에 수집되는 데이터를 추가 데이터로 인식하는 단계를 더 포함하는 분산 병렬 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090126035A KR101285078B1 (ko) | 2009-12-17 | 2009-12-17 | 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 |
US12/968,647 US20110154339A1 (en) | 2009-12-17 | 2010-12-15 | Incremental mapreduce-based distributed parallel processing system and method for processing stream data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090126035A KR101285078B1 (ko) | 2009-12-17 | 2009-12-17 | 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110069338A KR20110069338A (ko) | 2011-06-23 |
KR101285078B1 true KR101285078B1 (ko) | 2013-07-17 |
Family
ID=44153013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090126035A KR101285078B1 (ko) | 2009-12-17 | 2009-12-17 | 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110154339A1 (ko) |
KR (1) | KR101285078B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及*** |
KR20190043199A (ko) | 2017-10-18 | 2019-04-26 | 주식회사 나눔기술 | 언어지능 모듈을 이용한 분산처리 시스템 및 방법 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918388B1 (en) * | 2010-02-26 | 2014-12-23 | Turn Inc. | Custom data warehouse on top of mapreduce |
US9002871B2 (en) * | 2011-04-26 | 2015-04-07 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US9053067B2 (en) | 2011-09-30 | 2015-06-09 | International Business Machines Corporation | Distributed data scalable adaptive map-reduce framework |
EP2765510A4 (en) * | 2011-10-06 | 2016-07-06 | Fujitsu Ltd | DATA PROCESSING, DISTRIBUTED PROCESSING SYSTEM AND PROGRAM |
CN102725753B (zh) * | 2011-11-28 | 2014-01-01 | 华为技术有限公司 | 优化数据访问的方法及装置、优化数据存储的方法及装置 |
KR20130097972A (ko) | 2012-02-27 | 2013-09-04 | 삼성전자주식회사 | 하드웨어 가속화를 통한 대규모 데이터의 분산 처리 장치 및 방법 |
US8972983B2 (en) | 2012-04-26 | 2015-03-03 | International Business Machines Corporation | Efficient execution of jobs in a shared pool of resources |
US20130290972A1 (en) * | 2012-04-27 | 2013-10-31 | Ludmila Cherkasova | Workload manager for mapreduce environments |
CN102760053A (zh) * | 2012-06-20 | 2012-10-31 | 东南大学 | 基于cuda并行计算及wcf架构的人体检测方法 |
US9223614B2 (en) * | 2012-06-26 | 2015-12-29 | Wal-Mart Stores, Inc. | Systems and methods for event stream processing |
KR101496011B1 (ko) * | 2012-07-09 | 2015-02-26 | 부산대학교 산학협력단 | 하둡 기반 센서 스트림 데이터 처리 시스템 및 방법 |
EP2690554A3 (en) * | 2012-07-25 | 2014-04-16 | Telefonaktiebolaget L M Ericsson AB (Publ) | A method of operating a system for processing data and a system therefor |
KR101245994B1 (ko) * | 2012-08-31 | 2013-03-20 | 케이씨씨시큐리티주식회사 | 대용량 데이터의 분산 병렬 처리 시스템 및 방법 |
CN103150161B (zh) * | 2013-02-06 | 2016-04-13 | 中金数据***有限公司 | 基于MapReduce计算模型的任务封装方法及装置 |
US9298788B1 (en) * | 2013-03-11 | 2016-03-29 | DataTorrent, Inc. | Checkpointing in distributed streaming platform for real-time applications |
EP3028167A1 (en) * | 2013-07-31 | 2016-06-08 | Hewlett Packard Enterprise Development LP | Data stream processing using a distributed cache |
WO2015066489A2 (en) * | 2013-11-01 | 2015-05-07 | Cognitive Electronics, Inc. | Efficient implementations for mapreduce systems |
CN103678491A (zh) * | 2013-11-14 | 2014-03-26 | 东南大学 | 一种基于Hadoop中小文件优化和倒排索引的方法 |
US10776325B2 (en) * | 2013-11-26 | 2020-09-15 | Ab Initio Technology Llc | Parallel access to data in a distributed file system |
CN103646073A (zh) * | 2013-12-11 | 2014-03-19 | 浪潮电子信息产业股份有限公司 | 一种基于HBase表的条件查询优化方法 |
KR20150092586A (ko) | 2014-02-05 | 2015-08-13 | 한국전자통신연구원 | 데이터 플로 기반 대규모 데이터 스트림 처리 방법 및 장치 |
US9268597B2 (en) * | 2014-04-01 | 2016-02-23 | Google Inc. | Incremental parallel processing of data |
CN104615526A (zh) * | 2014-12-05 | 2015-05-13 | 北京航空航天大学 | 一种大数据平台的监控*** |
US9774682B2 (en) | 2015-01-08 | 2017-09-26 | International Business Machines Corporation | Parallel data streaming between cloud-based applications and massively parallel systems |
US10268714B2 (en) | 2015-10-30 | 2019-04-23 | International Business Machines Corporation | Data processing in distributed computing |
CN106708606B (zh) * | 2015-11-17 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 基于MapReduce的数据处理方法及装置 |
KR102592611B1 (ko) | 2016-02-18 | 2023-10-23 | 한국전자통신연구원 | 맵 리듀스 장치, 맵 리듀스 제어장치 및 그 방법 |
CN107844402A (zh) * | 2017-11-17 | 2018-03-27 | 北京联想超融合科技有限公司 | 一种基于超融合存储***的资源监控方法、装置及终端 |
CN109815008A (zh) * | 2018-12-21 | 2019-05-28 | 航天信息股份有限公司 | Hadoop集群用户资源监控方法和*** |
CN109657009B (zh) * | 2018-12-21 | 2021-03-12 | 北京锐安科技有限公司 | 数据预分区存储周期表创建方法、装置、设备和存储介质 |
KR102245208B1 (ko) * | 2020-09-07 | 2021-04-28 | 박성빈 | 다중처리방법 및 그 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090066010A (ko) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | 분산 병렬 처리 시스템에서 다중 Map 태스크 중간 결과정렬 및 결합 장치 및 방법 |
KR100919370B1 (ko) | 2001-11-02 | 2009-09-25 | 엔엑스피 비 브이 | 비트스트림 처리 장치, 이를 포함하는 텔레비전 유닛 및 비트스트림 처리 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04242852A (ja) * | 1990-02-13 | 1992-08-31 | Internatl Business Mach Corp <Ibm> | 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法 |
US7209934B2 (en) * | 2003-11-21 | 2007-04-24 | Bellsouth Intellectual Property Corporation | Methods, systems and computer program products for monitoring files |
US7523123B2 (en) * | 2006-11-16 | 2009-04-21 | Yahoo! Inc. | Map-reduce with merge to process multiple relational datasets |
JP5091694B2 (ja) * | 2007-04-05 | 2012-12-05 | 京セラドキュメントソリューションズ株式会社 | 情報処理システム及び情報処理プログラム |
-
2009
- 2009-12-17 KR KR1020090126035A patent/KR101285078B1/ko not_active IP Right Cessation
-
2010
- 2010-12-15 US US12/968,647 patent/US20110154339A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100919370B1 (ko) | 2001-11-02 | 2009-09-25 | 엔엑스피 비 브이 | 비트스트림 처리 장치, 이를 포함하는 텔레비전 유닛 및 비트스트림 처리 방법 |
KR20090066010A (ko) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | 분산 병렬 처리 시스템에서 다중 Map 태스크 중간 결과정렬 및 결합 장치 및 방법 |
Non-Patent Citations (3)
Title |
---|
In CIDR Conference, FRANKLIN, M.J., et al. Continuous analytics: Rethinking query processing in a network-effect world, January 2009 (2009.01.) * |
In CIDR Conference, FRANKLIN, M.J., et al. Continuous analytics: Rethinking query processing in a network-effect world, January 2009 (2009.01.)* |
IN: 2009 IEEE Cluster Computing and Workshops, PALLICKARA, S. et al. Granules: A lightweight, streaming runtime for cloud computing with support, for Map-Reduce (2009. 09.04) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及*** |
KR20190043199A (ko) | 2017-10-18 | 2019-04-26 | 주식회사 나눔기술 | 언어지능 모듈을 이용한 분산처리 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20110069338A (ko) | 2011-06-23 |
US20110154339A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101285078B1 (ko) | 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법 | |
CN110196871B (zh) | 数据入库方法和*** | |
US10417203B2 (en) | Compacting data history files | |
Raj et al. | A Spark-based Apriori algorithm with reduced shuffle overhead | |
Ullman | Designing good mapreduce algorithms | |
Cannataro et al. | Knowledge grid: High performance knowledge discovery services on the grid | |
RU2507574C2 (ru) | Постраничное разбиение иерархических данных | |
Suthakar et al. | An efficient strategy for the collection and storage of large volumes of data for computation | |
KR20210058118A (ko) | CaseDB: 엣지컴퓨팅을 위한 저비용 Put-Intensive 키-벨류 저장장치 | |
CN114328759A (zh) | 一种数据仓库的数据构建与管理方法及终端 | |
JP2010530588A (ja) | 連合レポジトリを用いたファイル記憶スケールの拡大 | |
Purnachandra Rao et al. | HDFS logfile analysis using elasticsearch, LogStash and Kibana | |
Antila et al. | A hierarchic diff algorithm for collaborative music document editing | |
Nivash et al. | Analysis on enhancing storm to efficiently process big data in real time | |
CN114297196B (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
KR20100108609A (ko) | 이벤트 이력 기억 장치, 이벤트 이력 추적 장치, 이벤트 이력 기억 방법, 이벤트 이력 기억 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 데이터 구조를 기록한 컴퓨터 판독 가능한 기록 매체 | |
WO2016117007A1 (ja) | データベースシステム及びデータベース管理方法 | |
JP7381290B2 (ja) | 計算機システム及びデータの管理方法 | |
CN103383683A (zh) | It运维***知识库的优化管理方法 | |
CN112069256A (zh) | 一种服务器集群上数据同步装置及其同步方法 | |
Cha et al. | Effective metadata management in exascale file system | |
Ray et al. | Performance enhancement in big data handling | |
Klasky et al. | Data management on the fusion computational pipeline | |
Huang et al. | Extraction of user profile based on the hadoop framework | |
JP2016170453A (ja) | データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161005 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |