KR101977119B1 - Data distribution storage apparatus and method using difference covering arrays - Google Patents

Data distribution storage apparatus and method using difference covering arrays Download PDF

Info

Publication number
KR101977119B1
KR101977119B1 KR1020180003490A KR20180003490A KR101977119B1 KR 101977119 B1 KR101977119 B1 KR 101977119B1 KR 1020180003490 A KR1020180003490 A KR 1020180003490A KR 20180003490 A KR20180003490 A KR 20180003490A KR 101977119 B1 KR101977119 B1 KR 101977119B1
Authority
KR
South Korea
Prior art keywords
data
message distribution
messages
message
groups
Prior art date
Application number
KR1020180003490A
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 KR1020180003490A priority Critical patent/KR101977119B1/en
Application granted granted Critical
Publication of KR101977119B1 publication Critical patent/KR101977119B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are an apparatus and a method for storing data distribution using difference covering arrays. In a method for distributedly storing a plurality of messages in various data storages, the plurality of messages can be distributedly stored by using a small number of data storages and the plurality of messages can be all loaded even though selecting and accessing only the smallest number of data storages among the data storages distributedly storing the messages therein, thereby providing an efficient data distribution storage technique which can prevent data loss on the messages.

Description

차 커버링 배열을 이용한 데이터 분산 저장 장치 및 방법{DATA DISTRIBUTION STORAGE APPARATUS AND METHOD USING DIFFERENCE COVERING ARRAYS}TECHNICAL FIELD [0001] The present invention relates to a data distribution storage apparatus and method using a car covering arrangement,

본 발명은 데이터의 손실이 발생하였을 때, 데이터의 복구가 용이하도록 복수의 데이터 저장소들에 복수의 메시지들을 분산해서 저장하는 기법에 대한 기술과 관련된다.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 a loss of data 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, the conventional data backup method merely creates a copy message for the original message without a separate data storage standard, and then distributes the data to a plurality of data stores, thereby storing a plurality of messages in the data store There is an inefficiency in that a large amount of data storage space must be secured or a large number of data stores must be provided.

따라서, 복수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법과 관련해서, 적은 수의 데이터 저장소들만을 활용하여서도 상기 복수의 메시지들의 분산 저장이 가능하도록 하고, 데이터가 분산 저장되어 있는 복수의 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 복수의 메시지들이 모두 로드될 수 있도록 하는 효율적인 데이터 분산 저장 기법에 대한 연구가 필요하다.Therefore, with respect to a method of distributing a plurality of messages to various data stores, it is possible to distribute and store the plurality of messages using only a small number of data stores, There is a need for an efficient data distribution storage technique that allows all of the plurality of messages to be loaded even if only a minimum number of data stores are selected and accessed.

F. Demirkale, D. Donovan, J. Hall, A. Khodkar, and A. Rao, "Difference Covering Arrays and Pseudo-Orthogonal Latin Squares", Graphs and Combinatorics, vol. 32, pp. 1353-1374, 2016년 7월F. Demirkale, D. Donovan, J. Hall, A. Khodkar, and A. Rao, "Difference Covering Arrays and Pseudo-Orthogonal Latin Squares", Graphs and Combinatorics, vol. 32, pp. 1353-1374, July 2016

본 발명은 복수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 적은 수 데이터 저장소들만을 활용해서 상기 복수의 메시지들을 분산 저장할 수 있도록 함과 동시에 메시지가 분산 저장되어 있는 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 복수의 메시지들이 모두 로드될 수 있도록 함으로써, 메시지들에 대한 데이터 손실을 방지할 수 있는 효율적인 데이터 분산 저장 기법을 제공하고자 한다.The present invention relates to a method of distributing a plurality of messages to a plurality of data stores, comprising the steps of: allowing only a small number of data stores to be used to distribute the plurality of messages, An object of the present invention is to provide an efficient data distribution storage method capable of preventing data loss for messages by allowing only a plurality of data stores to be loaded even if only the data stores of the plurality of data stores are selected and accessed.

본 발명의 일실시예에 따른 차 커버링 배열(Difference Covering Arrays)을 이용한 데이터 분산 저장 장치는

Figure 112018003178743-pat00001
(여기서,
Figure 112018003178743-pat00002
이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서,
Figure 112018003178743-pat00003
임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 분산 그룹 생성부, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112018003178743-pat00004
개의 메시지들을
Figure 112018003178743-pat00005
(여기서,
Figure 112018003178743-pat00006
임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산 할당부 및 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는
Figure 112018003178743-pat00007
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부를 포함한다.The data distribution storage apparatus using the difference covering arrays according to an embodiment of the present invention
Figure 112018003178743-pat00001
(here,
Figure 112018003178743-pat00002
And m is a natural number of 3 or more)
Figure 112018003178743-pat00003
A distribution group generation unit for generating n message distribution groups corresponding to the n data stores when a distributed storage instruction to the n data stores is applied,
Figure 112018003178743-pat00004
Messages
Figure 112018003178743-pat00005
(here,
Figure 112018003178743-pat00006
- messages distributed to the n message distribution groups may be duplicated with each other, and a message distribution unit allocated to each of the n message distribution groups
Figure 112018003178743-pat00007
And a data storage unit for separating the n messages into the data stores corresponding to the respective message distribution groups among the n data stores by the n message distribution groups.

또한, 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법은

Figure 112018003178743-pat00008
(여기서,
Figure 112018003178743-pat00009
이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서,
Figure 112018003178743-pat00010
임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 단계, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112018003178743-pat00011
개의 메시지들을
Figure 112018003178743-pat00012
(여기서,
Figure 112018003178743-pat00013
임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계 및 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는
Figure 112018003178743-pat00014
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계를 포함한다.Also, a data distribution storage method using a car covering arrangement according to an embodiment of the present invention
Figure 112018003178743-pat00008
(here,
Figure 112018003178743-pat00009
And m is a natural number of 3 or more)
Figure 112018003178743-pat00010
The method comprising: generating n message distribution groups corresponding to the n data stores, when a distributed store instruction is applied to the n data stores,
Figure 112018003178743-pat00011
Messages
Figure 112018003178743-pat00012
(here,
Figure 112018003178743-pat00013
- messages distributedly allocated to the n message distribution groups may be overlapped with each other; and a step of allocating the messages distributed to the n message distribution groups
Figure 112018003178743-pat00014
And storing the messages in a data store corresponding to each message distribution group among the n data stores for each of the n message distribution groups.

본 발명은 복수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 적은 수 데이터 저장소들만을 활용해서 상기 복수의 메시지들을 분산 저장할 수 있도록 함과 동시에 메시지가 분산 저장되어 있는 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 복수의 메시지들이 모두 로드될 수 있도록 함으로써, 메시지들에 대한 데이터 손실을 방지할 수 있는 효율적인 데이터 분산 저장 기법을 제공할 수 있다.The present invention relates to a method of distributing a plurality of messages to a plurality of data stores, comprising the steps of: allowing only a small number of data stores to be used to distribute the plurality of messages, It is possible to provide an efficient data distribution storage method that can prevent data loss on messages by allowing only a plurality of data stores to be loaded even if the data stores are accessed.

도 1은 본 발명의 일실시예에 따른 차 커버링 배열(Difference Covering Arrays)을 이용한 데이터 분산 저장 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법을 도시한 순서도이다.
1 is a diagram illustrating a structure of a data distribution storage apparatus using a difference coverage arrays according to an embodiment of the present invention.
2 is a view for explaining the operation of a data distribution storage apparatus using a car covering arrangement according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a data distribution storing method using a car covering arrangement according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It is to be understood that the description is not intended to limit the invention to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals in the drawings are used for similar elements and, unless otherwise defined, all terms used in the specification, including technical and scientific terms, are to be construed in a manner that is familiar to those skilled in the art. It has the same meaning as commonly understood by those who have it.

도 1은 본 발명의 일실시예에 따른 차 커버링 배열(Difference Covering Arrays)을 이용한 데이터 분산 저장 장치의 구조를 도시한 도면이다.1 is a diagram illustrating a structure of a data distribution storage apparatus using a difference coverage arrays according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)는 분산 그룹 생성부(111), 메시지 분산 할당부(112) 및 데이터 저장부(113)를 포함한다.1, a data distribution storage apparatus 110 using a car covering arrangement according to an embodiment of the present invention includes a distribution group generation unit 111, a message distribution assignment unit 112, and a data storage unit 113 .

분산 그룹 생성부(111)는

Figure 112018003178743-pat00015
개의 메시지들에 대해 n개의 데이터 저장소들(101, 102, 103)로의 분산 저장 명령이 인가되면, n개의 데이터 저장소들(101, 102, 103)에 대응하는 n개의 메시지 분산 그룹들을 생성한다.The distributed group generation unit 111 generates
Figure 112018003178743-pat00015
When a distributed store command is applied to n data stores 101, 102, and 103 for a number of messages, n message distribution groups corresponding to n data stores 101, 102, and 103 are created.

여기서,

Figure 112018003178743-pat00016
이고, m은 3이상의 자연수이며,
Figure 112018003178743-pat00017
을 만족하는 자연수이다.here,
Figure 112018003178743-pat00016
M is a natural number of 3 or more,
Figure 112018003178743-pat00017
. ≪ / RTI >

그리고, 메시지란 n개의 데이터 저장소들(101, 102, 103)에 저장될 일종의 데이터 심볼(symbol)을 의미하는 것으로 상기

Figure 112018003178743-pat00018
개의 메시지들은 각각 서로 다른 데이터 심볼이다.The message is a kind of data symbol to be stored in n data stores 101, 102,
Figure 112018003178743-pat00018
The two messages are different data symbols.

메시지 분산 할당부(112)는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기

Figure 112018003178743-pat00019
개의 메시지들을
Figure 112018003178743-pat00020
개씩 분산 할당한다.The message distribution assigning unit 112 assigns, to each of the n message distribution groups,
Figure 112018003178743-pat00019
Messages
Figure 112018003178743-pat00020
Respectively.

여기서,

Figure 112018003178743-pat00021
이고, 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있다.here,
Figure 112018003178743-pat00021
, And messages distributedly allocated to the n message distribution groups may overlap with each other.

데이터 저장부(113)는 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는

Figure 112018003178743-pat00022
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, n개의 데이터 저장소들(101, 102, 103) 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.The data storage unit 113 is allocated to each of the n message distribution groups
Figure 112018003178743-pat00022
And stores the messages in a data repository corresponding to each message distribution group among the n data distribution groups 101, 102, and 103 for each of the n message distribution groups.

이때, 본 발명의 일실시예에 따르면, 메시지 분산 할당부(112)는 행렬 생성부(114), 순번 값 연산부(115) 및 분산 할당 처리부(116)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the message distribution assignment unit 112 may include a matrix generation unit 114, a sequence value operation unit 115, and a distribution assignment processing unit 116.

행렬 생성부(114)는 아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는

Figure 112018003178743-pat00023
(여기서,
Figure 112018003178743-pat00024
임) 크기의 행렬 Q를 생성한다.The matrix generation unit 114 generates a matrix of '4' for the abelian group G,
Figure 112018003178743-pat00023
(here,
Figure 112018003178743-pat00024
Gt;) < / RTI >

여기서, 상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성된다.Here, the matrix Q is composed of elements selected from the elements included in the G, and a constituent difference between the columns in the matrix Q is configured to have all the elements of the G at least once.

여기서, 차 커버링 배열에 대해서 간단히 설명하면 다음과 같다.Here, the car covering arrangement will be briefly described as follows.

아벨리안 군 G에 대한 차수 t인 차 커버링 배열을

Figure 112018003178743-pat00025
라고 하였을 때,
Figure 112018003178743-pat00026
Figure 112018003178743-pat00027
에 대하여 하기의 수학식 1에 따른 차 멀티셋
Figure 112018003178743-pat00028
이 상기 G의 모든 원소들을 적어도 한 번 이상 가지고 있게 되는
Figure 112018003178743-pat00029
행렬
Figure 112018003178743-pat00030
,
Figure 112018003178743-pat00031
로 정의된다.The car covering arrangement of degree t for the Abelian group G
Figure 112018003178743-pat00025
However,
Figure 112018003178743-pat00026
The
Figure 112018003178743-pat00027
Gt; < RTI ID = 0.0 > 1 < / RTI >
Figure 112018003178743-pat00028
≪ / RTI > has all the elements of G above at least once
Figure 112018003178743-pat00029
procession
Figure 112018003178743-pat00030
,
Figure 112018003178743-pat00031
.

Figure 112018003178743-pat00032
Figure 112018003178743-pat00032

즉, 차 커버링 배열은 상기 G의 원소들로부터 선택된 성분으로 구성되되, 상기 수학식 1의 연산에 따른 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성되는 행렬 Q로 정의될 수 있다.That is, the difference covering arrangement is defined as a matrix Q constituted by components selected from the elements of G, and a constituent difference between the columns according to the operation of Equation 1 has at least one element of G at least once .

이때,

Figure 112018003178743-pat00033
의 마지막 행과 마지막 열의 모든 성분들은 0으로 구성된다.At this time,
Figure 112018003178743-pat00033
All components of the last row and last column of the table are zero.

본 발명에서는 차수가 '4'인 차 커버링 배열인

Figure 112018003178743-pat00034
를 이용하는데,
Figure 112018003178743-pat00035
을 제외하면 모든
Figure 112018003178743-pat00036
에 대하여 행렬 Q가 정의될 수 있으며, 해당 차 커버링 배열에서 마지막 열을 제외한 임의의 두 개의 열의 차 멀티셋은 하기의 수학식 2와 같이 나타낼 수 있다.In the present invention, a car covering arrangement having a degree of '4'
Figure 112018003178743-pat00034
However,
Figure 112018003178743-pat00035
All except
Figure 112018003178743-pat00036
A matrix Q can be defined for a matrix Q and a difference multiset of any two columns except for the last column in the corresponding car covering array can be expressed by Equation 2 below.

Figure 112018003178743-pat00037
Figure 112018003178743-pat00037

예컨대,

Figure 112018003178743-pat00038
일 때, 차수가 '4'인 차 커버링 배열
Figure 112018003178743-pat00039
을 나타내는 행렬 Q는 하기의 수학식 3과 같이 나타낼 수 있다.for example,
Figure 112018003178743-pat00038
, A car covering array having a degree of '4'
Figure 112018003178743-pat00039
Can be expressed by Equation (3) below. &Quot; (3) "

Figure 112018003178743-pat00040
Figure 112018003178743-pat00040

순번 값 연산부(115)는 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산한다.The sequence value calculator 115 calculates a sequence value of a message to be allocated to each of the n message distribution groups based on the components included in the matrix Q. [

분산 할당 처리부(116)는 상기 연산된 순번 값에 기초하여 상기

Figure 112018003178743-pat00041
개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해
Figure 112018003178743-pat00042
개씩 분산 할당함으로써, 메시지의 분산 할당을 처리한다.Based on the calculated order value, the distribution assignment processing unit (116)
Figure 112018003178743-pat00041
Messages for each of the n message distribution groups
Figure 112018003178743-pat00042
Thereby distributing the message.

이때, 본 발명의 일실시예에 따르면, 분산 그룹 생성부(111)는 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t를 할당할 수 있다.At this time, according to an embodiment of the present invention, the distribution group generation unit 111 may assign different unique identification values t for identifying each message distribution groups to each of the n message distribution groups.

이때, t는

Figure 112018003178743-pat00043
을 만족하는 정수들 중에서 선택된 값이다.Here, t is
Figure 112018003178743-pat00043
Lt; / RTI >

이때, 순번 값 연산부(115)는 하기의 수학식 4의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산할 수 있다.At this time, the sequence value operation unit 115 can calculate the sequence value of a message to be allocated to each of the n message distribution groups according to the following equation (4).

Figure 112018003178743-pat00044
Figure 112018003178743-pat00044

여기서,

Figure 112018003178743-pat00045
는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고,
Figure 112018003178743-pat00046
는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서
Figure 112018003178743-pat00047
행,
Figure 112018003178743-pat00048
열에 위치하는 성분 값을 의미한다.here,
Figure 112018003178743-pat00045
Denotes a set of sequence values of a message to be allocated to a message distribution group to which a unique identification value t is assigned,
Figure 112018003178743-pat00046
When the order of the first row and the first column of the matrix Q is '0', the matrix Q
Figure 112018003178743-pat00047
line,
Figure 112018003178743-pat00048
Means a component value located in a column.

이때, 본 발명의 일실시예에 따르면, 메시지 분산 할당부(116)는 순번 값 할당부(117)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the message distribution assignment unit 116 may further include an order value assigning unit 117.

순번 값 할당부(117)는 상기

Figure 112018003178743-pat00049
개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s를 할당한다. 여기서, s는
Figure 112018003178743-pat00050
을 만족하는 정수들 중에서 선택된 값이다.The order value assigning unit 117 assigns
Figure 112018003178743-pat00049
Quot; s < / RTI > for distinguishing each message for each message. Here, s is
Figure 112018003178743-pat00050
Lt; / RTI >

이때, 분산 할당 처리부(116)는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기

Figure 112018003178743-pat00051
개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는
Figure 112018003178743-pat00052
개의 메시지들을 선택하여 할당할 수 있다.At this time, the distribution allotment processing unit 116 allocates, for each of the n message distribution groups,
Figure 112018003178743-pat00051
Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group
Figure 112018003178743-pat00052
Messages can be selected and assigned.

이때, 본 발명의 일실시예에 따르면, 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)는 고유 식별 값 할당부(118), 그룹 분할부(119) 및 데이터 로드부(120)를 더 포함할 수 있다.According to an embodiment of the present invention, the data distribution storage apparatus 110 using the car covering arrangement further includes a unique identification value assigning unit 118, a group dividing unit 119, and a data loading unit 120 .

고유 식별 값 할당부(118)는 n개의 데이터 저장소들(101, 102, 103)에 상기

Figure 112018003178743-pat00053
개의 메시지들이
Figure 112018003178743-pat00054
개씩 분산 저장이 완료되면, n개의 데이터 저장소들(101, 102, 103) 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당한다.The unique identification value assigning unit 118 assigns the unique identification value to the n data stores 101, 102,
Figure 112018003178743-pat00053
Messages
Figure 112018003178743-pat00054
When distributed storage is completed for each of the n data stores 101, 102, and 103, a unique identification value equal to a unique identification value assigned to a corresponding message distribution group among the n message distribution groups is allocated to each of the n data stores 101, 102, .

그룹 분할부(119)는 n개의 데이터 저장소들(101, 102, 103)을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들로 분할한다. 이때, 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개가 된다.The group division unit 119 divides the n data stores 101, 102, and 103 into three data storage groups according to the order of magnitude of the unique identification value assigned to each data store. At this time, the number of data stores included in each data storage group is 2m.

데이터 로드부(120)는 상기

Figure 112018003178743-pat00055
개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각
Figure 112018003178743-pat00056
개씩 저장되어 있는 메시지들을 로드함으로써, 상기
Figure 112018003178743-pat00057
개의 메시지들 전체에 대한 데이터의 로드를 완료한다.The data load unit 120 loads
Figure 112018003178743-pat00055
Accesses 2m data stores included in any one of the three data storage groups and accesses the 2m data stores from the accessed 2m data stores
Figure 112018003178743-pat00056
By loading the stored messages one by one,
Figure 112018003178743-pat00057
And completes the loading of data for all of the messages.

이하에서는 도 2를 참조하여, 본 발명에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the data distributed storage device 110 using the car covering arrangement according to the present invention will be described in detail with reference to FIG. 2, for example.

도 2는 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)의 동작을 설명하기 위한 도면이다.2 is a view for explaining the operation of the data distribution storage apparatus 110 using the car covering arrangement according to an embodiment of the present invention.

먼저, 설명의 편의를 위해서, m을 '3'이라고 하고, 이로 인해,

Figure 112018003178743-pat00058
이고,
Figure 112018003178743-pat00059
이므로, 본 발명에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)가 36개의 메시지들을 18개의 데이터 저장소들에 분산 저장하는 상황을 가정하기로 한다.First, for convenience of explanation, m is referred to as " 3 &
Figure 112018003178743-pat00058
ego,
Figure 112018003178743-pat00059
It is assumed that the data distributed storage device 110 using the car covering arrangement according to the present invention stores 36 messages in 18 data stores.

분산 그룹 생성부(111)는 36개의 메시지들에 대한 분산 저장 명령이 인가되면, 18개의 데이터 저장소들에 대응하는 18개의 메시지 분산 그룹들을 생성할 수 있다.The distributed group generation unit 111 may generate 18 message distribution groups corresponding to 18 data stores when a distributed storage command for 36 messages is granted.

이때, 분산 그룹 생성부(111)는 상기 18개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는

Figure 112018003178743-pat00060
을 만족하는 정수들 중에서 선택된 값임)를 할당할 수 있다. 여기서, m은 '3'이라고 가정하였기 때문에 상기 고유 식별 값 t는
Figure 112018003178743-pat00061
을 만족하는 정수가 될 것이고, 결국 분산 그룹 생성부(111)는 18개의 메시지 분산 그룹들 각각에 대해 '0'부터 '17'사이의 정수들을 고유 식별 값으로 하나씩 할당할 수 있다.At this time, the distribution group generation unit 111 generates a different unique identification value t for identifying each message distribution group for each of the 18 message distribution groups,
Figure 112018003178743-pat00060
, A value selected from the integers satisfying the following equation. Here, since m is assumed to be '3', the unique identification value t is
Figure 112018003178743-pat00061
The distributed group generation unit 111 may allocate the unique IDs to the IDs of '0' to '17' one by one for each of the 18 message distribution groups.

이때, 메시지 분산 할당부(112)에 포함되어 있는 행렬 생성부(114)는 아벨리안 군 G에 대한 차수가 '4'인 차 커버링 배열을 나타내는

Figure 112018003178743-pat00062
(여기서,
Figure 112018003178743-pat00063
임) 크기의 행렬 Q를 생성할 수 있는데, m을 '3'이라고 가정하였기 때문에 행렬 생성부(114)는
Figure 112018003178743-pat00064
크기의 행렬 Q를 생성할 수 있다.At this time, the matrix generation unit 114 included in the message distribution assignment unit 112 generates a matrix for the Abelian group G,
Figure 112018003178743-pat00062
(here,
Figure 112018003178743-pat00063
The matrix generating unit 114 generates a matrix Q having a size of < RTI ID = 0.0 >
Figure 112018003178743-pat00064
Quot; Q "

여기서, 차수가 '4'인 차 커버링 배열을 나타내는

Figure 112018003178743-pat00065
크기의 상기 행렬 Q는 상기 수학식 3에서 나타낸 행렬이 된다.Here, it is assumed that a car covering array having a degree of '4'
Figure 112018003178743-pat00065
The matrix Q of the size is the matrix shown in Equation (3).

이때, 순번 값 할당부(117)는 상기 36개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는

Figure 112018003178743-pat00066
을 만족하는 정수들 중에서 선택된 값임)를 할당할 수 있다. 여기서, m은 '3'이라고 가정하였기 때문에 상기 고유 순번 값 s는
Figure 112018003178743-pat00067
을 만족하는 정수가 될 것이고, 결국 순번 값 할당부(117)는 36개의 메시지들 각각에 대해 '0'부터 '35'사이의 정수들을 고유 순번 값으로 하나씩 할당할 수 있다.At this time, the order value assigning unit 117 assigns different unique order value s (here, s is used for identifying each message to each of the 36 messages
Figure 112018003178743-pat00066
, A value selected from the integers satisfying the following equation. Here, since m is assumed to be '3', the unique order value s is
Figure 112018003178743-pat00067
The sequence number assigning unit 117 may allocate the integers between '0' and '35' one by one as unique sequence numbers for each of the 36 messages.

이때, 순번 값 연산부(115)는 상기 수학식 4의 연산에 따라 18개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산할 수 있다.At this time, the sequence value operation unit 115 can calculate the sequence value of a message to be allocated to each of 18 message distribution groups according to the operation of Equation (4).

관련해서, 순번 값 연산부(115)는 고유 식별 값 '0'이 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값을 연산하기 위해서, 상기 수학식 4에서 t에 '0'을 인가하고, m에 '3'을 인가함과 동시에 k를 '0'부터 '5'까지 증가시키면서 상기 수학식 4에 따른 연산을 수행함으로써, 하기의 수학식 5와 같은 '0'이라는 고유 식별 값이 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합인 N0를 연산할 수 있다. 이때, 상기 수학식 4에서

Figure 112018003178743-pat00068
의 연산과 관련하여, 상기 행렬 Q에서는 첫 번째 행과 첫 번째 열의 순번이 '0'을 시작으로 해서 각 행과 열의 순번이 순차적으로 카운트되는 것으로 취급한다.In order to calculate the sequence value of the message to be allocated to the message distribution group to which the unique identification value '0' is assigned, the sequence value operation unit 115 applies '0' to t in the above equation (4) And a unique identification value of '0' as shown in Equation (5) is assigned by performing an operation according to Equation (4) while increasing 'k' from '0' to '5' N 0 , which is a set of sequence numbers of messages to be assigned to the message distribution group, can be calculated. At this time, in Equation (4)
Figure 112018003178743-pat00068
, The matrix Q treats the order of each row and column as being sequentially counted starting from the order of the first row and the first column being '0'.

Figure 112018003178743-pat00069
Figure 112018003178743-pat00069

이러한 방식으로, 순번 값 연산부(115)는 고유 식별 값이 '1'부터 '17'까지 할당되어 있는 나머지 메시지 분산 그룹들 각각에 대해서도 상기 수학식 4에 따른 연산을 수행함으로써, 각 메시지 분산 그룹들에 할당될 메시지의 순번 값을 연산할 수 있다.In this way, the sequence value calculation unit 115 performs the calculation according to Equation (4) on each of the remaining message distribution groups to which the unique identification values are allocated from '1' to '17' Number of messages to be assigned to the message.

이렇게, 18개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값이 연산되면, 분산 할당 처리부(116)는 18개의 메시지 분산 그룹들 각각에 대해 36개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는 6개의 메시지들을 선택하여 할당할 수 있다.When the sequence number of the message to be allocated to each of the 18 message distribution groups is calculated, the distribution assignment processing unit 116 should be assigned to each message distribution group among the 36 messages for each of the 18 message distribution groups 6 messages having the same unique sequence number as the calculated sequence number can be selected and assigned.

관련해서, 도 2에는 상기 수학식 4의 연산에 따라 '0'부터 '17'까지의 고유 식별 값이 할당되어 있는 18개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 나타낸 표가 도시되어 있다.2, there is shown a table showing the order value of a message to be allocated to each of 18 message distribution groups to which unique identification values of '0' to '17' are assigned according to the operation of Equation (4) have.

도 2에서 세로축에 표시한 '0'부터 '17'까지의 숫자가 18개의 메시지 분산 그룹들 각각의 고유 식별 값을 의미하고, 가로축에 표시한 '0'부터 '35'까지의 숫자가 36개의 메시지들 각각의 고유 순번 값을 의미하며, '1'로 표시한 셀들이 각 메시지 분산 그룹에 할당될 메시지에 대한 매칭 관계를 나타낸 것이다.In FIG. 2, the numbers from 0 to 17 shown on the vertical axis represent unique identification values of 18 message distribution groups, and the numbers from 0 to 35 displayed on the horizontal axis represent 36 Means the unique order value of each message, and the cells indicated by '1' represent the matching relation to the message to be allocated to each message distribution group.

예컨대, 도 2의 표에서 '0'이라는 고유 식별 값이 할당되어 있는 메시지 분산 그룹에 대해서는 '0', '11', '16', '21', '26', '31'이라는 고유 순번 값을 갖는 메시지에 대한 셀에 '1'이 표시되어 있다는 점에서 '0'이라는 고유 식별 값이 할당되어 있는 메시지 분산 그룹에 대해서는 36개의 메시지들 중 '0', '11', '16', '21', '26', '31'이라는 고유 순번 값을 갖는 메시지가 할당되어야 함을 알 수 있다.For example, in the table of FIG. 2, the message distribution group to which the unique identification value of '0' is assigned has a unique sequence value of '0', '11', '16', '21', '26' 11 ',' 16 ',' 16 ', and' 16 'among the 36 messages for the message distribution group in which' 1 'is displayed in the cell for the message having the unique identification value' 21 ',' 26 ', and' 31 ', respectively.

이렇게, 도 2에 도시된 표에서와의 관계에 따라, 분산 할당 처리부(116)는 18개의 메시지 분산 그룹들 각각에 대해, 대응되는 고유 순번 값을 갖는 메시지들을 6개씩 분산 할당할 수 있다.In this way, according to the relationship shown in the table shown in FIG. 2, the distribution assignment processor 116 can distribute the messages having the corresponding unique order value for each of the 18 message distribution groups by six.

그 이후, 데이터 저장부(113)는 18개의 메시지 분산 그룹들 각각에 할당되어 있는 6개의 메시지들을 상기 18개의 메시지 분산 그룹들 별로, 18개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장할 수 있다.Thereafter, the data storage unit 113 stores the six messages allocated to each of the 18 message distribution groups into the data store corresponding to each message distribution group among the 18 message storage groups, Can be stored separately.

이렇게, 18개의 데이터 저장소들에 메시지가 6개씩 분산 저장 완료되면, 고유 식별 값 할당부(118)는 18개의 데이터 저장소들 각각에 대해 18개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당할 수 있다.In this way, when six messages are distributedly stored in the 18 data stores, the unique ID assignment unit 118 assigns the corresponding message distribution group to 18 message distribution groups for each of the 18 data stores A unique identification value equal to the unique identification value can be assigned.

이때, 도 2에 도시된 표를 살펴보면, 도 2에 도시된 표에서와의 관계에 따라 18개의 데이터 저장소들 각각에 6개의 메시지들이 분산 저장되는 경우, '0'에서 '5'까지의 고유 식별 값이 할당되어 있는 데이터 저장소들의 그룹인 데이터 저장소 그룹 1(211)과 '6'에서 '11'까지의 고유 식별 값이 할당되어 있는 데이터 저장소들의 그룹인 데이터 저장소 그룹 2(212) 및 '12'에서 '17'까지의 고유 식별 값이 할당되어 있는 데이터 저장소들의 그룹인 데이터 저장소 그룹 3(213)에는 각 그룹별로 36개의 메시지들이 모두 하나씩 저장되어 있으면서 각 그룹 내에서 공통된 메시지가 중복해서 저장되지 않았음을 알 수 있다.2, when 6 messages are distributed and stored in each of the 18 data stores according to the relationship with the table shown in FIG. 2, a unique identification from '0' to '5' The data storage group 2 (212) and the data storage group (12), which are groups of data storage groups (211) and (211) The data storage group 3 213, which is a group of data stores assigned unique identification values from '1' to '17', stores 36 messages for each group, and a message common to the groups is not duplicated You can see the sound.

이는 곧 데이터 저장소들로부터 36개의 원본 메시지를 모두 로드하고자 하는 경우, 18개의 데이터 저장소들에 모두 액세스하여 데이터를 로드할 필요없이, 데이터 저장소 그룹 1(211), 데이터 저장소 그룹 2(212), 데이터 저장소 그룹 3(213) 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 데이터 저장소들에만 액세스하여 저장 데이터를 로드한다면, 36개의 원본 메시지들을 모두 로드할 수 있음을 의미한다.This means that if all of the 36 original messages from the data stores are to be loaded, the data storage group 1 (211), data storage group 2 (212), data It means that all the 36 original messages can be loaded if only the data stores included in any one of the storage groups 3 213 are accessed to load the stored data.

이러한 특성은 차 커버링 배열의 특성에 따른 것으로, n(여기서,

Figure 112018003178743-pat00070
임)개의 데이터 저장소들에
Figure 112018003178743-pat00071
(여기서,
Figure 112018003178743-pat00072
이고, m은 3이상의 자연수임)개의 메시지들이 본 발명에 따른 차 커버링 배열에 기초하여
Figure 112018003178743-pat00073
(여기서,
Figure 112018003178743-pat00074
임)개씩 분산 저장되었다고 하였을 때, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(여기서, 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개가 됨)로 분할하게 되면, 각 데이터 저장소 그룹에는
Figure 112018003178743-pat00075
개의 메시지들이 서로 중복되는 것 없이 모두 하나씩 저장되게 되는 것이다.These characteristics depend on the nature of the car covering arrangement, where n,
Figure 112018003178743-pat00070
Lt; RTI ID = 0.0 >
Figure 112018003178743-pat00071
(here,
Figure 112018003178743-pat00072
And m is a natural number of 3 or more) messages are based on a car covering arrangement according to the present invention
Figure 112018003178743-pat00073
(here,
Figure 112018003178743-pat00074
The number of data stores included in each of the data storage groups is determined according to the size order of the unique identification values assigned to the respective data stores, 2m), each data storage group is divided into
Figure 112018003178743-pat00075
Messages are stored one by one without overlapping each other.

이와 관련해서, 그룹 분할부(119)는 도 2에 도시된 표에서와의 관계에 따라 18개의 데이터 저장소들 각각에 6개의 메시지들이 분산 저장 완료되면, 18개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(211, 212, 213)로 분할할 수 있다.In this regard, when the group partitioning unit 119 distributes six messages to each of the 18 data stores according to the relationship with the table shown in FIG. 2, 18 data stores are allocated to each data store And can be divided into three data storage groups 211, 212, and 213 according to the magnitude order of the unique identification values.

이때, 각 데이터 저장소 그룹에는 6개의 데이터 저장소들이 포함되게 된다.At this time, each data storage group will contain six data stores.

그 이후, 사용자에 의해 36개의 원본 메시지에 대한 데이터 로드 명령이 인가되면, 데이터 로드부(120)는 3개의 데이터 저장소 그룹들(211, 212, 213) 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 6개의 데이터 저장소들에 액세스하여 상기 액세스한 6개의 데이터 저장소들로부터 각각 6개씩 저장되어 있는 메시지들을 로드함으로써, 상기 36개의 메시지들 전체에 대한 데이터의 로드를 완료할 수 있다.Thereafter, if a data load instruction for 36 original messages is given by the user, the data load unit 120 is included in one of the three data storage groups 211, 212, and 213 The load of data for all of the 36 messages can be completed by accessing six data stores and loading six messages stored in each of the six accessed data stores.

도 3은 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법을 도시한 순서도이다.FIG. 3 is a flowchart illustrating a data distribution storing method using a car covering arrangement according to an embodiment of the present invention.

단계(S310)에서는

Figure 112018003178743-pat00076
(여기서,
Figure 112018003178743-pat00077
이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서,
Figure 112018003178743-pat00078
임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성한다.In step S310,
Figure 112018003178743-pat00076
(here,
Figure 112018003178743-pat00077
And m is a natural number of 3 or more)
Figure 112018003178743-pat00078
(N) message storage groups corresponding to the n data stores are generated,

단계(S320)에서는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기

Figure 112018003178743-pat00079
개의 메시지들을
Figure 112018003178743-pat00080
(여기서,
Figure 112018003178743-pat00081
임)개씩 분산 할당한다.In step S320, for each of the n message distribution groups,
Figure 112018003178743-pat00079
Messages
Figure 112018003178743-pat00080
(here,
Figure 112018003178743-pat00081
Respectively.

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

단계(S330)에서는 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는

Figure 112018003178743-pat00082
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.In step S330, the message distribution groups are allocated to the n message distribution groups
Figure 112018003178743-pat00082
And stores the messages in a data repository corresponding to each message distribution group among the n data repositories for each of the n message distribution groups.

이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 아벨리안 군 G에 대한 차수가 '4'인 차 커버링 배열을 나타내는

Figure 112018003178743-pat00083
(여기서,
Figure 112018003178743-pat00084
임) 크기의 행렬 Q(상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨)를 생성하는 단계, 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 단계 및 상기 연산된 순번 값에 기초하여 상기
Figure 112018003178743-pat00085
개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해
Figure 112018003178743-pat00086
개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S320, a car covering array having a degree of '4' for the Abelian group G is represented
Figure 112018003178743-pat00083
(here,
Figure 112018003178743-pat00084
(The matrix Q is composed of the elements selected from the elements included in the G, and the constituent difference between the columns in the matrix Q is configured to have all the elements of the G at least once) Calculating a sequence number of a message to be allocated to each of the n message distribution groups based on the components included in the matrix Q,
Figure 112018003178743-pat00085
Messages for each of the n message distribution groups
Figure 112018003178743-pat00086
And distributing the messages in a distributed manner.

이때, 본 발명의 일실시예에 따르면, 상기 차 커버링 배열을 이용한 데이터 분산 저장 방법은 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는

Figure 112018003178743-pat00087
을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the data distribution storage method using the car covering array may further include storing a different unique identification value t (t) for identifying each message distribution group for each of the n message distribution groups The
Figure 112018003178743-pat00087
And a value that is a value selected from among integers satisfying the following equation.

이때, 상기 순번 값을 연산하는 단계는 상기 수학식 4의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산할 수 있다.In this case, the step of calculating the order value may calculate a sequence value of a message to be allocated to each of the n message distribution groups according to the operation of Equation (4).

이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기

Figure 112018003178743-pat00088
개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는
Figure 112018003178743-pat00089
을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S320,
Figure 112018003178743-pat00088
For each of the four messages, a different unique sequence value s for identifying each message (where s is
Figure 112018003178743-pat00089
And a value that is a value selected from among integers satisfying the following equation.

이때, 상기 메시지의 분산 할당을 처리하는 단계는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기

Figure 112018003178743-pat00090
개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는
Figure 112018003178743-pat00091
개의 메시지들을 선택하여 할당할 수 있다.In this case, the process of distributing the messages may include:
Figure 112018003178743-pat00090
Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group
Figure 112018003178743-pat00091
Messages can be selected and assigned.

또한, 본 발명의 일실시예에 따르면, 상기 차 커버링 배열을 이용한 데이터 분산 저장 방법은 상기 n개의 데이터 저장소들에 상기

Figure 112018003178743-pat00092
개의 메시지들이
Figure 112018003178743-pat00093
개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 단계, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임)로 분할하는 단계 및 상기
Figure 112018003178743-pat00094
개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각
Figure 112018003178743-pat00095
개씩 저장되어 있는 메시지들을 로드함으로써, 상기
Figure 112018003178743-pat00096
개의 메시지들 전체에 대한 데이터의 로드를 완료하는 단계를 더 포함할 수 있다.According to still another aspect of the present invention, there is provided a data distribution storage method using the car coverage array,
Figure 112018003178743-pat00092
Messages
Figure 112018003178743-pat00093
Assigning a unique identification value identical to a unique identification value assigned to a corresponding message distribution group among the n message distribution groups for each of the n data stores, Dividing the stores into three data storage groups (the number of data stores included in each data storage group is 2m) according to the magnitude of the unique identification value assigned to each data store; and
Figure 112018003178743-pat00094
Accesses 2m data stores included in any one of the three data storage groups and accesses the 2m data stores from the accessed 2m data stores
Figure 112018003178743-pat00095
By loading the stored messages one by one,
Figure 112018003178743-pat00096
And completing the loading of data for all of the messages.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법은 도 1과 도 2를 이용하여 설명한 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The data distribution storing method using the car covering arrangement according to an embodiment of the present invention has been described with reference to FIG. Here, the data distribution storage method using the car covering arrangement according to an embodiment of the present invention may correspond to the configuration of the operation of the data distribution storage apparatus 110 using the car coverage arrangement described with reference to FIGS. 1 and 2 Therefore, a detailed description thereof will be omitted.

본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The data distribution storage method using the car covering arrangement according to an embodiment of the present invention can be implemented 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, the data distribution storing method using the car covering arrangement according to an embodiment of the present invention may be implemented in the 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 constructed 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.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific 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 .

110: 차 커버링 배열을 이용한 데이터 분산 저장 장치
111: 분산 그룹 생성부 112: 메시지 분산 할당부
113: 데이터 저장부 114: 행렬 생성부
115: 순번 값 연산부 116: 분산 할당 처리부
117: 순번 값 할당부 118: 고유 식별 값 할당부
119: 그룹 분할부 120: 데이터 로드부
101, 102, 103: 데이터 저장소들
110: Data distribution storage device using car covering array
111: distributed group generation unit 112: message distribution assignment unit
113: Data storage unit 114: Matrix generation unit
115: order value calculation unit 116: dispersion allocation processing unit
117: order value assignment unit 118: unique identity value assignment unit
119: Group dividing unit 120: Data loading unit
101, 102, 103: Data stores

Claims (12)

Figure 112018003178743-pat00097
(여기서,
Figure 112018003178743-pat00098
이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서,
Figure 112018003178743-pat00099
임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 분산 그룹 생성부;
상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112018003178743-pat00100
개의 메시지들을
Figure 112018003178743-pat00101
(여기서,
Figure 112018003178743-pat00102
임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산 할당부; 및
상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는
Figure 112018003178743-pat00103
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
Figure 112018003178743-pat00097
(here,
Figure 112018003178743-pat00098
And m is a natural number of 3 or more)
Figure 112018003178743-pat00099
A distributed group generation unit for generating n message distribution groups corresponding to the n data stores, when a distributed storage command is applied to the data stores;
For each of the n message distribution groups,
Figure 112018003178743-pat00100
Messages
Figure 112018003178743-pat00101
(here,
Figure 112018003178743-pat00102
The messages distributed to the n message distribution groups may be overlapped with each other; And
And the message distribution groups
Figure 112018003178743-pat00103
A message storage unit for storing the messages in a data storage corresponding to each message distribution group among the n data storage groups for each of the n message distribution groups,
And a data storage device for storing the data.
제1항에 있어서,
상기 메시지 분산 할당부는
아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는
Figure 112018003178743-pat00104
(여기서,
Figure 112018003178743-pat00105
임) 크기의 행렬 Q - 상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨 - 를 생성하는 행렬 생성부;
상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 순번 값 연산부; 및
상기 연산된 순번 값에 기초하여 상기
Figure 112018003178743-pat00106
개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해
Figure 112018003178743-pat00107
개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 분산 할당 처리부
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
The method according to claim 1,
The message distribution assignment unit
Representing the difference covering arrays with a degree of '4' for the abelian group G
Figure 112018003178743-pat00104
(here,
Figure 112018003178743-pat00105
) Matrix Q, wherein the matrix Q is composed of elements selected from the elements included in G, wherein a component difference between the columns in the matrix Q is configured to have all the elements of G at least once, A matrix generator for generating a matrix;
A sequence number calculator for calculating a sequence number of a message to be allocated to each of the n message distribution groups based on the components included in the matrix Q; And
Based on the calculated order value,
Figure 112018003178743-pat00106
Messages for each of the n message distribution groups
Figure 112018003178743-pat00107
A distributed assignment processing unit for processing distributed assignment of messages,
And a data storage device for storing the data.
제2항에 있어서,
상기 분산 그룹 생성부는
상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는
Figure 112018003178743-pat00108
을 만족하는 정수들 중에서 선택된 값임)를 할당하고,
상기 순번 값 연산부는
하기의 수학식 1의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
[수학식 1]
Figure 112018003178743-pat00109

여기서,
Figure 112018003178743-pat00110
는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고,
Figure 112018003178743-pat00111
는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서
Figure 112018003178743-pat00112
행,
Figure 112018003178743-pat00113
열에 위치하는 성분 값을 의미함.
3. The method of claim 2,
The distributed group generation unit
A different unique identification value t for identifying each message distribution group for each of the n message distribution groups,
Figure 112018003178743-pat00108
Quot ;, and "
The order value calculation unit
Wherein a message sequence number to be assigned to each of the n message distribution groups is computed according to an operation of Equation (1) below.
[Equation 1]
Figure 112018003178743-pat00109

here,
Figure 112018003178743-pat00110
Denotes a set of sequence values of a message to be allocated to a message distribution group to which a unique identification value t is assigned,
Figure 112018003178743-pat00111
When the order of the first row and the first column of the matrix Q is '0', the matrix Q
Figure 112018003178743-pat00112
line,
Figure 112018003178743-pat00113
Means the component value located in the column.
제3항에 있어서,
상기 메시지 분산 할당부는
상기
Figure 112018003178743-pat00114
개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는
Figure 112018003178743-pat00115
을 만족하는 정수들 중에서 선택된 값임)를 할당하는 순번 값 할당부
를 더 포함하고,
상기 분산 할당 처리부는
상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112018003178743-pat00116
개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는
Figure 112018003178743-pat00117
개의 메시지들을 선택하여 할당하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
The method of claim 3,
The message distribution assignment unit
remind
Figure 112018003178743-pat00114
For each of the four messages, a different unique sequence value s for identifying each message (where s is
Figure 112018003178743-pat00115
And a sequence number assigning unit
Further comprising:
The dispersion allocation processing unit
For each of the n message distribution groups,
Figure 112018003178743-pat00116
Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group
Figure 112018003178743-pat00117
The data distribution storage device using a car covering array for selecting and allocating a plurality of messages.
제4항에 있어서,
상기 n개의 데이터 저장소들에 상기
Figure 112018003178743-pat00118
개의 메시지들이
Figure 112018003178743-pat00119
개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 고유 식별 값 할당부;
상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들 - 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임 - 로 분할하는 그룹 분할부; 및
상기
Figure 112018003178743-pat00120
개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각
Figure 112018003178743-pat00121
개씩 저장되어 있는 메시지들을 로드함으로써, 상기
Figure 112018003178743-pat00122
개의 메시지들 전체에 대한 데이터의 로드를 완료하는 데이터 로드부
를 더 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
5. The method of claim 4,
The method of claim 1,
Figure 112018003178743-pat00118
Messages
Figure 112018003178743-pat00119
A unique identification value assigning unit for assigning a unique identification value identical to a unique identification value assigned to a corresponding message distribution group among the n message distribution groups for each of the n data stores,
Dividing the n data stores into three data storage groups in the order of magnitude of the unique identification values assigned to the respective data stores, the number of data stores included in each data storage group is 2m; And
remind
Figure 112018003178743-pat00120
Accesses 2m data stores included in any one of the three data storage groups and accesses the 2m data stores from the accessed 2m data stores
Figure 112018003178743-pat00121
By loading the stored messages one by one,
Figure 112018003178743-pat00122
A data load unit for completing loading of data for all of the plurality of messages;
Further comprising: a data storage unit for storing the data in the storage unit;
분산 그룹 생성부가,
Figure 112019029853292-pat00152
(여기서,
Figure 112019029853292-pat00153
이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서,
Figure 112019029853292-pat00154
임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 단계;
메시지 분산 할당부가, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112019029853292-pat00155
개의 메시지들을
Figure 112019029853292-pat00156
(여기서,
Figure 112019029853292-pat00157
임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계; 및
데이터 저장부가, 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는
Figure 112019029853292-pat00158
개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
The distributed-
Figure 112019029853292-pat00152
(here,
Figure 112019029853292-pat00153
And m is a natural number of 3 or more)
Figure 112019029853292-pat00154
Generating n message distribution groups corresponding to the n data stores when a distributed store instruction to the n data stores is granted;
Wherein the message distribution assignment unit determines, for each of the n message distribution groups,
Figure 112019029853292-pat00155
Messages
Figure 112019029853292-pat00156
(here,
Figure 112019029853292-pat00157
- messages distributedly allocated to the n message distribution groups may overlap each other; And
Wherein the data store is assigned to each of the n message distribution groups
Figure 112019029853292-pat00158
Separating and storing messages for each of the n message distribution groups into a data store corresponding to each message distribution group among the n data stores,
And storing the data in the memory.
제6항에 있어서,
상기 분산 할당하는 단계는
행렬 생성부가, 아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는
Figure 112019029853292-pat00159
(여기서,
Figure 112019029853292-pat00160
임) 크기의 행렬 Q - 상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨 - 를 생성하는 단계;
순번 값 연산부가, 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 단계; 및
분산 할당 처리부가, 상기 연산된 순번 값에 기초하여 상기
Figure 112019029853292-pat00161
개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해
Figure 112019029853292-pat00162
개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 단계
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
The method according to claim 6,
The distributing step
The matrix generating unit generates a difference covering array having a degree of '4' for the abelian group G (Difference Covering Arrays)
Figure 112019029853292-pat00159
(here,
Figure 112019029853292-pat00160
) Matrix Q, wherein the matrix Q is composed of elements selected from the elements included in G, wherein a component difference between the columns in the matrix Q is configured to have all the elements of G at least once, ≪ / RTI >
Calculating a sequence value of a message to be allocated to each of the n message distribution groups based on the components included in the matrix Q; And
The distributed assignment processing unit, based on the calculated order value,
Figure 112019029853292-pat00161
Messages for each of the n message distribution groups
Figure 112019029853292-pat00162
By distributing the messages one by one,
And storing the data in the memory.
제7항에 있어서,
상기 분산 그룹 생성부가, 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는
Figure 112019029853292-pat00163
을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계
를 더 포함하고,
상기 순번 값을 연산하는 단계는
하기의 수학식 2의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
[수학식 2]
Figure 112019029853292-pat00164

여기서,
Figure 112019029853292-pat00165
는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고,
Figure 112019029853292-pat00166
는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서
Figure 112019029853292-pat00167
행,
Figure 112019029853292-pat00168
열에 위치하는 성분 값을 의미함.
8. The method of claim 7,
Wherein the distribution group generation unit generates a different unique identification value t for identifying each message distribution group for each of the n message distribution groups,
Figure 112019029853292-pat00163
Lt; RTI ID = 0.0 > a < / RTI >
Further comprising:
The step of calculating the order value
The method of claim 1, wherein the first message distribution group includes at least one message distribution group.
&Quot; (2) "
Figure 112019029853292-pat00164

here,
Figure 112019029853292-pat00165
Denotes a set of sequence values of a message to be allocated to a message distribution group to which a unique identification value t is assigned,
Figure 112019029853292-pat00166
When the order of the first row and the first column of the matrix Q is '0', the matrix Q
Figure 112019029853292-pat00167
line,
Figure 112019029853292-pat00168
Means the component value located in the column.
제8항에 있어서,
상기 분산 할당하는 단계는
순번 값 할당부가, 상기
Figure 112019029853292-pat00169
개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는
Figure 112019029853292-pat00170
을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계
를 더 포함하고,
상기 메시지의 분산 할당을 처리하는 단계는
상기 n개의 메시지 분산 그룹들 각각에 대해 상기
Figure 112019029853292-pat00171
개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는
Figure 112019029853292-pat00172
개의 메시지들을 선택하여 할당하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
9. The method of claim 8,
The distributing step
The order value assigning unit
Figure 112019029853292-pat00169
For each of the four messages, a different unique sequence value s for identifying each message (where s is
Figure 112019029853292-pat00170
Lt; RTI ID = 0.0 > a < / RTI >
Further comprising:
The step of processing the distributed assignment of the message
For each of the n message distribution groups,
Figure 112019029853292-pat00171
Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group
Figure 112019029853292-pat00172
A method of distributing data using a car covering arrangement for selecting and allocating messages.
제9항에 있어서,
고유 식별 값 할당부가, 상기 n개의 데이터 저장소들에 상기
Figure 112019029853292-pat00173
개의 메시지들이
Figure 112019029853292-pat00174
개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 단계;
그룹 분할부가, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들 - 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임 - 로 분할하는 단계; 및
데이터 로드부가, 상기
Figure 112019029853292-pat00175
개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각
Figure 112019029853292-pat00176
개씩 저장되어 있는 메시지들을 로드함으로써, 상기
Figure 112019029853292-pat00177
개의 메시지들 전체에 대한 데이터의 로드를 완료하는 단계
를 더 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
10. The method of claim 9,
Wherein the unique identification value assigning unit assigns, to the n data stores,
Figure 112019029853292-pat00173
Messages
Figure 112019029853292-pat00174
Assigning a unique identification value identical to a unique identification value assigned to a corresponding message distribution group among the n message distribution groups for each of the n data stores when the distributed storage is completed;
Dividing the n data stores into three data storage groups in the order of magnitude of the unique identification values allocated to the respective data stores, the number of data stores included in each data storage group is 2m ; And
The data loading unit
Figure 112019029853292-pat00175
Accesses 2m data stores included in any one of the three data storage groups and accesses the 2m data stores from the accessed 2m data stores
Figure 112019029853292-pat00176
By loading the stored messages one by one,
Figure 112019029853292-pat00177
Completing the loading of data for all of the messages
Further comprising the step of:
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.11. A computer-readable recording medium having recorded thereon a program for causing a computer to perform the method according to any one of claims 6 to 10. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.11. A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through a combination with a computer.
KR1020180003490A 2018-01-10 2018-01-10 Data distribution storage apparatus and method using difference covering arrays KR101977119B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180003490A KR101977119B1 (en) 2018-01-10 2018-01-10 Data distribution storage apparatus and method using difference covering arrays

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180003490A KR101977119B1 (en) 2018-01-10 2018-01-10 Data distribution storage apparatus and method using difference covering arrays

Publications (1)

Publication Number Publication Date
KR101977119B1 true KR101977119B1 (en) 2019-05-10

Family

ID=66580837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180003490A KR101977119B1 (en) 2018-01-10 2018-01-10 Data distribution storage apparatus and method using difference covering arrays

Country Status (1)

Country Link
KR (1) KR101977119B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138940A (en) * 2008-02-27 2010-12-31 마이크로칩 테크놀로지 인코포레이티드 Virtual memory interface
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
US20170344465A1 (en) * 2016-02-08 2017-11-30 Tata Consultancy Services Limited Systems and methods for generating covering arrays

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138940A (en) * 2008-02-27 2010-12-31 마이크로칩 테크놀로지 인코포레이티드 Virtual memory interface
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
US20170344465A1 (en) * 2016-02-08 2017-11-30 Tata Consultancy Services Limited Systems and methods for generating covering arrays

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
F. Demirkale, D. Donovan, J. Hall, A. Khodkar, and A. Rao, "Difference Covering Arrays and Pseudo-Orthogonal Latin Squares", Graphs and Combinatorics, vol. 32, pp. 1353-1374, 2016년 7월
박호성 외 1명, 다양한 파라미터를 가지는 분산 저장 부호의 조합론적 설계, 2016년도 한국통신학회 하계종합학술발표회 논문집(Vol.60), 2016.6. *

Similar Documents

Publication Publication Date Title
JP6542909B2 (en) File operation method and apparatus
US8867727B2 (en) Telephone number groups
US9355134B1 (en) Facilitating data redistribution in database sharding
US20100030995A1 (en) Method and apparatus for applying database partitioning in a multi-tenancy scenario
CN106407207B (en) Real-time newly-added data updating method and device
US11500673B2 (en) Dynamically generating an optimized processing pipeline for tasks
US8738624B1 (en) Increasing distributed database capacity
US10614236B2 (en) Self-contained consistent data masking
US11194826B2 (en) Single-pass distributed sampling from block-partitioned matrices
CN106960020B (en) A kind of method and apparatus creating concordance list
US10372729B2 (en) Parallel bootstrap aggregating in a data warehouse appliance
CN108241531A (en) A kind of method and apparatus for distributing resource for virtual machine in the cluster
US11790035B2 (en) System, method, and recording medium for mirroring matrices for batched cholesky decomposition on a graphic processing unit
US10387395B2 (en) Parallelized execution of window operator
US20200082026A1 (en) Graph data processing
US11853749B2 (en) Managing container images in groups
US11372846B2 (en) Generating and utilizing pre-allocated storage space
US11487824B2 (en) Automated database query filtering for spatial joins
KR101977119B1 (en) Data distribution storage apparatus and method using difference covering arrays
US20150256520A1 (en) Processing of restricted data
KR101873879B1 (en) Data distribution storage apparatus and method using relative difference set generated from the group having the two-dimensional element
US10803036B2 (en) Non-transitory computer-readable storage medium, data distribution method, and data distribution device
US11822570B2 (en) Database synchronization employing parallel poll threads
US20210216573A1 (en) Algorithm to apply a predicate to data sets
WO2014141510A1 (en) Test design assistance device, test design assistance method, program, and computer read medium

Legal Events

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