KR102195239B1 - 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
KR102195239B1
KR102195239B1 KR1020190156851A KR20190156851A KR102195239B1 KR 102195239 B1 KR102195239 B1 KR 102195239B1 KR 1020190156851 A KR1020190156851 A KR 1020190156851A KR 20190156851 A KR20190156851 A KR 20190156851A KR 102195239 B1 KR102195239 B1 KR 102195239B1
Authority
KR
South Korea
Prior art keywords
data
cost
compression
transmission
decompression
Prior art date
Application number
KR1020190156851A
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 KR1020190156851A priority Critical patent/KR102195239B1/ko
Application granted granted Critical
Publication of KR102195239B1 publication Critical patent/KR102195239B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 전송 데이터의 정보 엔트로피를 계산하는 단계; 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계; 계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하는 단계; 선택된 압축 알고리즘을 통해 데이터를 압축하여 전송하는 단계; 및 상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정하는 단계;를 포함한다. 이에 따라, 네트워크 대역폭에 최적인 압축 알고리즘을 선정하여 데이터를 전송하므로, 전송 시간과 네트워크 트래픽을 감소시킬 수 있다.

Description

대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD FOR DATA COMPRESSION TRANSMISSION CONSIDERING BANDWIDTH IN HADOOP CLUSTER, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}
본 발명은 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 하둡 클러스터에서 데이터 전송 시 엔트로피와 네트워크 대역폭을 고려하여 압축 여부와 최적의 압축 알고리즘을 선정하여 네트워크 대역폭의 사용량과 데이터 전송 시간을 줄이는 기술에 관한 것이다.
하둡(Hadoop)은 고가용성을 지원하기 위해 데이터 쓰기 작업이 발생한 경우 해당 데이터를 3개의 데이터 노드에 복제하여 저장한다. 또한, 하둡은 빅데이터 처리를 위해 주로 사용되므로 사용하는 데이터의 크기가 크다. 따라서, 데이터 전송 시 대량의 네트워크 트래픽을 발생시키고, 디스크 공간을 많이 차지하게 된다. 네트워크 및 디스크 사용량을 줄이기 위한 연구는 아래와 같다.
하둡은 네트워크 대역폭의 사용량과 수행 시간을 줄이기 위해 맵리듀스 작업에서 압축을 지원한다. 맵 출력 압축을 통해 맵 단계가 끝난 후 리듀스 노드로 전달하는 데이터를 Snappy, Gzip 등의 압축 알고리즘으로 압축한다. 맵 출력 데이터의 압축은 맵 노드에서 이루어지기 때문에 압축 과정이 여러 노드에서 실행되어 빠른 속도로 압축을 수행할 수 있다.
그러나, 고압축 알고리즘을 사용할 경우 실행 시간이 증가되기도 한다. 또한, 맵 아웃풋의 크기는 입력 데이터에 비교할 경우 매우 작아서 압축으로 감소하는 데이터의 크기가 작다.
하둡은 이레이저 코딩 기법을 도입하여 데이터의 고가용성을 높이며 디스크 사용량을 감소시켰다. 그러나, 이레이저 코딩 기법으로 저장된 데이터의 사용량이 높을 경우 불필요한 데이터의 복사 과정이 발생하여 네트워크 트래픽을 발생시키고, 실행 시간이 증가한다.
선행기술문헌 중 비특허문헌 1의 노승준 외 1인은 하둡에서 데이터 쓰기 작업 시 압축 기법을 도입하여 네트워크 사용량을 감소시켰다. 데이터 쓰기 작업이 발생한 경우 Snappy 압축 알고리즘으로 데이터를 압축 후 전송하였다. 그러나, 데이터 압축 전송 시 네트워크 대역폭을 고려하지 않아 최적의 압축 알고리즘을 선정하지 못하였고, 데이터 노드에 데이터 저장 시 압축 해제 후 저장하여 디스크의 사용량 또한 감소시키지 못한 한계가 있다.
선행기술문헌 중 비특허문헌 2의 Kritwara Rattanaopas는 데이터 압축 알고리즘별 디스크 사용량과 맵리듀스 성능을 비교하였다. 압축 알고리즘의 마커 인식을 통해 압축 데이터의 분산 저장을 통해 맵리듀스의 성능에 미미한 영향을 미치며 디스크 사용량을 줄였다. 그러나 성능 평가 시 사전에 압축된 데이터를 사용하여 압축 오버헤드를 고려하지 않았다.
하둡 클러스터의 주요 자원 중 네트워크 대역폭은 클러스터에서 공유되는 자원이다. CPU, 메모리와 같은 자원과 다르게 특정 노드가 네트워크 대역폭을 많이 사용할 경우 전체 클러스터의 성능이 하락한다. 기존의 압축 전송 기법은 네트워크 대역폭의 사용량을 줄일 수 있으나, 압축 및 압축 해제 오버헤드가 증가하여 전송 시간이 증가되는 경우도 발생한다.
정리하면, 하둡에서 데이터 압축 또는 이레이저 코딩을 사용할 경우 HDFS의 디스크 사용량을 줄일 수 있다. 그러나 데이터를 압축 상태로 저장할 경우 하둡 잡 수행시 압축 해제 오버헤드가 증가하고, 이레이저 코딩의 경우 해당 데이터의 사용률이 높을 경우 불필요한 데이터 전송이 발생하여 하둡의 성능을 하락시키는 문제가 있다.
JP 2004-236032 A EP 1472793 B1 KR 10-1727508 B1
하둡 시스템의 네트워크 자원 사용량 감소를 위한 스트리밍 압축 기법, 노승준 외 1인, 한국정보과학회 정보과학회논문지 제45권 제6호 2018.06516 - 521(6 pages) A performance comparison of Apache Tez and MapReduce with data compression on Hadoop cluster, Kritwara Rattanaopas, 2017 14th International Joint Conference on Computer Science and Software Engineering (JCSSE)
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 데이터 전송 시 엔트로피와 네트워크 대역폭을 고려하여 압축 여부와 최적의 압축 알고리즘을 선정하여 네트워크 대역폭의 사용량과 데이터 전송 시간을 줄이기 위한, 대역폭을 고려한 하둡의 데이터 압축 전송 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 대역폭을 고려한 하둡의 데이터 압축 전송 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 대역폭을 고려한 하둡의 데이터 압축 전송 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 전송 데이터의 정보 엔트로피를 계산하는 단계; 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계; 계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하는 단계; 선택된 압축 알고리즘을 통해 데이터를 압축하여 전송하는 단계; 및 상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 전송 데이터의 정보 엔트로피를 계산하는 단계는, 무작위로 추출된 문자의 빈도수를 기초로 계산할 수 있다.
본 발명의 실시예에서, 상기 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계는, 상기 압축 비용은 데이터 크기와 단위 비트 당 압축 비용으로 계산하고, 상기 데이터 전송 비용은 압축 데이터의 크기와 단위 비트 당 네트워크 전송 비용으로 계산하고, 상기 압축 해제 비용은 압축 데이터의 크기와 단위 비트 당 압축 해제 비용으로 계산할 수 있다.
본 발명의 실시예에서, 상기 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계는, 동일한 하드웨어에서 수행되는 것으로 가정하고 계산할 수 있다.
본 발명의 실시예에서, 상기 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, HDFS(Hadoop Distributed File System)로 전송하는 경우, 압축 과정, 데이터 전송 과정, 압축 해제 과정이 각기 하드웨어에서 동시에 진행될 수 있다.
본 발명의 실시예에서, 상기 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 데이터 압축 전송 시 데이터를 여러 개로 분할하여 전송하는 경우, 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용 및 압축 해제 비용의 최댓값들의 합일 수 있다.
본 발명의 실시예에서, 상기 압축 해제 여부를 결정하는 단계는, 압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인하는 단계; 및 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계는, 디스크 읽기 비용과 압축 해제 비용의 합을 계산하여 압축 데이터의 메모리 로드 비용을 계산하는 단계; 상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하는 단계; 및 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우, 상기 압축 데이터를 압축 상태로 디스크에 저장하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계는, 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우, 상기 압축 데이터의 압축을 해제하여 디스크에 저장할 수 있다.
본 발명의 실시예에서, 상기 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 장치는, 전송 데이터의 정보 엔트로피를 계산하는 엔트로피 계산부; 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 데이터 압축 전송 비용 계산부; 계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하는 알고리즘 선택부; 선택된 압축 알고리즘을 통해 데이터를 압축하여 전송하는 데이터 전송부; 및 상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정하는 압축 해제 결정부;를 포함한다.
본 발명의 실시예에서, 상기 대역폭을 고려한 하둡의 데이터 압축 전송 장치는, 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송할 수 있다.
본 발명의 실시예에서, 상기 압축 해제 결정부는, 압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인하는 메타 데이터 확인부; 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 디스크 읽기 비용과 압축 해제 비용의 합으로 압축 데이터의 메모리 로드 비용을 계산하는 메모리 로드 비용 계산부; 및 상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우 압축 데이터를 압축 상태로 디스크에 저장하고, 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우 압축 데이터의 압축을 해제하여 디스크에 저장하는 디스크 저장부;를 포함할 수 있다.
이와 같은 대역폭을 고려한 하둡의 데이터 압축 전송 방법에 따르면, 하둡 클러스터에서 데이터 전송 시 엔트로피와 네트워크 대역폭을 고려하여 압축 여부와 최적의 압축 알고리즘을 선정하여 네트워크 대역폭의 사용량과 데이터 전송 시간을 줄일 수 있다.
또한, 압축 데이터 저장 시 디스크 대역폭과 데이터의 압축비, 압축 해제 시간을 고려하여 하둡 잡 수행 시간을 줄임과 동시에 디스크 사용량을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 장치의 블록도이다.
도 2는 도 1의 데이터 압축 전송 비용 계산부의 자세한 블록도이다.
도 3은 도 1의 압축 해제 결정부의 자세한 블록도이다.
도 4는 본 발명에 따른 엔트로피 및 네트워크 대역폭 기반 데이터 압축 전송 알고리즘의 예를 보여주는 도면이다.
도 5는 HDFS로 데이터를 압축 후 전송하는 경우 압축 데이터 전송 파이프라인을 보여주는 도면이다.
도 6은 본 발명에 따른 디스크 대역폭 기반 압축 데이터 저장 알고리즘의 예를 보여주는 도면이다.
도 7은 클라이언트에서 데이터 노드로 데이터 전송 시 데이터 노드에서 압축 데이터를 저장하는 과정을 보여주는 도면이다.
도 8은 종래의 압축 알고리즘들과 본 발명에 따른 데이터 전송 시간과 디스크 사용량을 비교한 그래프이다.
도 9는 본 발명의 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법의 흐름도이다.
도 10은 도 9의 압축 해제 여부를 결정하는 단계의 자세한 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 장치의 블록도이다. 도 2는 도 1의 데이터 압축 전송 비용 계산부의 자세한 블록도이다. 도 3은 도 1의 압축 해제 결정부의 자세한 블록도이다.
본 발명에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 장치(10, 이하 장치)는 하둡 클러스터에서 데이터 전송 시 엔트로피와 네트워크 대역폭을 고려하여 압축 여부와 최적의 압축 알고리즘을 선정하여 네트워크 대역폭의 사용량과 데이터 전송 시간을 줄이는 것을 목적으로 한다.
또한, 압축 데이터 저장 시 디스크 대역폭과 데이터의 압축비, 압축 해제 시간을 고려하여 하둡 잡 수행 시간을 줄임과 동시에 디스크 사용량을 감소시키는 것을 목적으로 한다.
도 1을 참조하면, 본 발명에 따른 장치(10)는 엔트로피 계산부(110), 데이터 압축 전송 비용 계산부(130), 알고리즘 선택부(150), 데이터 전송부(170) 및 압축 해제 결정부(190)를 포함한다.
본 발명의 상기 장치(10)는 대역폭을 고려한 하둡의 데이터 압축 전송을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 엔트로피 계산부(110), 상기 데이터 압축 전송 비용 계산부(130), 상기 알고리즘 선택부(150), 상기 데이터 전송부(170) 및 상기 압축 해제 결정부(190)의 구성은 상기 장치(10)에서 실행되는 상기 대역폭을 고려한 하둡의 데이터 압축 전송을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 엔트로피 계산부(110), 상기 데이터 압축 전송 비용 계산부(130), 상기 알고리즘 선택부(150), 상기 데이터 전송부(170) 및 상기 압축 해제 결정부(190)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
도 4를 참조하면, 본 발명의 알고리즘으로 정보 엔트로피와 네트워크 대역폭을 기반으로 데이터를 압축 전송하는 과정을 보여준다. 데이터의 엔트로피를 통해 데이터의 압축 전송 비용 계산 유무를 결정한다. 그 다음 압축 알고리즘마다 데이터 압축 전송 비용을 계산하고 최저 비용의 압축 알고리즘으로 압축 후 데이터를 전송한다. 압축 시간과 압축비는 정확도를 높이기 위해 평균값을 사용한다. 이하에서 각 과정을 자세히 설명한다.
상기 엔트로피 계산부(110)는 전송 데이터의 정보 엔트로피를 계산한다. 본 발명에서는 데이터 압축 전송 비용을 통해 최저의 비용으로 데이터를 하둡 클러스터로 전송할 수 있다. 그러나, 사전에 압축된 데이터처럼 압축 시 압축 효율이 낮아 압축비가 1에 가까울 경우 데이터 압축 전송 비용을 측정하는 오버헤드만 발생하여 데이터 전송 시간이 증가할 수 있다.
따라서, 본 발명에서는 전송 데이터의 정보 엔트로피를 측정을 통해 압축의 효율성을 사전에 검사하여 불필요한 오버헤드를 제거한다. 무손실 압축은 길이가 길고 자주 나오는 문장을 짧은 문장으로 치환하고, 높은 빈도의 문자에 적은 비트를 할당하는 방식으로 이루어진다.
정보 엔트로피 값이 큰 데이터는 무작위성이 높아 중복되는 문장이 자주 발생할 확률이 낮으며, 각 문자의 사용 빈도 또한 비슷하다. 따라서 엔트로피 값이 큰 데이터는 압축 효율이 낮다. 데이터 압축 전송 시 엔트로피 값이 큰 데이터는 압축 전송 비용의 계산 없이 전송할 경우 압축 전송 비용을 계산하는 오버헤드를 제거할 수 있다.
[수학식 1]
Figure 112019123518611-pat00001
수학식 1은 정보 엔트로피를 구하는 수식으로 정보 엔트로피는 각 문자의 빈도수를 통해 계산할 수 있다. 정보 엔트로피 계산 시 각 문자의 발생 빈도를 사용함으로 일부 데이터의 추출을 통해 전체 데이터의 엔트로피를 유추할 수 있다.
데이터에서 특정 문자를 무작위로 추출할 경우 특정 문자가 추출될 확률은 해당 문자의 빈도랑 같다. 따라서, 충분한 양의 문자를 무작위로 추출할 경우 각 문자의 빈도는 전체 데이터의 문자 빈도와 동일하다. 이를 통해 정보 엔트로피를 빠르게 계산할 수 있다.
상기 정보 엔트로피가 미리 설정된 임계치 보다 큰 경우, 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송한다. 반면, 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 데이터 압축 전송 비용을 계산한다. 상기 정보 엔트로피가 미리 설정된 임계치와 같은 경우에는 설정에 따라 상기 경우 중 하나의 경우로 포함될 수 있다.
상기 데이터 압축 전송 비용 계산부(130)는 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산한다.
도 2를 참조하면, 상기 데이터 압축 전송 비용 계산부(130)는 압축 비용 계산부(131), 데이터 전송 비용 계산부(133), 압축 해제 비용 계산부(135) 및 합산부(137)를 포함한다.
데이터 압축 전송 시 네트워크 대역폭에 따라 최적의 성능을 보이는 압축 알고리즘이 다르다. 따라서, 본 발명은 네트워크 대역폭과 압축 알고리즘의 성능을 고려하여 최적의 압축 알고리즘을 선정하여 데이터를 압축 전송한다.
HDFS로 데이터를 압축하여 전송할 경우 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용, 압축 해제 비용의 합으로 이루어진다. 각 알고리즘마다 압축 데이터 전송 비용을 계산한 다음 가장 낮은 비용을 갖는 압축 알고리즘으로 압축 후 데이터를 전송한다.
데이터 압축 전송 비용은 아래의 수학식 2를 통해 계산할 수 있다. 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용, 압축 해제 비용의 합으로 계산된다.
[수학식 2]
Figure 112019123518611-pat00002
Figure 112019123518611-pat00003
Figure 112019123518611-pat00004
Figure 112019123518611-pat00005
상기 압축 비용 계산부(131)에서 압축 비용은 데이터 크기와 단위 비트 당 압축 비용으로 계산된다. 상기 데이터 전송 비용 계산부(133)에서 데이터 전송 비용은 압축 데이터의 크기와 단위 비트 당 네트워크 전송 비용으로 계산된다. 상기 압축 해제 비용 계산부(135)에서 압축 해제 비용은 압축 데이터의 크기와 단위 비트 당 압축 해제 비용으로 계산된다.
단위 비트 당 압축 비용과 압축 해제 비용은 압축 알고리즘과 수행하는 하드웨어 성능에 따라 다른 값을 갖는다. 데이터 압축 전송 비용 계산은 동일한 하드웨어에서 수행되는 것을 가정함으로 단위 비트 당 압축 비용과 압축 해제 비용은 압축 알고리즘에 의해 결정된다. 단위 비트 당 네트워크 전송 비용은 네트워크 대역폭의 역수이다.
상기 합산부(137)는 계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용을 합하여 데이터 압축 전송 비용을 계산한다.
수학식 2를 통해 비압축 전송 비용과 각 압축 알고리즘의 데이터 압축 전송 비용을 계산할 수 있다. 최저 비용으로 데이터를 전송할 경우 가장 빠르게 데이터를 전송할 수 있다. 추가로, 데이터를 압축 후 전송하는 것이 빠른 경우 네트워크 사용량 또한 줄일 수 있다.
HDFS로 데이터를 압축 후 전송하는 경우 압축 과정, 데이터 전송 과정, 압축 해제 과정을 모두 다른 하드웨어에서 수행된다. 예를 들어, 압축 과정의 경우 클라이언트의 하드웨어에서 수행되고, 데이터 전송 과정으로 네트워크 망에서 수행되고, 압축 해제 과정은 서버 하드웨어에서 수행될 수 있다. 따라서, 데이터 압축 전송 시 데이터를 여러 개로 쪼개서 보낼 경우 압축 과정, 데이터 전송 과정, 압축 해제 과정을 동시에 수행할 수 있다.
도 5를 참조하면, 데이터 압축 전송 시 데이터를 여러 개로 쪼개서 보낼 경우 파이프라인이 형성된 것을 보여준다. 파이프라인의 특성상 전송하는 데이터의 크기가 클 경우 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용, 압축 해제 비용의 최댓값이 된다.
대부분의 압축 알고리즘은 압축보다 압축 해제가 더 빠르다. 또한, 아래에 나올 디스크 대역폭 기반 압축 데이터 저장 기법을 사용할 경우 데이터를 압축 해제 없이 저장할 수 있다. 따라서 데이터 압축 전송 비용 수식에서 압축 해제 비용을 제거할 수 있다. 이를 반영하면 데이터 압축 전송 비용은 아래의 수학식 3으로 나타낼 수 있다.
[수학식 3]
Figure 112019123518611-pat00006
파이프라인이 형성된 데이터 압축 전송 비용은 청크의 압축 비용과 압축된 청크의 네트워크 전송 비용 중 큰 값의 합이다. 따라서, 청크 전송 전 각 알고리즘의 비용을 계산하여 최적의 압축 알고리즘으로 압축 후 전송한다. 청크의 크기는 압축비, 압축 시간, 파이프라인의 수에 영향을 주므로 적절한 값을 찾는 것이 필요하다.
상기 알고리즘 선택부(150)는 상기 데이터 압축 전송 비용 계산부(130)에서 계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택한다. 상기 데이터 전송부(170)은 선택된 압축 알고리즘을 통해 데이터를 압축하여 전송한다.
상기 압축 해제 결정부(190)는 상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정한다.
도 3을 참조하면, 상기 압축 해제 결정부(190)는 메타 데이터 확인부(191), 메모리 로드 비용 계산부(193) 및 디스크 저장부(195)를 포함한다.
상기 메타 데이터 확인부(191)는 압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인한다.
상기 메모리 로드 비용 계산부(193)는 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 디스크 읽기 비용과 압축 해제 비용의 합으로 압축 데이터의 메모리 로드 비용을 계산한다.
상기 디스크 저장부(195)는 상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우 압축 데이터를 압축 상태로 디스크에 저장한다. 반면, 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우 압축 데이터의 압축을 해제하여 디스크에 저장한다.
도 6을 참조하면, 디스크 대역폭을 기반으로 압축 전송된 데이터의 압축 해제 여부를 결정하는 알고리즘을 보여준다.
압축된 데이터를 수신한 경우 메타 데이터를 확인하여 압축 알고리즘을 확인한다. 그 다음 압축 데이터의 메모리 로드 및 압축 해제 비용과 비압축 데이터의 메모리 로드 비용을 비교하여 압축 해제 여부를 결정한다. 자세한 내용은 아래와 같다.
하둡은 잡(job) 수행 시 지역성을 높이기 위해서 데이터가 저장된 데이터 노드(node)에 태스크(task)를 할당한다. 데이터 노드에 데이터가 압축 저장 되어있을 경우 데이터 노드는 데이터를 사용하기 전 압축을 해제해야 한다. 이는 태스크 수행 시 추가적인 오버헤드를 발생시킨다.
그러나, 데이터가 압축 되어있을 경우 메모리로 로드해야하는 데이터의 크기가 줄어든다. 따라서, I/O 비용 감소가 압축 해제 비용보다 클 경우 데이터를 압축 상태로 저장하는 것이 더 빠른 실행은 보장한다. 또한, 동일한 데이터를 저장하면서 더 적은 디스크 공간을 사용한다.
[수학식 4]
Figure 112019123518611-pat00007
Figure 112019123518611-pat00008
Figure 112019123518611-pat00009
수학식 4는 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 비용을 나타낸 것이다. 메모리 로드 비용은 디스크 읽기 비용과 압축 해제 비용의 합이다. 읽기 비용은 압축 데이터의 크기와 단위 비트 당 디스크 읽기 비용으로 계산할 수 있다. 단위 비트 당 디스크 읽기 비용은 디스크 대역폭의 역수이다.
압축 해제 비용은 데이터 크기와 단위 비트 당 압축 해제 비용으로 계산할 수 있다. 단위 비트 당 압축 해제 비용은 압축 알고리즘마다 다른 값을 갖는다.
수학식 4를 통해 메모리 로드 시 압축 데이터의 비용과 비압축 데이터의 로드 비용을 계산할 수 있다. 압축 데이터의 메모리 로드 비용이 더 적을 경우 비압축 저장 방식보다 더 빠르게 태스크를 수행할 수 있으며, 데이터 노드의 디스크 사용량 또한 줄일 수 있다.
도 7은 클라이언트에서 데이터 노드로 데이터 전송 시 데이터 노드에서 압축 데이터를 저장하는 과정을 보여주는 도면이다.
도 7을 참조하면, 클라이언트에서 데이터 노드로 데이터 전송 시 데이터 노드에서 압축 데이터를 저장하는 과정을 보여준다. 클라이언트가 네트워크 대역폭을 고려하여 데이터를 압축 전송하였을 경우 데이터 노드는 디스크 대역폭과 압축 알고리즘을 고려하여 데이터의 압축 해제 여부를 결정한다. 데이터 노드는 데이터를 압축 상태로 저장해도 태스크 수행 시 추가 오버헤드가 발생하지 않는 경우 데이터를 압축 상태로 저장한다.
도 8은 종래의 압축 알고리즘들과 본 발명에 따른 데이터 전송 시간과 디스크 사용량을 비교한 그래프이다.
도 8을 참조하면, 본 발명에 따른 경우 비압축 전송과 비교하여 전송 시간은 57% 감소 시켰으며, 디스크 사용량은 60% 감소시킬 수 있다.
본 발명을 통해 네트워크 대역폭에 최적인 압축 알고리즘을 선정하여 데이터를 전송할 수 있다. 이를 통해 전송 시간과 네트워크 트래픽을 감소시킬 수 있다. 또한, 데이터 노드에 데이터 저장 시 압축 저장의 효율성을 판단하여 태스크 수행 시간과 저장 공간의 사용량을 낮출 수 있었다.
도 9는 본 발명의 일 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법의 흐름도이다. 도 10은 도 9의 압축 해제 여부를 결정하는 단계의 자세한 흐름도이다.
본 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 도 1의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
또한, 본 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법은 대역폭을 고려한 하둡의 데이터 압축 전송을 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.
도 9를 참조하면, 본 실시예에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법은, 전송 데이터의 정보 엔트로피를 계산한다(단계 S1).
본 발명에서는 데이터 압축 전송 비용을 통해 최저의 비용으로 데이터를 하둡 클러스터로 전송할 수 있다. 그러나, 사전에 압축된 데이터처럼 압축 시 압축 효율이 낮아 압축비가 1에 가까울 경우 데이터 압축 전송 비용을 측정하는 오버헤드만 발생하여 데이터 전송 시간이 증가할 수 있다.
따라서, 본 발명에서는 전송 데이터의 정보 엔트로피를 측정을 통해 압축의 효율성을 사전에 검사하여 불필요한 오버헤드를 제거한다. 무손실 압축은 길이가 길고 자주 나오는 문장을 짧은 문장으로 치환하고, 높은 빈도의 문자에 적은 비트를 할당하는 방식으로 이루어진다.
정보 엔트로피 값이 큰 데이터는 무작위성이 높아 중복되는 문장이 자주 발생할 확률이 낮으며, 각 문자의 사용 빈도 또한 비슷하다. 따라서 엔트로피 값이 큰 데이터는 압축 효율이 낮다. 데이터 압축 전송 시 엔트로피 값이 큰 데이터는 압축 전송 비용의 계산 없이 전송할 경우 압축 전송 비용을 계산하는 오버헤드를 제거할 수 있다.
수학식 1은 정보 엔트로피를 구하는 수식으로 정보 엔트로피는 각 문자의 빈도수를 통해 계산할 수 있다. 정보 엔트로피 계산 시 각 문자의 발생 빈도를 사용함으로 일부 데이터의 추출을 통해 전체 데이터의 엔트로피를 유추할 수 있다.
데이터에서 특정 문자를 무작위로 추출할 경우 특정 문자가 추출될 확률은 해당 문자의 빈도랑 같다. 따라서, 충분한 양의 문자를 무작위로 추출할 경우 각 문자의 빈도는 전체 데이터의 문자 빈도와 동일하다. 이를 통해 정보 엔트로피를 빠르게 계산할 수 있다.
상기 정보 엔트로피가 미리 설정된 임계치 보다 큰 경우(단계 S2), 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송한다(단계 S7).
반면, 상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우(단계 S2), 데이터 압축 전송 비용을 계산한다(단계 S4). 상기 정보 엔트로피가 미리 설정된 임계치와 같은 경우에는 설정에 따라 상기 경우 중 하나의 경우로 포함될 수 있다.
데이터 압축 전송 시 네트워크 대역폭에 따라 최적의 성능을 보이는 압축 알고리즘이 다르다. 따라서, 본 발명은 네트워크 대역폭과 압축 알고리즘의 성능을 고려하여 최적의 압축 알고리즘을 선정하여 데이터를 압축 전송한다.
HDFS로 데이터를 압축하여 전송할 경우 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용, 압축 해제 비용의 합으로 이루어진다. 각 알고리즘마다 압축 데이터 전송 비용을 계산한 다음 가장 낮은 비용을 갖는 압축 알고리즘으로 압축 후 데이터를 전송한다.
데이터 압축 전송 비용은 수학식 2를 통해 계산할 수 있다. 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용, 압축 해제 비용의 합으로 계산된다.
상기 압축 비용은 데이터 크기와 단위 비트 당 압축 비용으로 계산하고, 상기 데이터 전송 비용은 압축 데이터의 크기와 단위 비트 당 네트워크 전송 비용으로 계산하고, 상기 압축 해제 비용은 압축 데이터의 크기와 단위 비트 당 압축 해제 비용으로 계산한다.
단위 비트 당 압축 비용과 압축 해제 비용은 압축 알고리즘과 수행하는 하드웨어 성능에 따라 다른 값을 갖는다. 데이터 압축 전송 비용 계산은 동일한 하드웨어에서 수행되는 것을 가정함으로 단위 비트 당 압축 비용과 압축 해제 비용은 압축 알고리즘에 의해 결정된다. 단위 비트 당 네트워크 전송 비용은 네트워크 대역폭의 역수이다.
계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하고(단계 S5), 선택된 압축 알고리즘을 통해 데이터를 압축하여 전송한다(단계 S6).
상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정한다(단계 S9).
도 10을 참조하면, 상기 압축 해제 여부를 결정하는 단계(단계 S9)는, 압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인한다(단계 S91).
압축 알고리즘을 확인하면, 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산한다(단계 S91).
이를 위해, 디스크 읽기 비용과 압축 해제 비용의 합을 계산하여 압축 데이터의 메모리 로드 비용을 계산하고(단계 S92), 상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교한다(단계 S93).
상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우(단계 S94), 상기 압축 데이터를 압축 상태로 디스크에 저장한다(단계 S95).
반면, 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우(단계 S94), 상기 압축 데이터의 압축을 해제하여 디스크에 저장한다(단계 S96).
본 발명에 따라, 네트워크 대역폭에 최적인 압축 알고리즘을 선정하여 데이터를 전송할 수 있다. 이를 통해 전송 시간과 네트워크 트래픽을 감소시킬 수 있다. 또한, 데이터 노드에 데이터 저장 시 압축 저장의 효율성을 판단하여 태스크 수행 시간과 저장 공간의 사용량을 낮출 수 있다.
이와 같은, 대역폭을 고려한 하둡의 데이터 압축 전송 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 네트워크 대역폭에 최적인 압축 알고리즘을 선정하여 데이터를 전송할 수 있다. 이를 통해 전송 시간과 네트워크 트래픽을 감소시킬 수 있다. 또한, 데이터 노드에 데이터 저장 시 압축 저장의 효율성을 판단하여 태스크 수행 시간과 저장 공간의 사용량을 낮출 수 있었다. 비압축 전송과 비교하여 전송 시간은 57% 감소 시켰으며, 디스크 사용량은 60% 감소시킬 수 있으므로, 데이터 전송 분야에 유용하게 적용할 수 있다.
10: 대역폭을 고려한 하둡의 데이터 압축 전송 장치
110: 엔트로피 계산부
130: 데이터 압축 전송 비용 계산부
131: 압축 비용 계산부
133: 데이터 전송 비용 계산부
135: 압축 해제 비용 계산부
137: 합산부
150: 알고리즘 선택부
170: 데이터 전송부
190: 압축 해제 결정부
191: 메타 데이터 확인
193: 메모리 로드 비용 계산부
195: 디스크 저장부

Claims (14)

  1. 전송 데이터에서 무작위로 추출된 문자의 빈도수를 기초로 정보 엔트로피를 계산하는 단계;
    상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계;
    계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하는 단계;
    선택된 압축 알고리즘을 통해 데이터를 압축하여 전송하는 단계; 및
    상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정하는 단계;를 포함하고,
    상기 압축 해제 여부를 결정하는 단계는,
    압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인하는 단계; 및
    상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계를 포함하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계는,
    상기 압축 비용은 데이터 크기와 단위 비트 당 압축 비용으로 계산하고,
    상기 데이터 전송 비용은 압축 데이터의 크기와 단위 비트 당 네트워크 전송 비용으로 계산하고,
    상기 압축 해제 비용은 압축 데이터의 크기와 단위 비트 당 압축 해제 비용으로 계산하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  4. 제1항에 있어서, 상기 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 단계는,
    동일한 하드웨어에서 수행되는 것으로 가정하고 계산하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  5. 제1항에 있어서,
    HDFS(Hadoop Distributed File System)로 전송하는 경우, 압축 과정, 데이터 전송 과정, 압축 해제 과정이 각기 하드웨어에서 동시에 진행되는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  6. 제5항에 있어서,
    데이터 압축 전송 시 데이터를 여러 개로 분할하여 전송하는 경우, 데이터 압축 전송 비용은 압축 비용, 데이터 전송 비용 및 압축 해제 비용의 최댓값들의 합인, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계는,
    디스크 읽기 비용과 압축 해제 비용의 합을 계산하여 압축 데이터의 메모리 로드 비용을 계산하는 단계;
    상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하는 단계; 및
    상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우, 상기 압축 데이터를 압축 상태로 디스크에 저장하는 단계;를 포함하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  9. 제8항에 있어서, 상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 압축 데이터의 메모리 로드 비용을 계산하는 단계는,
    상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우, 상기 압축 데이터의 압축을 해제하여 디스크에 저장하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  10. 제1항에 있어서,
    상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송하는, 대역폭을 고려한 하둡의 데이터 압축 전송 방법.
  11. 제1항에 따른 대역폭을 고려한 하둡의 데이터 압축 전송 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
  12. 전송 데이터에서 무작위로 추출된 문자의 빈도수를 기초로 정보 엔트로피를 계산하는 엔트로피 계산부;
    상기 정보 엔트로피가 미리 설정된 임계치 보다 작은 경우, 네트워크 대역폭을 기초로 압축 알고리즘 마다 압축 비용, 데이터 전송 비용 및 압축 해제 비용을 계산하는 데이터 압축 전송 비용 계산부;
    계산된 상기 압축 비용, 상기 데이터 전송 비용 및 상기 압축 해제 비용의 합인 데이터 압축 전송 비용이 가장 낮은 압축 알고리즘을 선택하는 알고리즘 선택부;
    선택된 압축 알고리즘을 통해 데이터를 압축하여 전송하는 데이터 전송부; 및
    상기 전송된 데이터를 메모리에 로드 할 경우, 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여, 압축 해제 여부를 결정하는 압축 해제 결정부;를 포함하고,
    상기 압축 해제 결정부는,
    압축된 데이터를 데이터 노드에서 수신하는 경우 메타 데이터를 기초로 압축 알고리즘을 확인하는 메타 데이터 확인부; 및
    상기 데이터 노드에서 태스크 수행 시 데이터를 메모리로 로드할 때 발생하는 디스크 읽기 비용과 압축 해제 비용의 합으로 압축 데이터의 메모리 로드 비용을 계산하는 메모리 로드 비용 계산부를 포함하는, 대역폭을 고려한 하둡의 데이터 압축 전송 장치.
  13. 제12항에 있어서,
    상기 정보 엔트로피가 미리 설정된 임계치 보다 큰 경우, 데이터 압축 전송 비용을 계산하지 않고, 비압축 알고리즘으로 데이터를 전송하는, 대역폭을 고려한 하둡의 데이터 압축 전송 장치.
  14. 제12항에 있어서, 상기 압축 해제 결정부는,
    상기 압축 데이터의 메모리 로드 비용과 비압축 데이터의 메모리 로드 비용을 비교하여 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 작을 경우 압축 데이터를 압축 상태로 디스크에 저장하고, 상기 압축 데이터의 메모리 로드 비용이 상기 비압축 데이터의 메모리 로드 비용 보다 클 경우 압축 데이터의 압축을 해제하여 디스크에 저장하는 디스크 저장부;를 포함하는, 대역폭을 고려한 하둡의 데이터 압축 전송 장치.
KR1020190156851A 2019-11-29 2019-11-29 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치 KR102195239B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190156851A KR102195239B1 (ko) 2019-11-29 2019-11-29 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190156851A KR102195239B1 (ko) 2019-11-29 2019-11-29 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치

Publications (1)

Publication Number Publication Date
KR102195239B1 true KR102195239B1 (ko) 2020-12-24

Family

ID=74087348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190156851A KR102195239B1 (ko) 2019-11-29 2019-11-29 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (1)

Country Link
KR (1) KR102195239B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114449041A (zh) * 2021-12-30 2022-05-06 东软集团股份有限公司 数据传输方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040039871A (ko) * 2002-11-05 2004-05-12 최선영 지능적인 비손실 압축 장치 및 그 방법
JP2004236032A (ja) 2003-01-30 2004-08-19 Ricoh Co Ltd 画像圧縮装置、復号装置、画像形成装置、プログラムおよび記憶媒体
US20060294125A1 (en) * 2005-06-25 2006-12-28 General Electric Company Adaptive video compression of graphical user interfaces using application metadata
EP1472793B1 (en) 2002-01-23 2012-07-25 Koninklijke Philips Electronics N.V. Data compression and expansion of a digital information signal
KR20130090911A (ko) * 2010-12-22 2013-08-14 인텔 코오퍼레이션 플랫폼의 재개 시간을 개선하기 위한 방법 및 장치
KR101727508B1 (ko) 2015-07-28 2017-04-18 서울과학기술대학교 산학협력단 하둡 기반 하드웨어 압축 고속화 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1472793B1 (en) 2002-01-23 2012-07-25 Koninklijke Philips Electronics N.V. Data compression and expansion of a digital information signal
KR20040039871A (ko) * 2002-11-05 2004-05-12 최선영 지능적인 비손실 압축 장치 및 그 방법
JP2004236032A (ja) 2003-01-30 2004-08-19 Ricoh Co Ltd 画像圧縮装置、復号装置、画像形成装置、プログラムおよび記憶媒体
US20060294125A1 (en) * 2005-06-25 2006-12-28 General Electric Company Adaptive video compression of graphical user interfaces using application metadata
KR20130090911A (ko) * 2010-12-22 2013-08-14 인텔 코오퍼레이션 플랫폼의 재개 시간을 개선하기 위한 방법 및 장치
KR101727508B1 (ko) 2015-07-28 2017-04-18 서울과학기술대학교 산학협력단 하둡 기반 하드웨어 압축 고속화 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A performance comparison of Apache Tez and MapReduce with data compression on Hadoop cluster, Kritwara Rattanaopas, 2017 14th International Joint Conference on Computer Science and Software Engineering (JCSSE)
하둡 시스템의 네트워크 자원 사용량 감소를 위한 스트리밍 압축 기법, 노승준 외 1인, 한국정보과학회 정보과학회논문지 제45권 제6호 2018.06516 - 521(6 pages)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114449041A (zh) * 2021-12-30 2022-05-06 东软集团股份有限公司 数据传输方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US10715618B2 (en) Compressibility estimation for lossless data compression
KR102069940B1 (ko) 페이지 기반 압축 저장 관리
US7460032B2 (en) Methods and apparatus for performing adaptive compression
US9564918B2 (en) Real-time reduction of CPU overhead for data compression
EP3108371B1 (en) Modified memory compression
US10461775B2 (en) Compression aware SSD
US20180285014A1 (en) Data storage method and apparatus
CN111857550B (zh) 用于数据去重的方法、设备以及计算机可读介质
US10585856B1 (en) Utilizing data access patterns to determine compression block size in data storage systems
US9268693B1 (en) System and method for improving cache performance
US11249987B2 (en) Data storage in blockchain-type ledger
CN112748863B (zh) 用于处理数据的方法、电子设备和计算机程序产品
CN113296709B (zh) 用于去重的方法和设备
US20200133866A1 (en) Byte select cache compression
KR102195239B1 (ko) 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치
CN110597461B (zh) 块链式账本中的数据存储方法、装置及设备
KR101842420B1 (ko) 정보 처리 장치 및 데이터 관리 방법
EP3396554A1 (en) Backup control method and backup control device
CN113609090A (zh) 数据存储方法及装置、计算机可读存储介质、电子设备
CN114065704A (zh) 数据压缩方法、电子设备和计算机程序产品
US10637969B2 (en) Data transmission method and data transmission device
US20170201602A1 (en) Network utilization improvement by data reduction based migration prioritization
US11360954B2 (en) System and method for hash-based entropy calculation
CN112667607B (zh) 一种历史数据的管理方法及相关设备
KR101593632B1 (ko) 데이터베이스 압축 방법 및 그 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant