KR101050155B1 - Data Distributed Storage Management System and Distributed Storage Management Method - Google Patents

Data Distributed Storage Management System and Distributed Storage Management Method Download PDF

Info

Publication number
KR101050155B1
KR101050155B1 KR1020090108151A KR20090108151A KR101050155B1 KR 101050155 B1 KR101050155 B1 KR 101050155B1 KR 1020090108151 A KR1020090108151 A KR 1020090108151A KR 20090108151 A KR20090108151 A KR 20090108151A KR 101050155 B1 KR101050155 B1 KR 101050155B1
Authority
KR
South Korea
Prior art keywords
data
distributed
information
distributed information
stores
Prior art date
Application number
KR1020090108151A
Other languages
Korean (ko)
Other versions
KR20110051527A (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 KR1020090108151A priority Critical patent/KR101050155B1/en
Publication of KR20110051527A publication Critical patent/KR20110051527A/en
Application granted granted Critical
Publication of KR101050155B1 publication Critical patent/KR101050155B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법에 관한 것으로서, 본 발명에서는 m 개 데이터 저장소에 대용량의 데이터를 분산하여 저장 관리하는 데이터 분산 저장 관리 시스템으로서, 상기 데이터의 관계 테이블을 수직 분할(vertical partition)법에 의해 보다 작은 관계 테이블로 구성되는 L개의 프래그먼트로 분할하는 분산 데이터베이스 관리 시스템(분산 DBMS) 및 프래그먼트를 (k, n) 임계치 비밀분산 방식을 이용하여 n개의 분산 정보(share)로 분할하는 스토리지 에이전트를 포함하는 것을 특징으로 하고, 상기 m, L, k, n은 임의의 자연수이며, 상기 k는 n 이하인 자연수인 것을 특징으로 하는 데이터 분산 저장 관리 시스템이 제공된다.The present invention relates to a data distributed storage management system and a distributed storage management method. The present invention relates to a data distributed storage management system for distributing and managing a large amount of data in m data stores. The distributed database management system (distributed DBMS) and fragments, which are divided into L fragments composed of smaller relation tables by the vertical partition method, are divided into n distributed information (share) using the (k, n) threshold secret distribution method. And a storage agent for dividing, wherein m, L, k, and n are arbitrary natural numbers, and k is a natural number less than or equal to n.

배타적 논리합 임계치 비밀 분산; 균형불완비블록설계 Exclusive OR threshold secret distribution; Balanced Incomplete Block Design

Description

데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법{STORING AND MANAGING SYSTEM FOR SHARED DATA AND STORING AND MANAGING METHOD FOR THE SAME}Data distributed storage management system and distributed storage management method {STORING AND MANAGING SYSTEM FOR SHARED DATA AND STORING AND MANAGING METHOD FOR THE SAME}

본 발명은 데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법에 관한 것으로서, 보다 구체적으로는 관계 테이블을 수직 분할법을 이용하여 복수 개 프래그먼트로 분할하고, 분할된 각 프래그먼트를 배타적 논리합(XOR) 비밀분산방식에 의해 복수 개 분산 정보(SHARE)로 분산하고, BIBD(Balanced Incomplete Block Design)에 의해 복수 개 데이터베이스(DB)에 분산 저장하는 데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법에 관한 것이다.The present invention relates to a data distributed storage management system and a distributed storage management method. More specifically, the relational table is divided into a plurality of fragments by using a vertical partitioning method, and each fragment is divided into an exclusive logical sum (XOR) secret distribution method. The present invention relates to a data distributed storage management system and a distributed storage management method, which are distributed to a plurality of distributed information SHARE and distributed and stored in a plurality of databases DB by Balanced Incomplete Block Design (BIBD).

데이터를 안전하게 저장하는 방식 중의 하나로 비밀 분산 기법이 이용되고 있다. 비밀분산 기법의 커다란 특징으로 기밀정보의 노출을 불가능하게 하여 내부로부터의 노출을 방지하는 것이다. 예를 들면, 노트북 PC를 어디엔가 잊어 버려도 데이터가 보존되어 있지 않으면 정보는 누설되지 않는다. 즉, 개인 정보를 꺼내려고 해도 데이터를 복사할 수 없으면 노출되지 않는다.Secret distribution is one of the methods of storing data securely. A big feature of the secret distribution technique is that it prevents exposure of confidential information and prevents exposure from the inside. For example, if you forget your notebook PC somewhere, information will not leak unless data is stored. In other words, even if you try to take out personal information, if the data can not be copied, it is not exposed.

비밀분산 기법의 가장 간단한 예가 USB 인터페이스를 통한 분산 관리 모델을 들 수 있다. 개인 데이터 파일뿐만 아니라 시스템 파일을 제외한 프로그램, 파일을 보존한 폴더까지를 암호화한 후, 물리적으로 PC의 로컬 폴더와 USB 메모리에 파일을 분할하여 저장한다.The simplest example of a secret distribution technique is a distributed management model over a USB interface. After encrypting not only personal data files but also programs and folders where system files are stored, the files are physically divided into local folders on the PC and USB memory.

이러한 방식에 의해, PC와 USB 메모리의 양쪽 모두가 구비되어지지 않으면 파일의 열람이나 변경, 복사 및 삭제 등을 할 수 없기 때문에 PC의 도난이나 분실이 있어도 중요한 정보의 유출을 방지하는 것이 가능하다.In this manner, if neither a PC nor a USB memory is provided, files cannot be viewed, changed, copied, or deleted, so that important information can be prevented from being leaked even if the PC is stolen or lost.

데이터를 중복하지 않고 분할하여 각 데이터베이스 서버에 배치된 분산데이터베이스의 경우 자연재해나, 하드웨어 고장 등에 의해 데이터베이스 서버가 하나라도 가동할 수 없는 상태가 되면 데이터베이스로서 기능을 할 수 없게 된다. 따라서 복제에 의해 이 문제를 해결할 수 있는데 모든 데이터베이스 서버에 모든 데이터를 배치하면 하나라도 데이터베이스가 공격되면 모든 데이터 도난의 위험성이 생기는 위험성이 있다.In the case of a distributed database in which data is partitioned without being duplicated and arranged in each database server, when one of the database servers becomes inoperable due to a natural disaster or hardware failure, the database cannot function as a database. Therefore, this problem can be solved by replication. If all data is placed on all database servers, there is a risk that if any database is attacked, all data is stolen.

본 발명은 상기와 같은 문제점 및 위험성을 해결하고자 하는 것으로서, 본 발명에서는 데이터를 복수 개 데이터 저장소에 골고루 분산하여 데이터를 안전하게 저장하고, 또한 몇 개의 데이터베이스 서버가 가동할 수 없는 상태라도 임계치 이상의 데이터베이스 서버가 가동된다면 데이터를 복원할 수 있는 기밀성과 신뢰성이 높은 데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법을 제공하는 것을 목적으로 한다.The present invention is to solve the problems and risks as described above, in the present invention, the data is distributed evenly across a plurality of data stores to safely store the data, and even in a state in which several database servers cannot be operated, the database server above the threshold Is to provide a highly confidential and reliable data distributed storage management system and distributed storage management method capable of restoring data if the system is operated.

본 발명의 상기 목적은 m 개 데이터 저장소에 대용량의 데이터를 분산하여 저장 관리하는 데이터 분산 저장 관리 시스템으로서, 데이터의 관계 테이블을 수직 분할(vertical partition)법에 의해 보다 작은 관계 테이블로 구성되는 L개의 프래그먼트로 분할하는 분산 데이터베이스 관리 시스템(분산 DBMS) 및 프래그먼트를 (k, n) 임계치 비밀분산 방식을 이용하여 n개의 분산 정보(share)로 분할하는 스토리지 에이전트를 포함하는 것을 특징으로 하고, 상기 m, L, k, n은 임의의 자연수이며, 상기 k는 n 이하인 자연수인 것을 특징으로 하는 데이터 분산 저장 관리 시스템에 의해 달성 가능하다.The above object of the present invention is a data distributed storage management system for distributing and managing a large amount of data in m data stores, wherein the relationship table of data is composed of smaller relation tables by a vertical partition method. A distributed database management system (distributed DBMS) for dividing into fragments and a storage agent for dividing the fragment into n distributed information (shares) using a (k, n) threshold secret distribution scheme, wherein m, L, k, and n are arbitrary natural numbers, and k is a natural distributed number n or less, which can be achieved by a data distributed storage management system.

본 발명의 또 다른 목적은 m 개 데이터 저장소에 대용량의 데이터를 분산하여 저장 관리하는 대용량 데이터를 분산 저장 관리하는 방법으로서, 데이터의 관계 테이블을 수직 분할(vertical partition)법에 의해 보다 작은 관계 테이블로 구성되는 L개의 프래그먼트로 분할하는 제 1단계와, 프래그먼트를 (k, n) 임계치 비밀분산 방식을 이용하여 n개의 분산 정보(share)로 분할하는 제 2단계 및 n개의 분산 정보를 상기 m 개의 복수 개 데이터 저장소에 균형불완비블록설계법(Balanced Incomplete Block Design)에 따라 분배하여 저장하는 제 3단계를 구비하는 것을 특징으로 하고, 상기 m, L, k, n은 임의의 자연수이며, 상기 k는 n이하인 것을 특징으로 하는 대용량 데이터 분산 저장 관리 방법에 의해서 달성 가능하다.It is still another object of the present invention to provide a method for distributing and managing a large amount of data by distributing and managing a large amount of data in m data stores, wherein the relation table of data is divided into smaller relation tables by a vertical partition method. A first step of dividing the fragment into L fragments, a second step of dividing the fragment into n pieces of distributed information (share) using a (k, n) threshold secret dispersion method, and the m pieces of distributed information And a third step of distributing and storing the dog data stores according to the Balanced Incomplete Block Design, wherein m, L, k, and n are arbitrary natural numbers, and k is n. Achievable by the large-capacity data distributed storage management method characterized by the following.

본 발명에 따른 데이터 분산 저장 관리 시스템 및 분산 저장 관리 방법은 임계치 비밀 분산 방식을 사용하여 데이터를 복수 개 데이터 저장소에 골고루 분산하여 데이터를 안전하게 저장하고, 또한 몇 개의 데이터베이스 서버가 가동할 수 없는 상태라도 임계치 이상의 데이터베이스 서버가 가동된다면 데이터를 복원할 수 있는 높은 기밀성과 신뢰성을 제공할 수 있게 되었다.The data distributed storage management system and distributed storage management method according to the present invention uses a threshold secret distribution method to evenly distribute data to a plurality of data stores to safely store data, and even if a few database servers are inoperable. If the database server is operating above the threshold, it can provide high confidentiality and reliability to restore data.

또한 본 발명에서는 균형불완비블록설계법을 사용하여 복수 개 분산 정보를 복수 개 데이터 저장소에 골고루 분산함으로써 데이터 저장소의 효율적 관리가 가능해지고, 각 데이터 저장소에 데이터를 로드(load)하는 시간 및 억세스 시간을 동일하게 유지할 수 있게 되었다.In addition, the present invention makes it possible to efficiently manage a data store by evenly distributing a plurality of distributed information to a plurality of data stores using a balanced incomplete block design method, and the time and access time for loading data into each data store. You can keep the same.

본 발명의 바람직한 실시 예를 첨부한 도면들을 참조하여 상세히 설명한다.Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

1. 시스템 구성1. System Configuration

도 1은 본 발명에 따른 일 실시예의 대용량 데이터 분산 저장 관리 시스템의 개략도이다. 본 발명에 따른 대용량 데이터 분산 저장 관리 시스템은 네트워크상으로 연결되어 데이터를 복수 개 데이터 저장소(DS, Data Storage)에 분산 저장하는 복수 개 데이터베이스 서버(100)를 포함하며, 각각의 데이터베이스 서버(100)는 분산 데이터베이스 관리 시스템(분산 DBMS, 분산 DataBase Management System, 이하 '분산 DBMS'라 함)과 스토리지 에이전트(storage agent, SA)로 구성된다. 클라이언트는 데이터베이스 서버(100)에 데이터 검색/입력/삭제/갱신 등의 명령어를 입력하는 사용자이다. 데이터 저장소는 분산 정보(share)를 저장하는 물리적인 장치로서, 통상 하드 디스크, 플로피 디스크, 마그네틱 테이프, 플래시 메모리 등으로 구성될 수 있다.1 is a schematic diagram of a mass data distributed storage management system according to an embodiment of the present invention. The mass data distributed storage management system according to the present invention includes a plurality of database servers 100 connected over a network to store and store data in a plurality of data storages (DS), each of which is a database server 100. Is composed of a distributed database management system (distributed DBMS, distributed database management system, hereinafter referred to as 'distributed DBMS') and a storage agent (SA). The client is a user who inputs commands such as data search / input / delete / update to the database server 100. The data store is a physical device that stores distributed information, and may be generally configured as a hard disk, a floppy disk, a magnetic tape, a flash memory, or the like.

도 2는 본 발명에 따른 일 실시예의 데이터베이스 서버(100)의 상세 구성도이다. 데이터베이스 서버(100)는 사용자 인증기(user authenticator), 프라이버시 데이터 매니저(privacy data manager, 분산 DBMS, 및 스토리지 에이전트(50)로 구성되며, 스토리지 에이전트(50)는 분산기(splitter), 복원기(reconstructor) 및 분산 데이터 관리 테이블로 구성된다.2 is a detailed configuration diagram of a database server 100 according to an embodiment of the present invention. The database server 100 includes a user authenticator, a privacy data manager, a distributed DBMS, and a storage agent 50, and the storage agent 50 includes a splitter and a reconstructor. ) And distributed data management tables.

사용자 인증기는 승인 또는 허가되지 않은 사용자의 접근을 막고 허가된 사용자만을 인증하기 위한 모듈이다. 분산 DBMS는 기본적인 분산 DBMS 기능의 쿼리 를 처리하며 수직 분할(Vertical Partitioning)법을 이용하여 관계 테이블(relation table)을 속성에 따라 프래그먼트로 분할하는 기능을 한다. 수직 분할(Vertical Fragmentation)은 전역 테이블을 구성하는 속성들을 몇 개의 부분 집합으로 분할하는 것으로, 수평 분할에 비해 복잡하나 유사성이 높은 속성에 따라 크기가 작은 관계 테이블 단위인 프래그먼트로 분할할 수 있다.The user authenticator is a module for preventing access by authorized or unauthorized users and authenticating only authorized users. Distributed DBMS processes queries of basic distributed DBMS functions and functions to split relation tables into fragments by using vertical partitioning. Vertical Fragmentation divides the attributes that make up the global table into several subsets. It can be divided into fragments, which are smaller relation table units depending on attributes that are more complex but more similar to horizontal partitions.

분산 DBMS는 각 데이트베이스 서버상에 존재하고 세 가지 기능을 주로 담당한다. Distributed DBMSs exist on each database server and are primarily responsible for three functions.

(1) 파티션 기능: 데이터베이스 통계정보와 데이터베이스 서버 수에 근거하여 수직 분할법에 의해 파티션 구조를 결정한다.(1) Partition function: The partition structure is determined by the vertical partition method based on the database statistics and the number of database servers.

(2) 분산쿼리기능: 분산 데이터베이스에서 관계(Relation)는 프래그먼트(Fragment)로 분할됨으로 프래그먼트에 대해 각각 쿼리를 실행한다. 분산 DBMS는 클라이언트로부터 송신된 쿼리와 파티션 구조에 근거하여 서브 쿼리를 작성하고 다른 분산 DBMS와 협조하여 병행 처리한다.(2) Distributed query function: In a distributed database, relations are divided into fragments, so each query is executed on the fragments. Distributed DBMSs create subqueries based on queries and partition structures sent from clients and work in parallel with other distributed DBMSs.

(3) 로컬 처리 기능: 분산 DBMS는 서브 쿼리에 해당하는 프래그먼트를 스토리지 에이전트에 요구하고 시스템에 장착된 데이터베이스 엔진을 사용하여 서브쿼리를 처리한다.(3) Local processing function: The distributed DBMS requests the storage agent's fragment corresponding to the sub query and processes the sub query using the database engine installed in the system.

스토리지 에이전트는 각 데이터베이스 서버상에 존재하고 모든 분산 DBMS는 (k,n) 임계치 비밀분산 방식을 사용한 데이터 분산 및 복원을 실행하고 데이터베이스의 관계(Relation)로부터 작성된 프래그먼트(Fragment)를 관리한다.A storage agent resides on each database server, and all distributed DBMSs perform data distribution and restore using the (k, n) threshold secret distribution scheme, and manage fragments created from relations in the database.

프라이버시 데이터 관리자는 데이터 사용의 승인 처리 및 권한 관리를 통해 데이터 프라이버시 보호 기능을 수행하는 모듈이고, 분산기 및 복원기는 분할된 플래그먼트를 분사 및 복원하는 모듈이다. 분산 정보(share) 관리 테이블은 분산 정보를 데이터 저장소(data storage)에 할당하는 모듈이다. 도 2에 제시된 각 모듈은 일반적으로 해당 기능을 수행하는 소프트웨어 모듈로 구비되나 신속한 데이터 처리가 요구될 경우 하드웨어 모듈로 구비될 수 있음은 물론이다.The privacy data manager is a module that performs data privacy protection through authorization processing and authority management of data usage, and the disperser and decompressor are modules that inject and restore the fragmented fragments. The distributed management table is a module that allocates distributed information to a data storage. Each module shown in FIG. 2 is generally provided as a software module for performing a corresponding function, but may be provided as a hardware module when rapid data processing is required.

2. 전체적인 데이터 처리 흐름2. Overall Data Processing Flow

도 3은 본 발명의 일 실시예로서, 대용량 데이터가 처리되는 흐름을 보여주는 설명도이다. 분산 DBMS에서는 관계 테이블(relation table)을 유사성이 높은 속성에 따라 작은 크기의 관계 테이블인 L개의 프래그먼트로 수직 분할한다. 이때 L은 데이터베이스 서버(100)의 전체 수 이하의 자연수이다. 스토리지 에이전트는 각 프래그먼트를 배타적 논리합 (k, n) 임계치 비밀분산법에 따라 n개의 분산 정보(share)로 작성한다. 여기서 n은 데이터 저장소의 전체 갯수 이하의 자연수이고, 임계치 k는 n보다 작은 임의의 자연수이다. 물론, L, k, 및 n은 0보다 큰 자연수이어야 한다. 총 L×n 개의 분산 정보는 균형 불완비 블록 설계(BIBD, Balanced Incomplete Block Design)라는 이산 구조에 의해 복수 개 데이터 저장소에 골고루 분산 저장되도록 하였다. 균형 불완비 블록 설계 방식은 분산 정보가 하나의 데이터 저장소에 집중되는 현상을 피하고 복수 개 데이터 저장소에 골고루 분산되도록 저장함으로써 데이터를 로드하는 시간이 어느 프래그먼트나 비교적 유사하게 달성할 수 있는 이점이 있다.3 is an explanatory diagram showing a flow in which a large amount of data is processed as an embodiment of the present invention. In a distributed DBMS, a relation table is vertically divided into L fragments, which are small relation tables, according to high similarity. In this case, L is a natural number equal to or less than the total number of the database server 100. The storage agent writes each fragment into n distributions according to the exclusive OR (k, n) threshold secret distribution method. Where n is a natural number less than or equal to the total number of data stores, and threshold k is any natural number less than n. Of course, L, k, and n must be natural numbers greater than zero. A total of L × n distributed information is distributed and stored evenly in a plurality of data stores by a discrete structure called balanced incomplete block design (BIBD). The unbalanced block design approach has the advantage that the time to load data can be achieved relatively similarly in any fragment by storing distributed information in a single data store and distributing it evenly across multiple data stores.

본 발명의 대용량 데이터 처리 시스템은 각 프래그먼트의 분산 정보 수(n)보다 데이터 저장소의 수(m)가 많은 것과 각 데이터에 대한 분산 정보를 저장하는 데이터 저장소를 하나로 특정하고 한 개의 분산 정보 관리 테이블로 관리하는 것을 특징으로 한다. 이러한 구성으로 인해 분산정보 복원시 용장성(redundancy)을 제공함으로써 분산관리 시스템의 신뢰도(reliability)를 향상시킬 수 있는 이점이 있다. The large-capacity data processing system of the present invention specifies a number of data stores (m) more than the number of distributed information (n) of each fragment and a data store for storing distributed information about each data into one distributed information management table. It is characterized by managing. Such a configuration has an advantage of improving the reliability of the distributed management system by providing redundancy when restoring distributed information.

본 발명에서는 데이터 저장소에 저장되는 각 데이터를 비밀분산 방식을 이용해 복수의 분산 정보로 분할한다. 분할한 각 데이터의 분산 정보를 분산 정보 관리 테이블에 따라 다른 데이터베이스에 각각 저장한다.In the present invention, each data stored in the data store is divided into a plurality of distributed information using a secret distribution method. Distribution information of each partitioned data is stored in different databases according to distribution information management tables.

데이터를 복원할 때 복원하고 싶은 데이터의 키를 이용해서 분산 정보가 저장되고 있는 데이터 저장소의 정보를 취득한다. 분산 정보가 저장되고 있는 데이터 저장소로부터 데이터의 복원에 필요한 수의 데이터 저장소를 선택하여 선택한 데이터 저장소로부터 분산 정보를 각각 취득해서 데이터를 복원한다.When restoring the data, information on the data store in which the distributed information is stored is obtained by using the key of the data to be restored. The number of data stores required for the restoration of data from the data store in which the distributed information is stored is selected, and the distributed information is obtained from each of the selected data stores to restore the data.

본 발명에 대한 일 례로 설명의 편의상 다음 조건을 가정한다.As an example for the present invention, the following conditions are assumed for convenience of description.

o 데이터의 총수: lo Total number of data: l

o 데이터 저장소의 수:m (DS1, DS2, ... , DSm) (m > n)o Number of data stores: m (DS1, DS2, ..., DSm) (m> n)

o 각 데이터의 분산 정보의 수:no Number of distribution information of each data: n

o 임계치:ko Threshold: k

본 발명에 따른 대용량 데이터 저장 및 관리 방법은 초기화단계와 데이터 취 득 단계로 구성된다.The mass data storage and management method according to the present invention comprises an initialization step and a data acquisition step.

초기화 단계에서는 각 데이터를 분산 정보로 분할해서 분산 정보 관리 테이블에 따라 분할한 만큼 정보를 다른 데이터 저장소에 각각 저장한다. 이하에서는 데이터 di에 대해, di를 n개의 분산 정보로 분할하여 이들을 분산정보 관리 테이블에 따라, m개 중 다른 n개의 데이터 저장소에 각각 저장한다. 분산 정보 관리 테이블은 표 1과 같이 설계할 수 있다.In the initialization step, each piece of data is divided into distributed pieces of information, and the pieces of information are stored in different data stores according to the pieces of distribution information management table. In the following, di is divided into n pieces of distributed information about data di and stored in different n data stores among m items according to the distributed information management table. Distributed information management table can be designed as shown in Table 1.

KeyKey 데이터 저장소Data store ID1 ID 1 DS1, DS2, DS4, ...,DSm -1 DS 1 , DS 2 , DS 4 , ..., DS m -1 ID1 ID 1 DS2, DS3, DS5, ...,DSm -3 DS 2 , DS 3 , DS 5 , ..., DS m -3 ID1 ID 1 DS1, DS3, DS5, ...,DSm -2 DS 1 , DS 3 , DS 5 , ..., DS m -2 ...... ...... ID1 ID 1 DS1, DS3, DS4, ...,DSm -1 DS 1 , DS 3 , DS 4 , ..., DS m -1 ...... ...... ID1 ID 1 DS1, DS3, DS4, ...,DSm DS 1 , DS 3 , DS 4 , ..., DS m

데이터 di, 임계치 k, 분산 정보의 총 수 n을 정보분산 함수 Share의 입력으로 하여 di에 대해 n개의 분산 정보

Figure 112009069027502-pat00001
를 얻는다.N distribution information for di, with data di, threshold k, and the total number of variance information n as input to the information dispersion function Share.
Figure 112009069027502-pat00001
Get

얻을 수 있는 n 개의 분산 정보

Figure 112009069027502-pat00002
를 m개의 데이터 저장소 가운데 분산 정보 관리 테이블에 의해 각각 저장한다. n개의 분산 정보는 이하와 같이 데이터 저장소에 저장된다.N distributions of information available
Figure 112009069027502-pat00002
Are stored by distributed information management table among m data stores. The n pieces of distributed information are stored in the data store as follows.

- 분산 정보

Figure 112009069027502-pat00003
는 데이터 저장소 DS1 에 저장된다.Distributed information
Figure 112009069027502-pat00003
Is stored in the data store DS 1 .

- 분산 정보

Figure 112009069027502-pat00004
는 데이터 저장소 DS3 에 저장된다.Distributed information
Figure 112009069027502-pat00004
It is stored in the data storage DS 3.

- 분산 정보

Figure 112009069027502-pat00005
는 데이터 저장소 DS4 에 저장된다.Distributed information
Figure 112009069027502-pat00005
Is stored in the data store DS 4 .

......

- 분산 정보

Figure 112009069027502-pat00006
는 데이터 저장소 DSm -1 에 저장된다.Distributed information
Figure 112009069027502-pat00006
Is stored in the data store DS m -1 .

o 데이터 취득 단계o Data Acquisition Step

- 클라이언트가 데이터 di 를 취득하고 싶은 경우에 대해 설명한다. 우선, 클라이언트는 데이터 di의 키 IDi 를 이용해서 di의 분산 정보가 저장되고 있는 데이터 저장소의 정보를 분산 정보 관리 테이블에서 취득한다.Explain when a client wants to retrieve data di. First, the client uses the key IDi of the data di to obtain the information of the data store where the distributed information of di is stored in the distributed information management table.

- 그리고 데이터 di 의 분산 정보가 저장되고 있는 n개의 데이터 저장소로부터 k개 선택한다. 이러한 데이터베이스로부터 데이터 di의 분산정보를 각각 취득해서 정보 복호함수 Merge를 이용해 취득한 분산 정보로부터 데이터 di를 복원한다.And select k from the n data stores where the distribution information of data di is stored. The distributed information of the data di is obtained from these databases, respectively, and the data di is restored from the distributed information obtained using the information decoding function Merge.

- 사용자는 분산정보 관리 테이블을 참조해서, 데이터 di 의 분산정보가 저장되고 있는 데이터 저장소의 정보를 취득한다. 그리고 m개 데이터 저장소 중에서 k개의 데이터 저장소

Figure 112009069027502-pat00007
를 선택한다. 다만, k개의 데이터 저장소
Figure 112009069027502-pat00008
는 데이터 di 의 분산 정보가 저장되고 있는 데이터 저장소 (DS1, DS3, DS4, ..., DSm -1)에 포함된다.-The user refers to the distribution information management table and acquires the information of the data storage in which the distribution information of the data di is stored. And k datastores out of m datastores
Figure 112009069027502-pat00007
Select. However, k data stores
Figure 112009069027502-pat00008
Is included in the data storage (DS 1 , DS 3 , DS 4 , ..., DS m -1 ) in which distributed information of data di is stored.

- 사용자는 선택한 k개의 데이터 저장소로부터 데이터 di 의 분산정보를 각각 취득한다. 우선, 데이터 저장소 DSj1 로부터 데이터 di 의 분산 정보

Figure 112009069027502-pat00009
를 취득한다.The user obtains distribution information of data di from each of k selected data stores. First, distributed information of data di from data store DS j1
Figure 112009069027502-pat00009
Get.

. step2-1: 클라이언트는 데이터 저장소 DSj1 에 데이터 di 의 분산정보

Figure 112009069027502-pat00010
를 Query 한다.. Step 2-1: The client distributes data di of information di to data store DS j1
Figure 112009069027502-pat00010
Query.

. step2-2: 클라이언트로부터 Query를 받은 데이터 저장소 DBj1 는 데이터 di 의 분산 정보

Figure 112009069027502-pat00011
를 클라이언트에게 보낸다.. step2-2: Data store DB j1 receives Query from client
Figure 112009069027502-pat00011
Send to the client.

. step2-3 :클라이언트는 데이터 저장소 DSj1로부터 데이터 di 의 분산 정보

Figure 112009069027502-pat00012
를 취득한다.. step2-3: The client is distributed information of data di from data store DS j1
Figure 112009069027502-pat00012
Get.

다음에 데이터 저장소 DSj2로부터 데이터 d2 의 분산 정보

Figure 112009069027502-pat00013
를 취득한다.Distribution information for data d2 from data store DS j2
Figure 112009069027502-pat00013
Get.

. step2-1 :클라이언트는 데이터 저장소 DSj2 에 데이터 di 의 분산 정보

Figure 112009069027502-pat00014
를 Query 한다.. step2-1: Client distributes data di to data store DS j2
Figure 112009069027502-pat00014
Query.

. step2-2 :클라이언트로부터 문의를 받은 데이터 저장소 DSj2 는 데이터 di 의 분산 정보

Figure 112009069027502-pat00015
를 사용자에게 보낸다.. step2-2: DS j2 data store inquired from the client distributed information of the data di
Figure 112009069027502-pat00015
Send to the user.

. step2-3 :사용자는 데이터베이스 DSj2 로부터 데이터 di의 분산 정보

Figure 112009069027502-pat00016
를 취득한다.. step2-3: The user is distributed information of data di from database DS j2
Figure 112009069027502-pat00016
Get.

이와 같이, 선택한 k 개의 데이터 저장소로부터 데이터 di의 분산정보를 취득한다.In this way, distribution information of data di is obtained from k selected data stores.

- 사용자는 취득한 k 개의 분산 정보

Figure 112009069027502-pat00017
, 임계치 k, 분산 정보의 총 수 n, 이들 3개를 함수 Merge의 입력으로 해서, 데이터
Figure 112009069027502-pat00018
를 얻는다.-K pieces of distributed information obtained
Figure 112009069027502-pat00017
, The threshold k, the total number of variance information n, and these three are input to the function Merge, and the data
Figure 112009069027502-pat00018
Get

3. 시스템의 기본 동작 설명3. Description of basic operation of the system

시스템의 테이블 작성, 검색에서 분산 DBMS와 스토리지 에이전트의 동작을 설명한다.Describe the behavior of distributed DBMSs and storage agents in creating and retrieving tables in the system.

- 관계(- relation( relationrelation ) 작성 절차) Filling Procedure

도 4를 이용하여 분산데이터베이스의 관계(relation) 작성, 기능 처리 흐름에 대해 설명한다. The relation creation and function processing flow of the distributed database will be described with reference to FIG. 4.

① 프래그먼트(fragment) 작성① Create a fragment

분산 DBMS는 관계(relation) 데이터로부터 수직 분할법을 사용하여 L개의 프래그먼트를 작성한다. 파티션 구조나 관계(relation)명 등을 모든 분산 DBMS가 공유하는 데이터로서 등록한다.A distributed DBMS creates L fragments using vertical partitioning from the relationship data. Register the partition structure, relation name, etc. as data shared by all distributed DBMSs.

② 프래그먼트(fragment) 송신② Fragment transmission

분산 DBMS는 분산 정보(Share) 수 n과 복원에 필요한 수 k를 지정하고 배치의뢰와 각 프래그먼트(fragment)를 임의의 스토리지 에이전트에 송신한다.The distributed DBMS specifies the number of shares n and the number k required for restoration, and sends a batch request and each fragment to any storage agent.

③ 프래그먼트(fragment)의 분할③ fragmentation

프래그먼트(fragment)를 접수한 스토리지 에이전트는 (k,n) 임계치 비밀분산 방식을 사용하여 프래그먼트(fragment)로부터 n개의 분산 정보(Share)를 작성한다.The storage agent receiving the fragment creates n pieces of distributed information (Share) from the fragment by using the (k, n) threshold secret distribution method.

④ 분산 정보(Share) 송신④ Distributed information share

분산 정보(Share)를 작성한 스토리지 에이전트는 n개의 스토리지 에이전트를 임의로 선택하고 이들에게 분산 정보(Share)를 송신한다. 분산 정보(Share)를 송신하지 않는 스토리지 에이전트에는 분산 정보(Share)의 헤더 정보를 송신한다.The storage agent that created the distributed information (Share) randomly selects n storage agents and sends the distributed information (Share) to them. The header information of the distribution information (Share) is transmitted to the storage agent that does not transmit the distribution information (Share).

⑤ 분산 정보(Share)의 배치확인 송신⑤ Send batch confirmation of distributed information (Share)

분산 정보(Share) 또는 헤더 정보를 수신한 스토리지 에이전트는 배치를 실행하고 배치 확인을 송신자 스토리지 에이전트에 송신한다.The storage agent receiving the distribution information (Share) or the header information executes the batch and sends a batch confirmation to the sender storage agent.

⑥ 배치 종료확인⑥ Confirmation of batch termination

분산 정보(Share)와 헤더 정보를 송신한 모든 스토리지 에이전트로부터 배치확인을 수신하면 배치를 요구한 분산 DBMS에 배치종료확인을 송신한다. When the batch confirmation is received from all storage agents that have distributed the share information and the header information, the batch completion confirmation is transmitted to the distributed DBMS requesting the batch.

⑦ 관계(relation) 작성 종료⑦ End of relation creation

분산 DBMS는 프래그먼트(fragment)를 송신한 모든 스토리지 에이전트로부터 배치종료 확인을 수신하고 작업을 종료한다.The distributed DBMS receives the end of batch confirmation from all storage agents that have sent fragments and ends the job.

- 데이터 검색 절차Data retrieval procedure

도 5를 이용하여 분산데이터베이스의 데이터 검색기능 처리흐름에 대해 설명한다.The data search function processing flow of the distributed database will be described with reference to FIG. 5.

① 검색의뢰 : 클라이언트는 검색요구 쿼리를 임의 분산 DBMS에 대해 송신한다.① Search request: Client sends search request query to arbitrary distributed DBMS.

② 서브쿼리 작성 : 쿼리를 수신한 분산 DBMS는 쿼리가 접근하는 속성과 파티션 구조를 고려하여 서브 쿼리를 작성하고 각 분산 DBMS에 대해 송신한다.② Subquery: A distributed DBMS that receives a query creates a subquery considering the attributes and partition structure that the query accesses and sends it to each distributed DBMS.

③ 프래그먼트(fragment)의 요구 : 서브 쿼리를 수신한 분산 DBMS는 서브 쿼리를 실행하기 위해 필요한 프래그먼트(fragment)의 복원을 임의의 스토리지 에이전트에 대해 요구한다.3. Fragment Request: The distributed DBMS that receives the subquery requests to any storage agent to restore the fragments needed to execute the subquery.

④ 프래그먼트(fragment)의 복원 : 분산 DBMS로부터 취득의도를 받은 스토리지 에이전트는 다른 스토리지 에이전트에 분산 정보(Share) 조사를 송신한다. 분산 정보(Share) 조사를 수신한 스토리지 에이전트는 로컬 디스크에 분산 정보(Share)가 존재하면 존재보고를 반송한다. 존재보고를 받은 스토리지 에이전트는 분산 정보(Share)를 저장하고 있는 스토리지 에이전트중 k개에게 분산 정보(Share)를 요구한다. 분산 정보(Share)가 k개 모아지면 이들을 복원해서 원래의 프래그먼트(fragment)를 얻는다 그리고 그 프래그먼트(fragment)를 분산 DBMS에 송신한다.Restoration of fragments: A storage agent that receives an intention from a distributed DBMS sends a survey of distribution information to another storage agent. The storage agent, which has received the distributed information survey, returns a presence report if the shared information exists on the local disk. The storage agent receiving the presence report requests the distributed information (Share) from k storage agents that store the distributed information (Share). When k pieces of distributed information are collected, they are recovered to obtain the original fragments, and the fragments are sent to the distributed DBMS.

⑤ 서브 쿼리 실행 : 프래그먼트(fragment)를 획득한 분산 DBMS는 서브쿼리를 실행하고 검색결과를 서브쿼리를 송신한 분산 DBMS에 대해 송신한다.5. Subquery Execution: The distributed DBMS that acquired the fragment executes the subquery and sends the search results to the distributed DBMS that sent the subquery.

⑥ 검색결과의 merge : 분산 DBMS는 모든 서브쿼리의 검색결과를 수신한 후에 그 검색 결과를 merge해서 클라이언트로부터 송신된 쿼리에 대한 검색결과를 작성한다.⑥ Merge the search results: After receiving the search results of all subqueries, the distributed DBMS merges the search results and creates a search result for the query sent from the client.

⑦ 검색결과의 송신 : 분산 DBMS는 검색결과를 클라이언트에 송신한다. ⑦ Send search result: Distributed DBMS sends search result to client.

- 데이터 갱신 절차Data update procedure

도 6을 이용하여 분산 데이터베이스의 데이터 갱신 기능 처리 흐름에 대해 설명한다.The data update function processing flow of the distributed database will be described with reference to FIG. 6.

① 갱신 의뢰 : 클라이언트는 갱신요구 쿼리를 임의 데이터베이스 노드상의 분산 DBMS에 대해 송신한다.Update request: The client sends an update request query to a distributed DBMS on any database node.

② 서브 쿼리 작성 : 쿼리를 수신한 분산 DBMS는 쿼리가 갱신하는 속성과 파티션 구조를 고려하여 서브쿼리를 작성하고 각 분산 DBMS에 대해 송신한다.② Subquery: The distributed DBMS that receives the query creates a subquery considering the attributes updated by the query and the partition structure and sends it to each distributed DBMS.

③ 파일 요구 : 서브 쿼리를 수신한 분산 DBMS는 서브 쿼리를 실행하는 프래그먼트(fragment)의 복원을 임의 스토리지 에이전트에 대해 요구한다.File request: The distributed DBMS that receives the subquery requests the arbitrary storage agent to restore the fragment that executes the subquery.

④ 파일 복원 : 분산 DBMS로부터 취득 의뢰를 받은 스토리지 에이전트는 다른 스토리지 에이전트에게 분산 정보(Share) 조사를 송신한다. 분산 정보(Share) 조사를 수신한 스토리지 에이전트는 로커 디스크에 분산 정보(Share)가 존재하면 존재보고를 반송한다. 존재보고를 받은 스토리지 에이전트는 분산 정보(Share)가 존재하고 있는 스토리지 에이전트 중 k개에게 분산 정보(Share)를 요구한다. 분산 정보(Share)가 k개 모아지면 이들을 복원하여 원래의 프래그먼트(fragment)를 얻는다. 그리고 프래그먼트(fragment)를 분산 DBMS에 송신한다.④ File Restoration: The storage agent that receives a request from the distributed DBMS sends a share survey to other storage agents. The storage agent that receives the share investigation returns a presence report if the share exists in the locker disk. The storage agent that receives the existence report requests the distributed information (Share) from k storage agents that have the distributed information (Share). When k pieces of distributed information are collected, they are restored to obtain the original fragments. The fragment is then sent to the distributed DBMS.

⑤ 서브 쿼리 실행 : 프래그먼트(fragment)를 취득한 각 분산 DBMS는 서브 쿼리를 실행한다. 갱신된 프래그먼트(fragment)와 갱신의뢰를 임의 스토리지 에이전트에게 송신한다.5. Subquery Execution: Each distributed DBMS that has obtained a fragment executes a subquery. Sends an updated fragment and update request to any storage agent.

⑥ 프래그먼트(fragment)의 분산 : 갱신된 프래그먼트(fragment)를 수신한 스토리지 에이전트는 프래그먼트(fragment)로부터 n개의 분산 정보(Share)를 작성한다. (6) Distribution of fragments: The storage agent receiving the updated fragment creates n pieces of distribution information (Share) from the fragments.

⑦ 분산 정보(Share) 송신 : 분산 정보(Share)를 작성한 스토리지 에이전트는 n개의 스토리지 에이전트를 임의로 선택하고 이들에게 분산 정보(Share)를 송신한다. 분산 정보(Share)를 송신하지 않은 스토리지 에이전트에게는 분산 정보(Share)의 헤더를 송신한다.(7) Distribution information (Share) transmission: The storage agent which created the distribution information (Share) selects n storage agents arbitrarily and sends the distribution information (Share) to them. The header of the distribution information (Share) is transmitted to the storage agent that has not sent the distribution information (Share).

⑧ 분산 정보(Share)의 갱신, 갱신확인 송신 : 분산 정보(Share) 또는 그 헤더를 수신한 스토리지 에이전트는 이것을 갱신하고 갱신확인을 송신자의 스토리지 에이전트에게 송신한다.(8) Update distributed information (Share) and send update confirmation: The storage agent receiving the distributed information (Share) or its header updates it and sends an update confirmation to the sender's storage agent.

⑨ 갱신 종료 확인 : 분산 정보(Share)와 그 헤더를 송신한 모든 스토리지 에이전트로부터 갱신확인을 수신하면 갱신을 요구한 분산 DBMS에게 배치, 종료, 확인을 송신한다.9) Update end confirmation: Upon receiving update confirmation from distributed storage (Share) and all storage agents that sent the header, it sends a batch, termination, and confirmation to the distributed DBMS requesting the update.

⑩ 프래그먼트(fragment)의 갱신 종료 : 분산 DBMS는 프래그먼트(fragment)를 송신한 모든 스토리지 에이전트로부터 갱신 종료 확인을 수신하고 서브 쿼리를 송신한 분산 DBMS에게 갱신 결과를 송신한다.Fragment Update End: The distributed DBMS receives the update end acknowledgment from all storage agents that sent the fragment and sends the update result to the distributed DBMS that sent the subquery.

⑪ 갱신 종료 : 분산 DBMS는 모든 서브 쿼리에 갱신결과를 수신한 후에 클라이언트에게 갱신 종료 확인을 송신한다.Update end: The distributed DBMS sends an update end confirmation to the client after receiving the update results in all subqueries.

4. 배타적 논리합을 이용한 비밀 분산 방식4. Secret distribution using exclusive OR

배타적 논리합(XOR) (k,n) 임계치 비밀 분산법에 대해 (3,n) 임계치 비밀 분산법을 예를 들어 설명하기로 한다. 노출된 분산 정보가 3개 미만이면 비밀 정보가 유출되지 않으며 비밀정보와 분산정보의 데이터 길이가 동일하고, 비밀 정보의 분산 복원 처리를 XOR 연산처리를 사용하여 고속으로 실현 가능한 비밀분산 방식이다.The (3, n) threshold secret variance method will be described as an example for the exclusive OR (XOR) (k, n) threshold secret variance method. If less than three pieces of distributed information are exposed, no secret information is leaked, and the data lengths of the secret information and the distributed information are the same, and the distributed recovery process of the secret information can be realized at high speed by using the XOR operation process.

배타적 논리합을 이용하여 고속으로 분산 복원 가능한 (2,n) 임계치 비밀분산 방식은 한 개의 분산정보로부터 어떠한 비밀정보도 유출되지 않으며 분산 정보의 데이터 길이와 비밀정보의 데이터 길이의 비율이 1이 되는 이상적인 비밀 분산법이다. 또 임계치가 2 이외의 배타적 논리합을 이용한 임계치 비밀 분산법으로 (3,5) 및 (3,7) 임계치 비밀분산 방식이 제안되었다. 이 방법도 (2,n) 임계치 비밀분산 방식과 같이 고속으로 분산 복원이 가능하며 정보의 비율이 1이 되는 이상적인 비밀 분산법이다.The (2, n) threshold secret distribution scheme, which can be distributed and restored at high speed using an exclusive logical sum, is ideal in which no secret information is leaked from a single distributed information and the ratio of the data length of the distributed information to the data length of the secret information is 1. It's a secret dispersion method. Also, (3,5) and (3,7) threshold secret variance methods have been proposed as a threshold secret variance method using an exclusive logical sum other than 2. Like the (2, n) threshold secret dispersion method, this method is also an ideal secret dispersion method in which decompression and restoration are possible at a high speed and information ratio is 1.

이하, 배타적 논리합 (3,n) 임계치 비밀분산 방식의 분산·복원 알고리즘에 대해 설명한다.Hereinafter, the distribution / restoration algorithm of the exclusive logical sum (3, n) threshold secret dispersion method will be described.

- 분산 알고리즘Distributed algorithm

비밀 정보를 K를 (3,n) 임계치법을 이용하여 분산하는 순서를 이하에 나타낸다.The order of dispersing secret information K using the (3, n) threshold method is shown below.

(1) 분배자 D는 비밀 정보 K를 n-1개의 부분 비밀 정보 Kq에 분할한다.(1≤ q ≤ n-1)(1) The distributor D divides the secret information K into n-1 partial secret information Kq (1 ≦ q ≦ n-1).

Figure 112009069027502-pat00019
Figure 112009069027502-pat00019

(2) D는 n-1 개의 난수 Rm 및 n개의 난수 Ti를 모두 독립적으로 생성한다.(2) D independently generates both n-1 random numbers Rm and n random numbers Ti.

(3) D는 부분 분산 정보 S(i,m)를 생성한다.(3) D generates partial dispersion information S (i, m).

S(i,m) = Ki -m

Figure 112009069027502-pat00020
Rm
Figure 112009069027502-pat00021
Ti +m S (i, m) = K i -m
Figure 112009069027502-pat00020
R m
Figure 112009069027502-pat00021
T i + m

( 0 ≤ i ≤ n-1, 0 ≤ m ≤ n-2 )(0 ≤ i ≤ n-1, 0 ≤ m ≤ n-2)

(4) D는 S(i,0),...,S(i,n-2)를 연결하여 분산 정보 Si를 생성하여 관리자 Pi에게 배부한다.(4) D connects S (i, 0) , ..., S (i, n-2) to generate distributed information Si and distributes it to the manager Pi.

Figure 112009069027502-pat00022
Figure 112009069027502-pat00022

여기서 생성되는 부분 분산 정보의 구성표를 표 2에 나타낸다. 또한 정보율은 1이 된다.Table 2 shows a configuration table of the partial dispersion information generated here. In addition, the information rate is 1.

m = 0m = 0 m = 1m = 1 ...... m = n-2m = n-2 P0P0 S(0,m)S (0, m) K0

Figure 112009069027502-pat00023
R0
Figure 112009069027502-pat00024
T0 K 0
Figure 112009069027502-pat00023
R 0
Figure 112009069027502-pat00024
T 0 Kn -1
Figure 112009069027502-pat00025
R1
Figure 112009069027502-pat00026
T1
K n -1
Figure 112009069027502-pat00025
R 1
Figure 112009069027502-pat00026
T 1
...... K-(n-2)
Figure 112009069027502-pat00027
Rn -2
Figure 112009069027502-pat00028
Tn -2
K- (n-2)
Figure 112009069027502-pat00027
R n -2
Figure 112009069027502-pat00028
T n -2
P1P1 S(1,m)S (1, m) K1
Figure 112009069027502-pat00029
R0
Figure 112009069027502-pat00030
T1
K 1
Figure 112009069027502-pat00029
R 0
Figure 112009069027502-pat00030
T 1
K0
Figure 112009069027502-pat00031
R1
Figure 112009069027502-pat00032
T2
K 0
Figure 112009069027502-pat00031
R 1
Figure 112009069027502-pat00032
T 2
...... K1 -(n-2)
Figure 112009069027502-pat00033
Rn -2
Figure 112009069027502-pat00034
T1 +(n-2)
K 1- (n-2)
Figure 112009069027502-pat00033
R n -2
Figure 112009069027502-pat00034
T 1 + (n-2)
...... ...... ...... ...... ...... ...... Pn-1Pn-1 S(n-1,m)S (n-1, m) Kn -1
Figure 112009069027502-pat00035
R0
Figure 112009069027502-pat00036
Tn -1
K n -1
Figure 112009069027502-pat00035
R 0
Figure 112009069027502-pat00036
T n -1
Kn -2
Figure 112009069027502-pat00037
R1
Figure 112009069027502-pat00038
T0
K n -2
Figure 112009069027502-pat00037
R 1
Figure 112009069027502-pat00038
T 0
...... K1
Figure 112009069027502-pat00039
Rn -2
Figure 112009069027502-pat00040
T(n+1)+(n=2)
K 1
Figure 112009069027502-pat00039
R n -2
Figure 112009069027502-pat00040
T (n + 1) + (n = 2)

- 복원 알고리즘Reconstruction algorithm

3명의 관리자 Pi, Pj, Pk가 모였을 경우 복원이 가능하다. 각각의 분산 정보를 Si, Sj, Sk로 한다. (이때, 0 ≤ i < j < k ≤ n-1)이며, x, y를 이하와 같이 정의한다.If three managers Pi, Pj, and Pk are gathered, they can be restored. Each dispersion information is referred to as Si, Sj, and Sk. (0 ≤ i <j <k ≤ n-1), and x and y are defined as follows.

x = j-i, y=k-j, 여기서 (x,y ∈ N, 1 ≤ x,y ≤ n-2)x = j-i, y = k-j, where (x, y ∈ N, 1 ≤ x, y ≤ n-2)

(1) 각각의 분산 정보를 부분 분산 정보로 분할한다. 즉, 이하의 3(n-1)개의 부분 분산 정보를 얻을 수 있다.(1) Each dispersion information is divided into partial dispersion information. That is, the following 3 (n-1) pieces of partial dispersion information can be obtained.

Figure 112009069027502-pat00041
Figure 112009069027502-pat00041

Figure 112009069027502-pat00042
Figure 112009069027502-pat00042

Figure 112009069027502-pat00043
Figure 112009069027502-pat00043

(2) 모든 m ( 0 ≤ m ≤ n-2)에 대해 이하의 U(i,k,m), U(j,k,m)를 요구한다.(2) The following U (i, k, m) and U (j, k, m) are required for all m (0 ≦ m ≦ n-2).

U(i,k,m) = S(i,m)

Figure 112009069027502-pat00044
S(k,m) U (i, k, m) = S (i, m)
Figure 112009069027502-pat00044
S (k, m)

U(j,k,m) = S(j,m)

Figure 112009069027502-pat00045
S(k,m) U (j, k, m) = S (j, m)
Figure 112009069027502-pat00045
S (k, m)

(3) 이하의 식을 만족하는 최소의 자연수 r을 요구한다.(3) The minimum natural number r that satisfies the following equation is required.

r(x+y) = xr (x + y) = x

(4) 모든 m ( 0 ≤ m ≤ n-2)에 대해 이하의 서브 스텝을 수행한다.(4) The following substeps are performed for all m (0 ≦ m ≦ n-2).

4-i) 변수 s (s∈N0)에 대해 0 ≤ s ≤ r-1의 범위에서 이하의 식을 만족하는 s가 존재하는지 아닌지를 검증한다.4-i) It is verified whether or not s that satisfies the following expression exists in the range of 0 ≤ s ≤ r-1 for the variable s (s) N 0 ).

m + s(x+y) = n-1m + s (x + y) = n-1

위 식을 만족하는 s가 존재하지 않는 경우, 4-ii-a)의 처리를 실행한다. 존재하는 경우는 4-ii-b)의 처리를 실행한다.If s that satisfies the above expression does not exist, the process of 4-ii-a) is executed. If present, the process of 4-ii-b) is executed.

4-ii-a) 이하의 A(i,k,m)를 요구한다.4-ii-a) The following A (i, k, m) is required.

Figure 112009069027502-pat00046
Figure 112009069027502-pat00046

4-ii-b) 이하의 A(i,k,m)를 요구한다.4-ii-b) the following A (i, k, m) is required.

Figure 112009069027502-pat00047
Figure 112009069027502-pat00047

(5) 이하의 식을 만족하는 최소의 자연수 v를 요구한다.(5) The minimum natural number v that satisfies the following equation is required.

vy = -xvy = -x

(6) 모든 m ( 0 ≤ m ≤ n-2)에 대해 이하의 서브 스텝을 실행한다.(6) The following substeps are executed for all m (0 ≤ m ≤ n-2).

6-i) 변수 t( t∈N0 )에 대해 0 ≤ t ≤ v-1 의 범위에서 이하의 식을 만족하는 t가 존재하는지 아닌지를 검증한다.6-i) Variable t (t∈N 0 For t), it is verified whether or not t satisfying the following expression exists in the range of 0 ≤ t ≤ v-1.

m + ty = n-1m + ty = n-1

위 식을 만족하는 .가 존재하지 않는 경우, 6-ii-a)의 처리를 실행한다. 존재하는 경우는 6-ii-b)의 처리를 실행한다.If there is no. That satisfies the above expression, the processing of 6-ii-a) is executed. If present, the process of 6-ii-b) is executed.

6-ii-a) 이하의 A(j,k,m)를 요구한다.6-ii-a) or less, A (j, k, m) .

Figure 112009069027502-pat00048
Figure 112009069027502-pat00048

6-ii-b) 이하의 A(j,k,m)를 요구한다.6-ii-b) A or less (j, k, m) is required.

Figure 112009069027502-pat00049
Figure 112009069027502-pat00049

(7) 모든 m ( 0 ≤ m ≤ n-2 )에 대해 이하의 W(i,j,k,m)를 요구한다.(7) The following W (i, j, k, m) is required for all m (0 ≦ m ≦ n-2).

W(i,j,k,m) = A(i,k,m)

Figure 112009069027502-pat00050
A(j,k,m) W (i, j, k, m) = A (i, k, m)
Figure 112009069027502-pat00050
A (j, k, m)

(8) 모든 Kq (1 ≤ q ≤ n-1) 을 복원한다.(8) Restore all Kq (1 ≦ q ≦ n−1).

8-i) 이하의 식이 성립하는 m ( 0 ≤ m ≤ n-2 )가 존재할 때,8-i) when m (0 ≤ m ≤ n-2) is present,

i + y - m = 0i + y-m = 0

위 식을 만족하는 m을 m'로 한다. w(초기치 0)의 값을 한두 개 늘리면서 m' = -2wx = n-1 이 성립할 때까지 이하의 처리를 실시한다. m' - 2wx = n-1 이 성립하면 중지하고 8-ii)를 실핸한다. (w ∈ N0, 0≤w≤n-2)M satisfying the above expression is m '. Increasing the value of w (initial value 0) by one or two, the following processing is performed until m '= -2wx = n-1. If m '-2wx = n-1 is stopped, 8-ii) is discontinued. (w ∈ N 0 , 0≤w≤n-2)

Figure 112009069027502-pat00051
Figure 112009069027502-pat00051

Figure 112009069027502-pat00052
Figure 112009069027502-pat00052

......

Figure 112009069027502-pat00053
...
Figure 112009069027502-pat00053
...

......

8-ii) 이하의 식이 성립하는 m ( 0 ≤ m ≤ n-2 )가 존재할 때,8-ii) when m (0 ≤ m ≤ n-2) is present,

i + 2x + y - m = 0i + 2x + y-m = 0

위 식을 만족하는 m을 m''로 한다. w(초기치 0)의 값을 한두 개 늘리면서 m'' - 2wx = n - 1 이 성립할 때까지 이하의 처리를 실시한다. m'' - 2wx = n - 1 이 성립하면 종료한다. (w ∈ N0, ( 0 ≤ w ≤ n-2 )M satisfying the above formula is m ''. Increasing the value of w (initial value 0) by one or two, the following processing is performed until m ''-2wx = n-1 is established. m ''-2wx = n-1 ends. (w ∈ N 0 , (0 ≤ w ≤ n-2)

Figure 112009069027502-pat00054
Figure 112009069027502-pat00054

Figure 112009069027502-pat00055
Figure 112009069027502-pat00055

......

Figure 112009069027502-pat00056
Figure 112009069027502-pat00056

......

(9) 모든 부분 비밀 정보를 연결하여 원래의 비밀 정보 K를 복원한다.(9) Restore all original secret information K by connecting all partial secret information.

Figure 112009069027502-pat00057
Figure 112009069027502-pat00057

도 7은 본 발명에 따른 대용량 데이터 저장 관리 시스템을 활용하여 데이터를 검색하는 흐름에 대해 설명하기로 한다.7 will be described with respect to the flow of data retrieval using a large data storage management system according to the present invention.

① 클라이언트에서 송신된 쿼리를 분산DBMS가 수신한다.① The distributed DBMS receives the query sent from the client.

② 수신된 쿼리로부터 서브쿼리를 작성하여 다른 DB서버에 처리해야 할 서브쿼리를 전송한다.② Write a subquery from the received query and send the subquery to be processed to another DB server.

③ DB 서버에서 처리해야 하는 프래그먼트(Fragment)를 요구하기 위해 서브쿼리를 스토리지 에이전트에 전달한다. ③ Subqueries are sent to the storage agent to request the fragments to be processed by the DB server.

④ 스토리지 에이전트는 데이터 스토리지로부터 배타적 논리합 (k,n)임계치 비밀분산 방식을 사용하여 프래그먼트(Fragment)를 생성한 후 분산 DBMS에 전달한다.(4) The storage agent creates a fragment from the data storage using an exclusive logical sum (k, n) threshold secret distribution method and delivers the fragment to the distributed DBMS.

⑤ 분산 DBMS는 프래그먼트(Fragment)로부터 서브쿼리를 이용하여 검색을 실행한 결과와 다른 DB의 처리결과를 통합한다.The distributed DBMS integrates the results of searching with subqueries from fragments and the processing results of other DBs.

⑥ 통합된 결과를 클라이언트에 전달한다. ⑥ Deliver the integrated result to the client.

본 발명에 따른 데이터베이스 시스템으로서 일반적으로 널리 사용되는 관계성(relation) 데이터베이스를 가정하는데 원리적으로는 XML DB나 오브젝트 DB 등의 다른 데이터베이스 시스템에도 적용 가능하다.As a database system according to the present invention, it is assumed that a relation database is generally widely used. In principle, it is also applicable to other database systems such as XML DB and object DB.

상기에서 본 발명의 특정한 실시예가 설명 및 도시되었지만, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당업자에 의하여 다양하게 변형되어 실시될 가능성이 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.Although specific embodiments of the present invention have been described and illustrated above, it will be apparent that various modifications may be made by those skilled in the art without departing from the technical spirit of the present invention. Such modified embodiments should not be understood individually from the spirit and scope of the present invention, but should fall within the claims appended to the present invention.

도 1은 본 발명에 따른 일 실시예의 대용량 데이터 분산 저장 관리 시스템의 개략도.1 is a schematic diagram of a mass data distributed storage management system of one embodiment according to the present invention;

도 2는 본 발명에 따른 일 실시예의 데이터베이스 서버(100)의 상세 구성도.2 is a detailed configuration diagram of a database server 100 according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예로서, 대용량 데이터가 처리되는 흐름을 보여주는 설명도.3 is an explanatory diagram showing a flow in which a large amount of data is processed as an embodiment of the present invention.

도 4를 이용하여 분산데이터베이스의 관계(relation) 작성, 기능 처리 흐름에 대해 설명하는 설명도.Explanatory drawing explaining relationship creation and function processing flow of a distributed database using FIG.

도 5를 이용하여 분산데이터베이스의 데이터 검색기능 처리흐름에 대해 설명하는 설명도.Explanatory drawing explaining the data search function process flow of a distributed database using FIG.

도 6을 이용하여 분산 데이터베이스의 데이터 갱신 기능 처리 흐름에 대해 설명하는 설명도.Explanatory drawing explaining the data update function processing flow of a distributed database using FIG.

도 7은 본 발명에 따른 대용량 데이터 저장 관리 시스템을 활용하여 데이터를 검색하는 흐름도.7 is a flow chart for retrieving data utilizing a mass data storage management system in accordance with the present invention.

***** 도면상 주요 기호에 대한 간략한 설명 ********** Brief description of the main symbols on the drawing *****

50: 스토리지 에이전트 100: 데이터베이스 서버50: storage agent 100: database server

Claims (11)

m 개 데이터 저장소에 대용량의 데이터를 분산하여 저장 관리하는 대용량 데이터 분산 저장 관리 시스템으로서,A large data distributed storage management system that distributes and manages large amounts of data in m data stores. 상기 데이터의 관계 테이블을 수직 분할(vertical partition)법에 의해 보다 작은 관계 테이블로 구성되는 L개의 프래그먼트로 분할하는 분산 데이터베이스 관리 시스템(분산 DBMS); 및A distributed database management system (distributed DBMS) for dividing the relation table of data into L fragments composed of smaller relation tables by a vertical partition method; And 상기 각 프래그먼트를 (k, n) 임계치 비밀분산 방식을 이용하여 n개의 분산 정보(share)로 분할하는 스토리지 에이전트; 를 포함하는 것을 특징으로 하고,A storage agent for dividing each fragment into n pieces of share information using a (k, n) threshold secret distribution scheme; Characterized in that it comprises a, 상기 m, L, k, n은 임의의 자연수이며, 상기 k는 n 이하인 자연수이며,M, L, k, n are any natural numbers, k is a natural number of n or less, 상기 n개의 분산 정보가 분산되는 데이터 저장소가 분산 정보 관리 테이블에 저장되며, 상기 분산 정보 관리 테이블은 m개 데이터 저장소 중 선택된 하나에만 저장되는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.And a data store in which the n distributed information is distributed, is stored in a distributed information management table, and the distributed information management table is stored in only one selected of m data stores. 제 1항에 있어서,The method of claim 1, 상기 스토리지 에이전트는 상기 n개 분산 정보를 상기 m개 데이터 저장소에 균형불완비블록설계법(Balanced Incomplete Block Design)에 따라 분배 저장하는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.The storage agent distributes and stores the n pieces of distributed information in the m data stores according to a balanced incomplete block design method. 제 2항에 있어서,3. The method of claim 2, 상기 데이터 저장소의 개수 m이 상기 분산 정보의 수 n보다 큰 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.And the number m of the data stores is greater than the number n of the distributed information. 삭제delete 제 1항에 있어서,The method of claim 1, 승인 또는 허가되지 않은 클라이언트의 접근을 막고 허가된 클라이언트만 인증하는 인증기와, 프라이버시 데이터 관리자는 데이터 사용의 승인 처리 및 권한 관리를 통해 데이터 프라이버시 보호하는 프라이버시 데이터 관리자를 더 구비하는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.An authenticator that prevents access to authorized or unauthorized clients and authenticates only authorized clients, and the privacy data manager further includes a privacy data manager that protects data privacy through authorization processing and authority management of data usage. Distributed Storage Management System. 제 1항에 있어서,The method of claim 1, 상기 스토리지 에이전트는 분할된 프래그먼트를 분사하는 분산기(splitter)와 분할된 프래그먼트를 복원하는 복원기(reconstructor)를 포함하는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.The storage agent includes a splitter for injecting the divided fragments and a reconstructor for restoring the divided fragments. 제 1항에 있어서,The method of claim 1, 상기 스토리지 에이전트는 배타적 논리합 (k, n) 임계치 비밀분산 방식을 이용하는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 시스템.And the storage agent uses an exclusive logical sum (k, n) threshold secret distribution scheme. m 개 데이터 저장소에 대용량의 데이터를 분산하여 저장 관리하는 대용량 데이터를 분산 저장 관리하는 방법으로서,As a method of distributed storage management of large data that distributes and stores large amounts of data in m data stores, 상기 데이터의 관계 테이블을 수직 분할(vertical partition)법에 의해 보다 작은 관계 테이블로 구성되는 L개의 프래그먼트로 분할하는 제 1단계;A first step of dividing the relation table of data into L fragments composed of smaller relation tables by a vertical partition method; 상기 각 프래그먼트를 (k, n) 임계치 비밀분산 방식을 이용하여 n개의 분산 정보(share)로 분할하는 제 2단계; 및A second step of dividing each fragment into n pieces of share information using a (k, n) threshold secret distribution scheme; And 상기 n개의 분산 정보를 상기 m 개의 복수 개 데이터 저장소에 균형불완비블록설계법(Balanced Incomplete Block Design)에 따라 분배하여 저장하는 제 3단계; 를 구비하는 것을 특징으로 하고, 상기 m, L, k, n은 임의의 자연수이며, 상기 k는 n이하이며,A third step of distributing and storing the n distributed information in the m plurality of data stores according to a balanced incomplete block design method; It characterized in that the m, L, k, n is any natural number, k is less than n, 상기 n개의 분산 정보가 분산되는 데이터 저장소가 분산 정보 관리 테이블에 저장되며, 상기 분산 정보 관리 테이블은 m개 데이터 저장소 중 선택된 하나에만 저장되는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 방법.And a data store in which the n distributed information is distributed, is stored in a distributed information management table, and the distributed information management table is stored in only one selected of m data stores. 제 8항에 있어서,The method of claim 8, 상기 데이터 저장소의 개수 m이 상기 분산 정보의 수 n보다 큰 것을 특징으로 하는 대용량 데이터 분산 저장 관리 방법.And the number m of the data stores is greater than the number n of the distributed information. 삭제delete 제 8항에 있어서,The method of claim 8, 상기 제 2단계가 배타적 논리합 (k, n) 임계치 비밀분산 방식에 의해 수행되는 것을 특징으로 하는 대용량 데이터 분산 저장 관리 방법.And the second step is performed by an exclusive logical sum (k, n) threshold secret distribution method.
KR1020090108151A 2009-11-10 2009-11-10 Data Distributed Storage Management System and Distributed Storage Management Method KR101050155B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090108151A KR101050155B1 (en) 2009-11-10 2009-11-10 Data Distributed Storage Management System and Distributed Storage Management Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090108151A KR101050155B1 (en) 2009-11-10 2009-11-10 Data Distributed Storage Management System and Distributed Storage Management Method

Publications (2)

Publication Number Publication Date
KR20110051527A KR20110051527A (en) 2011-05-18
KR101050155B1 true KR101050155B1 (en) 2011-07-19

Family

ID=44361777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090108151A KR101050155B1 (en) 2009-11-10 2009-11-10 Data Distributed Storage Management System and Distributed Storage Management Method

Country Status (1)

Country Link
KR (1) KR101050155B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618269B1 (en) 2015-05-29 2016-05-04 연세대학교 산학협력단 Method and Apparatus of Encoding for Data Recovery in Distributed Storage System

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060032293A (en) * 2004-10-12 2006-04-17 박영환 New server-client system for web-sevice of large size data
KR20060063425A (en) * 2004-12-07 2006-06-12 에스케이 텔레콤주식회사 System for management contents in large storage system
KR100804075B1 (en) 2006-08-18 2008-02-18 임승빈 Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060032293A (en) * 2004-10-12 2006-04-17 박영환 New server-client system for web-sevice of large size data
KR20060063425A (en) * 2004-12-07 2006-06-12 에스케이 텔레콤주식회사 System for management contents in large storage system
KR100804075B1 (en) 2006-08-18 2008-02-18 임승빈 Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2009.09. 한국인터넷진흥원, 최종연구보고서, 개인정보 등 대용량 데이터의 비밀분산 관리기법 연구*

Also Published As

Publication number Publication date
KR20110051527A (en) 2011-05-18

Similar Documents

Publication Publication Date Title
US9641490B2 (en) Trusted storage systems and methods
Iyer et al. A framework for efficient storage security in RDBMS
US11645262B2 (en) Tracking lineage of database data
US7752455B2 (en) Trusted storage systems and methods
US8892905B2 (en) Method and apparatus for performing selective encryption/decryption in a data storage system
DE60204049T2 (en) SYSTEMS, METHODS AND DEVICES FOR SAFE DATA PROCESSING
US9069987B2 (en) Secure data access using SQL query rewrites
US9934388B2 (en) Method and system for database encryption
US11620281B2 (en) Tracking intermediate changes in database data
CN112889054B (en) System and method for database encryption in a multi-tenant database management system
Singh et al. Search-as-a-service: Outsourced search over outsourced storage
Zheng et al. MiniCrypt: Reconciling encryption and compression for big data stores
CN106326666A (en) Health record information management service system
KR101050155B1 (en) Data Distributed Storage Management System and Distributed Storage Management Method
M. Ben Omran Managing Query Processing on Encrypted Database on the Cloud Efficiently
Khanh Oblivious search and updates for outsourced tree-structured data on untrusted servers
Gao et al. Protection of Access Pattern
US20190129975A1 (en) Persistent cache layer locking cookies
Alves-Foss et al. Formal methods and industry
SUJATHA et al. A COMPARATIVE STUDY ON PRIVACY OF ASSOCIATION RULE MINING AMONG HYBRID PARTITIONED DATABASES

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee