KR20100011000A - Method and apparatus for data version management of grid database - Google Patents

Method and apparatus for data version management of grid database Download PDF

Info

Publication number
KR20100011000A
KR20100011000A KR1020080072023A KR20080072023A KR20100011000A KR 20100011000 A KR20100011000 A KR 20100011000A KR 1020080072023 A KR1020080072023 A KR 1020080072023A KR 20080072023 A KR20080072023 A KR 20080072023A KR 20100011000 A KR20100011000 A KR 20100011000A
Authority
KR
South Korea
Prior art keywords
data
version information
version
node
update
Prior art date
Application number
KR1020080072023A
Other languages
Korean (ko)
Other versions
KR100952166B1 (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 KR1020080072023A priority Critical patent/KR100952166B1/en
Publication of KR20100011000A publication Critical patent/KR20100011000A/en
Application granted granted Critical
Publication of KR100952166B1 publication Critical patent/KR100952166B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Abstract

PURPOSE: A method and an apparatus for data version management of grid database are provided to keep the consistency in grid database permitting copied data in a plurality of nodes. CONSTITUTION: A data update operation is created from a node. The new version information request of data is received(S100). The processing of the new version information request as described above is determined. If the processing of the new version information request as described above is possible, the new version information production and Version information update operate(S110). The new version information as described above is transmitted to the node(S120). The node receiving the new version information of data from the version control apparatus writes out the version update message of date based on the received new version information as described above(S130).

Description

그리드 데이터 베이스의 데이터 버전 관리 방법 및 장치{Method and apparatus for data version management of grid database}Method and apparatus for managing data version of grid database {Method and apparatus for data version management of grid database}

본 발명은 그리드 데이터 베이스에 관한 것으로 특히, 그리드 데이터 베이스의 데이터 버전 관리 방법 및 장치에 관한 것이다.The present invention relates to a grid database, and more particularly, to a method and apparatus for data version management of a grid database.

인터넷이 보편화되고 컴퓨터 및 네트워크의 성능이 향상됨에 따라서 컴퓨터가 여러 분야에 이용되고 있다. 이에 대한 예로 대량의 유전자 정보 처리, 비행체나 발사체 설계, 기후나 환경변화, 고 에너지 물리분야의 데이터분석에 관한 연구이다. 이런 방대한 데이터들의 효율적인 활용을 위한 노력으로 분산 데이터 베이스와 데이터 베이스 클러스터가 개발되었으며, 최근에 들어서는 자원통합에 있어서 동일 기종 데이터 베이스뿐만 아니라 이 기종 데이터 베이스들과 대용량 데이터의 통합을 위해 그리드 데이터 베이스(grid database)에 대한 연구가 진행되고 있다.As the Internet becomes more common and the performance of computers and networks improves, computers are being used in various fields. Examples of this are studies of large amounts of genetic information processing, aircraft or projectile design, climate and environmental changes, and data analysis in high-energy physics. In an effort to efficiently utilize such a huge amount of data, distributed databases and database clusters have been developed. In recent years, in the resource consolidation, a grid database (for integration of large data with not only the same type database but also with the same type database) has been developed. A study on grid databases is underway.

먼저, 분산 데이터 베이스는 컴퓨터 통신망을 이용하여 여러 개의 지역 데이터 베이스를 논리적으로 연관시킨 통합된 데이터 베이스다. 물리적으로는 분산되고, 논리적으로는 집중되어 있는 형태의 구성으로 단순한 연결이 아닌 각 데이터 베이스가 서로 관여하는 연결 구조이다. 분산 데이터 베이스의 장점은 데이터를 분 산 배치하므로 장애에 대한 대비에 강하고 다수의 이용자가 대규모의 데이터 베이스를 낮은 비용으로 공유할 수 있는 점이다. 분산 데이터 베이스는 중앙 집중형 데이터 베이스보다 저비용으로 구성이 가능하며, 확장성 및 가용성에 장점이 있다.First, a distributed database is an integrated database that logically associates several local databases using computer networks. In a physically distributed and logically concentrated configuration, each database is connected to each other rather than a simple connection. The advantage of a distributed database is that the data is distributed and prepared for failure, and large numbers of users can share large databases at low cost. Distributed databases can be configured at a lower cost than centralized databases, and have advantages in scalability and availability.

그리드 데이터 베이스는 도 1에 도시된 바와 같이, 분산된 복수의 노드(10, 20, 30, 40)와 노드들(10, 20, 30, 40)을 상호 연결하는 링크로 구성되며, 각각의 노드들(10, 20, 30, 40)은 복수의 단말(12, 22, 32, 42)과 연결되어 있다. 복수의 노드 중 사용자의 접근 및 데이터의 업데이트가 가장 많이 발생되는 노드를 루트 노드(10)로 정의한다. 여기서, 노드는 데이터 베이스 관리 시스템이나 클러스터 시스템으로 구성된 데이터 베이스 관리 시스템을 의미하며, 그리드(Grid)란 모든 종류의 자원을 시간에 따라 변화하는 요구사항에 동적 및 실시간적으로 반응할 수 있도록 다양한 개체의 협력을 통해 효율적으로 관리 및 활용하는 것을 의미한다.As shown in FIG. 1, the grid database is composed of a plurality of distributed nodes 10, 20, 30, and 40 and a link interconnecting the nodes 10, 20, 30, and 40. The fields 10, 20, 30, and 40 are connected to the plurality of terminals 12, 22, 32, and 42. Among the plurality of nodes, a node in which a user's access and data update is most generated is defined as a root node 10. Here, a node refers to a database management system composed of a database management system or a cluster system, and a grid is a variety of objects that can react dynamically and in real time to all kinds of resources in response to changing requirements over time. It means to manage and utilize efficiently through cooperation.

그리드 데이터 베이스는 그리드 컴퓨팅 환경에서 분산된 데이터의 효율적 처리와 사용을 위한 데이터 베이스 관리 시스템이다. 그리드 데이터 베이스는 상술한 분산 데이터 베이스 시스템의 기능을 기본적으로 포함하는 동시에 통합, 자동화 및 가상화 등의 기능을 제공한다. 그리드 데이터 베이스의 주요한 기능으로는 대용량 자원에 대한 관리와 고속 연산, 그리고 데이터 복제(duplication)를 통한 가용성 향상에 있다. 그리드 데이터 베이스를 구성하는 각 노드는 데이터의 처리 성능과 가용성 향상을 위해 동일한 데이터를 서로 다른 위치에 복제하여 저장하며, 데이터 연합, 데이터 변환, 데이터 배치, 데이터 통합 등의 기능을 제공한다.Grid database is a database management system for efficient processing and use of distributed data in grid computing environment. The grid database basically includes the functions of the distributed database system described above, and provides functions such as integration, automation, and virtualization. The main functions of the grid database are management of large resources, high speed operations, and improved availability through data replication. Each node in the grid database replicates and stores the same data in different locations to improve data processing performance and availability, and provides data federation, data transformation, data placement, and data integration.

그러나, 그리드 데이터 베이스는 기존의 분산 데이터 베이스 시스템과는 달 리 지역적 자율성을 보장하기 때문에 단일 관리자에 대한 적용이 불가능하거나 비효율적인 시스템 구성이 이루어질 가능성이 있다. 또한, 데이터가 동적으로 변화되는 환경에 유동적인 대응을 위해서는 효율적인 재조직 연산이 필요한 단점이 있다.However, unlike the existing distributed database system, the grid database guarantees local autonomy, so that it is impossible to apply a single manager or inefficient system configuration. In addition, an efficient reorganization operation is required for a fluid response to an environment in which data is dynamically changed.

그리드 데이터 베이스에서는 가용성과 확장성 그리고 데이터 처리의 성능을 향상하기 위하여 상술한 바와 같이, 동일한 데이터를 다른 노드에 중복 복제하여 관리한다. 그러나, 데이터 복제본의 사용으로 시스템의 가용성은 증가되었지만 복수의 노드에서 실시간적으로 이루어지는 복제본 데이터의 변경으로 인한 데이터의 버전 관리(일관성 유지)에 문제점이 있다.In the grid database, the same data is duplicated and managed in another node as described above in order to improve availability, scalability, and performance of data processing. However, although the availability of the system has been increased due to the use of data replicas, there are problems in version control (consistency) of data due to changes in the replica data made in real time on a plurality of nodes.

이러한, 종래의 버전 관리 방법의 문제를 개선한 방법으로 수요기반 트리를 이용한 데이터 버전 관리 방법이 있다. 그리드 환경에서 응용 서비스의 종류 및 데이터의 특성에 따라서 각각의 복제본에 대한 사용빈도가 다른 특성을 가지고, 수요기반 트리(Demand Tree)를 이용하여 데이터의 버전의 일관성이 유지되도록 관리하는 방법이다.As a method of improving the problem of the conventional version management method, there is a data version management method using a demand-based tree. In the grid environment, the frequency of use of each copy is different according to the type of application service and the data, and the version of the data is managed using the demand tree.

그러나, 종래 기술의 수요기반 트리를 이용한 데이터 버전 관리 방법은 사용자의 수요 빈도에 따라서 업데이트 데이터의 전파에만 집중되어, 동시 다발적으로 발생하는 업데이트 연산에 대한 일관성 유지가 이루어지지 못하는 단점이 있다. 여기서, 동시 다발적인 업데이트 연산이란 유동적으로 변경되는 그리드 환경에서 복제본에 대하여 업데이트 발생하고 있을 상황에서 다른 노드에서 또 다른 업데이트가 발생하여, 복수의 노드에서 데이터의 업데이트 연산이 발생하는 경우를 의미한다.However, the data version management method using the demand-based tree of the prior art is concentrated only on the propagation of the update data according to the frequency of the user's demand, and thus there is a disadvantage in that it is impossible to maintain the consistency of the update operations that occur simultaneously. In this case, the simultaneous update operation refers to a case where another update occurs in another node and an update operation of data occurs in a plurality of nodes in a situation where an update is generated for the replica in a fluidly changed grid environment.

이렇게 동시 다발적으로 여러 노드에서 업데이트 연산이 발생되는 경우에는 각 노드에서 업데이트된 데이터의 버전이 전체 그리드 데이터 베이스에서 효율적으로 관리되지 못하는 문제점이 있고, 동시 다발적으로 업데이트가 이루어진 데이터의 버전 관리에 많은 시간이 소요되는 문제점이 있어 이러한 환경에 부합되는 새로운 그리드 데이터 베이스의 데이터 버전 관리 방법이 요구되고 있다.When multiple update nodes occur simultaneously, there is a problem that the version of the data updated at each node is not managed efficiently in the entire grid database. Due to the time-consuming problem, there is a demand for data version management method of a new grid database suitable for such an environment.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 수요기반 트리를 이용한 그리드 데이터 베이스에서 관리되는 데이터의 일관성을 유지할 수 있는 데이터 버전 관리 방법 및 장치를 제공하는 것을 기술적 과제로 한다.Disclosure of Invention The present invention has been made in view of the above-described problems, and it is an object of the present invention to provide a data version management method and apparatus capable of maintaining the consistency of data managed in a grid database using a demand-based tree.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 그리드 데이터 베이스에서 데이터의 업데이트 연산 시간 및 데이터 버전 관리 시간을 단축시킬 수 있는 데이터 버전 관리 방법 및 장치를 제공하는 것을 기술적 과제로 한다.Disclosure of Invention The present invention has been made in view of the above-described problems, and it is an object of the present invention to provide a data version management method and apparatus capable of shortening update calculation time and data version management time of data in a grid database.

상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 데이터 버전 관리 방법은 다수의 노드를 포함하는 그리드 데이터 베이스의 데이터 버전 관리 방법에 있어서, 노드로부터 데이터 업데이트 연산이 발생되어 상기 데이터의 새로운 버전 정보 요청을 수신하는 단계; 상기 새로운 버전 정보 요청의 처리 여부를 판단하는 단계; 판단 결과, 처리가 가능하면 새로운 버전 정보 생성 및 버전 정보를 업데이트 하는 단계; 및 상기 새로운 버전 정보를 상기 노드로 전송하는 단계를 포함하는 것을 특징으로 한다.Data version management method according to an embodiment of the present invention for achieving the above object in the data version management method of a grid database including a plurality of nodes, a data update operation is generated from the node to the new version information of the data Receiving a request; Determining whether to process the new version information request; If it is determined that the processing is possible, generating new version information and updating the version information; And transmitting the new version information to the node.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 새로운 버전 정보 요청의 처리 여부 판단 결과, 처리가 가능하지 않으면 상기 노드로부터의 새로운 버전 정보 요청을 대기열에 저장하는 단계; 및 상기 노드로 업데이트 수행의 중지를 통보하는 단계를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, a data version management method includes: storing a new version information request from the node in a queue if processing is not possible as a result of determining whether to process a new version information request; And notifying the node that the update is to be stopped.

본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 상기 새로운 버전 정보 요청의 처리 여부의 판단은 상기 노드로부터의 데이터의 제 1 버전 정보와 버전 관리 장치에 저장된 이전 버전 정보 및 현재 버전 정보를 포함하는 제 2 버전 정보를 비교하는 단계를 포함하고, 상기 제 1 버전 정보와 상기 제 2 버전 정보의 비교결과, 상기 제 1 버전 정보와 상기 제 2 버전 정보가 동일한 경우 상기 새로운 버전 정보 요청의 처리를 수행하고, 상기 제 1 버전 정보와 상기 제 2 버전 정보가 상이한 경우 상기 그리드 데이터 베이스의 다수의 노드에서 데이터의 업데이트가 수행되지 않도록 상기 새로운 버전 정보 요청의 처리를 보류하는 것을 특징으로 한다.In the data version management method according to an embodiment of the present invention, whether to process the new version information request is determined by including first version information of the data from the node, previous version information and current version information stored in a version control device. And comparing the second version information, and if the first version information and the second version information are the same as the result of the comparison between the first version information and the second version information, perform the processing of the new version information request. And when the first version information and the second version information are different, suspend processing of the new version information request so that data is not updated in a plurality of nodes of the grid database.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 상기 그리드 데이터 베이스의 다수의 노드 중 제 1 노드에서 지연이 발생되는 경우, 상기 제 1 노드의 지연이 해제될 때까지 상기 제 1 노드 외에 다른 노드로부터 데이터의 업데이트 수행을 보류하는 것을 특징으로 한다.In the data version control method according to an embodiment of the present invention, when a delay occurs in a first node of a plurality of nodes of the grid database, a node other than the first node until the delay of the first node is released. It is characterized by suspending the updating of data.

상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 데이터 버전 관리 장치는 다수의 노드를 포함하는 그리드 데이터 베이스의 데이터 버전을 관리하는 데이터 버전 관리 장치에 있어서, 상기 다수의 노드로부터 업데이트가 이루어진 데이터의 버전 정보를 생성 및 관리하는 버전 정보 관리부; 상기 다수의 노드에서 동시 다발적으로 발생되는 업데이트 연산에 대한 처리 과정에서 일부 노드의 작업 부하로 인해 새로운 업데이트 연산 처리를 중지시켜야 하는 경우에 사용되는 작업 대기열을 생성 및 관리하는 작업 대기열 관리부; 상기 다수의 노드에서 동시 다발적 으로 이루어지는 데이터의 업데이트에 대한 정보를 수신하여 작업 대기열에 저장하고, 상기 다수의 노드에서 이루어지는 데이터의 업데이트를 순차적으로 진행할 수 있도록 각 노드들의 우선순위를 제어하는 우선순위 관리부; 상기 다수의 노드 중에서 업데이트 연산이 지연되고 있는 노드의 정보를 초과용량 대기열에 저장 및 관리하는 초과용량 대기열 관리부; 및 상기 다수의 노드 중 적어도 하나의 노드에서 업데이트의 지연이 발생된 이후에 상기 다수의 노드로부터 수신되는 업데이트 연산 요청 메시지를 우선 업데이트 대기열에 저장 및 관리하는 우선 업데이트 대기열 관리부를 포함하는 것을 특징으로 한다.Data version management apparatus according to an embodiment of the present invention for achieving the above object in the data version management apparatus for managing the data version of the grid database including a plurality of nodes, the data is updated from the plurality of nodes A version information management unit for generating and managing version information of the; A work queue manager for creating and managing a work queue used when a new update calculation process is to be stopped due to a workload of some nodes in a process of updating a plurality of nodes simultaneously; Receiving information about data updates made by multiple nodes at the same time and storing them in a work queue, and priorities for controlling the priorities of each node so that the data updates made by the plurality of nodes can be sequentially performed. Management; An excess capacity queue manager configured to store and manage information of nodes whose update operations are delayed among the plurality of nodes in an excess capacity queue; And a priority update queue manager configured to store and manage update operation request messages received from the plurality of nodes in a priority update queue after an update delay occurs in at least one of the plurality of nodes. .

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치는 다수의 노드에서 복제본 데이터를 허용하는 그리드 데이터 베이스에서 일관성 유지를 위한 버전 관리 방법 및 장치 제공할 수 있다.Data version control method and apparatus according to an embodiment of the present invention can provide a version control method and apparatus for maintaining consistency in a grid database that allows replica data in a plurality of nodes.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치는 그리드 데이터 베이스 내의 데이터 및 데이터 버전 정보 업데이트 수행 시 소요되는 시간을 줄여 그리드 데이터 베이스의 성능을 향상시킬 수 있다.Data version management method and apparatus according to an embodiment of the present invention can improve the performance of the grid database by reducing the time required to perform data and data version information update in the grid database.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치는 업데이트 연산이 발생되는 노드의 위치 정보를 저장하여, 향후 작업 부하가 완화되면 대기열에 저장되어 있는 정보를 통해 다시 업데이트 연산을 처리함으로써 동시 다발적으로 업데이트 되는 데이터의 일관성을 보장할 수 있다.Data version management method and apparatus according to an embodiment of the present invention stores the location information of the node where the update operation occurs, if the future workload is relaxed in the future by processing the update operation again through the information stored in the queue multiple times This ensures the consistency of the data being updated.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치는 그리드 데이터 베이스 내의 데이터 및 데이터 버전 정보의 일관성을 유지함으로써 그리드 데이터 베이스의 성능 향상을 이룰 수 있다.Data version management method and apparatus according to an embodiment of the present invention can achieve the performance of the grid database by maintaining the consistency of the data and data version information in the grid database.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 각 노드의 업데이트 연산 요청을 제어하여 하위 노드에서의 업데이트 수행 시 발생될 수 있는 데드락 현상을 방지할 수 있다.The data version management method according to an embodiment of the present invention can prevent a deadlock phenomenon that may occur when performing an update in a lower node by controlling an update operation request of each node.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

실시 예에 따른 본 발명은 그리드 데이터 베이스에서 계층 구조를 이용한 데이터의 버전 관리 방법 및 버전 관리 장치를 제안한다. 본 발명의 실시 예에 따른 데이터 버전 관리 방법은 수요기반 트리를 이용한 그리드 데이터 베이스에서 데이터의 일관성 유지를 위한 데이터 버전 관리 방법을 제공할 수 있다.The present invention according to the embodiment proposes a version control method and version control apparatus for data using a hierarchical structure in a grid database. The data version control method according to an embodiment of the present invention may provide a data version control method for maintaining consistency of data in a grid database using a demand-based tree.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 기존의 수요기반 트리를 확장시킬 수 있으며, 데이터 버전 관리 방법 및 장치를 통해 그리드 데이터 베이스 내의 데이터 복제본들의 버전을 관리하여 데이터의 일관성을 유지할 수 있다.The data version management method according to an embodiment of the present invention can extend the existing demand-based tree, and maintain data consistency by managing versions of data replicas in the grid database through the data version management method and apparatus.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 버전 관리 장치는 그리드 데이터 베이스의 계층 구조에 대한 재조직을 수행하며, 계층 구조의 재조직 수행 시 그리드 데이터 베이스들의 정보를 논리적으로 취합하는 오가나이저(organizer) 역할을 수행한다.The data version control method and version control apparatus according to an embodiment of the present invention performs an organization of the hierarchical structure of the grid database, and organizers to logically collect information of the grid databases when reorganizing the hierarchical structure. Play a role.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 버전 관리 장치는 전 체 그리드 데이터 베이스를 계층적 구조로 구성 함으로써 단계적인 정보 전파 및 재조직 연산 수행을 지원할 수 있다. 이를 통해, 지역적인 재조직 연산의 지원 및 효율적 균형 조정을 가능케 한다. 또한, 부가적으로 불필요한 재조직 연산의 제거가 가능하며, 그리드 데이터 베이스의 데이터 처리 능력을 향상시킬 수 있다.Data version management method and version control apparatus according to an embodiment of the present invention can support the step-by-step information propagation and reorganization operation by configuring the entire grid database in a hierarchical structure. This enables support and efficient balancing of local reorganization operations. In addition, unnecessary reorganization operations can be eliminated, and the data processing capability of the grid database can be improved.

도 2는 본 발명의 실시 예에 따른 버전 관리 장치를 포함하는 그리드 데이터 베이스를 나타내는 도면이다. 먼저, 각 노드(110, 120, 130, 140)에 연결된 단말(112)의 개수는 임의로 설정될 수 있으며, 노드 N1(110)에 제정된 데이터 A1에 대한 사용자의 수요가 가장 많은 경우를 일 예로 하여 노드 N1을 루트 노드(110)로 정의하였다. 2 is a diagram illustrating a grid database including a version control apparatus according to an embodiment of the present invention. First, the number of terminals 112 connected to each of the nodes 110, 120, 130, and 140 may be arbitrarily set. For example, the case where the user demand for the data A1 established in the node N1 110 is most demanded is one example. Node N1 was defined as the root node 110.

도 2를 참조하면, 그리드 데이터 베이스는 분산된 복수의 노드(110, 120, 130, 140)와, 노드들(110, 120, 130, 140)을 상호 연결하는 링크 및 노드들(110, 120, 130, 140)에서 업데이트 되는 데이터의 버전을 관리하는 버전 관리 장치(100)를 포함하여 구성된다. 각각의 노드들(110, 120, 130, 140)은 복수의 단말(112)과 연결되어 있으며, 복수의 노드 중 사용자의 접근 및 데이터의 업데이트가 가장 많이 발생되는 노드를 루트 노드(110)로 정의한다.Referring to FIG. 2, the grid database includes a plurality of distributed nodes 110, 120, 130, and 140, and links and nodes 110, 120, which interconnect the nodes 110, 120, 130, and 140. It includes a version control device 100 for managing the version of the data to be updated in 130, 140. Each of the nodes 110, 120, 130, and 140 is connected to the plurality of terminals 112, and defines a node having the highest user access and data update among the plurality of nodes as the root node 110. do.

여기서, 노드는 데이터 베이스 관리 시스템이나 클러스터 시스템으로 구성된 데이터 베이스 관리 시스템을 의미하며, 그리드(Grid)란 모든 종류의 자원을 시간에 따라 변화하는 요구사항에 동적 및 실시간적으로 반응 할 수 있도록 다양한 개체의 협력을 통해 효율적으로 관리 및 활용하는 것을 의미한다.Here, a node refers to a database management system composed of a database management system or a cluster system, and a grid is a variety of objects that can react dynamically and in real time to all kinds of resources in response to changing requirements over time. It means to manage and utilize efficiently through cooperation.

노드들(110, 120, 130, 140)은 모두 동일한 데이터의 복제본(A1 내지 A9)을 저장하고 있으며, 자신이 저장하고 있는 데이터 복제본의 버전 정보를 가지고 있다. 여기서, 데이터의 복제본은 수요기반 트리 구조를 통해 데이터의 업데이트가 이루어진 노드로부터 루트 노드(110)를 경유하여 그리드 데이터 베이스의 모든 노드로 전파되며, 데이터 복제본의 업데이트 및 업데이트가 이루어진 데이터의 복제본의 버전 정보는 버전 관리 장치(100)에 의하여 생성 및 제어된다.The nodes 110, 120, 130, and 140 all store replicas A1 to A9 of the same data, and have version information of the data replicas they store. Here, the copy of the data is propagated from the node where the data is updated through the demand-based tree structure to all the nodes of the grid database via the root node 110, and the version of the copy of the data that has been updated and updated. The information is generated and controlled by the version control device 100.

본 발명의 실시 예에 따른 버전 관리 장치(100)를 포함하는 그리드 데이터 베이스는 수요기반 트리를 기반으로 하며, 지역적으로 서로 떨어져 있는 노드들에 현재 복제본이 저장되어 있고, 각 노드의 복제본에 대한 수요를 기준으로 순서대로 계층 구조로 연결되어 있다. 여기서, 버전 관리 장치(100)는 그리드 데이터 베이스에서 업데이트가 이루어지는 데이터의 이전 버전 정보 및 현재 버전 정보를 포함한다.Grid database including a version control device 100 according to an embodiment of the present invention is based on the demand-based tree, the current copy is stored in nodes that are geographically separated from each other, the demand for the replica of each node It is connected in a hierarchical structure in order. Here, the version control device 100 includes previous version information and current version information of the data to be updated in the grid database.

수요기반 트리에서 각각의 그룹은 하나의 노드와, 노드에 연결되는 복수의 단말로 구성되며, 이러한 그룹들이 모여 트리 형태의 네트워크 구조로 연결된다. 여기서, 수요란 단일 노드에서 특정 데이터에 대한 단위 시간 당 읽기 연산 요청 빈도로 정의되고, 각 노드는 저장되는 모든 데이터에 대한 수요를 기록하고, 이 정보는 주기적으로 업데이트가 이루어진다.In the demand-based tree, each group is composed of one node and a plurality of terminals connected to the node, and these groups are connected to form a network structure of a tree. Here, demand is defined as the frequency of read operations per unit time for specific data in a single node, and each node records the demand for all data stored, and this information is updated periodically.

임의의 그룹에서 데이터의 업데이트가 발생되면 이는 해당 그룹 내에서 데이터 업데이트 메시지로서 그룹의 노드로 전송되고, 데이터의 업데이트가 발생된 그룹의 노드는 자신의 그룹 내에서 데이터가 업데이트 되었음을 의미하는 데이터 업데이트 메시지를 상술한 트리 구조를 이용하여 인접한 다른 노드들로 전송한다.When data update occurs in any group, it is sent as a data update message within the group to the node of the group, and the node of the group where the data update has occurred is a data update message indicating that the data has been updated in its group. Is transmitted to other adjacent nodes using the above-described tree structure.

여기서, 데이터의 업데이트가 발생된 그룹 노드는 자신의 그룹 내에서 발생된 데이터 업데이트에 대한 정보를 그리드 데이터 베이스의 모든 노드들로 전송하기 위하여, 도 2에 도시된, 그리드 데이터 베이스의 루트 노드(110)로 데이터 업데이트 메시지를 전송하고, 이를 수신한 루트 노드(110)가 상술한 트리 구조를 통해 그리드 데이터 베이스의 모든 노드들로 특정 노드에서 데이터의 업데이트가 발생되었음을 전파하게 된다.Here, the group node where the update of data has occurred, the root node 110 of the grid database, shown in Figure 2, in order to transmit information about the data update occurred in its group to all nodes of the grid database Transmits a data update message, and the root node 110 receiving the data update message propagates that the data update is generated from a specific node to all nodes of the grid database through the tree structure described above.

본 발명의 실시 예에 따른 그리드 데이터 베이스의 버전 관리 장치(100)는 데이터의 버전 정보에 대한 구조체와 작업 대기열을 생성하며, 생성된 버전 정보에 대한 구조체와 작업 대기열을 이용하여 업데이트 이전의 데이터에 대한 이전 버전(Previous Version) 정보와, 업데이트가 이루진 데이터의 현재 버전(Next Version) 정보를 기록 및 관리한다.The version control apparatus 100 of the grid database according to an embodiment of the present invention generates a structure and a work queue for the version information of the data, and uses the structure and the work queue for the generated version information to update the data before updating. It records and manages previous version information and next version information of updated data.

이를 위하여, 버전 관리 장치(100)는 도 3에 도시된 바와 같이, 버전 정보 관리부(210), 작업 대기열 관리부(220), 프로세서(230), 우선순위 대기열 관리부(240), 초과 용량 대기열 관리부(250) 및 우선 업데이트 대기열 관리부(260)를 포함한다.To this end, the version control device 100, as shown in Figure 3, version information management unit 210, work queue management unit 220, processor 230, priority queue management unit 240, excess capacity queue management unit ( 250 and the priority update queue manager 260.

버전 정보 관리부(210)는 각 노드들(110, 120, 130, 140)에 보관 중인 데이터의 버전 및 각 노드들(110, 120, 130, 140)로부터 업데이트가 이루어진 데이터의 버전 정보를 생성 및 관리한다.The version information management unit 210 generates and manages version information of data stored in the nodes 110, 120, 130, and 140, and version information of data updated from the nodes 110, 120, 130, and 140. do.

이하, 설명에서 업데이트 수행을 기준으로 하여, 업데이트가 이루어지기 전의 데이터에 대한 버전 정보를 이전 버전 정보라 정의하고, 업데이트가 이루어진 이후의 데이터에 대한 버전 정보를 현재 버전 정보 또는 다음 버전 정보로 정의한다.Hereinafter, on the basis of the update performed in the description, the version information for the data before the update is defined as the previous version information, and the version information for the data after the update is defined as the current version information or the next version information. .

버전 정보 관리부(210)에서 관리되는 데이터의 버전 정보는 크게 이전 버전 정보와 다음 버전(현재 버전) 정보의 두 가지로 나뉜다. 버전 정보를 이렇게 두 가지 타입(TYPE)으로 저장하는 이유는 여러 노드에서 불규칙적으로 업데이트 정보가 입력되는데 반하여 업데이트는 순차적으로 실행되어야 하기 때문이다. 이전 버전 정보와 현재 버전 정보를 통하여 데이터의 업데이트가 순차적으로 일관성을 가지고 처리되는 것을 보장할 수 있다.The version information of the data managed by the version information management unit 210 is largely divided into two types: previous version information and next version (current version) information. The reason for storing the version information in these two types is that the update information must be executed in sequence while the update information is input irregularly in the various nodes. Through previous version information and current version information, it is possible to ensure that data updates are processed sequentially and consistently.

상기 이전 버전 정보 및 현재 버전 정보는 각 노드에서 수행된 데이터의 업데이트 이후에 다른 노드들의 데이터 업데이트 시 전체 그리드 데이터 베이스의 내에서 데이터의 일관성을 유지하는 데 이용되는 것으로, 그리드 데이터 베이스의 모든 노드들은 버전 관리 장치(100)의 버전 정보 관리부(210)로부터 제공되는 데이터의 버전 정보를 통해 자신이 보유하고 있는 데이터의 복제본이 현재 버전의 데이터의 복제본인지, 이전 버전의 데이터 복제본인지 여부를 알 수 있다.The previous version information and the current version information are used to maintain data consistency within the entire grid database upon data update of other nodes after the update of data performed at each node. Version information of the data provided from the version information management unit 210 of the version control device 100 can determine whether the copy of the data held by the current version of the data copy or the previous version of the data copy. .

작업 대기열 관리부(220)는 그리드 데이터 베이스 내에서 동시 다발적으로 발생되는 업데이트 연산에 대한 처리 과정에서 일부 노드의 작업 부하로 인해 새로운 업데이트 연산 처리를 중지시켜야 하는 경우에 사용되는 작업 대기열을 생성 및 관리한다.The work queue manager 220 creates and manages a work queue used when a new update operation needs to be stopped due to a workload of some nodes in the process of concurrent update operations occurring in the grid database. do.

여기서, 작업 대기열은 업데이트가 중지된 기간 동안 새롭게 업데이트 연산이 발생되는 노드의 위치 정보를 기억하였다가, 향후 작업 부하가 완화되면 대기열 에 쌓여 있는 정보를 통해 다시 업데이트 연산을 처리함으로써 전체 그리드 데이터 베이스 내의 데이터 복제본에 대한 일관성을 보장한다.Here, the work queue stores the location information of the node where the update operation is newly generated during the period in which the update is stopped, and when the workload is relaxed in the future, the work queue re-processes the update operation based on the information accumulated in the queue. Ensure consistency for data replicas.

도 2에 도시된 그리드 데이터 베이스의 모든 노드들(110, 120, 130, 140)은 동일한 데이터에 대한 복제본(A1 내지 A9)을 저장하고 있으며, 복제된 데이터의 업데이트 순서에 따라서 데이터의 버전 정보(114)를 가지고 있다. All nodes 110, 120, 130, and 140 of the grid database illustrated in FIG. 2 store replicas A1 to A9 for the same data, and according to the update order of the replicated data, 114).

버전 관리 장치(100)에 저장된 데이터의 버전 정보(114)를 살펴보면, 데이터의 현재 버전 정보는 “4”이며, 이전 버전 정보는 “3”이다. 현재 그리드 데이터 베이스의 모든 노드들은 동일한 데이터에 대해 버전 “4”에 해당하는 동일한 버전 정보(114)를 가지고 있음을 알 수 있다. 여기서, 버전 관리 장치(100)에서는 도 4에 도시된 바와 같이, 데이터의 이전 버전 및 다음 버전 또는 현재 버전 정보를 생성 및 관리한다.Looking at the version information 114 of the data stored in the version control device 100, the current version information of the data is "4", the previous version information is "3". It can be seen that all nodes of the current grid database have the same version information 114 corresponding to version “4” for the same data. Here, the version control device 100 generates and manages previous and next version or current version information of the data, as shown in FIG. 4.

우선순위 관리부(230)는 여러 노드들에서 동시 다발적으로 이루어지는 데이터의 업데이트에 대한 정보를 노드들로부터 로딩하여 작업 대기열에 저장하고, 노드들에서 이루어지는 데이터의 업데이트를 순차적으로 진행할 수 있도록 각 노드들의 우선순위 대기열을 관리 한다.The priority management unit 230 loads information on data updates made by multiple nodes at the same time from the nodes, stores them in a work queue, and sequentially updates the data made by the nodes. Manage priority queues.

여기서, 우선순위 대기열은 도 5에 도시된 바와 같이 형성되면, 노드가 가지고 있는 대기열로서 동시 다발적으로 발생하는 업데이트 정보를 저장하고 있는 대기열이다. 노드는 버전 관리 장치(100)의 작업 대기열에 저장된 데이터의 버전 정보를 자신이 저장하고 있는 데이터의 버전 정보와 비교하고, 자신이 저장하고 있는 데이터의 버전 정보가 이전 버전 정보인 경우, 버전 관리 장치(100)로부터 데이터 의 버전 정보를 순차적으로 로딩함과 아울러, 루트 노드(110)로부터 순차적으로 현재 버전 정보에 해당하는 데이터를 로딩하여 데이터의 업데이트 연산을 수행한다. 이때, 대기열 안에 저장되는 정보는 실제 데이터의 업데이트 정보와 버전 정보가 저장된다.Here, if the priority queue is formed as shown in Fig. 5, it is a queue that the node has, and is a queue that stores update information occurring simultaneously. The node compares the version information of the data stored in the work queue of the version control device 100 with the version information of the data stored in the node, and if the version information of the data stored in the node is the previous version information, the version management device In addition to sequentially loading the version information of the data from the 100, the data corresponding to the current version information is sequentially loaded from the root node 110 to perform an update operation of the data. At this time, the information stored in the queue stores the update information and the version information of the actual data.

노드에서는 우선순위 대기열 저장된 데이터의 버전 순서에 따라 데이터의 업데이트 수행을 순차적으로 수행한다. 여기서, 순차적으로 데이터의 업데이트를 수행한다는 것의 의미는 데이터의 현재 버전 정보가 “4”이고, 특정 노드가 저장하고 있는 데이터의 버전 정보가 “2”인 경우에는 버전 “3”과 버전 “4”의 데이터를 순차적으로 로딩하여 데이터의 업데이트를 수행하는 것을 의미한다.The node sequentially performs data update according to the version order of the data stored in the priority queue. Here, the means of sequentially updating the data means that the current version information of the data is "4" and the version "3" and version "4" when the version information of the data stored in the specific node is "2". This means that data is sequentially loaded and data is updated.

그리고, 현재 수행 중인 버전의 다음 버전 데이터가 없다면 다음 버전의 데이터를 받을 때까지 노드는 업데이트 연산을 대기한다. 또한 노드에서는 대기열의 한계치 이상의 데이터가 쌓일 경우 더 이상의 업데이트 정보를 받을 수 없음으로 업데이트 정보 지연 메시지를 버전 관리 장치(100)로 전달한다.If there is no next version data of the currently executing version, the node waits for an update operation until the next version data is received. In addition, the node transmits an update information delay message to the version control device 100 because no more update information can be received when data more than the limit value of the queue is accumulated.

초과용량 대기열 관리부(240)는 노드로부터 업데이트 지연 메시지를 수신한 경우 업데이트 연산이 지연되고 있는 노드의 정보를 도 6에 도시된 바와 같은 초과용량 대기열에 저장 및 관리한다. 도 6에 도시된 초과용량 대기열은 버전 관리 장치(100)에서 관리되는 대기열의 하나로써, 노드에서 업데이트 지연이 발생된 경우, 각 노드들의 지연 정보가 저장되는 대기열이다. 초과용량 대기열 관리부(240)는 초과용량 대기열에 저장된 지연 정보를 이용하여 지연이 발생된 이후부터 데이터의 업데이트 연산이 각각의 노드들로부터 발생되지 않도록 각각의 노드들을 제어한다. 이를 통해 전체 그리드 데이터 베이스 내의 데이터에 대한 버전의 일관성을 유지할 수 있다.When the excess capacity queue manager 240 receives the update delay message from the node, the excess capacity queue manager 240 stores and manages information of the node whose update operation is delayed in the excess capacity queue as shown in FIG. 6. The excess capacity queue shown in FIG. 6 is one of queues managed by the version control apparatus 100. When an update delay occurs in a node, the excess capacity queue stores queue delay information of each node. The excess capacity queue manager 240 controls the respective nodes so that the update operation of the data does not occur from the respective nodes after the delay occurs using the delay information stored in the excess capacity queue. This allows you to maintain a consistent version of the data within the entire grid database.

또한, 초과용량 대기열에 지연된 노드의 정보가 삽입되면 우선 업데이트 대기열 관리부(250)가 동작되며, 이 후에 발생되는 업데이트 연산 메시지는 도 7에 도시된 바와 같이, 각 노드로부터의 지연 정보가 우선 업데이트 대기열에 저장된다.  In addition, when the information of the delayed node is inserted into the excess capacity queue, the update queue management unit 250 operates first, and as shown in FIG. 7, the delay information from each node has priority update queue as shown in FIG. 7. Are stored in.

이어서, 우선 업데이트 대기열 관리부(250)는 그리드 데이터 베이스에서 데이터의 업데이트에 지연이 발생된 이후에 노드들로부터 수신되는 모든 업데이트 연산 요청 메시지를 도 7에 도시된 바와 같이, 우선 업데이트 대기열에 저장 및 관리한다. 여기서, 우선 업데이트 대기열은 데이터의 업데이트에 지연이 발생된 이후의 모든 업데이트 연산 요청 메시지를 저장한다.Subsequently, the priority update queue manager 250 stores and manages all update operation request messages received from the nodes after the delay occurs in updating the data in the grid database in the priority update queue, as shown in FIG. 7. do. Here, the update queue first stores all update operation request messages after a delay occurs in updating data.

우선 업데이트 대기열에 업데이트 연산 요청 메시지를 순차적으로 저장함으로써 초과용량 대기열에 있는 모든 노드의 지연이 해제되었을 경우에, 이후 수해되는 업데이트 연산의 순차성을 보장하여 지연 발생 이후에 동시다발적으로 발생하는 업데이트 연산의 일관성을 보장할 수 있다.First, by sequentially storing update operation request messages in the update queue, when the delays of all nodes in the excess capacity queue are released, the update operations that occur simultaneously after the occurrence of the delay are guaranteed by ensuring the sequentiality of subsequent update operations. Can ensure consistency.

상술한 설명에서는 버전 관리 장치(100)가 그리드 데이터 베이스 내에서 별로의 독립적 구성요소로 형성되는 것으로 설명하였으나, 이는 하나의 실시 예에 불과한 것으로, 버전 관리 장치(100)는 노드들에서 업데이트 되는 데이터의 버전 관리를 위해 임의의 노드(예를 들면, 루트 노드)에 포함되어 형성될 수 있다. 이러한 경우에는 루트 노드(110)가 데이터의 버전 정보의 생성, 관리 및 전송을 담당하게 된다.In the above description, the version control apparatus 100 is described as being formed as a separate component in a grid database. However, this is only an example, and the version control apparatus 100 is updated in nodes. It can be formed included in any node (eg, root node) for version control of the. In this case, the root node 110 is responsible for generation, management and transmission of version information of the data.

이하, 설명에서는 노드 A0에서 데이터의 업데이트 연산이 발생된 경우를 일 예로 하여 본 발명의 실시 예에 따른 그리드 데이터 베이스의 데이터 버전 관리 방법을 설명하기로 한다. 도 8을 참조하여 본 발명의 실시 예에 따른 데이터 버전 관리 방법의 전체적인 흐름에 대하여 설명하고, 이후, 도 9 내지 도 11을 참조하여 버전 관리 장치(100) 및 노드들 간의 메시지 송수신과정 및 데이터 버전 정보의 업데이트 과정에 대하여 설명하기로 한다.In the following description, a data version management method of a grid database according to an embodiment of the present invention will be described using an example in which a data update operation occurs at node A 0 . The overall flow of the data version management method according to an embodiment of the present invention will be described with reference to FIG. 8, and the message transmission / reception process and data version between the version control device 100 and nodes are described with reference to FIGS. 9 to 11. The update process of the information will be described.

도 8은 본 발명의 실시 예에 따른 데이터 버전 관리 방법을 설명하기 위한 흐름도이다. 먼저, 도 8을 참조하면, 노드 A0에서 데이터의 업데이트 연산이 발생하면 노드 A0는 버전 관리 장치(100)로 업데이트가 이루어진 데이터의 새로운 버전 정보를 요청한다(S100). 여기서, 버전 관리 장치(100)가 그리드 데이터 베이스의 임의의 노드에 형성되는 경우에는 버전 관리 장치(100)가 있는 노드로 업데이트가 이루어진 데이터의 새로운 버전 정보를 요청하게 된다.8 is a flowchart illustrating a data version management method according to an embodiment of the present invention. Referring first to Figure 8, when the updating operation of the data generated in the node A 0 requests the new version information of the node A 0 is a data update made to a version management apparatus (100) (S100). Here, when the version control device 100 is formed at any node of the grid database, the version control device 100 requests new version information of the updated data to the node having the version control device 100.

이후, 버전 관리 장치(100)는 현재 저장되어 있는 데이터의 버전 정보를 업데이트하여 데이터의 새로운 버전 정보를 생성하고(S110), 생성된 새로운 버전 정보를 데이터의 새로운 버전 정보를 요청한 노드 A0로 전송한다(S120).Thereafter, the version control apparatus 100 updates the version information of the currently stored data to generate new version information of the data (S110), and transmits the generated new version information to the node A 0 requesting the new version information of the data. (S120).

이후, 버전 관리 장치(100)로부터 데이터의 새로운 버전 정보를 수신한 노드 A0는 수신한 새로운 버전 정보를 기반으로 데이트의 버전 업데이트 메시지를 작성한다(S130).Thereafter, the node A 0, which has received the new version information of the data from the version control apparatus 100, creates a version update message of the data based on the received new version information (S130).

이후, 노드 A0는 업데이트가 이루어진 데이터 및 데이터의 업데이트 정보를 트리 구조에서의 전파 순서에 따라 다른 노드로 전달하기 위하여 생성된 버전 업데이트 메시지를 루트 노드(110)로 전송한다(S140).Thereafter, the node A 0 transmits the generated version update message to the root node 110 to transmit the updated data and the update information of the data to other nodes according to the propagation order in the tree structure (S140).

이후, 데이터의 업데이트가 이루어진 노드 A0로부터 버전 업데이트 메시지를 수신한 루트 노드(110)는 수신된 업데이트 메시지의 데이터 버전 정보와 자신이 저장하고 있는 데이터의 버전 정보를 비교한다. 여기서, 버전 정보에는 이전 버전과 업데이트가 이루어진 현재 버전 정보가 포함되어 있다.Thereafter, the root node 110 receiving the version update message from the node A 0 where the data is updated compares the data version information of the received update message with the version information of the data stored therein. Here, the version information includes the current version information that has been updated with the previous version.

예를 들면, 수신된 업데이트 메시지의 버전 정보가 이전 버전 3에서 현재 버전 4로 변경되는 것이고, 루트 노드(100) 자신이 가지고 있는 데이터의 현재 버전이 3인 경우에는 자신이 가지고 있는 데이터의 버전이 업데이트 된 것이므로, 업데이트 연산을 수행하여 자신이 저장하고 있는 데이터 및 데이터의 버전 정보의 업데이트 한다(S150). 이후, 루트 노드(100)는 자신의 하부에 구성된 다른 노드(예를 들면, 노드 An-1)로 버전 업데이트 메시지를 전송한다(S160).For example, if the version information of the received update message is changed from the previous version 3 to the current version 4, and the current version of the data owned by the root node 100 is 3, the version of the data it has is Since it is updated, the update operation is performed to update the data and the version information of the data stored therein (S150). Thereafter, the root node 100 transmits a version update message to another node (for example, node An-1) configured under its root (S160).

만약, 루트 노드(110) 자신이 보유한 데이터의 현재 버전이 노드 A0로부터 수신된 데이터의 이전 버전 정보와 상이한 경우에는 업데이트 연산을 잠시 보류하게 된다. 예를 들면, 수신된 업데이트 메시지의 버전 정보가 이전 버전 4에서 현재 버전 5로 변경되는 것이고, 루트 노드(100) 자신이 가지고 있는 데이터의 현재 버전이 3인 경우에는 자신이 가지고 있는 데이터의 버전이 노드 A0 에서 업데이트가 수행된 데이터의 버전과 상이하므로 이런 경우에는 업데이트 연산을 연산순위 대기 열에 저장하고 자신이 저장하고 있는 복제본 데이터의 버전이 최근의 버전으로 교체될 때까지 버전 정보의 업데이트 연산을 보류한다.If the current version of data owned by the root node 110 is different from the previous version information of the data received from the node A 0 , the update operation is temporarily suspended. For example, when the version information of the received update message is changed from the previous version 4 to the current version 5, and the current version of the data owned by the root node 100 is 3, the version of the data that the user has is In this case, the update operation is stored in the operation priority queue and the update operation of the version information is executed until the version of the replica data stored by the node A 0 is replaced with the latest version. Withhold

루트 노드(110)로부터 버전 업데이트 메시지를 수신한 노드 An-1은 노드 A0 및 루트 노드(110)와 동일한 방법을 통해 업데이트 연산을 수행하여 자신이 저장하고 있는 데이터 및 데이터의 버전 정보의 업데이트 한다(S170). 이후, 노드 An-1은 자신의 하부에 구성된 다른 노드(예를 들면, 노드 An)로 버전 업데이트 메시지를 전송한다(S180).The node An-1 receiving the version update message from the root node 110 performs an update operation through the same method as the node A 0 and the root node 110 to update the data and version information of the data stored therein. (S170). Thereafter, the node An-1 transmits a version update message to another node (for example, node An) configured below it (S180).

노드 An-1도 자신이 저장하고 있는 데이터의 버전 정보와 루트 노드(110)로부터 수신된 데이터의 버전 정보가 상이한 경우에는 자신이 저장하고 있는 데이터의 버전이 최근의 버전으로 변경 때까지 업데이트 연산을 우선순위 대기열에 저장하여 버전 정보의 업데이트 연산을 보류한다.If the node An-1 also differs from the version information of the data stored in the node and the version information of the data received from the root node 110, the update operation is performed until the version of the data stored in the node An-1 is changed to the latest version. Store in the priority queue to suspend the update operation of the version information.

노드 An-1로부터 버전 업데이트 메시지를 수신한 노드 An은 업데이트 연산을 수행하여 자신이 저장하고 있는 데이터 및 데이터의 버전 정보의 업데이트 한다(S190).The node An receives the version update message from the node An-1 and performs an update operation to update the data stored in the node An-1 and the version information of the data (S190).

이후, 상술한 S150 내지 S190 과정과 같이 데이터의 버전 업데이트를 수신 한 후, 자신이 저장하고 있는 데이터 및 데이터의 버전 정보의 업데이트 수행하고, 자신의 하부에 구성된 다른 노드들로 버전 업데이트 메시지를 전송하는 과정을 수행하여 그리드 데이터 베이스의 모든 노드들은 동일한 버전의 데이터를 저장하게 된다. 이를 통해, 그리드 데이터 베이스 내의 데이터의 일관성을 유지할 수 있다.Subsequently, after receiving the version update of the data as described above in S150 to S190, the data and the version information of the data stored therein are updated, and a version update message is transmitted to other nodes configured under the own. As a result, all nodes in the grid database store the same version of data. This ensures consistency of data in the grid database.

도 9는 본 발명의 실시 에에 따른 데이터 버전 관리 방법에서 버전 관리 장 치와 노드 간의 업데이트 메시지 송수신 과정을 나타내는 흐름도이다.9 is a flowchart illustrating a process of transmitting and receiving an update message between a version control device and a node in a data version management method according to an embodiment of the present invention.

도 9를 참조하면, 노드 A0에서 데이터의 업데이트 연산이 수행되면(S200) 노드 A0는 버전 정보 업데이트 메시지를 생성하고(S210), 생성된 버전 정보 업데이트 메시지를 버전 관리 장치(100)로 전송한다(S220).Referring to Figure 9, when the updating operation of data performed on the node A 0 (S200), the node A 0 is sent to create a version information update message (S210), the generated version information update message to the version management apparatus (100) (S220).

이후, 버전 관리 장치(100)는 현재 저장되어 있는 버전 정보(이전 버전 정보 및 현재 버전 정보)와 노드 A0로부터 수신된 버전 정보를 비교하여 데이터의 업데이트 및 데이터 버전 정보의 업데이트가 가능한지를 확인 한다(S230).Thereafter, the version control apparatus 100 compares the currently stored version information (previous version information and current version information) with the version information received from the node A 0 and checks whether data update and data version information are possible. (S230).

S230의 확인 결과, 업데이트가 가능한 경우에는 새로운 버전 정보를 생성하고, 생성된 새로운 버전 정보를 노드 A0로 전송한다(S2340).As a result of checking in S230, when an update is possible, new version information is generated and the generated new version information is transmitted to the node A 0 (S2340).

이후, 노드 A0는 버전 관리 장치(100)로부터 수신된 새로운 버전 정보로 데이터 및 데이터의 버전 정보의 업데이트를 수행한다(S250). 이후, 루트 노드(110)로 새로운 버전 정보를 전달하여 수요기반 트리 구조를 통해 그리드 데이터 베이스의 모든 노드들로 새로운 버전 정보를 전달하게 된다.Thereafter, the node A 0 updates the data and the version information of the data with the new version information received from the version control apparatus 100 (S250). Thereafter, the new version information is transmitted to the root node 110 to transmit the new version information to all nodes of the grid database through the demand-based tree structure.

다시 S230으로 돌아가서, 확인 결과, 업데이트가 가능하지 않은 경우에는 수신된 버전 정보 업데이트 메시지에 따른 버전 정보 업데이트 요청을 보류하고, 초과용량 대기열에 수신된 버전 정보를 저장한다(S260).Returning to S230 again, if the update is not possible, the version information update request is suspended according to the received version information update message, and the received version information is stored in the excess capacity queue (S260).

여기서, 업데이트가 가능하지 않은 경우는 노드 A0로부터의 버전 정보의 업데이트 요청 이전에 다른 노드로부터 버전 정보의 업데이트의 요청이 있을 경우는 버전 정보의 업데이트 요청을 순차적으로 하기 위함이다.In this case, when the update is not possible, the update request for the version information is sequentially performed when there is a request for the update of the version information from another node before the update request for the version information from the node A 0 .

이후, 노드 A0로 업데이트 연산 중지 메시지를 전송하여 노드 A0가 데이터 버전 정보의 업데이트를 수행하는 것을 중지시킨다(S270).Since, the update operation by transmitting a stop message to the node A 0 A 0 a node ceases to perform updates of data version information (S270).

버전 관리 장치(100)로부터 버전 정보의 업데이트 연산 중지를 통보받은 노드는 자신이 수행한 데이터의 업데이트에 따른 새로운 버전 정보를 획득하지 못하였으므로, 버전 관리 장치(100)에서 새로운 버전 정보를 획득할 때까지 그리드 데이터 베이스 내의 다른 노드들로 자신이 수행한 데이터 업데이트에 대한 정보 전달을 보류하게 된다.When the node notified of stopping the update operation of the version information from the version control device 100 did not obtain new version information according to the update of the data performed by the version control device 100, when the version control device 100 obtains the new version information. Until this, other nodes in the grid database are suspended from communicating information about their data updates.

상술한, S200 내지 S270의 과정을 통해 그리드 데이터 베이스 내의 여러 노드들로부터 데이터의 업데이트가 수행되어 버전 정보의 업데이트가 요청된 경우, 버전 정보의 업데이트를 순차적으로 수행할 수 있어 그리드 데이터 베이스 내에서 데이터 및 데이터 버전 정보의 일관성을 유지시킬 수 있다.When the data is updated from various nodes in the grid database through the processes of S200 to S270 described above, and the version information is requested to be updated, the version information can be sequentially updated to allow data to be updated in the grid database. And data version information can be kept consistent.

도 10은 본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 버전 관리 장치에서 메시지 수신 이후의 처리 과정을 나타내는 흐름도이다. 10 is a flowchart illustrating a process after receiving a message in a version control apparatus in a data version management method according to an embodiment of the present invention.

도 10을 참조하면, 그리드 데이터 베이스의 노드들로부터 메시지가 수시되면(S300), 수신된 메시지의 종류를 확인하게 되는데 먼저 수신된 메시지가 버전 정보 업데이트 메시지(UP DATA MSG)인지를 확인 한다(S310).Referring to FIG. 10, when a message is received from nodes of a grid database (S300), a type of a received message is checked. First, it is checked whether a received message is a version information update message (UP DATA MSG) (S310). ).

S310의 확인 결과, 수신된 메시지가 버전 정보 업데이트 메시지이면, 노드로부터 수신된 버전 정보 업데이트 메시지에 포함된 버전 정보와 자신이 관리하고 있는 버전정보를 비교한 후, 버전 정보의 업데이트가 가능한 경우에 현재 버전 정보 를 새로운 버전 정보로 업데이트를 수행한다(S320). 여기서, 버전 정보의 업데이트가 가능하지 않은 경우에는 도 9의 S260 및 S270의 절차를 수행한다.If the received message is a version information update message as a result of checking in S310, the version information included in the version information update message received from the node is compared with the version information managed by the user, and the current version information can be updated when the version information is possible. The version information is updated with the new version information (S320). Here, when the update of the version information is not possible, the procedures of S260 and S270 of FIG. 9 are performed.

여기서, 버전 정보 업데이트 메시지(UP DATA MSG)는 노드에서 발생되는 데이터의 일반적인 업데이트를 의미하는 메시지로, 업데이트 연산은 Waiting Flag를 확인하여 Waiting Flag가 FALSE인 경우 버전의 메시지를 다음 버전으로 변경한다. 그리고, VMSUC MSG 메시지를 노드로 전송한다. 만약 Waiting Flag가 TRUE일 경우는 데이터는 Stored Waiting Q 함수를 통하여 우선순위 대기열에 저장된다. 또한 Exchange Version은 현재 저장된 버전 정보를 증가하여 새로 들어온 버전 정보를 변경하는 역할을 수행한다.Here, the version information update message (UP DATA MSG) is a message indicating a general update of data generated in the node. The update operation checks the Waiting Flag and changes the version message to the next version when the Waiting Flag is FALSE. Then, the VMSUC MSG message is transmitted to the node. If the Waiting Flag is TRUE, data is stored in the priority queue through the Stored Waiting Q function. In addition, Exchange Version increases the currently stored version information and changes the new version information.

S310으로 돌아가서, 확인 결과, 수신된 메시지가 버전 정보 업데이트 메시지가 아니면, 수신된 메시지가 지연 메시지(PENDING MSG)인지 확인 한다(S330).Returning to S310, if it is confirmed that the received message is not a version information update message, it is checked whether the received message is a delay message (PENDING MSG) (S330).

S330의 확인 결과, 수신된 메시지가 지연 메시지이면, 지연이 발생된 노드에 대한 정보를 초과 용량 대기열에 저장한다(S340). 이후, 지연이 발생되고 있는 노드에서 데이터 및 데이터 버전 정보의 업데이트 연산이 수생되지 않도록 업데이트 연산을 차단한다(S350). 이후, 업데이트 연산 차단 이후에 발생되는 업데이트 메시지는 초과용량 대기열에 저장하고(S360), 노드에 발생된 지연이 해제될 때까지 업데이트 연산을 보류한다.As a result of checking in S330, if the received message is a delay message, information on the node where the delay has occurred is stored in the excess capacity queue (S340). Thereafter, the update operation is blocked so that the update operation of the data and the data version information is not generated in the node where the delay has occurred (S350). Thereafter, the update message generated after the update operation is blocked is stored in the excess capacity queue (S360), and the update operation is suspended until the delay caused by the node is released.

여기서, 지연 메시지(PENDING MSG)는 지연이 발생된 노드의 정보를 포함하는 메시지로, 버전 관리 장치(100)는 지연이 발생된 노드의 정보를 저장하고 Wait Running Flag 함수를 호출하여 더 이상의 업데이트 연산이 발생하지 않도록 노드를 제어한다.Here, the Pending message (PENDING MSG) is a message containing the information of the node where the delay occurs, the version control device 100 stores the information of the node where the delay occurs, and calls the Wait Running Flag function for further update operation Control the node so that it does not occur.

S330으로 돌아가서, 확인 결과, 수신된 메시지가 지연 메시지(PENDING MSG)가 아니면, 수신된 메시지가 지연 해제 메시지(IMPENDING MSG)인지 확인 한다(S370).Returning to S330, if it is determined that the received message is not a delay message (PENDING MSG), it is checked whether the received message is an IMPENDING MSG (S370).

S370의 확인 결과, 수신된 메시지가 지연 해제 메시지이면, 메시지를 전송한 노드에 대하여 초과용량 대기열에서 대기중인 업데이트 연산을 수행하도록 노드의 지연 상태를 해제한다(S380). 이후, 현재 우선순위 대기열에 다른 노드의 정보가 존재하는지 확인 한다(S390).As a result of checking in S370, if the received message is a delay release message, the delay state of the node is released to perform an update operation waiting in the excess capacity queue with respect to the node that has sent the message (S380). Then, it is checked whether information of another node exists in the current priority queue (S390).

S390의 확인 결과, 현재 우선순위 대기열에 다른 노드의 정보가 존재하지 않으면, 현재까지 저장된 우선 업데이트 대기열의 데이터를 각각의 노드로 전달한다(S400). 이를 통해, 데이터 업데이트가 이루어진 노드로부터의 새로운 버전 정보가 그리드 데이터 베이스의 다른 노드들로 전달되게 된다. 한편, 390의 확인 결과, 현재 우선순위 대기열에 다른 노드의 정보가 존재하면 다른 노드에 지연이 발생되고 있거나, 먼저 요청된 정보가 있는 것이므로, 이에 대한 처리가 완료될 때까지 처리를 대기한다(S395).As a result of checking in S390, if information of another node does not exist in the current priority queue, data of the priority update queue stored so far is transmitted to each node (S400). Through this, new version information from the node where the data is updated is transmitted to other nodes of the grid database. On the other hand, as a result of the check in 390, if information of another node exists in the current priority queue, a delay is generated in another node, or since there is information requested first, and the process waits until the processing thereof is completed (S395). ).

도 11은 본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 노드에서 데이터 업데이트 메시지 수신 이후의 처리 과정을 나타내는 흐름도이다. 데이터의 복제본을 저장하고 관리하는 노드는 데이터 베이스의 일반적 역할을 수행하고 있으며 버전 관리 장치(100) 및 다른 노드로부터 입력된 메시지에 따라 데이터의 및 버전 정보의 업데이트 수행이 달라지게 된다.11 is a flowchart illustrating a processing process after receiving a data update message at a node in a data version management method according to an embodiment of the present invention. The node that stores and manages the replica of the data plays a general role of the database, and the updating of the data and the version information is changed according to messages input from the version control apparatus 100 and other nodes.

도 11을 참조하면, 그리드 데이터 베이스의 버전 관리 장치(100) 또는 다른 노드로부터 메시지가 수시되면(S410), 수신된 메시지의 종류를 확인하게 되는데 먼저 수신된 메시지가 버전 정보 업데이트 성공 메시지(VM SUC MSG)인지를 확인 한다(S420).Referring to FIG. 11, when a message is received from a version control device 100 or another node of a grid database (S410), a type of a received message is checked. The received message is a version information update success message (VM SUC). MSG) (S420).

S420의 확인 결과, 수신된 메시지가 버전 정보 업데이트 성공 메시지이면, 수신된 업데이트가 성공된 버전 정보가 노드에 저장된 버전 정보 보다 이전 버전인지 확인 한다(S430).As a result of checking in S420, if the received message is a version information update success message, it is checked whether the version information in which the received update is successful is a version earlier than the version information stored in the node (S430).

S430의 확인 결과, 수신된 업데이트가 성공된 버전 정보가 노드에 저장된 버전 정보와 같거나, 이전 버전이면 해당 노드가 저장하고 있는 데이터의 버전 정보와 버전 관리 장치(100)에 저장된 데이터의 버전 정보가 동일하므로 업데이트 연산을 수행할 필요가 없다.As a result of the check in S430, if the version information received successfully is the same as the version information stored in the node or the previous version, the version information of the data stored in the node and the version information of the data stored in the version control device 100 Since it is the same, there is no need to perform an update operation.

그러나, S430의 확인 결과, 수신된 업데이트가 성공된 버전 정보가 노드에 저장된 버전 정보보다 최근의 버전 정보인 경우에는 버전 정보의 업데이트 연산 수행이 필요하게 된다.However, as a result of checking in S430, when the version information for which the received update is successful is the latest version information than the version information stored in the node, it is necessary to perform the update operation of the version information.

이러한 경우, 수신된 버전 정보를 Insert First PQ 함수에 저장한다(S440). 이후, 우선순위 대기열이 초과된 상태가 아니라면 수신된 버전 정보를 Insert PT에 삽입한다(S450). 이후, Insert First PQ 함수의 결과 값이 FULL 인지를 확인 한다(S460). S460의 확인 결과, Insert First PQ 함수의 결과 값이 FULL PQ면 우선순위 대기열의 공간이 전부 사용되었기 때문에 버전 관리 장치에게 지연 메시지를 전송 한다(S470). 이후, 지연이 해제될 때까지 버전 정보의 업데이트 연산 수행을 보 류 한다.In this case, the received version information is stored in the Insert First PQ function (S440). Thereafter, if the priority queue is not exceeded, the received version information is inserted into Insert PT (S450). Then, it is checked whether the result value of the Insert First PQ function is FULL (S460). As a result of the check in S460, if the result value of the Insert First PQ function is FULL PQ, the delay message is transmitted to the version control device because the space of the priority queue is used up (S470). After that, the update operation of version information is suspended until the delay is released.

S420으로 돌아가서, 확인 결과, 수신된 메시지가 버전 정보 업데이트 성공 메시지가 아니면, 수신된 메시지가 버전 정보 전달 지연 메시지(VM WAIT MSG)인지 확인 한다(S480).Returning to S420, if it is determined that the received message is not a version information update success message, it is checked whether the received message is a version information delivery delay message (VM WAIT MSG) (S480).

S480의 확인 결과, 수신된 메시지가 버전 정보 전달 지연 메시지인 경우에는 버전 관리 장치(100)가 지연이 발생된 노드의 정보를 받은 경우임에도 불구하고 노드에서는 버전 관리 장치(100)에게 업데이트 메시지를 전송한 경우로, 더 이상의 업데이트가 발생하지 않고 보류해야 한다.As a result of checking in S480, when the received message is a version information delivery delay message, the node transmits an update message to the version control device 100 even though the version control device 100 receives the information of the node where the delay has occurred. In one case, no further updates occur and must be suspended.

이를 위해, 버전 관리 장치(100)는 노드로 버전 정보 전달 지연 메시지를 전송하고, 이를 수신한 노드는 지연 프로세서(Waiting Process)를 동작하여 업데이트 연산을 요청한 테이블의 버전 정보의 업데이터 연산을 보류한다. 노드는 버전 정보 재전송 메시지(VM RE UPDATE MSG)를 수신할 때까지 업데이트 연산을 보류한다(S490).To this end, the version control apparatus 100 transmits a version information transfer delay message to the node, and the node receiving the same, suspends the update operation of the version information of the table requesting the update operation by operating a delaying process. The node suspends the update operation until it receives a version information retransmission message (VM RE UPDATE MSG) (S490).

S480으로 돌아가서, 수신된 메시지가 버전 정보 전달 지연 메시지가 아닌 경우에는, 수신된 메시지가 버전 정보 재전송 메시지(VM RE UPDATE MSG)인지 확인 한다(S500).In step S480, if the received message is not a version information delivery delay message, it is checked whether the received message is a version information retransmission message (VM RE UPDATE MSG) (S500).

S500의 확인 결과, 수신된 메시지가 버전 정보 재전송 메시지이면, 버전 정보 관리자(100)로부터 지연 해제를 통보받은 것이므로, 업데이트가 보류되었던 데이터의 업데이트를 수행한다(S510).As a result of checking in S500, if the received message is a version information retransmission message, since the delay release is notified from the version information manager 100, the update of the data on which the update is suspended is performed (S510).

여기서, 버전 정보 재전송 메시지(VM RE UPDATE MSG)는 버전 정보 관리 자(100)로부터 지연이 해제된 노드에게 전송되는 메시지이다. 노드에서 이 메시지를 받으면 버전 관리 장치에서의 지연 때문에 업데이트가 보류되었던 데이터 및 데이터 버전 정보의 업데이트 수행이 가능케 된다.Here, the version information retransmission message (VM RE UPDATE MSG) is a message transmitted from the version information manager 100 to the delayed node. When the node receives this message, it is possible to perform the update of the data and data version information, which has been suspended due to a delay in the version control device.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 상술한 과정들을 통해 그리드 데이터 베이스 내의 데이터 및 데이터의 버전 정보의 일관성을 유지할 수 있다.The data version management method according to an embodiment of the present invention can maintain the consistency of data and version information of data in a grid database through the above-described processes.

이하에서는 데이터 버전 관리 방법 다른 실시 예에 대하여 설명하기로 한다.Hereinafter, another embodiment of the data version management method will be described.

그리드 데이터 베이스의 노드에서는 우선순위 대기열을 가지고 업데이트 메시지를 저장하여 순차적으로 데이터 및 버전 정보의 업데이트 연산을 수행한다. 여기서, 버전 정보 관리부 및 노드에서 송수신 되는 메시지가 노드의 대기열 한계치를 초과하게 되는 경우가 발생할 수 있다. 이런 경우는 버전 관리 장치에게 지연 메시지를 보내서 더 이상의 업데이트 연산이 발생이 발생하지 않게 보류할 수 있다. 하지만 현재까지 실행된 업데이트 메시지를 노드에서 더 이상 받지 못하여 업데이트 데이트 정보를 유실할 수 있는 경우가 발생할 수 있다.Nodes in the grid database store update messages with priority queues and perform update operations on data and version information sequentially. Here, a case may occur where messages transmitted and received by the version information management unit and the node exceed the queue limit of the node. In this case, a delay message can be sent to the version control device to suspend further update operations from occurring. However, there may occur a case where the update date information is lost because the node no longer receives the update message that has been executed up to now.

또한, 다음 버전의 업데이트 데이터 버전을 기다리는 상태에서 다음 버전의 데이터는 삽입되지 않고 차후의 버전들이 먼저 삽입되어 우선순위 대기열의 저장공간 한계치를 초과하는 상태가 발생할 수 있다.In addition, while waiting for the next version of the update data version, the next version of the data may not be inserted, and later versions may be inserted first to exceed a storage limit of the priority queue.

대기열의 한계치를 초과한 경우 더 이상의 데이터를 받을 수 없고 현재까지 처리된 데이터의 다음 업데이트 버전이 대기열에 없어서 처리를 할 수도 없는 데드락(Deadlock)현상이 발생할 수 있다.If you exceed the limit of the queue, you may get a deadlock that will not receive any more data and will not be able to process because the next updated version of the data processed so far is not in the queue.

상술한, 예외적인 경우를 방지하기 위하여 본 발명의 다른 실시 예에 따른 데이터 버전 관리 방법은 NOTE MP MSG 메시지 및 HASE MP MSG의 메시지를 이용한다.In order to prevent the above-described exceptional case, the data version management method according to another embodiment of the present invention uses a message of a NOTE MP MSG message and a HASE MP MSG.

먼저, NOTE MP MSG의 메시지는 하위 노드의 우선순위 대기열에 더 이상의 가용공간이 없을 경우 상위 노드로 전송되는 메시지이다. 다음으로, HASE MP MSG의 메시지는 하위 노드에서 우선순위 대기열에 사용할 수 있는 공간이 발생하면 전송하는 메시지이다.First, a message of NOTE MP MSG is a message transmitted to a higher node when there is no more available space in the priority queue of the lower node. Next, the message of the HASE MP MSG is a message transmitted when there is space available in the priority queue at the lower node.

노드에서 더 이상의 우선순위 대기열의 가용공간이 없을 경우 CHI FULL MSG 메시지와 자신이 현재 기다리고 있는 버전의 정보를 상위 노드로 전송한다. 상위 노드로 메시지를 전송하는 이유는 노드에서 업데이트 데이터를 더 이상 대기열에 저장할 수 있는 공간이 부족하기 때문에 상위 노드에서 메시지를 전달하지 않고 하위 노드에 전달할 메시지를 보관하고 있는 것이다. 이후, 하위 노드에서 우순 순위 대기열의 빈 공간이 발생하였다는 메시지를 전달하면 상위 노드는 자신의 노드에 저장되었던 업데이트 메시지를 전달한다.If the node no longer has available space in the priority queue, it sends a CHI FULL MSG message and information of the version it is currently waiting to. The reason for sending a message to the parent node is because the node no longer has enough space to store the update data in the queue, so the parent node does not deliver the message but instead keeps the message to be delivered to the child node. Subsequently, when a lower node delivers a message that an empty space of the priority queue has occurred, the upper node delivers an update message stored in its own node.

또한, send block PQ 메시지는 우선순위 대기열의 데이터를 하위 노드로 전송하는 것을 막는 역할과 현재 노드에서 업데이트 연산이 수행된 데이터에 관해서도 업데이트 메시지의 삭제를 지연하는 역할을 한다. 이것은 하위 노드에서 더 이상의 업데이트 데이터를 저장할 수 없기 때문에 상위 노드에서 데이터의 삭제와 전송을 지연하여 하위 노드에서 데이터를 유실하지 않게 보장한다. 또한, 자신의 노드도 하위 노드로 업데이트 데이터를 전송하지 못하여 데이터가 쌓여서 우선순위 대기열이 저장할 수 있는 한계치를 초과할 경우 자신의 상위 노드로 NOTE MP MSG 메시지를 전달한다. 만약. 하위 노드에서 HASE MP MSG의 메시지를 상위 노드에 보내면 업데이트 데이터를 전송하고 수행된 전달된 데이터는 삭제한다.In addition, the send block PQ message prevents the data of the priority queue from being transmitted to the lower node and delays deletion of the update message with respect to the data whose update operation is performed in the current node. This delays the deletion and transmission of data at the upper node because no more update data can be stored at the lower node, thus ensuring that no data is lost at the lower node. In addition, if its own node fails to send update data to the lower node and the data accumulates and exceeds the limit that the priority queue can store, it sends a NOTE MP MSG message to its upper node. if. When the lower node sends a message of HASE MP MSG to the upper node, it transmits update data and deletes the transmitted data.

자신의 노드에서 HASE MP MSG의 메시지를 받았을 경우, Wanted Update data는 자신의 하위 노드에서 필요로 하는 데이터의 버전 정보를 보내주는 역할을 하는 함수 이다. 이 함수를 사용함으로써 하위 노드에서의 우선순위 대기열의 데드락 현상을 방지할 수 있다.When a node receives a message of HASE MP MSG from its own node, Wanted Update data is a function that sends version information of data required by its subordinate node. By using this function, deadlocks in the priority queue at the lower node can be prevented.

도 12는 복제본 수에 따른 업데이트 완료 시간을 나타내는 도면, 도 13은 접근 빈도의 변화에 따른 업데이트 데이터가 반영된 정보에 대한 검색 비율을 나타내는 도면, 도 14는 접근 빈도의 변화에 따른 네트워크 사용량의 변화를 나타내는 도면이다.12 is a view showing the update completion time according to the number of copies, FIG. 13 is a view showing the search rate for the information reflecting the update data according to the change in the access frequency, Figure 14 is a change in network usage according to the change in the access frequency It is a figure which shows.

이하, 도 12 내지 도 14를 참조하여 본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치를 통해 얻을 수 있는 여러 효과들과 이를 검증하는 시뮬레이션 결과에 대하여 설명하기로 한다.Hereinafter, various effects obtained through the data version control method and apparatus according to the embodiment of the present invention and simulation results for verifying the same will be described with reference to FIGS. 12 to 14.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치를 통해 그리드 데이터 베이스의 데이터 및 데이터 버전 관리 성능이 향상되었을 증명하기 위하여 아래의 표 1의 조건 하에서 시뮬레이션을 수행하였다. 시뮬레이션은 3가지로 구분하여 수행하였으며, 첫 번째로 복제본 수에 따른 업데이트 완료 시간, 두 번째로 접근 빈도의 변화에 따른 업데이트 데이터가 반영된 정보에 대한 검색 비율, 세 번째로 접근 빈도의 변화에 따른 네트워크 사용량에 대하여 수행하였다.In order to prove that the data and data version control performance of the grid database is improved through the data version control method and apparatus according to an embodiment of the present invention, simulation was performed under the conditions of Table 1 below. The simulation was divided into three types: first, update completion time according to the number of replicas, second, search rate for information reflecting update data according to the change of access frequency, and third, network according to the change of access frequency. The usage was performed.

실험요소Experimental element 실험 데이터Experimental data 실험 요소Experimental elements 실험 데이터Experimental data 실험시간Experiment time 30,000 unit30,000 unit 업데이트 연산 처리 시간Update operation processing time 4∼7 unit4 to 7 unit 서버 수Number of servers 200∼400개200 to 400 업데이트 정보 전송 시간Update information transmission time 2∼4 unit2 to 4 unit 노드 당 테이블 수Number of tables per node 0∼300개0 to 300 업데이트 질의 입력 간격Update query input interval 0.1 unit0.1 unit 전근 빈도 변화 비율Transfer rate change rate 10∼12 unit10 to 12 unit

상기 표1은 업데이트 데이터 처리 성능 평가를 위한 실험 환경이며, 각 노드의 저장소 크기, 로그에 대한 대기열 크기 등의 정보는 실제 실험평가에서 대기열의 길이에 따른 결과 값의 변화가 미미하여 이에 대한 평가는 생략하였다.Table 1 is an experimental environment for evaluating update data processing performance, and the information such as storage size of each node and queue size for logs is insignificant in the actual experiment evaluation, and thus the evaluation value is omitted. It was.

본 발명의 실시 예에 따른 데이터 버전 관리 방법의 평가를 위해 C/C++언어 기반 시뮬레이션 툴인 CSIM를 적용하였다. CSIM는 분산 환경에서의 컴퓨팅 모델, 알고리즘 평가 등 대부분의 시뮬레이션이 가능한 툴이다.CSIM, a C / C ++ language based simulation tool, was applied to evaluate the data version control method according to an embodiment of the present invention. CSIM is a tool that enables most simulations, including computing models and algorithm evaluation in distributed environments.

본 발명의 실시 예에 따른 데이터 버전 관리 방법의 구현을 위해 다수의 클라이언트와 서버를 구성하였으며, 모든 서버에 제안하는 대기열 자료구조를 저장하였다. 또한, 시뮬레이션의 구현을 위해 알고리즘 언어로 MS Visual C++ 6.0을 사용하였다. 전체적인 구성은 그리드 환경에 적합하도록 복제본의 사용을 허용하였으며, 이질적인 분산 환경에서의 성능 평가를 위하여 여러 노드에서의 각기 다른 대기열 사이즈와 질의 처리 속도 등의 범위를 설정하여 평가하였다.In order to implement the data version management method according to an embodiment of the present invention, a plurality of clients and servers are configured, and the proposed queue data structure is stored in all servers. In addition, we used MS Visual C ++ 6.0 as the algorithm language to implement the simulation. The overall configuration allowed the use of replicas to suit the grid environment, and the evaluation was performed by setting the ranges of different queue sizes and query processing speeds at different nodes for performance evaluation in heterogeneous distributed environments.

이하, 도 12 내지 도 14의 시뮬레이션의 결과에서는 본 발명의 실시 예에 따른 데이터 버전 관리 방법을 DAF-tree로 정의한다. 그리고, 본 발명의 실시 예에 따른 데이터 버전 관리 방법과 비교한 종래 기술의 데이터 버전 관리 방법은 빠른 일관성(Fast-Consistency: FC) 유지 방법을 예로 적용하였다.Hereinafter, in the simulation results of FIGS. 12 to 14, a data version management method according to an embodiment of the present invention is defined as a DAF-tree. In addition, the data version control method of the related art compared to the data version control method according to an embodiment of the present invention applies a fast-consistency (FC) maintaining method as an example.

또한, 시뮬레이션의 비교 대상으로서 빠른 FC 방법과 함께 빠른 FC 방법 확장하여 대표 노드에 대한 개념을 포함시킨 FCL(Fast-Consistency with Leader) 방법과 ARCS(Adaptive Replica Consistency Service) 방법을 함께 시뮬레이션의 비교 대상 예로 적용하였다.In addition, as a comparison target of the simulation, the fast FC method and the fast FC method are expanded to include the concept of representative nodes, and the fast-consistency with leader (FCL) method and the adaptive replica consistency service (ARCS) method are compared as examples of the simulation. Applied.

여기서, ARCS는 데이터 그리드에서 사용되는 일관성 유지 서비스로서 빠른 업데이트 전파를 위해 다수의 마스터 노드를 사용한다. 마스터 노드는 업데이트가 처음 일어나는 노드로서 이러한 노드를 다수 두어 다른 노드들로 업데이트 메시지를 전파함으로써 전파 과정의 병렬성을 향상시킬 수 있는 데이터 버전 관리 방법으로 알려져 있다.Here, the ARCS is a coherence service used in the data grid and uses a plurality of master nodes for fast update propagation. The master node is known as a data version control method that can improve the parallelism of the propagation process by updating a message to other nodes by placing a plurality of these nodes as the first update node.

실험 평가의 대상이 되는 팩터로는 임의의 업데이트 연산에 대해 모든 노드가 업데이트 완료될 때까지 걸리는 시간과 접근 빈도의 변화 비율에 따른 단위 시간 당 업데이트 반영 정보의 검색 비율 및 네트워크 사용 비율이 있다. 단위 시간 당 정보의 검색 비율은 해당 값이 높을수록 접근 빈도가 동적으로 변화하는 환경에서의 업데이트 정보 반영 비율이 높다는 것을 의미한다.Factors to be evaluated for the experiment include the time required for all nodes to be updated for any update operation, the retrieval rate of the update reflection information per unit time according to the change rate of the access frequency, and the network use rate. The retrieval rate of information per unit time means that the higher the value is, the higher the update information reflection rate is in the environment in which the access frequency is dynamically changed.

먼저, 첫 번째로 복제본 수에 따른 업데이트 완료 시간에 대한 시뮬레이션을 수행하였고, 이에 대한 결과 값은 도 12와 같다.First, a simulation of the update completion time according to the number of replicas was first performed, and the result is shown in FIG. 12.

본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)의 경우 종래 기술에 따른 FC와 FCL 방법들에 비해 빠른 완료 시간을 보임을 알 수 있다. 이는 종래 기술의 FC와 FCL방법에 비해 본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)에서의 업데이트 연산이 작은 메시지 교환 방식을 사용하기 때문이다.In the data version management method (DAF-tree) according to an embodiment of the present invention, it can be seen that the completion time is faster than the FC and FCL methods according to the prior art. This is because the update operation in the data version management method (DAF-tree) according to the embodiment of the present invention uses a message exchange method that is smaller than the FC and FCL methods of the prior art.

본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)에서는 이미 접근 빈도에 따른 우선순위가 결정되어 있기 때문에 업데이트 메시지가 별다른 과정 없이 순차적으로 전달이 된다. 그러나, 종래 기술의 FC와 FCL 방법의 경우 업데이트 메시지를 전달하기 전에 우선순위 비교를 위한 메시지 교환을 선행하게 된다. 이로 인해, 도 12에 도시된 바와 같이 성능의 차이가 발생하게 된다.In the data version control method (DAF-tree) according to an embodiment of the present invention, since priorities are determined according to the access frequency, update messages are sequentially delivered without any special process. However, prior art FC and FCL methods precede the message exchange for priority comparison before delivering the update message. As a result, a difference in performance occurs as shown in FIG. 12.

이어서, 두 번째로, 각 노드의 접근 빈도 값을 지속적으로 변화시켰을 때의 단위 시간 당 업데이트 반영 정보의 검색 비율 및 네트워크 사용 비율에 대한 시뮬레이션 결과는 도 13에 도시된 바와 같다.Secondly, a simulation result of a search rate and network usage rate of the update reflection information per unit time when the access frequency value of each node is continuously changed is shown in FIG. 13.

도 13에서 세로축의 "갱신 반영정보의 검색 비율은 "각 트리(여기서, 트리는 미리 그리드 데이터 베이스에 구축되어 있음)를 통해서 구축된 노드들 중에서 얼마나 많은 노드에 갱신 정보가 반영되었는가를 나타내는 비율을 의미한다. 그리고, 가로축의 "접근 빈도의 변화 비율(%)"은 각 노드에 계속적인 접근(Access)을 통하여 전체 시스템이 부하(Workload)가 걸리게 되며 이에 따라 업데이트 연산이 느려지는 상황이 발생된다. 이때의 접근 빈도에 발생되는 변화 비율을 의미한다. In FIG. 13, the "search ratio of updated reflecting information" on the vertical axis means "a ratio indicating how many nodes have updated information reflected among the nodes constructed through each tree (where the tree is built in the grid database in advance). do. In addition, the "% change rate of access frequency" on the horizontal axis causes a load of the entire system through continuous access to each node, thereby causing a situation in which an update operation is slowed. It means the rate of change in the frequency of access at this time.

각 노드의 접근 빈도 변화는 초기 접근 빈도 값 대비 변경 비율로서 산출되며, 비율이 클수록 본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)에서의 노드 간의 위상 변화가 심해짐을 알 수 있다. 또한, 단위 시간 당 업데이트된 정보를 검색해 가는 비율이 접근 빈도의 변화에 따라 크게 떨어지는 것을 볼 수 있다. 도 13에서 종래 기술의 데이터 버전 관리 방법들의 감소 비율이 본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)에 비해 더 큰 것은 종래 기술의 방법들이 네트워크의 부하로 인해 노드 간의 접근 빈도 값 비교가 원활하지 않기 때문이다.The change in the access frequency of each node is calculated as a change rate compared to the initial access frequency value, and it can be seen that the phase change between nodes in the data version management method (DAF-tree) according to the embodiment of the present invention increases as the ratio increases. In addition, it can be seen that the rate of retrieving updated information per unit time drops significantly with the change of the access frequency. In FIG. 13, the reduction ratio of the conventional data version management methods is larger than the data version control method (DAF-tree) according to the embodiment of the present invention. This is because the comparison is not smooth.

이어서, 세 번째로 접근 빈도의 변화에 따른 네트워크 사용량을 패킷 단위로 나타낸 시뮬레이션 결과는 도 14에 도시된 바와 같다.Next, a simulation result showing the network usage according to the change of the access frequency in packet units is shown in FIG. 14.

본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)을 통해 네트워크 사용량이 종래 기술 대비 증가함을 알 수 있다. 또한, 본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)에서는 각 노드의 임계 값(threshold), 즉 하위 노드의 개수를 4개에서 20개까지 늘려가며 평가를 하였으며, 그 외에 네트워크 속도와 각 노드의 처리 속도에 변화를 주었을 때 전체적인 성능의 변화는 있으나, 종래 기술의 FC 및 FCL 방법에 비해 향상된 성능을 나타내었다. 여기서, 최적의 성능을 위한 본 발명의 실시 예에 따른 데이터 버전 관리 방법(DAF-tree)의 임계 값은 그리드 데이터 베이스의 환경에 따라 다르게 적용될 수 있다.Through the data version management method (DAF-tree) according to an embodiment of the present invention it can be seen that the network usage is increased compared to the prior art. In addition, the data version control method (DAF-tree) according to an embodiment of the present invention was evaluated by increasing the threshold of each node, that is, the number of lower nodes from 4 to 20, in addition to the network speed When the processing speed of each node is changed and the overall performance is changed, the performance is improved compared to the FC and FCL methods of the prior art. Here, the threshold value of the data version control method (DAF-tree) according to an embodiment of the present invention for optimal performance may be applied differently depending on the environment of the grid database.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 및 장치는 상술한 구성 및 방법을 통해 다수의 노드에서 복제본 데이터를 허용하는 그리드 데이터 베이스에서 데이터 버전의 일관성 유지를 위한 데이터 버전 관리 방법 및 장치 제공할 수 있다.Data version management method and apparatus according to an embodiment of the present invention can provide a data version management method and apparatus for maintaining the consistency of the data version in the grid database that allows the replica data in a plurality of nodes through the above-described configuration and method have.

본 발명의 실시 예에 따른 데이터 버전 관리 방법은 복제본 데이터의 동시 다발적인 업데이트 연산으로 인한 일관성의 유지를 위하여 그리드 데이터 베이스에서 프로세서와 같은 버전 관리 장치를 통해 캐쉬를 관리한다.The data version control method according to an embodiment of the present invention manages the cache through a version control device such as a processor in the grid database in order to maintain consistency due to concurrent multiple update operations of the replica data.

본 발명의 실시 예에 따른 버전 관리 장치는 그리드 데이터 베이스에서 복제본의 데이터 일관성을 유지하기 위하여 버전 정보에 대한 구조체를 가지며, 버전 정보는 이전 버전 값과 다음 버전 값의 구조로 구성된다. 이 두 가지 값을 이용하여 복제본의 일관성을 유지할 수 있다.Version management apparatus according to an embodiment of the present invention has a structure for the version information in order to maintain the data consistency of the replica in the grid database, the version information is composed of the structure of the previous version value and the next version value. You can use these two values to keep your replica consistent.

또한, 버전 관리 장치에서 관리되는 작업 대기열은 동시 다발적으로 발생하는 업데이트 연산에 처리 과정에서 일부 노드에서의 작업 부하로 업데이트 연산의 지연이 발생할 경우 업데이트 연산이 발생되는 노드의 위치 정보를 기억한다. 향후 작업 부하가 완화되면 대기열에 저장되어 있는 정보를 통해 다시 업데이트 연산을 처리함으로써 동시 다발적으로 발생하는 데이터의 일관성을 보장한다.In addition, the work queue managed by the version control device stores the position information of the node where the update operation occurs when a delay of the update operation occurs due to the workload of some nodes in the process of the update operation that occurs simultaneously. As future workloads ease, the queued information is processed again by update operations to ensure the consistency of concurrent data.

시뮬레이션을 통한 성능 평가에서는 본 발명의 실시 예에 따른 데이터 버전 관리 방법이 종래 기술보다 5∼25%의 성능 향상을 이루었다. 이것은 본 발명의 실시 예에 따른 버전 관리 방법 및 장치를 통하여 그리드 데이터 베이스 내의 데이터 및 데이터 버전 정보의 일관성을 유지함으로써 종래 기술의 보다 그리드 데이터 베이스의 성능 향상을 이룰 수 있음을 의미한다.In the performance evaluation through simulation, the data version control method according to the embodiment of the present invention achieves 5 to 25% performance improvement over the prior art. This means that the performance of the grid database can be improved by maintaining the consistency of the data and the data version information in the grid database through the version management method and apparatus according to an embodiment of the present invention.

본 발명의 실시 예에 따른 데이터 버전 관리 방법 노드의 수가 많고, 복제본 데이터를 가지는 그리드 데이터 베이스 환경이나 분산 데이터 베이스 환경에서 유용하게 사용될 수 있다.Data version management method according to an embodiment of the present invention can be useful in a grid database environment or a distributed database environment having a large number of nodes and having replica data.

상기한 바와 같은 구성 및 작용은 하나의 실시 예로서 본 발명의 청구범위를 제한하는 것은 아니며, 본 발명의 기술적 사상을 변경하지 아니하는 범위내에서 다양한 변경과 수정이 가능함은 본 발명이 속하는 분야에 종사하는 자에게는 자명함을 알 수 있다.The configuration and operation as described above is not limited to the claims of the present invention as an embodiment, and various changes and modifications are possible within the scope of not changing the technical spirit of the present invention in the field to which the present invention belongs. It is obvious to those who are engaged.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.It is apparent to those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit and essential features of the present invention. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

도 1은 종래 기술에 따른 그리드 데이터 베이스의 구조를 나타내는 도면.1 is a view showing the structure of a grid database according to the prior art.

도 2는 본 발명의 실시 예에 따른 버전 관리 장치를 포함하는 그리드 데이터 베이스를 나타내는 도면.2 is a diagram showing a grid database including a version control device according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 버전 관리 장치의 구성을 나타내는 도면.3 is a diagram illustrating a configuration of a version control apparatus according to an embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 버전 관리 방법의 버전 정보 구조를 나타내는 도면.4 is a diagram illustrating a version information structure of a version management method according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 버전 관리 방법의 우선순위 대기열을 나타내는 도면.5 is a diagram illustrating a priority queue of a version control method according to an embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 버전 관리 방법의 초과용량 대기열을 나타내는 도면.6 is a diagram illustrating an excess capacity queue of a version control method according to an embodiment of the present invention.

도 7은 본 발명의 실시 예에 따른 버전 관리 방법의 우선 업데이트 대기열을 나타내는 도면.7 is a view showing a priority update queue of the version control method according to an embodiment of the present invention.

도 8은 본 발명의 실시 예에 따른 데이터 버전 관리 방법을 설명하기 위한 흐름도.8 is a flowchart illustrating a data version management method according to an embodiment of the present invention.

도 9는 본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 버전 관리 장치와 노드 간의 메시지 송수신 과정을 나타내는 흐름도.9 is a flowchart illustrating a message transmission / reception process between a version control apparatus and a node in a data version management method according to an embodiment of the present invention.

도 10은 본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 버전 관리 장치에서 데이터 업데이트 메시지 수신 이후의 처리 과정을 나타내는 흐름도.10 is a flowchart illustrating a processing process after receiving a data update message in a version control apparatus in a data version management method according to an embodiment of the present invention.

도 11은 본 발명의 실시 예에 따른 데이터 버전 관리 방법에서 노드에서 데 이터 업데이트 메시지 수신 이후의 처리 과정을 나타내는 흐름도.11 is a flowchart illustrating a processing process after receiving a data update message at a node in a data version management method according to an embodiment of the present invention.

도 12는 복제본 수에 따른 업데이트 완료 시간을 나타내는 도면.12 shows the update completion time according to the number of replicas.

도 13은 접근 빈도의 변화에 따른 업데이트 데이터가 반영된 정보에 대한 검색 비율을 나타내는 도면.FIG. 13 is a diagram illustrating a search rate for information in which update data is reflected according to a change in access frequency. FIG.

도 14는 접근 빈도의 변화에 따른 네트워크 사용량의 변화를 나타내는 도면.14 is a view showing a change in network usage according to a change in access frequency.

<도면 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 버전 관리 장치 110 : 루트 노드100: version control device 110: root node

120, 130, 140 : 노드 112 : 단말120, 130, 140: node 112: terminal

210 : 버전 정보 관리부 220 : 작업 대기열 관리부210: version information management unit 220: work queue management unit

230 : 우선순위 대기열 관리부 240 : 초과용량 대기열 관리부230: priority queue management unit 240: excess capacity queue management unit

250 : 우선 업데이트 대기열 관리부250: first update queue management unit

Claims (5)

다수의 노드를 포함하는 그리드 데이터 베이스의 데이터 버전 관리 방법에 있어서,In the data version management method of a grid database including a plurality of nodes, 노드로부터 데이터 업데이트 연산이 발생되어 상기 데이터의 새로운 버전 정보 요청을 수신하는 단계;Generating a data update operation from a node to receive a request for new version information of the data; 상기 새로운 버전 정보 요청의 처리 여부를 판단하는 단계;Determining whether to process the new version information request; 판단 결과, 처리가 가능하면 새로운 버전 정보 생성 및 버전 정보를 업데이트 하는 단계; 및If it is determined that the processing is possible, generating new version information and updating the version information; And 상기 새로운 버전 정보를 상기 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 버전 관리 방법.And transmitting the new version information to the node. 제 1 항에 있어서,The method of claim 1, 판단 결과, 처리가 가능하지 않으면If the judgment is not possible, 상기 노드로부터의 새로운 버전 정보 요청을 대기열에 저장하는 단계; 및Storing a new version information request from the node in a queue; And 상기 노드로 업데이트 수행의 중지를 통보하는 단계를 포함하는 것을 특징으로 하는 데이터 버전 관리 방법.And notifying the node to stop performing the update. 제 1 항에 있어서,The method of claim 1, 상기 새로운 버전 정보 요청의 처리 여부의 판단은The determination of whether or not to process the new version information request 상기 노드로부터의 데이터의 제 1 버전 정보와 버전 관리 장치에 저장된 이전 버전 정보 및 현재 버전 정보를 포함하는 제 2 버전 정보를 비교하는 단계를 포함하고,Comparing first version information of the data from the node with second version information including previous version information and current version information stored in a version control device, 상기 제 1 버전 정보와 상기 제 2 버전 정보의 비교결과, 상기 제 1 버전 정보와 상기 제 2 버전 정보가 동일한 경우 상기 새로운 버전 정보 요청의 처리를 수행하고,If the first version information is equal to the second version information and the first version information is identical to the second version information, the new version information request is processed; 상기 제 1 버전 정보와 상기 제 2 버전 정보가 상이한 경우 상기 그리드 데이터 베이스의 다수의 노드에서 데이터의 업데이트가 수행되지 않도록 상기 새로운 버전 정보 요청의 처리를 보류하는 것을 특징으로 하는 데이터 버전 관리 방법.And when the first version information and the second version information are different, suspend the processing of the new version information request so that data is not updated in a plurality of nodes of the grid database. 제 1 항에 있어서,The method of claim 1, 상기 그리드 데이터 베이스의 다수의 노드 중 제 1 노드에서 지연이 발생되는 경우, 상기 제 1 노드의 지연이 해제될 때까지 상기 제 1 노드 외에 다른 노드로부터 데이터의 업데이트 수행을 보류하는 것을 특징으로 하는 데이터 버전 관리 방법.If a delay occurs in a first node of a plurality of nodes of the grid database, data update is suspended from other nodes besides the first node until the delay of the first node is released. Version control method. 다수의 노드를 포함하는 그리드 데이터 베이스의 데이터 버전을 관리하는 데이터 버전 관리 장치에 있어서,In the data version management apparatus for managing the data version of the grid database including a plurality of nodes, 상기 다수의 노드로부터 업데이트가 이루어진 데이터의 버전 정보를 생성 및 관리하는 버전 정보 관리부;A version information manager configured to generate and manage version information of updated data from the plurality of nodes; 상기 다수의 노드에서 동시 다발적으로 발생되는 업데이트 연산에 대한 처리 과정에서 일부 노드의 작업 부하로 인해 새로운 업데이트 연산 처리를 중지시켜야 하는 경우에 사용되는 작업 대기열을 생성 및 관리하는 작업 대기열 관리부;A work queue manager for creating and managing a work queue used when a new update calculation process is to be stopped due to a workload of some nodes in a process of updating a plurality of nodes simultaneously; 상기 다수의 노드에서 동시 다발적으로 이루어지는 데이터의 업데이트에 대한 정보를 수신하여 작업 대기열에 저장하고, 상기 다수의 노드에서 이루어지는 데이터의 업데이트를 순차적으로 진행할 수 있도록 각 노드들의 우선순위를 제어하는 우선순위 관리부;Receiving information about data updates made by multiple nodes at the same time and storing them in a work queue, and priorities for controlling the priorities of the nodes so that updates of data made by the multiple nodes can be performed sequentially. Management; 상기 다수의 노드 중에서 업데이트 연산이 지연되고 있는 노드의 정보를 초과용량 대기열에 저장 및 관리하는 초과용량 대기열 관리부; 및An excess capacity queue manager configured to store and manage information of nodes whose update operations are delayed among the plurality of nodes in an excess capacity queue; And 상기 다수의 노드 중 적어도 하나의 노드에서 업데이트의 지연이 발생된 이후에 상기 다수의 노드로부터 수신되는 업데이트 연산 요청 메시지를 우선 업데이트 대기열에 저장 및 관리하는 우선 업데이트 대기열 관리부를 포함하는 것을 특징으로 하는 데이터 버전 관리 장치.And a priority update queue manager for storing and managing update operation request messages received from the plurality of nodes in a priority update queue after an update delay occurs in at least one of the plurality of nodes. Version control device.
KR1020080072023A 2008-07-24 2008-07-24 Method and apparatus for data version management of grid database KR100952166B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080072023A KR100952166B1 (en) 2008-07-24 2008-07-24 Method and apparatus for data version management of grid database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080072023A KR100952166B1 (en) 2008-07-24 2008-07-24 Method and apparatus for data version management of grid database

Publications (2)

Publication Number Publication Date
KR20100011000A true KR20100011000A (en) 2010-02-03
KR100952166B1 KR100952166B1 (en) 2010-04-09

Family

ID=42085517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080072023A KR100952166B1 (en) 2008-07-24 2008-07-24 Method and apparatus for data version management of grid database

Country Status (1)

Country Link
KR (1) KR100952166B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052340A (en) * 2013-08-13 2018-05-18 华为技术有限公司 A kind of application upgrade method, apparatus
CN113220236A (en) * 2021-05-17 2021-08-06 北京青云科技股份有限公司 Data management method, system and equipment
CN117931829A (en) * 2024-03-22 2024-04-26 平凯星辰(北京)科技有限公司 Database updating method and device, electronic equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030004475A (en) * 2001-07-05 2003-01-15 (주)타잔테크놀로지 System to cut children off from harmfum Internet sites and to search the Internet sites
JP2007293831A (en) 2006-03-30 2007-11-08 Jfe Steel Kk Database synchronous update processing method, slab applying method and coil applying method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052340A (en) * 2013-08-13 2018-05-18 华为技术有限公司 A kind of application upgrade method, apparatus
CN108052340B (en) * 2013-08-13 2021-03-30 华为技术有限公司 Application upgrading method and device
CN113220236A (en) * 2021-05-17 2021-08-06 北京青云科技股份有限公司 Data management method, system and equipment
CN113220236B (en) * 2021-05-17 2024-01-30 北京青云科技股份有限公司 Data management method, system and equipment
CN117931829A (en) * 2024-03-22 2024-04-26 平凯星辰(北京)科技有限公司 Database updating method and device, electronic equipment and storage medium
CN117931829B (en) * 2024-03-22 2024-05-24 平凯星辰(北京)科技有限公司 Database updating method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR100952166B1 (en) 2010-04-09

Similar Documents

Publication Publication Date Title
US10678614B2 (en) Messages with delayed delivery in an in-database sharded queue
US11593404B2 (en) Multi-cluster warehouse
CN106953901B (en) Cluster communication system and method for improving message transmission performance
US8898680B2 (en) System and method for supporting asynchronous message processing in a distributed data grid
US7457835B2 (en) Movement of data in a distributed database system to a storage location closest to a center of activity for the data
CN102857577B (en) A kind of system and method for cluster-based storage automatic load balancing
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
US10365980B1 (en) Storage system with selectable cached and cacheless modes of operation for distributed storage virtualization
US20100114824A1 (en) Replication for common availability substrate
CN106484713A (en) A kind of based on service-oriented Distributed Request Processing system
US20120278817A1 (en) Event distribution pattern for use with a distributed data grid
US10298709B1 (en) Performance of Hadoop distributed file system operations in a non-native operating system
Le et al. Dynastar: Optimized dynamic partitioning for scalable state machine replication
WO2022005744A1 (en) Fully coherent efficient non-local storage cluster file system
KR100952166B1 (en) Method and apparatus for data version management of grid database
JP6556726B2 (en) System and method for supporting adaptive busy weight in a computing environment
CN103634374A (en) Method and device for processing concurrent access requests
Radi Improved aggressive update propagation technique in cloud data storage
JP2014174597A (en) In-memory distributed database, data distribution method, and program
Park et al. QaaD (Query-as-a-Data): Scalable Execution of Massive Number of Small Queries in Spark
Santana et al. Evaluation of database replication techniques for cloud systems
Bao et al. Las: Logical-block affinity scheduling in big data analytics systems
Dzinamarira et al. Dyrs: Bandwidth-aware disk-to-memory migration of cold data in big-data file systems
Thu et al. Dynamic Replication Management Scheme for Cloud Storage
Vardhan et al. File Replication and Dereplication of Replica’s in Distributed Environment

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: 20130325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150216

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160401

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee