KR101567861B1 - 인덱스 기반 데이터 처리 시스템 - Google Patents

인덱스 기반 데이터 처리 시스템 Download PDF

Info

Publication number
KR101567861B1
KR101567861B1 KR1020130102831A KR20130102831A KR101567861B1 KR 101567861 B1 KR101567861 B1 KR 101567861B1 KR 1020130102831 A KR1020130102831 A KR 1020130102831A KR 20130102831 A KR20130102831 A KR 20130102831A KR 101567861 B1 KR101567861 B1 KR 101567861B1
Authority
KR
South Korea
Prior art keywords
index
block
blocks
processing unit
data
Prior art date
Application number
KR1020130102831A
Other languages
English (en)
Other versions
KR20150025326A (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 KR1020130102831A priority Critical patent/KR101567861B1/ko
Publication of KR20150025326A publication Critical patent/KR20150025326A/ko
Application granted granted Critical
Publication of KR101567861B1 publication Critical patent/KR101567861B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

인덱스 기반 데이터 처리 시스템이 제공된다. 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템은, 수신된 파일을 복수의 블록으로 분할하여 저장하는 데이터베이스부, 상기 데이터베이스부에 포함되어, 상기 복수의 블록에 블록의 정보를 제공하는 제1 인덱스와 상기 블록에 포함된 데이터의 정보를 제공하는 제2 인덱스를 포함하는 복수의 인덱스를 생성하는 인덱스 생성부 및 쿼리에 따라 상기 복수의 블록을 처리하는 처리부를 포함하되, 상기 처리부는 상기 복수의 인덱스를 기초로 특정 블록에서 특정 데이터를 추출하여 처리한다.

Description

인덱스 기반 데이터 처리 시스템{INDEX-BASED DATA PROCESS SYSTEM}
본 발명은 인덱스 기반 데이터 처리 시스템에 관한 것으로, 보다 자세하게는 특정 블록을 필터링하여 데이터 처리속도를 향상시킨 데이터 처리 시스템에 관한 것이다.
웹 2.0의 등장으로 인터넷 서비스가 공급자 중심에서 사용자 중심으로 패러다임이 이동함에 따라 UCC, 개인화 서비스와 같은 인터넷 서비스 시장이 급속도로 증가하고 있다. 이러한 패러다임의 변화로 사용자에 의해서 생성되고 인터넷 서비스를 위해 수집, 처리, 그리고 관리해야 하는 데이터의 양이 빠르게 증가하고 있다. 이와 같은 대용량 데이터의 수집, 처리 및 관리를 위하여, 현재 많은 인터넷 포탈에서 저비용으로 대규모 클러스터를 구축하여 대용량 데이터 분산 관리 및 작업 분산 병렬 처리하는 기술에 대하여 많은 연구를 하고있으며, 작업 분산 병렬 처리 기술 중에서 미국 구글 사의 맵리듀스(MapReduce) 모델이 대표적인 작업 분산 병렬 처리방법 중에 하나로 주목을 받고 있다.
맵리듀스 모델은 Google 사에서 저비용 대규모 노드로 구성된 클러스터 상에 저장된 대용량 데이터에 대한 분산 병렬 연산을 지원하기 위하여 제안한 분산 병렬 처리 프로그래밍 모델이다. 맵리듀스 모델 기반의 분산 병렬 처리 시스템으로는, 구글의 맵리듀스 시스템, Apache Software Foundation의 하둡(Hadoop) 맵리듀스 시스템과 같은 분산 병렬 처리 시스템이 있다. 하둡은 맵리듀스 패러다임을 지원하는 최근 가장 유명한 맵리듀스 프레임워크이다. 또한 하둡 프레임워크는 확장성 있고 안정적인 분산 컴퓨팅 환경을 제공하기 때문에 많은 개발자들은 하둡을 통해 성공적인 오픈 소스 프로젝트를 진행하고 있다.
인터넷 서비스를 제공하는 인터넷 포탈 입장에서는 엄청난 속도로 수집되는 방대한 양의 스트림 데이터로부터 가능한 빨리 의미 있는 정보를 추출하여 사용자에게 서비스하는 능력이 기업의 경쟁력이 된다. 그러나 기존의 맵리듀스 시스템과 같은 빅 데이터 처리 시스템은 입력받은 모든 데이터를 여과없이 처리하기 때문에 불필요한 연산과정이 많아 데이터 처리의 효율성에 의문이 제기되었다.
위와 같은 문제점으로부터 안출된 본 발명이 해결하고자 하는 기술적 과제는, 데이터 블록에 인덱스를 생성하여 처리하고자 하는 블록을 필터링하여 데이터 처리 속도를 향상시킨 데이터 처리 시스템을 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 언급된 기술적 과제들을 해결하기 위한, 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템은, 수신된 파일을 복수의 블록으로 분할하여 저장하는 데이터베이스부, 상기 데이터베이스부에 포함되어, 상기 복수의 블록에 블록의 정보를 제공하는 제1 인덱스와 상기 블록에 포함된 데이터의 정보를 제공하는 제2 인덱스를 포함하는 복수의 인덱스를 생성하는 인덱스 생성부, 및 쿼리에 따라 상기 복수의 블록을 처리하는 처리부를 포함하되, 상기 처리부는 상기 복수의 인덱스를 기초로 특정 블록에서 특정 데이터를 추출하여 처리한다.
삭제
삭제
상기 복수의 블록은 정형 또는 비정형 구조로 구성될 수 있다.
상기 인덱스 생성부는 상기 복수의 블록에서 상기 제2 인덱스를 수집하고, 상기 수집된 제2 인덱스에서 후보군을 설정하여 상기 후보군에서 상기 제1 인덱스를 생성할 수 있다.
상기 제1 인덱스는 특정 입력 대기시간이 지나거나 상기 제2 인덱스가 변경되면 업데이트될 수 있다.
상기 데이터베이스부는 분산파일시스템(DFS)으로 구성될 수 있다.
상기 데이터베이스부는 블록이 저장되는 경우 상기 블록을 복제하여 저장하고, 상기 블록과 복제된 블록의 위치정보를 보관할 수 있다.
상기 처리부는 제1 처리부와 제2 처리부 중 적어도 하나를 포함할 수 있다.
상기 제1 처리부는 상기 특정 데이터를 분산하여 병렬처리할 수 있다.
상기 제2 처리부는 상기 처리된 특정 데이터를 결합하여 처리할 수 있다.
상기 처리부는 상기 제1 인덱스를 기초로 상기 제1 처리부의 병렬 분산 작업량을 결정할 수 있다.
상기 인덱스 생성부에서 상기 제1 인덱스를 생성하지 못한 경우, 상기 처리부는 상기 제2 인덱스를 기초로 작업량을 결정할 수 있다.
수신된 파일을 복수의 블록으로 분할하는 단계, 상기 복수의 블록에 블록의 정보를 제공하는 제1 인덱스와 상기 블록에 포함된 데이터의 정보를 제공하는 제2 인덱스를 생성하여 저장하는 단계, 클라이언트의 쿼리를 수신하는 단계, 상기 쿼리에 따라 상기 제1 인덱스를 포함하는 특정 블록을 선택하는 단계 및 상기 특정 블록을 처리하는 단계를 포함하되, 상기 제2 인덱스를 기초로 상기 특정 블록에서 특정 데이터를 추출하여 처리하는 단계를 포함한다.
삭제
상기 인덱스 생성부는 상기 복수의 블록에서 상기 제2 인덱스를 수집하고, 상기 수집된 제2 인덱스에서 후보군을 설정하여 상기 후보군에서 상기 제1 인덱스를 생성할 수 있다.
특정 입력 대기시간이 지나거나 상기 제2 인덱스가 변경되면, 상기 제1 인덱스가 업데이트될 수 있다.
상기와 같은 본 발명에 따르면, 블록데이터에 인덱스를 생성하고 인덱스를 기초로 필요한 블록만 필터링하여 데이터 처리 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 심전도 신호 분류 시스템에서 블록에 포함된 인덱스를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에서 개략적인 제1 인덱스 생성과정을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에서 구체적인 제1 인덱스 생성과정을 나타내는 도면이다.
도 5 내지 도 6은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 구체적인 데이터 처리 과정을 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에 대해 설명하기로 한다.
도 1 내지 도 2를 참조하면, 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 기본 구성이 개시된다. 도 1은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 개략적인 구성을 나타내는 도면, 도 2는 본 발명의 일 실시예에 따른 심전도 신호 분류 시스템에서 블록에 포함된 인덱스를 나타내는 도면, 도 3은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에서 개략적인 제1 인덱스 생성과정을 나타내는 도면, 도 4는 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에서 구체적인 제1 인덱스 생성과정을 나타내는 도면, 도 5 내지 도 6은 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 구체적인 데이터 처리 과정을 나타내는 도면이다.
본 실시예에 따른 인덱스 기반 데이터 처리 시스템은, 데이터베이스부(100), 인덱스 생성부(200)와 처리부(300)를 포함할 수 있다.
구체적으로, 본 실시예에 따른 인덱스 기반 데이처 처리 시스템은, 수신된 파일을 복수의 블록으로 분할하여 저장하는 데이터베이스부(100), 상기 데이터베이스부(100)에 포함되어 상기 복수의 블록에 제1 인덱스(210)와 제2 인덱스(220)를 생성하는 인덱스 생성부(200) 및 쿼리에 따라 상기 복수의 블록을 처리하는 처리부(300)를 포함하되, 상기 처리부(300)는 상기 제2 인덱스(220)를 기초로 상기 특정 블록에서 특정 데이터를 추출하여 처리한다.
웹 환경은 기존의 방식으로는 효과적으로 처리하기 어려운 대규모 데이터가 존재하는 대표적인 곳이다. 웹에서 검색이란 규격이 일정하지 않은 여러 종류의 데이터가 대규모로 쌓여 있는 데이터 더미에서 원하는 내용을 효과적으로 빠른 시간 안에 찾는 것이 필수적이다.
이를 위해 본 발명의 일 실시예에 따른 데이터베이스부(100)는 분산파일 시스템(DFS)으로 구성할 수 있다. 분산파일 시스템(DFS)은 여러 대의 컴퓨터를 조합해 대규모 기억장치를 만드는 기술이다. 웹 검색엔진의 경우 전 세계에 존재하는 엄청난 규모의 웹 페이지를 저장해야 한다. 인터넷 상 데이터는 그 증가 속도가 매우 빠르기 때문에 대규모 데이터를 안전하게 저장하고 효율적으로 처리하기 위해서는 다수의 하드디스크를 조합해 데이터를 저장한다.
데이터베이스부(100)는 저렴한 하드웨어를 대량으로 이용하기 때문에 고장 발생을 전제로 시스템을 설계할 수 있다. 분산파일 시스템은 이를 위해 항상 파일을 여러 개 복사해 저장할 수 있다. 또한 파일의 내용과 위치에 대한 정보도 여러 개의 복사본을 만들어 저장할 수 있다. 이렇게 파일의 내용과 정보가 복수의 클라이언트에 분산 저장되기 때문에 검색 시간도 단축되고 여러 곳에서 동시에 검색이 이루어져도 특정 클라이언트에 작업량이 집중되지 않는다. 예를 들어 한국에 있는 이용자가 특정 단어를 검색하면 저장된 복수의 정보 중에서 이용자와 가장 가까운 곳에 있는 정보를 찾아내 검색하게 된다. 특정 클라이언트가 고장이 나더라도 기존의 정보는 다른 곳에 복사본이 존재하기 때문에 데이터 손실의 염려가 없다.
또한 데이터베이스부(100)는 수신된 파일을 복수의 블록으로 분할하여 관리하고, 블록은 테이블 구조를 이용하여 관리할 수 있다. 테이블에 속한 블록들은 높은 유사도를 가지며, 데이터 처리시 필요한 테이블을 선택하여 데이터 처리속도로를 향상시킬 수 있다. 이를 위해 데이터베이스부(100)는 정형 또는 비정형 구조를 이용해 데이터를 플렉서블(flexcible)하게 구현할 수 있다.
예를 들어, 문서형식으로된 데이터의 경우 수신된 문서파일은 비정형 구조로 이루어져 있다. 이러한 문서파일을 자연어데이터, 표제데이터등의 기준을 이용하여 데이터로 나누어 정형화된 구조로 관리할 수 있다.
인덱스 생성부(200)는 데이터베이스부(100)에 저장된 블록에 제1 인덱스(210)와 제2 인덱스(220)를 생성할 수 있다. 제1 인덱스(210)는 블록의 정보를 제공하고, 제2 인덱스(220)는 블록에 포함된 데이터의 정보를 제공할 수 있다. 구체적으로, 데이터베이스부(100)는 수신받은 파일을 복수의 블록으로 나누어 관리할 수 있다. 블록은 다시 복수의 데이터로 구성되어 있고, 복수의 데이터는 전술한 바와 같이 정형, 비정형 또는 그의 중간과정인 반정형 구조로 구성될 수 있다. 이때, 데이터에 제2 인덱스(220)를 생성함으로써, 불필요한 데이터를 필터링하여 처리속도를 향상시킬 수 있다. 인덱스 생성부(220)에서 제1 인덱스(210)와 제2 인덱스(220)의 구체적인 생성과정은 후술하기로 한다.
처리부(300)는 클라이언트의 쿼리에 따라 데이터를 처리할 수 있으며, 제1 처리부(310)와 제2 처리부(320)를 포함할 수 있다.
제1 처리부(310)에서는 대규모 데이터를 복수의 클라이언트에 분산해 병렬적으로 처리해 새로운 데이터(중간 결과)를 만들어낸다. 제2 처리부(320)에서는 이렇게 생성된 중간 결과물을 결합해 최종적으로 원하는 결과를 생산한다. 제2 처리부 역시 복수의 클라이언트를 동시에 활용하는 분산처리 방식을 적용한다. 이를 위해 처리부(300) 맵리듀스 프레임워크를 이용할 수 있으나 이에 한정되는 것은 아니며, 빅데이터와 같은 대용량 데이터를 빠르고 안전하게 처리하기 위한 다양한 프레임워크로 구현될 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 개략적인 인덱스 생성 과정이 개시된다.
먼저, 클라이언트에서 파일이 업로드 되고(S10), 데이터베이스부는 파일을 복수의 블록으로 나누는 블록화단계가 수행된다(S20). 나누어진 복수의 블록은 인덱스를 생성하는 인덱스 생성부로 전송된다(S30).
인덱스 생성부는 각 블록에 제2 인덱스를 생성하는 단계를 수행한다(S31). 제2 인덱스는 블록에 포함된 데이터의 정보를 제공하는 인덱스이고, 처리부는 제2 인덱스를 기초로 필요한 데이터만 선택하여 처리할 수 있어 데이터 처리 속도를 향상시킬 수 있다.
다음으로, 인덱스 생성부는 생성된 제2 인덱스중에서 후보군을 설정하고(S32), 후보군에서 제1 인덱스를 결정한다(S33). 처리부는 제1 인덱스를 기초로 데이터 처리에 필요한 작업량을 결정할 수 있다. 다시 말해, 특정 제1 인덱스를 포함하는 블록을 제외한 나머지 블록을 필터링하여 제1 처리부에서의 데이터 처리속도를 향상시킬 수 있다. 인덱스 생성부는 제2 인덱스 데이터에서 키(key)값을 이용하여 제1 인덱스를 생성하며, 구체적인 과정은 도 4를 참조하여 후술하기로 한다.
인덱스 생성부에서 생성된 제1 및 제2 인덱스를 포함한 블록은 다시 데이터베이스부에 전송된다(S40). 전송된 블록은 인덱스의 유사도에 따라 테이블 구조 형식으로 재구성된다.
마지막으로 블록을 복제하여 분산저장하고, 블록들의 위치정보 역시 저장하는 단계를 수행한다(S41, S42). 전술한 바와 같이 분산파일시스템은 저렴한 하드웨어를 대량으로 이용하기 때문에 고장 발생을 전제로 시스템을 설계한다. 분산파일 시스템은 이를 위해 항상 블록을 여러 개 복사해 저장할 수 있다. 만약 기존의 블록이 하드웨어의 고장이나 기타 원인으로 인해 삭제되거나 변경되면, 데이터베이스부는 복제된 블록의 위치정보를 바탕으로 복제된 블록을 전송하여 처리중 오류를 최소화 할 수 있다.
도 4 를 참조하면, 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 인덱스 생성부에서 생성되는 제1 인덱스의 구체적인 생성과정이 나타난다.
먼저, 인덱스 생성부가 데이터베이스부에 저장된 블록에서 제2 인덱스를 수집하여 인덱스 그룹을 생성하는 단계를 수행한다(S100).
인덱스를 확인하여 인덱스가 비어있지 않으면 제2 인덱스에서 식별 가능한 키(key)를 선택하고 블록 정보를 포함하는 키를 병합한다(S300). 선택한 키가 식별 가능한 키인가를 구분하는 조건은 다음과 같다;
1. 키가 수집된 모든 제2 인덱스에 포함되지 않아야 한다.
2. 0을 초과하고 1미만인 한계값이 할당되면(0<한계값<1), 키를 포함하는 제2 인덱스의 수는 제2 인덱스의 총합과 한계값의 곱 보다 작아야한다.
키의 조건을 판단하여(S400), 키가 한계값보다 작으면 키를 포함한 제2 인덱스를 제1 인덱스 후보군으로 설정한다(S500). 만약 키가 한계값보다 크면 해당 키를 포함한 제2 인덱스를 제2 인덱스 그룹에서 제외한다(S410).
이러한 과정을 반복 수행하여 얻은 키를 이용하여 후보군에서 제1 인덱스를 생성할 수 있다(S600).
도 5 내지 도 6 을 참조하면, 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템의 구체적인 데이터 처리 과정이 나타난다.
파일을 수신하면, 데이터베이스부(100)는 파일을 블록으로 나누어 인덱스 생성부(200)에 전송할 수 있다. 인덱스 생성부(200)는 각 블록에 제1 인덱스 및 제2 인덱스를 생성하고, 데이터베이스부(100)는 생성된 제1 및 제2 인덱스를 이용하여 데이터를 테이블 구조로 저장할 수 있다. 이때, 수신된 블록을 복제하여 분산저장하고, 분산저장된 블록의 위치정보 또한 저장할 수 있다.
사용자의 쿼리를 수신하면, 데이터베이스부(100)는 수신된 쿼리와 제1 인덱스를 기초로 데이터를 선택할 수 있다. 전술한 바와 같이 기존의 맵리듀스 시스템은 모든 데이터를 처리해야 하지만, 본 발명의 일 실시예에 따른 인덱스 기반 데이터 처리 시스템에서는 제1 인덱스를 이용하여 원하는 블록만을 선택적으로 처리할 수 있다. 제1 인덱스를 포함하는 블록을 제외한 나머지 블록을 필터링한 다음, 해당 블록들은 처리부(300)에 전송될 수 있다.
처리부(300)는 수신받은 블록의 제1 인덱스를 기초로 작업량을 결정하여 복수의 클라이언트에 분산하여 전송할 수 있다. 제1 인덱스는 블록의 정보를 제공하고, 블록의 정보는 파일의 크기, 위치정보 등의 다양한 정보를 포함할 수 있다.
제1 처리부(310)는 각 블록의 제2 인덱스를 이용하여 데이터 처리에 필요한 데이터만 추출할 수 있다. 전술한 바와 같이 제2 인덱스는 데이터의 정보를 제공할 수 있어 불필요한 연산과정을 줄일 수 있다. 제1 처리부(310)를 거쳐 생성된 중간 결과를 제2 처리부(320)가 다시 합산하여 최종결과를 산출할 수 있다.
예를 들어, 특정 웹사이트에서 특정 아이피(IP)가 출현한 횟수를 카운팅하는 쿼리를 수신하는 경우, 데이터베이스부(100)는 수신된 쿼리에 부합하는 제1 인덱스를 검색하여 저장된 복수의 파일 중 웹사이트 로그 데이터를 선택할 수 있다. 웹사이트 로그 데이터는 데이터베이스부(100)와 인덱스 생성부(200)의 전처리 과정에 따라 복수의 블록으로 나누어져 분산 저장되어 있을 수 있다.
웹사이트 로그 데이터에 포함된 제1 인덱스에 따라, 처리부(300)는 데이터 처리에 필요한 작업량을 할당하고, 블록을 분산하여 병렬처리하는 제1 처리부(310)에 전송할 수 있다.
제1 처리부(310)는 쿼리에 따라 블록에 포함된 데이터를 이용하여 특정 아이피를 검색하여 카운팅한다. 블록은 웹사이트 주소, 사용자 아이피, 접속시간 등의 다양한 데이터를 포함할 수 있다. 본 실시예에 따른 데이터 처리 과정에서는 아이피를 포함하는 데이터만 필요하므로, 제2 인덱스를 이용하여 복수의 데이터 중 아이피를 포함하는 데이터만 추출하여 처리할 수 있다.
병렬배치된 복수의 클라이언트에서 각 블록의 아이피 데이터를 검색하여 특정 아이피가 출현하는 경우 카운트 1의 신호를 제2 처리부(320)에 전송할 수 있다. 제2 처리부(320)는 제1 처리부(310)의 중간결과를 합산하여 최종적으로 특정 웹사이트에서 특정 아이피의 출현횟수를 산출할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 데이터베이스부
200: 인덱스 생성부
210: 제1 인덱스
220: 제2 인덱스
300: 처리부
310: 제1 처리부
320: 제2 처리부

Claims (17)

  1. 수신된 파일을 복수의 블록으로 분할하여 저장하는 데이터베이스부;
    상기 데이터베이스부에 포함되어, 상기 복수의 블록에 블록의 정보를 제공하는 제1 인덱스와 상기 블록에 포함된 데이터의 정보를 제공하는 제2 인덱스를 포함하는 복수의 인덱스를 생성하는 인덱스 생성부; 및
    쿼리에 따라 상기 복수의 블록을 처리하는 처리부를 포함하되,
    상기 처리부는 상기 복수의 인덱스를 기초로 특정 블록에서 특정 데이터를 추출하여 처리하는, 인덱스 기반 데이터 처리 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 복수의 블록은 정형 또는 비정형 구조로 구성되는, 인덱스 기반 데이터 처리 시스템.
  5. 제1항에 있어서,
    상기 인덱스 생성부는
    상기 복수의 블록에서 상기 제2 인덱스를 수집하고, 상기 수집된 제2 인덱스에서 후보군을 설정하여 상기 후보군에서 상기 제1 인덱스를 생성하는, 인덱스 기반 데이터 처리 시스템.
  6. 제5항에 있어서,
    상기 제1 인덱스는 특정 입력 대기시간이 지나거나 상기 제2 인덱스가 변경되면 업데이트되는, 인덱스 기반 데이터 처리 시스템.
  7. 제1항에 있어서,
    상기 데이터베이스부는 분산파일시스템(DFS)으로 구성되는, 인덱스 기반 데이터 처리 시스템.
  8. 제7항에 있어서,
    상기 데이터베이스부는 블록이 저장되는 경우 상기 블록을 복제하여 저장하고, 상기 블록과 복제된 블록의 위치정보를 보관하는, 인덱스 기반 데이터 처리 시스템.
  9. 제1항에 있어서,
    상기 처리부는 제1 처리부와 제2 처리부 중 적어도 하나를 포함하는, 인덱스 기반 데이터 처리 시스템.
  10. 제9항에 있어서,
    상기 제1 처리부는 상기 특정 데이터를 분산하여 병렬처리하는, 인덱스 기반 데이터 처리 시스템.
  11. 제9항에 있어서,
    상기 제2 처리부는 상기 처리된 특정 데이터를 결합하여 처리하는, 인덱스 기반 데이터 처리 시스템.
  12. 제9항에 있어서,
    상기 처리부는 상기 제1 인덱스를 기초로 상기 제1 처리부의 병렬 분산 작업량을 결정하는, 인덱스 기반 데이터 처리 시스템.
  13. 제12항에 있어서,
    상기 인덱스 생성부에서 상기 제1 인덱스를 생성하지 못한 경우, 상기 처리부는 상기 제2 인덱스를 기초로 작업량을 결정하는, 인덱스 기반 데이터 처리 시스템.
  14. 수신된 파일을 복수의 블록으로 분할하는 단계;
    상기 복수의 블록에 블록의 정보를 제공하는 제1 인덱스와 상기 블록에 포함된 데이터의 정보를 제공하는 제2 인덱스를 생성하여 저장하는 단계;
    클라이언트의 쿼리를 수신하는 단계;
    상기 쿼리에 따라 상기 제1 인덱스를 포함하는 특정블록을 선택하는 단계 및
    상기 특정 블록을 처리하는 단계를 포함하되,
    상기 제2 인덱스를 기초로 상기 특정 블록에서 특정 데이터를 추출하여 처리하는 단계를 포함하는, 인덱스 기반 데이터 처리 방법.
  15. 삭제
  16. 제14항에 있어서,
    상기 인덱스 생성부는 상기 복수의 블록에서 상기 제2 인덱스를 수집하고, 상기 수집된 제2 인덱스에서 후보군을 설정하여 상기 후보군에서 상기 제1 인덱스를 생성하는, 인덱스 기반 데이터 처리 방법.
  17. 제16항에 있어서,
    특정 입력 대기시간이 지나거나 상기 제2 인덱스가 변경되면, 상기 제1 인덱스가 업데이트되는, 인덱스 기반 데이터 처리 방법.
KR1020130102831A 2013-08-29 2013-08-29 인덱스 기반 데이터 처리 시스템 KR101567861B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130102831A KR101567861B1 (ko) 2013-08-29 2013-08-29 인덱스 기반 데이터 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130102831A KR101567861B1 (ko) 2013-08-29 2013-08-29 인덱스 기반 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
KR20150025326A KR20150025326A (ko) 2015-03-10
KR101567861B1 true KR101567861B1 (ko) 2015-11-10

Family

ID=53021580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130102831A KR101567861B1 (ko) 2013-08-29 2013-08-29 인덱스 기반 데이터 처리 시스템

Country Status (1)

Country Link
KR (1) KR101567861B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101700327B1 (ko) * 2016-01-05 2017-01-26 (주)미소정보기술 빅데이터의 분석 결과를 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
KR101992631B1 (ko) 2017-07-17 2019-06-25 주식회사 코난테크놀로지 비동기 방식을 사용하는 파일 색인장치 및 그 방법
KR102374797B1 (ko) * 2021-06-14 2022-03-16 주식회사 아키브소프트 멀티이미지 텍스트 처리 장치 및 방법

Also Published As

Publication number Publication date
KR20150025326A (ko) 2015-03-10

Similar Documents

Publication Publication Date Title
JP6542785B2 (ja) 第一クラスデータベース要素としての半構造データの実装
US9984128B2 (en) Managing site-based search configuration data
Wu et al. Efficient B-tree based indexing for cloud data processing
US9124612B2 (en) Multi-site clustering
WO2020139655A1 (en) Technique of comprehensively support autonomous json document object (ajd) cloud service
Padhy Big data processing with Hadoop-MapReduce in cloud systems
JP6281225B2 (ja) 情報処理装置
Sheoran et al. Optimized mapfile based storage of small files in hadoop
US11818012B2 (en) Online restore to different topologies with custom data distribution
Savitha et al. Mining of web server logs in a distributed cluster using big data technologies
KR101567861B1 (ko) 인덱스 기반 데이터 처리 시스템
Farhan et al. A study and performance comparison of mapreduce and apache spark on Twitter data on hadoop cluster
Dai et al. GraphMeta: a graph-based engine for managing large-scale HPC rich metadata
Zhou et al. Sfmapreduce: An optimized mapreduce framework for small files
Cao et al. LogKV: Exploiting key-value stores for event log processing
Pothuganti Big data analytics: Hadoop-Map reduce & NoSQL databases
Khafagy Indexed map-reduce join algorithm
Doulkeridis et al. Parallel and distributed processing of spatial preference queries using keywords
KR20100091757A (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
Sreedhar et al. Big Data and Hadoop
Paul et al. Development of an Enhanced C4. 5 Decision Tree Algorithm Using a Memoized Mapreduce Model
JP7211255B2 (ja) 検索処理プログラム、検索処理方法及び情報処理装置
US11928099B1 (en) Time and value ordered data objects for a backup of a data set
Zhou Assessment of Multiple Map Reduce Strategies for Fast Analytics of Small Files
Muralidharan et al. Fault tolerant state management for high-volume low-latency data stream workloads

Legal Events

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

Payment date: 20181102

Year of fee payment: 4