KR101977119B1 - Data distribution storage apparatus and method using difference covering arrays - Google Patents
Data distribution storage apparatus and method using difference covering arrays Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed 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
Description
본 발명은 데이터의 손실이 발생하였을 때, 데이터의 복구가 용이하도록 복수의 데이터 저장소들에 복수의 메시지들을 분산해서 저장하는 기법에 대한 기술과 관련된다.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.
본 발명은 복수의 메시지들을 여러 데이터 저장소들에 분산 저장하는 방법에 있어서, 적은 수 데이터 저장소들만을 활용해서 상기 복수의 메시지들을 분산 저장할 수 있도록 함과 동시에 메시지가 분산 저장되어 있는 데이터 저장소들 중 최소한의 데이터 저장소들만을 선택하여 액세스하더라도 상기 복수의 메시지들이 모두 로드될 수 있도록 함으로써, 메시지들에 대한 데이터 손실을 방지할 수 있는 효율적인 데이터 분산 저장 기법을 제공하고자 한다.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)을 이용한 데이터 분산 저장 장치는 (여기서, 이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서, 임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 분산 그룹 생성부, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 (여기서, 임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산 할당부 및 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부를 포함한다.The data distribution storage apparatus using the difference covering arrays according to an embodiment of the present invention (here, And m is a natural number of 3 or more) 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, Messages (here, - 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 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.
또한, 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법은 (여기서, 이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서, 임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성하는 단계, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 (여기서, 임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계 및 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계를 포함한다.Also, a data distribution storage method using a car covering arrangement according to an embodiment of the present invention (here, And m is a natural number of 3 or more) 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, Messages (here, - 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 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
분산 그룹 생성부(111)는 개의 메시지들에 대해 n개의 데이터 저장소들(101, 102, 103)로의 분산 저장 명령이 인가되면, n개의 데이터 저장소들(101, 102, 103)에 대응하는 n개의 메시지 분산 그룹들을 생성한다.The distributed
여기서, 이고, m은 3이상의 자연수이며, 을 만족하는 자연수이다.here, M is a natural number of 3 or more, . ≪ / RTI >
그리고, 메시지란 n개의 데이터 저장소들(101, 102, 103)에 저장될 일종의 데이터 심볼(symbol)을 의미하는 것으로 상기 개의 메시지들은 각각 서로 다른 데이터 심볼이다.The message is a kind of data symbol to be stored in
메시지 분산 할당부(112)는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 개씩 분산 할당한다.The message
여기서, 이고, 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있다.here, , And messages distributedly allocated to the n message distribution groups may overlap with each other.
데이터 저장부(113)는 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, n개의 데이터 저장소들(101, 102, 103) 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.The
이때, 본 발명의 일실시예에 따르면, 메시지 분산 할당부(112)는 행렬 생성부(114), 순번 값 연산부(115) 및 분산 할당 처리부(116)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the message
행렬 생성부(114)는 아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는 (여기서, 임) 크기의 행렬 Q를 생성한다.The
여기서, 상기 행렬 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인 차 커버링 배열을 라고 하였을 때, 는 에 대하여 하기의 수학식 1에 따른 차 멀티셋 이 상기 G의 모든 원소들을 적어도 한 번 이상 가지고 있게 되는 행렬 , 로 정의된다.The car covering arrangement of degree t for the Abelian group G However, The Gt; < RTI ID = 0.0 > 1 < / RTI > ≪ / RTI > has all the elements of G above at least once procession , .
즉, 차 커버링 배열은 상기 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
이때, 의 마지막 행과 마지막 열의 모든 성분들은 0으로 구성된다.At this time, All components of the last row and last column of the table are zero.
본 발명에서는 차수가 '4'인 차 커버링 배열인 를 이용하는데, 을 제외하면 모든 에 대하여 행렬 Q가 정의될 수 있으며, 해당 차 커버링 배열에서 마지막 열을 제외한 임의의 두 개의 열의 차 멀티셋은 하기의 수학식 2와 같이 나타낼 수 있다.In the present invention, a car covering arrangement having a degree of '4' However, All except 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
예컨대, 일 때, 차수가 '4'인 차 커버링 배열 을 나타내는 행렬 Q는 하기의 수학식 3과 같이 나타낼 수 있다.for example, , A car covering array having a degree of '4' Can be expressed by Equation (3) below. &Quot; (3) "
순번 값 연산부(115)는 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산한다.The
분산 할당 처리부(116)는 상기 연산된 순번 값에 기초하여 상기 개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해 개씩 분산 할당함으로써, 메시지의 분산 할당을 처리한다.Based on the calculated order value, the distribution assignment processing unit (116) Messages for each of the n message distribution groups Thereby distributing the message.
이때, 본 발명의 일실시예에 따르면, 분산 그룹 생성부(111)는 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t를 할당할 수 있다.At this time, according to an embodiment of the present invention, the distribution
이때, t는 을 만족하는 정수들 중에서 선택된 값이다.Here, t is Lt; / RTI >
이때, 순번 값 연산부(115)는 하기의 수학식 4의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산할 수 있다.At this time, the sequence
여기서, 는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고, 는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서 행, 열에 위치하는 성분 값을 의미한다.here, 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, When the order of the first row and the first column of the matrix Q is '0', the matrix Q line, Means a component value located in a column.
이때, 본 발명의 일실시예에 따르면, 메시지 분산 할당부(116)는 순번 값 할당부(117)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the message
순번 값 할당부(117)는 상기 개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s를 할당한다. 여기서, s는 을 만족하는 정수들 중에서 선택된 값이다.The order
이때, 분산 할당 처리부(116)는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는 개의 메시지들을 선택하여 할당할 수 있다.At this time, the distribution
이때, 본 발명의 일실시예에 따르면, 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)는 고유 식별 값 할당부(118), 그룹 분할부(119) 및 데이터 로드부(120)를 더 포함할 수 있다.According to an embodiment of the present invention, the data
고유 식별 값 할당부(118)는 n개의 데이터 저장소들(101, 102, 103)에 상기 개의 메시지들이 개씩 분산 저장이 완료되면, n개의 데이터 저장소들(101, 102, 103) 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당한다.The unique identification
그룹 분할부(119)는 n개의 데이터 저장소들(101, 102, 103)을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들로 분할한다. 이때, 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개가 된다.The
데이터 로드부(120)는 상기 개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각 개씩 저장되어 있는 메시지들을 로드함으로써, 상기 개의 메시지들 전체에 대한 데이터의 로드를 완료한다.The
이하에서는 도 2를 참조하여, 본 발명에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the data
도 2는 본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)의 동작을 설명하기 위한 도면이다.2 is a view for explaining the operation of the data
먼저, 설명의 편의를 위해서, m을 '3'이라고 하고, 이로 인해, 이고, 이므로, 본 발명에 따른 차 커버링 배열을 이용한 데이터 분산 저장 장치(110)가 36개의 메시지들을 18개의 데이터 저장소들에 분산 저장하는 상황을 가정하기로 한다.First, for convenience of explanation, m is referred to as " 3 & ego, It is assumed that the data
분산 그룹 생성부(111)는 36개의 메시지들에 대한 분산 저장 명령이 인가되면, 18개의 데이터 저장소들에 대응하는 18개의 메시지 분산 그룹들을 생성할 수 있다.The distributed
이때, 분산 그룹 생성부(111)는 상기 18개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는 을 만족하는 정수들 중에서 선택된 값임)를 할당할 수 있다. 여기서, m은 '3'이라고 가정하였기 때문에 상기 고유 식별 값 t는 을 만족하는 정수가 될 것이고, 결국 분산 그룹 생성부(111)는 18개의 메시지 분산 그룹들 각각에 대해 '0'부터 '17'사이의 정수들을 고유 식별 값으로 하나씩 할당할 수 있다.At this time, the distribution
이때, 메시지 분산 할당부(112)에 포함되어 있는 행렬 생성부(114)는 아벨리안 군 G에 대한 차수가 '4'인 차 커버링 배열을 나타내는 (여기서, 임) 크기의 행렬 Q를 생성할 수 있는데, m을 '3'이라고 가정하였기 때문에 행렬 생성부(114)는 크기의 행렬 Q를 생성할 수 있다.At this time, the
여기서, 차수가 '4'인 차 커버링 배열을 나타내는 크기의 상기 행렬 Q는 상기 수학식 3에서 나타낸 행렬이 된다.Here, it is assumed that a car covering array having a degree of '4' The matrix Q of the size is the matrix shown in Equation (3).
이때, 순번 값 할당부(117)는 상기 36개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는 을 만족하는 정수들 중에서 선택된 값임)를 할당할 수 있다. 여기서, m은 '3'이라고 가정하였기 때문에 상기 고유 순번 값 s는 을 만족하는 정수가 될 것이고, 결국 순번 값 할당부(117)는 36개의 메시지들 각각에 대해 '0'부터 '35'사이의 정수들을 고유 순번 값으로 하나씩 할당할 수 있다.At this time, the order
이때, 순번 값 연산부(115)는 상기 수학식 4의 연산에 따라 18개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산할 수 있다.At this time, the sequence
관련해서, 순번 값 연산부(115)는 고유 식별 값 '0'이 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값을 연산하기 위해서, 상기 수학식 4에서 t에 '0'을 인가하고, m에 '3'을 인가함과 동시에 k를 '0'부터 '5'까지 증가시키면서 상기 수학식 4에 따른 연산을 수행함으로써, 하기의 수학식 5와 같은 '0'이라는 고유 식별 값이 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합인 N0를 연산할 수 있다. 이때, 상기 수학식 4에서 의 연산과 관련하여, 상기 행렬 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
이러한 방식으로, 순번 값 연산부(115)는 고유 식별 값이 '1'부터 '17'까지 할당되어 있는 나머지 메시지 분산 그룹들 각각에 대해서도 상기 수학식 4에 따른 연산을 수행함으로써, 각 메시지 분산 그룹들에 할당될 메시지의 순번 값을 연산할 수 있다.In this way, the sequence
이렇게, 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
관련해서, 도 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
그 이후, 데이터 저장부(113)는 18개의 메시지 분산 그룹들 각각에 할당되어 있는 6개의 메시지들을 상기 18개의 메시지 분산 그룹들 별로, 18개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장할 수 있다.Thereafter, the
이렇게, 18개의 데이터 저장소들에 메시지가 6개씩 분산 저장 완료되면, 고유 식별 값 할당부(118)는 18개의 데이터 저장소들 각각에 대해 18개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당할 수 있다.In this way, when six messages are distributedly stored in the 18 data stores, the unique
이때, 도 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
이는 곧 데이터 저장소들로부터 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
이러한 특성은 차 커버링 배열의 특성에 따른 것으로, n(여기서, 임)개의 데이터 저장소들에 (여기서, 이고, m은 3이상의 자연수임)개의 메시지들이 본 발명에 따른 차 커버링 배열에 기초하여 (여기서, 임)개씩 분산 저장되었다고 하였을 때, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(여기서, 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개가 됨)로 분할하게 되면, 각 데이터 저장소 그룹에는 개의 메시지들이 서로 중복되는 것 없이 모두 하나씩 저장되게 되는 것이다.These characteristics depend on the nature of the car covering arrangement, where n, Lt; RTI ID = 0.0 > (here, And m is a natural number of 3 or more) messages are based on a car covering arrangement according to the present invention (here, 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 Messages are stored one by one without overlapping each other.
이와 관련해서, 그룹 분할부(119)는 도 2에 도시된 표에서와의 관계에 따라 18개의 데이터 저장소들 각각에 6개의 메시지들이 분산 저장 완료되면, 18개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(211, 212, 213)로 분할할 수 있다.In this regard, when the
이때, 각 데이터 저장소 그룹에는 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
도 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)에서는 (여기서, 이고, m은 3이상의 자연수임)개의 메시지들에 대해 n(여기서, 임)개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 n개의 데이터 저장소들에 대응하는 n개의 메시지 분산 그룹들을 생성한다.In step S310, (here, And m is a natural number of 3 or more) (N) message storage groups corresponding to the n data stores are generated,
단계(S320)에서는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 (여기서, 임)개씩 분산 할당한다.In step S320, for each of the n message distribution groups, Messages (here, Respectively.
여기서, 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있다.Here, messages distributedly allocated to the n message distribution groups may overlap each other.
단계(S330)에서는 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장한다.In step S330, the message distribution groups are allocated to the n message distribution groups 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'인 차 커버링 배열을 나타내는 (여기서, 임) 크기의 행렬 Q(상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨)를 생성하는 단계, 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 단계 및 상기 연산된 순번 값에 기초하여 상기 개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해 개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 단계를 포함할 수 있다.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 (here, (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, Messages for each of the n message distribution groups And distributing the messages in a distributed manner.
이때, 본 발명의 일실시예에 따르면, 상기 차 커버링 배열을 이용한 데이터 분산 저장 방법은 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는 을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계를 더 포함할 수 있다.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 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)에서는 상기 개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는 을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S320, For each of the four messages, a different unique sequence value s for identifying each message (where s is And a value that is a value selected from among integers satisfying the following equation.
이때, 상기 메시지의 분산 할당을 처리하는 단계는 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는 개의 메시지들을 선택하여 할당할 수 있다.In this case, the process of distributing the messages may include: Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group Messages can be selected and assigned.
또한, 본 발명의 일실시예에 따르면, 상기 차 커버링 배열을 이용한 데이터 분산 저장 방법은 상기 n개의 데이터 저장소들에 상기 개의 메시지들이 개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 단계, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들(각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임)로 분할하는 단계 및 상기 개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각 개씩 저장되어 있는 메시지들을 로드함으로써, 상기 개의 메시지들 전체에 대한 데이터의 로드를 완료하는 단계를 더 포함할 수 있다.According to still another aspect of the present invention, there is provided a data distribution storage method using the car coverage array, Messages 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 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 By loading the stored messages one by one, 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
본 발명의 일실시예에 따른 차 커버링 배열을 이용한 데이터 분산 저장 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.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)
상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 (여기서, 임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산 할당부; 및
상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치. (here, And m is a natural number of 3 or more) 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, Messages (here, The messages distributed to the n message distribution groups may be overlapped with each other; And
And the message distribution groups 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.
상기 메시지 분산 할당부는
아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는 (여기서, 임) 크기의 행렬 Q - 상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨 - 를 생성하는 행렬 생성부;
상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 순번 값 연산부; 및
상기 연산된 순번 값에 기초하여 상기 개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해 개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 분산 할당 처리부
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.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 (here, ) 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, Messages for each of the n message distribution groups A distributed assignment processing unit for processing distributed assignment of messages,
And a data storage device for storing the data.
상기 분산 그룹 생성부는
상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는 을 만족하는 정수들 중에서 선택된 값임)를 할당하고,
상기 순번 값 연산부는
하기의 수학식 1의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.
[수학식 1]
여기서, 는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고, 는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서 행, 열에 위치하는 성분 값을 의미함.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, 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]
here, 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, When the order of the first row and the first column of the matrix Q is '0', the matrix Q line, Means the component value located in the column.
상기 메시지 분산 할당부는
상기 개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는 을 만족하는 정수들 중에서 선택된 값임)를 할당하는 순번 값 할당부
를 더 포함하고,
상기 분산 할당 처리부는
상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는 개의 메시지들을 선택하여 할당하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.The method of claim 3,
The message distribution assignment unit
remind For each of the four messages, a different unique sequence value s for identifying each message (where s is And a sequence number assigning unit
Further comprising:
The dispersion allocation processing unit
For each of the n message distribution groups, Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group The data distribution storage device using a car covering array for selecting and allocating a plurality of messages.
상기 n개의 데이터 저장소들에 상기 개의 메시지들이 개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 고유 식별 값 할당부;
상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들 - 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임 - 로 분할하는 그룹 분할부; 및
상기 개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각 개씩 저장되어 있는 메시지들을 로드함으로써, 상기 개의 메시지들 전체에 대한 데이터의 로드를 완료하는 데이터 로드부
를 더 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 장치.5. The method of claim 4,
The method of claim 1, Messages 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 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 By loading the stored messages one by one, 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;
메시지 분산 할당부가, 상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들을 (여기서, 임)개씩 분산 할당 - 상기 n개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계; 및
데이터 저장부가, 상기 n개의 메시지 분산 그룹들 각각에 할당되어 있는 개의 메시지들을 상기 n개의 메시지 분산 그룹들 별로, 상기 n개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.The distributed- (here, And m is a natural number of 3 or more) 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, Messages (here, - 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 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.
상기 분산 할당하는 단계는
행렬 생성부가, 아벨리안 군(abelian group) G에 대한 차수가 '4'인 차 커버링 배열(Difference Covering Arrays)을 나타내는 (여기서, 임) 크기의 행렬 Q - 상기 행렬 Q는 상기 G에 포함되어 있는 원소들로부터 선택된 성분들로 구성되되, 상기 행렬 Q에서 각 열들 간의 성분 차가 상기 G의 모든 원소를 적어도 한 번 이상 가지도록 구성됨 - 를 생성하는 단계;
순번 값 연산부가, 상기 행렬 Q에 포함되어 있는 성분들을 기초로 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 단계; 및
분산 할당 처리부가, 상기 연산된 순번 값에 기초하여 상기 개의 메시지들을 상기 n개의 메시지 분산 그룹들 각각에 대해 개씩 분산 할당함으로써, 메시지의 분산 할당을 처리하는 단계
를 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.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) (here, ) 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, Messages for each of the n message distribution groups By distributing the messages one by one,
And storing the data in the memory.
상기 분산 그룹 생성부가, 상기 n개의 메시지 분산 그룹들 각각에 대해 각 메시지 분산 그룹들을 식별하기 위한 서로 다른 고유 식별 값 t(이때, t는 을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계
를 더 포함하고,
상기 순번 값을 연산하는 단계는
하기의 수학식 2의 연산에 따라 상기 n개의 메시지 분산 그룹들 각각에 할당될 메시지의 순번 값을 연산하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.
[수학식 2]
여기서, 는 고유 식별 값 t가 할당되어 있는 메시지 분산 그룹에 할당될 메시지의 순번 값의 집합을 의미하고, 는 상기 행렬 Q의 첫 번째 행과 첫 번째 열의 순번을 '0'이라고 하였을 때 상기 행렬 Q에서 행, 열에 위치하는 성분 값을 의미함.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, 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) "
here, 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, When the order of the first row and the first column of the matrix Q is '0', the matrix Q line, Means the component value located in the column.
상기 분산 할당하는 단계는
순번 값 할당부가, 상기 개의 메시지들 각각에 대해 각 메시지들을 식별하기 위한 서로 다른 고유 순번 값 s(이때, s는 을 만족하는 정수들 중에서 선택된 값임)를 할당하는 단계
를 더 포함하고,
상기 메시지의 분산 할당을 처리하는 단계는
상기 n개의 메시지 분산 그룹들 각각에 대해 상기 개의 메시지들 중 각 메시지 분산 그룹에 할당되어야 할 것으로 연산된 순번 값과 동일한 고유 순번 값을 갖는 개의 메시지들을 선택하여 할당하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.9. The method of claim 8,
The distributing step
The order value assigning unit For each of the four messages, a different unique sequence value s for identifying each message (where s is 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, Message having the same unique sequence value as the sequence number calculated to be assigned to each message distribution group A method of distributing data using a car covering arrangement for selecting and allocating messages.
고유 식별 값 할당부가, 상기 n개의 데이터 저장소들에 상기 개의 메시지들이 개씩 분산 저장이 완료되면, 상기 n개의 데이터 저장소들 각각에 대해 상기 n개의 메시지 분산 그룹들 중 대응되는 메시지 분산 그룹에 할당되어 있는 고유 식별 값과 동일한 고유 식별 값을 할당하는 단계;
그룹 분할부가, 상기 n개의 데이터 저장소들을 각 데이터 저장소에 할당된 고유 식별 값의 크기 순서에 따라 3개의 데이터 저장소 그룹들 - 각 데이터 저장소 그룹에 포함되는 데이터 저장소의 개수는 2m개임 - 로 분할하는 단계; 및
데이터 로드부가, 상기 개의 메시지들에 대한 데이터 로드 명령이 인가되면, 상기 3개의 데이터 저장소 그룹들 중 어느 하나의 데이터 저장소 그룹에 포함되어 있는 2m개의 데이터 저장소들에 액세스하여 상기 액세스한 2m개의 데이터 저장소들로부터 각각 개씩 저장되어 있는 메시지들을 로드함으로써, 상기 개의 메시지들 전체에 대한 데이터의 로드를 완료하는 단계
를 더 포함하는 차 커버링 배열을 이용한 데이터 분산 저장 방법.10. The method of claim 9,
Wherein the unique identification value assigning unit assigns, to the n data stores, Messages 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 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 By loading the stored messages one by one, Completing the loading of data for all of the messages
Further comprising the step of:
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)
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 |
-
2018
- 2018-01-10 KR KR1020180003490A patent/KR101977119B1/en active IP Right Grant
Patent Citations (3)
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)
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 |