KR101293770B1 - apparatus for outputting data and method thereof - Google Patents

apparatus for outputting data and method thereof Download PDF

Info

Publication number
KR101293770B1
KR101293770B1 KR1020100115154A KR20100115154A KR101293770B1 KR 101293770 B1 KR101293770 B1 KR 101293770B1 KR 1020100115154 A KR1020100115154 A KR 1020100115154A KR 20100115154 A KR20100115154 A KR 20100115154A KR 101293770 B1 KR101293770 B1 KR 101293770B1
Authority
KR
South Korea
Prior art keywords
visualization
data
node
area
block
Prior art date
Application number
KR1020100115154A
Other languages
Korean (ko)
Other versions
KR20120053833A (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 KR1020100115154A priority Critical patent/KR101293770B1/en
Publication of KR20120053833A publication Critical patent/KR20120053833A/en
Application granted granted Critical
Publication of KR101293770B1 publication Critical patent/KR101293770B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 자료표출시스템 및 자료표출방법에 관한 것이다. 본 발명의 일 실시예는, 특정 영역에 대한 지구환경데이터에 대한 가시화 작업을 요청하는 클라이언트, 상기 요청된 가시화 작업 요청을 수신하고, 상기 특정 영역을 복수의 가시화 블록 영역 단위로 분할하고, 상기 분할된 적어도 2개 이상의 블록 영역 단위에 대한 가시화 작업을 동시에 수행하도록 제어하는 서버; 및 상기 서버로부터 분할된 블록 영역 단위들에 대한 가시화 작업들 중 적어도 하나 이상의 가시화 작업을 할당받고, 상기 특정 영역에 대한 지구환경데이터를 복수의 영역 단위들로 나누어 저장한 원본 데이터를 이용하여 상기 할당된 가시화 작업을 수행하는 복수의 슬레이브 노드들을 포함하는 자료표출시스템을 제공한다.The present invention relates to a data presentation system and a data presentation method. According to an embodiment of the present invention, a client requesting a visualization task for global environment data for a specific region, receiving the requested visualization task request, dividing the specific region into a plurality of visualization block region units, and performing the division A server controlling to simultaneously perform visualization operations on at least two block area units; And assigning at least one visualization task among the visualization tasks for the divided block region units from the server, and using the original data obtained by dividing and storing the global environment data for the specific region into a plurality of region units. It provides a data presentation system comprising a plurality of slave nodes for performing the visualized operation.

Description

자료 표출 시스템 및 자료 표출 방법{apparatus for outputting data and method thereof} Apparatus for outputting data and method

본 발명은 대용량의 계산입력자료 또는 계산결과자료를 용이하게 표출하도록 할 수 있는 발명에 관한 것으로서, 많은 양의 입력 자료를 용이하게 처리하여 표출하도록 하는 자료 표출 시스템 및 그 방법에 관한 것이다. The present invention relates to an invention that can easily display a large amount of calculation input data or calculation result data, and relates to a data display system and method for easily processing a large amount of input data to display.

대기권, 수권, 암석권, 생물권, 빙권 등 지구환경에 대한 자료는 그 양이 방대하여 그 데이터를 체계적으로 처리하여 표출하는데 많은 전산 리소스를 필요로 한다. 전산 자원의 발달로 사용자가 요구하는 지구환경자료의 관측 또는 가공 자료의 해상도는 높아지고 있지만, 그러한 해상도에 맞게 데이터를 가공, 처리, 분석 및 표출할 경우 데이터 처리 속도의 한계로 인하여 사용자가 원하는 결과를 얻을 때까지 사용자가 들이는 시간과 노력이 매우 많았고, 각 단계를 제어하고 표출하기 위한 과정 또한 사용자가 직접 관리, 입력 및 제어해야 하기 때문에 불편한 점이 많았다. The data on the global environment, such as the atmosphere, the hydrosphere, the rock zone, the biosphere, and the ice zone, are enormous and require a lot of computational resources to systematically process and display the data. The development of computational resources is increasing the resolution of the observation or processing data of the earth environment data that the user requires, but when processing, processing, analyzing, and displaying the data according to such resolution, the user's desired result is limited due to the limitation of the data processing speed. It took a lot of time and effort for the user to get it, and the process for controlling and expressing each step was also inconvenient because the user had to manage, input, and control himself.

예를 들어, 사용자는 원하는 모델 결과를 얻기 위해 각 시스템에 필요한 메모리를 고려하여 그에 따른 입력자료를 직접 선택해야 하고, 각 시스템에 입력자료를 할당하고, 그 결과를 직접 모아 자료 표출 툴을 이용하여 가시화시켰다. 그러나, 대용량 데이터를 취급할수록 위와 같은 작업은 오랜 시간이 소요되어 비효율적이고, 불편한 문제점이 있었다. 지구환경자료의 경우 시공간적으로 변화하는 4차원 데이터로서, 시공간적 해상도에 따라 방대한 시간 가변 데이터이므로 사용자가 용이하게 이를 가시화하지 못하였다. For example, the user must manually select the inputs according to the memory required by each system to obtain the desired model results, assign the inputs to each system, collect the results directly, and then use the data presentation tool. Visualization. However, as the large data is handled, the above operation takes a long time, resulting in inefficient and inconvenient problems. In the case of the earth environment data, it is four-dimensional data that changes in time and space, and it is not easy for the user to visualize it because it is a huge time variable data according to the time-space resolution.

태풍, 홍수 등의 기상자료를 포함하는 지구환경자료의 관측자료나 이를 근거로 수행된 모델결과 자료에 대한 신속하고 정확한 분석을 위해 방대한 시간 가변 데이터의 효과적인 처리 방법이 필요하다. In order to quickly and accurately analyze the observation data of global environmental data including meteorological data such as typhoon and flood or the model result data based on it, an effective method of processing a large amount of time variable data is needed.

본 발명의 목적은 대용량 데이터를, 분산처리로 빨리 추출할 수 있는 자료 표출 시스템 및 그 방법을 제공하는 것이다.  It is an object of the present invention to provide a data display system and method for extracting large amounts of data quickly by distributed processing.

본 발명의 다른 목적은 추출한 자료를 효율적으로 처리하고 취합하여 표출할 수 있는 자료 표출 시스템 및 그 방법을 제공하는 것이다.  Another object of the present invention is to provide a data presentation system and method for efficiently processing, collecting and presenting extracted data.

본 발명의 또 다른 목적은 사용자가 원하는 자료에 대한 결과 자료를 용이하게 얻을 수 있는 자료 표출 시스템 및 그 방법을 제공하는 것이다.  It is still another object of the present invention to provide a data presentation system and method for easily obtaining the result data for a user's desired data.

본 발명의 일 실시예는, 특정 영역에 대한 지구환경데이터에 대한 가시화 작업을 요청하는 클라이언트, 상기 요청된 가시화 작업 요청을 수신하고, 상기 특정 영역을 복수의 가시화 블록 영역 단위로 분할하고, 상기 분할된 적어도 2개 이상의 블록 영역 단위에 대한 가시화 작업을 동시에 수행하도록 제어하는 서버; 및 상기 서버로부터 분할된 블록 영역 단위들에 대한 가시화 작업들 중 적어도 하나 이상의 가시화 작업을 할당받고, 상기 특정 영역에 대한 지구환경데이터를 복수의 영역 단위들로 나누어 저장한 원본 데이터를 이용하여 상기 할당된 가시화 작업을 수행하는 복수의 슬레이브 노드들을 포함하는 자료표출시스템을 제공한다.According to an embodiment of the present invention, a client requesting a visualization task for global environment data for a specific region, receiving the requested visualization task request, dividing the specific region into a plurality of visualization block region units, and dividing the specific region A server controlling to simultaneously perform visualization operations on at least two block area units; And assigning at least one visualization task among the visualization tasks for the divided block region units from the server, and using the original data obtained by dividing and storing the global environment data for the specific region into a plurality of region units. It provides a data presentation system comprising a plurality of slave nodes for performing the visualized operation.

상기 서버는, 상기 가시화 작업을 동시에 상기 복수의 슬레이브 노드들에 할당하고,상기 슬레이브 노드들이 수행하는 가시화 작업의 결과 데이터를 수집하는 마스터 노드; 및 상기 수집된 가시화 작업의 결과 데이터를 마스터 노드로부터 수신하고, 상기 수신한 가시화 작업 결과 데이터를 상기 클라이언트에게 웹 기반의 자료로 제공할 수 있다. The server may include: a master node allocating the visualization task to the plurality of slave nodes at the same time, and collecting result data of the visualization task performed by the slave nodes; And receiving the result data of the collected visualization task from a master node, and providing the received visualization task result data to the client as web-based data.

상기 자료표출서버는, 상기 클라이언트로부터 상기 특정 영역의 식별자, 상기 특정 영역의 최소 좌표 및 상기 특정 영역의 최대 좌표 중 적어도 하나를 상기 클라이언트로부터 수신할 수 있다. The data presentation server may receive from the client at least one of an identifier of the specific region, a minimum coordinate of the specific region, and a maximum coordinate of the specific region.

상기 자료표출서버는, 상기 특정 영역의 수치 표고의 샘플링 간격 또는 상기 특정 영역의 정사 영상 비율을 상기 클라이언트로부터 수신하고, 상기 수신된 샘플링 간격 또는 정사 영상 비율에 따라 상기 가시화 작업을 상기 마스터 노드로 요청할 수 있다.The data presentation server receives from the client a sampling interval of the numerical elevation of the specific area or an ortho-image ratio of the specific area from the client, and requests the visualization operation to the master node according to the received sampling interval or the ortho-image rate. Can be.

상기 자료표출서버는, 상기 클라이언트로부터 수신한 상기 클라이언트의 표출 해상도를 이용하여 상기 가시화 작업 결과 데이터의 해상도를 조절하고, 상기 해상도가 조절된 가시화 작업 결과 데이터를 상기 클라이언트로 제공할 수 있다.The data presentation server may adjust the resolution of the visualization operation result data using the presentation resolution of the client received from the client, and provide the visualization operation result data with the resolution adjusted to the client.

상기 서버는, 상기 분할된 적어도 2개 이상의 블록 영역 단위들과, 상기 원본 데이터 의 복수의 영역 단위가 중복성 정도에 따라 상기 가시화 작업을 분할할 수 있다 The server may divide the visualization operation according to the degree of redundancy between the divided at least two block area units and the plurality of area units of the original data.

상기 복수의 슬레이브 노드들은, 상기 특정 영역의 폴리곤(polygon) 데이터와 텍스쳐(texture)를 이용하여 상기 가시화 작업을 수행할 수 있다. The plurality of slave nodes may perform the visualization operation using polygon data and texture of the specific region.

상기 슬레이브 노드들은, 상기 블록 영역 단위로 상기 원본 데이터를 읽을 수 있고, 상기 블록 영역 단위에 해당하는 데이터를 캐쉬(cache)할 수 있다.The slave nodes may read the original data in the block region unit and cache data corresponding to the block region unit.

본 발명의 다른 실시예는, 특정 영역에 대한 지구환경데이터에 대한 가시화 작업을 요청하는 단계, 상기 요청된 가시화 작업 요청을 수신하고, 상기 특정 영역을 복수의 가시화 블록 영역 단위로 분할하는 단계, 상기 분할된 블록 영역 단위들에 대한 가시화 작업들 중 적어도 하나의 가시화 작업을 할당받고, 상기 특정 영역을 복수의 영역 단위로 저장한 원본 데이터를 이용하여 상기 할당된 가시화 작업들 중 적어도 2개 이상 블록 영역 단위에 대한 가시화 작업을 동시에 수행하는 단계 및 상기 동시에 수행된 가시화 작업들의 결과 데이터를 수집하고, 상기 수집된 결과 데이터를 제공하는 단계를 포함하는 자료표출방법을 제공한다.According to another embodiment of the present invention, the method may further include: requesting a visualization operation for global environment data for a specific region, receiving the requested visualization operation request, and dividing the specific region into a plurality of visualization block region units. At least two of the visualization operations assigned to at least one of the visualization operations for the divided block region units and using the original data storing the specific region in a plurality of region units. It provides a data presentation method comprising the step of performing a visualization operation for the unit at the same time, and collecting the result data of the visualization operation performed at the same time, and providing the collected result data.

본 실시예에 따르면 대용량 데이터를 분산처리를 통해 빨리 추출할 수 있고, 추출한 자료를 효율적으로 처리하여 표출할 수 있으며, 사용자가 원하는 자료에 대한 결과 자료를 용이하게 얻을 수 있다.  According to the present embodiment, a large amount of data can be quickly extracted through distributed processing, the extracted data can be efficiently processed and displayed, and the result data for the data desired by the user can be easily obtained.

도 1은 본 발명에 따른 자료 표출 시스템의 일 실시예를 개시한 도면
도 2는 마스터 노드나 자료표출서버가, 자료표출서버나 슬레이브 노드로부터 각각 수신하는 정보를 예시한 도면
도 3은 마스터 노드가 슬레이브 노드에 가시화 작업을 분할하는 예를 예시한 도면
도 4는 도 3의 영역에 가시화 작업 영역을 함께 표시한 도면
도 5는 마스터 노드가 가시화 작업을 분할하는 예를 개시한 도면
도 6은 마스터 또는 슬레이브 노드에서 가시화 작업을 하기 위한 데이터 획득 방법을 예시한 도면
도 7은 마스터 노드가 작업들을 작업 큐로 생성하여 슬레이브 노드들에게 가시화 작업이 분배하는 것을 예시한 도면
도 8은 분산 병렬 처리에 따라 가시화 작업 결과를 렌더링하는 예를 나타낸 도면
도 9는 마스터 노드가 수행하는 병렬처리작업을 수행하기 위한 의사 코드를 예시한 도면
도 10은 마스터 노드에 의한 작업이 할당된 슬레이브 노드가 작업을 처리하도록 하는 의사 코드의 예를 나타낸 도면
도 11은 캐쉬 분할, 가시화 영역 요청과 가시화하는 결과의 관계를 예시적으로 표현한 도면
도 12는 가시화를 위해 분할하는 세부 블록의 크기에 따른 가시화 작업의 병렬 처리 시간을 예시한 도면
도 13은 세부 블록 영역과 사용자가 요청하는 가시화 영역의 중복 비율에 따라 가시화 작업에 수행되는 병렬 처리 시간을 예시한 도면
도 14는 실제 가시화 작업에 사용된 지역에 해당하는 9개 패치를 연결한 정사 영상을 나타낸 도면
도 15 및 도 16은 기술한 자료표출시스템에서 대화형 가시화 방식에 따라 가시화 결과 데이터를 제공하는 예를 나타낸 도면
도 17은 클라이언트-서버를 포함된 자료표출시스템에서 분산 병렬 가시화 시스템을 이용하여 복수 개의 패치로 구성된 지리 데이터를 대화형으로 가시화한 결과를 다른 예를 나타낸 도면
도 18 내지 도 21은 자료표출시스템이 도 17에서 가시화한 지역에 대해 복수 개의 패치로 구성된 지리 데이터와 강수 데이터를 대화형으로 구현한 결과를 예시한 도면
도 22는 해수면 변화에 따른 침수지역을 가시화한 결과를 나타낸 도면
1 illustrates an embodiment of a data presentation system according to the present invention.
2 is a diagram illustrating information each master node or data presentation server receives from a data presentation server or a slave node, respectively.
3 is a diagram illustrating an example in which a master node divides a visualization task into a slave node.
4 is a view showing a visualization working area in the area of FIG.
5 illustrates an example in which a master node divides a visualization task.
6 is a diagram illustrating a data acquisition method for visualizing at a master or slave node.
FIG. 7 illustrates that a master node creates tasks into a work queue and distributes the visualization tasks to slave nodes.
8 is a diagram illustrating an example of rendering a visualization operation result according to distributed parallel processing;
9 illustrates pseudo code for performing parallel processing performed by a master node.
10 shows an example of pseudo code for causing a slave node assigned to a task by the master node to process the task.
FIG. 11 is a diagram exemplarily illustrating a relationship between cache partitioning, a visualization area request, and a result of visualization
12 is a diagram illustrating parallel processing time of a visualization operation according to the size of a detail block to be partitioned for visualization.
FIG. 13 is a diagram illustrating parallel processing time performed for a visualization operation according to a overlapping ratio of a detailed block region and a visualization region requested by a user.
14 is a view showing an orthoimage in which nine patches corresponding to regions used for actual visualization work are connected;
15 and 16 are diagrams showing examples of providing visualization result data according to an interactive visualization method in the data presentation system described above.
FIG. 17 illustrates another example of interactively visualizing geographic data consisting of a plurality of patches using a distributed parallel visualization system in a data presentation system including a client-server. FIG.
18 to 21 illustrate the results of interactively implementing geographic data and precipitation data composed of a plurality of patches for a region displayed by the data display system in FIG. 17.
22 is a view showing the results of visualizing the flooded area according to sea level change

이하 도면을 참조하여 본 발명에 따른 자료 표출 시스템 및 그 방법의 실시예를 개시한다. 본 발명의 실시예에 따르면 대용량 데이터 중 사용자가 원하는 데이터만 분산처리를 통해 빨리 추출하고, 데이터 액세스 시간을 최소화하기 위해 계층적으로 대용량 데이터에 접근하며, 웹 기반 인터페이스를 통해 대용량 결과 자료를 용이하게 표출하도록 할 수 있다. Hereinafter, an embodiment of a data presentation system and method thereof according to the present invention will be described with reference to the drawings. According to an exemplary embodiment of the present invention, only the data desired by a user is extracted quickly through distributed processing, and a large amount of data is hierarchically accessed to minimize data access time, and a large amount of data is easily accessed through a web-based interface. Can be expressed.

이를 위해 대용량 데이터의 고성능 분산 처리 알고리즘을 제공하고, 클라이언트-서버 기반의 병렬 렌더링 시스템을 이용하여 사용자가 효율적인 방법으로 그 결과를 제공받을 수 있는 사용자 인터페이스를 제공한다. 대용량 데이터를 분산 처리하는 예로서, 사용자는 클라이언트로 원하는 지구환경자료를 특정하는 요청을 할 수 있다. 이에 대해 자료표출서버는 분산 처리 노드들과 연결되고, 분산 처리 노드들이 임시 저장한 데이터와 자료 서버에 저장된 대용량 데이터의 유사성에 기초하여 대용량 데이터를 분산 처리하고, 그 결과를 자료표출서버가 취합할 수 있다.
To this end, it provides a high performance distributed processing algorithm of large data, and provides a user interface that allows the user to receive the result in an efficient manner by using a client-server based parallel rendering system. As an example of distributing large amounts of data, a user may make a request to the client to specify the desired global environmental data. In this regard, the data presentation server is connected to the distributed processing nodes, distributes the large data based on the similarity between the data temporarily stored by the distributed processing nodes and the large data stored in the data server, and collects the results. Can be.

도 1은 본 발명에 따른 자료 표출 시스템의 일 실시예를 개시한다. 자료 표출 시스템의 일 실시예는 클라이언트(100), 자료표출서버(200), 적어도 하나 이상의 클러스터 시스템을 포함할 수 있다. 각 클러스터 시스템은 복수의 노드를 포함할 수 있는데, 복수의 노드 중 적어도 하나의 노드는 마스터 노드(310, 410)의 역할을 수행하고, 나머지 노드들(350, 450)들은 슬레이브 노드의 역할을 한다. 클러스터 시스템은 각각 파일 서버(370, 470)을 포함할 수 있는데, 파일 서버는 자료 표출 서버의 입력자료 또는 출력 자료가 저장될 수 있다. 자료표출서버(200)와 마스터 노드(310, 410)는 하나의 서버일 수도 있다.
1 discloses an embodiment of a data presentation system in accordance with the present invention. One embodiment of the data presentation system may include a client 100, a data presentation server 200, at least one cluster system. Each cluster system may include a plurality of nodes, at least one of the plurality of nodes serving as the master nodes 310 and 410, and the remaining nodes 350 and 450 serving as slave nodes. . The cluster system may include file servers 370 and 470, respectively, which may store input data or output data of the data presentation server. The data presentation server 200 and the master nodes 310 and 410 may be one server.

사용자는 클라이언트(100)를 이용하여 가시화하고자 하는 데이터, 가시화 범위, 가시화 데이터의 해상도, 지구환경자료 가시화를 위해 가시화를 원하는 지역에 대한 좌표 값, 그 지역에 대한 샘플링 간격, 표출 영상의 배율 등을 선택할 수 있다. 클라이언트(100)는 사용자에게 적합한 가시화 결과를 표출하기 위해 클라이언트의 메모리 크기나 클라이언트가 표출 가능한 해상도 정보를 자료표출서버(200)로 전송할 수 있다.
The user uses the client 100 to display the data to be visualized, the range of visualization, the resolution of the visualization data, the coordinate values for the region to be visualized for the visualization of the global environment data, the sampling interval for the region, and the magnification of the displayed image. You can choose. The client 100 may transmit the memory size of the client or resolution information that can be expressed by the client to the data presentation server 200 in order to express a visualization result suitable for the user.

클라이언트(100)는 사용자가 요청하는 가시화 데이터를 자료 표출 서버(200)에 요청하고, 자료표출서버(200)로부터 가시화 요청에 따른 결과를 수신하여 클라이언트(100)에 그 결과를 제공한다. 클라이언트(100)는 자료표출서버(200)를 웹 서버로 하여 그 결과를 웹 브라우저 형태로 표출할 수 있고, 사용자는 클라이언트(100)를 통해 자료표출서버(200)와 대화형으로 가시화 작업을 진행할 수 있다.
The client 100 requests the visualization data requested by the user to the data presentation server 200, receives a result according to the visualization request from the data presentation server 200, and provides the result to the client 100. The client 100 may display the data display server 200 as a web server and display the result in the form of a web browser, and the user may visualize the data interactively with the data display server 200 through the client 100. Can be.

자료표출서버(200)는 웹 기반의 자료 표출 시스템의 서버로서, 클라이언트(100)가 요청한 가시화 작업을 분할하여 분산된 작업(task)을 각 클러스터시스템에 전달한다.
The data presentation server 200 is a server of a web-based data presentation system, which divides the visualization task requested by the client 100 and delivers distributed tasks to each cluster system.

마스터 노드(310, 410)는 자료표출서버(200)로부터 클라이언트(100)의 메모리 크기, 표출 가능한 해상도 정보 등를 수신하고, 가시화 작업에 따른 가시화 데이터의 해상도 및 LOD(level of Details) 등의 값을 변경하여 클라이언트에 최적화한 결과를 자료표출서버(200)로 전송한다.
The master nodes 310 and 410 receive the memory size, displayable resolution information, etc. of the client 100 from the data display server 200, and determine values such as resolution of the visualization data and level of details (LOD) according to the visualization operation. Change and transmit the optimized results to the data display server 200.

마스터 노드(310,410)는 병렬처리인터페이스를 이용하여 클러스터시스템의 슬레이브 노드(350, 450)들에 사용자가 요청한 가시화 작업을 분할하여 각 분할된 작업(task)을 슬레이브 노드(350, 450)들에 전달한다. 마스터 노드(310, 410)는 전체 작업 W를 M개의 슬레이브 노드(350, 450) 또는 마스터 노드(310, 410)와 슬레이브 노드(350, 450)를 포함하는 노드들이 진행할 작업 Wi로 분할할 수 있다. The master nodes 310 and 410 divide the visualization task requested by the user to the slave nodes 350 and 450 of the cluster system by using a parallel processing interface, and transfer the divided tasks to the slave nodes 350 and 450. do. The master nodes 310 and 410 may divide the entire work W into work Wis which will be performed by the nodes including the M slave nodes 350 and 450 or the nodes including the master nodes 310 and 410 and the slave nodes 350 and 450. .

Figure 112010075524659-pat00001
Figure 112010075524659-pat00001

예를 들어 지구환경자료의 가시화를 수행한다면 각 노드들이 진행할 가시화 작업 Wi는, 해상도에 따른 각 영역의 크기나 해상도에 비례하는 작업이 될 수 있다.
For example, if visualization of the global environment data is performed, the visualization work Wi will be performed by each node may be a task proportional to the size or resolution of each region according to the resolution.

대용량의 데이터는 분할된 영역 단위의 원본 데이터(패치 데이터)로 저장될 수 있는데, 이 경우 마스터 노드(310,410)는 요청된 가시화 작업을 동시 작업(task)으로 분해하기 위해 가시화 요청 영역을 여러 개의 블록을 분할하고 각 분할된 블록 영역에 대한 데이터를 슬레이브 노드(350, 450)에 분배함으로써 가시화 작업을 병렬로 분할할 수 있다.
A large amount of data may be stored as original data (patch data) in units of divided regions, in which case the master nodes 310 and 410 divide the visualization request region into blocks in order to decompose the requested visualization task into concurrent tasks. Visualization can be partitioned in parallel by dividing and distributing data for each divided block area to the slave nodes 350 and 450.

분할된 블록 영역의 데이터는 하나 이상의 저장 영역 단위인 원본 데이터에 포함할 수 있는데, 마스터 노드(310, 410)는, 슬레이브 노드(350, 450)가 계산해야 할 블록 영역과 원본 데이터의 영역 단위의 중복성을 고려하여 각 블록 영역에 대한 가시화 작업을 슬레이브 노드(350, 450)에 분배할 수 있다. 분할된 영역 단위의 데이터를 이용하여 가시화 작업을 병렬로 수행하면 가시화 작업이 효율적으로 처리될 수 있다. The divided block area data may be included in the original data which is one or more storage area units. The master nodes 310 and 410 may include the block area and the area unit of the original data that the slave nodes 350 and 450 need to calculate. In consideration of redundancy, the visualization work for each block area may be distributed to the slave nodes 350 and 450. If the visualization is performed in parallel using the data of the divided region unit, the visualization may be efficiently processed.

이 경우 마스터 노드(310, 410)는 슬레이브 노드(350, 450)가 가시화 작업 수행을 위해 각 노드의 캐쉬로 원본 데이터를 읽을 경우 근접 블록 영역의 데이터가 동일한 원본 데이터에 포함되도록 작업을 분배할 수 있다. In this case, when the master nodes 310 and 410 read the original data into the cache of each node to perform the visualization operation, the master nodes 310 and 410 may distribute the work such that the data of the adjacent block area is included in the same original data. have.

또는 마스터 노드(310, 410)는 각 슬레이브 노드(350, 450)가 캐쉬에 최종으로 로드한 블록 영역의 데이터가 어떤 원본 데이터에 포함되는지를 확인하여 슬레이브 노드(350,450)에 가시화 작업을 분배할 수 있다.
Alternatively, the master nodes 310 and 410 may distribute the visualization work to the slave nodes 350 and 450 by checking which original data includes the data of the block area that each slave node 350 and 450 finally loads in the cache. have.

블록 영역 단위의 데이터가 동일 또는 근접한 영역 단위의 원본 데이터에 포함되는지 여부는 마스터 노드(310, 410)에 설정된 알고리즘에 따라 판단될 수 있다. 슬레이브 노드(350, 450)는 분배된 블록 영역에 대한 데이터를 캐쉬 구조로 한번에 읽을 수 있고, 그 가시화할 영역에 포함되지만 다른 원본 데이터에 포함된 데이터는 파일 서버(370, 470)의 원본 데이터로부터 읽을 수 있다. 예를 들어 슬레이브 노드(350, 450)는 분배된 블록 영역에 대한 데이터를 읽는 단위를 캐쉬 블록이라고 호칭할 수 있다.
Whether the data in the block area unit is included in the original data in the same or adjacent area unit may be determined according to an algorithm set in the master nodes 310 and 410. Slave nodes 350 and 450 can read the data for the distributed block area at once with a cache structure, and the data contained in the area to be visualized but included in the other source data is obtained from the original data of the file server 370 and 470. I can read it. For example, the slave nodes 350 and 450 may refer to a unit that reads data on the distributed block area as a cache block.

마스터 노드(310,410)는 슬레이브 노드(350, 450)들이 가시화를 위해 수행한 작업 결과 데이터를 모아 자료표출서버(200)로 전달한다. 마스터 노드(310,410)는 슬레이브 노드(350, 450)들이 각 영역의 지구환경데이터의 렌더링한 결과를 취합하고, 취합한 결과를 자료표출서버(200)로 전송한다.
The master nodes 310 and 410 collect the work result data performed by the slave nodes 350 and 450 for visualization and transmit the collected data to the data display server 200. The master nodes 310 and 410 collect the rendering results of the global environment data of the slave nodes 350 and 450 and transmit the collected results to the data display server 200.

이 경우 마스터 노드(310,410)는 가시화할 영역의 수치 표고의 간격 및 정사 영상의 배율을 이용하여 가시화 작업이 수행되는 전체 가시화 영역을 블록 형태로 분할할 수 있다. 정사 영상의 배율은 클라이언트(100)의 사용 가능한 메모리 크기에 따라 결정될 수도 있으며 이를 이용하여 슬레이브 노드(350, 450)가 처리하는 데이터의 필터링 및 스케일링을 수행할 수도 있다.
In this case, the master nodes 310 and 410 may divide the entire visualization area in which the visualization is performed in the form of a block by using the interval of the numerical elevation of the area to be visualized and the magnification of the orthoimage. The magnification of the orthoimage may be determined according to the available memory size of the client 100, and filtering and scaling of data processed by the slave nodes 350 and 450 may be performed by using the same.

마스터 노드(310,410)는 분배된 작업의 처리 진행 사항을 슬레이브 노드(350, 450)들에게 질의할 수 있고, 휴식 상태의 슬레이브 노드가 있는지 판단할 수 있다. 마스터 노드(310, 410)는 각 슬레이브 노드(350, 450)들이 유사한 블록 영역에 대한 작업을 처리할 수 있도록 슬레이브 작업의 유사성, 처리할 블록 영역 데이터의 유사성 또는 블록 영역의 근접성에 대한 정보를 가질 수 있다. 마스터 노드(310, 410)는 이 유사성 정보를 이용하여 슬레이브 노드(350, 450)들이 가시화 작업을 하도록 작업 큐(task queue)를 생성하여 실행한다.
The master nodes 310 and 410 may query the slave nodes 350 and 450 for processing progress of the distributed work and determine whether there is a slave node in a resting state. The master nodes 310 and 410 may have information about the similarity of slave tasks, the similarity of block region data to be processed, or the proximity of block regions so that each slave node 350 and 450 can process tasks for similar block regions. Can be. The master nodes 310 and 410 create and execute a task queue for the slave nodes 350 and 450 to visualize using this similarity information.

슬레이브 노드(350, 450)들은, 가시화 작업의 대상 데이터들에 접근 시 발생되는 지연 시간을 최소화하기 위해 가시화에 사용될 특정 단위 데이터(캐쉬 블록)를 캐시(cache)로 저장하고, 캐시 블록에 저장된 데이터를 가시화 작업에 사용할 수 있다. 슬레이브 노드(350, 450)들은 마스터 노드(310, 410)의 명령에 따라 분산된 블록 영역의 데이터를 병렬 작업으로 가시할 수 있다. 슬레이브 노드(350, 450)들은 작업 큐로부터 작업을 전달받을 경우 요청 지역과 수치 표고의 간격, 및 정사 영상의 배율을 수신하고, 마스터 노드(310,410)는 이 정보들을 이용하여 슬레이브 노드(350, 450)들의 작업 상태를 관리할 수 있다. 슬레이브 노드(350, 450)들이 각각 블록 영역에 대한 가시화 작업을 수행한다면, 그 블록 영역에 대한 데이터를 영역 단위의 원본 데이터로부터 추출하고, 수치 표고 간격 및 정사 영사의 배율에 따라 데이터를 필터링한 데이터로 가시화 작업을 수행한다.
Slave nodes 350 and 450 cache specific unit data (cache blocks) to be used for visualization in order to minimize the delay time incurred when accessing the target data of the visualization operation, and the data stored in the cache block. Can be used for visualization tasks. The slave nodes 350 and 450 may visualize the data in the distributed block area in parallel operations according to the commands of the master nodes 310 and 410. When the slave nodes 350 and 450 receive a job from the work queue, the slave nodes 350 and 450 receive the request area, the interval between the numerical elevation, and the magnification of the orthoimage, and the master nodes 310 and 410 use the information to determine the slave nodes 350 and 450. You can manage the working status of). If each of the slave nodes 350 and 450 performs the visualization of the block area, the data for the block area is extracted from the original data in the area unit, and the data is filtered according to the numerical elevation interval and the magnification of the orthogonal projection. To do the visualization.

도 2는 마스터 노드나 자료표출서버가, 자료표출서버나 슬레이브 노드로부터 각각 수신하는 정보를 예시한다. 마스터 노드들은 도 2에 예시된 데이터에 근거하여 하여 슬레이브 노드들에 가시화 작업(task)을 할당한다. 이때 할당된 작업의 유사도는 도 2에 예시된 데이터에 근거하여 판단되어 슬레이브 노드에 의해 가시화 작업 분배될 수 있다. 클라이언트가 가시화 작업을 요청할 경우, 클라이언트는 도 2에 예시된 정보들을 가시화 작업 수행의 인자를 자료표출서버(200)를 통해 각 마스터 노드로 전송할 수 있다.
2 exemplifies information that a master node or a data presentation server receives from a data presentation server or a slave node, respectively. Master nodes assign visualization tasks to slave nodes based on the data illustrated in FIG. 2. In this case, the similarity of the allocated task may be determined based on the data illustrated in FIG. 2, and the visualization task may be distributed by the slave node. When the client requests a visualization task, the client may transmit the information illustrated in FIG. 2 to the master node through the data presentation server 200.

예를 들어 특정 지역에 대한 지구환경 데이터가 가시화된다면 요청 지역의 식별정보가 가시화 작업 할당 분배에 사용될 수 있다. 요청 지역의 식별정보는 전체 지역 중 가시화 요청 지역의 부호화된 지역 인덱스가 될 수 있다. 또한 가시화 요청 지역 중 가시화 대상 영역의 최소 좌표와 최대 좌표가 마스터 노드로 전송될 수 있다. 또는 요청 지역 중 가시화 대상 영역의 샘플링 간격이나 정사 영상의 배율을 마스터 노드에 전송할 수 있다.
For example, if global environmental data for a particular area is visualized, identification of the requesting area may be used for distribution of visualization work assignments. The identification information of the request region may be an encoded region index of the visualization request region among the entire regions. In addition, the minimum and maximum coordinates of the visualization target area of the visualization request area may be transmitted to the master node. Alternatively, the sampling interval or the magnification of the orthogonal image of the visualization target region in the request region may be transmitted to the master node.

마스터 노드는 가시화 작업이 요청된 경우 병렬 가시화 작업을 위해 입력된 도 2의 데이터와 영역 단위의 원본 데이터를 비교하여 슬레이브 노드에 해당 블록 영역에 대한 가시화 작업을 요청할 수 있다. 마스터 노드는, 클라이언트가 요청한 가시화 영역들을 가시화하기 위해 사용되어야 할 블록 단위 영역들로 분할한다. 그리고, 해당 블록 단위 영역들을 포함하는 영역 단위의 원본 데이터를 확인하여, 해당 원본 데이터로부터 그 블록 단위 데이터를 캐쉬 블록 단위로 접근하여 읽는다.
When the visualization operation is requested, the master node may compare the data of FIG. 2 inputted for parallel visualization operation with the original data in area units, and request the slave node to visualize the corresponding block area. The master node divides into block-level areas that should be used to visualize the visualization areas requested by the client. Then, the source data in the area unit including the block unit areas are identified, and the block unit data is read and read in the cache block unit from the source data.

이 경우 블록 단위 영역은, 가시화 작업을 위해 입력된 수치 표고 간격 및 정사 영상의 배율을 고려하여 분할될 수 있고, 정사 영상의 배율은 사용되는 클라이언트 시스템의 사용 가능한 메모리 크기에 따라 결정될 수도 있다. 마스터 노드는 정사 영상의 배율에 따라 데이터 필터링과 스케일링 작업을 수행한다.
In this case, the block unit area may be divided in consideration of the numerical elevation interval input for the visualization operation and the magnification of the orthoimage, and the magnification of the orthoimage may be determined according to the available memory size of the client system used. The master node performs data filtering and scaling according to the magnification of the orthoimage.

도 3은 마스터 노드가 슬레이브 노드에 가시화 작업을 분할하는 예를 예시한 도면이다. 도 3에서 빨간색, 초록색, 파란색, 보라색으로 표시된 영역은 원본 데이터(patch data)가 분할되어 저장된 영역을 각각 표시한다. 즉, 가시화 작업에 수행되는 데이터는 영역에 따라 나뉘어 저장될 수 있다. 마스터 노드는 가사회 작업이 수행될 대상 영역을 수치 표고 간격 및 정사 영상의 배율을 이용하여 도 3에 세부 블록 영역(검은 테두리 블록)으로 분할한다. 각 패치 데이터가 커버하는 영역 데이터에 대응하는 색깔과 각 패치 데이터를 구성하는 인코딩된 인덱스의 수는 오른쪽 표에 예시하였다. 예를 들어 빨간색 영역의 패치 데이터는 3361005개의 인코딩된 인덱스를 포함한다.
3 is a diagram illustrating an example in which a master node divides a visualization task into a slave node. In FIG. 3, regions indicated by red, green, blue, and purple denote regions in which patch data is divided and stored. That is, data performed for the visualization operation may be divided and stored according to regions. The master node divides the target area on which the housekeeping operation is to be performed into a detailed block area (black border block) in FIG. 3 using the numerical elevation interval and the magnification of the orthogonal image. The color corresponding to the area data covered by each patch data and the number of encoded indexes constituting each patch data are illustrated in the right table. For example, the patch data in the red region includes 3361005 encoded indexes.

도 4는 도 3의 영역에 가시화 작업 영역을 함께 표시한 도면이다. 사용자가 가시화 작업을 요청하는 영역을 최소 좌표(파란색 포인트)과 최대 좌표(빨간색 포인트)로 선택한 경우, 마스터 노드는 해당 영역(음영으로 표시)에 대한 가시화 작업을 슬레이브 노드과 함께 진행할 수 있다. 이 경우 가시화 작업을 위한 데이터는 세부 블록 단위로 각 노드들에 로드될 수 있다. 가시화 작업은 도 4의 세부 블록을 기반으로 동시 작업으로 작업이 분해되고, 각 분해된 작업은 마스터 노드 또는 슬레이브 노드에 할당된다. 이 경우 동일 패치 데이터에 포함되는 영역은 동일한 노드가 수행할 수도 있고, 여러 개의 노드들이 함께 나누어 수행할 수도 있다. 마스터 노드가 가시화 영역(음영)을 여러 개의 블록 영역으로 분할하면, 원본 데이터를 최적으로 접근할 수 있는 슬레이브 노드들에 각 작업을 할당하되 여러 블록 영역이 동시에 병렬로 가시화 작업이 수행되도록 가시화 작업을 슬레이브 노드들에 블록 단위로 할당한다.
4 is a view showing a visualization working area in the area of FIG. 3. When the user selects the area requesting the visualization operation as the minimum coordinate (blue point) and the maximum coordinate (red point), the master node may proceed with the slave node to perform the visualization operation on the corresponding area (shaded). In this case, data for visualization may be loaded in each node in detail block units. The visualization task is divided into simultaneous tasks based on the detailed block of FIG. 4, and each disassembled task is assigned to a master node or a slave node. In this case, an area included in the same patch data may be performed by the same node or may be divided by several nodes. When the master node divides the visualization area (shading) into several block areas, it allocates each task to slave nodes that can optimally access the original data, but visualizes them so that multiple block areas can be visualized in parallel at the same time. Allocates to slave nodes block by block.

도 5는 마스터 노드가 가시화 작업을 분할하는 예를 개시한다. 클라이언트로부터 가시화 작업 요청이 있는 경우, 마스터 노드가 세부 블록 단위로 가시화 작업 요청 영역을 분할한다. 마스터 노드가 가시화 작업을 분할한 경우 마스터 노드는 먼저 자신의 마스터 해쉬(hash)를 검색한다. 만약 마스터 노드의 마스터 해쉬에 해당 세부 블록 영역에 대한 패치 데이터가 존재하면(cache hit) 마스터 노드는 자신의 메모리로부터 해당 세부 블록 영역에 대한 원본 데이터를 읽고, 그 블록 영역에 대한 가시화 작업을 진행한다. 만약 마스터 해쉬에 나뉘어진 세부 블록 영역에 대한 데이터가 존재하지 않으면, 슬레이브 노드의 해쉬를 검색한다. 만약 슬레이브 노드의 해쉬에 해당 세부 블록의 패치 데이터가 존재하는 경우(cache hit), 그 데이터를 가지고 있는 슬레이브 노드에 해당 세부 블록에 해당하는 영역의 가시화 작업을 할당한다. 이 경우 슬레이브 노드는 자신의 슬레이브 메모리 영역에서 해당 데이터를 읽고, 가시화 작업을 진행한다. 각 노드에 세부 블록 영역의 패치 데이터가 존재하는지에 대한 유사성 정도는 마스터 노드가 결정할 수 있다. 만약, 세부 블록에 해당하는 데이터가 다른 슬레이브 해쉬로부터 검색되어 있지 않은 경우, 마스터 노드는 임의의 슬레이브 노드에 그 세부 블록 영역에 대한 가시화 작업을 할당한다. 그러면 작업이 할당된 슬레이브 노드는 파일 서버로부터 해당 세부 블록에 포함된 데이터를 읽고 가시화 작업을 진행한다.
5 illustrates an example in which a master node divides a visualization task. When there is a visualization work request from the client, the master node divides the visualization work request area into detailed block units. If the master node splits the visualization task, the master node first retrieves its master hash. If patch data for the specific block area exists in the master hash of the master node (cache hit), the master node reads the original data for the detailed block area from its memory and performs visualization of the block area. . If there is no data for the detailed block area divided in the master hash, the hash of the slave node is searched. If patch data of the corresponding sub block exists in the hash of the slave node (cache hit), the visualization task of the area corresponding to the sub block is allocated to the slave node having the data. In this case, the slave node reads the corresponding data from its slave memory area and performs visualization. The degree of similarity as to whether the patch data of the detailed block area exists in each node may be determined by the master node. If the data corresponding to the detail block is not retrieved from other slave hashes, the master node allocates a visualization task for the detail block region to any slave node. Then, the slave node assigned the task reads the data included in the corresponding detail block from the file server and performs the visualization task.

도 6은 마스터 노드가 계층적 캐쉬 구조를 이용하여 마스터 또는 슬레이브 노드에서 가시화 작업을 하기 위한 데이터 획득 방법을 예시한다. 마스터 노드가 해당 세부 블록의 패치 데이터를 얻기 위해 그 패치 데이터가 포함된 파일 명을 이용하여 마스터 메모리의 해쉬를 검색한다. 만약 마스터 메모리에 원하는 파일 명에 대한 데이터들이 존재하는 경우 마스터 노드는 그 세부 블록 영역에 대한 데이터가 저장된 메모리 어드레스를 이용하여 해당 세부 블록 영역에 대한 데이터를 얻을 수 있다. 반면에 마스터 노드가 해당 코딩된 파일명으로부터 해당 블록 영역의 데이터를 슬레이브 해쉬로부터 찾은 경우, 그 슬레이브 해쉬를 직접 이용할 수 있는 슬레이브 노드의 식별자를 발생시켜 가시화 작업이 수행되도록 할 수 있다.
6 illustrates a data acquisition method for a master node to visualize at a master or slave node using a hierarchical cache structure. The master node searches the hash of the master memory using the file name containing the patch data to obtain patch data of the corresponding detail block. If data for a desired file name exists in the master memory, the master node can obtain data for the corresponding detailed block area by using a memory address in which the data for the detailed block area is stored. On the other hand, when the master node finds the data of the block area from the slave hash from the coded file name, the visualization operation may be performed by generating an identifier of the slave node that can directly use the slave hash.

도 7은 마스터 노드가 동시 가시화 작업(task) 수행을 위해 분할된 가시화 작업에 대한 작업 큐를 생성하여 작업 큐의 작업 순서대로 슬레이브 노드들에게 작업을 분배하는 것을 예시한 도면이다. 작업 큐에 저장된 번호는 작업 번호일 수 있는데, 이 작업 번호는 가시화 영역을 세분화한 블록 영역의 번호와 동일하거나 대응될 수 있다. 즉, 이 도면에 일련의 번호는 생성된 작업 큐의 작업 순서를 나타낸 것으로, 슬레이브 노드가 유사한 작업을 수행할 수 있도록 작업의 큐 내의 작업 번호는 가시화 요청 영역의 블록 번호에 해당할 수 있다. 슬레이브 노드들은 작업 큐로부터 전달받은 작업 이외에 요청 지역 정보와 수치표고의 간격, 정사영상의 배율 정보를 수신하며, 이 정보는 마스터 노드가 슬레이브 노드의 작업 상태를 관리하는데 사용될 수 있다. 마스터 노드는 분배된 작업의 처리 정도를 슬레이브 노드에 질의하여 휴식상태의 슬레이브 노드가 존재하는지를 판단할 수 있다. 클라이언트로부터 요청된 가시화 작업이 작업 큐에 남는 경우, 마스터 노드는 휴식상태의 슬레이브 노드에게 작업을 다시 할당한다. 이러한 작업은 작업 큐에 작업이 모두 없어질 때까지 반복되고, 작업 큐에 모든 작업이 처리된 경우, 마스터 노드는 가시화 요청 영역에 해당하는 데이터들만 취합하여 자료표출서버를 통해 클라이언트에 제공한다. 마스터 노드는 슬레이브 노드가 유사한 데이터를 근거로 하여 파일 서버에 접근하는 시간을 줄이고, 효율적으로 작업을 수행할 수 있도록 각 노드가 캐쉬에 저장한 데이터와 세부 분할된 블록 영역의 데이터의 유사성을 판단하여 그 유사성을 기준으로 작업 큐를 생성한다.
FIG. 7 is a diagram illustrating that a master node creates a work queue for a divided visualization task to perform simultaneous visualization tasks, and distributes tasks to slave nodes in order of work in the task queue. The number stored in the work queue may be a work number, which may be the same as or correspond to the number of the block area that subdivided the visible area. That is, a series of numbers in this figure represent the work order of the generated work queue, and the work number in the work queue may correspond to the block number of the visualization request area so that the slave node can perform a similar work. In addition to the work received from the work queue, the slave nodes receive request region information, the height of the numerical elevation, and the magnification of the orthoimage. This information can be used by the master node to manage the work status of the slave node. The master node may query the slave node about the degree of processing of the distributed job to determine whether there is a slave node in a resting state. If the visualization task requested from the client remains in the task queue, the master node reassigns the task to the slave node in the idle state. This job is repeated until all jobs are removed from the job queue. When all jobs are processed in the job queue, the master node collects only the data corresponding to the visualization request area and provides it to the client through the data presentation server. The master node reduces the time for the slave node to access the file server based on similar data, and judges the similarity between the data stored in the cache and the data in the subdivided block area so that each node can efficiently perform the work. Create a work queue based on that similarity.

도 8은 분산 병렬 처리에 따라 가시화 작업 결과를 렌더링하는 예를 나타낸다. 마스터 노드가 4개의 슬레이브 노드를 이용하여 클라이언트가 요청한 데이터에 대한 가시화 작업을 수행한다고 가정한다. 마스터 노드 또는 슬레이브 노드에 각각 세부 블록 영역에 대한 패치 데이터가 존재하는 경우 해당 노드에서 해당 가시화 작업을 수행한다. 각 노드들의 가시화 작업은 MPI(message passing interface)와 같은 병렬 처리 수단을 사용하여 수행될 수 있다. 각 영역에 대한 패치 데이터들은 저장 매체에 저장되어 있는데, 이 도면은 외부의 공유 메모리에 저장된 패치 데이터를 읽는 예를 나타낸다. 이 경우 각 노드들은 공유 메모리 구조의 메모리 장치를 공유할 수 있고, 공유 메모리는 각 슬레이브 노드와 파일 서버는 이더넷과 같은 네트워크로 연결될 수 있다. 슬레이브 노드가 가시화 작업이 수행되는 영역이 분할된 블록 영역에 대한 가시화 작업을 수행하는 경우, 해당 데이터 포함되는 패치 데이터들을 캐쉬하여 가시화 작업을 수행한다. 슬레이브 노드는 가시화된 결과를 마스터 노드로 전달하고, 마스터 노드는 슬레이브 노드와 그 노드가 진행한 가시화 작업을 렌더링하여 자료표출서버로 전달하거나 마스터 노드가 자료표출서버의 역할을 할 경우 클라이언트에 렌더링된 가시화 결과를 자바와 같은 웹 기반의 애플리케이션으로 제공할 수 있다. 위에서 개시한 것처럼 마스터 노드가 자료표출서버는 하나의 서버로 구성될 수 있고 마스터 노드가 자료표출서버의 역할을 할 수도 있다.
8 shows an example of rendering a visualization operation result according to distributed parallel processing. Assume that the master node uses 4 slave nodes to perform visualization tasks for the data requested by the client. If patch data for a detailed block area exists in a master node or a slave node, the corresponding node performs the corresponding visualization. Visualization of each node may be performed using parallel processing means such as a message passing interface (MPI). Patch data for each region is stored in a storage medium, and this figure shows an example of reading patch data stored in an external shared memory. In this case, each node may share a memory device having a shared memory structure, and the shared memory may be connected to each slave node and a file server through a network such as Ethernet. When the slave node performs a visualization operation on a block area in which an area where a visualization operation is performed is divided, the visualization operation is performed by caching patch data included in the corresponding data. The slave node delivers the visualized result to the master node, and the master node renders the slave node and the visualization work performed by the node to the data presentation server or rendered to the client when the master node acts as the data presentation server. Visualization results can be provided to web-based applications such as Java. As described above, the master node data display server may be configured as a server, and the master node may serve as a data display server.

도 9는 마스터 노드가 수행하는 병렬처리작업을 수행하기 위한 의사 코드를 예시한다. 슬레이브 노드가 가시화 작업을 병렬로 수행하기 위해 마스터 노드는 작업지역의 인덱스, 최소자표, 최대좌표, 수치표고의 간격, 정사영상의 배율 정보를 수신한다(line 1). 해당 영역을 블록 기반의 영역의 작업으로 분할하고(line 2), 위에서 설명한 방식에 따라 작업 큐를 생성한다(line 3). 슬레이브 노드의 프로세서 수 n(line 4)와 작업의 수 m(line 5)에 따라 분할된 가시화 작업이 슬레이브 노드에 할당된다(line 6 ~ line 16). 이 경우 원본 데이터와 분할된 세부 블록 영역의 데이터의 유사성에 근거하여 블록 영역의 가시화 작업을 슬레이브 노드들에게 할당한다.
9 illustrates pseudo code for performing parallel processing performed by a master node. In order for the slave nodes to perform visualization tasks in parallel, the master node receives the index of the work area, the minimum coordinate, the maximum coordinate, the numerical elevation interval, and the magnification of the orthoimage (line 1). The area is divided into block-based areas of work (line 2), and a work queue is created in the manner described above (line 3). According to the number of processors n (line 4) and the number of jobs m (line 5) of the slave node, divided visualization tasks are allocated to the slave nodes (line 6 to line 16). In this case, based on the similarity between the original data and the data of the divided detailed block region, the visualization of the block region is allocated to the slave nodes.

먼저 작업 큐의 순서대로 각 슬레이브 노드의 프로세서들을 할당한다(line 7 ~ line 8). 수행이 완료된 슬레이브 노드로부터의 작업 결과를 수신하고(line 11), 작업 큐가 모두 비지 않은 경우 수행이 완료된 슬레이브 노드에 남아있는 작업 큐의 작업을 순차대로 할당한다(line 12 ~ line 14). 슬레이브 노드들이 작업 큐에 포함된 모든 작업을 완료한 경우, 마스터 노드는 가시화 작업이 요청된 영역에 해당하는 블록 영역에 대한 가시화 결과 데이터를 병합한다(line 18).
First, the processors of each slave node are allocated in the order of work queues (line 7 to line 8). Receive the work result from the slave node that has been completed (line 11), and if the work queue is not empty, the work queues remaining in the slave node that have been completed are sequentially allocated (line 12 to line 14). When the slave nodes have completed all the work included in the work queue, the master node merges the visualization result data for the block area corresponding to the area where the visualization work is requested (line 18).

도 10은 마스터 노드에 의한 작업이 할당된 슬레이브 노드가 작업을 처리하도록 하는 의사 코드의 예를 나타낸다. 작업 요청이 없는 경우 슬레이브 노드는 대기 상태로 전환되고, 작업 할당이 요청된 경우 도 8에서 예시한 작업이 순차적으로 진행될 수 있다. 슬레이브 노드는 마스터 노드로부터 작업의 순서에 따른 작업 인덱스, 가시화 요청 영역의 최소 좌표 및 최대 좌표를 수신할 수 있다(line 1). 가시화 작업 요청 영역을 원본 데이터(patch data)를 포함한 N개의 블록 영역들로 분할되는데(line 2) 분할된 블록 영역 중 원본 데이터를 가진 가시화 요청 영역에 대해 가시화 작업 준비를 한다. 가시화 대상 영역은 N개의 세부 블록으로 분할될 수 있는데, 슬레이브 노드는 각각 분할된 영역에 대해(line 3) 가시화 작업을 위한 원본 데이터로부터 가시화에 필요한 데이터를 추출한다(line 4 ~ line 6). 슬레이브 노드는 설정된 수치 표고의 간격과 정사 영상의 배율에 따라 가시화 결과 데이터를 스케일링한 후(line 8), 스케일링된 데이터를 마스터 노드에 전달한다(line 7).
10 shows an example of pseudo code for causing a slave node assigned to a task by the master node to process the task. If there is no work request, the slave node is switched to the standby state, and when the work assignment is requested, the work illustrated in FIG. 8 may be sequentially performed. The slave node may receive a job index, a minimum coordinate and a maximum coordinate of the visualization request area according to the order of the job from the master node (line 1). The visualization work request area is divided into N block areas including the patch data (line 2). The visualization work area is prepared for the visualization request area having the original data among the divided block areas. The visualization target region may be divided into N sub-blocks, and the slave node extracts data necessary for visualization from the original data for the visualization operation (line 3) for each divided region (line 3) (line 4 to line 6). The slave node scales the visualization result data according to the set numerical elevation interval and the magnification of the orthoimage (line 8), and then transfers the scaled data to the master node (line 7).

도 11은 캐쉬 분할, 가시화 영역 요청과 가시화하는 결과의 관계를 예시적으로 표현한다. 대용량 데이터는 캐쉬 가능한 단위의 영역으로 분할되어 저장될 수 있고, 각 노드의 캐쉬 동작에 의해 각 노드의 메모리로 로드될 수 있다. 이 도면에서 원본 데이터가 저장되는 단위인 패치 블록은 초록색으로, 각 노드가 캐쉬하는 단위인 캐쉬 블록은 붉은색으로 표시된다. 즉, 패치 블록은 원본 데이터가 저장된 단위를 나타내고, 캐쉬 블록은 가시화를 위해 세부 블록으로 나누어진 블록 영역이 될 수 있다. 따라서, 사용자에 의해 특정 영역의 가시화가 요청되면 마스터 노드는 캐쉬 블록의 크기에 따라 캐쉬 블록 단위로, 해당 블록 영역에 대한 데이터를 캐쉬한 노드를 찾아 가시화 작업을 할당한다. 작업이 할당된 슬레이브 노드는 해당 블록 영역에 대해 가시화 작업을 수행한다. 가시화 결과는 마스터 노드나 자료표출서버로 취합되어 요청 결과가 사용자에게 제공될 수 있다. 이 도면에서 가시화 영역 요청은 복수의 패치 블록과 복수의 캐시 블록에 중첩되는데 슬레이브 노드는 요청 영역에 대해 가시화 결과(요청 결과)를 생성하여 클라이언트에 제공되도록 할 수 있다.
11 exemplarily illustrates a relationship between cache partitioning, a visualization area request, and a result of visualization. The large-capacity data may be divided and stored in an area of a cacheable unit, and loaded into the memory of each node by a cache operation of each node. In this figure, the patch block, which is a unit in which the original data is stored, is green, and the cache block, which is a unit that each node caches, is displayed in red. That is, the patch block represents a unit in which the original data is stored, and the cache block may be a block area divided into detailed blocks for visualization. Therefore, when a user requests visualization of a specific area, the master node searches for a node that caches data for the block area in the cache block unit according to the size of the cache block and allocates a visualization task. The slave node to which work is assigned performs visualization for the block area. The visualization result can be collected by the master node or the data presentation server and the request result can be provided to the user. In this figure, the visualization area request is overlapped with a plurality of patch blocks and a plurality of cache blocks, and the slave node may generate a visualization result (request result) for the request area and provide the same to the client.

도 12는 가시화를 위해 분할하는 세부 블록의 크기에 따른 가시화 작업의 병렬 처리 시간을 예시한다. 데이터 캐쉬의 단위가 될 수 있는 세부 블록 영역의 크기는 그 크기가 작을수록 하나의 원본 데이터 단위에 포함될 확률이 높다. 따라서, 사용자가 가시화하기 원하는 영역에 대해 분할한 세부 블록의 크기가 작을수록 가시화 병렬 처리 작업의 시간을 줄어든다. 따라서, 각각 분할된 블록 영역에 대해 하나의 노드에서 가시화 작업이 수행되도록 하면 가시화 작업이 효율적으로 수행될 수 있다. 마스터 노드는 블록 영역의 크기를 고려하여 가시화 작업을 각 슬레이드 노드로 전송할 수 있다.
Figure 12 illustrates the parallel processing time of the visualization operation according to the size of the detail block to divide for visualization. The smaller the detailed block area that can be a unit of data cache, the more likely it is to be included in one original data unit. Therefore, the smaller the size of the detail block divided to the area that the user wants to visualize, the less time the visualization parallel processing task takes. Therefore, when the visualization operation is performed at one node for each divided block area, the visualization operation may be efficiently performed. The master node may transmit a visualization operation to each slave node in consideration of the size of the block area.

도 13은 사용자가 요청한 영역에 대한 가시화 작업을 위한 세부 블록 영역과 사용자가 요청하는 가시화 영역의 중복 비율에 따라 가시화 작업에 수행되는 병렬 처리 시간을 예시한 도면이다. 사용자가 요청한 영역과, 하나의 노드가 수행하는 세부 블록 영역이 서로 중복되는 비율이 높을수록 가시화 병렬 처리의 시간은 줄어든다. 따라서, 마스터 노드는, 가시화 작업을 위한 세부 블록 영역과 사용자의 가시화 요청 영역이 중복되는 비율이 높아지도록 가시화 작업을 분할하여 슬레이드 노드에 할당하면 가시화 결과를 빨리 얻을 수 있다.
FIG. 13 is a diagram illustrating a parallel processing time performed for a visualization operation according to the overlapping ratio of the detailed block region for the visualization operation to the region requested by the user and the visualization region requested by the user. The higher the rate at which the user-requested area and the detailed block area performed by one node overlap each other, the less time the visualization parallel processing takes. Accordingly, the master node can quickly obtain the visualization result by dividing the visualization task and assigning the visualization task to the slave node so that the overlapping ratio of the detailed block region for the visualization task and the user's visualization request region is increased.

이와 같은 클라이언트-서버 기반의 자료표출시스템은, 분산 병렬 가시화 방식으로 통해 대규모 데이터를 간단한 모바일 기기나 단말기, 또는 넷북과 같은 저성능 플랫폼에서 대화형으로 가시화할 수 있도록 할 수 있다. 즉, 클라이언트가 모바일 기기와 같은 성능이 높지 않은 단말기라고 하더라도 대용량의 데이터 가시화 표출을 웹 기반대화형으로 자료표출서버에 요청할 수 있다. 자료표출서버는 마스터-슬레이브 노드들을 포함한 분산 병렬 가시화 시스템을 이용하여 요청된 가시화 자료를 병렬로 가시화 작업을 수행한 후 그 결과를 클라이언트에 맞게 가공하여 전송할 수 있다. 자료표출서버는 마스터 노드가 수행한 가시화 결과 데이터를, 대화형 가시화 표출이 가능하도록 적응형(adaptive) LOD와 캐시 메모리 구조를 지원하여 클라이언트에 제공할 수 있다.
This client-server-based data presentation system enables distributed parallel visualization to interactively visualize large-scale data on low-performance platforms such as simple mobile devices, terminals, or netbooks. That is, even if the client is a terminal that does not have high performance such as a mobile device, a large amount of data visualization can be requested to the data presentation server through a web-based interactive system. The data presentation server can visualize the requested visualization data in parallel using a distributed parallel visualization system including master-slave nodes, and then process and transmit the result to the client. The data presentation server may provide visualization result data performed by the master node to the client by supporting an adaptive LOD and a cache memory structure to enable interactive visualization.

기술한 자료표출시스템에서 대화형 가시화 방식에 따라 가시화 결과 데이터를 제공하는 예를 개시한다. 개시하는 예에서 가시화에 사용된 데이터는 약 100만개의 폴리곤(polygon)과 15,604x18,564 해상도의 정사영상으로 된 지형 모델이며, 다중 LOD와 캐시 메모리를 사용하여 대화식 가시화 자료 표출이 가능하다. 지구환경자료로서 대규모 지리 데이터와 침수 시뮬레이션 데이터를 선택하였으며, 각 데이터는 표 1에 예시하였다.
An example of providing visualization result data according to an interactive visualization method is described. In the example disclosed, the data used for visualization is a terrain model of approximately 1 million polygons and orthoimages with 15,604x18,564 resolution, and interactive visualization is possible using multiple LODs and cache memory. Large-scale geographic data and submerged simulation data were selected as global environmental data, and each data is shown in Table 1.

Figure 112010075524659-pat00002
Figure 112010075524659-pat00002

본 실시예에서 사용된 테스트 데이터는 총 9개의 패치 데이터로 나누어져 있고, 각 패치 데이터마다 패치에 대응하는 수치 표고 자료와 정사 영상을 포함하고 있다.
The test data used in this embodiment is divided into a total of nine patch data, and each patch data includes numerical elevation data and ortho images corresponding to the patch.

도 14는 실제 가시화 작업에 사용된 4,611m × 13,875m에 해당하는 영역으로 전체 지역에 해당하는 9개 패치를 연결한 정사 영상을 보여준다.
FIG. 14 shows an orthogonal image in which 9 patches corresponding to the entire area are connected to an area corresponding to 4,611m × 13,875m used in actual visualization work.

도 15 및 도 16은 기술한 자료표출시스템에서 대화형 가시화 방식에 따라 가시화 결과 데이터를 제공하는 예를 나타낸다. 도 15 및 도 16에서 각 가시화 결과를 참고하면, 사용자는 가시화를 원하는 지역을 웹 메뉴에서 선택할 수 있다. 가시화를 원하는 지역의 명칭을 선택할 수도 있고, 사용자가 원하는 지역의 넓이나 높이도 선택할 수 있다. 그리고, 가시화 지역에 대한 최소, 최대 좌표를 선택하여 가시화 지역을 특정할 수도 있다. 해당 가시화를 위한 텍스쳐의 디테일 레벨과 폴리콘 수에 따른 폴리콘의 디테일 레벨도 선택할 수 있다.
15 and 16 illustrate an example of providing visualization result data according to an interactive visualization method in the described data presentation system. Referring to each visualization result in FIGS. 15 and 16, the user may select a region to be visualized from the web menu. You can choose the name of the area you want to visualize, or you can choose the width or height of the area you want. In addition, the visualized area may be specified by selecting minimum and maximum coordinates for the visualized area. You can also choose the detail level of the texture for that visualization and the detail level of the polycone depending on the number of polycones.

사용자가 원하는 지역을 선택하면 화면의 일부에 지도 상에 원하는 지역을 표시할 수 있다. 도 15 및 도 16에서는 오른쪽 하단의 붉은색 박스로 표시하였다. 사용자는 클라이언트로부터 가시화를 원하는 지역의 일부를 지도상에서도 확인할 수 있고, 지도상에서 가시화 작업을 선택할 지역을 마우스와 같은 선택 수단으로 표시하여 자료표출서버에 가시화 작업을 요청할 수 있다. 가시화 지역이 선택되면 가시화된 지역의 해발고도, 텍스쳐 매핑된 화면을 표시할 것인지, 폴리콘 모드로 표시하도록 하도록 하는 선택옵션에 따라 가시화 지역이 표시되도록 할 수 있다. 또한 가시화 결과의 확대, 회전, 축소등으로 사용자가 원하는 결과를 상세히 볼 수 있도록 하는 인터페이스가 제공될 수 있다. 도 15 및 도 16은 제주도의 한라산 부분에 대한 가시화 결과를 나타내며 도 16은 도 15의 일부 영역을 확대한 가시화 결과를 제공한다.
When the user selects a desired region, the desired region may be displayed on a map on a portion of the screen. In FIG. 15 and FIG. 16, the red box of the lower right is shown. The user can check a part of the area to be visualized from the client on the map, and request the visualization operation to the data display server by displaying the area to select the visualizing operation on the map with a selection means such as a mouse. When the visualization area is selected, the visualization area may be displayed according to the elevation of the visualized area, the texture-mapped screen, or the selection option to display in the polycon mode. In addition, an interface for allowing a user to view a desired result in detail by expanding, rotating, or reducing the visualization result may be provided. 15 and 16 show visualization results of the Hallasan portion of Jeju Island, and FIG. 16 provides an enlarged visualization result of a partial region of FIG. 15.

도 17은 클라이언트-서버를 포함된 자료표출시스템에서 분산 병렬 가시화 시스템을 이용하여 복수 개의 패치로 구성된 지리 데이터를 대화형으로 가시화한 결과를 다른 예를 나타낸다. 클라이언트가 저성능 플랫폼을 구비한 경우 대화형 가시화가 가능하도록 할 수 있는데, 도면의 약 60만개의 폴리곤을 이용하여 시간 가변 볼륨 데이터를 가시화한 결과를 나타낸 것이다.
17 shows another example of a result of interactively visualizing geographic data composed of a plurality of patches using a distributed parallel visualization system in a data presentation system including a client-server. If the client has a low-performance platform, it is possible to enable interactive visualization, which shows the result of visualizing the variable time data using about 600,000 polygons in the figure.

자료표출시스템은 지구환경자료의 분석 결과나 모델링 결과나 표시할 수도 있다. 해당 지역의 지구환경자료의 관측 자료나, 모델링 결과를 해당 지역을 함께 가시화하여 지구환경자료의 예측을 효율적으로 표시하도록 할 수 있다.
The data presentation system may display or analyze results of global environmental data. Observation data or modeling results of the regional environmental data of the region can be visualized together so that the prediction of the global environmental data can be efficiently displayed.

도 18 내지 도 21은 자료표출시스템이 도 17에서 가시화한 지역에 대해 복수 개의 패치로 구성된 지리 데이터와 강수 데이터를 대화형으로 구현한 결과를 예시한다. 여기서 시간 가변 데이터는 태풍 발생에 따른 하천 범람으로 인한 침수 현상을 표현한다. 자료표출시스템을 이용하여 침수에 대한 분석 자료나 예측 자료가 이와 같이 가시화될 경우 사용자는 더욱 정확한 데이터 분석이나 예보를 수행할 수 있다. 도 18 내지 도 21에서 시간은 좌에서 우로, 위에서 아래로 진행하며 해당 지역 중 침수 지역이나 부분을 현실적으로 나타낼 수 있다.
18 to 21 illustrate a result of interactively implementing geographic data and precipitation data composed of a plurality of patches for the region visualized by the data display system in FIG. 17. Here, the time variable data represents the flooding phenomenon caused by the flooding of the river due to the typhoon. If data analysis systems are used to visualize or analyze inundation data, users can perform more accurate data analysis or forecasts. In FIGS. 18 to 21, the time progresses from left to right and from top to bottom and may realistically represent the flooded area or part of the corresponding area.

도 22는 해수면 변화에 따른 침수지역을 가시화한 결과를 나타낸다. 마찬가지로 시간은 좌에서 우로, 위에서 아래로 진행한다. 따라서, 시간 볼륨 가변 데이터에 해수면 변화를 나타내는 모델 결과를 합성할 경우 해당 지역 중 침수 현상을 현실적으로 재현할 수 있어서 해당 현상을 예측하거나 분석하는데 큰 도움을 줄 수 있다.
22 shows the results of visualizing the flooded area according to sea level change. Similarly, time goes from left to right and from top to bottom. Therefore, incorporating a model result representing sea level change into time-volume variable data can realistically reproduce the flooding phenomenon in the region, which can greatly help in predicting or analyzing the phenomenon.

100: 클라인언트
200: 자료표출서버
310, 410: 마스터 노드
350, 450: 슬레이브 노드
370, 470: 자료서버
100: client
200: data presentation server
310, 410: master node
350, 450: slave node
370, 470: data server

Claims (10)

지구환경데이터에 대한 가시화 작업의 요청을 수신받는 마스터 노드 및 상기 마스터 노드에 의해 할당된 가시화 작업을 수행하는 적어도 하나 이상의 슬레이브 노드를 포함하는 자료표출서버; 및
상기 가시화 작업 요청에 따른 가시화 영역에 대한 원본 데이터를 저장하는 저장매체;를 포함하고,
여기서, 상기 마스터 노드는 상기 가시화 작업 요청이 수행되는 상기 가시화 영역을 캐쉬 블록들로 분할하고, 상기 마스터 노드와 상기 적어도 하나 이상의 슬레이브 노드는 상기 분할된 캐쉬 블록들 중 해당 캐쉬 블록에 대한 원본 데이터를 각각 상기 저장매체로부터 읽어 임시 저장하고,
상기 마스터 노드는 전체 가시화 영역 중 사용자가 원하는 가시화 작업의 대상 영역을 세부 블록들로 분할하고, 상기 캐쉬 블록들 중 상기 분할된 세부 블록과 중복되는 비율이 가장 높은 캐쉬 블록에 대한 데이터를 임시 저장하는 노드에 상기 세부 블록에 대한 가시화 작업을 각각 할당하여 상기 사용자가 원하는 가시화 작업을 병렬 처리하도록 하는, 자료표출시스템.
A data presentation server including a master node receiving a request for visualization of global environment data and at least one slave node performing a visualization operation assigned by the master node; And
And a storage medium storing original data of the visualization area according to the visualization task request.
Here, the master node divides the visualization area in which the visualization task request is performed into cache blocks, and the master node and the at least one slave node divide original data of a corresponding cache block among the divided cache blocks. Temporarily read each of the storage media,
The master node divides a target area of a visualization operation desired by the user among detailed visualization areas into detailed blocks, and temporarily stores data for a cache block having the highest rate of overlapping with the divided detailed blocks among the cache blocks. And assigning each visualization operation for the detail block to a node so as to parallelize the visualization operation desired by the user.
제 1항에 있어서,
상기 자료표출서버는, 상기 마스터 노드 및 상기 적어도 하나의 슬레이브 노드들이 수행하는 가시화 작업의 결과 데이터를 수집하고 상기 수집한 가시화 작업 결과 데이터를 웹 기반의 자료로 제공하는 자료표출시스템.
The method of claim 1,
The data presentation server collects the result data of the visualization operation performed by the master node and the at least one slave node and provides the collected visualization result data as a web-based data.
제 1항에 있어서,
상기 사용자가 원하는 가시화 작업의 대상 영역은, 대상 영역의 최소 좌표와 최대 좌표, 가시화 지역 명칭 및 사용자가 선택수단을 통해 임의로 선택한 지역 중 어느 하나로 결정되는 자료표출시스템.
The method of claim 1,
And a target area of the visualization operation desired by the user is determined by any one of a minimum coordinate and a maximum coordinate of the target region, a visualization region name, and a region arbitrarily selected by a user through selection means.
제 1항에 있어서,
상기 자료표출서버는, 상기 가시화 작업의 대상 영역의 수치 표고의 샘플링 간격 또는 상기 가시화 작업의 대상 영역의 정사 영상 비율을 사용자로부터 수신하고, 상기 수신된 샘플링 간격 또는 정사 영상 비율에 따라 상기 가시화 작업을 수행하는 자료표출시스템.
The method of claim 1,
The data display server receives from the user a sampling interval of the numerical elevation of the target area of the visualization operation or an orthoimage ratio of the target region of the visualization operation from the user, and performs the visualization operation according to the received sampling interval or the orthoimage ratio. Data presentation system performed.
제 1항에 있어서,
상기 자료표출서버는, 사용자로부터 수신한 표출 해상도를 이용하여 상기 가시화 작업 결과 데이터의 해상도를 조절하고, 상기 해상도가 조절된 가시화 작업 결과 데이터를 제공하는 자료표출시스템.
The method of claim 1,
And the data presentation server adjusts the resolution of the visualization operation result data using the presentation resolution received from the user, and provides the visualization operation result data with the resolution adjusted.
제 1항에 있어서,
상기 적어도 하나의 슬레이브 노드는, 특정 영역의 폴리곤(polygon) 데이터와 텍스쳐(texture)를 이용하여 상기 가시화 작업을 수행하는 자료표출시스템.
The method of claim 1,
And the at least one slave node performs the visualization by using polygon data and texture of a specific region.
특정 영역에 대한 지구환경데이터에 대한 가시화 작업을 요청받는 단계;
상기 가시화 작업 요청이 수행되는 가시화 영역을 캐쉬 블록들로 분할하고, 마스터 노드와 적어도 하나 이상의 슬레이브 노드가 상기 분할된 캐쉬 블록들 중 해당 캐쉬 블록에 대한 원본 데이터를 각각 저장매체로부터 읽어 임시 저장하는 단계;
상기 마스터 노드가, 전체 가시화 영역 중 사용자가 원하는 가시화 작업의 대상 영역을 세부 블록들로 분할하고, 상기 캐쉬 블록들 중 상기 분할된 세부 블록과 중복되는 비율이 가장 높은 캐쉬 블록에 대한 데이터를 임시 저장하는 노드에 상기 세부 블록에 대한 가시화 작업을 각각 할당하는 단계;
상기 마스터 노드와 상기 슬레이브 노드가 사용자가 원하는 가시화 작업을 병렬 처리하는 단계; 및
상기 병렬 처리에 따른 데이터를 수집하여 상기 가시화 작업에 따른 지구환경데이터를 가시화하는 단계;를 포함하는 자료표출방법.
Receiving a request for visualization of global environment data for a specific region;
Dividing a visualization area in which the visualization task request is performed into cache blocks, and storing master data and at least one slave node by reading original data of a corresponding cache block among the divided cache blocks from a storage medium; ;
The master node divides a target area of a visualization operation desired by the user among detailed visualization areas into detailed blocks, and temporarily stores data for a cache block having the highest overlapping ratio with the divided detailed blocks among the cache blocks. Allocating a visualization task for the detail block to each node;
Parallel processing of a visualization operation desired by the master node and the slave node; And
Collecting data according to the parallel processing to visualize the global environment data according to the visualization operation; a data presentation method comprising a.
삭제delete 삭제delete 삭제delete
KR1020100115154A 2010-11-18 2010-11-18 apparatus for outputting data and method thereof KR101293770B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100115154A KR101293770B1 (en) 2010-11-18 2010-11-18 apparatus for outputting data and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100115154A KR101293770B1 (en) 2010-11-18 2010-11-18 apparatus for outputting data and method thereof

Publications (2)

Publication Number Publication Date
KR20120053833A KR20120053833A (en) 2012-05-29
KR101293770B1 true KR101293770B1 (en) 2013-08-05

Family

ID=46269909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100115154A KR101293770B1 (en) 2010-11-18 2010-11-18 apparatus for outputting data and method thereof

Country Status (1)

Country Link
KR (1) KR101293770B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035128A (en) * 2011-09-29 2013-04-08 한국과학기술정보연구원 System for providing observation data for global environment and method thereof
KR102131650B1 (en) * 2014-12-23 2020-07-09 한국전자통신연구원 Apparatus and method for data processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090091998A (en) * 2008-02-26 2009-08-31 연세대학교 산학협력단 Parallel processing method and system for airbornelaser surveying data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090091998A (en) * 2008-02-26 2009-08-31 연세대학교 산학협력단 Parallel processing method and system for airbornelaser surveying data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
한국과학기술정보연구원 연구개발결과보고서, ‘컴퓨터연계활용기반구축,’ 방송통신위원회, pp. 107-117, 2009.01.30.*
한국과학기술정보연구원 연구개발결과보고서, '컴퓨터연계활용기반구축,' 방송통신위원회, pp. 107-117, 2009.01.30. *
한연희 외 3인, ‘WWW 기반 자바 병렬 처리 시스템의 설계 및 구현과 성능 향상 기법,’ 한국정보과학회 가을 학술발표논문집, vol. 25, no. 2, pp. 715-717, 1998.10.31.*
한연희 외 3인, 'WWW 기반 자바 병렬 처리 시스템의 설계 및 구현과 성능 향상 기법,' 한국정보과학회 가을 학술발표논문집, vol. 25, no. 2, pp. 715-717, 1998.10.31. *

Also Published As

Publication number Publication date
KR20120053833A (en) 2012-05-29

Similar Documents

Publication Publication Date Title
KR100956416B1 (en) 3 dimensional geographical information client apparatus, server apparatus and 3 dimensional geographical information system having the same
CN101388043B (en) OGC high performance remote sensing image map service method based on small picture
CN105261066B (en) A kind of three-dimensional geographic information system real-time rendering multithreading distribution and control method
CN110675496B (en) Grid subdivision and visualization method and system based on three-dimensional urban geological model
EP1764745A2 (en) Collaborative environments in a geographic information system
EP1764744A2 (en) Streaming geometry data using a quasi-pyramidal structure
CN111354084A (en) Network geographic information service system based on three-dimensional model tiles
Liang et al. Embedding user-generated content into oblique airborne photogrammetry-based 3D city model
WO2017206484A1 (en) Geographic data presentation method and apparatus
CN110969691A (en) WebGL-based photographic data scheduling method and system
CN112528508B (en) Electromagnetic visualization method and device
Richter et al. Out‐of‐Core GPU‐based Change Detection in Massive 3 D Point Clouds
WO2024108975A1 (en) Slicing method for spatial model data
Deibe et al. Supporting multi-resolution out-of-core rendering of massive LiDAR point clouds through non-redundant data structures
CN103268221A (en) Three-dimensional weather data volume display method and device based on WEB technique
Guo et al. A spatially adaptive decomposition approach for parallel vector data visualization of polylines and polygons
CN112686997A (en) WebGIS-based three-dimensional model data analysis display platform and method
CN115994197A (en) GeoSOT grid data calculation method
CN110110132A (en) A kind of method, apparatus that establishing space lattice system and remote sensing image processing system
Kang et al. Spatial-temporal visualization and analysis of earth data under Cesium Digital Earth Engine
CN113495933A (en) Vector tile display method and system
Park et al. Visualization of urban air pollution with cloud computing
KR101293770B1 (en) apparatus for outputting data and method thereof
CN116681847A (en) Management and service system for urban three-dimensional geological data
WO2013048209A2 (en) Data expression system and data expression method

Legal Events

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

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 6

R401 Registration of restoration