KR101649128B1 - Method and device for analyzing bigdata using hash function without collision - Google Patents
Method and device for analyzing bigdata using hash function without collision Download PDFInfo
- Publication number
- KR101649128B1 KR101649128B1 KR1020150031464A KR20150031464A KR101649128B1 KR 101649128 B1 KR101649128 B1 KR 101649128B1 KR 1020150031464 A KR1020150031464 A KR 1020150031464A KR 20150031464 A KR20150031464 A KR 20150031464A KR 101649128 B1 KR101649128 B1 KR 101649128B1
- Authority
- KR
- South Korea
- Prior art keywords
- hash
- value
- hash function
- collision
- minimum
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G06F17/30949—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G06F17/30628—
Abstract
Description
본 발명은 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치 에 관한 것이다. 보다 상세하게는 다수의 해시 함수를 구성하여 해시 키 인덱스가 충돌이 일어나지 않도록 하는 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치에 관한 것이다.
The present invention relates to a method and apparatus for analyzing big data using a hash function without collision. And more particularly, to a method and apparatus for analyzing big data using a hash function without collision to prevent a hash key index from being collided by constructing a plurality of hash functions.
세계경제포럼은 2012년의 떠오르는 10대 기술 중 첫 번째를 빅데이터 기술로 선정했으며 대한민국 지식경제부 R&D전략기획단은 10대 IT핵심기술 중 하나로 빅데이터를 선정하는 등 빅데이터가 중요시 되고 있다.
The World Economic Forum has selected the first of the top 10 emerging technologies in 2012 as the Big Data Technology, and the Ministry of Knowledge Economy R & D Strategic Planning Team of Korea has selected big data as one of the ten IT core technologies.
빅데이터는 기존의 분석체계로는 감당하기 힘들 정도로 거대한 데이터의 집합을 칭하며 고객정보와 같은 정형화되어있는 정보뿐만 아니라 비정형데이터, 실시간, 소셜 데이터 등 복합적으로 구성되어 있다. 특히나 몇 년 전부터 소셜네트워크가 폭발적으로 활성화되어가는 현상이 지속됨에 따라 빅데이터에 대한 관심은 커질 수밖에 없다. 그리고 빅데이터 자체만으로는 가치를 가지는 게 아니며 어떻게 분석하느냐에 따라 가치가 확연히 달라지기 때문에 빅데이터의 분석에 초점이 맞춰지는 것은 당연하다.
Big data is a huge collection of data that can not be met by conventional analysis systems. It is composed of unstructured data, real-time, and social data as well as standardized information such as customer information. Especially, as the phenomenon of social network explosion has been going on since a few years ago, there is a growing interest in big data. It is not surprising that Big Data itself is not worth its own value, and its value depends on how it is analyzed.
소셜네트워크가 활성화 되어가면서 빅데이터의 시장 규모는 시간이 지나감에 따라, 개인당 생산, 소비하는 데이터의 양이 많아짐에 따라 점점 커져가고 있고 앞으로도 계속해서 커질 것이다. 기존의 빅데이터 분석을 위한 인덱싱(Indexing)은 최소 완전 해시 함수(MPHF, minimal perfect hash function)라는 기법을 이용했다. 그러나 최소 완전 해시 함수의 구조상 데이터의 범위가 너무 커져버리면 충돌이 일어날 확률이 높아지며 그에 따라 처리속도가 떨어지게 된다.
As the social network becomes more active, the market size of big data is getting bigger and bigger as the amount of data produced and consumed per person grows over time. Indexing for existing big data analysis uses a technique called minimal perfect hash function (MPHF). However, if the structure of the minimum complete hash function becomes too large, the probability of collision increases and the processing speed decreases accordingly.
상기에서 설명하나 바와 같이, 최소 완전 해시 함수는 1980년대부터 데이터를 빠른 속도로 처리하는 방법으로 보편적으로 쓰였다. 최소 완전 해시 함수(MPHF)란 N개의 key set를 최소의 기억 공간인 N개의 해시 테이블(hash table)에 충돌이 없이 저장하여 검색할 수 있는 해시 함수이다.
As described above, the least-perfect hash function has been commonly used as a method of processing data at a high speed since the 1980s. The minimum complete hash function (MPHF) is a hash function that can retrieve N key sets by storing them in N hash tables without collision.
최소 완전 해시 함수를 개량해온 방법으로는 수 이론을 기초로 한 방법과, 키 집합 분할을 기초로 한 방법, 탐색공간제한을 기초로 한 방법, 희소행렬압축을 기초로 한 방법 등 여러 가지 연구들이 진행되어 왔다. 그 중 1992년 Fox, Chen, Heath가 발표한 탐색공간제한을 기초로 한 방법은 380만개의 key 집합까지 최소 완전 해시 함수 생성이 가능하며, 문자열 형태 키 또한 처리가 가능하며, 사용하는 기억공간이 작다는 장점이 있다.Several methods have been proposed to improve the least complete hash function, such as a number theory based method, a key set partitioning based method, a search space limitation based method, and a sparse matrix compression based method It has been progressed. In 1992, Fox, Chen and Heath announced that the method based on the search space limitation can generate a minimum complete hash function up to 380,000 key sets, There is an advantage that it is small.
N개의 키 세트(key set)를 N개의 해시 테이블(hash table)에 저장할 수 있는 방식은 최적화된 DB시스템으로 보이나 사실 최소 완전 해시 함수에는 결정적인 문제점이 있다. 구체적으로, 해시 함수의 특성상 다른 입력을 넣어도 같은 출력을 가지기도 한다는 점과, 빅데이터의 입력 데이터 범위가 제한되어 있는 게 아닌 지속적으로 추가된다는 점은 최소 완전 해시 함수의 결정적인 문제점이다.
The manner in which N key sets can be stored in N hash tables seems to be an optimized DB system, but in fact there is a critical problem with the least complete hash function. Specifically, it is a crucial problem of the minimum complete hash function that the same output is obtained by inserting another input due to the nature of the hash function, and the input data range of the big data is not limited but continuously added.
도1에 도시된 바와 같이, Key 1과 Key 3가 같은 버킷(Bucket)으로 충돌하는 것이 최소 완전 해시 함수의 문제점이다. 해시 함수는 모든 입력값에 대해 다른 출력값을 출력하는 함수가 아닌 최대한 빠르게 출력해주는 함수이므로 어느 정도의 충돌을 감수할 수 밖에 없다. 그러나 빅데이터의 경우 충돌이 끝도 없이 일어나게 되어 이러한 충돌을 줄이는 방법을 고안할 필요성이 있다.
As shown in FIG. 1, collision of
또한 최소 완전 해시 함수는 도2에서 보여지는 바와 같이, N개의 키 세트를 입력시 N개의 해시 테이블에 저장할 수 있는 방법이나 빅데이터의 특성상 지속적으로 추가되는 데이터에 적절한 계산을 하기 힘들다는 점이 문제점이다. 최소 완전 해시 함수를 적용하기 위해서는 데이터 세트(Data set)를 N개의 키 세트로 분할하는 작업을 거쳐야 하나 빅데이터는 데이터범위가 정해져있는 것이 아닌 연속적으로 입력되기 때문에 MPHF으로는 해결하기 힘들다.
Also, as shown in FIG. 2, the minimum complete hash function is problematic in that it is difficult to appropriately calculate the data to be continuously added due to the nature of big data or the method of storing N sets of keys in N hash tables . In order to apply the least-perfect hash function, it is necessary to divide the data set into N key sets. However, MPHF can not solve the problem because the big data is continuously input, not the data range.
해시 함수의 특성상 다른 입력을 넣어도 같은 출력을 가지기도 한다는 점과, 빅데이터의 입력 데이터 범위가 제한되어 있는 게 아닌 지속적으로 추가된다는 점은 최소 완전 해시 함수의 결정적인 문제점이다.
Because of the nature of the hash function, it is the crucial problem of the least-perfect hash function that it has the same output even if other inputs are input, and that the input data range of the big data is constantly added instead of being limited.
따라서, 상기 문제점들을 해결하기 위한 새로운 인덱싱 기법이 요구된다.
Therefore, a new indexing technique for solving the above problems is required.
본 발명이 이루고자 하는 기술적 과제는 다수의 해시 함수를 구성하여 키 인덱스가 충돌이 일어나지 않도록 하는 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치를 제공하는데 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and an apparatus for analyzing big data using a hash function without collision in which a plurality of hash functions are constructed so that a key index does not collide.
본 발명이 이루고자 하는 다른 기술적 과제는 빅데이터를 빠른 속도로 분석하는 인덱싱을 이용하여 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치를 제공하는데 있다.
Another aspect of the present invention is to provide a method and apparatus for analyzing big data using a hash function without collision using indexing for analyzing big data at a high speed.
상기 목적을 달성하기 위한, 본 발명에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법은 해시 함수를 메인 해시와 일반 해시로 분할하는 단계; 및 상기 해시 함수의 개수를 조절하는 단계를 포함할 수 있다.
According to another aspect of the present invention, there is provided a method of analyzing big data using a collisionless hash function, the method comprising: dividing a hash function into a main hash and a general hash; And adjusting the number of hash functions.
여기서, 상기 해시 함수의 개수를 조절하는 단계는, 최소 특성수를 결정하는 단계; 및 상기 최소 특성수를 기초로 인덱싱을 수행하는 단계를 포함할 수 있다.
Here, the step of adjusting the number of hash functions may include: determining a minimum number of characteristics; And performing indexing based on the minimum number of characteristics.
이 때, 상기 최소 특성수를 결정하는 단계는 휴리스틱 알고리즘을 사용할 수 있다.
At this time, the step of determining the minimum characteristic number may use a heuristic algorithm.
상기 최소 특성수를 결정하는 단계는, 인덱싱 함수를 를 정의하고, 는 주 구분 특성, 는 보조 구분 특성으로 나누는 단계; 인 동안, 를 산출하고, 산출된 결과 값이 최소인 를 에서 찾아 에 추가하는 단계; 상기 , 그룹에서 임의의 , 값을 비교하여 충돌횟수가 감소하는 방향으로 값을 설정하는 단계; 상기 , 그룹에서 임의의 , 값을 선택하여 라 하고, 상기 를 상기 로 대체 시 충돌횟수가 감소하는 경우 대체하는 단계; 일 때까지 2 내지 4번 반복하고, 가 되면 종료하는 단계를 포함하고, Wherein determining the minimum number of characteristics comprises: Lt; / RTI > Is a state classification characteristic, Dividing it into auxiliary classification characteristics; While, And if the calculated result value is the minimum value To Find ; remind , Any , And setting a value in a direction in which the number of times of collision is decreased; remind , Any , By selecting a value Quot; Gt; When the number of collisions is reduced, 2 < / RTI > to 4 < RTI ID = And terminating,
여기서, 는 을 구성할 특성 개수로써, 을 특징으로 할 수 있다.
here, The As the number of characteristics to constitute, Can be characterized.
상기 최소 특성수를 기초로 인덱싱을 수행하는 단계는, 입력값에 대해 상기 과 로 분리하는 단계; 상기 에 해수 함수를 통해 인덱스(index)를 설정하는 단계; 상기 인덱스 값에 해당하는 값과, 입력값에 대한 값을 비교하여, 일치하는 경우 인덱스 값을 출력하는 단계; 및 일치하지 않는 경우, 추가 인덱스 값을 생성하여 할당 후 출력하는 단계를 포함할 수 있다.
Wherein the step of performing indexing based on the minimum characteristic number comprises: and ; remind Setting an index through a sea water function; Corresponding to the index value Value, and for the input value Comparing the values and outputting index values if they match; And if not, generating an additional index value and outputting the index value.
또한, 상기 목적을 달성하기 위한, 본 발명에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 장치는, 해시 테이블을 병렬로 입력하는 입력부; 상기 입력된 병렬 해시 테이블을 기초로 해시 함수를 메인 해시와 일반 해시로 나누어 진행하고, 충돌이 일어나는 경우 인덱싱 기법을 이용하여 해시 함수의 개수를 조절하는 제어부를 포함할 수 있다.
According to another aspect of the present invention, there is provided an apparatus for analyzing big data using a collision-free hash function, the apparatus comprising: an input unit for inputting a hash table in parallel; And a controller for dividing the hash function into a main hash and a general hash based on the input parallel hash table and adjusting the number of hash functions using an indexing method when a collision occurs.
본 발명에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치에 의하면, 다수의 해시 함수를 구성하여 키 인덱스가 충돌이 일어나지 않게 할 수 있으며, 빅데이터를 빠른 속도로 분석할 수 있다.
According to the method and apparatus for analyzing big data using the collision-free hash function according to the present invention, a plurality of hash functions can be configured to prevent the key index from colliding with each other, and the big data can be analyzed at a high speed.
도 1은 해시 함수의 충돌 문제를 나타내는 도면이다.
도 2는 최소 완전 해시 함수을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법을 나타내는 흐름도이다.
도 4은 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 최적의 인덱스 개수를 결정하는 방법을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 장치를 나타내는 블록도이다. 1 is a diagram showing a collision problem of a hash function.
FIG. 2 is a diagram showing a minimum complete hash function. FIG.
FIG. 3 is a flowchart illustrating a method of analyzing big data using a collision-free hash function according to an embodiment of the present invention.
4 is a flowchart illustrating a method of analyzing big data using a hash function without collision according to an embodiment of the present invention.
5 is a diagram illustrating a method of analyzing big data using a collision-free hash function according to an embodiment of the present invention.
6 is a diagram illustrating a method for determining an optimal number of indexes according to an embodiment of the present invention.
FIG. 7 is a block diagram showing a big data analysis apparatus using a collision-free hash function according to an embodiment of the present invention.
이하 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명할 수 있다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 할 수 있다. 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 당업자에게 자명하거나 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather obvious or understandable to those skilled in the art.
도 3 및 도 4은 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법을 나타내는 흐름도이다. FIG. 3 and FIG. 4 are flowcharts illustrating a method of analyzing big data using a collision-free hash function according to an embodiment of the present invention.
도 3및 도 4를 참조하면, 본 발명에 따라 빅데이터를 분석하기 위해서는, 우선, 해시 함수를 메인 해시와 일반 해시로 분할한다(S100). 이어서, 해시 함수의 개수를 조절한다(S200). Referring to FIG. 3 and FIG. 4, in order to analyze big data according to the present invention, a hash function is first divided into a main hash and a general hash (S100). Then, the number of hash functions is adjusted (S200).
보다 구체적으로, 상기 S100과 같이 해시 함수의 개수를 조절하는 하기 위해서, 최소 특성수를 결정하고(S210), 상기 최소 특성수를 기초로 인덱싱을 수행한다(S220).
More specifically, in order to adjust the number of hash functions as in S100, a minimum number of characteristics is determined (S210), and indexing is performed based on the minimum number of characteristics (S220).
이 때, S210와 같이 최소 특성수를 결정하기 위해서 본 발명은 휴리스틱 알고리즘을 이용한다. 이를 설명하면, 우선, 인덱싱 함수를 를 정의하고, 는 주 구분 특성, 는 보조 구분 특성으로 나눈다. At this time, in order to determine the minimum number of characteristics as in S210, the present invention uses a heuristic algorithm. To explain this, first, an indexing function Lt; / RTI > Is a state classification characteristic, Is divided into secondary classification characteristics.
다음, 인 동안, 를 산출하고, 산출된 결과 값이 최소인 를 에서 찾아 에 추가한다. next, While, And if the calculated result value is the minimum value To Find .
다음, 상기 , 그룹에서 임의의 , 값을 비교하여 충돌횟수가 감소하는 방향으로 값을 설정한다. Next, , Any , And sets the value in a direction in which the collision frequency decreases.
다음, 상기 , 그룹에서 임의의 , 값을 선택하여 라 하고, 상기 를 상기 로 대체 시 충돌횟수가 감소하는 경우 대체한다.Next, , Any , By selecting a value Quot; Gt; The number of collisions is reduced.
다음, 일 때까지 2 내지 4번 반복하고, 가 되면 종료한다. 이 때, 는 을 구성할 특성 개수로써, 을 특징으로 한다.
next, 2 < / RTI > to 4 < RTI ID = . At this time, The As the number of characteristics to constitute, .
또한, S220과 같이, 최소 특성수를 기초로 인덱싱을 수행하기 위해서는, 우선적으로, 입력값에 대해 상기 과 로 분리하고, 상기 에 해수 함수를 통해 인덱스(index)를 설정한다. 그리고, 상기 인덱스 값에 해당하는 값과, 입력값에 대한 값을 비교하여, 일치하는 경우 인덱스 값을 출력하며, 일치하지 않는 경우, 추가 인덱스 값을 생성하여 할당 후 출력한다.
In order to perform indexing based on the minimum characteristic number as in S220, and , And And sets an index through a sea water function. Then, the value corresponding to the index value Value, and for the input value Compare the values, and if they match, output the index value. If they do not match, generate the additional index value and output it.
도 5는 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법을 나타내는 도면이다. 즉, 도 5는 최소 완전 해시 함수(MPHF, minimal perfect hash function)의 문제점인 해시 함수 충돌을 피하기 위한 인덱싱 구조를 나타내고 있다. 또한, 도 6은 본 발명의 일 실시예에 따른 최적의 인덱스 개수를 결정하는 방법을 나타내는 도면이다. 5 is a diagram illustrating a method of analyzing big data using a collision-free hash function according to an embodiment of the present invention. That is, FIG. 5 shows an indexing structure for avoiding a hash function collision, which is a problem of a minimal perfect hash function (MPHF). FIG. 6 is a diagram illustrating a method for determining the optimal number of indexes according to an embodiment of the present invention. Referring to FIG.
도 5와 도 6을 참조하여 본 발명의 일 실시예에 따른 빅데이터 분석 방법을 설명할 수 있다. Referring to FIGS. 5 and 6, a method of analyzing big data according to an embodiment of the present invention can be described.
예를 들어, 우선, 도 5를 참조하여 설명하면, 종래와 같이, 6개의 키(key)를 해시 테이블(hash table)에 입력하기 위해 6개의 해시 테이블을 준비하는 것이 아닌, 4개의 해시 테이블을 병렬로 준비한다. For example, referring to FIG. 5, instead of preparing six hash tables for inputting six keys into a hash table, four hash tables Prepare in parallel.
태그에 연관되는 아이템을 처리하기 위한 최적의 병렬 컴퓨팅을 구현하기 위해서는 최적의 해시 함수 개수를 결정해야 한다. 또한, 다수의 아이템이 해시 함수를 거쳤을 경우, 충돌이 일어나지 않으면서도 최소 인덱스 개수를 결정 해야 한다. The optimal number of hash functions must be determined in order to implement optimal parallel computing to handle the items associated with the tag. In addition, if a number of items have passed a hash function, the minimum index number must be determined without collision.
예를 들어, 도 5에 도시된 바와 같이, p1은 F1:1에 p4와 함께 2개 할당되어 있어 충돌이 일어난다. 그러나 충돌이 일어나는 경우, 해시 함수를 하나 더 생성하여 충돌이 일어났던 p4 는 F2:1로 할당이 되고 p1은 실선으로 F1:1에 할당이 된다. 이와 같은 방법으로 충돌이 일어나지 않은 인덱싱 함수를 형성할 수 있다. For example, as shown in FIG. 5, p1 is assigned to F1: 1 along with p4, and a collision occurs. However, if a collision occurs, another hash function is generated so that p4 where the collision occurred is assigned to F2: 1 and p1 is assigned to F1: 1 with a solid line. In this way, an indexing function without collision can be formed.
그러나, 여기서, 해시 함수에 할당된 인덱스의 개수가 증가할 경우 충돌 확률은 낮으나 인덱스가 사용되지 않을 가능성이 생겨 비효율적이다. 예를 들어, 도 5에서 p3의 인덱스는 F1:2와 F2:3인데 이분 최대 매칭 기법을 통해 F2:3에 할당되고 F1:2에는 아무런 아이템이 할당되지 않을 수 있다. 따라서, 인덱스의 개수를 줄여야 한다. 그러나 인덱스 개수를 너무 줄이게 되면 충돌이 일어나게 되고 해시 함수의 개수가 너무 늘어나게 되니 최적의 인덱스 개수 설정이 중요함을 알 수 있다. 즉, 도 6에 도시된 방법과 같이 최적의 인덱스 개수를 결정할 수 있다. However, when the number of indexes allocated to the hash function increases, the probability of collision is low, but the index is not used, which is inefficient. For example, in FIG. 5, the indexes of p3 are F1: 2 and F2: 3, which are allocated to F2: 3 through the maximum matching technique, and no items are allocated to F1: 2. Therefore, the number of indexes must be reduced. However, if the number of indexes is reduced too much, collisions will occur and the number of hash functions will increase too much. Therefore, it is important to set the optimum number of indexes. That is, the number of optimal indexes can be determined as shown in FIG.
충돌 없는 인덱싱을 위해 사용되는 특성의 수를 m, 각 특성의 특징 개수를 라 하는 경우, 최대로 구분 지을 수 있는 인덱스의 수는 로 나타낼 수 있다. 실제로 구분이 필요한 인덱스 수는 평균 이며, 보다 많지 않고, 가지 특성으로 표현할 수 있다. Let m be the number of attributes used for collision-free indexing, , The maximum number of indices that can be . The number of indices that actually need to be separated is the average Lt; Not much more, It can be expressed by branch characteristics.
즉, 인덱싱에 필요한 최소 특성수와 해시 구조에 따라 요구되는 추가 특성을 구성할 수 있으면, 빅데이타 연산에 따른 비용을 절감할 수 있다. 따라서, 도 3및 도 4에서 상술된 바와 같이, 최소 특성수를 결정하고 인덱싱할 수 있다.
That is, if the minimum number of characteristics required for indexing and the additional characteristics required according to the hash structure can be configured, the cost of the big data operation can be reduced. Thus, as described above in FIGS. 3 and 4, the minimum number of characteristics can be determined and indexed.
도 7은 본 발명의 일 실시예에 따른 충돌이 없는 해시 함수를 이용한 빅데이터 분석 장치를 나타내는 블록도이다. FIG. 7 is a block diagram showing a big data analysis apparatus using a collision-free hash function according to an embodiment of the present invention.
도 7을 참조하면, 충돌이 없는 해시 함수를 이용한 빅데이터 분석 장치(1)는 입력부(110), 제어부(120), 출력부(130) 및 저장부(140)를 포함할 수 있다. 상기 해시함수는 하나의 문자열을 보다 빨리 찾을 수 있도록 주소에 직접 접근할 수 있는 짧은 길이의 값이나 키로 변환하는 알고리즘을 수식으로 표현한 것이다.
7, the big
우선, 입력부(110)는 해시 테이블을 병렬로 입력할 수 있다. 도 5를 참조하여 설명한 바와 같이, 6개의 키(key)를 해시 테이블(hash table)에 입력하기 위해 6개의 해시 테이블을 준비하는 것이 아닌, 4개의 해시 테이블을 병렬로 준비할 수 있다.
First, the
또한, 제어부(120)는 상기 입력된 병렬 해시 테이블을 기초로 해시 함수를 메인 해시와 일반 해시로 나누어 진행하고, 충돌이 일어나는 경우 인덱싱 기법을 이용하여 해시 함수의 개수를 조절할 수 있다.
In addition, the
또한, 출력부(130)는 최소 특성수를 출력할 수 있고, 인덱싱 결과를 출력할 수 있다.
Also, the
마지막으로, 저장부(140)는 해시 연산을 통해서 산출된 결과값이 저장될 수 있다. 또한 저장부(140)는 최소 특성수 및 인덱스 값이 저장될 수 있다.
Finally, the
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation in the embodiment in which said invention is directed. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the appended claims.
Claims (6)
해시 함수를 메인 해시와 일반 해시로 분할하는 단계; 및
상기 해시 함수의 개수를 조절하는 단계를 포함하되,
상기 해시 함수의 개수를 조절하는 단계는,
퓨리스틱 알고리즘을 이용하여 최소 특성수를 결정하는 단계; 및
상기 최소 특성수를 기초로 인덱싱을 수행하는 단계
를 포함하고,
상기 최소 특성수를 결정하는 단계는,
인덱싱 함수를 를 정의하고, 는 주 구분 특성, 는 보조 구분 특성으로 나누는 단계;
인 동안, 를 산출하고, 산출된 결과 값이 최소인 를 에서 찾아 에 추가하는 단계;
상기 , 그룹에서 임의의 , 값을 비교하여 충돌횟수가 감소하는 방향으로 값을 설정하는 단계;
상기 , 그룹에서 임의의 , 값을 선택하여 라 하고, 상기 를 상기 로 대체 시 충돌횟수가 감소하는 경우 대체하는 단계;
일 때까지 2 내지 4번 반복하고, 가 되면 종료하는 단계
를 포함하고,
여기서, 는 을 구성할 특성 개수로써, 을 특징으로 하는 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법.
In a big data analysis method,
Dividing the hash function into a main hash and a general hash; And
And adjusting the number of hash functions,
Wherein the step of adjusting the number of hash functions comprises:
Determining a minimum number of characteristics using a purulent algorithm; And
Performing indexing based on the minimum number of characteristics
Lt; / RTI >
Wherein the step of determining the minimum number of characteristics comprises:
Indexing functions Lt; / RTI > Is a state classification characteristic, Dividing it into auxiliary classification characteristics;
While, And if the calculated result value is the minimum value To Find ;
remind , Any , And setting a value in a direction in which the number of times of collision is decreased;
remind , Any , By selecting a value Quot; Gt; When the number of collisions is reduced,
2 < / RTI > to 4 < RTI ID = Step to end if
Lt; / RTI >
here, The As the number of characteristics to constitute, A method for analyzing big data using a hash function without collision.
상기 최소 특성수를 기초로 인덱싱을 수행하는 단계는,
입력값에 대해 상기 과 로 분리하는 단계;
상기 에 해수 함수를 통해 인덱스(index)를 설정하는 단계;
상기 인덱스 값에 해당하는 값과, 입력값에 대한 값을 비교하여, 일치하는 경우 인덱스 값을 출력하는 단계; 및
상기 인덱스 값에 해당하는 값과, 입력값에 대한 값을 비교하여, 일치하지 않는 경우 추가 인덱스 값을 생성하여 할당 후 출력하는 단계
를 포함하는 것을 특징으로 하는 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법.
The method according to claim 1,
Wherein the step of performing indexing based on the minimum number of characteristics comprises:
For the input value, and ;
remind Setting an index through a sea water function;
Corresponding to the index value Value, and for the input value Comparing the values and outputting index values if they match; And
Corresponding to the index value Value, and for the input value Compares the values, generates additional index values if they do not match, and outputs them after allocation
Wherein the hash function is a hash function.
상기 입력된 병렬 해시 테이블을 기초로 해시 함수를 메인 해시와 일반 해시로 나누어 진행하고, 충돌이 일어나는 경우 인덱싱 기법을 이용하여 해시 함수의 개수를 조절하는 제어부를 포함하되,
상기 해시함수의 개수를 조절하기 위해서, 퓨리스틱 알고리즘을 이용하여 최소특성수를 결정하고, 상기 최소특성수를 기초로 인덱싱을 수행하며,
상기 최소 특성수는,
인덱싱 함수를 를 정의하고, 는 주 구분 특성, 는 보조 구분 특성으로 나누는 단계;
인 동안, 를 산출하고, 산출된 결과 값이 최소인 를 에서 찾아 에 추가하는 단계;
상기 , 그룹에서 임의의 , 값을 비교하여 충돌횟수가 감소하는 방향으로 값을 설정하는 단계;
상기 , 그룹에서 임의의 , 값을 선택하여 라 하고, 상기 를 상기 로 대체 시 충돌횟수가 감소하는 경우 대체하는 단계;
일 때까지 2 내지 4번 반복하고, 가 되면 종료하는 단계를 수행하여 산출되며,
여기서, 는 을 구성할 특성 개수로써, 인 것을 특징으로 하는 충돌이 없는 해시 함수를 이용한 빅데이터 분석 장치. An input unit for inputting the hash tables in parallel;
And a controller for dividing the hash function into a main hash and a general hash on the basis of the input parallel hash table and adjusting the number of hash functions using an indexing method when a collision occurs,
In order to adjust the number of hash functions, a minimum characteristic number is determined using a purulistic algorithm, indexing is performed based on the minimum characteristic number,
The minimum number of characteristics may be,
Indexing functions Lt; / RTI > Is a state classification characteristic, Dividing it into auxiliary classification characteristics;
While, And if the calculated result value is the minimum value To Find ;
remind , Any , And setting a value in a direction in which the number of times of collision is decreased;
remind , Any , By selecting a value Quot; Gt; When the number of collisions is reduced,
2 < / RTI > to 4 < RTI ID = And then terminating the process.
here, The As the number of characteristics to constitute, Wherein the hash function is a hash function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150031464A KR101649128B1 (en) | 2015-03-06 | 2015-03-06 | Method and device for analyzing bigdata using hash function without collision |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150031464A KR101649128B1 (en) | 2015-03-06 | 2015-03-06 | Method and device for analyzing bigdata using hash function without collision |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101649128B1 true KR101649128B1 (en) | 2016-08-19 |
Family
ID=56875116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150031464A KR101649128B1 (en) | 2015-03-06 | 2015-03-06 | Method and device for analyzing bigdata using hash function without collision |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101649128B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680279A (en) * | 2023-08-03 | 2023-09-01 | 北京冠群信息技术股份有限公司 | Hash index-based data processing method, system, device and computer readable medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169316A (en) * | 2008-01-21 | 2009-07-30 | Mitsubishi Electric Corp | Hash function operational device, signature device, program and hash function operational method |
JP2014130489A (en) * | 2012-12-28 | 2014-07-10 | Fujitsu Ltd | Data storage program, data retrieval program, data retrieval device, data storage method, and data retrieval method |
-
2015
- 2015-03-06 KR KR1020150031464A patent/KR101649128B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169316A (en) * | 2008-01-21 | 2009-07-30 | Mitsubishi Electric Corp | Hash function operational device, signature device, program and hash function operational method |
JP2014130489A (en) * | 2012-12-28 | 2014-07-10 | Fujitsu Ltd | Data storage program, data retrieval program, data retrieval device, data storage method, and data retrieval method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680279A (en) * | 2023-08-03 | 2023-09-01 | 北京冠群信息技术股份有限公司 | Hash index-based data processing method, system, device and computer readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nagpal et al. | Comparative study of density based clustering algorithms | |
CN105760889A (en) | Efficient imbalanced data set classification method | |
US20170177705A1 (en) | Clustering using locality-sensitive hashing with improved cost model | |
GB2583290A (en) | Blockwise extraction of document metadata | |
US9619501B2 (en) | Index scan device and index scan method | |
US11579208B2 (en) | Method, apparatus and device for evaluating the state of a distribution transformer, and a medium and a program | |
CN102682086A (en) | Data segmentation method and data segmentation equipment | |
CN117033424A (en) | Query optimization method and device for slow SQL (structured query language) statement and computer equipment | |
JP2018046406A (en) | Data compression method, data compression device, computer program and database system | |
KR101649128B1 (en) | Method and device for analyzing bigdata using hash function without collision | |
KR20160113826A (en) | A Method on Initial Seeds Selection of K-Means for Big Data Clustering | |
CN106302236A (en) | A kind of method of data distribution and access device | |
EP3786816A1 (en) | Local search with global view for large scale combinatorial optimization | |
Adasme et al. | Stochastic maximum weight forest problem | |
KR101344649B1 (en) | Hash-based skyline query processing method and apparatus thereof | |
RU2020129151A (en) | Thinned Merkle tree method and system for processing data sets for their storage and tracking in a specific network | |
CN109657060B (en) | Safety production accident case pushing method and system | |
CN108021935B (en) | Dimension reduction method and device based on big data technology | |
CN110704535A (en) | Data binning method, device, equipment and computer readable storage medium | |
KR102279323B1 (en) | Method and device for grape spasification using edge prunning | |
Allias et al. | A hybrid gini PSO-SVM feature selection: an empirical study of population sizes on different classifier | |
KR102404982B1 (en) | Device and method for variable selection using elastic net regression | |
WO2019220608A1 (en) | Information processing device, information processing method, and information processing program | |
Knyazeva et al. | Comparison of the dynamics of active regions by methods of computational topology | |
CN104516978B (en) | The method of compression intermediate candidate frequent item set for Database Intrusion Detection field |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |