KR20060135338A - Data update method - Google Patents

Data update method Download PDF

Info

Publication number
KR20060135338A
KR20060135338A KR1020050055231A KR20050055231A KR20060135338A KR 20060135338 A KR20060135338 A KR 20060135338A KR 1020050055231 A KR1020050055231 A KR 1020050055231A KR 20050055231 A KR20050055231 A KR 20050055231A KR 20060135338 A KR20060135338 A KR 20060135338A
Authority
KR
South Korea
Prior art keywords
index
information
client
server
extent
Prior art date
Application number
KR1020050055231A
Other languages
Korean (ko)
Other versions
KR100739141B1 (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 KR1020050055231A priority Critical patent/KR100739141B1/en
Publication of KR20060135338A publication Critical patent/KR20060135338A/en
Application granted granted Critical
Publication of KR100739141B1 publication Critical patent/KR100739141B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Landscapes

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

Abstract

A method for updating data is provided to reuse an index structure of a server in a client without any modification when the data changed in the server is updated to the client. The server checks a page size of the client when information is changed and reserves a storage space corresponding to the number of information nodes to the client if the page size of the client is identical with the page size of the server. The server transfers index information to the client in index order. The client secures the storage space as many as the number of information nodes to an unused continuous extended list space. The client stores the received index information to the secured storage space in the index order and stores a storage position of a tuple to an item of a leaf node.

Description

데이터 업데이트 방법{DATA UPDATE METHOD}How to update data {DATA UPDATE METHOD}

도 1은 종래 지도 데이터의 색인 테이블을 보인 예시도.1 is an exemplary view showing an index table of conventional map data.

도 2는 본 발명을 설명하기 위한 서버와 클라이언트의 구성을 보인 블록도.Figure 2 is a block diagram showing the configuration of a server and a client for explaining the present invention.

도 3은 본 발명의 실시 예에 따른 데이터베이스의 구조를 보인 예시도.3 is an exemplary view showing the structure of a database according to an embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 데이터베이스에서 색인 저장 공간을 보인 예시도.4 is an exemplary view showing an index storage space in a database according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 색인 구조 저장을 위한 익스텐트의 사용을 보인 예시도.5 is an exemplary view illustrating the use of extents for storing an index structure according to an embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 서버에서 지도 데이터의 전송 순서를 보인 예시도.6 is an exemplary view illustrating a transmission order of map data in a server according to an exemplary embodiment of the present invention.

도 7은 본 발명의 실시 예에 따른 클라이언트에서 지도 데이터의 저장 순서를 보인 예시도.7 is an exemplary view illustrating a storage order of map data in a client according to an exemplary embodiment of the present invention.

본 발명은 데이터 업데이트 방법에 관한 것으로, 특히 서버와 클라이언트 사이에 데이터를 공유할 때 색인 정보를 업데이트하는데 소요되는 비용을 절감할 수 있게 한 데이터 업데이트 방법에 관한 것이다.The present invention relates to a data update method, and more particularly, to a data update method that enables to reduce the cost of updating index information when sharing data between a server and a client.

지리 정보 시스템(GIS: Geographic Information System)은 지리적으로 활용 가능한 모든 형태의 정보를 수집하고 전산화하여 저장 관리하고 지도 데이터를 실생활에 활용하려는 여러 사업에 사용된다. 지리 정보 시스템을 운영하는 GIS 엔진에는 Spatial DBMS, SIMS(Spatial Information Management System) 등이 있으며 지도 데이터를 표시하는 개인 휴대 단말기로는 텔레매틱스 시스템, 이동 단말기, 정보 단말기 등이 있다. The Geographic Information System (GIS) is used in many businesses that collect, computerize, store, manage, and map data in all forms of geographically available information. GIS engines that operate geographic information systems include Spatial DBMS and Spatial Information Management System (SIMS), and personal portable terminals that display map data include telematics systems, mobile terminals, and information terminals.

지리 정보 시스템은 지도 정보를 계속해서 업데이트하는데 소요되는 비용을 줄이고자 다양한 공간 색인을 사용하여 지도 데이터를 관리한다. 그런데 상기 공간 색인은 변화된 지도 데이터의 업데이트나 재전송시 데이터 구조를 재구성하는데 커다란 비용을 낭비한다. 이와 같은 색인 구조의 재구성 방법에는 색인 재활용 방법과 다차원 색인구조 벌크 로딩 방법이 있다.Geographic information systems manage map data using various spatial indexes to reduce the cost of constantly updating map information. However, the spatial index wastes a great cost in reconstructing the data structure when updating or retransmitting the changed map data. There are two methods for reconstructing the index structure: index recycling and multi-dimensional index structure bulk loading.

도 1은 종래 지도 데이터의 색인 테이블을 보인 예시도이다.1 is an exemplary view showing an index table of conventional map data.

서버의 근원 사이트는 페이지 크기로 1KB를 사용하고, 클라이언트의 목적 사이트는 페이지 크기로 512B를 사용한다. 페이지는 아이템 ID와 튜플을 저장하는데 각각의 튜플은 서로 다른 크기를 갖을 수 있으며 아이템 ID와 튜플은 서로 쌍을 이루며 페이지에 저장된다.The server's origin site uses 1KB for the page size, and the client's destination site uses 512B for the page size. Pages store item IDs and tuples. Each tuple can have a different size, and item IDs and tuples are stored in the page in pairs.

근원 사이트의 페이지 크기와 목적 사이트의 페이지 크기는 서로 다른 다르므로 근원 사이트의 페이지에 저장된 아이템 ID와 튜플은 목적 사이트의 페이지에 저장될 때 페이지 크기에 맞게 분리되어 저장된다.Since the page size of the source site and the page size of the destination site are different, the item IDs and tuples stored on the pages of the source site are stored separately for the page size when they are stored on the pages of the destination site.

아이템 ID의 배열인 색인 측면에서 살펴보면 근원 사이트 또는 목적 사이트의 페이지는 서로 다른 크기를 가지므로 각 사이트의 페이지에 저장된 아이템 ID는 서로 다른 페이지에 저장된다. 즉, 근원 사이트의 색인 구조와 목적 사이트의 색인 구조는 서로 다른 구조를 갖는다.In terms of indexes, which are arrays of item IDs, pages of a source site or a destination site have different sizes, so item IDs stored in pages of each site are stored on different pages. That is, the index structure of the source site and the index structure of the destination site have different structures.

색인 재활용 방법은 기 구축된 색인 구조를 도 1의 b와 같이 매핑 테이블 구조를 통해 서버에서 클라이언트로 전송하여 저장될 시스템의 물리적 저장위치와 기 구축된 색인의 물리적 저장위치의 쌍을 통해 색인 구축을 위한 검색 및 분할 비용을 줄인다. 서버와 클라이언트의 페이지 크기는 서로 다르므로 서버의 한 페이지에 저장된 색인과 튜플이 클라이언트의 페이지에 모두 기록되지 못하고 분리되어 저장된다. 색인 재활용 방법은 서버의 색인 구조와 클라이언트의 색인 구조를 매핑 테이블로 구성하여 두 개의 서로 다른 저장 구조에 의한 저장 위치의 변화를 기록한다.The index recycling method transfers the built index structure from the server to the client through the mapping table structure as shown in FIG. 1 b. Reduce the cost of searching and splitting. Because the server and client page sizes are different, the indexes and tuples stored on one page of the server are stored separately, rather than being written to all the client's pages. The index recycling method records the change of storage location by two different storage structures by configuring the server's index structure and the client's index structure as mapping tables.

상기 색인 재활용 방법은 데이터 이동 후 색인의 재구성 비용을 줄일 수 있으나 매핑 테이블이라는 추가적인 구조와 색인 분할 시 테이블의 복잡한 재구성 비용을 요구한다.The index recycling method can reduce the reorganization cost of the index after moving the data, but requires an additional structure called a mapping table and a complex reorganization cost of the table when the index is partitioned.

다른 재구성 방법의 하나인 다차원 색인구조 벌크 로딩 방법은 Z-order, Morton key order, bit-interleaving order, Hilbert curve 등의 정렬 방법을 이용한 색인 생성 방법으로 다차원 객체에 대한 검색 성능을 높이기 위해 데이터 특성을 고려하여 유사도가 깊은 데이터를 정렬을 통해 밀집시킨다. 상기 다차원 색인구조 벌크 로딩 방법은 차후 구성될 색인의 검색 성능을 향상시키나 데이터 정렬에 많은 시간을 소요하고 특정 차원의 데이터만을 정렬하는 문제점이 있다.One of the other reconstruction methods, the multi-dimensional index structure bulk loading method is an indexing method using a sorting method such as Z-order, Morton key order, bit-interleaving order, Hilbert curve, and so on. Considering this, data with similarity is concentrated through sorting. The bulk loading method of the multidimensional index structure improves retrieval performance of an index to be constructed later, but it takes a long time to sort data and sorts only data of a specific dimension.

따라서 본 발명은 상기와 같은 문제점을 감안하여 창안한 것으로, 서버의 변화된 데이터를 클라이언트에 업데이트할 때 데이터에 대한 서버의 색인 구조를 클라이언트에서 변화 없이 재사용할 수 있도록 한 데이터 업데이트 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been made in view of the above problems, and provides a data update method that enables a client to reuse a server's index structure for data without a change when updating changed data of a server to a client. There is this.

상기와 같은 목적을 달성하기 위한 본 발명은, 서버에서 정보 변경시 클라이언트의 페이지 크기를 확인하여 서버의 페이지 크기와 동일하면 클라이언트에 정보의 노드 개수에 대응한 저장 공간을 예약하는 단계와; 서버에서 정보의 색인 순서로 색인 정보를 전송하는 단계와; 클라이언트에서 미사용 중인 연속적인 익스텐트 리스트 공간에 정보의 노드 개수만큼의 저장 공간을 확보하는 단계와; 클라이언트에서 서버로부터 수신되는 색인 정보를 확보된 저장 공간에 순서대로 저장하고 튜플의 저장 위치를 잎 노드의 아이템에 저장하는 단계로 이루어진 것을 특징으로 한다.The present invention for achieving the above object, the step of checking the page size of the client when changing the information in the server and if the same as the page size of the server and reserves a storage space corresponding to the number of nodes of the information in the client; Transmitting the index information in the index order of the information in the server; Securing storage space for the number of nodes of information in a contiguous extent list space that is not in use at the client; And storing the index information received from the server in order in the secured storage space and storing the tuple's storage location in the item of the leaf node.

이하, 본 발명에 따른 실시 예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명을 설명하기 위한 서버와 클라이언트의 구성을 보인 블록도이다.2 is a block diagram showing the configuration of a server and a client for explaining the present invention.

서버(10)의 근원 사이트는 파일 입출력의 기본 단위로 페이지를 사용하고 4 개의 페이지를 데이터 저장을 위한 공간할당의 기본 단위인 익스텐트로 사용한다. 그리고 클라이언트(20)의 목적 사이트는 서버의 페이지 크기와 동일한 페이지를 사용하여 익스텐트를 구성한다. 서버(10)와 클라이언트(20)는 익스텐트로 구성된 데이터베이스를 사용하여 정보를 저장한다. 정보는 색인 구조와 레코드로 구성되며 색인이 레코드를 가리킨다.The origin site of the server 10 uses pages as basic units of file input and output, and uses four pages as extents, which are basic units of space allocation for data storage. The target site of the client 20 constructs the extent using the same page as the page size of the server. Server 10 and client 20 store information using a database composed of extents. Information consists of an index structure and records, with the index pointing to the record.

서버(10)는 색인 구조와 레코드를 여러 개의 익스텐트에 저장하고 색인 구조를 트리 형태로 구성한다. 트리 형태의 색인은 시작 지점을 가리키는 루트 노드, 루트 노드에서 가리키는 브랜치 노드, 트리의 끝 지점인 잎 노드로 구성되고 잎 노드의 아이템은 레코드인 튜플을 가리킨다. 서버(10)는 외부로부터 테이블의 이동이나 복제 명령을 수신하면 업데이트할 정보의 노드 개수를 판단하고 노드 개수만큼 클라이언트(20)에 저장 공간을 예약하고 업데이트할 색인과 튜플을 전송한다.The server 10 stores the index structure and records in several extents and organizes the index structure in a tree form. The tree-type index consists of a root node that points to the start point, a branch node that points to the root node, and a leaf node that is the end point of the tree, and the item of the leaf node points to a tuple that is a record. When the server 10 receives a table move or replication command from the outside, the server 10 determines the number of nodes of information to be updated, and reserves storage space for the client 20 by the number of nodes and transmits indexes and tuples to be updated.

클라이언트(20)의 목적 사이트는 수신할 노드 개수만큼 저장 공간을 확보하고 색인 순서로 전송되는 색인 정보를 저장하고 잎 노드 수신시 튜플을 먼저 저장하고 튜플의 저장 위치를 잎 노드의 아이템에 기록한다. 잎 노드의 아이템은 튜플의 저장 위치를 가리킨다.The destination site of the client 20 secures storage space for the number of nodes to receive, stores index information transmitted in index order, stores tuples first when receiving leaf nodes, and records the storage location of the tuples in the items of the leaf nodes. The item of the leaf node points to the storage location of the tuple.

도 3은 본 발명의 실시 예에 따른 데이터베이스의 구조를 보인 예시도이다.3 is an exemplary view showing the structure of a database according to an embodiment of the present invention.

서버 또는 클라이언트의 데이터베이스(30)는 파일 입출력의 기본 단위로 페이지를 사용하며 4개의 페이지를 데이터를 저장하기 위한 공간할당의 기본 단위인 익스텐트를 구성한다. 익스텐트의 페이지는 기록되었던 데이터가 무효되어 반환된 페이지, 사용 중인 페이지, 비사용 중인 페이지로 구분되고, 익스텐트는 기록되었 던 데이터가 무효되어 반환된 익스텐트, 현재 반환되었거나 사용 중인 익스텐트 중 마지막 익스텐트의 다음 영역을 의미하는 미 할당된 익스텐트로 구분된다. 미 할당된 익스텐트는 프리 익스텐트 리스트로 관리된다. 서버와 클라이언트는 페이지를 동일 크기로 사용하여 익스텐트를 구성하고 데이터베이스에서의 공간할당의 기본 단위로 익스텐트를 사용한다.The database 30 of the server or client uses pages as basic units of file input / output and configures extents, which are basic units of space allocation for storing four pages of data. Pages in an extent are divided into pages returned because the data that was written was invalid, pages that are in use, and pages that are not in use.Extents are next to the extent that was returned because the data that was written is invalid, and the last extent that is currently returned or in use. It is divided into unallocated extents, meaning regions. Unallocated extents are managed as a free extent list. Servers and clients use extents of the same size to construct extents, and extents as the basic unit of space allocation in the database.

페이지를 식별하기 위한 페이지 ID는 데이터베이스 ID와 페이지 오프셋으로 구성되고 페이지 오프셋은 데이터베이스 내 페이지의 위치정보를 나타내며 0부터 1씩 순차적으로 증가하는 값을 갖고 데이터베이스(30)는 페이지 오프셋과 페이지 크기를 이용하여 실제 데이터에 접근한다.The page ID to identify the page consists of the database ID and the page offset, the page offset represents the location information of the page in the database, and has a value increasing sequentially from 0 to 1, and the database 30 uses the page offset and the page size. To access the actual data.

프리 익스텐트 리스트는 데이터베이스 내 테이블이나 색인구조 등에 사용되었던 익스텐트 중 반환된 익스텐트를 리스트로 구성한다. 데이터베이스(30)는 전송된 색인 구조를 저장하기 위해 미 할당된 연속적인 익스텐트를 예약하여 사용함으로써 기록할 노드에 대한 오프셋 값을 연속적으로 구성한다.The free extent list consists of a list of extents returned among the extents used for tables and index structures in the database. The database 30 continuously configures offset values for nodes to be recorded by reserving and using unallocated consecutive extents to store the transmitted index structure.

도 4는 본 발명의 실시 예에 따른 데이터베이스에서 색인 저장 공간을 보인 예시도이다.4 is an exemplary view showing an index storage space in a database according to an embodiment of the present invention.

클라이언트에서 익스텐트로 구성된 데이터베이스를 사용하여 정보를 저장할 때 데이터베이스(40)는 프리 익스텐트 리스트로 반환된 익스텐트와 미 할당된 익스텐트를 리스트 구조로 연결하고 상기 프리 익스텐트 리스트를 참조하여 저장될 색인 데이터의 저장 공간을 수신할 노드 개수만큼 예약한다. 데이터베이스(40)는 노드 개수만큼 확보된 익스텐트(41)에 차례로 색인을 저장하고 잎 노드의 경우 수신 된 튜플을 먼저 저장하고 튜플의 저장위치를 잎 노드의 아이템에 기록한다.When storing information using a database composed of extents on the client, the database 40 associates the extents returned in the free extent list with the unallocated extents in a list structure and refers to the free extent list to store the index data to be stored. Reserve the number of nodes to receive. The database 40 sequentially stores the index in the extent 41 secured by the number of nodes, and in the case of the leaf node, first stores the received tuple and records the storage position of the tuple in the item of the leaf node.

도 5는 본 발명의 실시 예에 따른 색인 구조 저장을 위한 익스텐트의 사용을 보인 예시도이다.5 is an exemplary view illustrating the use of extents for storing an index structure according to an embodiment of the present invention.

색인은 하나의 객체이며 객체는 익스텐트의 리스트 구조에 의해 데이터베이스52)에 저장된다. 파일 맵(51)은 색인 저장에 사용된 첫 익스텐트, 끝 익스텐트에 대한 위치정보, 데이터가 무효되어 반환된 첫 번째 익스텐트의 위치정보를 갖는다. 파일 맵 페이지(53)는 익스텐트 맵으로 사용중인 익스텐트를 리스트로 연결하여 관리한다. 익스텐트의 리스트는 익스텐트 맵 구조를 사용하여 다음 익스텐트의 위치정보를 가리킨다.The index is an object and the object is stored in the database 52 by the list structure of extents. The file map 51 has the first extent used for index storage, the position information for the end extent, and the position information of the first extent returned from invalid data. The file map page 53 links and manages the extents being used as the extent map. The list of extents uses the extent map structure to point to the location information of the next extent.

도 6은 본 발명의 실시 예에 따른 서버에서 지도 데이터의 전송 순서를 보인 예시도이다.6 is an exemplary view illustrating a transmission order of map data in a server according to an exemplary embodiment of the present invention.

서버의 근원 사이트에서 10개의 노드로 구성된 색인 구조와 레코드가 노드 ID의 연속성을 보장하지 않는 여러 개의 익스텐트에 저장되어 있는 경우 외부로부터 특정 테이블의 이동이나 복제 명령을 수신하면 데이터베이스의 정보가 변경된 것으로 판단하고 클라이언트의 데이터베이스 정보를 업데이트할 준비를 시작한다.10-node index structure and records in the server's origin site are stored in multiple extents that do not guarantee continuity of node IDs. And start preparing to update the client's database information.

서버는 변경된 정보의 노드 개수를 판단하고 서버의 페이지 크기와 클라이언트의 페이지 크기가 동일한지를 비교판단하고 동일하면 노드 개수에 대응한 저장 공간 예약 메시지를 클라이언트로 전송한다.The server determines the number of nodes of the changed information, compares and determines whether the page size of the server and the page size of the client are the same, and if it is the same, transmits a storage space reservation message corresponding to the number of nodes to the client.

클라이언트는 저장 공간 예약 메시지를 수신하고 노드 개수만큼 저장 공간을 확보하고 예약 완료 메시지를 서버로 전송한다.The client receives the storage space reservation message, secures storage space by the number of nodes, and sends the reservation completion message to the server.

서버는 클라이언트로부터 예약 완료 메시지를 수신하고 색인의 루트 노드로부터 잎 노드 순으로 색인 정보를 전송하고 동일 레벨에서는 좌에서 우 방향으로 전송한다. 잎 노드 전송 시 서버에 기록된 튜플의 저장위치는 물리적 특성에 의해 클라이언트에서 사용할 수 없으므로 서버는 잎 노드의 아이템이 가리키는 해당 튜플과 잎 노드를 함께 전송한다.The server receives the reservation completion message from the client and transmits the index information from the root node of the index to the leaf node and transmits the index information from the left to the right at the same level. When the leaf node is transmitted, the storage location of the tuple recorded in the server cannot be used by the client due to its physical characteristics. Therefore, the server transmits the leaf node together with the corresponding tuple indicated by the item of the leaf node.

도 7은 본 발명의 실시 예에 따른 클라이언트에서 지도 데이터의 저장 순서를 보인 예시도이다.7 is an exemplary view illustrating a storage order of map data in a client according to an exemplary embodiment of the present invention.

클라이언트의 목적 사이트는 데이터베이스(70)에 익스텐트 ID 3번부터 미 사용된 연속적인 익스텐트 리스트를 보유한다고 가정하자. 이때 클라이언트는 서버로부터 색인을 저장하기 위한 예약 메시지를 수신한다.Assume that the client's destination site maintains a contiguous list of unused extents starting with extent ID 3 in database 70. At this time, the client receives a reservation message for storing the index from the server.

클라이언트는 미사용 중인 연속적인 익스텐트 리스트 공간에 정보의 노드 개수만큼의 저장 공간을 예약하여 확보하고 서버로부터 수신되는 색인 정보를 확보된 저장 공간(71)에 순서대로 저장한다. 저장 순서는 색인 구조와 동일하게 루트 노드 레벨로부터 잎 노드 레벨 방향으로 색인 정보를 저장하고 잎 노드의 경우 수신된 튜플을 먼저 저장하고 튜플의 저장 위치를 잎 노드의 아이템에 저장한다.The client reserves and reserves the storage space of the number of nodes in the unused continuous extent list space and stores the index information received from the server in the reserved storage space 71 in order. The storage order stores index information from the root node level to the leaf node level in the same way as the index structure. In the case of the leaf node, the received tuple is stored first, and the storage location of the tuple is stored in the item of the leaf node.

확보된 저장 공간(71)에는 색인 정보가 색인 구조의 루트 노드 레벨에서 입 노드 레벨로 차례로 저장된다. 클라이언트의 색인 구조와 서버의 색인 구조는 동일하게 유지되고 잎 노드의 아이템은 튜플의 저장 위치를 가리키므로 클라이언트는 서버의 색인 구조를 변화 없이 사용하여 업데이트된 정보에 접근한다.In the reserved storage space 71, index information is sequentially stored from the root node level of the index structure to the entry node level. Since the client's index structure and the server's index structure remain the same, and the leaf node's items point to the storage location of the tuple, the client uses the server's index structure unchanged to access the updated information.

이상에서 상세히 설명한 바와 같이, 본 발명은 색인의 분할 및 복제에 대응하여 색인을 클라이언트로 전송할 때 저장 공간을 예약하여 사용함으로써 색인이 저장된 공간에 대한 예측을 가능하게 하는 효과가 있다.As described in detail above, the present invention has the effect of enabling the prediction of the space where the index is stored by using the reserved storage space when transmitting the index to the client in response to the partitioning and replication of the index.

또한, 서버의 색인 구조를 클라이언트에서 변화 없이 그대로 사용함으로써 지도 데이터의 저장을 위해 색인을 재구축하지 않고 색인 재구성에 소요되는 비용을 줄이는 효과가 있다.In addition, by using the server's index structure without change in the client, it is possible to reduce the cost of index reorganization without rebuilding the index for storing the map data.

또한, 색인 노드의 아이 템 저장 시 자식 노드의 ID를 동시에 저장함으로써 부모 노드로의 재접근을 제거하고 색인 저장을 신속히 처리하는 효과가 있다.In addition, by storing the ID of the child node at the same time when storing the item of the index node, it is effective to eliminate re-access to the parent node and to process the index storage quickly.

Claims (6)

서버에서 정보 변경시 클라이언트의 페이지 크기를 확인하여 서버의 페이지 크기와 동일하면 클라이언트에 정보의 노드 개수에 대응한 저장 공간을 예약하는 단계와;Checking the page size of the client when changing information in the server and reserving a storage space corresponding to the number of nodes of the information if the same as the page size of the server; 서버에서 정보의 색인 순서로 색인 정보를 전송하는 단계와;Transmitting the index information in the index order of the information in the server; 클라이언트에서 미사용 중인 연속적인 익스텐트 리스트 공간에 정보의 노드 개수만큼의 저장 공간을 확보하는 단계와;Securing storage space for the number of nodes of information in a contiguous extent list space that is not in use at the client; 클라이언트에서 서버로부터 수신되는 색인 정보를 확보된 저장 공간에 순서대로 저장하고 튜플의 저장 위치를 잎 노드의 아이템에 저장하는 단계로 이루어진 것을 특징으로 하는 데이터 업데이트 방법.And storing the index information received from the server in order in the reserved storage space and storing the tuple's storage location in an item of a leaf node. 제1항에 있어서, 상기 서버의 저장 공간 예약 단계는The method of claim 1, wherein the step of reserving storage space of the server 외부로부터 특정 테이블의 이동이나 복제 명령을 수신하면 정보 변경으로 판단하는 단계와;Determining that the information is changed when receiving a movement or replication command of a specific table from the outside; 정보 변경시 클라이언트의 페이지 크기와 서버의 페이지 크기가 동일한지를 판단하여 동일하면 변경된 정보의 노드 개수를 판단하는 단계와;Determining whether the page size of the client and the page size of the server are the same when the information is changed, and determining the number of nodes of the changed information if they are the same; 상기 노드 개수에 대응한 저장 공간 예약 메시지를 클라이언트로 전송하는 단계로 이루어진 것을 특징으로 하는 데이터 업데이트 방법.Transmitting a storage space reservation message corresponding to the number of nodes to a client. 제1항에 있어서, 상기 서버의 색인 전송 단계는The method of claim 1, wherein the index transmission step of the server 색인의 루트 노드로부터 잎 노드 순으로 색인 구조를 전송하는 단계와;Transmitting the index structure from the root node of the index to the leaf node order; 동일 레벨에서 좌에서 우 방향으로 색인을 전송하는 단계와;Transmitting an index from left to right in the same level; 잎 노드 전송 시 잎 노드의 아이템이 가리키는 해당 튜플과 잎 노드의 색인을 함께 전송하는 단계로 이루어진 것을 특징으로 하는 데이터 업데이트 방법.And transmitting the corresponding tuple indicated by the item of the leaf node and the index of the leaf node together when the leaf node is transmitted. 제1항에 있어서, 상기 클라이언트의 색인 저장 단계는The method of claim 1, wherein storing the index of the client 파일 맵을 참조하여 반환된 익스텐트와 미 할당된 익스텐트를 리스트 구조로 연결하는 단계와;Associating the returned extent with the unallocated extent in a list structure by referring to the file map; 상기 리스트 연결된 프리 익스텐트 리스트를 참조하여 저장될 정보의 저장 공간을 수신할 노드 개수만큼 확보하는 단계와;Securing a storage space of information to be stored by the number of nodes to be received with reference to the list-connected free extent list; 프리 익스텐트 리스트에 의해 가리키는 익스텐트에 차례로 색인 정보를 저장하고 잎 노드의 경우 수신된 튜플을 먼저 저장하고 튜플의 저장위치를 잎 노드의 아이템에 기록하는 단계로 이루어진 것을 특징으로 하는 데이터 업데이트 방법.And storing the index information in order in the extent indicated by the free extent list, storing the received tuple first in the case of the leaf node, and recording the storage location of the tuple in the item of the leaf node. 제4항에 있어서, 상기 익스텐트는 데이터 저장을 위한 공간할당의 기본 단위이고 파일 입출력의 기본 단위로 페이지를 여러 개 묶어 사용하게 이루어진 것을 특징으로 하는 데이터 업데이트 방법.The method of claim 4, wherein the extent is a basic unit of space allocation for data storage and uses a plurality of pages as a basic unit of file input / output. 제4항에 있어서, 상기 파일 맵은 색인 구조 저장에 사용된 첫 익스텐트, 끝 익스텐트에 대한 위치정보, 데이터가 무효되어 반환된 첫 번째 익스텐트의 위치정보를 갖는 프리 익스텐트 리스트의 주소를 저장하게 이루어진 것을 특징으로 하는 데이터 업데이트 방법.The method of claim 4, wherein the file map is configured to store an address of a free extent list having the first extent used for storing the index structure, the position information on the end extent, and the position information of the first extent returned from invalid data. A data update method characterized by the above-mentioned.
KR1020050055231A 2005-06-24 2005-06-24 Data update method KR100739141B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050055231A KR100739141B1 (en) 2005-06-24 2005-06-24 Data update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050055231A KR100739141B1 (en) 2005-06-24 2005-06-24 Data update method

Publications (2)

Publication Number Publication Date
KR20060135338A true KR20060135338A (en) 2006-12-29
KR100739141B1 KR100739141B1 (en) 2007-07-13

Family

ID=37813363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050055231A KR100739141B1 (en) 2005-06-24 2005-06-24 Data update method

Country Status (1)

Country Link
KR (1) KR100739141B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305112B2 (en) 2012-09-14 2016-04-05 International Business Machines Corporation Select pages implementing leaf nodes and internal nodes of a data set index for reuse

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025582A (en) * 2001-01-09 2001-04-06 한형교 Method for providing multi-dimension local information service
KR100404907B1 (en) 2001-12-24 2003-11-07 한국전자통신연구원 Memory management method and memory management apparatus for open geographical information system
KR20030055918A (en) * 2001-12-27 2003-07-04 (주) 만도맵앤소프트 Electron of terminal through radio net be map on-line update method
KR20040097852A (en) * 2003-05-13 2004-11-18 (주)나눔소프트 Client computer and method of upgrading thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305112B2 (en) 2012-09-14 2016-04-05 International Business Machines Corporation Select pages implementing leaf nodes and internal nodes of a data set index for reuse
US9378305B1 (en) 2012-09-14 2016-06-28 International Business Machines Corporation Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
US9733833B2 (en) 2012-09-14 2017-08-15 International Business Machines Corporation Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
US10394452B2 (en) 2012-09-14 2019-08-27 International Business Machines Corporation Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
US10901619B2 (en) 2012-09-14 2021-01-26 International Business Machines Corporation Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse

Also Published As

Publication number Publication date
KR100739141B1 (en) 2007-07-13

Similar Documents

Publication Publication Date Title
CN107423422B (en) Spatial data distributed storage and search method and system based on grid
US9805079B2 (en) Executing constant time relational queries against structured and semi-structured data
US7356549B1 (en) System and method for cross-reference linking of local partitioned B-trees
US8335769B2 (en) Executing replication requests for objects in a distributed storage system
CN102122285B (en) Data cache system and data inquiry method
US7788303B2 (en) Systems and methods for distributed system scanning
CN101916261B (en) Data partitioning method for distributed parallel database system
CN103544261B (en) A kind of magnanimity structuring daily record data global index's management method and device
CN104657459A (en) Massive data storage method based on file granularity
CN110825794B (en) Partition merging method and database server
CN102890678A (en) Gray-code-based distributed data layout method and query method
US11868328B2 (en) Multi-record index structure for key-value stores
CN101833511B (en) Data management method, device and system
JP2001142752A (en) Database managing method
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
KR100739141B1 (en) Data update method
CN102597969A (en) Database management device using key-value store with attributes, and key-value-store structure caching-device therefor
CN115114294A (en) Self-adaption method and device of database storage mode and computer equipment
Klein et al. Dxram: A persistent in-memory storage for billions of small objects
US20110184914A1 (en) Database Archiving Using Clusters
US20160275100A1 (en) Multiple hierarchical trees stored within a single flat file
CN113076311B (en) Distributed database
US20230161770A1 (en) Shard Optimization For Parameter-Based Indices
Deris et al. Diagonal replication on grid for efficient access of data in distributed database systems
Parab HBase v/s MongoDB

Legal Events

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

Payment date: 20130624

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee