KR102128389B1 - 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말 - Google Patents

클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말 Download PDF

Info

Publication number
KR102128389B1
KR102128389B1 KR1020160084936A KR20160084936A KR102128389B1 KR 102128389 B1 KR102128389 B1 KR 102128389B1 KR 1020160084936 A KR1020160084936 A KR 1020160084936A KR 20160084936 A KR20160084936 A KR 20160084936A KR 102128389 B1 KR102128389 B1 KR 102128389B1
Authority
KR
South Korea
Prior art keywords
log data
unit
virtual machine
user terminal
service
Prior art date
Application number
KR1020160084936A
Other languages
English (en)
Other versions
KR20180005042A (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 KR1020160084936A priority Critical patent/KR102128389B1/ko
Publication of KR20180005042A publication Critical patent/KR20180005042A/ko
Application granted granted Critical
Publication of KR102128389B1 publication Critical patent/KR102128389B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1858Parallel file systems, i.e. file systems supporting multiple processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • 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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

클라우드 기반의 데이터 처리 장치는 복수의 사용자 단말에서 발생된 로그 데이터를 수집하는 수집부, 상기 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)하는 태깅부, 상기 로그 데이터의 규모를 판단하고, 상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하고, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 작업 관리부 및 상기 적어도 하나 이상의 맵 태스크 수행부로 상기 로그 데이터를 할당하고, 상기 적어도 하나 이상의 리듀스 태스크 수행부로 상기 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당하는 할당부를 포함하고, 상기 맵 태스크 수행부 및 상기 리듀스 태스크 수행부는 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하도록 구성된다.

Description

클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말{CLOUD-BASED APPARATUS AND MEHTOD FOR PROCESSING DATA, AND CLOUD-BASED USER DEVICE FOR RECEIVING DATA PROCESS SERVICE}
본 발명은 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말에 관한 것이다.
클라우드 컴퓨팅(Cloud Computing)이란 인터넷 기반으로 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고, 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경을 말한다. 클라우드 컴퓨팅은 빅데이터의 처리를 위해 이용될 수 있고, 빅데이터의 처리를 위해서는 다수의 서버를 통한 분산 처리가 필수적이다.
이러한 클라우드 컴퓨팅 환경에서 데이터를 분산 처리하는 기술과 관련하여, 선행기술인 한국등록특허 제 10-1195123호는 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법에 대해 개시하고 있다.
클라우드 컴퓨팅 환경에서 데이터의 분산 병렬 처리를 수행하기 위해서는 많은 비용과 시간이 소요된다. 따라서, 데이터의 분산 처리에 필요한 작업을 자동화함으로써, 편의성을 제공할 수 있는 방안이 요구되고 있다.
대규모 로그 데이터의 군집화에 소요되는 시간과 비용을 단축시킬 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공하고자 한다. 또한, 맵리듀스를 사용함으로써, 로그 데이터의 분산 병렬 처리를 자동으로 실행시킬 수 있도록 하는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공하고자 한다. 시청자의 시청 패턴에 기초하여 사용자 맞춤형 미디어 콘텐츠 추천 서비스를 제공할 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공하고자 한다. 군집화된 로그 데이터에 기초하여 고속 로그 검색 기능을 제공하는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공하고자 한다. 미디어 서비스의 이용 중에 발생되는 장애를 로그 데이터 기반으로 분석할 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 복수의 사용자 단말에서 발생된 로그 데이터를 수집하는 수집부, 상기 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)하는 태깅부, 상기 로그 데이터의 규모를 판단하고, 상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하고, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 작업 관리부 및 상기 적어도 하나 이상의 맵 태스크 수행부로 상기 로그 데이터를 할당하고, 상기 적어도 하나 이상의 리듀스 태스크 수행부로 상기 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당하는 할당부를 포함하고, 상기 맵 태스크 수행부 및 상기 리듀스 태스크 수행부는 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하도록 구성되는 것인 데이터 처리 장치를 제공할 수 있다.
본 발명의 다른 실시예는, 키 이벤트를 입력받는 입력부, 상기 키 이벤트에 대한 로그 데이터를 생성하는 생성부, 상기 생성된 로그 데이터를 데이터 처리 장치로 전송하는 전송부 및 상기 데이터 처리 장치에 의해 분산 병렬 처리된 상기 로그 데이터를 기반으로 하는 미디어 서비스를 제공받는 서비스 제공부를 포함하고, 상기 전송된 로그 데이터는 상기 데이터 처리 장치에 의해 설정된 태그 식별자에 기초하여 태깅(tagging)되고, 상기 로그 데이터의 규모가 판단되고, 상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신이 생성되고, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부가 생성되어 할당되고, 상기 맵 태스크 수행부 및 상기 리듀스 태스크 수행부는 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하도록 구성되는 것인 사용자 단말을 제공할 수 있다.
본 발명의 또 다른 실시예는, 복수의 사용자 단말에서 발생된 로그 데이터를 수집하는 단계, 상기 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)하는 단계, 상기 로그 데이터의 규모를 판단하는 단계, 상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하는 단계, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 단계, 상기 적어도 하나 이상의 맵 태스크 수행부로 상기 로그 데이터를 할당하고, 상기 적어도 하나 이상의 리듀스 태스크 수행부로 상기 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당하는 단계 및 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하는 단계를 포함하는 것인 데이터 처리 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 대규모 로그 데이터의 군집화에 소요되는 시간과 비용을 단축시킬 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공할 수 있다. 또한, 맵리듀스를 사용함으로써, 로그 데이터의 분산 병렬 처리를 자동으로 실행시킬 수 있도록 하는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공할 수 있다. 시청자의 시청 패턴에 기초하여 사용자 맞춤형 미디어 콘텐츠 추천 서비스를 제공할 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공할 수 있다. 군집화된 로그 데이터에 기초하여 고속 로그 검색 기능을 제공하는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공할 수 있다. 미디어 서비스의 이용 중에 발생되는 장애를 로그 데이터 기반으로 분석할 수 있는 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반의 데이터 처리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말에서 클라우드 기반의 데이터 처리 서비스를 제공받는 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치에서 키 이벤트에 기초하여 로그 데이터를 분산 병렬 처리하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 처리 장치에서 사용자 단말의 고유 식별자로 태깅된 로그 데이터를 분산 병렬 처리하는 과정을 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 장치에서 클라우드 기반의 데이터 처리 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반의 데이터 처리 시스템의 구성도이다. 도 1을 참조하면, 클라우드 기반의 데이터 처리 시스템(1)은 복수의 사용자 단말(110) 및 데이터 처리 장치(120)를 포함할 수 있다. 도 1에 도시된 복수의 사용자 단말(110) 및 데이터 처리 장치(120)는 클라우드 기반의 데이터 처리 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 클라우드 기반의 데이터 처리 시스템(1) 의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 복수의 사용자 단말(110)은 네트워크를 통해 데이터 처리 장치(120)와 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보교환이 가능한 연결구조를 의미하는 것으로, 이러한 네트워크의 일예는, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, 5G, LTE 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(110)은 사용자로부터 입력받은 키 이벤트(key event)에 대한 로그 데이터를 생성하고, 생성된 로그 데이터를 데이터 처리 장치(120)로 전송할 수 있다. 예를 들어, 키 이벤트는 사용자가 사용자 단말(110)의 리모컨을 조작함으로써 입력되는 리모컨의 키 입력 값일 수 있다.
로그 데이터는 쌍을 이룬 "키(key)"와 "값(value)"에 기초하여 구성될 수 있다. 예를 들어, 키(key)는 입력받은 "키 이벤트"를 포함하고, 값(value)은 입력받은 키 이벤트의 "입력 횟수"를 포함할 수 있다. 본원 발명은 상술한 "키(key)"와 "값(value)" 쌍에 기초하여 로그 데이터를 분산 병렬 처리할 수 있다.
사용자 단말(110)은 데이터 처리 장치(120)에 의해 분산 병렬 처리된 로그 데이터를 기반으로 하는 미디어 서비스를 제공받을 수 있다. 예를 들어, 사용자 단말(110)은 사용자 단말(110)의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 사용자 단말(110)에 대응되는 맞춤형 콘텐츠 추천 서비스를 제공받을 수 있다. 다른 예를 들어, 사용자 단말(110)은 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 사용자 단말(110)의 시청 패턴을 기반으로 하는 미디어 서비스를 제공받을 수 있다.
사용자 단말(110)은 서비스 장애가 발생된 경우, 서비스 장애를 기반으로 하여 로그 데이터를 생성할 수 있다. 사용자 단말(110)은 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 서비스 장애를 기반으로 하는 미디어 서비스를 제공받을 수 있다. 예를 들어, 1) 특정 사용자 단말에서 입력받은 키 이벤트에 대한 비정상적인 로그 데이터(예를 들어, null또는 예외 값의 발생)가 발생하는 경우 및 2) 특정 사용자 단말에서 입력받은 키 이벤트에 대한 장애 패턴의 로그 데이터가 발생하는 경우, 본원 발명은 로그 데이터를 분산 병렬 처리함으로써 1) 및 2)의 경우를 감지할 수 있고, 이를 이용하여 미디어 서비스의 송출을 보완(예를 들어, 사용자 단말과 미디어 서비스를 송출하는 서버 간의 세션을 새롭게 연결)할 수 있다.
또한, 본원 발명의 분산 병렬 처리를 통해 특정 사용자 단말에 대해 누적된 키 이벤트의 분포를 확인할 수 있고, 확인된 키 이벤트의 분포에 기초하여 특정 사용자 단말에서의 서비스 장애 이력을 분석할 수 있고, 분석된 서비스 장애 이력을 통해 서비스 장애의 원인을 도출할 수 있다.
데이터 처리 장치(120)는 복수의 사용자 단말(110)에서 발생된 로그 데이터를 수집하고, 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)할 수 있다.
데이터 처리 장치(120)는 로그 데이터의 규모를 판단하고, 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하고, 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당할 수 있다.
데이터 처리 장치(120)는 적어도 하나 이상의 맵 태스크 수행부로 로그 데이터를 할당하고, 적어도 하나 이상의 리듀스 태스크 수행부로 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당할 수 있다. 맵 태스크 수행부 및 리듀스 태스크 수행부는 태깅된 태그 식별자에 기초하여 로그 데이터를 분산 병렬 처리할 수 있다. 예를 들어, 맵 태스크 수행부는 태깅된 태그 식별자에 기초하여 로그 데이터를 분류하고, 리듀스 태스크 수행부는 분류된 로그 데이터가 가지는 값에 따라 분류된 로그 데이터를 병합할 수 있다. 이 때, 태깅된 태그 식별자가 사용자 단말(110)의 고유 식별자를 포함하는 경우, 맵 태스크 수행부는 각 사용자 단말(110)의 고유 식별자에 기초하여 로그 데이터를 분류할 수 있다. 또는, 맵 태스크 수행부는 키 이벤트에 기초하여 로그 데이터를 분류할 수 있다.
데이터 처리 장치(120)는 복수의 사용자 단말(110)로부터 발생된 추가 로그 데이터를 수집하고, 수집된 추가 로그 데이터의 규모를 판단하고, 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신을 생성하고, 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당할 수 있다. 또는, 데이터 처리 장치(120)는 판단된 추가 로그 데이터의 규모에 기초하여 기존 가상 머신, 기존 맵태스크 수행부 및 기존 리듀스 태스크 수행부를 삭제할 수도 있다.
데이터 처리 장치(120)는 가상 머신 및 추가 가상 머신 간을 연동시키기 위한 환경설정 파일을 생성하고, 가상 머신으로 환경설정 파일을 전송할 수 있다. 가상 머신은 환경설정 파일을 추가 가상 머신으로 전송할 수 있다. 가상 머신은 마스터(Master) 가상 머신이고, 추가 가상 머신은 슬레이브(Slave) 가상 머신일 수 있다.
데이터 처리 장치(120)는 각 사용자 단말(110)의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 각 사용자 단말(110) 별로 대응되는 맞춤형 콘텐츠 추천 서비스를 제공할 수 있다. 또한, 데이터 처리 장치(120)는 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 사용자 단말(110)의 시청 패턴을 분석할 수 있다. 또한, 데이터 처리 장치(120)는 태깅된 태그 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 고속 로그 검색 서비스를 제공할 수 있다.
데이터 처리 장치(120)는 로그 데이터 중 서비스 장애를 기반으로 발생된 로그 데이터에 대해 서비스 장애가 발생된 사용자 단말(110)의 고유 식별자에 기초하여 태깅을 수행하고, 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 서비스 장애가 발생된 사용자 단말(110) 별로 서비스 장애를 분석할 수 있다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 2를 참조하면, 사용자 단말(110)은 입력부(210), 생성부(220), 전송부(230) 및 서비스 제공부(240)를 포함할 수 있다.
입력부(210)는 키 이벤트를 입력받을 수 있다. 예를 들어, 입력부(210)는 사용자로부터 리모트 컨트롤러를 통해 키 이벤트를 입력받을 수 있다.
생성부(220)는 키 이벤트에 대한 로그 데이터를 생성할 수 있다. 예를 들어, 생성부(220)는 "Sep 8 18:37:26 Server 1 ShowWindowScenestart"와 같은 로그 데이터를 생성할 수 있다. 키 이벤트는 리모트 컨트롤러에 의해 입력된 것으로, 예를 들어, 'SessionStart', 'SessionEnd', 'ShowWindowSceneStart', 'ShowWindowSceneStop', 'HomeMenuSceneStart', 'HomeMenuSceneStop', 'VODDetailSceneStart', 'VODDetailSceneStop', 'VODStartPlay', 'VODStopPlay' 등을 포함할 수 있다.
생성부(220)는 서비스 장애가 발생된 경우, 서비스 장애를 기반으로 하여 로그 데이터를 생성할 수 있다.
전송부(230)는 생성된 로그 데이터를 데이터 처리 장치(120)로 전송할 수 있다.
서비스 제공부(240)는 데이터 처리 장치(120)에 의해 분산 병렬 처리된 로그 데이터를 기반으로 하는 미디어 서비스를 제공받을 수 있다. 예를 들어, 서비스 제공부(240)는 사용자 단말(110)의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 생성된 맞춤형 콘텐츠 추천 서비스를 제공받을 수 있다. 다른 예를 들어, 서비스 제공부(240)는 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 사용자 단말(110)의 시청 패턴을 기반으로 하는 미디어 서비스를 제공받을 수 있다.
서비스 제공부(240)는 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 서비스 장애를 기반으로 하는 미디어 서비스를 제공받을 수 있다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말에서 클라우드 기반의 데이터 처리 서비스를 제공받는 방법의 순서도이다. 도 3에 도시된 실시예에 따른 복수의 사용자 단말(110)에 의해 수행되는 클라우드 기반의 데이터 처리 서비스를 제공받는 방법은 도 1에 도시된 실시예에 따른 클라우드 기반의 데이터 처리 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 실시예에 따른 사용자 단말(110)에 의해 수행되는 클라우드 기반의 데이터 처리 서비스를 제공받는 방법에도 적용된다.
단계 S310에서 사용자 단말(110)은 키 이벤트를 입력받을 수 있다. 단계 S320에서 사용자 단말(110)은 키 이벤트에 대한 로그 데이터를 생성할 수 있다. 단계 S330에서 사용자 단말(110)은 생성된 로그 데이터를 데이터 처리 장치(120)로 전송할 수 있다. 단계 S340에서 사용자 단말(110)은 데이터 처리 장치(120)에 의해 분산 병렬 처리된 로그 데이터를 기반으로 하는 미디어 서비스를 제공받을 수 있다. 사용자 단말(110)은 사용자 단말(110)의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 사용자 단말(110)에 대응되는 맞춤형 콘텐츠 추천 서비스를 제공받을 수 있다. 또한, 사용자 단말(110)은 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 분서된 사용자 단말(110)의 시청 패턴을 기반으로 하는 미디어 서비스를 제공받을 수 있다.
도 3에서는 도시되지 않았으나, 사용자 단말(110)은 서비스 장애가 발생된 경우, 서비스 장애를 기반으로 하여 로그 데이터를 생성하는 단계를 더 포함할 수 있다. 도 3에서는 도시되지 않았으나, 사용자 단말(110)은 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 서비스 장애를 기반으로 하는 미디어 서비스를 제공받을 수 있다.
상술한 설명에서, 단계 S310 내지 S340은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 장치의 구성도이다. 도 4를 참조하면, 데이터 처리 장치(120)는 수집부(410), 태깅부(420), 작업 관리부(430), 할당부(440), 검색부(450), 서비스 제공부(460), 시청 패턴 분석부(470), 장애 분석부(480) 및 환경설정 관리부(490)를 포함할 수 있다.
수집부(410)는 복수의 사용자 단말(110)에서 발생된 로그 데이터를 수집할 수 있다. 또한, 수집부(410)는 복수의 사용자 단말(110)로부터 추가 로그 데이터를 수집할 수 있다. 로그 데이터는 키(key)와 값(value)으로 구성될 수 있다. 수집부(410)는 복수의 사용자 단말(110)로부터 예를 들어, "Sep 8 18:37:26 Server 1 ShowWindowScenestartStart"와 같이 시간/서버호스트명/키이벤트메세지/상세내역으로 구성된 로그 데이터를 수집할 수 있다. 키 이벤트 메시지는 리모트 컨트롤러를 통해 입력된 것으로, 예를 들어, 'SessionStart', 'SessionEnd', 'ShowWindowSceneStart', 'ShowWindowSceneStop', 'HomeMenuSceneStart', 'HomeMenuSceneStop', 'VODDetailSceneStart', 'VODDetailSceneStop', 'VODStartPlay', 'VODStopPlay' 등을 포함할 수 있다.
태깅부(420)는 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)할 수 있다. 기설정된 태그 식별자는 예를 들어, 사용자 단말(110)의 고유 식별자(SSID)를 포함할 수 있다.
기설정된 태그 식별자가 사용자 단말(110)의 고유 식별자(SSID)인 경우, 로그 데이터는 키(key): 사용자 단말(110)의 SSID/값(value): 키 이벤트(key event)로 구성될 수 있다. 예를 들어, 태깅부(420)는 로그 데이터를 사용자 단말(110)의 고유 식별자(SSID)에 기초하여 태깅을 수행하는 경우, "Sep 8 18:37:26 Server 1 ShowWindowScenestart"를 "Sep 8 18:37:26 TT150608274 ShowWindowScenestart"로 태깅할 수 있다.
사용자 단말(110)의 고유 식별자(SSID)에 기초하여 태깅을 수행할 경우, 로그 데이터는 고객 정보를 추가로 포함할 수 있으며, 태깅부(420)는 네임(name)과 태그(tags)로 구성된 쉬퍼(Shipper)를 설정할 수 있다. 네임(name)은 사용자 단말(110)을 식별하기 위한 고유 식별자(SSID)를 의미하며, 태그(tags)는 SSID 이외의 고객의 정보를 포함할 수 있다.
태깅부(420)는 로그 데이터 중 서비스 장애를 기반으로 발생된 로그 데이터에 대해 서비스 장애가 발생된 사용자 단말(110)의 고유 식별자에 기초하여 태깅을 수행할 수 있다. 로그 데이터 중 서비스 장애를 기반으로 발생된 로그 데이터는 별도의 알림부(미도시)를 통해 알람이 울려진 후, 별도의 태깅이 수행될 수 있다.
태깅이 완료된 로그 데이터는 데이터 분산 병렬 처리에 적합하도록 시퀀스 파일을 거쳐 벡터 데이터로 변환될 수 있다. 시퀀스 파일은 예를 들어, binary 키 및 값의 쌍으로 구성되며, 읽기, 쓰기 및 분류 작업을 위해 writer, reader, sorter 클래스를 제공할 수 있다.
작업 관리부(430)는 로그 데이터의 규모를 판단하고, 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하고, 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당할 수 있다. 예를 들어, 최초로 생성된 가상 머신은 하둡(Hadoop)의 마스터(Master) 및 슬레이브(Slaves)의 역할을 수행할 수 있는 가상 머신일 수 있으며, 작업 관리부(430)는 수집부(410)에서 수집된 로그 데이터의 조각을(Hadoop의 Block 단위 64MB) 단위로 가상 머신에 저장하고, 블록의 개수만큼 맵 태스크 수행부를 생성할 수 있다. 데이터 조각의 기본 설정은 64MB이고, 크기는 설정 파일을 통해 변경될 수 있으며, 관리자로부터 별도의 설정을 입력받지 않은 경우, 기본적으로 하둡(Hadoop)의 복제 정책(예를 들어, 데이터 복제 개수 3개 Block)을 준수할 수 있다.
작업 관리부(430)는 추가 로그 데이터의 규모를 판단하고, 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신을 생성하고, 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당할 수 있다. 또한, 데이터 처리 장치(120)는 판단된 추가 로그 데이터의 규모에 기초하여 기존 가상 머신, 기존 맵태스크 수행부 및 기존 리듀스 태스크 수행부를 삭제할 수도 있다.
예를 들어, 최초로 생성된 가상 머신의 블록 개수가 증가하면, 작업 관리부(430)는 이를 인지하여, 추가 가상 머신을 생성할 수 있다. 이 때, 추가 가상 머신은 자원 에이전트가 구동되며, 최초로 생성된 가상 머신으로부터 환경설정 파일을 수신하여 슬레이브 가상 머신으로 설정받을 수 있다. 슬레이브 가상 머신으로의 설정이 완료되면, 최초 가상 머신으로부터 로그 데이터 블록을 가져올 수 있다. 이 때, 최초 가상 머신은 마스터 및 슬레이브 역할을 수행하고, 추가 생성 가상 머신은 슬레이브 역할을 수행할 수 있다. 추가 생성 가상 머신의 개수가 증가하면, 생성할 수 있는 맵 태스크 수행부 및 리듀스 태스크 수행부의 개수가 증가하며, 로그 데이터의 분산 병렬 처리가 완료되면, 수행 결과는 최초 가상 머신에서 확인할 수 있다.
이러한 과정을 통해 분배된 데이터 경로를 가진 메타 데이터는 마스터(Master) 역할을 담당하는 최초 가상 머신에 저장된다. 예를 들어, 슬레이브(Slave) 가상 머신이 삭제된 경우, 마스터(Master) 역할의 최초 가상 머신이 메타 데이터를 보유하고 있으므로, 삭제된 슬레이브 가상 머신을 복구할 수 있다는 장점을 갖는다.
할당부(440)는 적어도 하나 이상의 맵 태스크 수행부로 로그 데이터를 할당할 수 있다. 할당부(440)는 적어도 하나 이상의 리듀스 태스크 수행부로 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당할 수 있다. 이 때, 맵 태스크 수행부 및 리듀스 태스크 수행부는 태깅된 태그 식별자에 기초하여 로그 데이터를 분산 병렬 처리할 수 있다.
예를 들어, 맵 태스크 수행부는 태깅된 태그 식별자에 기초하여 로그 데이터를 분류하고, 분류된 로그 데이터가 가지는 값에 따라 분류된 로그 데이터를 병합할 수 있다. 이 때, 태깅된 태그 식별자는 사용자 단말(110)의 고유 식별자를 포함할 수 있다. 맵 태스크 수행부는 각 사용자 단말(110)의 고유 식별자에 기초하여 로그 데이터를 분류할 수 있다. 또는, 맵 태스크 수행부는 키 이벤트에 기초하여 로그 데이터를 분류할 수 있다.
검색부(450)는 태깅된 태그 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 고속 로그 검색 서비스를 제공할 수 있다.
서비스 제공부(460)는 각 사용자 단말(110)의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 각 사용자 단말(110) 별로 대응되는 맞춤형 콘텐츠 추천 서비스를 제공받을 수 있다.
시청 패턴 분석부(470)는 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 사용자 단말(110)의 시청 패턴을 분석할 수 있다. 시청 패턴 분석부(470)는 사용자 단말(110)에서 발생된 키 이벤트에 기초하여 사용자 단말(110) 별로 리모트 컨트롤러의 키 패턴을 분석할 수 있으며, 리모트 컨트롤러의 사용 패턴을 인지하여 사용자 단말(110)의 시청 패턴을 분석할 수 있다.
장애 분석부(480)는 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 서비스 장애가 발생된 사용자 단말(110) 별로 서비스 장애를 분석할 수 있다. 예를 들어, 장애 분석부(480)는 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용함으로써, 특정 사용자 단말(110)의 기종에서 장기간에 걸쳐 서비스 장애를 발생시키는 지에 대한 분석을 수행할 수 있다.
환경설정 관리부(490)는 가상 머신 및 추가 가상 머신 간을 연동시키기 위한 환경설정 파일을 생성하고, 가상 머신으로 환경설정 파일을 전송할 수 있다. 가상 머신은 환경 설정 파일을 추가 가상 머신으로 전송할 수 있다. 가상 머신은 마스터 가상 머신이고, 추가 가상 머신은 슬레이브 가상 머신이고, 환경 설정 파일은 예를 들어, 하둡 설정 파일일 수 있다.
하둡(Hadoop) 설정 파일은 분산 처리 플랫폼을 제공하는 아파치 오픈 소스 프로젝트로서, 신뢰성과 확장성을 보장하는 환경을 제공하여 다양한 업체에 의해 사용되고 있다. 맵 태스크 수행부 및 리듀스 태스크 수행부는 하둡을 구성하는 중요 소프트웨어 프레임워크로서, 데이터 분산 환경에서 대용량 데이터의 처리를 위해 간단하고 직관적인 인터페이스를 제공하는 특징을 가지고 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치에서 키 이벤트에 기초하여 로그 데이터를 분산 병렬 처리하는 과정을 설명하기 위한 예시적인 도면이다. 도 5를 참조하면, 데이터 처리 장치(120)는 사용자 단말(110)에서 발생된 로그 데이터(500)를 수집할 수 있다.
예를 들어, 데이터 처리 장치(120)는 제 1 사용자 단말에서 발생된 로그 데이터(501) 및 제 2 사용자 단말에서 발생된 로그 데이터(502)를 수집하고, 키 이벤트에 기초하여 태깅할 수 있다. 다른 예를 들어, 데이터 처리 장치(120)는 사용자 단말(100)에서 제 1 시점에서의 로그 데이터(501) 및 제 2 시점에서의 로그 데이터(502)를 수집할 수 있다.
이하에서는, 데이터 처리 장치(120)가 사용자 단말(110)로부터 제 1 시점의 로그 데이터(501) 및 제 2 시점의 로그 데이터(502)를 수집한 것으로 가정하여 설명하도록 하겠다.
데이터 처리 장치(120)는 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 가상 머신에 할당함으로써, 맵 태스크 수행부 및 리듀스 태스크 수행부에 의해 로그 데이터(500)가 분산 병렬 처리되도록 할 수 있다.
맵 태스크 수행부는 키 이벤트에 기초하여 로그 데이터를 분류할 수 있다. 예를 들어, 맵 태스크 수행부는 제 1 시점의 로그 데이터(501)를 키 이벤트에 따라 분류함으로써, 제 1 중간 파일(511) 및 제 2 중간 파일(512)을 생성할 수 있다. 또한, 맵 태스크 수행부는 제 2 시점의 로그 데이터(502)를 키 이벤트에 따라 분류함으로써, 제 3 중간 파일(513) 및 제 4 중간 파일(514)을 생성할 수 있다. 도 5를 참고하면, 4 대의 맵 테스크 수행부가 로그 데이터(500)를 할당받아 분류함으로써, 각 맵 테스크 수행부와 대응되는 제 1 중간 파일(511), 제 2 중간 파일(512), 제 3 중간 파일(513) 및 제 4 중간 파일(514)이 생성될 수 있다.
데이터 처리 장치(120)는 맵 태스크 수행부에 의해 분류된 로그 데이터를 리듀스 태스크 수행부에 할당함으로써, 로그 데이터를 분산 병렬 처리할 수 있다.
리듀스 태스크 수행부는 분류된 로그 데이터가 가지는 값(누적 횟수)에 따라 분류된 로그 데이터를 병합할 수 있다. 예를 들어, 리듀스 태스크 수행부는 제 1 중간 파일(511) 및 제 3 중간 파일(513)에 기초하여 'SessionStart, 2'(521), 'SessionEnd, 2'(522), 'ShowWindowSceneStart, 2'(523), 'ShowWindowSceneStop, 2'(524)와 같이 로그 데이터를 누적하여 병합할 수 있다. 또한, 리듀스 태스크 수행부는 제 1 중간 파일(511) 및 제 4 중간 파일(514)에 기초하여 'HomeMenuSceneStart, 2'(525), 'HomeMenuSceneStop, 2'(526)과 같이 로그 데이터를 누적하여 병합할 수 있다. 리듀스 태스크 수행부는 제 2 중간 파일(512)의 경우, 병합할 로그 데이터가 존재하지 않으므로, 제 2 중간 파일(512)의 로그 데이터(527 내지 530)를 그대로 처리할 수 있다.
리듀스 태스크 수행부는 로그 데이터의 분산 병렬 처리가 완료되면, 최종 결과(540)를 사용자가 명시한 출력 데이터의 저장 위치에 작성하여 저장하거나, 출력 DB 파일에 삽입할 수 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 처리 장치에서 사용자 단말의 고유 식별자로 태깅된 로그 데이터를 분산 병렬 처리하는 과정을 설명하기 위한 예시적인 도면이다. 도 6을 참조하면, 데이터 처리 장치(120)는 사용자 단말(110)의 고유 식별자(SSID)에 기초하여 맵 태스크 수행부 및 리듀스 태스크 수행부를 이용하여 태깅된 로그 데이터를 분산 병렬 처리할 수 있다.
데이터 처리 장치(120)는 복수의 사용자 단말(110)에서 발생된 로그 데이터(600)를 수집하고, 각 사용자 단말(110)의 고유 식별자(SSID)에 기초하여 태깅할 수 있다. 예를 들어, 제 1 사용자 단말로부터 수집하여 태깅된 로그 데이터(601)는 'TT150608274, ShowWindowSceneStart0'과 같이 구성될 수 있다.
맵 태스크 수행부는 각 사용자의 고유 식별자에 기초하여 태깅된 로그 데이터를 분류할 수 있다. 예를 들어, 맵 태스크 수행부는 수집된 로그 데이터를 제 1 사용자 단말의 고유식별자(TT150608274, 611)에 기초하여 분류하고, 제 2 사용자 단말의 고유식별자(TT150608270, 612)에 기초하여 분류하고, 제 3 사용자 단말의 고유식별자(TT150608379, 613)에 기초하여 분류하고, 제 4 사용자 단말의 고유식별자(TT150608224, 614)에 기초하여 분류할 수 있다.
데이터 처리 장치(120)는 맵 태스크 수행부에 의해 분류된 로그 데이터를 리듀스 태스크 수행부에 할당함으로써, 로그 데이터를 분산 병렬 처리할 수 있다.
리듀스 태스크 수행부는 분류된 로그 데이터가 가지는 값에 따라 분류된 로그 데이터를 병합할 수 있다. 예를 들어, 리듀스 태스크 수행부는 로그 데이터를 제 1 사용자 단말의 고유식별자에 따라 'TT150608274 ShowWindowSceneStart0', 제 2 사용자 단말의 고유식별자에 따라 'TT150608270 ShowWindowSceneStop0', 제 3 사용자 단말의 고유식별자에 따라 'TT150608379 HomeMenuSceneStart, HomeMenuSceneStop, VODDetailscenestart, VODDetailscenestop', 제 4 사용자 단말의 고유식별자에 따라 'TT150608224VODstopplay, VODstartplay'와 같이 병합하고, 로그 데이터의 분산 병렬 처리가 완료되면, 최종 결과(620)를 사용자가 명시한 출력 데이터의 저장 위치에 작성하여 저장하거나, 출력 DB 파일에 삽입할 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 장치에서 클라우드 기반의 데이터 처리 방법의 순서도이다. 도 7에 도시된 실시예에 따른 데이터 처리 장치(120)에 의해 수행되는 데이터 처리 방법은 도 1에 도시된 실시예에 따른 클라우드 기반의 데이터 처리 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 6에 도시된 실시예에 따른 데이터 처리 장치(120)에 의해 수행되는 데이터 처리 방법에도 적용된다.
단계 S710에서 데이터 처리 장치(120)는 복수의 사용자 단말(110)에서 발생된 로그 데이터를 수집할 수 있다. 단계 S720에서 데이터 처리 장치(120)는 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)할 수 있다. 단계 S730에서 데이터 처리 장치(120)는 로그 데이터의 규모를 판단할 수 있다. 단계 S740에서 데이터 처리 장치(120)는 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성할 수 있다. 단계 S750에서 데이터 처리 장치(120)는 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당할 수 있다. 단계 S760에서 데이터 처리 장치(120)는 적어도 하나 이상의 맵 태스크 수행부로 로그 데이터를 할당하고, 적어도 하나 이상의 리듀스 태스크 수행부로 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당할 수 있다. 단계 S770에서 데이터 처리 장치(120)는 태깅된 태그 식별자에 기초하여 로그 데이터를 분산 병렬 처리할 수 있다.
도 7에서는 도시되지 않았으나, 데이터 처리 장치(120)는 복수의 사용자 단말(110)로부터 추가 로그 데이터를 수집하는 단계, 추가 로그 데이터의 규모를 판단하는 단계, 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신을 생성하는 단계 및 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 단계를 더 포함할 수 있다. 데이터 처리 장치(120)는 추가 가상 머신의 생성뿐만 아니라, 기존 가상 머신, 기존 맵 태스크 수행부 및 리듀스 태스크 수행부에 대한 삭제를 수행할 수도 있다.
도 1 내지 도7을 통해 설명된 클라우드 기반의 데이터 처리 방법은 영상을 공유하여 다자간 커뮤니케이션을 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도7을 통해 설명된 클라우드 기반의 데이터 처리 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 사용자 단말
120: 데이터 처리 장치
210: 입력부
220: 생성부
230: 전송부
240: 서비스 제공부
410: 수집부
420: 태깅부
430: 작업 관리부
440: 할당부
450: 검색부
460: 서비스 제공부
470: 시청 패턴 분석부
480: 장애 분석부
490: 환경설정 관리부

Claims (20)

  1. 클라우드 기반의 데이터 처리 장치에 있어서,
    복수의 사용자 단말에서 발생된 로그 데이터를 수집하는 수집부
    상기 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)하는 태깅부;
    상기 로그 데이터의 규모를 판단하고, 상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하고, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 작업 관리부; 및
    상기 적어도 하나 이상의 맵 태스크 수행부로 상기 로그 데이터를 할당하고, 상기 적어도 하나 이상의 리듀스 태스크 수행부로 상기 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당하는 할당부를 포함하고,
    상기 맵 태스크 수행부 및 상기 리듀스 태스크 수행부는 상기 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하도록 구성되는 것이되,
    상기 수집부는 상기 복수의 사용자 단말로부터 추가 로그 데이터를 수집하고,
    상기 작업 관리부는 상기 추가 로그 데이터의 규모를 판단하고, 상기 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신을 생성하고, 상기 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하도록 구성되고,
    상기 생성된 추가 가상 머신은 상기 가상 머신과 연동되는 것인, 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 맵 태스크 수행부는 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분류하고,
    상기 리듀스 태스크 수행부는 상기 분류된 로그 데이터가 가지는 값에 따라 상기 분류된 로그 데이터를 병합하도록 구성되는 것인, 데이터 처리 장치.
  3. 제 2 항에 있어서,
    상기 태그 식별자는 상기 사용자 단말의 고유 식별자를 포함하고,
    상기 맵 태스크 수행부는 상기 각 사용자 단말의 고유 식별자에 기초하여 상기 로그 데이터를 분류하는 것인, 데이터 처리 장치.
  4. 제 3 항에 있어서,
    상기 각 사용자 단말의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 상기 각 사용자 단말 별로 대응되는 맞춤형 콘텐츠 추천 서비스를 제공하는 서비스 제공부
    를 더 포함하는 것인, 데이터 처리 장치.
  5. 제 1 항에 있어서,
    상기 로그 데이터는 키 이벤트를 포함하고,
    상기 맵 태스크 수행부는 상기 키 이벤트에 기초하여 상기 로그 데이터를 분류하는 것인, 데이터 처리 장치.
  6. 제 5 항에 있어서,
    상기 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 사용자 단말의 시청 패턴을 분석하는 시청 패턴 분석부
    를 더 포함하는 것인, 데이터 처리 장치.
  7. 제 2 항에 있어서,
    상기 태깅된 태그 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 고속 로그 검색 서비스를 제공하는 검색부
    를 더 포함하는 것인, 데이터 처리 장치.
  8. 제 1 항에 있어서,
    상기 태깅부는 상기 로그 데이터 중 서비스 장애를 기반으로 발생된 로그 데이터에 대해 상기 서비스 장애가 발생된 사용자 단말의 고유 식별자에 기초하여 태깅을 수행하도록 구성되는 것인, 데이터 처리 장치.
  9. 제 8 항에 있어서,
    상기 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 상기 서비스 장애가 발생된 사용자 단말 별로 서비스 장애를 분석하는 장애 분석부
    를 더 포함하는 것인, 데이터 처리 장치.
  10. 삭제
  11. 제 1 항에 있어서,
    상기 가상 머신 및 상기 추가 가상 머신 간을 연동시키기 위한 환경설정 파일을 생성하고, 상기 가상 머신으로 상기 환경설정 파일을 전송하는 환경설정 관리부를 더 포함하고,
    상기 가상 머신은 상기 환경설정 파일을 상기 추가 가상 머신으로 전송하도록 구성되는 것인, 데이터 처리 장치.
  12. 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말에 있어서,
    키 이벤트를 입력받는 입력부;
    상기 키 이벤트에 대한 로그 데이터를 생성하는 생성부;
    상기 생성된 로그 데이터를 데이터 처리 장치로 전송하는 전송부; 및
    상기 데이터 처리 장치에 의해 분산 병렬 처리된 상기 로그 데이터를 기반으로 하는 미디어 서비스를 제공받는 서비스 제공부
    를 포함하고,
    상기 전송된 로그 데이터는 상기 데이터 처리 장치에 의해 설정된 태그 식별자에 기초하여 태깅(tagging)되고, 상기 로그 데이터의 규모가 판단되고,
    상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신이 생성되고, 상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부가 생성되어 할당되고,
    상기 맵 태스크 수행부 및 상기 리듀스 태스크 수행부는 상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하도록 구성되는 것이되,
    상기 생성부는 상기 키 이벤트에 대한 추가 로그 데이터를 생성하고,
    상기 전송부는 상기 생성된 추가 로그 데이터를 상기 데이터 처리 장치로 전송하고,
    상기 추가 로그 데이터는 상기 데이터 처리 장치에 의해 상기 추가 로그 데이터의 규모가 판단되고,
    상기 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신이 생성되고, 상기 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부가 생성되어 할당되고,
    상기 생성된 추가 가상 머신은 상기 가상 머신과 연동되는 것인, 사용자 단말.
  13. 제 12 항에 있어서,
    기설정된 태그 식별자는 상기 사용자 단말의 고유 식별자를 포함하고,
    상기 로그 데이터는 상기 사용자 단말의 고유 식별자에 기초하여 태깅되고,
    상기 맵 태스크 수행부는 상기 사용자 단말의 고유 식별자에 기초하여 상기 로그 데이터를 분류하는 것인, 사용자 단말.
  14. 제 13 항에 있어서,
    상기 서비스 제공부는 상기 사용자 단말의 고유 식별자에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 상기 사용자 단말에 대응되는 맞춤형 콘텐츠 추천 서비스를 제공받도록 구성되는 것인, 사용자 단말.
  15. 제 12 항에 있어서,
    상기 로그 데이터는 키 이벤트를 포함하고,
    상기 맵 태스크 수행부는 상기 키 이벤트에 기초하여 상기 로그 데이터를 분류하는 것인, 사용자 단말.
  16. 제 15 항에 있어서,
    상기 서비스 제공부는 상기 키 이벤트에 기초하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 상기 사용자 단말의 시청 패턴을 기반으로 하는 미디어 서비스를 제공받는 것인, 사용자 단말.
  17. 제 12 항에 있어서,
    상기 생성부는 서비스 장애가 발생된 경우, 상기 서비스 장애를 기반으로 하여 로그 데이터를 생성하고,
    상기 서비스 장애를 기반으로 발생된 로그 데이터는 상기 서비스 장애가 발생된 사용자 단말의 고유 식별자에 기초하여 태깅이 수행되는 것인, 사용자 단말.
  18. 제 17 항에 있어서,
    상기 서비스 제공부는 상기 서비스 장애와 관련하여 분산 병렬 처리된 로그 데이터를 이용하여 분석된 서비스 장애를 기반으로 하는 미디어 서비스를 제공받는 것인, 사용자 단말.
  19. 클라우드 기반의 데이터를 처리하는 방법에 있어서,
    복수의 사용자 단말에서 발생된 로그 데이터를 수집하는 단계;
    상기 수집된 로그 데이터를 기설정된 태그 식별자에 기초하여 태깅(tagging)하는 단계;
    상기 로그 데이터의 규모를 판단하는 단계;
    상기 판단된 로그 데이터의 규모에 기초하여 적어도 하나 이상의 가상 머신을 생성하는 단계;
    상기 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 단계;
    상기 적어도 하나 이상의 맵 태스크 수행부로 상기 로그 데이터를 할당하고, 상기 적어도 하나 이상의 리듀스 태스크 수행부로 상기 맵 태스크 수행부에 의해 처리된 로그 데이터를 할당하는 단계; 및
    상기 태깅된 태그 식별자에 기초하여 상기 로그 데이터를 분산 병렬 처리하는 단계
    를 포함하는 것이되,
    상기 복수의 사용자 단말로부터 추가 로그 데이터를 수집하는 단계;
    상기 추가 로그 데이터의 규모를 판단하는 단계;
    상기 판단된 추가 로그 데이터의 규모에 기초하여 적어도 하나 이상의 추가 가상 머신을 생성하는 단계; 및
    상기 추가 가상 머신에 적어도 하나 이상의 맵 태스크 수행부 및 리듀스 태스크 수행부를 생성하여 할당하는 단계를 더 포함하고,
    상기 생성된 추가 가상 머신은 상기 가상 머신과 연동되는 것인, 데이터 처리 방법.
  20. 삭제
KR1020160084936A 2016-07-05 2016-07-05 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말 KR102128389B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160084936A KR102128389B1 (ko) 2016-07-05 2016-07-05 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160084936A KR102128389B1 (ko) 2016-07-05 2016-07-05 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말

Publications (2)

Publication Number Publication Date
KR20180005042A KR20180005042A (ko) 2018-01-15
KR102128389B1 true KR102128389B1 (ko) 2020-07-09

Family

ID=61001478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160084936A KR102128389B1 (ko) 2016-07-05 2016-07-05 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말

Country Status (1)

Country Link
KR (1) KR102128389B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931198B1 (ko) * 2007-12-10 2009-12-10 에스케이 텔레콤주식회사 리치 미디어 이용 패턴 분석 방법 및 시스템
US20150134699A1 (en) 2013-11-11 2015-05-14 International Business Machines Corporation Data movement from a database to a distributed file system
US20150262268A1 (en) 2009-08-31 2015-09-17 Vivek Padmanabhan Incremental computation of billing percentile values in a cloud based application acceleration as a service environment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101646019B1 (ko) * 2010-07-20 2016-08-05 에스케이텔레콤 주식회사 Ims 기반 장애분석 서비스 제공 장치, 시스템 및 그 방법
KR20140031429A (ko) * 2012-08-28 2014-03-13 에스케이플래닛 주식회사 아이템 추천 시스템과 방법 및 이를 지원하는 장치
KR101908313B1 (ko) * 2012-10-25 2018-10-16 에스케이텔레콤 주식회사 대용량 데이터 운용 시스템 및 방법과, 이를 지원하는 장치
KR101518804B1 (ko) * 2013-06-24 2015-05-11 삼성전자주식회사 의료 데이터 관리 방법 및 장치
KR101656360B1 (ko) * 2015-02-12 2016-09-22 소프트온넷(주) 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931198B1 (ko) * 2007-12-10 2009-12-10 에스케이 텔레콤주식회사 리치 미디어 이용 패턴 분석 방법 및 시스템
US20150262268A1 (en) 2009-08-31 2015-09-17 Vivek Padmanabhan Incremental computation of billing percentile values in a cloud based application acceleration as a service environment
US20150134699A1 (en) 2013-11-11 2015-05-14 International Business Machines Corporation Data movement from a database to a distributed file system

Also Published As

Publication number Publication date
KR20180005042A (ko) 2018-01-15

Similar Documents

Publication Publication Date Title
US11243704B2 (en) Data pipeline architecture for analytics processing stack
US10560465B2 (en) Real time anomaly detection for data streams
US9838483B2 (en) Methods, systems, and computer readable media for a network function virtualization information concentrator
EP3668009B1 (en) Network service lifecycle management method and device
CN107291928B (zh) 一种日志存储系统和方法
US10491453B2 (en) Correlating computing network events
CN110928851B (zh) 处理日志信息的方法、装置、设备及存储介质
CN108289034B (zh) 一种故障发现方法和装置
US10944655B2 (en) Data verification based upgrades in time series system
US9256828B2 (en) Alarm correlation analysis method, apparatus and system
CN110990473A (zh) 标签数据处理系统和方法
CN110928853A (zh) 一种标识日志的方法和装置
KR20180037342A (ko) 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
US20120072589A1 (en) Information Processing Apparatus and Method of Operating the Same
US10009220B2 (en) In-vehicle information system and information processing method thereof
CN112883011A (zh) 实时数据处理方法和装置
CN117608825A (zh) 基于多云管理平台的资源管理方法和相关设备
CN113821254A (zh) 接口数据处理方法、装置、存储介质及设备
WO2021097713A1 (zh) 分布式安全检测系统、方法、设备及存储介质
KR102128389B1 (ko) 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말
KR101505468B1 (ko) 클라우드 컴퓨팅 환경 내 데이터 비교 처리 방법 및 시스템
Manujakshi et al. SDaaS: framework of sensor data as a service for leveraging services in Internet of Things
CN110928679A (zh) 一种资源分配方法及装置
CN117376344B (zh) 数据传输方法、电子设备和计算机可读存储介质
Kandan et al. CLOF: A proposed containerized log management orchestration framework

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant