KR20010075870A - 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법 - Google Patents

시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법 Download PDF

Info

Publication number
KR20010075870A
KR20010075870A KR1020000002767A KR20000002767A KR20010075870A KR 20010075870 A KR20010075870 A KR 20010075870A KR 1020000002767 A KR1020000002767 A KR 1020000002767A KR 20000002767 A KR20000002767 A KR 20000002767A KR 20010075870 A KR20010075870 A KR 20010075870A
Authority
KR
South Korea
Prior art keywords
frame
processing node
signature
query
search
Prior art date
Application number
KR1020000002767A
Other languages
English (en)
Other versions
KR100319761B1 (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 KR1020000002767A priority Critical patent/KR100319761B1/ko
Publication of KR20010075870A publication Critical patent/KR20010075870A/ko
Application granted granted Critical
Publication of KR100319761B1 publication Critical patent/KR100319761B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)

Abstract

본 발명은 멀티미디어 데이터에 대한 검색을 빠르게 하기 위해 해싱 함수를 이용하여 시그니처라는 비트 스트링의 인덱스 구조를 만들고 이를 병렬 처리할 수 있도록 하는 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법에 관한 것으로, 신장 해싱과 프레임 분할 방식을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구축하는 제 1 단계; 구축된 저장 구조에 검색의 질의가 주어지면 질의로부터 질의 시그니처를 생성하고, 질의 시그니처와 저장 구조를 비교하여 동류키를 생성하여 동일한 양의 동류키를 각각의 프로세싱 노드로 전달하는 제 2 단계; 동류키를 전달받은 각각의 프로세싱 노드는 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지 여부를 판단하여, 그 판단결과를 이웃하는 프로세싱 노드에 전달하는 제 3 단계; 및 판단결과를 전달받은 프로세싱 노드가 매치 결과를 이용하여 매치되는 프레임을 검색하여 판단하고, 다음 프로세싱 노드로 전달하여 마지막 프레임에 도달하면 검색을 종료하는 제 4 단계를 포함하며, 데이터베이스 검색시스템 등에 이용됨.

Description

시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법{FRAME-PARTITIONED PARALLEL PROCESSING METHOD FOR DATABASE RETRIEVAL USING SIGNATURE FILE}
본 발명은 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 비트 스트링(bit string) 형태의 데이터(data)를 저장하는 데이터베이스(database)에서 질의(query)에 대한 검색을 빠르게 하기 위한, 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상기와 같은 병렬 처리 방법은 대규모 멀티미디어 데이터(multimedia data)를 데이터베이스에 저장할 때, 효율적인 데이터 관리를 위한 인덱스(index) 방법의 하나인 해싱(hashing) 기법을 이용하여 병렬 처리함으로써, 보다 빠르게 검색을 하기 위한 것이다. 이를 위하여 본 발명에서는 멀티미디어 데이터에 해싱 기법을 적용하여 레코드 당 축약된 비트 스트링을 구하고, 이것을 인덱스 구조로 만들어 저장한다. 이때, 축약된 비트 스트링을 레코드 시그니처(signature)라 한다. 또한, 검색의 대상이 되는 질의도 검색을 위한 같은 모양의 질의 시그니처로 만든다. 상기의 멀티미디어 데이터는 수시로 추가되고 삭제되며, 갱신되는 동적인 환경에 존재한다.
또한, 이러한 병렬처리가 수행되는 컴퓨터 시스템의 환경은 SN(Shared Nothing) 구조의 병렬처리 컴퓨터에서 수행된다. 상기의 SN 구조는 각각의 마이크로 프로세서(micro processor)에 자신의 메모리(memory)와 디스크(disk)를 가지며,상호 프로세서 간에는 고속의 네트워크로 연결된다. 여기서, 프로세서, 메모리, 디스크의 한 모음을 프로세싱 노드(processing node)라 한다.
한편, 종래의 "병렬처리를 위한 코드 분산 방법 및 장치"는 병렬 컴퓨터에서 코드 형태로 저장된 자료에 대해 프로세서에 분산시키는 방법과 장치를 개발하는 것으로, 질의 코드에 대한 동류코드를 병렬 프로세서에서 고르게 분포시키기 위해서 겹침(folding) 형태로 코드를 프로세서에 분할한다. 이렇게 하면 병렬 처리의 효율성을 높일 수 있다.
여기서, 동류코드란 질의에 매치되는 모든 비트 스트링 코드를 의미한다. 예를 들어, 질의 코드가 "0101"일 때, 동류코드는 "0101", "0111", "1101", "1111"이다.
종래의 "해밍필터" 방법은, 자료전송을 위해 1973년에 제안된 해밍코드를 이용하여 분산행렬(check matrix)을 만들고 이를 코드와 곱해서 얻은 결과 값으로 프로세서의 번호를 결정하여 처리하는 병렬처리 방법이다. 상기 분산행렬에서 행의 개수가 m이고, 열의 개수가 n일때, 프로세서의 개수 P는 아래의 [수학식 1]에 의하여 구해진다.
P = 2m= n+1
예를 들어, 프로세서 개수가 8일 때, (3X7)의 분산행렬이 구해진다.
그러나, 상기의 해밍필터는 [수학식 1]로 프로세서가 결정될 때에만 좋은 분산을 이룰 수 있는 단점이 있다.
또한, 종래의 기술들은 비트 스트링 형태의 데이터인 시그니처를 병렬 처리하기 위하여 해싱 기법의 키 값에 따라 분류하여 시그니처를 프로세싱 노드에 전달하였다. 즉, 검색할 때 해싱 함수에 의한 해싱키로부터 만들어지는 동류키를 가능한 프로세싱 노드에 고르게 분포시키는 방향으로 시그니처를 분류하였다. 여기서, 동류키는 상기의 동류코드와 같은 의미이다. 종래의 "병렬처리를 위한 코드 분산 방법 및 장치"는 동류키를 고르게 분포시키기 위해 겹침(folding) 방법을 사용하였고, 종래의 "해밍필터" 방법은 상기의 분산 방법처럼 비트 스트링의 레코드 중 분산행렬에 맞는 크기로 계산해서 프로세서의 번호를 결정하였다.
따라서, 종래에는 동류키를 고르게 분산시켜 병렬처리의 효율성을 높이려 했지만, 모든 경우에 대하여 동류키를 고르게 분산시킬 수 있는 방법이 없기 때문에 병렬처리를 위해 필수적인 실행 균등을 이루기 어려운 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 멀티미디어 데이터에 대한 검색을 빠르게 하기 위해 해싱 함수를 이용하여 시그니처라는 비트 스트링의 인덱스 구조를 만들고 이를 병렬 처리할 수 있도록 하는, 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 데이터베이스 검색시스템에 대한 구성 예시도.
도 2 는 본 발명에 따른 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법중 병렬 저장 구조를 나타내는 설명도.
도 3 은 본 발명에 따른 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법에 대한 일실시예 흐름도.
*도면의 주요 부분에 대한 부호의 설명
11 : 레코드 12 : 데이터베이스
13 : 레코드 시그니처 14 : 병렬검색
15 : 질의 시그니처
상기 목적을 달성하기 위한 본 발명은, 시그니처 파일을 이용한 데이터베이스 검색시스템에 적용되는 프레임 분할 병렬 처리 방법에 있어서, 신장 해싱과 프레임 분할 방식을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구축하는 제 1 단계; 상기 구축된 저장 구조에 검색의 질의(query)가 주어지면 질의로부터 질의 시그니처를 생성하고, 상기 질의 시그니처와 상기 저장 구조를 비교하여 동류키를 생성하여 동일한 양의 동류키를 각각의 프로세싱 노드로 전달하는 제 2 단계; 상기 동류키를 전달받은 상기 각각의 프로세싱 노드는 상기 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지 여부를 판단하여, 그 판단결과를 이웃하는 프로세싱 노드에 전달하는 제 3 단계; 및 상기 판단결과를 전달받은 프로세싱 노드가 매치 결과를 이용하여 매치되는 프레임을 검색하여 판단하고, 다음 프로세싱 노드로 전달하여 마지막 프레임에 도달하면 검색을 종료하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 데이터베이스 검색시스템에, 신장 해싱과 프레임 분할 방식을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구축하는 제 1 기능; 상기 구축된 저장 구조에 검색의 질의(query)가 주어지면 질의로부터 질의 시그니처를 생성하고, 상기 질의 시그니처와 상기 저장 구조를 비교하여 동류키를 생성하여 동일한 양의 동류키를 각각의 프로세싱 노드로 전달하는 제 2 기능; 상기 동류키를 전달받은 상기 각각의 프로세싱 노드는 상기 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지여부를 판단하여, 그 판단결과를 이웃하는 프로세싱 노드에 전달하는 제 3 기능; 및 상기 판단결과를 전달받은 프로세싱 노드가 매치 결과를 이용하여 매치되는 프레임을 검색하여 판단하고, 다음 프로세싱 노드로 전달하여 마지막 프레임에 도달하면 검색을 종료하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 데이터베이스 검색시스템에 대한 구성 예시도이다.
도 1에 도시된 바와 같이, 레코드(11)는 데이터베이스(12)의 저장 구조에 따라 저장되고, 삽입과 삭제가 빈번히 일어난다. 이러한 멀티미디어 데이터베이스에서 질의를 검색한다는 의미는 질의에 존재하는 데이터를 포함하는 모든 레코드를 구한다는 의미이다. 따라서, 검색을 빠르게 하기 위하여 먼저 레코드(11)로부터 레코드 시그니처(13)를 추출하여 저장하고, 주어진 질의로부터 질의 시그니처(15)를 추출하며, 이 질의 시그니처(15)를 레코드 시그니처(13)와 비교하여 매치(match)되는 레코드 시그니처를 찾는다. 이렇게 구해진 레코드 시그니처(13)에 해당하는 실제의 레코드가 질의를 포함하는지를 확인하게 된다. 여기서, 질의 시그니처(15)가 레코드 시그니처(13)에 매치된다는 의미는 레코드 시그니처(13)가 질의 시그니처(15)의 비트 스트링을 포함한다는 의미이다.
컴퓨터 시스템에 레코드의 삽입과 삭제가 빈번히 발생하는 동적인 환경을 지원하기 위하여 본 발명에서의 병렬 처리 방법은 신장해싱(Extendable Hashing)을 이용한다. 그러나, 종래의 기술에서는 해싱 함수의 키를 근거로 병렬 처리를 하는 반면, 본 발명에서는 실행 균등을 위하여 시그니처의 프레임(frame)을 근거로 병렬 처리를 수행한다.
상기의 프레임은 시그니처를 분할한 같은 크기의 시그니처 조각이다. 시그니처의 프레임 개수는 프로세싱 노드의 정수배 만큼으로 설정한다. 이렇게 함으로써, 프로세싱 노드 당 양적인 균등과 실행에 대한 균등을 이룰 수 있기 때문이다. 이렇게 분할된 프레임을 각 프로세싱 노드에 전달하여 저장한다.
도 2 는 본 발명에 따른 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법중 병렬 저장 구조를 나타내는 설명도이다.
도 2에 도시된 바와 같이, 신장 해싱과 프레임 분할 방법을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장하는 구조를 구성하고 나면 도2와 같은 저장 구조가 생성된다. 이에 대해 상세히 설명하면 다음과 같다.
첫번째, 신장 해싱과 프레임 분할 방법을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구성한다.
두번째, 병렬로 저장된 구조에 검색의 질의(query)가 주어지면, 질의로부터 질의 시그니처를 만들고, 상기의 질의 시그니처와 상기의 병렬로된 저장 구조를 비교하여 동류키를 생성하고, 각각의 프로세싱 노드에 동일한 양의 동류키를 전달한다.
세번째, 동류키를 전달 받은 각각의 프로세싱 노드는 상기 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지 여부를 판단하고, 매치되는 판단 결과를 이웃하는 프로세싱 노드에 전달한다.
네번째, 판단 결과를 전달 받은 프로세싱 노드는 상기 전달 받은 매치 결과를 이용하여 매치되는 프레임 만을 검색하여 다시 판단결과를 구하고, 또 다음 프로세싱 노드로 전달하여 마지막 프레임까지 도달했을 때, 검색을 종료한다.
컴퓨터 시스템에 존재하는 프로세싱 노드 중 하나는 메인 프로세싱 노드(main processing node) 역할을 수행하여 레코드가 데이터베이스에 삽입되면, 상기의 레코드를 레코드 시그니처로 만들고, 해싱함수에 의하여 저장될 위치를 결정하여 그 위치에 레코드 시그니처를 저장하기 위해 프레임으로 분할하며, 상기의 프레임을 각 프로세싱 노드에 전달한다. 상기의 메인 프로세싱 노드는 병렬처리에 가담하는 노드일 수도 있고 개별적인 하나의 프로세싱 노드일 수도 있다. 상기의 메인 프로세싱 노드는 신장 해싱의 해싱키들을 소유하고 있으며 레코드의 삽입, 삭제 및 검색의 시작을 수행하는 역할을 한다.
시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구성한 결과로 도 2와 같은 저장 구조가 형성된 다음, 저장된 구조에 검색의 질의가 주어지면 질의 시그니처를 만들고, 질의 시그니처로부터 동류키를 계산한다. 동류키의 개수를 프로세싱 노드의 개수로 나누어 각 프로세싱 노드에 같은 양의 동류키가 전달되도록 한다. 도 2에서 해싱키가 "1010"이므로 네개의 동류키 "1010", "1011", "1110", "1111"가 생성되고, 이중 "1010"은 프로세싱 노드 P1에, "1011"은 프로세싱 노드 P2에, "1110"은 프로세싱 노드 P3에, "1111"은 프로세싱 노드 P4에 전달되고 검색이 시작된다. 여기까지는 메인 프로세싱 노드에서 수행된다.
상기에 기술된 상기의 세번째 과정부터는 각 프로세싱 노드에서 수행된다. 프로세싱 노드 P1에서 질의 시그니처의 프레임 "0010 1100"이 레코드 시그니처의 프레임들과 비교된다. 병렬 처리를 위해 P1은 자신이 가지고 있는 블록 중 가장 상위 블록 두개를 검색하고, P2는 두번째 상위 블록 두개를, 그리고 Pn은 가장 마지막 블록을 동시에 검색한다. 이러한 레코드 시그니처 프레임을 포함하고 있는 블록을 프레임 블록이라 한다.
이때, 프레임 검색은 질의 시그니처 프레임의 검색 순서에 따라 수행된다. P1에서 "0010" 보다 "1100"이 "1"의 개수가 많기 때문에, 먼저 검색하면 레코드 시그니처 프레임 중 매치되지 않은 것을 더 빨리 찾아낼 수 있다. 도 2에서 "1100"과 매치되는 레코드 시그니처 프레임은 하나도 없음을 알 수 있으며, 다음 질의 프레임인 "0010"은 검색하지 않아도 된다.
이렇게, 검색된 결과는 P2에 전달되고, P1은 Pn에서 수행된 결과를 받아 가장 하위 블록을 검색한다. P2에서도 상기와 같은 과정을 거쳐 두개의 시그니처 모두가 매치됨을 알 수 있다. 질의 시그니처 프레임 "0000"은 모든 프레임에 매치됨으로 블록 접근을 줄이기 위해 프레임 검색을 수행하지 않는다. 이렇게 함으로써, 검색 수행을 더 빠르게 할 수 있다. 상기의 매치된 결과는 P3으로 전달되고 P2는 P1의 결과를 받아 가장 상위 블록을 검색한다.
상기의 과정들은 각 프로세싱 노드에서 처음 실행한 위치로 다시 되돌아 오면 끝나고, 매치된 결과는 메인 프로세싱 노드로 넘겨져 매치 결과가 통합된다.
도 3 은 본 발명에 따른 시그니처 파일을 이용한 데이터베이스 검색시스템에서의 프레임 분할 병렬 처리 방법에 대한 일실시예 흐름도이다.
도 3에 도시된 바와 같이, 사용자 질의로부터 질의 시그니처를 생성하고(301), 질의 시그니처를 이용하여 동류키 집합(EK)을 계산한다(302).
이어서, 같은 양의 동류키를 각 프로세싱 노드에 전달하여 각 프로세싱 노드로 분리한다(303). 이때, 이와 같은 과정은 메인 프로세싱 노드에서 수행된다.
이렇게, 같은 양의 동류키를 전달받은 각 프로세싱 노드는 각 동류키에 대한 프레임 그룹의 검색상태를 초기화한다(304). 여기서, 프레임 그룹은 한 동류키에 의해 가리켜지는 프레임 블록들의 집합을 의미하고, 검색상태는 한 프레임 그룹에 대하여 검색이 어느 프로세싱 노드에서 실행되고 있는지를 알기 위하여 프로세싱 노드의 번호를 값으로 갖는다.
이어서, 프레임들의 매치상태를 "1"로 초기화한다(305). 여기서, 매치상태는 프레임 그룹 내에 있는 시그니처에 대해 질의 시그니처와 매치되는지의 상태를 표시한다. 그러므로, 매치 상태는 레코드 시그니처 개수 만큼의 비트수가 필요하다.
또한, 프레임 그룹의 검색 상태 플래그를 "False"로 초기화한다(306). 그 이유는 프레임 블록에 매치되는 레코드 시그니처 프레임이 있음을 표시하기 위해서 이다. 만약 매치되는 프레임이 없으면, 검색상태를 "-1"로 바꿈으로써, 빠른 검색을 수행하게 되는데 이는 더 이상 프레임 블록을 포함하는 프레임 그룹을 검색할 필요가 없기때문이다.
한편, 아직 검색하지 않은 동류키가 존재하는지를 검색한다(307).
검색결과, 동류키가 존재하지 않으면 최종 매치된 시그니처를 출력하고(308), 동류키가 존재하면 프레임 블록의 시그니처 개수 만큼을 반복한 후(309) 질의 프레임이 레코드 프레임과 일치하는지를 판단한다(310).
검색결과, 동류키가 존재하지 않으면 최종 매치된 시그니처를 출력하고(308), 동류키가 존재하면 프레임 블록의 시그니처 개수만큼(309) 질의 프레임이 레코드 프레임과 일치하는지를 반복하여 판단한다(310). 여기서, (309)과정에서 반복한다는 의미는 (310), (311) 및 (312)과정에 해당하는 모든 부분을 반복한다는 의미이다.
판단결과, 질의 프레임이 레코드 프레임과 일치하면 검색상태를 "True" 로 바꾸고(311), 질의 프레임이 레코드 프레임과 일치하지 않으면 프레임의 검색상태를 "0"으로 바꾼다(312). 여기서, 검색 상태를 "0"으로 바꾸는 이유는 시그니처가 여러 프레임으로 나누어져 있으므로 일단 매치되었다고 가정하고 한 부분이라도 매치되지 않으면 전체 시그니처가 매치되지 않는 것이 되기 때문이다.
이어서, 검색한 프레임 블록의 상태 플래그가 "True"인지를 확인한다(313).
확인결과, 검색한 프레임 블록의 상태 플래그가 "True"이면 검색상태와 매치상태를 다음 프로세싱 노드로 전달하고(314), 검색한 프레임 블록의 상태 플래그가 "False"가 아니면 검색상태를 "-1"로 두고 검색상태만 전달한다(315).
즉, (313)에서 (315)까지는 프레임 블록에 대한 검색 상태를 확인하여 매치 결과(매치 상태와 검색 상태)를 다음 프로세싱 노드에 넘겨주는 과정이다. 즉, 검색상태 플래그가 "True"이면 매치되는 프레임이 존재함으로 검색 상태와 매치 상태를 모두 다음 프로세싱 노드로 넘겨준다. 그러나, False인 경우는 매치되는 시그니처가 없으므로 그다음 블록부터는 검색할 필요가 없으므로 "-1"값을 갖는 검색상태만 넘겨준다.
이후, 아직 검색하지 않은 동류키가 존재하는지를 검색하는 과정(307)부터 반복 수행하고, 모든 동류키를 검색한 다음에 최종적으로 매치되는 시그니처를 출력한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 시그니처를 병렬 처리하기 위해 프레임으로 분할하여 저장함으로써, 종래의 방법에서 이룰 수 없었던 실행의 균등을 이룰 수 있는 효과가 있다.
또한, 본 발명은 시그니처의 매치되는 특성에 의해 동류키가 발생하는데, 이 동류키를 병렬의 프로세싱 노드에 고르게 분포시킴으로써, 데이터에 대한 편중과 실행에 대한 편중을 최소화시킬 수 있으며, 병렬 처리의 프로세싱 노드를 효과적으로 이용하여 빠른 검색을 수행할 수 있는 효과가 있다.
그리고, 본 발명은, 시그니처를 프레임으로 분할하는 방법을 이용하는데 있어, 신장해싱의 구조를 해치지 않기 때문에 데이터의 삽입과 삭제가 빈번하게 발생하는 동적인 환경에서도 효율적으로 처리할 수 있는 효과가 있다.

Claims (5)

  1. 시그니처 파일을 이용한 데이터베이스 검색시스템에 적용되는 프레임 분할 병렬 처리 방법에 있어서,
    신장 해싱과 프레임 분할 방식을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구축하는 제 1 단계;
    상기 구축된 저장 구조에 검색의 질의(query)가 주어지면 질의로부터 질의 시그니처를 생성하고, 상기 질의 시그니처와 상기 저장 구조를 비교하여 동류키를 생성하여 동일한 양의 동류키를 각각의 프로세싱 노드로 전달하는 제 2 단계;
    상기 동류키를 전달받은 상기 각각의 프로세싱 노드는 상기 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지 여부를 판단하여, 그 판단결과를 이웃하는 프로세싱 노드에 전달하는 제 3 단계; 및
    상기 판단결과를 전달받은 프로세싱 노드가 매치 결과를 이용하여 매치되는 프레임을 검색하여 판단하고, 다음 프로세싱 노드로 전달하여 마지막 프레임에 도달하면 검색을 종료하는 제 4 단계
    를 포함하는 프레임 분할 병렬 처리 방법.
  2. 제 1 항에 있어서,
    상기 제 3 단계에 있어서,
    상기 각각의 프로세싱 노드에서 각 동류키에 대한 프레임들의 검색상태를 초기화하고, 프레임들의 매치 상태 초기화 및 프레임 그룹의 검색상태 플래그를 초기화하는 제 5 단계;
    상기 동류키를 검색한 결과에 따라, 프레임 블록의 시그니처 개수만큼 반복하여 질의 프레임과 레코드 프레임의 일치여부를 판단하는 제 6 단계; 및
    상기 판단결과에 따라, 검색 상태와 매치 상태 또는 검색 상태를 이웃하는 프로세싱 노드에 전달하는 제 7 단계
    를 포함하는 시그니처 파일을 이용한 프레임 분할 병렬 처리 방법.
  3. 제 2 항에 있어서,
    상기 프레임 그룹은,
    한 동류키에 의해 가리켜지는 프레임 블록들의 집합인 것을 특징으로 하는 프레임 분할 병렬 처리 방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 매치 상태는,
    상기 프레임 그룹 내에 있는 시그니처에 대해 질의 시그니처와의 매치 여부를 표시하는 것을 특징으로 하는 프레임 분할 병렬 처리 방법.
  5. 프로세서를 구비한 데이터베이스 검색시스템에,
    신장 해싱과 프레임 분할 방식을 이용하여 시그니처를 분할하고 각 프로세싱 노드에 전달하여 병렬로 저장 구조를 구축하는 제 1 기능;
    상기 구축된 저장 구조에 검색의 질의(query)가 주어지면 질의로부터 질의 시그니처를 생성하고, 상기 질의 시그니처와 상기 저장 구조를 비교하여 동류키를 생성하여 동일한 양의 동류키를 각각의 프로세싱 노드로 전달하는 제 2 기능;
    상기 동류키를 전달받은 상기 각각의 프로세싱 노드는 상기 동류키가 가리키는 프레임을 찾아서 질의 시그니처와 매치되는지 여부를 판단하여, 그 판단결과를 이웃하는 프로세싱 노드에 전달하는 제 3 기능; 및
    상기 판단결과를 전달받은 프로세싱 노드가 매치 결과를 이용하여 매치되는 프레임을 검색하여 판단하고, 다음 프로세싱 노드로 전달하여 마지막 프레임에 도달하면 검색을 종료하는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020000002767A 2000-01-21 2000-01-21 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법 KR100319761B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000002767A KR100319761B1 (ko) 2000-01-21 2000-01-21 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000002767A KR100319761B1 (ko) 2000-01-21 2000-01-21 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법

Publications (2)

Publication Number Publication Date
KR20010075870A true KR20010075870A (ko) 2001-08-11
KR100319761B1 KR100319761B1 (ko) 2002-01-05

Family

ID=19640193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000002767A KR100319761B1 (ko) 2000-01-21 2000-01-21 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법

Country Status (1)

Country Link
KR (1) KR100319761B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100413967B1 (ko) * 2000-12-30 2004-01-07 한국전자통신연구원 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및변환 방법
KR100903961B1 (ko) * 2007-12-17 2009-06-25 한국전자통신연구원 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830633A (ja) * 1994-07-13 1996-02-02 Hitachi Ltd テキストデータ検索装置
JPH0877191A (ja) * 1994-09-06 1996-03-22 Hitachi Ltd データベース管理システム
JPH1185787A (ja) * 1997-09-05 1999-03-30 Toshiba Corp リンク構造を有する情報の検索方法及び登録方法
JPH1196170A (ja) * 1997-09-17 1999-04-09 Toshiba Corp データベース作成方法および情報検索方法および情報検索装置および記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100413967B1 (ko) * 2000-12-30 2004-01-07 한국전자통신연구원 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및변환 방법
KR100903961B1 (ko) * 2007-12-17 2009-06-25 한국전자통신연구원 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템

Also Published As

Publication number Publication date
KR100319761B1 (ko) 2002-01-05

Similar Documents

Publication Publication Date Title
US6757675B2 (en) Method and apparatus for indexing document content and content comparison with World Wide Web search service
CN101595459B (zh) 用于快速且有效数据管理和/或处理的方法和系统
CN102122285B (zh) 一种数据缓存系统中的数据查询系统和数据查询方法
US6810398B2 (en) System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
JP4939421B2 (ja) データを検索し記憶するシステム及び方法
Yagoubi et al. Massively distributed time series indexing and querying
US7080091B2 (en) Inverted index system and method for numeric attributes
CN107391554B (zh) 高效分布式局部敏感哈希方法
US8429133B2 (en) Partial key indexes
US20160055191A1 (en) Executing constant time relational queries against structured and semi-structured data
US20100114843A1 (en) Index Compression In Databases
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
US10496648B2 (en) Systems and methods for searching multiple related tables
US6735600B1 (en) Editing protocol for flexible search engines
CN105447166A (zh) 一种基于关键字查找信息的方法及系统
US7765204B2 (en) Method of finding candidate sub-queries from longer queries
US20110179013A1 (en) Search Log Online Analytic Processing
KR100319761B1 (ko) 시그니처 파일을 이용한 데이터베이스 검색시스템에서의프레임 분할 병렬 처리 방법
Baluja et al. Permutation grouping: intelligent hash function design for audio & image retrieval
JP2007048318A (ja) リレーショナルデータベースの処理方法およびリレーショナルデータベース処理装置
CN113157736B (zh) 分布式数据库中的查询计划优化方法及系统
CN117453986B (zh) 一种搜索方法、后台服务器及搜索系统
KR20130078594A (ko) 해시 함수 기반의 인덱스를 이용한 텍스트 검색 장치 및 방법
CN112685399B (zh) 一种mes系统的标识数据库去重方法及系统
Нікітін et al. Modification of hashing algorithm to increase rate of operations in nosql databases

Legal Events

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

Payment date: 20121129

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee