KR101738415B1 - Data storage apparatus and method for storing a message dispersedly - Google Patents

Data storage apparatus and method for storing a message dispersedly Download PDF

Info

Publication number
KR101738415B1
KR101738415B1 KR1020160009762A KR20160009762A KR101738415B1 KR 101738415 B1 KR101738415 B1 KR 101738415B1 KR 1020160009762 A KR1020160009762 A KR 1020160009762A KR 20160009762 A KR20160009762 A KR 20160009762A KR 101738415 B1 KR101738415 B1 KR 101738415B1
Authority
KR
South Korea
Prior art keywords
messages
message
data
stored
data stores
Prior art date
Application number
KR1020160009762A
Other languages
Korean (ko)
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 KR1020160009762A priority Critical patent/KR101738415B1/en
Application granted granted Critical
Publication of KR101738415B1 publication Critical patent/KR101738415B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

Disclosed are a data storage device and method for distributing a message dispersedly. In a method for dispersedly storing a plurality of messages in a plurality of data stores, even if only a minimum number of data stores are selected and accessed after dispersedly distributing the plurality of messages by utilizing only a minimum number of data stores, it is possible to load all of the plurality of messages. So, it is possible to provide a technique for enabling data to be quickly loaded from the plurality of data stores while preventing data loss for the plurality of messages. The data storage device includes a message distribution part and a data storage part.

Description

메시지 분산 저장이 가능한 데이터 저장 장치 및 방법{DATA STORAGE APPARATUS AND METHOD FOR STORING A MESSAGE DISPERSEDLY}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data storage apparatus,

본 발명은 데이터의 손실이 발생하였을 때, 데이터의 복구가 용이하도록 다수의 데이터 저장소들에 다수의 메시지들을 분산해서 저장하는 기법에 대한 기술과 관련된다.The present invention relates to a technique for distributing and storing a plurality of messages in a plurality of data stores so as to facilitate recovery of data when data loss occurs.

최근, 인터넷의 보급이 활발하게 이루어짐에 따라, 다양한 인터넷 서비스 제공 업체들이 등장하고 있다. 이러한 인터넷 서비스 제공 업체들은 이메일 서비스를 제공하거나, 블로그, 카페, 클라우드 데이터 저장 서비스 등과 같은 다양한 서비스들을 제공하고 있다.Recently, as the spread of the Internet becomes active, a variety of Internet service providers are emerging. These Internet service providers provide e-mail services, or provide various services such as blogs, cafes, and cloud data storage services.

특히, 최근에는 소셜 네트워크 서비스의 인기가 급증함에 따라, 소셜 네트워크 서비스를 제공하는 인터넷 서비스 제공 업체들도 매우 많이 증가하고 있다.Especially, as the popularity of social network services has increased recently, a lot of Internet service providers providing social network services are also increasing in number.

이러한 인터넷 서비스 제공 업체들은 이메일 서비스, 블로그, 카페, 클라우드 서비스, 소셜 네트워크 서비스 등을 제공하기 위해 다수의 클라이언트 단말들로부터 업로드되는 대용량의 데이터들을 자체의 데이터 저장소에 저장을 해야하는데, 이러한 데이터들이 데이터 저장소 내에서 손실되게 되면, 고객들에게 정상적인 서비스를 제공하지 못하기 때문에 데이터의 손실을 방지하기 위한 다양한 노력을 하고 있다.These Internet service providers need to store a large amount of data uploaded from a large number of client terminals in their own data storage to provide an e-mail service, a blog, a cafe, a cloud service, a social network service, If it is lost in the store, it is trying to prevent loss of data because it does not provide normal service to customers.

그러한 노력의 일환 중 하나로 데이터 저장소에 저장되어야 하는 사용자 메시지를 여러 데이터 저장소들에 백업을 해두는 방식이 도입되고 있다. 이러한 데이터 백업 방식은 원본 메시지가 손실되더라도 백업을 해둔 메시지를 이용하여 상기 원본 메시지를 대체할 수 있다는 점에서 데이터 손실에 대처하기 위한 가장 이상적인 방법 중 하나이다.One such effort is introducing a way to back up user messages that need to be stored in a data store to multiple data stores. Such a data backup method is one of the most ideal methods for coping with data loss in that the original message can be replaced by using a backup message even if the original message is lost.

이렇게, 하나의 원본 메시지를 복수의 데이터 저장소들에 여러 번 저장을 해두게 되면, 상기 원본 메시지에 대한 데이터 로드 명령이 인가될 때, 상기 복수의 데이터 저장소들 중 가장 동작 속도가 빠른 임의의 데이터 저장소로부터 상기 원본 메시지에 대응하는 메시지를 바로 로드하면 되기 때문에, 하나의 데이터 저장소에 원본 메시지를 저장하는 방식보다 데이터 로드에 있어서도 빠른 속도를 제공할 수 있다.In this way, when one original message is stored in a plurality of data stores at a plurality of times, when a data load command for the original message is applied, Since the message corresponding to the original message is immediately loaded from the data storage, it is possible to provide a faster speed of data loading than a method of storing the original message in one data storage.

하지만, 기존의 데이터 백업 방식은 단순히 원본 메시지에 대한 복사 메시지를 복수의 데이터 저장소들에 분산해서 저장하는 방식만을 도입하고 있어서, 다수의 메시지들을 데이터 저장소에 저장해야 하는 인터넷 서비스 제공 업체들의 입장에서는 상기 다수의 메시지들 각각에 대한 복사 메시지들을 생성해서 각 데이터 저장소들에 분산 저장해야 하기 때문에 많은 데이터 저장 용량이 필요하다는 문제가 발생할 수 있다.However, in the existing data backup method, only a method of distributing a copy message for an original message to a plurality of data stores is adopted, and therefore, from the viewpoint of Internet service providers who need to store a large number of messages in a data store, A problem may arise in that a large amount of data storage capacity is required because copy messages for each of a plurality of messages are generated and distributedly stored in the respective data stores.

따라서, 다수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 최소한의 데이터 저장소들만을 활용해서 상기 다수의 메시지들을 분산 저장한 후 상기 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 다수의 메시지들이 모두 로드될 수 있도록 하여 상기 다수의 메시지들에 대한 데이터 손실에 대비함과 동시에 데이터 저장소들로부터 빠른 데이터 로드가 가능하도록 하는 기법에 대한 연구가 필요하다.Accordingly, in a method of distributing a plurality of messages to a plurality of data stores, a method of distributing a plurality of messages using only a minimum number of data stores and selecting and accessing only a minimum data store among the data stores There is a need for research on a technique for preventing data loss for the plurality of messages and enabling quick data loading from the data stores by loading all of the plurality of messages.

본 발명은 다수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 최소한의 데이터 저장소들만을 활용해서 상기 다수의 메시지들을 분산 저장한 후 상기 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 다수의 메시지들이 모두 로드될 수 있도록 하여 상기 다수의 메시지들에 대한 데이터 손실에 대비함과 동시에 데이터 저장소들로부터 빠른 데이터 로드가 가능하도록 하는 기법을 제공하고자 한다.A method for distributing a plurality of messages to a plurality of data stores, the method comprising: distributing the plurality of messages using only a minimum of data stores, selecting only a minimum data store among the data stores, So that the plurality of messages can be loaded so as to prevent data loss for the plurality of messages and to enable fast data loading from the data stores.

본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치는 복수의 데이터 저장소들에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 상기 복수의 데이터 저장소들에 저장할 복수의 메시지들을 선정된 개수만큼 분산 할당 - 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산부 및 상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 상기 복수의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부를 포함한다.A data storage device capable of distributing messages according to an exemplary embodiment of the present invention includes a plurality of message distribution groups corresponding to a plurality of data stores and a plurality of message distribution groups corresponding to the plurality of message distribution groups, A message distribution unit for distributing a plurality of messages to be stored to a predetermined number of distributed messages; a message distribution unit for distributing messages distributed to the plurality of message distribution groups; and messages allocated to each of the plurality of message distribution groups And a data storage unit for separately storing the plurality of message distribution groups in a data repository corresponding to each message distribution group among the plurality of data repositories.

또한, 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법은 복수의 데이터 저장소들에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 상기 복수의 데이터 저장소들에 저장할 복수의 메시지들을 선정된 개수만큼 분산 할당 - 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계 및 상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 상기 복수의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계를 포함한다.Also, a data storage method capable of distributing a message according to an exemplary embodiment of the present invention includes generating a plurality of message distribution groups corresponding to a plurality of data stores, A plurality of messages distributed to a plurality of message distribution groups are distributed to a predetermined number of messages; messages distributedly distributed to the plurality of message distribution groups may overlap each other; and messages allocated to each of the plurality of message distribution groups And separately storing the plurality of message distribution groups in a data repository corresponding to each message distribution group among the plurality of data repositories.

본 발명은 다수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 최소한의 데이터 저장소들만을 활용해서 상기 다수의 메시지들을 분산 저장한 후 상기 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 다수의 메시지들이 모두 로드될 수 있도록 하여 상기 다수의 메시지들에 대한 데이터 손실에 대비함과 동시에 데이터 저장소들로부터 빠른 데이터 로드가 가능하도록 하는 기법을 제공할 수 있다.A method for distributing a plurality of messages to a plurality of data stores, the method comprising: distributing the plurality of messages using only a minimum of data stores, selecting only a minimum data store among the data stores, A plurality of messages can be loaded so as to prevent data loss for the plurality of messages and to provide a technique for enabling fast data loading from data stores.

도 1은 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법을 도시한 순서도이다.
FIG. 1 is a diagram illustrating a structure of a data storage device capable of distributing a message according to an embodiment of the present invention.
FIG. 2 is a view for explaining a data storage device capable of distributing messages according to an embodiment of the present invention.
3 is a flowchart illustrating a data storage method capable of distributing a message according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치의 구조를 도시한 도면이다.FIG. 1 is a diagram illustrating a structure of a data storage device capable of distributing a message according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 메시지 분산부(111) 및 데이터 저장부(112)를 포함한다.Referring to FIG. 1, a data storage device 110 capable of distributing messages according to an embodiment of the present invention includes a message distribution unit 111 and a data storage unit 112.

메시지 분산부(111)는 복수의 데이터 저장소들(101, 102, 103)에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 복수의 데이터 저장소들(101, 102, 103)에 저장할 복수의 메시지들을 선정된(predetermined) 개수만큼 분산 할당한다.The message distribution unit 111 generates a plurality of message distribution groups corresponding to the plurality of data stores 101, 102 and 103, and a plurality of data stores 101, 102, and 103 for the plurality of message distribution groups. 103 by a predetermined number of times.

이때, 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있다.At this time, messages distributedly allocated to the plurality of message distribution groups may overlap each other.

여기서, 메시지란 복수의 데이터 저장소들(101, 102, 103)에 저장될 일종의 데이터 심볼(symbol)을 의미하는 것으로 상기 복수의 메시지들은 각각 서로 다른 데이터 심볼이다.Here, a message refers to a kind of data symbol to be stored in a plurality of data stores 101, 102, and 103, wherein the plurality of messages are different data symbols.

데이터 저장부(112)는 상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 복수의 데이터 저장소들(101, 102, 103) 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.The data storage unit 112 stores messages allocated to each of the plurality of message distribution groups corresponding to each message distribution group among the plurality of data stores 101, Store it separately in the data store.

이때, 본 발명의 일실시예에 따르면, 메시지 분산부(111)는 시퀀스 생성부(113), 시퀀스 매칭부(114) 및 분산 할당부(115)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the message distribution unit 111 may include a sequence generation unit 113, a sequence matching unit 114, and a distribution assignment unit 115.

시퀀스 생성부(113)는 상기 복수의 메시지들의 개수가 N(N은 N=2k-1의 조건을 만족하는 자연수이고, k는 2이상의 자연수임)개인 경우, N개의 "1"과 "0"의 코드 값으로 구성된 m-시퀀스(sequence)를 N개 생성한다.When the number of the plurality of messages is N (where N is a natural number satisfying the condition of N = 2 k -1 and k is a natural number of 2 or more), the sequence generation unit 113 generates N 1's and 0's N " sequences composed of code values of "n "

여기서, m-시퀀스란 의사 난수 잡음(Pseudo Random Noise: PN) 코드의 일종으로 "1"과 "0"의 코드 값으로 구성된 수열이다.Here, the m-sequence is a kind of pseudo random noise (PN) code, and is a sequence composed of code values of "1" and "0".

Figure 112016008798744-pat00001
을 2k개의 원소로 구성된 유한체라 하고
Figure 112016008798744-pat00002
를 그 확장체 상의 한 원시원(primitive element)이라 할 때, m-시퀀스는
Figure 112016008798744-pat00003
상에서
Figure 112016008798744-pat00004
로의 선형 함수
Figure 112016008798744-pat00005
의 값이 t가 0부터 2k-1까지 변할 때 갖는 값으로 정의되거나,
Figure 112016008798744-pat00006
를 생성하는
Figure 112016008798744-pat00007
를 근으로 갖는 원시 다항식(primitive polynomial) "
Figure 112016008798744-pat00008
"가 있을 때 선형 피드백 시프트 레지스터(linear feedback shift register)를 사용해서, 모두 0이 아닌 초기 값으로부터 시작해서 2k-1 클럭동안 출력되는 데이터로 정의될 수 있다.
Figure 112016008798744-pat00001
Is a finite element consisting of 2 k elements
Figure 112016008798744-pat00002
Is a primitive element on the extension, the m-sequence is
Figure 112016008798744-pat00003
On
Figure 112016008798744-pat00004
Linear function to
Figure 112016008798744-pat00005
Is defined as a value when t changes from 0 to 2 k -1,
Figure 112016008798744-pat00006
To generate
Figure 112016008798744-pat00007
Primitive polynomial "with < RTI ID = 0.0 >
Figure 112016008798744-pat00008
"Can be defined as data output starting at a non-zero initial value for 2 k -1 clocks, using a linear feedback shift register.

m-시퀀스는 N=2k-1의 길이를 갖는 즉, N=2k-1개의 "1"과 "0"의 코드 값으로 구성된 코드로, N개의 m-시퀀스가 생성되었을 때 각 m-시퀀스 내에 존재하는 "1"의 코드 값의 개수는 항상

Figure 112016008798744-pat00009
개로 일정하며, 서로 다른 k-1개의 m-시퀀스에 대해 "OR"연산을 수행하게 되면, "OR" 연산이 수행된 결과 값에서 존재하는 "1"의 코드 값의 개수는 항상 N-1개가 되고, "0"의 코드 값의 개수는 항상 1개가 되는 특징을 가지고 있다.m- sequence is N = 2 in other words, N = 2 k -1 of "1" and the code consisting of a code value of "0" having a length of k -1, when N number of sequences is generated, each m- m- The number of code values of "1" existing in the sequence is always
Figure 112016008798744-pat00009
The number of code values of "1" existing in the result of performing the "OR" operation is always N-1 when the " OR "operation is performed on k- , And the number of code values of "0" is always one.

시퀀스 매칭부(114)는 상기 복수의 메시지 분산 그룹들을 N개 생성하고, 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해 상기 N개의 m-시퀀스들을 하나씩 매칭시킨다.The sequence matching unit 114 generates N message distribution groups, and matches the N m-sequences one by one with respect to each of the N plurality of message distribution groups.

분산 할당부(115)는 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값에 기초하여 상기 복수의 메시지들을

Figure 112016008798744-pat00010
개씩 분산 할당한다.For each of the N number of message distribution groups, the distribution assignment unit 115 assigns the plurality of message distribution groups to each of the N number of message distribution groups based on N code values constituting an m- Messages
Figure 112016008798744-pat00010
Respectively.

이때, 본 발명의 일실시예에 따르면, 메시지 분산부(111)는 상기 복수의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 인덱스 할당부(116)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the message distribution unit 111 may further include an index assigning unit 116 for assigning index values associated with the order information to each of the plurality of messages.

이때, 분산 할당부(115)는 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 복수의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 복수의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 복수의 메시지들을 분산 할당할 수 있다.At this time, the distribution assigning unit 115 assigns, to each of the N plurality of message distribution groups, an arrangement order of N code values constituting an m-sequence matched to each of the N plurality of message distribution groups, And compare the index values assigned to each of the plurality of messages, and distribute the plurality of messages based on code values of an array order matching an index value assigned to the plurality of messages.

이때, 본 발명의 일실시예에 따르면, 분산 할당부(115)는 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값 중

Figure 112016008798744-pat00011
개씩 존재하는 "1"의 코드 값을 확인한 후 상기 복수의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는
Figure 112016008798744-pat00012
개의 메시지들을 할당할 수 있다.In this case, according to an embodiment of the present invention, the distribution assigning unit 115 constructs an m-sequence matched to each of the N plurality of message distribution groups, for each of the N plurality of message distribution groups Of the N code values
Figure 112016008798744-pat00011
Quot; 1 "existing in the message list, and then an index value that matches the code order of the code value of" 1 "among the plurality of messages is allocated
Figure 112016008798744-pat00012
Lt; / RTI > messages.

이때, 본 발명의 일실시예에 따르면, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 저장 메시지 추출부(117), 잔여 메시지 추출부(118) 및 데이터 로드부(119)를 더 포함할 수 있다.According to an embodiment of the present invention, the data storage device 110 capable of distributing a message may further include a storage message extractor 117, a residual message extractor 118, and a data loader 119 have.

저장 메시지 추출부(117)는 복수의 데이터 저장소들(101, 102, 103)에 상기 복수의 메시지들이 분산 저장된 이후, 상기 복수의 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 복수의 데이터 저장소들(101, 102, 103) 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출한다.The stored message extracting unit 117 extracts a plurality of messages stored in the plurality of data stores 101, 102, and 103 after the plurality of messages are distributed and stored, (K-1) of the plurality of data stores (101, 102, 103) randomly based on the k-1 data stores, Lt; / RTI >

잔여 메시지 추출부(118)는 상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 복수의 메시지들의 인덱스 값을 비교하여 상기 복수의 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 복수의 데이터 저장소들(101, 102, 103) 중 상기 잔여 메시지가 저장되어 있는 어느 하나의 데이터 저장소로부터 상기 잔여 메시지를 추출한다.The remaining message extracting unit 118 compares the index value assigned to the extracted plurality of stored messages with the index value of the plurality of messages and stores the index value in the extracted plurality of stored messages And extracts the remaining message from any one of the plurality of data stores 101, 102, 103 in which the remaining message is stored.

데이터 로드부(119)는 상기 추출된 복수의 저장 메시지들과 상기 추출된 잔여 메시지를 상기 복수의 메시지들에 대한 로드 명령에 따른 데이터로 로드한다.The data loading unit 119 loads the extracted plurality of stored messages and the extracted residual message as data according to a load command for the plurality of messages.

이하에서는 도 2를 참조하여, 본 발명에 따른 메시지 분산 저장이 가능한 데이터 저장 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the data storage device 110 capable of storing and distributing messages according to the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 장치(110)를 설명하기 위한 도면이다.FIG. 2 is a view for explaining a data storage device 110 capable of distributing messages according to an embodiment of the present invention.

우선, 복수의 데이터 저장소들(101, 102, 103)이 도 2에 도시된 바와 같이, 데이터 저장소 1(211), 데이터 저장소 2(221), 데이터 저장소 3(231), 데이터 저장소 4(241), 데이터 저장소 5(251), 데이터 저장소 6(261) 및 데이터 저장소 7(271)로 존재한다고 가정하고, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 저장할 복수의 메시지들의 개수가 7개인 것으로 가정하기로 한다.First, a plurality of data stores 101, 102 and 103 are connected to the data storage 1 211, the data storage 2 221, the data storage 3 231, the data storage 4 241, , The data storage 5 (251), the data storage 6 (261) and the data storage 7 (271) It is assumed that the number of messages is 7.

이때, 메시지 분산부(111)에 포함되어 있는 인덱스 할당부(116)는 상기 7개의 메시지들에 대해서 순번 정보와 연관된 인덱스 값을 할당할 수 있는데, 인덱스 할당부(116)가 상기 7개의 메시지들에 대해 순서대로 1부터 7까지의 인덱스 값을 할당한다고 하면, 상기 7개의 메시지들은 "m1, m2, m3, m4, m5, m6, m7"로 표시할 수 있다.At this time, the index assigning unit 116 included in the message distributing unit 111 may assign an index value associated with the order information to the seven messages. When the index assigning unit 116 assigns the seven messages M 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 ", the seven messages can be expressed as" m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 ".

상기 복수의 메시지들의 개수가 7개라고 가정하였기 때문에 시퀀스 생성부(113)는 7개의 "1"과 "0"의 코드 값으로 구성된 m-시퀀스를 7개 생성할 수 있다.Since the number of the plurality of messages is assumed to be seven, the sequence generation unit 113 can generate seven m-sequences composed of seven code values of "1" and "0".

이때, m-시퀀스는 N=2k-1개의 코드 값으로 구성되는 의사 난수 잡음 코드이고, 본 실시예에서 N은 7로 가정하였기 때문에 k는 3이 될 수 있다.In this case, the m-sequence is a pseudorandom noise code composed of N = 2 k -1 code values. In this embodiment, since N is assumed to be 7, k can be 3.

이때, 시퀀스 생성부(113)는 앞서 설명한 바와 같이,

Figure 112016008798744-pat00013
을 2k개의 원소로 구성된 유한체라 하고
Figure 112016008798744-pat00014
를 그 확장체 상의 한 원시원이라 할 때,
Figure 112016008798744-pat00015
상에서
Figure 112016008798744-pat00016
로의 선형 함수
Figure 112016008798744-pat00017
의 값이 t가 0부터 2k-1까지 변할 때 갖는 값을 상기 m-시퀀스로 생성할 수 있거나,
Figure 112016008798744-pat00018
를 생성하는
Figure 112016008798744-pat00019
를 근으로 갖는 원시 다항식 "
Figure 112016008798744-pat00020
"가 있을 때 선형 피드백 시프트 레지스터를 사용해서, 모두 0이 아닌 초기 값으로부터 시작해서 2k-1 클럭동안 출력되는 데이터를 상기 m-시퀀스로 생성할 수 있다.At this time, the sequence generator 113, as described above,
Figure 112016008798744-pat00013
Is a finite element consisting of 2 k elements
Figure 112016008798744-pat00014
Is an origin on the extension,
Figure 112016008798744-pat00015
On
Figure 112016008798744-pat00016
Linear function to
Figure 112016008798744-pat00017
Can be generated with the m-sequence when the value of t changes from 0 to 2 < RTI ID = 0.0 > k- 1,
Figure 112016008798744-pat00018
To generate
Figure 112016008798744-pat00019
Quot; primitive polynomial "
Figure 112016008798744-pat00020
&Quot;, it is possible to generate data in the m-sequence that is output for 2 k -1 clocks starting from a non-zero initial value, all using a linear feedback shift register.

이렇게, 시퀀스 생성부(113)에서 7개의 m-시퀀스를 생성한 결과, 상기 7개의 m-시퀀스는 도 2에 도시된 바와 같이, 1001011(212), 0010111(222), 0101110(232), 1011100(242), 0111001(252), 1110010(262), 1100101(272)가 될 수 있다.As a result of generating 7 m-sequences in the sequence generation unit 113, the 7 m-sequences are 1001011 (212), 0010111 (222), 0101110 (232), 1011100 (242), 0111001 (252), 1110010 (262), 1100101 (272).

이러한 m-시퀀스는 앞서 설명한 바와 같이, 항상

Figure 112016008798744-pat00021
개의 "1"의 코드 값을 갖게 되는데, 본 실시예에서 N은 7로 가정하였기 때문에 7개의 m-시퀀스들(212, 222, 232, 242, 252, 262, 272) 각각에 포함된 "1"의 코드 값은 항상 4개이다.This m-sequence is, as described above,
Figure 112016008798744-pat00021
1 "included in each of the seven m-sequences 212, 222, 232, 242, 252, 262 and 272 because N is assumed to be 7 in this embodiment. The code value is always four.

그리고, m-시퀀스는 서로 다른 k-1개의 m-시퀀스 간에 "OR" 논리 연산을 수행하면, 해당 논리 연산의 결과 값에 포함된 "1"의 코드 값은 항상 N-1개가 되고, "0"의 코드 값은 항상 1개가 되기 때문에 본 실시예에서는 N이 7이고, k가 3이라고 가정하였기 때문에 7개의 m-시퀀스들(212, 222, 232, 242, 252, 262, 272) 중 어느 두 개의 m-시퀀스들 간에 "OR" 논리 연산이 수행되면, 그 연산 결과 값에 포함되어 있는 "1"의 코드 값은 항상 6개이고, "0"의 코드 값은 항상 1개가 된다.If the m-sequence performs an "OR" logical operation between k-1 different m-sequences, the code value of "1" included in the result of the logical operation is always N-1, Of the seven m-sequences 212, 222, 232, 242, 252, 262, and 272 because N is 7 and k is 3 since the code value of the m- When the "OR" logical operation is performed between the m-sequences, the code value of "1" included in the operation result value is always 6, and the code value of "0 "

이렇게, 7개의 m-시퀀스들(212, 222, 232, 242, 252, 262, 272)이 생성되면, 시퀀스 매칭부(114)는 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 각각 대응하는 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)을 생성하고, 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 대해 7개의 m-시퀀스들(212, 222, 232, 242, 252, 262, 272)을 하나씩 매칭시킬 수 있다.When the seven m-sequences 212, 222, 232, 242, 252, 262, and 272 are generated, the sequence matching unit 114 stores the data mapped to the data stores 1 to 7 (211, 221, 231, 241, 251, 233, 243, 253, 263, 273 corresponding to the message distribution groups 213, 223, 233, 243, 253, 262, 272 can be matched one by one for each of the m-sequences 261, 263, 273.

관련해서, 시퀀스 매칭부(114)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 1(213)에 대해 1001011(212)을 매칭시킬 수 있고, 메시지 분산 그룹 2(223)에 대해 0010111(222)을 매칭시킬 수 있으며, 메시지 분산 그룹 3(233)에 대해 0101110(232)을 매칭시킬 수 있고, 메시지 분산 그룹 4(243)에 대해 1011100(242)을 매칭시킬 수 있고, 메시지 분산 그룹 5(253)에 대해 0111001(252)을 매칭시킬 수 있고, 메시지 분산 그룹 6(263)에 대해 1110010(262)을 매칭시킬 수 있고, 메시지 분산 그룹 7(273)에 대해 1100101(272)을 매칭시킬 수 있다.In this regard, the sequence matching unit 114 may match 1001011 (212) to the message distribution group 1 (213), 0010111 (222) to the message distribution group 2 (223) Match 0101110 (232) to message distribution group 3 233, match 1011100 (242) to message distribution group 4 (243), match message distribution group 5 (253 And can match 1110010 (262) for message distribution group 6 (263) and 1100101 (272) for message distribution group 7 (273) .

그러고 나서, 분산 할당부(115)는 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 대해, 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 매칭되어 있는 m-시퀀스를 구성하는 7개의 코드 값에 기초하여 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"을 할당할 수 있는데, 분산 할당부(115)는 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 매칭되어 있는 m-시퀀스를 구성하는 7개의 코드 값의 배열 순서와 7개의 메시지들 "m1, m2, m3, m4, m5, m6, m7" 각각에 할당되어 있는 인덱스 값을 비교한 후 7개의 메시지들 "m1, m2, m3, m4, m5, m6, m7"에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 7개의 메시지들 "m1, m2, m3, m4, m5, m6, m7"을 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)에 할당할 수 있다.Then, for each of the seven message distribution groups 213, 223, 233, 243, 253, 263 and 273, the distribution assignment unit 115 assigns seven message distribution groups 213, 223, 233, 243, M 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 , m 2 , m 3 , m 4 , Quot ;, and the distribution assignment unit 115 assigns 7 code values constituting the m-sequence matched to each of the 7 message distribution groups 213, 223, 233, 243, 253, 263, in the arrangement order and seven message "m 1, m 2, m 3, m 4, m 5, m 6, m 7" and then compares the index value is assigned to each of the seven messages "m 1, m 2, m 3, m 4, m 5, m 6, m 7 " seven messages on the basis of the code values of the collating sequence matching the index values assigned to the" m 1, m 2, m 3, m 4 , m 5 , m 6 , m 7 "are divided into seven message distribution groups 213, 223, 233, 243, 253, 263, and 273, respectively.

이때, 분산 할당부(115)는 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 매칭되어 있는 m-시퀀스를 구성하는 7개의 코드 값 중 4개씩 존재하는 "1"의 코드 값을 확인한 후 7개의 메시지들 "m1, m2, m3, m4, m5, m6, m7" 중 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)에 할당할 수 있다.At this time, the distribution assigning unit 115 assigns four of the seven code values constituting the m-sequence matched to the seven message distribution groups 213, 223, 233, 243, 253, 263, and 273 "1" of the seven message after checking the code value "m 1, m 2, m 3, m 4, m 5, m 6, m 7" index matching the collation order for the code value of "1" The four messages to which the value is assigned can be allocated to the seven message distribution groups 213, 223, 233, 243, 253, 263, and 273.

관련해서, 분산 할당부(115)가 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 대해 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"을 분산 할당하는 과정을 각 메시지 분산 그룹들 별로 구분해서 설명하면 다음과 같다.In relation to this, the distribution allocator 115 allocates seven messages for each of the seven message distribution groups 213, 223, 233, 243, 253, 263, and 273, "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 "are distributed according to each message distribution group.

우선, 메시지 분산 그룹 1(213)에 대해서는 1001011(212)라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 1001011(212)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 1(213)에 할당할 수 있다.First, since the m-sequence 1001011 (212) is matched with respect to the message distribution group 1 (213), the distribution assignment unit 115 checks the code value of "1" from the 1001011 (212) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "to four messages the message distribution group with the index value to correspond with the arrangement order of the code value is assigned in the 1 ( 213).

관련해서, 1001011(212)에서는 "1"의 코드 값이 1번, 4번, 6번, 7번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 1(213)에 대해 1번, 4번, 6번, 7번 위치에 대응하는 인덱스 값이 할당되어 있는 "m1, m4, m6, m7"을 할당할 수 있다.2, since the code value of "1" is arranged at positions 1, 4, 6 and 7 in the 1001011 (212) M 1 , m 4 , m 6 , m 7 "to which the index values corresponding to the positions 1, 4, 6, 7 are assigned to the first 213.

그리고, 메시지 분산 그룹 2(223)에 대해서는 0010111(222)라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 0010111(222)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 2(223)에 할당할 수 있다.Since the m-sequence 0010111 (222) is matched with respect to the message distribution group 223, the distribution assignment unit 115 checks the code value of "1 " from 0010111 (222) (4) in which an index value corresponding to the code order value of "1" among the m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " 223).

관련해서, 0010111(222)에서는 "1"의 코드 값이 3번, 5번, 6번, 7번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 2(223)에 대해 3번, 5번, 6번, 7번 위치에 대응하는 인덱스 값이 할당되어 있는 "m3, m5, m6, m7"을 할당할 수 있다.2, since the code values of "1" are arranged at positions 3, 5, 6 and 7, the distribution assigning unit 115 assigns the code value of & M 3 , m 5 , m 6 , m 7 "to which the index values corresponding to the positions 3, 5, 6, 7 are assigned to the second 223.

그리고, 메시지 분산 그룹 3(233)에 대해서는 0101110(232)라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 0101110(232)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 3(233)에 할당할 수 있다.Since the m-sequence of 0101110 (232) is matched with respect to the message distribution group 3 233, the distribution assignment unit 115 checks the code value of "1 " from the 0101110 (232) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "code value for message four messages, which is an index value assigned to match the arrangement order of the distribution group 3 ( 233).

관련해서, 0101110(232)에서는 "1"의 코드 값이 2번, 4번, 5번, 6번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 3(233)에 대해 2번, 4번, 5번, 6번 위치에 대응하는 인덱스 값이 할당되어 있는 "m2, m4, m5, m6"을 할당할 수 있다.2, since the code value of "1" is arranged at positions 2, 4, 5 and 6 in the 0101110232, M 2 , m 4 , m 5 , m 6 "to which the index values corresponding to the positions 2, 4, 5, and 6 are assigned to the third 233.

그리고, 메시지 분산 그룹 4(243)에 대해서는 1011100(242)이라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 1011100(242)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 4(243)에 할당할 수 있다.Since the m-sequence 1011100 (242) is matched with respect to the message distribution group 4 (243), the distribution assignment unit 115 checks the code value of "1" from the 1011100 (242) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "code value of four messages the message distribution group that is the index value assigned to match the arrangement order of the four ( 243).

관련해서, 1011100(242)에서는 "1"의 코드 값이 1번, 3번, 4번, 5번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 4(243)에 대해 1번, 3번, 4번, 5번 위치에 대응하는 인덱스 값이 할당되어 있는 "m1, m3, m4, m5"을 할당할 수 있다.2, since the code values of "1" are arranged at positions 1, 3, 4 and 5 in 1011100242, M 1 , m 3 , m 4 , and m 5 "to which index values corresponding to positions 1, 3, 4, and 5 are assigned to the 4 (243)

그리고, 메시지 분산 그룹 5(253)에 대해서는 0111001(252)이라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 0111001(252)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 5(253)에 할당할 수 있다.Since the m-sequence 0111001 (252) is matched with respect to the message distribution group 5 253, the distribution assignment unit 115 checks the code value of "1 " from 0111001 (252) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "of the code value of four messages the message distribution group that is the index value assigned to match the arrangement order of the 5 ( 253).

관련해서, 0111001(252)에서는 "1"의 코드 값이 2번, 3번, 4번, 7번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 5(253)에 대해 2번, 3번, 4번, 7번 위치에 대응하는 인덱스 값이 할당되어 있는 "m2, m3, m4, m7"을 할당할 수 있다.2, since the code value of "1" is arranged at positions 2, 3, 4 and 7 in the 0111001 (252) M 2 , m 3 , m 4 , m 7 "to which the index values corresponding to the positions 2, 3, 4, and 7 are assigned to 5 (253).

그리고, 메시지 분산 그룹 6(263)에 대해서는 1110010(262)이라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 1110010(262)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 6(263)에 할당할 수 있다.Since the m-sequence of 1110010 (262) is matched with respect to the message distribution group 6 (263), the distribution assignment unit 115 checks the code value of "1 " from 1110010 (262) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "code value distributed group of four messages, which is assigned an index value to correspond with the arrangement order message for the 6 ( 263).

관련해서, 1110010(262)에서는 "1"의 코드 값이 1번, 2번, 3번, 6번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 6(263)에 대해 1번, 2번, 3번, 6번 위치에 대응하는 인덱스 값이 할당되어 있는 "m1, m2, m3, m6"을 할당할 수 있다.2, since the code value of "1" is arranged at positions 1, 2, 3 and 6 in the 111001026, M 1 , m 2 , m 3 , m 6 "to which index values corresponding to positions 1, 2, 3, and 6 are assigned to 6 (263).

그리고, 메시지 분산 그룹 7(273)에 대해서는 1100101(272)이라는 m-시퀀스가 매칭되어 있기 때문에 분산 할당부(115)는 1100101(272)로부터 "1"의 코드 값을 확인한 후 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 4개의 메시지들을 메시지 분산 그룹 7(273)에 할당할 수 있다.Since the m-sequence 1100101 (272) is matched with respect to the message distribution group 7 (273), the distribution assignment unit 115 checks the code value of "1" from 1100101 (272) m 1, m 2, m 3 , m 4, m 5, m 6, m 7 "from" 1 "of the code value of four messages the message distribution group that is the index value assigned to match the arrangement order of the 7 ( 273).

관련해서, 1100101(272)에서는 "1"의 코드 값이 1번, 2번, 5번, 7번 위치에 배열되어 있기 때문에 분산 할당부(115)는 도 2에 도시된 바와 같이, 메시지 분산 그룹 7(273)에 대해 1번, 2번, 5번, 7번 위치에 대응하는 인덱스 값이 할당되어 있는 "m1, m2, m5, m7"을 할당할 수 있다.2, since the code value of "1" is arranged at positions 1, 2, 5 and 7 in the 1100101 272, M 1 , m 2 , m 5 , m 7 "to which index values corresponding to positions 1, 2, 5, and 7 are assigned to 7 (273)

이렇게, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"이 모두 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)에 4개씩 분산 할당이 완료되면, 데이터 저장부(112)는 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 각각에 할당되어 있는 4개의 메시지들을 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273) 별로 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장할 수 있다.Thus, the seven messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " are all seven message distribution groups 213, 223, 233, 243, 253, 263, The data storage unit 112 stores the four messages allocated to the seven message distribution groups 213, 223, 233, 243, 253, 263, and 273 in seven A message storage group corresponding to each message distribution group among the data storage groups 1 to 7 (211, 221, 231, 241, 251, 261, 271) for the message distribution groups 213, 223, 233, 243, 253, 263, Can be stored separately.

관련해서, 데이터 저장부(112)는 메시지 분산 그룹 1(213)에 할당되어 있는 4개의 메시지들인 "m1, m4, m6, m7"을 대응되는 데이터 저장소인 데이터 저장소 1(211)에 저장할 수 있다.The data storage unit 112 stores four messages "m 1 , m 4 , m 6 , m 7 " assigned to the message distribution group 1 213 in the data store 1 211, which is the corresponding data store, Lt; / RTI >

그리고, 데이터 저장부(112)는 메시지 분산 그룹 2(223)에 할당되어 있는 4개의 메시지들인 "m3, m5, m6, m7"을 대응되는 데이터 저장소인 데이터 저장소 2(221)에 저장할 수 있다.The data storage unit 112 stores the four messages "m 3 , m 5 , m 6 , m 7 " assigned to the message distribution group 2 223 in the data store 2 221 as the corresponding data store Can be stored.

그리고, 데이터 저장부(112)는 메시지 분산 그룹 3(233)에 할당되어 있는 4개의 메시지들인 "m2, m4, m5, m6"을 대응되는 데이터 저장소인 데이터 저장소 3(231)에 저장할 수 있다.The data storage unit 112 stores the four messages "m 2 , m 4 , m 5 , m 6 " assigned to the message distribution group 3 233 in the data store 3 231 corresponding to the data store Can be stored.

그리고, 데이터 저장부(112)는 메시지 분산 그룹 4(243)에 할당되어 있는 4개의 메시지들인 "m1, m3, m4, m5"를 대응되는 데이터 저장소인 데이터 저장소 4(241)에 저장할 수 있다.The data storage unit 112 stores four messages "m 1 , m 3 , m 4 , m 5 " assigned to the message distribution group 4 243 in the data store 4 241 corresponding to the data store Can be stored.

그리고, 데이터 저장부(112)는 메시지 분산 그룹 5(253)에 할당되어 있는 4개의 메시지들인 "m2, m3, m4, m7"을 대응되는 데이터 저장소인 데이터 저장소 5(251)에 저장할 수 있다.The data storage unit 112 stores the four messages "m 2 , m 3 , m 4 , m 7 " assigned to the message distribution group 5 (253) in the data store 5 (251) Can be stored.

그리고, 데이터 저장부(112)는 메시지 분산 그룹 6(263)에 할당되어 있는 4개의 메시지들인 "m1, m2, m3, m6"을 대응되는 데이터 저장소인 데이터 저장소 6(261)에 저장할 수 있다.The data storage unit 112 stores the four messages "m 1 , m 2 , m 3 , m 6 " assigned to the message distribution group 6 263 in the data store 6 261 corresponding to the data store Can be stored.

마지막으로, 데이터 저장부(112)는 메시지 분산 그룹 7(273)에 할당되어 있는 4개의 메시지들인 "m1, m2, m5, m7"을 대응되는 데이터 저장소인 데이터 저장소 7(271)에 저장할 수 있다.Lastly, the data storage unit 112 stores the four messages "m 1 , m 2 , m 5 , m 7 " assigned to the message distribution group 7 273 in the data store 7 271, which is the corresponding data store, Lt; / RTI >

이렇게, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"이 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장이 완료되면, 추후 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대해서 데이터 로드 명령이 인가됨에 따라 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 데이터 로드를 수행할 때, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중에서 어느 두 개의 데이터 저장소에만 액세스를 한 후 상기 두 개의 데이터 저장소만에 저장되어 있는 메시지들을 추출하게 되면, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 적어도 6개의 메시지는 모두 추출되게 된다.The seven messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " are stored in the data stores 1 to 7 (211, 221, 231, 241, 251, 261, 271) M 4 , m 5 , m 6 , m 7 ", the seven messages" m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " m 1, m 2, m 3 , m 4, m 5, m 6, m 7 " when performing a data load on a data storage 1-7 (211, 221, 231, 241, 251, 261, 271) then access any two data storage only in the two when the data extracting store only those messages stored in the seven messages, which are "m 1, m 2, m 3, m 4, m 5, m 6 , m 7 "are all extracted.

왜냐하면, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에는 각각 7개의 m-시퀀스의 "1"의 코드 값에 따라서 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"이 분산 할당되어 저장되었고, m-시퀀스의 특성상 상기 7개의 m-시퀀스 중 어느 두 개의 m-시퀀스 간에 "OR"논리 연산을 수행하게 되면, "1"의 코드 값이 항상 6개가 나오기 때문에 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 어느 두 개의 랜덤한 데이터 저장소로부터 4개의 메시지들을 모두 추출하게 되면, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 적어도 6개의 메시지들은 모두 확보하게 되는 것이다.Because the seven messages "m 1 , m 2 , m 1 " are stored in the data storage 1 to 7 (211, 221, 231, 241, 251, 261, 271) m 3 , m 4 , m 5 , m 6 , m 7 "are distributed and stored, and when an" OR "logic operation is performed between any two m-sequences of the seven m- , All of the four messages are extracted from any two random data stores among the data stores 1 to 7 (211, 221, 231, 241, 251, 261, and 271) , At least six messages among the seven messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " are obtained.

이로 인해서, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"이 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장이 완료된 이후에 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 로드 명령이 인가되면, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 데이터 트래픽이 가장 낮은 데이터 저장소 2개만을 랜덤하게 선택하여 데이터를 추출함으로써, 6개의 메시지들을 빠르게 로드할 수 있고, 나머지 1개의 메시지는 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 상기 나머지 1개의 메시지가 저장되어 있는 데이터 저장소로부터 추출하게 되면, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 로드를 모두 완료할 수 있다.Therefore, the seven messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " are stored in the data stores 1 to 7 211, 221, 231, 241, 251, 261, 271 ) distributed stored in a, which are of the seven messages after complete when the load instruction for the "m 1, m 2, m 3, m 4, m 5, m 6, m 7" is applied, the data store 1-7 (211 , 6, and 7 can be quickly loaded by randomly selecting only two data stores having the lowest data traffic among the data stores, 221, 231, 241, 251, 261, and 271, M 1 , m 2 , m 3 , and m 3 are extracted from the data storage in which the remaining one message among the first to seventh messages (211, 221, 231, 241, 251, 261, m 4 , m 5 , m 6 , m 7 ".

관련해서, 저장 메시지 추출부(117)는 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"이 분산 저장된 이후, 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 로드 명령이 인가되면, 상기 로드 명령에 기초하여 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 2개의 데이터 저장소들을 랜덤하게 선택하고, 상기 2개의 데이터 저장소들로부터 상기 2개의 데이터 저장소들 각각에 저장되어 있는 4개의 저장 메시지들을 추출할 수 있다.In this regard, the stored message extracting unit 117 extracts the seven messages "m 1 , m 2 , m 3 , m 4 , m 1 , m 2 , m 5, m 6, m 7 "When the dispersion after stored, the which are seven messages" m 1, m 2, m 3, m 4, m 5, m 6, m 7 applied with a load instruction for ", the Randomly selects two data stores out of the data stores 1-7 (211, 221, 231, 241, 251, 261, 271) based on the load command, and selects one of the two data stores It is possible to extract the four stored messages stored in the storage unit.

그리고, 잔여 메시지 추출부(118)는 상기 2개의 데이터 저장소들로부터 추출된 저장 메시지들에 할당되어 있는 인덱스 값과 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 할당되어 있는 인덱스 값을 비교하여 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중 상기 추출된 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 상기 잔여 메시지가 저장되어 있는 어느 하나의 데이터 저장소로부터 상기 잔여 메시지를 추출할 수 있다.The remaining message extracting unit 118 extracts the index values assigned to the stored messages extracted from the two data stores and the seven messages' m 1 , m 2 , m 3 , m 4 , m 5 , to m 6, m 7 "the seven messages, which are compared to the index value assigned to the" m 1, m 2, m 3, m 4, m 5, m 6, m 7 " the extracted stored messages of If there is a remaining message that is not included in the message, it is determined from the data storage 1 to 7 (211, 221, 231, 241, 251, 261, 271) Can be extracted.

그러고 나서, 데이터 로드부(119)는 상기 추출된 저장 메시지들과 상기 추출된 잔여 메시지를 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 로드 명령에 따른 데이터로 로드할 수 있다.Then, the data loading unit 119 stores the extracted stored messages and the extracted remaining messages in the seven messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " Can be loaded into the data according to the load command for the < / RTI >

관련해서, 상기 랜덤하게 선택된 2개의 데이터 저장소를 데이터 저장소 2(221), 데이터 저장소 5(251)라고 하면, 저장 메시지 추출부(117)는 데이터 저장소 2(221)로부터 "m3, m5, m6, m7"을 추출할 수 있고, 데이터 저장소 5(251)로부터 "m2, m3, m4, m7"을 추출할 수 있다.In this regard, if the two randomly selected data stores are referred to as data storage 2 (221) and data storage 5 (251), the storage message extracting unit 117 extracts "m 3 , m 5 , m 6 , m 7 "from the data storage 5 (251) and extract" m 2 , m 3 , m 4 , m 7 "from the data storage 5 251.

이로 인해, 저장 메시지 추출부(117)는 결국, 데이터 저장소 2(221)와 데이터 저장소 5(251)로부터 "m2, m3, m4, m5, m6, m7"을 추출해 낼 수 있다.M 2 , m 3 , m 4 , m 5 , m 6 , m 7 "can be extracted from the data storage 2 221 and the data storage 5 251 have.

이때, 잔여 메시지 추출부(118)는 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 할당되어 있는 인덱스 값과 상기 추출된 "m2, m3, m4, m5, m6, m7"에 할당되어 있는 인덱스 값을 서로 비교하여 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중에서 상기 추출된 "m2, m3, m4, m5, m6, m7"에 포함되어 있지 않은 잔여 메시지를 확인할 수 있다.At this time, the remaining message extraction unit 118, which are of the seven message "m 1, m 2, m 3, m 4, m 5, m 6, m 7" the index value assigned to and the extracted "m 2 , m 3, m 4, m 5, m 6, m 7 " , which are of the seven messages are the index values are compared with each other, which is assigned to the" m 1, m 2, m 3, m 4, m 5, m 6, m 4 , m 5 , m 6 , m 7 "among the extracted messages" m 2 , m 3 , m 4 , m 5 , m 6 , m 7 ".

관련해서, 본 실시예에서는 "m1"이 잔여 메시지이기 때문에 잔여 메시지 추출부(118)는 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 "m1"이 저장되어 있는 어느 하나의 데이터 저장소로부터 "m1"을 추출할 수 있다.In connection, in the present embodiment, the "m 1" since the remaining messages of the residual message extraction unit 118 is the data store 1 ~ 7 (211, 221, 231, 241, 251, 261, 271) "m 1" M1 "can be extracted from any one of the stored data stores.

예컨대, 잔여 메시지 추출부(118)는 데이터 저장소 4(241)로부터 "m1"을 추출할 수 있을 것이다.For example, the residual message extractor 118 may extract "m 1 " from the data store 4 (241).

이렇게, "m2, m3, m4, m5, m6, m7"과 "m1"의 추출이 완료되면, 데이터 로드부(119)는 "m2, m3, m4, m5, m6, m7"과 "m1"을 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"에 대한 로드 명령에 따른 데이터로 로드함으로써, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 오직 3개의 데이터 저장소에만 액세스하는 것만으로 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"을 모두 로드할 수 있다. Thus, "m 2, m 3, m 4, m 5, m 6, m 7" and when "m 1" extraction is completed, data load unit 119 "m 2, m 3, m 4, m 5 , m 6 , m 7 "and" m 1 "as the data according to the load command for the seven messages" m 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 " M 1 , m 2 , m 3 , m 4 ( m 1 , m 2 , m 3 , m 4) can be obtained by accessing only three data stores out of the data stores 1 to 7 (211, 221, 231, 241, 251, 261, , m 5 , m 6 , m 7 "can be loaded.

또한, 본 발명의 일실시예에 따르면, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"을 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 4개씩 분산해서 저장함으로써, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 다수의 데이터 저장소들에 오류가 발생하여 해당 데이터 저장소들에 저장되어 있는 메시지들에 대한 데이터 손실이 발생하더라도 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 오직 두 개의 데이터 저장소만으로부터 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7" 중 적어도 6개의 메시지들을 모두 복원해낼 수 있고, 세 개의 데이터 저장소들로부터는 상기 7개의 메시지들인 "m1, m2, m3, m4, m5, m6, m7"을 모두 복원할 수 있어서, 데이터 손실 피해가 크게 발생하더라도 최소한의 남은 자원으로부터 모든 데이터를 복원해 낼 수 있다.Further, according to one embodiment of the invention, the message distribution storing the data storage device 110, which are of the seven message "m 1, m 2, m 3, m 4, m 5, m 6, m 7" Of the data stores 1 to 7 (211, 221, 231, 241, 251, 261, and 271) by distributing and storing four data in the data stores 1 to 7 (211, 221, 231, 241, 251, 261, Even if there is an error in the plurality of data stores and data loss occurs in the messages stored in the data stores, only two of the data stores 1 to 7 (211, 221, 231, 241, 251, 261, and the number of data the which are seven messages from the storage only to pull restore all of the at least six messages of the "m 1, m 2, m 3, m 4, m 5, m 6, m 7", from the three data storage are the messages which are seven "m 1, m 2, m 3, m 4, m 5, m 6, m 7" the method can be restored, the data loss occurs largely avoided hadeora It can be restored to all of the data at least from the remaining resources.

도 2를 참조해서 지금까지 설명한 실시예는 N(N=2k-1)개의 메시지들을 복수의 데이터 저장소들(101, 102, 103)에 분산 저장해 놓으면, 추후 메시지 로드 또는 복원을 수행할 때, 복수의 데이터 저장소들(101, 102, 103) 중 k-1개의 데이터 저장소들로부터 N-1개의 메시지들을 복원할 수 있는 실시예에 대해 설명하였다.2, when the N (N = 2 k -1) messages are dispersedly stored in a plurality of data stores 101, 102, and 103, when performing message load or restoration at a later time, An embodiment has been described in which N-1 messages can be recovered from k-1 data stores of a plurality of data stores 101, 102, 103.

관련해서, 본 발명의 다른 실시예에 따르면, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 복수의 데이터 저장소들(101, 102, 103)에 저장되어야 할 입력 메시지가 N개가 아니라, N-1개인 경우라면, 추후 메시지 로드 또는 복원을 수행할 때, 복수의 데이터 저장소들(101, 102, 103) 중 k-1개의 데이터 저장소들로부터 N-1개의 입력 메시지들을 모두 복원해낼 수 있는 구성도 포함할 수 있는 바, 이하에서는 이에 대해서 상세히 설명하기로 한다.In this regard, according to another embodiment of the present invention, the data storage device 110 capable of distributing messages can store N-1 (N-1) messages, not N, to be stored in the plurality of data stores 101, In a personal case, it also includes a configuration capable of restoring all N-1 input messages from k-1 of the plurality of data stores 101, 102, 103 when performing message load or restoration at a later time Hereinafter, this will be described in detail.

우선, 본 발명에 따른 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 더미(dummy) 메시지 생성부(120)를 더 포함할 수 있다.First, the data storage device 110 capable of storing and distributing messages according to the present invention may further include a dummy message generating unit 120.

더미 메시지 생성부(120)는 N-1개의 입력 메시지들에 대한 데이터 분산 저장 명령이 인가되면, 상기 N-1개의 입력 메시지들을 모두 논리 연산하여 1개의 더미 메시지를 생성한 후 상기 N-1개의 입력 메시지들과 상기 1개의 더미 메시지를 앞서, 도 2을 이용하여 설명한 실시예에서 사용하였던 상기 N개의 복수의 메시지들로 구성한다.The dummy message generator 120 generates one dummy message by logically operating all of the N-1 input messages when the data distribution storage command for N-1 input messages is applied, The input messages and the one dummy message are composed of the N plurality of messages used in the embodiment described above with reference to FIG.

이때, 본 발명의 일실시예에 따르면, 더미 메시지 생성부(120)는 상기 N-1개의 입력 메시지들을 모두 "XOR"하는 논리 연산을 수행함으로써, 상기 1개의 더미 메시지를 생성할 수 있다.In this case, according to an embodiment of the present invention, the dummy message generator 120 may generate the one dummy message by performing a logic operation to 'XOR' all the N-1 input messages.

그 이후, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 앞서 도 2를 이용하여 설명하였던 동작과 동일하게 메시지 분산부(111)가 상기 N개의 복수의 메시지들을 상기 N개의 복수의 메시지 분산 그룹들에 분산 할당하고, 데이터 저장부(112)가 상기 N개의 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 N개의 복수의 메시지 분산 그룹들 별로, 복수의 데이터 저장소들(101, 102, 103) 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장할 수 있다.2, the message distributing unit 111 distributes the N messages to the N number of message distribution groups (N), and transmits the N messages to the N distributed message groups And the data storage unit 112 distributes messages allocated to the N plurality of message distribution groups to the plurality of data stores 101, 102, 103 ) Can be stored separately in the data repository corresponding to each message distribution group.

이때, 본 발명의 일실시예에 따르면, 저장 메시지 추출부(117)는 상기 N-1개의 입력 메시지들이 상기 더미 메시지와 함께 복수의 데이터 저장소들(101, 102, 103)에 분산 저장된 이후, 상기 N-1개의 입력 메시지들에 대한 로드 명령이 인가되면, 상기 로드 명령에 기초하여 복수의 데이터 저장소들(101, 102, 103) 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출할 수 있다.In this case, according to an embodiment of the present invention, the storage message extractor 117 may store the N-1 input messages in a plurality of data stores 101, 102, and 103 together with the dummy message, (K-1) data stores among a plurality of data stores (101, 102, 103) are randomly selected based on the load command when a load command for N-1 input messages is applied, From the plurality of data stores, a plurality of stored messages stored in each of the k-1 data stores.

이때, 본 발명의 일실시예에 따르면, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N-1개의 입력 메시지들에 할당된 인덱스 값을 비교하여 상기 N-1개의 입력 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 복수의 저장 메시지들에 대해 상기 논리 연산에 기초한 역연산을 수행하여 상기 잔여 메시지를 추측하는 잔여 메시지 추측부(121)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the data storage device 110 capable of distributing a message may store an index value assigned to the extracted plurality of stored messages and an index assigned to the N-1 input messages And if it is determined that there is a remaining message that is not included in the extracted plurality of stored messages among the N-1 input messages, And a residual message estimating unit 121 estimating the residual message by performing an inverse operation.

이때, 데이터 로드부(119)는 상기 추출된 복수의 저장 메시지들과 상기 추측된 잔여 메시지를 상기 N-1개의 입력 메시지들에 대한 로드 명령에 따른 데이터로 로드할 수 있다.At this time, the data loading unit 119 may load the extracted plurality of stored messages and the estimated remaining message as data according to a load command for the N-1 input messages.

이하에서는 복수의 데이터 저장소들(101, 102, 103)에 저장되어야 할 입력 메시지의 개수가 N-1개일 경우에 대한 메시지 분산 저장이 가능한 데이터 저장 장치(110)의 동작에 대해서 도 2를 참조하여 보다 상세하게 설명하기로 한다.Hereinafter, an operation of the data storage device 110 capable of distributing messages in a case where the number of input messages to be stored in the plurality of data stores 101, 102, and 103 is N-1 is described with reference to FIG. 2 Will be described in more detail.

우선, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 저장할 입력 메시지들의 개수가 6개인 것으로 가정하자.First, assume that the number of input messages to be stored in the data repositories 1 to 7 (211, 221, 231, 241, 251, 261, and 271) is six.

이때, 인덱스 할당부(116)는 상기 6개의 입력 메시지들에 대해서 순번 정보와 연관된 인덱스 값을 할당할 수 있는데, 인덱스 할당부(116)가 상기 6개의 입력 메시지들에 대해 순서대로 1부터 6까지의 인덱스 값을 할당한다고 하면, 상기 6개의 입력 메시지들은 "m1, m2, m3, m4, m5, m6"로 표시할 수 있다.At this time, the index assigning unit 116 may assign an index value associated with the order information to the six input messages. The index assigning unit 116 assigns index information related to the six input messages in order from 1 to 6 M 1 , m 2 , m 3 , m 4 , m 5 , m 6 ", the six input messages can be expressed as" m 1 , m 2 , m 3 , m 4 , m 5 , m 6 ".

이때, 더미 메시지 생성부(120)는 상기 6개의 입력 메시지들인 "m1, m2, m3, m4, m5, m6"를 모두 순차적으로 "XOR" 논리 연산을 수행하여 "m7"이라는 1개의 더미 메시지를 생성할 수 있다.At this time, the dummy message generator 120 which includes the six input message "m 1, m 2, m 3, m 4, m 5, m 6" to the both do the "XOR" logical operation in sequence "m 7 "≪ / RTI >

그 이후, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 상기 6개의 입력 메시지들과 상기 1개의 더미 메시지를 "m1, m2, m3, m4, m5, m6, m7"이라는 7개의 메시지들로 취급해서 앞서 도 2를 이용하여 설명하였던 실시예와 같이, "m1, m2, m3, m4, m5, m6, m7"이라는 메시지들을 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장하는 과정과 동일한 과정을 수행할 수 있다.M 1 , m 2 , m 3 , m 4 , m 5 , m 6 , m 7 , and so on. The data storage device 110, named as examples who explained with using the second prior to treatment with the 7 message, "m 1, m 2, m 3, m 4, m 5, m 6, m 7" of the data store, the message 1 and 7 (211, 221, 231, 241, 251, 261, 271).

즉, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 "m1, m2, m3, m4, m5, m6, m7"이라는 상기 6개의 입력 메시지들과 1개의 더미 메시지가 포함된 7개의 메시지들을 m-시퀀스에 기초하여 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)에 4개씩 분산 할당한 후 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 4개씩 분산 저장하는 과정을 수행할 수 있다.That is, the message distribution storing the data storage device 110 is "m 1, m 2, m 3, m 4, m 5, m 6, m 7" of the six input messages and one pile comprising a message Four messages are distributed and distributed in seven message distribution groups 213, 223, 233, 243, 253, 263, and 273 based on the m-sequence, and then the data stores 1 to 7 (211, 221, 231 , 241, 251, 261, 271).

메시지 분산 저장이 가능한 데이터 저장 장치(110)가 "m1, m2, m3, m4, m5, m6, m7"이라는 상기 6개의 입력 메시지들과 1개의 더미 메시지를 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장하는 과정은 앞서 도 2를 이용하여 설명한 "m1, m2, m3, m4, m5, m6, m7"이라는 7개의 메시지들을 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장하는 과정과 동일하므로, 자세한 설명은 생략하기로 한다.Message distributed storage is a data storage device 110 is "m 1, m 2, m 3, m 4, m 5, m 6, m 7" of the six input messages and one dummy message data storage 1 M 2 , m 3 , m 4 , m 5 , m 6 , and m (m 1 , m 2 , m 3 , m 4 , 7 "are distributed and stored in the data repositories 1 to 7 (211, 221, 231, 241, 251, 261, and 271), and therefore detailed description thereof will be omitted.

이렇게, "m1, m2, m3, m4, m5, m6, m7"이라는 상기 6개의 입력 메시지들과 1개의 더미 메시지가 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장이 완료된 이후, "m1, m2, m3, m4, m5, m6"이라는 상기 6개의 입력 메시지들에 대한 로드 명령이 인가되면, 저장 메시지 추출부(117)는 상기 로드 명령에 기초하여 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 2개의 데이터 저장소들을 랜덤하게 선택하고, 상기 2개의 데이터 저장소들로부터 상기 2개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출할 수 있다. Thus, "m 1, m 2, m 3, m 4, m 5, m 6, m 7" to the six input message and the one dummy message data store 1-7 (211, 221, 231, 241 of M 1 , m 2 , m 3 , m 4 , m 5 , m 6 "after the distributed storage is completed in the storage messages 251, 261, The extracting unit 117 randomly selects two data stores out of the data stores 1 to 7 (211, 221, 231, 241, 251, 261 and 271) based on the load command, And may extract a plurality of stored messages stored in each of the two data stores.

관련해서, 저장 메시지 추출부(117)가 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 데이터 저장소 2(221)와 데이터 저장소 6(261)을 선택하였다고 가정하면, 저장 메시지 추출부(117)는 데이터 저장소 2(221)로부터 "m3, m5, m6, m7"을 추출할 수 있고, 데이터 저장소 6(261)으로부터 "m1, m2, m3, m6"을 추출할 수 있다.Assuming that the stored message extractor 117 selects the data storage 2 221 and the data storage 6 261 among the data storage 1 to 7 (211, 221, 231, 241, 251, 261, and 271) , The storage message extracting unit 117 can extract "m 3 , m 5 , m 6 , m 7 " from the data storage 2 221 and extract "m 1 , m 2 , m 3 , m 6 "can be extracted.

이로 인해, 결국, 저장 메시지 추출부(117)는 데이터 저장소 2(221)와 데이터 저장소 6(261)으로부터 "m1, m2, m3, m5, m6, m7"을 추출할 수 있다.Because of this, after all, stored message extraction unit 117 is a data store 2 221 and data store 6 from the (261) "m 1, m 2, m 3, m 5, m 6, m 7" to be extracted have.

이때, 잔여 메시지 추측부(121)는 상기 추출된 "m1, m2, m3, m5, m6, m7"에 할당되어 있는 인덱스 값과 상기 6개의 입력 메시지들인 "m1, m2, m3, m4, m5, m6"에 할당되어 있는 인덱스 값을 비교하여 상기 6개의 입력 메시지들인 "m1, m2, m3, m4, m5, m6" 중 상기 추출된 "m1, m2, m3, m5, m6, m7"에 포함되어 있지 않은 잔여 메시지가 존재하는지 확인할 수 있다.At this time, the remaining message guess unit 121 the extracted "m 1, m 2, m 3, m 5, m 6, m 7" , which are the index value and the six input message that is assigned to the "m 1, m 2, m 3, m 4, m 5, m 6 " , which are the six input message by comparing the index value assigned to the" m 1, m 2, m 3, m 4, m 5, m 6 " of the It is possible to check whether there is a residual message not included in the extracted "m 1 , m 2 , m 3 , m 5 , m 6 , m 7 ".

본 실시예에서는 잔여 메시지 추측부(121)가 상기 추출된 "m1, m2, m3, m5, m6, m7"에서 "m4"가 포함되어 있지 않는 것으로 확인할 수 있다.In the present embodiment, it can be confirmed that the residual message estimating unit 121 does not include "m 4 " in the extracted "m 1 , m 2 , m 3 , m 5 , m 6 , m 7 ".

이때, 잔여 메시지 추측부(121)는 상기 잔여 메시지인 "m4"를 추측해 내기 위해서, "m1, m2, m3, m5, m6, m7"에 대해 상기 더미 메시지인 "m7"을 생성하기 위해 수행하였던 "XOR" 논리 연산에 대한 역연산을 수행함으로써, 상기 잔여 메시지인 "m4"를 추측해 낼 수 있다.At this time, the remaining message guess portion 121 the dummy messages for the order to guess the "m 4" is the residual message, "m 1, m 2, m 3, m 5, m 6, m 7"" m 7 are the "who perform in order to generate" XOR "by performing the inverse operation of the logical operation, wherein the residual message" m 4 "can guess.

즉, 상기 더미 메시지인 "m7"은 "m1 XOR m2 XOR m3 XOR m4 XOR m5 XOR m6"로 연산되어 생성된 메시지이므로, "m1, m2, m3, m5, m6, m7"을 알고 있다면, 상기 더미 메시지인 "m7"을 생성하기 위해서 연산하였던 논리 연산에 대한 역연산을 수행함으로써, 상기 잔여 메시지인 "m4"를 연산할 수 있으므로, 잔여 메시지 추측부(121)는 "m1, m2, m3, m5, m6, m7"에 대해 상기 더미 메시지인 "m7"을 생성하기 위해 수행하였던 "XOR" 논리 연산에 대한 역연산을 수행함으로써, 상기 잔여 메시지인 "m4"를 추측해 낼 수 있다.That is, the dummy message of "m 7" is because it is "m 1 XOR m 2 XOR m 3 XOR m 4 XOR m 5 XOR m 6" is calculated in the generated message, "m 1, m 2, m 3, m 5 , m 6 , m 7 "are known, the remaining message" m 4 "can be calculated by performing an inverse operation on the logical operation that was calculated to generate the dummy message" m 7 " The message estimating unit 121 calculates the difference between the inverse of the "XOR" logical operation performed to generate the dummy message "m 7 " for "m 1 , m 2 , m 3 , m 5 , m 6 , m 7 " by carrying out the operation, it can be a guess of the residual message "m 4".

그 이후, 데이터 로드부(119)는 데이터 저장소 2(221)와 데이터 저장소 6(261)에서 추출된 "m1, m2, m3, m5, m6"과 상기 추측한 "m4"를 "m1, m2, m3, m4, m5, m6"이라는 상기 6개의 입력 메시지들에 대한 로드 명령에 따른 데이터로 로드할 수 있다.After that, the data load unit 119 is extracted from the data store 2 221 and data store 6 (261) "m 1, m 2, m 3, m 5, m 6" and the inferred "m 4" Can be loaded into the data according to the load command for the six input messages "m 1 , m 2 , m 3 , m 4 , m 5 , m 6 ".

결국, 본 발명에 따른 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 7개의 메시지들에 대해서 7개의 m-시퀀스에 기초하여 7개의 메시지 분산 그룹들(213, 223, 233, 243, 253, 263, 273)에 분산 할당한 후 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장하면, 추후 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 두 개의 데이터 저장소들로부터 메시지를 추출하기만 하면, 상기 m-시퀀스의 특성상 상기 7개의 메시지들 중 적어도 6개의 메시지들을 모두 추출할 수 있기 때문에, 저장 대상이 되는 입력 데이터가 6개인 경우, 상기 6개의 입력 데이터들을 논리 연산하여 1개의 더미 데이터를 생성하여 7개의 데이터들로 만든 후 상기 7개의 데이터들을 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 분산 저장함으로써, 추후 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 두 개의 데이터 저장소들만에 대해서 액세스를 함으로써, 6개의 메시지들을 추출할 수 있고, 상기 추출된 6개의 메시지들 중 입력 데이터에 포함되지 못한 잔여 데이터가 있다면, 해당 잔여 데이터는 상기 더미 데이터를 기초로 한 논리 연산에 대한 역연산을 수행함으로써 추측할 수 있어, 최소의 데이터 저장소에 대한 액세스만으로 상기 6개의 입력 데이터들을 모두 로드해 낼 수 있다.As a result, the data storage device 110 capable of distributing messages according to the present invention can store seven message distribution groups 213, 223, 233, 243, 253, and 263 based on seven m- And 273 are distributed and stored in the data stores 1 to 7 (211, 221, 231, 241, 251, 261 and 271), the data stores 1 to 7 (211, 221, 231, 241, 251, 261, and 271, it is possible to extract at least six messages out of the seven messages on the basis of the characteristics of the m-sequence. Therefore, when the input data to be stored is 6 In the personal case, the six input data are logically operated to generate one piece of dummy data into seven pieces of data, and the seven pieces of data are stored in the data stores 1 to 7 (211, 221, 231, 241, 251, 261, 271 ) To store data in the later data stores 1 to 7 (211, 221, 231, 241, 251 , 261, and 271, and if there are remaining data that can not be included in the input data among the six extracted messages, It is possible to infer by performing an inverse operation on the logic operation based on the dummy data and load all the six input data only by accessing the minimum data storage.

또한, 본 발명의 일실시예에 따르면, 메시지 분산 저장이 가능한 데이터 저장 장치(110)는 상기 6개의 입력 메시지들인 "m1, m2, m3, m4, m5, m6"과 상기 1개의 더미 메시지인 "m7"을 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271)에 4개씩 분산해서 저장함으로써, 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 다수의 데이터 저장소들에 오류가 발생하여 해당 데이터 저장소들에 저장되어 있는 메시지들에 대한 데이터 손실이 발생하더라도 데이터 저장소 1~7(211, 221, 231, 241, 251, 261, 271) 중 오직 두 개의 데이터 저장소만으로부터 상기 6개의 입력 메시지들인 "m1, m2, m3, m4, m5, m6"을 모두 복원해 낼 수 있어서, 데이터 손실 피해가 크게 발생하더라도 최소한의 남은 자원으로부터 모든 입력 데이터들을 복원해 낼 수 있다.Further, according to one embodiment of the invention, which are messages distributed storage is a data storage device 110 includes the six input message "m 1, m 2, m 3, m 4, m 5, m 6" and the one dummy message is "m 7" to the data store 1-7 (211, 221, 231, 241, 251, 261, 271), by storing to 4 per dispersed in, a data store 1-7 (211, 221, 231, 231, 241, and 241 even if data loss occurs in the messages stored in the corresponding data stores due to an error in the plurality of data stores among the data stores 1 to 7 (211, 221, 231, 241, M 1 , m 2 , m 3 , m 4 , m 5 , m 6 ", which are the above six input messages, can be restored from only two of the data storage devices 251, 261, It is possible to restore all the input data from the minimum remaining resources.

도 3은 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법을 도시한 순서도이다.3 is a flowchart illustrating a data storage method capable of distributing a message according to an embodiment of the present invention.

단계(S310)에서는 복수의 데이터 저장소들에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 상기 복수의 데이터 저장소들에 저장할 복수의 메시지들을 선정된 개수만큼 분산 할당한다.In step S310, a plurality of message distribution groups corresponding to the plurality of data stores are created, and a plurality of messages to be stored in the plurality of data stores are distributedly allocated to the plurality of message distribution groups by a predetermined number .

여기서, 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있다.Here, messages distributedly allocated to the plurality of message distribution groups may overlap each other.

단계(S320)에서는 상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 상기 복수의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.In step S320, the messages allocated to the plurality of message distribution groups are separately stored in the plurality of message distribution groups in the data storage corresponding to each message distribution group among the plurality of data stores.

이때, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 복수의 메시지들의 개수가 N(N은 N=2k-1의 조건을 만족하는 자연수이고, k는 2이상의 자연수임)개인 경우, N개의 "1"과 "0"의 코드 값으로 구성된 m-시퀀스를 N개 생성하는 단계, 상기 복수의 메시지 분산 그룹들을 N개 생성하고, 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해 상기 N개의 m-시퀀스들을 하나씩 매칭시키는 단계 및 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값에 기초하여 상기 복수의 메시지들을

Figure 112016008798744-pat00022
개씩 분산 할당하는 단계를 포함할 수 있다.According to an embodiment of the present invention, in step S310, when the number of the plurality of messages is N (N is a natural number satisfying a condition of N = 2 k- 1 and k is a natural number of 2 or more) Generating N number of m-sequences each consisting of N "1" and "0" code values, generating N pieces of the plurality of message distribution groups, and for each of the N number of message distribution groups, For each of the N plurality of message distribution groups, for each of the N number of message distribution groups based on N code values constituting an m-sequence matched to each of the N plurality of message distribution groups, The plurality of messages
Figure 112016008798744-pat00022
And distributing each of the plurality of data.

또한, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 복수의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the step S310 may further include the step of assigning an index value associated with the order information to each of the plurality of messages.

이때, 상기

Figure 112016008798744-pat00023
개씩 분산 할당하는 단계는 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 복수의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 복수의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 복수의 메시지들을 분산 할당할 수 있다.At this time,
Figure 112016008798744-pat00023
Wherein each of the N number of message distribution groups includes an N number of code value constructing an m-sequence matched with each of the N number of message distribution groups, And distributes the plurality of messages based on a code value of an array order that matches an index value assigned to the plurality of messages after comparing the index values assigned to the messages.

이때, 본 발명의 일실시예에 따르면, 상기

Figure 112016008798744-pat00024
개씩 분산 할당하는 단계는 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값 중
Figure 112016008798744-pat00025
개씩 존재하는 "1"의 코드 값을 확인한 후 상기 복수의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는
Figure 112016008798744-pat00026
개의 메시지들을 할당할 수 있다.At this time, according to an embodiment of the present invention,
Figure 112016008798744-pat00024
Wherein each of the N number of message distribution groups includes at least one of N code values constituting an m-sequence matched to each of the N plurality of message distribution groups,
Figure 112016008798744-pat00025
Quot; 1 "existing in the message list, and then an index value that matches the code order of the code value of" 1 "among the plurality of messages is allocated
Figure 112016008798744-pat00026
Lt; / RTI > messages.

또한, 본 발명의 일실시예에 따르면, 상기 메시지 분산 저장이 가능한 데이터 저장 방법은 상기 복수의 데이터 저장소들에 상기 복수의 메시지들이 분산 저장된 이후, 상기 복수의 메시지들에 대한 로드 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 단계, 상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 복수의 메시지들의 인덱스 값을 비교하여 상기 복수의 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 복수의 데이터 저장소들 중 상기 잔여 메시지가 저장되어 있는 어느 하나의 데이터 저장소로부터 상기 잔여 메시지를 추출하는 단계 및 상기 추출된 복수의 저장 메시지들과 상기 추출된 잔여 메시지를 상기 복수의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a data storage method capable of distributing a message, wherein when the load command for the plurality of messages is applied after the plurality of messages are distributed to the plurality of data stores, Randomly selecting k-1 data stores of the plurality of data stores based on the load command, selecting a plurality of k-1 data stores stored in each of the k-1 data stores from the k-1 data stores, Comparing the index value assigned to the extracted plurality of stored messages with the index value of the plurality of messages to determine whether the plurality of stored messages are not included in the extracted plurality of stored messages If it is determined that a residual message is present, the remaining one of the plurality of data stores Extracting the residual message from any one of the stored data stores and loading the extracted plurality of stored messages and the extracted residual message with data according to a load command for the plurality of messages .

또한, 본 발명의 일실시예에 따르면, 상기 메시지 분산 저장이 가능한 데이터 저장 방법은 단계(S310)이전에 N-1개의 입력 메시지들에 대한 데이터 분산 저장 명령이 인가되면, 상기 N-1개의 입력 메시지들을 모두 논리 연산하여 1개의 더미 메시지를 생성한 후 상기 N-1개의 입력 메시지들과 상기 1개의 더미 메시지를 상기 N개의 복수의 메시지들로 구성하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, when the data distribution storage command for N-1 input messages is applied prior to step S310, Generating a single dummy message by logically computing all of the messages, and constructing the N-1 input messages and the one dummy message into the N plurality of messages.

이때, 본 발명의 일실시예에 따르면, 상기 메시지 분산 저장이 가능한 데이터 저장 방법은 상기 N-1개의 입력 메시지들이 상기 더미 메시지와 함께 상기 복수의 데이터 저장소들에 분산 저장된 이후, 상기 N-1개의 입력 메시지들에 대한 로드 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 단계, 상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N-1개의 입력 메시지들에 할당된 인덱스 값을 비교하여 상기 N-1개의 입력 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 복수의 저장 메시지들에 대해 상기 논리 연산에 기초한 역연산을 수행하여 상기 잔여 메시지를 추측하는 단계 및 상기 추출된 복수의 저장 메시지들과 상기 추측된 잔여 메시지를 상기 N-1개의 입력 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, there is provided a data storage method capable of distributing a message, wherein the N-1 input messages are distributed to the plurality of data stores together with the dummy message, Selecting one of the k-1 data stores out of the plurality of data stores based on the load command when the load command for the input messages is granted, Extracting a plurality of stored messages stored in each of the data stores, comparing an index value assigned to the extracted plurality of stored messages with an index value assigned to the N-1 input messages, If it is determined that there is a remaining message that is not included in the extracted plurality of stored messages, Performing an inverse operation based on the logical operation on a plurality of stored stored messages to infer the residual message and transmitting the extracted plurality of stored messages and the estimated residual message to the N-1 input messages To the data according to the load instruction for the load instruction.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법은 도 1과 도 2를 이용하여 설명한 메시지 분산 저장이 가능한 데이터 저장 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Hereinabove, a data storage method capable of distributing a message according to an embodiment of the present invention has been described with reference to FIG. Here, the data storage method capable of distributing a message according to an embodiment of the present invention can correspond to the configuration of the operation of the data storage device 110 capable of storing and distributing messages described with reference to FIG. 1 and FIG. 2, A detailed description thereof will be omitted.

본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A data storage method capable of distributing a message according to an embodiment of the present invention can be realized by a computer program stored in a storage medium for execution through a combination with a computer.

또한, 본 발명의 일실시예에 따른 메시지 분산 저장이 가능한 데이터 저장 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, a data storage method capable of storing distributed messages according to an embodiment of the present invention may be implemented in a form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific constituent elements, and limited embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

101, 102, 103: 복수의 데이터 저장소들
110: 메시지 분산 저장이 가능한 데이터 저장 장치
111: 메시지 분산부 112: 데이터 저장부
113: 시퀀스 생성부 114: 시퀀스 매칭부
115: 분산 할당부 116: 인덱스 할당부
117: 저장 메시지 추출부 118: 잔여 메시지 추출부
119: 데이터 로드부 120: 더미(dummy) 메시지 생성부
121: 잔여 메시지 추측부
101, 102, 103: a plurality of data stores
110: Data storage device capable of distributing messages
111: message distribution unit 112: data storage unit
113: Sequence generation unit 114: Sequence matching unit
115: distribution allocation unit 116: index allocation unit
117: stored message extracting unit 118: residual message extracting unit
119: Data loading unit 120: Dummy message generating unit
121: Residual message guessing part

Claims (16)

복수의 데이터 저장소들에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 상기 복수의 데이터 저장소들에 저장할 복수의 메시지들을 선정된(predetermined) 개수만큼 분산 할당 - 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산부; 및
상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 상기 복수의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부
를 포함하고,
상기 메시지 분산부는
상기 복수의 메시지들의 개수가 N(N은 N=2k-1의 조건을 만족하는 자연수이고, k는 2이상의 자연수임)개인 경우, N개의 "1"과 "0"의 코드 값으로 구성된 m-시퀀스(sequence)를 N개 생성하는 시퀀스 생성부;
상기 복수의 메시지 분산 그룹들을 N개 생성하고, 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해 상기 N개의 m-시퀀스들을 하나씩 매칭시키는 시퀀스 매칭부;
상기 복수의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 인덱스 할당부; 및
상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 복수의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 복수의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 복수의 메시지들을
Figure 112016128394277-pat00038
개씩 분산 할당하는 분산 할당부
를 포함하며,
상기 분산 할당부는
상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값 중
Figure 112016128394277-pat00039
개씩 존재하는 "1"의 코드 값을 확인한 후 상기 복수의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는
Figure 112016128394277-pat00040
개의 메시지들을 할당하는 메시지 분산 저장이 가능한 데이터 저장 장치.
A plurality of message distribution groups corresponding to a plurality of data stores, and distributing a predetermined number of a plurality of messages to be stored in the plurality of data stores for the plurality of message distribution groups, The messages distributed to the message distribution groups may be overlapped with each other; And
A data storage unit for separating messages allocated to each of the plurality of message distribution groups into a plurality of data distribution groups corresponding to the plurality of message distribution groups,
Lt; / RTI >
The message distributor
When the number of the plurality of messages is N (N is a natural number satisfying a condition of N = 2 k -1 and k is a natural number of 2 or more), m A sequence generator for generating N sequences;
A sequence matching unit for generating N message distribution groups and matching the N m-sequences one by one for each of the N plurality of message distribution groups;
An index assigning unit for assigning an index value associated with the order information to each of the plurality of messages; And
For each of the N plurality of message distribution groups, an arrangement order of N code values constituting an m-sequence matched to each of the N plurality of message distribution groups, and an allocation order of N code values allocated to each of the plurality of messages And comparing the index values of the plurality of messages with the index values of the plurality of messages,
Figure 112016128394277-pat00038
A distributed allocation unit
/ RTI >
The dispersion allocator
For each of the N plurality of message distribution groups, among N code values constituting an m-sequence matched to each of the N plurality of message distribution groups
Figure 112016128394277-pat00039
Quot; 1 "existing in the message list, and then an index value that matches the code order of the code value of" 1 "among the plurality of messages is allocated
Figure 112016128394277-pat00040
A message storage device capable of storing distributed messages.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 복수의 데이터 저장소들에 상기 복수의 메시지들이 분산 저장된 이후, 상기 복수의 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 저장 메시지 추출부;
상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 복수의 메시지들의 인덱스 값을 비교하여 상기 복수의 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 복수의 데이터 저장소들 중 상기 잔여 메시지가 저장되어 있는 어느 하나의 데이터 저장소로부터 상기 잔여 메시지를 추출하는 잔여 메시지 추출부; 및
상기 추출된 복수의 저장 메시지들과 상기 추출된 잔여 메시지를 상기 복수의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 데이터 로드부
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 장치.
The method according to claim 1,
Wherein when a load command is applied to the plurality of messages after the plurality of messages are dispersedly stored in the plurality of data stores, k-1 data among the plurality of data stores based on the load command A storage message extractor for randomly selecting the stores and extracting a plurality of stored messages stored in each of the k-1 data stores from the k-1 data stores;
And comparing the index value assigned to the extracted plurality of stored messages with the index value of the plurality of messages to determine that there is a remaining message that is not included in the extracted plurality of stored messages A remaining message extracting unit for extracting the remaining message from any one of the plurality of data stores and storing the remaining messages; And
A data load unit for loading the extracted plurality of stored messages and the extracted residual message into data according to a load command for the plurality of messages,
And a data storage device capable of storing distributed messages.
제1항에 있어서,
N-1개의 입력 메시지들에 대한 데이터 분산 저장 명령이 인가되면, 상기 N-1개의 입력 메시지들을 모두 논리 연산하여 1개의 더미(dummy) 메시지를 생성한 후 상기 N-1개의 입력 메시지들과 상기 1개의 더미 메시지를 상기 N개의 복수의 메시지들로 구성하는 더미 메시지 생성부
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 장치.
The method according to claim 1,
The method of claim 1, further comprising: generating a dummy message by logically operating all of the N-1 input messages when a data distribution store command for N-1 input messages is applied, A dummy message generation unit configured to generate one dummy message with the N number of messages,
And a data storage device capable of storing distributed messages.
제6항에 있어서,
상기 N-1개의 입력 메시지들이 상기 더미 메시지와 함께 상기 복수의 데이터 저장소들에 분산 저장된 이후, 상기 N-1개의 입력 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 저장 메시지 추출부;
상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N-1개의 입력 메시지들에 할당된 인덱스 값을 비교하여 상기 N-1개의 입력 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 복수의 저장 메시지들에 대해 상기 논리 연산에 기초한 역연산을 수행하여 상기 잔여 메시지를 추측하는 잔여 메시지 추측부; 및
상기 추출된 복수의 저장 메시지들과 상기 추측된 잔여 메시지를 상기 N-1개의 입력 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 데이터 로드부
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 장치.
The method according to claim 6,
Wherein when a load command for the N-1 input messages is applied after the N-1 input messages are distributed to the plurality of data stores along with the dummy message, Randomly selecting k-1 data stores from among a plurality of data stores, extracting a stored message from the k-1 data stores to extract a plurality of stored messages stored in each of the k-1 data stores, part;
The index value assigned to the extracted plurality of stored messages is compared with the index value assigned to the N-1 input messages, and included in the extracted plurality of stored messages among the N-1 input messages A residual message estimator for estimating the residual message by performing an inverse operation based on the logical operation on the extracted plurality of stored messages if it is determined that a remaining message is not present; And
A data loading unit for loading the extracted plurality of stored messages and the estimated residual message into data according to a load instruction for the N-1 input messages,
And a data storage device capable of storing distributed messages.
복수의 데이터 저장소들에 대응하는 복수의 메시지 분산 그룹들을 생성하고, 상기 복수의 메시지 분산 그룹들에 대해 상기 복수의 데이터 저장소들에 저장할 복수의 메시지들을 선정된(predetermined) 개수만큼 분산 할당 - 상기 복수의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계; 및
상기 복수의 메시지 분산 그룹들 각각에 할당되어 있는 메시지들을 상기 복수의 메시지 분산 그룹들 별로, 상기 복수의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계
를 포함하고,
상기 선정된 개수만큼 분산 할당하는 단계는
상기 복수의 메시지들의 개수가 N(N은 N=2k-1의 조건을 만족하는 자연수이고, k는 2이상의 자연수임)개인 경우, N개의 "1"과 "0"의 코드 값으로 구성된 m-시퀀스(sequence)를 N개 생성하는 단계;
상기 복수의 메시지 분산 그룹들을 N개 생성하고, 상기 N개의 복수의 메시지 분산 그룹들 각각에 대해 상기 N개의 m-시퀀스들을 하나씩 매칭시키는 단계;
상기 복수의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 단계; 및
상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 복수의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 복수의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 복수의 메시지들을
Figure 112016128394277-pat00041
개씩 분산 할당하는 단계
를 포함하며,
상기
Figure 112016128394277-pat00042
개씩 분산 할당하는 단계는
상기 N개의 복수의 메시지 분산 그룹들 각각에 대해, 상기 N개의 복수의 메시지 분산 그룹들 각각에 매칭되어 있는 m-시퀀스를 구성하는 N개의 코드 값 중
Figure 112016128394277-pat00043
개씩 존재하는 "1"의 코드 값을 확인한 후 상기 복수의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는
Figure 112016128394277-pat00044
개의 메시지들을 할당하는 메시지 분산 저장이 가능한 데이터 저장 방법.
A plurality of message distribution groups corresponding to a plurality of data stores, and distributing a predetermined number of a plurality of messages to be stored in the plurality of data stores for the plurality of message distribution groups, The messages distributed over the message distribution groups may overlap each other; And
Separating messages assigned to each of the plurality of message distribution groups into a plurality of message distribution groups and storing the messages in a data storage corresponding to each message distribution group among the plurality of data stores,
Lt; / RTI >
The step of distributing and allocating as many as the predetermined number
When the number of the plurality of messages is N (N is a natural number satisfying a condition of N = 2 k -1 and k is a natural number of 2 or more), m - generating N sequences;
Generating N of the plurality of message distribution groups, and matching the N m-sequences one by one for each of the N plurality of message distribution groups;
Assigning an index value associated with the order information to each of the plurality of messages; And
For each of the N plurality of message distribution groups, an arrangement order of N code values constituting an m-sequence matched to each of the N plurality of message distribution groups, and an allocation order of N code values allocated to each of the plurality of messages And comparing the index values of the plurality of messages with the index values of the plurality of messages,
Figure 112016128394277-pat00041
Distributed allocation
/ RTI >
remind
Figure 112016128394277-pat00042
The steps of distributing
For each of the N plurality of message distribution groups, among N code values constituting an m-sequence matched to each of the N plurality of message distribution groups
Figure 112016128394277-pat00043
Quot; 1 "existing in the message list, and then an index value that matches the code order of the code value of" 1 "among the plurality of messages is allocated
Figure 112016128394277-pat00044
A method of storing data capable of distributing a message allocating a plurality of messages.
삭제delete 삭제delete 삭제delete 제8항에 있어서,
상기 복수의 데이터 저장소들에 상기 복수의 메시지들이 분산 저장된 이후, 상기 복수의 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 단계;
상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 복수의 메시지들의 인덱스 값을 비교하여 상기 복수의 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 복수의 데이터 저장소들 중 상기 잔여 메시지가 저장되어 있는 어느 하나의 데이터 저장소로부터 상기 잔여 메시지를 추출하는 단계; 및
상기 추출된 복수의 저장 메시지들과 상기 추출된 잔여 메시지를 상기 복수의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 단계
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 방법.
9. The method of claim 8,
Wherein when a load command is applied to the plurality of messages after the plurality of messages are dispersedly stored in the plurality of data stores, k-1 data among the plurality of data stores based on the load command Randomly selecting repositories and extracting a plurality of stored messages stored in each of said k-1 data stores from said k-1 data stores;
And comparing the index value assigned to the extracted plurality of stored messages with the index value of the plurality of messages to determine that there is a remaining message that is not included in the extracted plurality of stored messages Extracting the remaining message from any one of the plurality of data stores and storing the remaining message; And
Loading the extracted plurality of stored messages and the extracted residual message into data according to a load command for the plurality of messages
And storing the message in a storage medium.
제8항에 있어서,
N-1개의 입력 메시지들에 대한 데이터 분산 저장 명령이 인가되면, 상기 N-1개의 입력 메시지들을 모두 논리 연산하여 1개의 더미(dummy) 메시지를 생성한 후 상기 N-1개의 입력 메시지들과 상기 1개의 더미 메시지를 상기 N개의 복수의 메시지들로 구성하는 단계
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 방법.
9. The method of claim 8,
The method of claim 1, further comprising: generating a dummy message by logically operating all of the N-1 input messages when a data distribution store command for N-1 input messages is applied, Configuring one dummy message as the N plurality of messages
And storing the message in a storage medium.
제13항에 있어서,
상기 N-1개의 입력 메시지들이 상기 더미 메시지와 함께 상기 복수의 데이터 저장소들에 분산 저장된 이후, 상기 N-1개의 입력 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 복수의 데이터 저장소들 중 k-1개의 데이터 저장소들을 랜덤하게 선택하고, 상기 k-1개의 데이터 저장소들로부터 상기 k-1개의 데이터 저장소들 각각에 저장되어 있는 복수의 저장 메시지들을 추출하는 단계;
상기 추출된 복수의 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N-1개의 입력 메시지들에 할당된 인덱스 값을 비교하여 상기 N-1개의 입력 메시지들 중 상기 추출된 복수의 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 복수의 저장 메시지들에 대해 상기 논리 연산에 기초한 역연산을 수행하여 상기 잔여 메시지를 추측하는 단계; 및
상기 추출된 복수의 저장 메시지들과 상기 추측된 잔여 메시지를 상기 N-1개의 입력 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 단계
를 더 포함하는 메시지 분산 저장이 가능한 데이터 저장 방법.
14. The method of claim 13,
Wherein when a load command for the N-1 input messages is applied after the N-1 input messages are distributed to the plurality of data stores along with the dummy message, Randomly selecting k-1 data stores among a plurality of data stores, extracting a plurality of stored messages stored in each of the k-1 data stores from the k-1 data stores,
The index value assigned to the extracted plurality of stored messages is compared with the index value assigned to the N-1 input messages, and included in the extracted plurality of stored messages among the N-1 input messages Performing a reverse operation based on the logical operation on the extracted plurality of stored messages to infer the residual message if it is determined that a remaining message is not present; And
Loading the extracted plurality of stored messages and the estimated remaining message as data according to a load command for the N-1 input messages
And storing the message in a storage medium.
제8항, 제12항, 제13항 또는 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the method of any one of claims 8, 12, 13, and 14. 제8항, 제12항, 제13항 또는 제14항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 8, 12, 13 or 14 in combination with a computer.
KR1020160009762A 2016-01-27 2016-01-27 Data storage apparatus and method for storing a message dispersedly KR101738415B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160009762A KR101738415B1 (en) 2016-01-27 2016-01-27 Data storage apparatus and method for storing a message dispersedly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160009762A KR101738415B1 (en) 2016-01-27 2016-01-27 Data storage apparatus and method for storing a message dispersedly

Publications (1)

Publication Number Publication Date
KR101738415B1 true KR101738415B1 (en) 2017-05-22

Family

ID=59050244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160009762A KR101738415B1 (en) 2016-01-27 2016-01-27 Data storage apparatus and method for storing a message dispersedly

Country Status (1)

Country Link
KR (1) KR101738415B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104034A (en) * 2019-02-26 2020-09-03 전남대학교산학협력단 Data distribution storage apparatus and method using partitioned iteration code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101460062B1 (en) * 2013-06-21 2014-11-10 한국항공대학교산학협력단 System for storing distributed video file in HDFS(Hadoop Distributed File System), video map-reduce system and providing method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101460062B1 (en) * 2013-06-21 2014-11-10 한국항공대학교산학협력단 System for storing distributed video file in HDFS(Hadoop Distributed File System), video map-reduce system and providing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104034A (en) * 2019-02-26 2020-09-03 전남대학교산학협력단 Data distribution storage apparatus and method using partitioned iteration code
KR102197993B1 (en) 2019-02-26 2021-01-04 전남대학교산학협력단 Data distribution storage apparatus and method using partitioned iteration code

Similar Documents

Publication Publication Date Title
US8077863B2 (en) Secret sharing apparatus, method, and program
CN113726751B (en) Weight management method, device and equipment in block chain type account book
CN110930145B (en) Cold wallet generation method, transaction information processing method, device and storage medium
CN105573734B (en) method and equipment for providing SDK file
US9317252B2 (en) Methods, systems, and computer readable media for selecting numbers from multiple ranges
JP5864004B1 (en) Distributed value conversion system, distributed value conversion apparatus, distributed value conversion method, and program
CN110737402B (en) Method, apparatus and computer storage medium for managing storage system
US20160028538A1 (en) Apparatus and method for generating key
CN105991282B (en) Password generated method and device
JP2023022831A (en) Computer system, computer implementation method, program and computer implementation system (learning causal relation)
KR101428649B1 (en) Encryption system for mass private information based on map reduce and operating method for the same
CN103150159A (en) Identifier generation using named objects
US20230067574A1 (en) Contextually irrelevant file segmentation
KR101738415B1 (en) Data storage apparatus and method for storing a message dispersedly
KR101873879B1 (en) Data distribution storage apparatus and method using relative difference set generated from the group having the two-dimensional element
CN110244951A (en) Using dissemination method and device
KR101873878B1 (en) Data storage apparatus and method for storing a message dispersedly based on relative difference set
KR101893566B1 (en) Data distribution storage apparatus and method using cyclic difference family
Ge et al. A Complete Solution to Spectrum Problem for Five‐Vertex Graphs with Application to Traffic Grooming in Optical Networks
KR101741186B1 (en) Data distribution storage apparatus and method for verifying the locally repairable code
CN112181974B (en) Identification information distribution method, system and storage device
CN110717172B (en) Permission transfer method, device and equipment in block chain type account book
KR102197993B1 (en) Data distribution storage apparatus and method using partitioned iteration code
KR101977119B1 (en) Data distribution storage apparatus and method using difference covering arrays
KR101872329B1 (en) Random number generator for supporting multi entropy pool

Legal Events

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

Payment date: 20200302

Year of fee payment: 4