KR20210100347A - 가시화 플랫폼에서 사전 샘플을 생성하는 방법 - Google Patents

가시화 플랫폼에서 사전 샘플을 생성하는 방법 Download PDF

Info

Publication number
KR20210100347A
KR20210100347A KR1020200014214A KR20200014214A KR20210100347A KR 20210100347 A KR20210100347 A KR 20210100347A KR 1020200014214 A KR1020200014214 A KR 1020200014214A KR 20200014214 A KR20200014214 A KR 20200014214A KR 20210100347 A KR20210100347 A KR 20210100347A
Authority
KR
South Korea
Prior art keywords
visualization
sample
data
area
records
Prior art date
Application number
KR1020200014214A
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 KR1020200014214A priority Critical patent/KR20210100347A/ko
Publication of KR20210100347A publication Critical patent/KR20210100347A/ko

Links

Images

Classifications

    • 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/2228Indexing structures
    • G06F16/2272Management thereof
    • 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
    • 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/29Geographical information databases

Landscapes

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

Abstract

본 발명의 실시 예에 따른 복수의 파티션들에 대한 공간 색인 및 목표 샘플 개수가 주어진 가시화 플랫폼에서 사전 샘플을 생성하는 방법은, 상기 공간 색인으로부터 파티션 목록을 읽어오는 단계, 상기 파티션 목록으로부터 전체 레코드 수를 계산하는 단계, 상기 전체 레코드 수에 대한 상기 목표 샘플 개수에 대한 샘플 비율을 계산하는 단계, 상기 샘플 비율에 따라 상기 복수의 파티션들 각각의 레코드들을 상기 샘플 비율에 따라 샘플링하는 단계, 그리고 상기 샘플링된 레코드들을 사전 샘플 파일에 저장하는 단계를 포함한다.

Description

가시화 플랫폼에서 사전 샘플을 생성하는 방법{METHOD FOR GENERATING PRESAMPLING ON THE VISUALIZATION PLATFORM}
본 발명은 공간 데이터 가시화 방법에 관한 것으로, 보다 상세하게는 복수의 파티션들에 대한 공간 색인 및 목표 샘플 개수가 주어진 가시화 플랫폼에서 사전 샘플을 생성하는 방법에 관한 것이다.
공간 데이터 분석 과정에 있어서 공간 데이터 가시화는 매우 중요한 역할을 차지한다. 일반적인 수치 데이터와 달리 공간 데이터는 공간 정보를 포함하고 있다. 공간 분석 과정에서 분석 공간 데이터(또는, 분석 결과 공간 데이터)를 지도상에 보여주면, 전체적인 데이터의 분포, 공간 데이터에 포함된 여러 가지 공간적 의미에 대한 이해를 도울 수 있다. 일반적인 데이터의 분석의 경우, 가시화를 통해 데이터의 일반적인 통계 정보를 보여주는 반면, 공간 데이터는 가시화 과정을 통해 전체 공간 데이터를 지도 위에 표출하여 보여줄 수 있다.
일반적으로 공간 데이터 가시화 플랫폼을 사용하여 공간 빅데이터를 가시화하는 경우, 화면에 표출할 다량의 공간 데이터로 인해 가시화 작업의 속도가 급격히 저하된다. 더불어, 메모리 자원의 한계로 인한 데이터 로딩이 불가능한 현상이 발생할 수 있다.
공간 빅데이터의 가시화 과정에서, 지도에 표출되는 데이터 수와 양이 폭발적으로 증가하여, 가시화 플랫폼이 가진 자원의 한계를 넘는 경우가 자주 발생한다. 공간 빅데이터의 가시화를 위해 가시화 플랫폼에 적재할 데이터가 급격히 증가하여 가시화 플랫폼의 성능이 급격히 저하될 수 있다. 심한 경우, 대규모 가시화 데이터로 인한 메모리 부족으로 가시화 플랫폼의 오류 발생 및 그로 인한 종료 현상이 자주 발생한다. 이 문제를 해결하기 위해서는 공간 빅데이터의 가시화 플랫폼에서는 대규모 공간 데이터를 효과적으로 처리하여 화면에 표출할 수 있는 방법이 필요한 실정이다.
본 발명의 목적은 대용량의 공간 빅데이터를 가시화하는 경우 발생하는 성능 저하 및 메모리 부족에 따른 종료 현상을 회피하기 위한 '사전 샘플링'을 활용한 공간 빅데이터 가시화 방법을 제공하는 데 있다. 이를 위해 공간 색인을 활용한 '사전 샘플 파일' 생성 방법과, 가시화 과정에서 '사전 샘플 파일'을 활용한 가시화 데이터 샘플링 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 복수의 파티션들에 대한 공간 색인 및 목표 샘플 개수가 주어진 가시화 플랫폼에서 사전 샘플을 생성하는 방법은, 상기 공간 색인으로부터 파티션 목록을 읽어오는 단계, 상기 파티션 목록으로부터 전체 레코드 수를 계산하는 단계, 상기 전체 레코드 수에 대한 상기 목표 샘플 개수에 대한 샘플 비율을 계산하는 단계, 상기 샘플 비율에 따라 상기 복수의 파티션들 각각의 레코드들을 상기 샘플 비율에 따라 샘플링하는 단계, 그리고 상기 샘플링된 레코드들을 사전 샘플 파일에 저장하는 단계를 포함한다.
본 발명에서는 샘플링에 기반한 대용량의 공간 빅데이터를 가시화하는 경우 전체 데이터를 대상으로 하는 샘플링에 따른 샘플링 속도 저하를 완화하기 위한 '사전 샘플'과 이를 활용한 재샘플링 방법을 통한 가시화 대상 데이터 샘플링 방법을 설명하였다. 이를 위해 본 발명에서는 공간 색인을 활용한 '사전 샘플' 생성 방법, 가시화 요청에 따른 '사전 샘플' 사용 여부 결정 방법, 그리고 사전 샘플을 활용하는 경우, 이에 따른 재 샘플링 방법을 기술하였다.
제안된 방법은 가시화를 위해 샘플링하는 경우, 전체 데이터를 검색하지 않고도 필요한 수만큼의 레코드들을 샘플링할 수 있는 장점을 제공한다. 또한, 사전 샘플에서 면적이 넓은 공간 레코드가 우선으로 저장되기 때문에, 면적이 넓은 레코드가 샘플링되어 가시화 경우 샘플링으로 인한 가시화 영역을 더욱 넓게 채울 수 있어, 샘플링으로 인한 데이터 누락 효과를 완화시킬 수 있다.
도 1은 공간 색인의 구조를 예시적으로 보여주는 블록도이다.
도 2는 파티션 단위로 구획된 공간 색인을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 공간 색인 파일, 샘플 수가 주어진 상태에서 사전 샘플을 만드는 과정을 보여주는 순서도이다.
도 4는 주어진 가시화 영역과 공간 색인의 파티션 목록 정보를 활용한 샘플링 비율 계산 방법을 설명하기 위한 예시적인 가시화 영역 설정을 보여주는 도면이다.
도 5는 가시화 플랫폼에서 도 4의 가시화 영역이 요청된 경우, 샘플링을 위한 샘플링 비율을 계산하는 방법을 보여준다.
도 6은 가시화 영역에 포함되는 공간 데이터를 수를 계산하는 방법을 예시적으로 보여주는 순서도이다.
도 7은 사전 샘플을 이용하여 가시화 영역에 포함된 데이터를 샘플링하는 방법을 보여주는 순서도이다.
도 8은 본 발명의 가상화 플랫폼을 간략히 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
본 발명에서는 대용량의 공간 빅데이터를 가시화하는 경우 발생하는 성능 저하 및 메모리 부족에 따른 종료 현상을 회피하기 위한 가시화 대상 공간 데이터 선정 방법을 설명한다. 본 발명에서 제안하는 방법은 가시화 대상 공간 빅데이터 전체에서 사전에 일정 개수의 데이터를 샘플링하여 별도로 관리하는 방법을 사용한다. 여기서는 이 별도 데이터를 '사전 샘플'이라 부른다. 사전 샘플 데이터만을 활용해서는 가시화 플랫폼에서 요청하는 모든 가시화 영역에서 활용할 수 없기 때문에, 사전 샘플을 사용할 수 있는지 여부도 판단할 필요가 있다.
본 발명에서는 공간 색인을 활용한 '사전 샘플' 생성 방법, 가시화 요청에 따른 사전 샘플 사용 여부 결정 방법, 그리고 사전 샘플을 활용하는 경우, 이에 따른 재 샘플링 방법을 기술한다.
본 발명의 방법을 활용하기 위해서 가시화 플랫폼에서 샘플링을 활용한 가시화 방법을 사용하는 것을 가정한다. 즉 데이터 표출을 위해 모든 대상 데이터를 사용하지 않고, 대상 데이터의 일부를 무작위로 샘플링하여 가시화하는 환경에서 사용된다. 이 방법은 가시화 대상 데이터양을 줄여 가시화에 필요한 메모리 소모가 줄어들어 가시화 작업을 단축하고, 가시화 과정 중에 오류 발생으로 종료되는 현상을 방지할 수 있다.
그러나 샘플링 기반 가시화 방법은 샘플링된 데이터가 실제 표출된 데이터에서 공간 분포와 유사하게 선택되어야 하기 때문에, 샘플링 과정에서 모든 가시화 대상 데이터에 접근해야 할 필요성이 발생한다. 즉, 샘플링 기반 가시화 방법은 가시화 플랫폼에 전달될 데이터를 양을 줄일 수는 있어도, 샘플링 과정에서 가시화 영역에 포함된 모든 공간 빅데이터를 접근해야 하는 문제를 해결하지는 못한다. 그러므로 고속 공간 빅데이터 가시화를 위해서는 샘플링 과정에서 가시화 영역의 전체 데이터에 접근하지 않는 상태에서 가시화 대상 샘플을 생성하는 방법이 필요하다.
1. 공간 색인 구조
도 1은 공간 색인의 구조를 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 공간 색인은 적어도 하나의 파티션(Partition) 파일들(115, 125, 135, 165)과 하나의 파티션 목록(100)을 포함한다.
파티션 파일들(115, 125, 135, 165) 각각에는 일정 영역에 속한 공간 레코드(Spatial Record)들이 저장되어 있다. 모든 파티션 파일들(115, 125, 135, 165)이 생성된 후에, 파티션 파일들(115, 125, 135, 165) 각각에 대한 요약 정보들(110, 120, 130, 140, 150, 160)을 별도로 모아 하나의 파일에 저장되며, 이 파일을 이를 파티션 목록(100)이라 부른다. 파티션 목록(100)에는 파티션 파일들(115, 125, 135, 165) 각각의 식별자, 저장된 공간 데이터들의 전체 MBR(Minimum Bounding Rectangle) 정보, 저장된 공간 데이터의 개수, 그리고 파티션 파일들(115, 125, 135, 165) 각각의 저장 위치 정보가 포함된다. 만일 질의 영역 'A'가 주어지면, 전역 색인 파일만 접근하면 영역 'A'와 중첩되는 데이터를 포함할 가능성이 있는 파티션들을 알아낼 수 있다.
일반적으로 파티션 파일의 크기는 고정적이기 때문에, 하나의 파티션에 저장될 수 있는 공간 데이터의 개수는 제한적이다. 만일, 하나의 파티션에 저장될 공간 데이터의 총량이 파티션의 최대 크기를 넘어가게 되면, 해당 파티션은 자신이 담당하는 영역을 4분할로 나뉘어지게 된다. 그리고 기존 공간 데이터들은 자신의 위치에 따라 새롭게 생성된 4개의 분할들 중 하나(또는 그 이상)의 파티션에 저장된다. 이러한 특성으로 인해, 공간 데이터가 특정 지역에 집중된 경우에는 해당 지역은 작은 영역을 담당하는 다수의 파티션들로 구성되고, 공간 데이터가 적은 공간은 소수의 큰 영역의 파티션이 존재하게 된다.
도 2는 파티션 단위로 구획된 공간 색인을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 한반도의 병원 데이터를 공간 색인한 결과를 보여준다. 여기에서, 실선으로 표시된 사각형이 각 파티션이 담당하는 영역을 보여준다.
파티션(230)에는 큰 파티션이 다시 4분할되는 색인 결과가 도시되어 있다. 서울 및 수도권 주변에는 많은 수의 병원이 존재하기 때문에, 다수의 분할된 파티션들이 존재하는 것을 알 수 있다. 반면, 파티션들(210, 220)과 같이 강원도 주변에는 적은 병원 수로 인해 상대적으로 파티션의 수가 적지만, 상대적으로 담당 영역이 큰 것을 확인할 수 있다.
2. 사전 샘플의 생성 방법
'사전 샘플'은 주어진 공간 빅데이터 전체에 포함된 레코드들 중에서 주어진 수의 레코드를 무작위로 선택하여 모은 레코드 세트이다. 본 발명에서는 샘플링 대상 공간 빅데이터의 공간 색인과 샘플 개수가 주어진다고 가정한다.
도 3은 본 발명의 실시 예에 따른 공간 색인 파일, 샘플 수가 주어진 상태에서 사전 샘플을 만드는 과정을 보여주는 순서도이다. 도 3을 참조하면, 사전 샘플은 공간 색인의 각 파티션별로 샘플링되기 때문에 전체 공간 영역에 대해서 균일하게 샘플링될 수 있다. 여기서, 'N'은 전체 레코드의 수를, 'S'는 목표 샘플의 수를 나타낸다.
S110 단계에서, 가시화 플랫폼은 공간 색인에 저장된 파티션 목록(100, 도 1 참조)을 읽어 온다.
S120 단계에서, 가시화 플랫폼은 파티션 목록(100)에 저장된 정보를 기초로 전체 레코드 수(N)를 계산한다. 가시화 플랫폼은 계산된 전체 레코드 수(N)를 이용하여 샘플 비율(R)을 계산한다. 샘플 비율(R)은 목표 샘플 수(S)를 전체 레코드 수(N)로 나눔으로써 계산될 수 있다. 이어서, 공간 색인에 포함된 각 파티션을 차례로 읽어 사전 샘플을 생성한다. 이러한 절차는 S125 단계 내지 S185 단계의 동작 루프를 통해서 구현될 수 있다.
S125 단계에서, 파티션의 초기값이 설정된다. 예를 들면, 파티션 파일의 선택 시퀀스 'i' 가 '1'으로 초기화될 수 있다. 'i'의 초기값이 '0'이어도 무방하다.
S130 단계에서, 가시화 플랫폼은 'i' 번째 파티션을 선택한다.
S140 단계에서, 가시화 플랫폼은 'i' 번째 파티션에 저장된 레코드에 대해 샘플 비율(R)에 따라 무작위로 샘플링한다.
S150 단계에서, 가시화 플랫폼은 공간 색인의 공간 데이터에 면적에 대한 정보를 포함하는지 체크한다. 만일, 공간 데이터에 면적에 대한 정보가 포함되는 경우(예 방향), 절차는 S160 단계로 이동한다. 반면, 공간 데이터에 면적에 대한 정보가 포함되지 않는 경우(아니오 방향), 절차는 S170 단계로 스킵하여 면적에 따른 정렬 작업을 생략한다.
S160 단계에서, 가시화 플랫폼은 공간 데이터의 면적에 따라 공간 데이터를 정렬한다. 예를 들면, 면적이 넓은 순서에 따라 공간 데이터가 정렬될 수 있다.
S170 단계에서, 가시화 플랫폼은 정렬된 샘플 레코드를 할당된 '사전 샘플' 파일에 저장한다. 이때, 저장될 각 샘플 레코드에 해당 파티션 식별자가 함께 저장될 것이다.
S180 단계에서, 가시화 플랫폼은 현재 처리되는 파티션이 파티션 목록에 포함되는 마지막 파티션인지 체크한다. 만일, 현재 처리되는 파티션이 마지막인 경우, 제반 사전 샘플링 절차는 종료될 것이다. 반면, 현재 처리되는 파티션이 마지막이 아닌 경우, 추가적인 파티션을 선택하기 위한 S185 단계로 이동한다.
S180 단계에서, 가시화 플랫폼은 파티션 파일의 선택 시퀀스 'i'를 증가시킨다. 이후, 절차는 S130 단계로 이동하여, 후속 파티션 파일에 대한 사전 샘플링을 위한 처리가 진행될 것이다.
이상의 순서도에 따르면, 공간 색인에 포함된 파티션 별로 순차적으로 사전 샘플의 생성 작업이 수행되는 것으로 표현되었다. 하지만, 각각의 파티션 파일의 사전 샘플링 작업은 서로 독립적으로 수행할 수 있기 때문에, 하둡 환경하에서는 여러 노드에 분산시켜 병렬로 처리될 수 있다.
더불어, 이상의 방법으로 생성된 '사전 샘플'은 공간 색인의 각 파티션 별로 샘플링되기 때문에, 전체 영역에 거쳐 균일하게 샘플될 수 있다. 더불어, 파티션 별로 동일한 비율로 샘플링되기에 지역적인 데이터 분포도 반영되는 장점을 갖는다.
3. 서전 샘플 활용 여부 결정 방법
가시화 플랫폼에서 요청하는 모든 가시화 영역에 대해 사전 샘플 사용한 샘플링 방법을 사용할 수 있다. 사전 샘플에 포함된 레코드보다 더 많은 수 레코드가 사용될 경우에는 이 방법이 사용될 수 있다. 그러므로 '사전 샘플'을 활용한 가시화 방법을 사용하기 위해서는, 가시화 플랫폼에서 제시한 가시화 영역과 샘플 수에 따라 미리 생성된 사전 샘플을 사용할 수 있는지를 판단하여야 한다. 이를 위해서는 가시화 영역에 포함될 레코드의 수를 추정하는 과정이 필요하다.
도 4는 주어진 가시화 영역과 공간 색인의 파티션 목록 정보를 활용한 샘플링 비율 계산 방법을 설명하기 위한 예시적인 가시화 영역 설정을 보여주는 도면이다. 도 4를 참조하면, 실선으로 구획된 사각 영역은 데이터 세트의 파티션들과 각 파티션의 영역을 보여준다. 그리고 점선으로 표시된 사각 영역은 가시화 플랫폼에서 요청한 가시화 영역을 보여준다.
파티션 영역의 중앙에 위치한 번호들(1~7)은 각 파티션의 고유 식별자를 보여주고, 가시화 영역 내의 숫자는 각 파티션에서 가시화 영역이 차지하는 비율을 나타낸다. 예를 들어, 파티션 1의 경우는 전체 영역에서 10%에 해당하는 비율의 영역이 가시화 영역과 겹치는 것으로 볼 수 있다.
도 5는 가시화 플랫폼에서 도 4의 가시화 영역이 요청된 경우, 샘플링을 위한 샘플링 비율을 계산하는 방법을 보여준다. 도 5를 참조하면, 샘플링 비율은 주어진 가시화 영역에 포함되는 공간 데이터의 수를 추정하여 요청된 샘플 수를 나누는 순서를 수행될 수 있다.
S210 단계에서, 공간 색인에 포함된 파티션 등록 정보 목록을 읽는다. 각 파티션 등록 정보에서는 각 파티션이 차지하는 영역과 파티션에 저장된 공간 데이터의 수가 기록되어 있다. 각 파티션 영역을 활용하여 주어진 가시화 영역과 겹치는 파티션을 검색한다. 도 4에서는 전체 7개의 파티션 중에서 5개의 파티션들(1, 4, 5, 6, 7)이 검색된다. 그리고 가시화 영역에 포함되는 전체 레코드 수는 '2820'개로 파악될 수 있다.
S220 단계에서, 샘플 비율이 계산된다. S210 단계에서 가시화 영역에 포함되는 전체 레코드 수에 대한 미리 설정된 요청된 샘플 개수가 계산된다. 즉, 이러한 조건에서의 샘플 비율은 약 '0.355'로 계산될 수 있다.
S230 단계에서, 가시 영역이 중첩되는 5개의 파티션들(1, 4, 5, 6, 7)이 계산된 샘플 비율(예를 들면, 0.355)에 따라 샘플링될 수 있다.
도 6은 가시화 영역에 포함되는 공간 데이터를 수를 계산하는 방법을 예시적으로 보여주는 순서도이다. 도 6을 참조하면, 저장된 공간 데이터들에 접근하지 않은 상태에서 공간 색인에 포함된 파티션 목록만을 활용하여 공간 데이터의 수가 계산될 수 있다.
S310 단계에서, 가시화 플랫폼은 공간 색인에 포함된 파티션 등록 정보의 목록을 읽어 온다. 각 파티션 등록 정보에는 각 파티션이 차지하는 영역 및 각 파티션에 저장된 공간 데이터의 수가 기록되어 있다.
S320 단계에서, 가시화 플랫폼은 각 파티션 영역을 활용하여 주어진 가시화 영역과 겹치는 파티션을 검색한다. 예를 들면, 도 4에서는 전체 7개의 파티션 중에서 5개의 파티션들(1, 4, 5, 6, 7)이 검색될 것이다.
S330 단계에서, 가시화 플랫폼은 검색된 각 파티션의 영역(Ap)과 가시화 영역(Q)이 중첩되는 영역(Op)을 계산한다. 즉, 중첩되는 영역(Op)은 아래 수학식 1과 같은 방식으로 계산될 수 있다.
Figure pat00001
S340 단계에서, 가시화 플랫폼은 중첩되는 영역(Op)이 해당 파티션 영역(Ap) 전체에서 차지하는 비율(Rp)을 계산한다. 예를 들면, 비율(Rp)은 아래 수학식 2와 같은 방식으로 계산될 수 있다.
Figure pat00002
S350 단계에서, 가시화 플랫폼은 계산된 비율(Rp)과 해당 파티션에 저장된 전체 레코드 수(Np)를 곱한 값(Ep = Np × Rp)을 구한다. 여기서, 값(Ep)은 각 파티션에 저장된 레코드들 중에서 추정 가시화 영역에 포함된 공간 데이터의 수의 추정값에 해당한다.
S360 단계에서, 가시화 플랫폼은 가시화 영역과 겹치는 모든 파티션의 추정 데이터 수를 모두 더한 값(E)을 계산한다. 이 값은 주어진 가시화 영역에 포함될 공간 데이터의 수의 추정값을 의미한다. 도 5를 참조하면, 추정 데이터 수를 모두 더한 값(E)은 2820개로, 2820개의 레코드가 가시화 영역에 포함되는 것으로 추정됨을 의미한다.
이상의 절차에 따르면, 추정된 2820개의 레코드 수(E)를 이용하여 M 개의 레코드가 저장된 사전 샘플에 저장된 레코드들 중에서 가시화 영역에 포함된 레코드의 수를 다음의 절차에 따라 추정할 수 있다.
먼저, 사전 샘플에서 가시화 영역 내에 포함될 레코드 수(Qt)를 계산한다. 사전 샘플에서 가시화 영역 내에 포함될 레코드 수(Qt)는 아래 수학식 3을 사용하여 계산될 수 있다.
Figure pat00003
여기서, E는 가시화 영역과 겹치는 모든 파티션의 추정 데이터 수를 모두 더한 값이고, M은 사전 샘플에 저장된 레코드 수, 그리고 N은 해당 파티션에 저장된 레코드 수를 나타낸다.
만일, 사전 샘플에서 가시화 영역 내에 포함될 레코드 수(Qt)가 가시화 데이터 샘플 수(S)보다 크거나 같다면, 사전 샘플을 사용한 샘플링이 가능한 것을 의미한다. 하지만, 사전 샘플에서 가시화 영역 내에 포함될 레코드 수(Qt)가 가시화 데이터 샘플 수(S)보다 작다면, 사전 샘플 내에 충분한 결과 레코드가 없다는 것을 의미하며, 이는 사전 샘플을 사용할 수 없는 것을 의미한다. 사전 샘플을 사용할 수 있는 경우는 'S/Qt(=Rt)'값이 사전 샘플에서의 레코드를 샘플링할 때 사용할 샘플 비율을 의미한다.
4. 사전 샘플을 활용한 가시화 영역 내 데이터 샘플링 방법
도 7은 사전 샘플을 이용하여 가시화 영역에 포함된 데이터를 샘플링하는 방법을 보여주는 순서도이다. 도 7을 참조하면, 사전 샘플을 사용한 가시화 데이터 제공이 가능한 경우에, 가시화 영역에 포함된 데이터를 사전 샘플을 사용하여 후술하는 절차에 따라 선택할 수 있다.
S410 단계에서, 가시화 플랫폼은 사전 샘플에 포함된 레코드를 읽어낸다.
S420 단계에서, 가시화 플랫폼은 읽혀진 레코드에 포함된 파티션 식별자 별로 전체 레코드들을 그룹화한다.
S430 단계에서, 가시화 플랫폼은 각 그룹별로 그룹에 포함된 레코드들의 수와 'Rt'를 곱한 값의 수만큼의 레코드를 순차적으로 선택한다. 사전 샘플 데이터는 이미 무작위로 샘플링된 데이터가 저장되었기 때문에 별도의 샘플링이 필요없고, 순차적으로 레코드를 사용한다. 그리고 사전 샘플 생성 과정에서 면적을 갖는 공간 레코드의 경우에는, 면적이 넓은 레코드가 앞에 저장되기 때문에, 재샘플링 과정에서 면적이 넓은 레코드가 먼저 선택된다.
이와 같이 사전 샘플을 사용하면, 가시화 영역 내의 레코드를 샘플링하는 경우, 전체 데이터를 검색하지 않고도 필요한 수만큼의 레코드들을 샘플링할 수 있는 장점이 제공된다. 또한, 사전 샘플에서 면적이 넓은 공간 레코드가 우선으로 저장되기 때문에, 면적이 넓은 레코드가 샘플링되게 된다. 이 경우 가시화의 경우 샘플링으로 인한 가시화 영역을 보다 넓게 채울 수 있어, 샘플링으로 인한 데이터 누락 효과를 완화시킬 수 있다.
도 8은 본 발명의 가상화 플랫폼을 간략히 보여주는 블록도이다. 도 8을 참조하면, 가상화 플랫폼(1000)은 프로세서(1100), 컴퓨터 판독 가능 저장 매체(1200), 입출력 인터페이스(1300), 그리고 네트워크 인터페이스(1400), 입출력 장치(1500)를 포함할 수 있다. 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
가상화 플랫폼(1000)은 적어도 하나의 프로세서(1100), 컴퓨터 판독 가능 저장 매체(1200), 입출력 인터페이스(1300), 입출력 장치(1500) 및 네트워크 인터페이스(1400)를 포함할 수 있다. 프로세서(1100)는 가상화 플랫폼(1000)으로 하여금 앞서 언급된 예시적인 실시 예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(1100)는 컴퓨터 판독 가능 저장 매체(1200)에 저장된 하나 이상의 프로그램(1250)을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(1100)에 의해 실행되는 경우 가상화 플랫폼(1000)으로 하여금 예시적인 실시 예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(1200)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(1200)에 저장된 프로그램(1250)은 프로세서(1100)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시 예에서, 컴퓨터 판독 가능 저장 매체(1200)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 가상화 플랫폼(1000)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
입출력 인터페이스(1300)는 가상화 플랫폼(1000)과 입출력 장치(1500)와의 인터페이싱을 제공한다. 네트워크 인터페이스(1400)는 네트워크(1600)와 가상화 플랫폼(1000) 사이에서 인터페이싱을 제공한다.
입출력 장치(1500)는 입출력 인터페이스(1300)를 통해 가상화 플랫폼(1000)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(1500)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(1500)는 가상화 플랫폼(1000)을 구성하는 일 컴포넌트로서 가상화 플랫폼(1000)의 내부에 포함될 수도 있고, 가상화 플랫폼(1000)와는 구별되는 별개의 장치로 제공될 수도 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (1)

  1. 복수의 파티션들에 대한 공간 색인 및 목표 샘플 개수가 주어진 가시화 플랫폼에서 사전 샘플을 생성하는 방법에 있어서:
    상기 공간 색인으로부터 파티션 목록을 읽어오는 단계;
    상기 파티션 목록으로부터 전체 레코드 수를 계산하는 단계;
    상기 전체 레코드 수에 대한 상기 목표 샘플 개수에 대한 샘플 비율을 계산하는 단계;
    상기 샘플 비율에 따라 상기 복수의 파티션들 각각의 레코드들을 상기 샘플 비율에 따라 샘플링하는 단계; 그리고
    상기 샘플링된 레코드들을 사전 샘플 파일에 저장하는 단계를 포함하는 사전 샘플을 생성하는 방법.
KR1020200014214A 2020-02-06 2020-02-06 가시화 플랫폼에서 사전 샘플을 생성하는 방법 KR20210100347A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200014214A KR20210100347A (ko) 2020-02-06 2020-02-06 가시화 플랫폼에서 사전 샘플을 생성하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200014214A KR20210100347A (ko) 2020-02-06 2020-02-06 가시화 플랫폼에서 사전 샘플을 생성하는 방법

Publications (1)

Publication Number Publication Date
KR20210100347A true KR20210100347A (ko) 2021-08-17

Family

ID=77466290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200014214A KR20210100347A (ko) 2020-02-06 2020-02-06 가시화 플랫폼에서 사전 샘플을 생성하는 방법

Country Status (1)

Country Link
KR (1) KR20210100347A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114067079A (zh) * 2021-11-19 2022-02-18 北京航空航天大学 复杂曲面电磁波矢量动态可视化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114067079A (zh) * 2021-11-19 2022-02-18 北京航空航天大学 复杂曲面电磁波矢量动态可视化方法

Similar Documents

Publication Publication Date Title
US11461027B2 (en) Deduplication-aware load balancing in distributed storage systems
JP5798503B2 (ja) ファイルリスト生成方法及びシステム、ファイルリスト生成装置並びにプログラム
EP2199935A2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
CN109271343A (zh) 一种应用于键值存储系统中的数据合并方法和装置
US10936606B2 (en) Method and system for processing data in a parallel database environment
US20130325817A1 (en) Linear sweep filesystem checking
KR20160100211A (ko) 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치
CN106227769B (zh) 数据存储方法及装置
KR20210100347A (ko) 가시화 플랫폼에서 사전 샘플을 생성하는 방법
US20100262594A1 (en) Reducing access time for data in file systems when seek requests are received ahead of access requests
CN110362569A (zh) 数据表的校验方法及装置、电子设备、存储介质
US9235578B2 (en) Data partitioning apparatus and data partitioning method
US20070255771A1 (en) Method and system for renewing an index
CN112231531A (zh) 一种基于opentsdb的数据展示方法、设备及介质
CN108536759B (zh) 一种样本回放数据存取方法及装置
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム
CN116414935A (zh) 一种基于Elastic Search的分布式搜索空间矢量数据的方法
US20200042634A1 (en) Methods and apparatus to partition a database
KR101242860B1 (ko) 누적 이동 평균에 기반하여 다원 탐색 트리의 노드를 분할하는 방법 및 장치
EP3995972A1 (en) Metadata processing method and apparatus, and computer-readable storage medium
CN112035380B (zh) 一种数据处理方法、装置、设备及可读存储介质
KR102354343B1 (ko) 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치
CN114492776A (zh) 一种数据处理方法及装置、存储介质
US20160232187A1 (en) Dump analysis method, apparatus and non-transitory computer readable storage medium
CN113590623A (zh) 一种用于数据深分页查询的方法、装置及设备

Legal Events

Date Code Title Description
A201 Request for examination