KR20160071025A - 컨텐츠 제공 방법 및 시스템 - Google Patents

컨텐츠 제공 방법 및 시스템 Download PDF

Info

Publication number
KR20160071025A
KR20160071025A KR1020140178202A KR20140178202A KR20160071025A KR 20160071025 A KR20160071025 A KR 20160071025A KR 1020140178202 A KR1020140178202 A KR 1020140178202A KR 20140178202 A KR20140178202 A KR 20140178202A KR 20160071025 A KR20160071025 A KR 20160071025A
Authority
KR
South Korea
Prior art keywords
node
server
data
content
name
Prior art date
Application number
KR1020140178202A
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 KR1020140178202A priority Critical patent/KR20160071025A/ko
Publication of KR20160071025A publication Critical patent/KR20160071025A/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

트래커(Tracker) 서버에서 하둡(Hadoop) 기반 컨텐츠 전달 서비스를 제공하는 방법은 컨텐츠 제공 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받는 단계, 알토(ALTO: Application-Layer Traffic Optimization) 서버에 상기 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하는 단계, 상기 알토 서버로부터 상기 네임 노드에 대한 문의를 응답받는 단계, 상기 네임 노드에 상기 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청하는 단계, 상기 네임 노드로부터 상기 데이터 노드에 대한 리스트를 수신하는 단계 및 상기 데이터 노드에 대한 리스트를 상기 컨텐츠 제공 서버로 전송하는 단계를 포함한다.

Description

컨텐츠 제공 방법 및 시스템{CONTENTS PROVISION METHOD AND SYSTEM}
본 발명은 컨텐츠 제공 방법 및 시스템에 관한 것이다.
하둡(Hadoop)이란, 저가 서버와 하드디스크를 이용하여 대용량 데이터를 상대적으로 쉽게 활용, 처리할 수 있는 분산파일 시스템을 말한다. 하둡은 수천대의 분산된 장비에 대용량 파일을 저장할 수 있는 기능을 제공하는 분산파일 시스템과, 저장된 파일 데이터를 분산된 서버의 CPU와 메모리 자원을 이용해 쉽고 빠르게 분석할 수 있는 컴퓨팅 플랫폼인 맵 리듀스로 구성되어 있다.
이를 이용하여 대개 전통적인 데이터베이스나 시스템 환경에서 처리하기 힘든 대용량 데이터를 저장, 분석, 처리해 가치있는 정보로 만들어내는 일련의 과정을 의미하는 빅데이터를 처리할 수 있다.
이와 관련하여, 한국공개특허 제2012-0114483호는 데이터 요청정보를 수신하여 노드 정보를 포함하고 있는지에 대한 여부를 확인한 후, 노드 정보가 있으면 해당 노드가 구비된 하드웨어에, 노드 정보가 없으면 임의의 하드웨어에 데이터 요청정보를 전송하고, 다수의 하드웨어들의 노드에 저장된 데이터 정보를 관리하는 하둡 파일 시스템에 대해 개시하고 있다.
한국공개특허 제2012-0114483호
하둡 기반 컨텐츠 전달 서비스를 제공함으로써, 단일 네임 노드만을 포함함으로써 하나의 클러스트로 구성되는 기존의 하둡 시스템과 달리 복수의 네임 노드를 포함하는 멀티 하둡 시스템을 구축하여 대량의 데이터 노드를 이용할 수 있고, 이로 인해 트래픽을 최소화하고 대용량 컨텐츠를 효율적으로 전송할 수 있는 컨텐츠 제공 방법 및 시스템을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 컨텐츠 제공 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받는 단계, 알토(ALTO: Application-Layer Traffic Optimization) 서버에 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하는 단계, 알토 서버로부터 네임 노드에 대한 문의를 응답받는 단계, 네임 노드에 상기 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청하는 단계, 네임 노드로부터 데이터 노드에 대한 리스트를 수신하는 단계 및 데이터 노드에 대한 리스트를 상기 컨텐츠 제공 서버로 전송하는 단계를 포함하는 컨텐츠 제공 방법을 제공할 수 있다.
또한, 본 발명의 다른 실시예는, 사용자 서버로부터 지정된 컨텐츠가 존재하는 데이터 노드에 대한 문의를 요청받는 단계, 알토 서버에 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하는 단계, 알토 서버로부터 네임 노드에 대한 문의를 응답받는 단계, 네임 노드에 컨텐츠가 존재하는 데이터 노드에 대한 문의를 요청하는 단계, 네임 노드로부터 데이터 노드에 대한 리스트를 수신하는 단계 및 데이터 노드에 대한 리스트를 사용자 서버로 전송하는 단계를 포함하는 컨텐츠 제공 방법을 제공할 수 있다.
또한, 본 발명의 또 다른 실시예는, 트래커 서버, 알토 서버 및 네임 노드를 포함하는 하둡 기반 컨텐츠 제공 시스템을 제공할 수 있다. 트래커 서버는, 컨텐츠 제공 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받고, 알토 서버에 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하고, 알토 서버로부터 네임 노드에 대한 문의를 응답받고, 네임 노드에 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청하고, 네임 노드로부터 데이터 노드에 대한 리스트를 수신하고, 데이터 노드에 대한 리스트를 컨텐츠 제공 서버로 전송하도록 구성된다. 알토 서버는, 트래커 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받고, 트래커 서버에 데이터 노드에 대한 문의를 응답하도록 구성되된다. 네임 노드는, 트래커 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받고, 트래커 서버에 데이터 노드에 대한 리스트를 전송하도록 구성된다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
하둡 기반 컨텐츠 전달 서비스를 제공함으로써, 단일 네임 노드만을 포함함으로써 하나의 클러스트로 구성되는 기존의 하둡 시스템과 달리 복수의 네임 노드를 포함하는 멀티 하둡 시스템을 구축하여 대량의 데이터 노드를 이용할 수 있고, 이로 인해 트래픽을 최소화하고 대용량 컨텐츠를 효율적으로 전송할 수 있는 컨텐츠 제공 방법 및 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠를 제공하는 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠를 저장하는 방법의 신호 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠를 읽는 방법의 신호 흐름도이다.
도 4는 종래 기술에 따른 하둡 파일 분산 시스템의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 컨텐츠를 제공하는 시스템을 나타낸 예시적인 구성도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠를 제공하는 시스템에 대해 나타낸 구성도이다.
도 1을 참조하면, 컨텐츠 제공 시스템(1)은 트래커(Tracker) 서버(100)와 알토(ALTO: Application-Layer Traffic Optimization) 서버(110) 간 상호 소통에 기초하여 대용량 컨텐츠를 효율적으로 전송하기 위한 시스템으로서, 트래커 서버(100), 알토 서버(110), 네임 노드(Name Node)(120), 데이터 노드(Date Node)(130), 컨텐츠 제공 서버(140) 및 사용자 서버(150)를 포함할 수 있다. 도 1에 도시된 트래커 서버(100), 알토 서버(110), 네임 노드(120), 데이터 노드(130), 컨텐츠 제공 서버(140) 및 사용자 서버(150)는 컨텐츠 제공 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 컨텐츠 제공 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 트래커 서버(100)는 네트워크를 통하여 알토 서버(110)와 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE 등이 포함되나 이에 한정되지는 않는다.
하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)으로서의 컨텐츠 제공 시스템(1)은, 파일을 저장할 때 블록 단위로 읽기(read) 또를 쓰기(write)를 수행할 수 있다. 하나의 파일이 물리적인 저장소에 저장될 때에도 블록 단위로 분할하여 저장될 수 있다. 컨텐스 제공 시스템(1)에서의 블록 사이즈는 예를 들어 64MB로 설정되어 있고, 블록의 크기를 변경하기 위해서는 환경설정을 통하여 변경될 수 있다.
컨텐스 제공 시스템(1)은 클라이언트(Client), 마스터 노드(Master Node) 및 슬레이브 노드(Slave Node)를 포함할 수 있다.
클라이언트는 컨텐츠 제공 서버(140) 및 사용자 서버(150)를 포함할 수 있다. 클라이언트는 파일을 디스크에 저장하거나 읽기 위해 마스터 노드에 데이터 노드에 대한 문의를 요청할 수 있다.
마스터 노드는 트래커 서버(100), 알토 서버(110) 및 네임 노드(120)를 포함할 수 있다. 마스터 노드는 대량의 데이터를 컨텐스 제공 시스템(1)에 저장하고 데이터 집합에 대한 쿼리를 입력받아, 분할한 후, 여러 개의 노드에서 병렬로 처리할 수 있는 맵 리듀스(Map Reduce)를 통해 병령 계산을 수행하는 기능을 담당하도록 구성될 수 있다.
예를 들어, 트래커 서버(100) 및 알토 서버(110)는 맵과 리듀스를 사용하여 데이터의 병렬 처리를 관리하고 조정하는 동안, 네임 노드(120)는 컨텐츠 제공 시스템(1)의 데이터 저장 기능을 관리하고 조정할 수 있다.
맵 리듀스는 대용량의 빅데이터를 빠르고 안전하게 처리 및 분석하기 위한 분산 프로그래밍 모델로서, 빅데이터에 대한 로그 분석, 색인 구축 및 검색에서 뛰어난 능력을 보여준다. 따라서, 맵 리듀스를 이용하여 컨텐스 제공 시스템(1)에 저장된 대용량의 데이터를 각각의 종류 별로 정리하고 필터링(Filtering)과 소팅(Sorting)을 거쳐, 데이터를 분산 처리할 수 있다.
슬레이브 노드는 데이터 노드(130)로서, 컨텐스 제공 시스템(1)의 대부분을 구성하고, 데이터를 저장하고 이에 대한 연산을 수행하여 세부적인 일을 담당하도록 구성될 수 있다. 각 슬레이브는 서로 간에 통신하고, 마스터 노드의 지시를 받기 위해 일반적으로 데몬을 실행할 수 있다.
트래커 서버(100)는 컨텐츠 제공 서버(140)로부터 해당 컨텐츠를 저장할 수 있는 장소로서 데이터 노드에 대한 문의를 요청받고, 알토 서버(110)와의 상호 소통을 통하여 이에 대해 응답을 하도록 구성될 수 있다.
구체적으로, 트래커 서버(100)는 컨텐츠 제공 서버(140)로부터 해당 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 요청받고, 알토 서버(110)에 데이터 노드(130)를 관리하는 네임 노드(120)에 대한 문의를 요청하고, 알토 서버(110)로부터 네임 노드(120)에 대한 문의를 응답받고, 네임 노드(120)에 해당 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 요청하고, 네임 노드(120)로부터 데이터 노드(130)에 대한 리스트를 수신하고, 데이터 노드(130)에 대한 리스트를 컨텐츠 제공 서버(140)로 전송할 수 있다.
트래커 서버(100)는 사용자 서버(150)로부터 해당 컨텐츠를 읽을 수 있는 장소로서 데이터 노드에 대한 문의를 요청받고, 알토 서버(110)와의 상호 소통을 통하여 이에 대해 응답을 하도록 구성될 수 있다.
구체적으로, 트래커 서버(100)는 사용자 서버(150)로부터 해당 컨텐츠를 읽기 위해 해당 컨텐츠가 존재하는 데이터 노드(130)에 대한 문의를 요청받고, 알토 서버(110)에 데이터 노드(130)를 관리하는 네임 노드(120)에 대한 문의를 요청하고, 알토 서버(110)로부터 네임 노드(120)에 대한 문의를 응답받고, 네임 노드(120)에 해당 컨텐츠가 존재하는 데이터 노드(130)에 대한 문의를 요청하고, 네임 노드(120)로부터 데이터 노드(130)에 대한 리스트를 수신하고, 데이터 노드(130)에 대한 리스트를 사용자 서버(150)로 전송할 수 있다.
알토 서버(110)는 트래서 서버(100)로부터 해당 컨텐츠를 저장 또는 읽을 수 있는 장소로서 데이터 노드(130)를 관리하는 네임 노드(120)에 대한 문의를 요청받도록 구성될 수 있다.
또한, 알토 서버(110)는 네임 노드(120)에 대한 문의에 대해 기설정된 알고리즘에 기초하여 복수의 네임 노드(120) 중 하나를 선정하고, 선정된 네임 노드(120)를 트래커 서버(100)에 전달하도록 구성될 수 있다.
예를 들어, 알토 서버(110)는 RAMDOM, Fine Grainged, Generic Weight, Coarse Grained 등의 알고리즘에 기초하여 복수의 네임 노드(120) 중 하나를 선정하고, 선정된 네임 노드(120)를 문의에 대한 응답으로서 트래커 서버(100)에 전달할 수 있다.
네임 노드(120)는 복수 개로 구성되고, 컨텐츠 및 디렉토리에 대한 메타 데이터 정보를 저장하는 역할로서, 복수의 데이터 노드(130)를 관리하도록 구성될 수 있다. 이 때, 메타 데이터는 디렉토리의 구조, 컨텐츠에 대한 정보 및 컨텐츠가 저장되어 있는 물리적인 위치 등을 포함할 수 있다.
네임 노드(120)는 트래서 서버(100)로부터 해당 컨텐츠를 저장 또는 읽을 수 있는 장소로서 데이터 노드(130)에 대한 문의를 요청받도록 구성될 수 있다. 또한 네임 노드(120)는 데이터 노드(130)에 대한 문의에 대해 복수의 데이터 노드(130) 중 적어도 하나 이상을 선정하고, 선정된 데이터 노드(130)를 트래커 서버(100)에 전달함으로써 데이터에 대한 접근을 조정하도록 구성될 수 있다.
예를 들어, 네임 노드(120)는 트래커 서버(100)로부터 해당 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 요청받고, 우선 순위에 기초하여 적어도 하나 이상의 데이터 노드(130)를 선정하고, 선정된 데이터 노드(130)가 포함된 데이터 노드(130)에 대한 리스트를 트래커 서버(100)에 전송할 수 있다.
다른 예를 들어, 네임 노드(120)는 트래커 서버(100)로부터 해당 컨텐츠를 읽기 위해 해당 컨텐츠가 존재하는 데이터 노드(130)에 대한 문의를 요청받고, 해당 컨텐츠가 존재하는 적어도 하나 이상의 데이터 노드(130)를 선정하고, 선정된 데이터 노드(130)가 포함된 데이터 노드(130)에 대한 리스트를 트래커 서버(100)에 전송할 수 있다.
데이터 노드(130)는 복수 개로 구성되고 요청한 컨텐츠를 읽거나 저장하는 역할로서 네임 노드(120)의 지시에 따라 블록을 생성, 삭제 및 복제 작업을 수행하도록 구성될 수 있다. 예를 들어, 데이터 노드(130)는 전국에 산재하여 분포된 셋톱박스일 수 있으나 이제 한정되지 않는다.
컨텐츠 제공 서버(140)는 미디어 컨텐츠 서비스를 제공하는 클라이언트로서, 트랙커 서버(100)에 해당 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 요청하고, 이에 대한 응답으로 데이터 노드(130)에 대한 리스트를 수신하고, 해당 컨텐츠를 리스트에 포함된 데이터 노드(130)에 저장하도록 구성될 수 있다.
사용자 서버(150)는 미디어 컨텐츠를 소비하기 원하는 클라이언트로서, 트랙커 서버(100)에 해당 컨텐츠를 읽기 위해 해당 컨텐츠가 존재하는 데이터 노드(130)에 대한 문의를 요청하고, 이에 대한 응답으로 데이터 노드(130)에 대한 리스트를 수신하고, 해당 컨텐츠를 리스트에 포함된 데이터 노드(130)에서 읽도록 구성될 수 있다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠를 저장하는 방법에 대해 나타낸 신호 흐름도이다.
단계 S200에서 컨텐츠 제공 서버(140)는 해당 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 트래커 서버(100)에 요청한다. 단계 S210에서 트래커 서버(100)는 데이터 노드(130)를 관리하는 네임 노드(120)에 대한 문의를 알토 서버(110)에 요청한다. 단계 S220에서 알토 서버(110)는 네임 노드에 대한 문의를 트래커 서버(100)에 응답한다.
단계 S230에서 트래커 서버(100)는 컨텐츠를 저장할 데이터 노드(130)에 대한 문의를 네임 노드(120)에 요청한다. 단계 S240에서 네임 노드(120)는 데이터 노드(130)에 대한 리스트를 트래커 서버(100)로 전송한다.
단계 S250에서 트래커 서버(100)는 데이터 노드에 대한 리스트를 컨텐츠 제공 서버(140)에 전송한다. 단계 S260에서 컨텐츠 제공 서버(140)는 해당 컨텐츠를 데이터 로드(130)에 저장한다.
상술한 설명에서, 단계 S200 내지 S260은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠를 읽는 방법에 대해 나타낸 신호 흐름도이다.
단계 S300에서 사용자 서버(100)는 해당 컨텐츠를 읽기 위해 해당 컨텐츠가 존재하는 데이터 노드에 대한 문의를 트래커 서버(100)에 요청한다. 단계 S310에서 트래커 서버(100)는 데이터 노드(130)를 관리하는 네임 노드(120)에 대한 문의를 알토 서버(110)에 요청한다. 단계 S320에서 알토 서버(110)는 네임 노드(120)에 대한 문의를 트래커 서버(100)에 응답한다.
단계 S330에서 트래커 서버(100)는 해당 컨텐츠가 존재하는 데이터 노드(130)에 대한 문의를 네임 노드(120)에 요청한다. 단계 S340에서 네임 노드(120)는 데이터 노드(130)에 대한 리스트를 트래커 서버(100)에 전송한다.
단계 S350에서 트래커 서버(100)는 데이터 노드(130)에 대한 리스트를 사용자 서버(150)에 전송한다. 단계 S360에서 사용자 서버(150)는 해당 컨텐츠를 데이터 노드(130)로부터 읽는다.
상술한 설명에서, 단계 S300 내지 S360은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
종래 기술에 따른 하둡 분산 파일 시스템에 의하면, 도 4가 도시하는 바와 같이, 예를 들어, 1) 클라이언트가 파일을 디스크에 저장하기 위해 단일 네임 노드로 요청하고, 2) 클라이언트가 쓰기 권한이 있는 경우, 단일 네임 노드에서 블록을 저장할 데이터 노드에 대한 정보를 클라이언트에게 제공하고, 3) 클라이언트는 블록들을 지정된 데이터 노드에 저장할 수 있었다. 즉, 종래 기술은 단일 네임 노드만을 포함함으로써 하나의 클러스트로 구성되는 하둡 분산 파일 시스템을 의미하였다.
또한, 기존의 하둡 분산 파일 시스템에 의하면, 네트워크 상에서 지역적으로 산재되어 존재하는 대량의 셋톱박스를 하둡의 데이터 노드로 사용하는 경우, 단일 노드를 포함하는 단일 클러스터로 구성되기 때문에 대량의 네트워크 부하가 발생하게 된다.
반면에, 본원 발명에 따른 컨텐츠 제공 시스템에 의하면, 도 5가 도시하는 바와 같이, 예를 들어, 1)클라이언트가 파일을 저장하기 위해 트래커 서버로 요청하고, 2) 트래커 서버는 알토 서버로 네임 노드에 대한 문의를 요청하고, 3) 알토 서버(110)는 복수의 네임 노드 중 하나를 선별하여 트래커 서버에 응답하고, 4) 트래커 서버는 선별된 네임 노드에 파일을 저장할 데이터 노드에 대한 문의를 요청하고, 5) 네임 노드는 선별된 데이터 노드에 대한 리스트를 트래커 서버에 제공하고, 6) 트래커 서버는 해당 리스트를 클라이언트에게 제공하고 7) 클라이언트는 해당 데이터 노드에 저장할 수 있다.
즉, 본원 발명은 종래 기술과 달리 단일 네임 노드가 아닌 복수의 네임 노드로 구성되어, 종래 기술보다 더 대량의 데이터 노드를 관리할 수 있다. 본원 발명은 이러한 복수의 네임 노드를 구성 및 관리하기 위하여 종래 기술과 달리 알토 서버(110)를 포함할 수 있다.
또한, 본원 발명은 복수의 네임 노드를 갖는 멀티 하둡 시스템으로서 대량의 셋톱박스를 하둡의 데이터 노드로 사용하는 경우라도 트래커 서버와 알토 서버의 상호 소통으로써 효율적으로 시스템을 구축하는 것이 가능하다는 점에서 종래 기술과 구별되는 우수한 효과를 가지고 있다.
도 1을 통해 컨텐츠 제공 시스템은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1을 통해 컨텐츠 제공 시스템은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 트래커 서버
110: 알토 서버
120: 네임 노드
130: 데이터 노드
140: 컨텐츠 제공 서버
150: 사용자 서버

Claims (12)

  1. 트래커(Tracker) 서버에서 하둡(Hadoop) 기반 컨텐츠 전달 서비스를 제공하는 방법에 있어서,
    컨텐츠 제공 서버로부터 컨텐츠를 저장할 데이터 노드에 대한 문의를 요청받는 단계;
    알토(ALTO: Application-Layer Traffic Optimization) 서버에 상기 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하는 단계;
    상기 알토 서버로부터 상기 네임 노드에 대한 문의를 응답받는 단계;
    상기 네임 노드에 상기 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청하는 단계;
    상기 네임 노드로부터 상기 데이터 노드에 대한 리스트를 수신하는 단계; 및
    상기 데이터 노드에 대한 리스트를 상기 컨텐츠 제공 서버로 전송하는 단계
    를 포함하는, 컨텐츠 제공 방법.
  2. 제 1 항에 있어서,
    상기 알토 서버는,
    기설정된 알고리즘에 기초하여 복수의 네임 노드 중 하나를 선정하고,
    상기 선정된 네임 노드를 상기 문의에 대한 응답으로서 상기 트래커 서버에 전달하도록 구성되는 것인, 컨텐츠 제공 방법.
  3. 제 1 항에 있어서,
    상기 네임 노드는,
    복수의 데이터 노드를 관리하고,
    우선 순위에 기초하여 적어도 하나 이상의 데이터 노드를 선정하도록 구성되고,
    상기 데이터 노드에 대한 리스트는 상기 선정된 데이터 노드를 포함하는 것인, 컨텐츠 제공 방법.
  4. 제 1 항에 있어서,
    상기 컨텐츠 제공 서버는,
    상기 데이터 노드에 대한 리스트에 기초하여 상기 컨텐츠를 저장하도록 구성되는 것인, 컨텐츠 제공 방법.
  5. 하둡 기반 컨텐츠를 전송하는 방법에 있어서,
    사용자 서버로부터 지정된 컨텐츠가 존재하는 데이터 노드에 대한 문의를 요청받는 단계;
    알토 서버에 상기 데이터 노드를 관리하는 네임 노드에 대한 문의를 요청하는 단계;
    상기 알토 서버로부터 상기 네임 노드에 대한 문의를 응답받는 단계;
    상기 네임 노드에 상기 컨텐츠가 존재하는 상기 데이터 노드에 대한 문의를 요청하는 단계;
    상기 네임 노드로부터 상기 데이터 노드에 대한 리스트를 수신하는 단계; 및
    상기 데이터 노드에 대한 리스트를 상기 사용자 서버로 전송하는 단계
    를 포함하는, 컨텐츠 제공 방법.
  6. 제 5 항에 있어서,
    상기 알토 서버는,
    기설정된 알고리즘에 기초하여 복수의 네임 노드 중 하나를 선정하고,
    상기 선정된 네임 노드를 상기 문의에 대한 응답으로서 상기 트래커 서버에 전달하도록 구성되는 것인, 컨텐츠 제공 방법.
  7. 제 5 항에 있어서,
    상기 네임 노드는,
    복수의 데이터 노드를 관리하고,
    상기 컨텐츠가 존재하는 적어도 하나 이상의 데이터 노드를 선정하도록 구성되고,
    상기 데이터 노드에 대한 리스트는 상기 선정된 데이터 노드를 포함하는 것인, 컨텐츠 제공 방법.
  8. 제 5 항에 있어서,
    상기 사용자 서버는,
    상기 데이터 노드에 대한 리스트에 기초하여 상기 컨텐츠를 수신하도록 구성되는 것인, 컨텐츠 제공 방법.
  9. 하둡 기반 컨텐츠 제공 시스템에 있어서,
    트래커 서버;
    알토 서버; 및
    네임 노드
    를 포함하고,
    상기 트래커 서버는,
    컨텐츠 제공 서버로부터 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청받고,
    상기 알토 서버에 상기 데이터 노드를 관리하는 상기 네임 노드에 대한 문의를 요청하고,
    상기 알토 서버로부터 상기 네임 노드에 대한 문의를 응답받고,
    상기 네임 노드에 상기 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청하고,
    상기 네임 노드로부터 상기 데이터 노드에 대한 리스트를 수신하고,
    상기 데이터 노드에 대한 리스트를 상기 컨텐츠 제공 서버로 전송하도록 구성되고,
    상기 알토 서버는,
    상기 트래커 서버로부터 상기 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청받고,
    상기 트래커 서버에 상기 데이터 노드에 대한 문의를 응답하도록 구성되고,
    상기 네임 노드는,
    상기 트래커 서버로부터 상기 컨텐츠를 저장할 상기 데이터 노드에 대한 문의를 요청받고,
    상기 트래커 서버에 상기 데이터 노드에 대한 리스트를 전송하도록 구성되는 것인, 컨텐츠 제공 시스템
  10. 제 9 항에 있어서,
    상기 알토 서버는,
    기설정된 알고리즘에 기초하여 복수의 네임 노드 중 하나를 선정하고,
    상기 선정된 네임 노드를 상기 문의에 대한 응답으로서 상기 트래커 서버에 전달하도록 구성되는 것인, 컨텐츠 제공 시스템
  11. 제 9 항에 있어서,
    상기 네임 노드는,
    복수의 데이터 노드를 관리하고,
    우선 순위에 기초하여 적어도 하나 이상의 데이터 노드를 선정하도록 구성되고,
    상기 데이터 노드에 대한 리스트는 상기 선정된 데이터 노드를 포함하는 것인, 컨텐츠 제공 시스템
  12. 제 9 항에 있어서,
    상기 컨텐츠 제공 서버는,
    상기 데이터 노드에 대한 리스트에 기초하여 상기 컨텐츠를 저장하도록 구성되는 것인, 컨텐츠 제공 시스템
KR1020140178202A 2014-12-11 2014-12-11 컨텐츠 제공 방법 및 시스템 KR20160071025A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140178202A KR20160071025A (ko) 2014-12-11 2014-12-11 컨텐츠 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140178202A KR20160071025A (ko) 2014-12-11 2014-12-11 컨텐츠 제공 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20160071025A true KR20160071025A (ko) 2016-06-21

Family

ID=56353675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140178202A KR20160071025A (ko) 2014-12-11 2014-12-11 컨텐츠 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20160071025A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120114483A (ko) 2011-04-07 2012-10-17 주식회사 넥스알 데이터 로컬리티를 보장하는 하둡 파일 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120114483A (ko) 2011-04-07 2012-10-17 주식회사 넥스알 데이터 로컬리티를 보장하는 하둡 파일 시스템

Similar Documents

Publication Publication Date Title
CN103812939B (zh) 一种大数据存储系统
AU2014212780B2 (en) Data stream splitting for low-latency data access
US10853242B2 (en) Deduplication and garbage collection across logical databases
US9774564B2 (en) File processing method, system and server-clustered system for cloud storage
CN105933376B (zh) 一种数据操作方法,服务器及存储系统
US20150215405A1 (en) Methods of managing and storing distributed files based on information-centric network
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
CN107562757B (zh) 基于分布式文件系统的查询、访问方法、装置及系统
US11811839B2 (en) Managed distribution of data stream contents
CN107026876B (zh) 一种文件数据访问系统及方法
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
US11080207B2 (en) Caching framework for big-data engines in the cloud
US20210011928A1 (en) Smart elastic scaling based on application scenarios
JP2015069461A (ja) 情報処理装置
US11221993B2 (en) Limited deduplication scope for distributed file systems
US10817203B1 (en) Client-configurable data tiering service
CN109542861A (zh) 一种文件管理方法、装置和系统
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
JP2022550401A (ja) データのアップロード方法、システム、装置及び電子機器
KR20140143775A (ko) 캐시 관리 기법
CN103297490A (zh) 信息处理装置、分布式处理系统和分布式处理方法
CN107493309B (zh) 一种分布式系统中的文件写入方法及装置
JP5824519B2 (ja) 分散型メタデータキャッシュ
KR102503958B1 (ko) 분산 네트워크 환경에서의 쿼리 배치 장치 및 그 방법
Tugores et al. Mining online social networks with Python to study urban mobility

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination