KR20060094000A - 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법 - Google Patents

데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법 Download PDF

Info

Publication number
KR20060094000A
KR20060094000A KR1020050029342A KR20050029342A KR20060094000A KR 20060094000 A KR20060094000 A KR 20060094000A KR 1020050029342 A KR1020050029342 A KR 1020050029342A KR 20050029342 A KR20050029342 A KR 20050029342A KR 20060094000 A KR20060094000 A KR 20060094000A
Authority
KR
South Korea
Prior art keywords
tree
node
bit stream
xml
query
Prior art date
Application number
KR1020050029342A
Other languages
English (en)
Other versions
KR100660028B1 (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 인천대학교 산학협력단
Publication of KR20060094000A publication Critical patent/KR20060094000A/ko
Application granted granted Critical
Publication of KR100660028B1 publication Critical patent/KR100660028B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; 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/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8373Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 XML(eXtensible Markup Language) 문서 내의 구조 정보를 얻어내기 위한 데이터베이스 개념 구조에 기반한 XML 트리의 색인 방법, 및 XML 문서 구조 정보에 대한 질의 수행을 위한 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법에 관한 것이다. 본 발명에 따른 XML 트리의 색인 방법은, a) XML 문서를 트리로 변환하는 단계; b) 트리의 각 노드에 순차적으로 각 레벨에 해당하는 번호를 부여하는 단계; c) 트리에 대한 확장된 트리를 재구성하는 단계; d) 확장된 트리에 대해 데이터를 색인화하고, 비트 스트림으로 변환하는 단계; 및 e) 색인화된 데이터 및 비트 스트림을 데이터베이스에 저장하는 단계를 포함한다. 본 발명에 따르면, 모든 구조 정보들을 효율적인 비트 스트림으로 변환하여 색인 알고리즘의 복잡성과 비효율적인 연산의 문제점을 해결하고, 또한, XML 문서 구조 정보에 대한 질의 수행시 색인 파일에 기반한 질의 스키마를 통해 빠르게 변환한 후, 색인 파일에 접근하여 반복적인 액세스를 피하고, 그 연산 결과를 빠르게 검색함에 따라, XML 문서의 효과적 분석 및 검색이 가능하고, 또한, XML 문서와 데이터베이스간의 원활한 호환성을 제공할 수 있다.
XML, 트리, 색인, 질의, 검색, 데이터베이스

Description

데이터베이스 개념 구조에 기반한 XML 트리의 색인 및 질의 방법 {A Scheme of Indexing and Query of XML Tree based Concept Structure of Database}
도 1은 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 XML 트리의 색인 방법을 나타내는 동작 흐름도이다.
도 2는 본 발명의 실시예에 따른 데이터베이스의 색인 스키마를 나타내는 테이블이다.
도 3은 본 발명의 실시예에 따른 XML 문서 트리에 순차적으로 번호를 부여하는 것을 예시하는 도면이다.
도 4는 본 발명의 실시예에 따른 노드별 비트 스트림을 예시하는 테이블이다.
도 5는 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 색인 파일 구조를 예시하는 도면이다.
도 6은 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법을 나타내는 동작 흐름도이다.
도 7은 본 발명의 실시예에 따른 그래프 형식의 XML 쿼리(Query)를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 질의의 비트 스트림을 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 질의에 대한 비트 스트림 변환을 예시하는 테이블이다.
도 10은 본 발명의 실시예에 따른 질의에 대한 비트 스트림을 예시하는 테이블이다.
본 발명은 데이터베이스 개념 구조에 기반한 XML 트리의 색인 및 질의 방법에 관한 것으로서, 보다 구체적으로, XML 문서 내의 구조 정보를 얻어내기 위한 데이터베이스 개념 구조에 기반한 XML 트리의 색인 방법, 및 XML 문서 구조 정보에 대한 질의 수행을 위한 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법에 관한 것이다.
1996년, W3C(World Wide Web Consortium)에서 제안된 확장성표기언어인 XML(eXtensible Markup Language)은 HTML(HyperText Markup Language)보다 홈페이지 구축 기능, 검색 기능 등이 향상되고, 클라이언트 시스템의 복잡한 데이터를 쉽게 처리할 수 있다. 또한, XML은 인터넷 사용자가 웹에 추가할 내용의 작성 및 관리가 쉽도록 되어 있다.
또한, HTML이 웹 페이지에서 데이터베이스처럼 구조화된 데이터를 지원할 수 없는 반면에, XML은 사용자가 구조화된 데이터베이스를 뜻대로 조작할 수 있다. 즉, XML 문서들은 구조적으로 SGML(Standard Generalized Markup Language) 문서 형식을 따르고 있다.
다시 말하면, XML은 인터넷상에서 의학, 경영, 법률, 논문 등 복잡하고 구조화된 문서자료의 저장, 관리, 검색을 용이하게 할 수 있을 뿐만 아니라, 나아가 전자상거래, 전자 도서관, 가상대학 등의 핵심 응용 시스템의 구축에서 중요한 역할을 할 것으로 기대된다. 따라서, XML 문서의 효과적인 처리를 위한 다양한 지원 시스템을 구축하는 연구는 경제, 사회적인 측면에서 매우 중요하다.
이하, 종래 기술에 따른 엘리먼트 기반 색인 기법 및 K-ary 트리(Tree) 기반 색인 기법에 대해 설명한다.
1) 엘리먼트 기반 색인 기법
엘리먼트 기반 색인 기법은 XML 문서의 DTD(Document Type Definition)로부터 엘리먼트 타입을 추출하고, 임의의 XML 문서에서 구조 정보를 추출하여 매핑 테이블을 구성한 후, 상기 추출한 구조 정보를 이용하여 내용 색인, 구조 색인 및 애트리뷰트 색인을 구성하는 기법이다. 또한, 엘리먼트 기반 색인 기법은 상기 색인들의 결합을 통한 혼합 검색을 지원한다.
이러한 엘리먼트 기반 색인 기법은 추출된 엘리먼트 이름과 ID를 연결시켜 주는 ETID(Element Type ID)를 구성한 후, XML 문서의 구조 정보를 트리로 구성하여 각 엘리먼트에 ETID 값을 부여한다. 이때, 상기 ETID 값은 부모 엘리먼트의 정보뿐만 아니라 형제 엘리먼트의 순서 정보까지 포함되어 있으므로, 임의의 엘리먼트로부터 특정 엘리먼트를 검색하기 용이하다. 이러한 엘리먼트 기반 색인 기법은 특정 엘리먼트에 대한 직접적인 접근이 가능하며, 다양한 구조적 질의를 효과적으 로 처리할 수 있다는 장점이 있다.
XML 문서는 그 특성상 비슷한 유형의 문서들의 집합으로서, 각 엘리먼트별로 어떤 형식의 내용이 입력되어 있을지 예측할 수 있으므로, 각 엘리먼트에 입력될 내용의 특성을 파악한다면 검색시에 보다 정확한 결과를 반영할 수 있다. 그러나, 이러한 엘리먼트 기반 색인 기법은 XML 문서의 내용 색인을 단지 일반 텍스트 문서의 색인 방법으로 처리하고 있을 뿐이다.
2) K-ary 트리(Tree) 기반 색인 기법
K-ary 트리 기반 색인 기법은 SGML 문서를 K-ary 완전 트리 매핑을 통해 구조 검색을 지원하기 위한 색인 기법으로서, K-ary의 완전 트리의 특성을 이용하여 논리적 구조 관계인 부모노드와 자식노드의 관계를 연산식을 이용하여 손쉽게 구하여 연산을 단순화할 수 있다. 또한, K-ary 트리 기반 색인 기법은 연산이 단순하기 때문에 엘리먼트 검색이 매우 빠르다는 장점이 있다.
이러한 K-ary 트리 기반 색인 기법은 문서의 구문 트리를 작성한 후, 노드들 중에 가장 큰 차수 K를 구하여 K-ary 완전 트리로 재구성한 후, 여기에 각 노드에 대한 모든 번호를 부여한다. 즉, 이러한 K-ary 트리 기반 색인 방법은 문서 구조 사이의 계층 관계를 완전 트리 상의 가상 노드까지를 포함하여 노드 번호를 부여하게 된다.
그러나, 전술한 K-ary 완전 트리 색인 기법은 매핑 과정에서 Null 노드가 깊어질수록 노드 변화가 커진다는 단점이 있는데, 사용하지 않는 가상노드의 숫자가 많아지고, 데이터의 양이 커짐을 의미한다.
또한, K-ary 완전 트리 색인 기법에서는, 구조화된 문서임에도 불구하고 한 레벨에서 다양한 타입의 엘리먼트가 존재하게 되어 특정범위의 제한 검색이 어렵고, 문서의 구조 변경이 발생하였을 경우, 그 차수만큼의 노드를 모두 사용하여 할당할 수 있는 노드 번호가 없을 때 처음부터 다시 문서의 구조 정보를 추출하여 색인을 구성해야 하는 문제점이 있다.
전술한 바와 같이, 종래 기술에 따르면 XML 문서 내의 구조 정보를 얻어내기 위한 색인 알고리즘이 복잡하고, 또한, 많은 데이터베이스 테이블을 생성함으로써 여러 번 연산해야 하는 문제점을 가지고 있었다.
상기 문제점을 해결하기 위한 본 발명의 목적은, XML 문서의 효과적 분석 및 검색이 가능하고, 또한, XML 문서와 데이터베이스간의 원활한 호환성이 가능한 데이터베이스 개념 구조에 기반한 XML 트리의 색인 및 질의 방법을 제공하기 위한 것이다.
상기 목적을 달성하기 위한 수단으로, 본 발명에 따른 XML 트리의 색인 방법은, 데이터베이스 개념 구조에 기반한 XML(eXtensible Markup Language) 트리의 색인 방법에 있어서, a) XML 문서를 트리로 변환하는 단계; b) 상기 트리의 각 노드에 순차적으로 각 레벨에 해당하는 번호를 부여하는 단계; c) 상기 트리에 대한 확장된 트리를 재구성하는 단계; d) 상기 확장된 트리에 대해 데이터를 색인화하고, 비트 스트림으로 변환하는 단계; 및 e) 상기 색인화된 데이터 및 비트 스트림을 데 이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 다른 수단으로, 본 발명에 따른 XML 트리의 질의 방법은, 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법에 있어서, a) 질의가 발생하는 경우, 데이터베이스와의 정합을 위해 전체 질의 경로를 복원하는 단계; b) 상기 복원된 전체 질의 경로에 따라 상기 질의를 비트 스트림으로 변환하는 단계; 및 c) 상기 변환된 비트 스트림에 대한 질의 결과값을 사용자에게 리턴하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 XML 트리의 색인 및 질의 방법을 상세히 설명한다.
일반적으로, XML 문서는 일정한 형식의 문서 양식을 정의해 놓은 DTD(Document Type Definition)를 기준으로 각 엘리먼트에 내용을 입력하여 문서들을 구조화시킨다.
따라서, 상기 XML 문서의 구조를 파악한다면 사용자가 원하는 문서의 검색시 매우 효과적인 방법을 제공해 줄 수 있다. 즉, 각 엘리먼트에 입력되는 내용의 특징과 엘리먼트간 계층적 정보를 파악하여 색인어 추출 과정에 고려함으로써, 사용자의 다양한 요구에 대해 보다 정확하고 다양한 검색을 수행할 수 있다.
본 발명의 실시예는, XML 문서 내의 구조 정보를 얻어내기 위한 데이터베이스 개념 구조에 기반한 XML 트리의 색인 방법, 및 XML 문서 구조 정보에 대한 질의 수행을 위한 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법을 개시하며, 이하 각각 색인 방법 및 질의 방법을 설명하기로 한다.
1) 색인 스키마
도 1은 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 XML 트리의 색인 방법을 나타내는 동작 흐름도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 XML 트리의 색인 방법은, 먼저, XML 문서를 트리로 변환하고(S110), 상기 XML 트리의 각 노드에 순차적으로 각 레벨에 해당하는 번호를 부여하게 된다(S120).
다음으로, 각 레벨에 해당하는 번호를 연속적으로 부여함으로써, 상기 트리에 대한 확장된 트리를 재구성하게 된다(S130).
다음으로, 상기 확장된 트리에 대해 데이터를 색인화하고, 비트 스트림으로 변환하게 된다(S140).
다음으로, 상기 색인화된 데이터 및 비트 스트림을 데이터베이스에 저장하게 된다(S150).
이하, 도 2 내지 도 5를 참조하여, 본 발명의 실시예에 따른 XML 트리의 색인 방법을 보다 구체적으로 설명한다.
도 2는 본 발명의 실시예에 따른 데이터베이스의 색인 스키마를 나타내는 테이블로서, XML 트리에 따른 색인 파일의 스키마 구조를 나타낸다.
도 2를 참조하면, 전체적인 필드의 역할은 다음과 같이 정의된다. 즉, N_name 필드(210)는 XML 트리 노드의 이름을 나타내고, B_Value 필드(220)는 각 노드의 비트 스트림 값을 나타내며, Tb_len 필드(230)는 해당 노드 비트 스트림 전체 길이 값을 나타내며, Belen 필드(240)는 현 노드에 가변적으로 할당되는 비트 스트 림의 길이 값을 나타내며, Level 필드(250)는 현 노드가 XML 트리 상에 존재하는 레벨을 나타내며, P_value 필드(260)는 현 노드의 부모 노드의 비트 스트림 값을 나타내며, Data 필드(270)는 각 노드들이 가지고 있는 값을 나타낸다.
한편, 도 3은 본 발명의 실시예에 따른 XML 문서 트리에 순차적으로 번호를 부여하는 것을 예시하는 도면으로서, DTD에 기반한 기본 문서를 생성한 후, XML 문서 트리에 2진수의 순차적 번호를 부여하는 것을 보여주고 있다. 여기서, 도면부호 301 내지 도면부호 312는 각각 순차적으로 번호가 부여되는 노드들을 나타내며, 도면부호 313은 값(value)을 나타낸다.
도 3을 참조하면, 각 레벨의 노드마다 순차적으로 번호를 부여하고, 각 레벨의 노드 수만큼 비트를 할당한다. 이때, 뿌리 노드를 기점으로 하여 각 노드들의 경로를 따라 가면, 각 경로마다 유일한 비트 스트림이 생성되고, 이 값 자체는 부모-자식, 조상-후손, 형제 등과 같은 트리의 모든 노드들의 구조 정보 또한 가지게 된다.
즉, 뿌리노드로부터 연속적으로 노드를 방문하면서 각 노드에 부여된 비트 스트림 값을 얻고, 이 비트 스트림을 할당된 고정 비트 공간의 최하위 비트에서 시작하여 각 레벨별로 비트 공간을 할당받는다. 예를 들면, D-R-N-V1의 경우, D(delivery: 301)에 1이 할당되며, R(receiver: 302)에 01이 할당되고, N(name: 307)에 001이 할당된다.
한편, 도 4는 본 발명의 실시예에 따른 노드별 비트 스트림을 예시하는 테이 블로서, 노드별 비트 스트림이 할당된 표이다. 여기서, 도면부호 410은 레벨을 나타내고, 도면부호 420은 전체 비트수를 나타내며, 도면부호 430은 노드별 비트 스트림을 각각 나타내며, 여기서 0i는 0이 i번 반복되는 것을 의미한다.
도 4를 참조하면, 상기 비트 스트림 값들은 모든 노드들과 일대일로 대응되며, 고유하고 유일한 값이기 때문에 각 노드의 이름별 비트 값을 알 수 있다면 XML 문서 전체를 복원할 수 있다.
또한, 비트 스트림의 전체 크기는 32 비트로 고정된 공간을 할당한다. 하지만, XML 문서의 레벨이 늘어나거나 레벨별 노드의 수가 증가하면, 보다 큰 공간을 할당하여 전체 알고리즘에 변화 없이 효율적으로 비트 확장이 용이하도록 할 수 있다. 이와 같이 얻어진 노드별 비트 스트림은 각각 16진수로 변환되며, 모든 비트 스트림이 후술할 도 5에 도시된 바와 같이 색인 스키마 테이블로 생성된다.
도 5는 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 색인 파일 구조를 예시하는 도면으로서, 도면부호 510 내지 570은 각각 전술한 도 2의 필드를 나타낸다.
도 5를 참조하면, 사용자의 질의가 발생됐을 때, 색인 테이블은 질의 분석에 필요한 각 노드의 이름, 고유한 비트 스트림 값, 부모 노드의 비트 스트림 값과 레벨 값을 참조하여, 상기 변환된 질의 형태를 생성해 낼 수 있다.
상기 변환된 질의는 그 자체에 부모-자식, 상하위 및 형제 노드의 정보를 담고 있기 때문에 구조 정보를 부여하기 위한 연산을 줄일 수 있게 된다.
또한, 상기 변환된 비트 스트림을 가지고 색인 테이블과 다시 정합을 시도할 때도 질의를 나타내는 비트 스트림 자체가 중복 없는 유일하고 고유한 값이기 때문에 추가적 연산 없이 원하는 값과 부수적인 결과들도 리턴 받을 수 있다. 또한, 매칭되는 비트 스트림은 기존의 문자열 매칭보다 매우 빠르게 수행되기 때문에 연산 수행 시간도 짧아질 수 있다.
2) 질의스키마
도 6은 본 발명의 실시예에 따른 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법을 나타내는 동작 흐름도이다.
도 6을 참조하면, 본 발명의 실시예에 따른 XML 트리의 질의 방법은, 먼저, 질의가 있는지 확인하여(S610), 즉, 사용자로부터 질의가 들어오게 되면, 색인 데이터베이스와의 정합을 위한 전체 질의 경로(Full Query Path)를 복원하게 된다(S620). 즉, 데이터베이스와 정합을 위하여 주어진 XPath의 정규형 표현식의 전체 질의 경로를 복원한다.
다음으로, 상기 복원된 전체 질의 경로에 딸 질의를 비트 스트림으로 변환한다(S630). 즉, 상기 전체 질의 경로를 확장 트리에서 얻어진 데이터 값이 저장된 색인 테이블을 참조하여 질의를 비트 스트림으로 변환한다.
다음으로, 상기 변환된 비트 스트림을 색인 테이블에서 검색하여 질의 결과값을 리턴하게 된다(S640). 즉, 색인 스키마에서 얻어진 데이터베이스를 검색하여 반환된 결과를 사용자에게 리턴한다.
다음으로, 추가 질의가 있는지 확인하여(S650), 추가 질의가 있는 경우, 상 기 S620 내지 S640 단계를 반복하여 수행하게 된다.
도 7은 본 발명의 실시예에 따른 그래프 형식의 XML 쿼리(Query)를 나타내는 도면으로서, 711 내지 714는 Q1: "책을 주문한 고객을 모두 찾아라"에 대한 Query를 나타내며, 또한, 도면부호 721 내지 726은 Q2: "2004년 4월 1일 인천에서 주문한 것을 찾아라"에 대한 Query를 나타내며, 도면부호 731 내지 735는 Q3: "XML 입문이라는 책에 대한 주문을 찾아라"에 대한 Query를 나타내며, 도면부호 741 내지 745는 Q4: "책을 선불로 구매한 주문을 찾아라"에 대한 Query를 각각 나타낸다.
이전의 많은 연구들에서 DTD 트리의 노드들이나 경로를 통한 수많은 색인 기법들을 제안해 왔다. 경로를 통한 색인 기법들은 도 7의 Q1(예를 들면, /D/R/N/V1)과 같은 단순한 질의에 대하여 결과를 리턴할 수 있지만, Q2와 같은 분기형 구조를 가진 질의는 여러 개의 서브-질의들로 분해하여 각각의 단일 질의들을 처리한 다음 비용이 많이 드는 여러 번의 연산을 통해 그 결과들을 결합하여 최종 결과를 생성한다. 이러한 방법들은 Q3과 Q4 같은 복잡한 질의가 주어졌을 때는 아주 비효율적이다.
본 발명의 실시예에 따른 색인 파일 구조를 바탕으로 하는 질의 스키마를 통해 전술한 도 3 및 도 5를 참조하여 각각의 질의를 처리하는 구체적인 예를 설명한다.
도 8은 본 발명의 실시예에 따른 질의의 비트 스트림을 나타내는 도면으로 서, 상기 질의 Q1(예를 들면, /D/R/N)의 경우, 도 3 및 도 5를 참조하여 XPath 표현식을 각 노드별(810, 820, 830)로 비트 스트림으로 변환할 수 있는 것을 나타낸다.
한편, 도 9는 본 발명의 실시예에 따른 질의에 대한 비트 스트림 변환을 예시하는 테이블로서, 도면부호 910은 연산 결과(a)를 나타내고, 도면부호 920은 연산 결과(b)를 각각 나타낸다.
도 9를 참조하면, 전술한 도 7의 질의 Q1의 비트 스트림 변환의 첫 번째는 노드 D와 노드 R의 AND 연산이다. 이때, 그 연산 결과(a)의 값이 노드 D의 비트 스트림과 일치한다. 이것은 두 노드의 비트 스트림 일부분이 일치할 수 있음을 의미한다. 하지만, 연산 결과 전체가 노드 D와 같다는 것은 노드 D가 노드 R의 상위 노드라는 것을 의미하게 된다.
또한, 두 번째 비트 연산은 노드 R과 노드 N의 AND 연산이다. 그 연산 결과(b)의 값이 노드 R의 비트 스트림과 일치한다. 이것은 노드 R이 노드 N의 상위 노드임을 말해준다.
따라서, 연산 결과 (a)와 (b)에 의하여 노드 D는 노드 R과 노드 N의 상위이고, 또한, 노드 R은 노드 N의 상위 노드가 된다. 그러므로, 성공적으로 질의 Q1이 비트 스트림으로 변환된 것을 알 수 있다.
한편, 도 10은 본 발명의 실시예에 따른 질의에 대한 비트 스트림을 예시하는 테이블로서, 도면부호 1010은 Query를 나타내며, 도면부호 1020은 XPath, 도면부호 1030은 비트 스트림을 나타낸다.
도 10을 참조하면, 상기 비트 스트림(1030) 값을 도 5의 데이터베이스 스키마 테이블의 B_value(520) 필드값과 매칭하면, 원하는 질의의 결과를 리턴 받을 수 있게 된다. 예를 들어, Q2, Q3, Q4 질의의 결과값으로는 도 10에 도시된 비트 스트림(1030)을 비트의 OR 연산이나 XOR 연산을 수행함으로써 얻을 수 있다.
결국, 본 발명의 실시예는 검색이 가능한 엘리먼트를 XML 구조 정보를 이용하여 추출한 후, 그 특성을 고려하여 효율적인 색인을 구성하는 기법으로서, 사용자의 입장에서 엘리먼트별 검색이 가능하도록 하였고, 각 엘리먼트에 입력되는 내용의 특성을 파악하여 보다 정확한 검색이 가능하도록 하였다.
다시 말하면, 본 발명의 실시예에 따르면, 모든 구조 정보들을 효율적인 비트 스트림으로 변환하여 색인 알고리즘의 복잡성과 비효율적인 연산의 문제점을 해결하고, 또한, XML 문서 구조 정보에 대한 질의 수행시에도 색인 파일에 기반한 질의 스키마를 통해 빠르게 변환한 후, 색인 파일에 접근하여 반복적인 액세스를 피하고, 연산 결과도 빠르게 검색할 수 있게 된다.
이상의 설명에서 본 발명은 특정의 실시예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.
본 발명에 따르면, XML 문서의 효과적 분석 및 검색이 가능하고, 또한, XML 문서와 데이터베이스간의 원활한 호환성을 제공할 수 있다.

Claims (10)

  1. 데이터베이스 개념 구조에 기반한 XML(eXtensible Markup Language) 트리의 색인 방법에 있어서,
    a) XML 문서를 트리로 변환하는 단계;
    b) 상기 트리의 각 노드에 순차적으로 각 레벨에 해당하는 번호를 부여하는 단계;
    c) 상기 트리에 대한 확장된 트리를 재구성하는 단계;
    d) 상기 확장된 트리에 대해 데이터를 색인화하고, 비트 스트림으로 변환하는 단계; 및
    e) 상기 색인화된 데이터 및 비트 스트림을 데이터베이스에 저장하는 단계
    를 포함하는 XML 트리의 색인 방법.
  2. 제1항에 있어서,
    상기 a) 단계의 XML 트리에 따라 데이터베이스에 저장될 색인 파일은, XML 트리 노드의 이름을 나타내는 N_name 필드, 각 노드의 비트 스트림 값을 나타내는 B_Value 필드, 해당 노드 비트 스트림 전체 길이 값을 나타내는 Tb_len 필드, 현 노드에 가변적으로 할당되는 비트 스트림의 길이 값을 나타내는 Belen 필드, 현 노드가 XML 트리 상에 존재하는 레벨을 나타내는 Level 필드, 현 노드의 부모 노드의 비트 스트림 값을 나타내는 P_value 필드, 및 각 노드들이 가지고 있는 값을 나타 내는 Data 필드로 이루어지는 것을 특징으로 하는 XML 트리의 색인 방법.
  3. 제1항에 있어서,
    상기 b) 단계는 DTD(Document Type Definition)에 기반한 기본 문서가 생성된 후, XML 문서 트리에 각 레벨의 노드마다 순차적으로 번호를 부여하고, 상기 각 레벨의 노드 수만큼 비트를 할당받는 것을 특징으로 하는 XML 트리의 색인 방법.
  4. 제1항에 있어서,
    상기 b) 단계는 뿌리 노드를 기점으로 하여 각 노드들의 각 경로마다 유일한 비트 스트림을 생성하되, 상기 비트 스트림 값 자체는 부모-자식 노드, 조상-후손 노드, 형제 노드와 같은 트리의 모든 노드들의 구조 정보를 구비하는 것을 특징으로 하는 XML 트리의 색인 방법..
  5. 제1항에 있어서,
    상기 d) 단계는 뿌리노드로부터 연속적으로 노드를 방문하면서 각 노드에 부여된 비트 스트림 값을 얻고, 상기 비트 스트림을 할당된 고정 비트 공간의 최하위 비트에서 시작하여 각 레벨별로 비트 공간을 할당받는 것을 특징으로 하는 XML 트리의 색인 방법.
  6. 제1항에 있어서,
    상기 비트 스트림 값들은 모든 노드들과 일대일로 대응되는 고유하고 유일한 값이며, 각 노드의 이름별 비트 값에 따라 XML 문서 전체가 복원되는 것을 특징으로 하는 XML 트리의 색인 방법.
  7. 데이터베이스 개념 구조에 기반한 XML 트리의 질의 방법에 있어서,
    a) 질의가 발생하는 경우, 데이터베이스와의 정합을 위해 전체 질의 경로를 복원하는 단계;
    b) 상기 복원된 전체 질의 경로에 따라 상기 질의를 비트 스트림으로 변환하는 단계; 및
    c) 상기 변환된 비트 스트림에 대한 질의 결과값을 사용자에게 리턴하는 단계
    를 포함하는 XML 트리의 질의 방법.
  8. 제7항에 있어서,
    상기 b) 단계는 질의 분석에 필요한 각 노드의 이름, 고유한 비트 스트림 값, 부모 노드의 비트 스트림 값과 레벨 값을 상기 색인 테이블로부터 참조하여 상기 변환된 질의 형태를 생성해내는 것을 특징으로 하는 XML 트리의 질의 방법.
  9. 제7항에 있어서,
    상기 b) 단계의 변환된 비트 스트림 자체는 중복 없는 유일하고 고유한 값으 로 부모-자식 노드, 상하위 노드 및 형제 노드의 정보를 담고 있는 것을 특징으로 하는 XML 트리의 질의 방법.
  10. 제7항에 있어서,
    상기 c) 단계는 상기 변환된 비트 스트림 값이 색인 테이블 내의 각 노드의 비트 스트림 값(B_value)과 매칭되는 경우, 상기 질의 결과값을 사용자에게 리턴하는 것을 특징으로 하는 XML 트리의 질의 방법.
KR1020050029342A 2005-02-23 2005-04-08 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법 KR100660028B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050014871 2005-02-23
KR20050014871 2005-02-23

Publications (2)

Publication Number Publication Date
KR20060094000A true KR20060094000A (ko) 2006-08-28
KR100660028B1 KR100660028B1 (ko) 2006-12-20

Family

ID=37601955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050029342A KR100660028B1 (ko) 2005-02-23 2005-04-08 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법

Country Status (1)

Country Link
KR (1) KR100660028B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948659B1 (ko) * 2007-12-24 2010-03-18 계명대학교 산학협력단 동적 xml의 노드 번호 부여방법
KR101539306B1 (ko) * 2013-10-14 2015-07-24 주식회사 파수닷컴 데이터베이스에서 암호화된 필드에 대한 색인 생성 및 검색 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPR063400A0 (en) * 2000-10-06 2000-11-02 Canon Kabushiki Kaisha Xml encoding scheme
KR100441346B1 (ko) * 2001-01-18 2004-08-02 (주) 아이티캠프 엑스엠엘 문서의 저장방법 및 엑스엠엘 문서 또는 인덱스노드 탐색방법
EP1276324B1 (en) * 2001-07-13 2006-10-04 France Telecom Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal
DE10337825A1 (de) * 2002-11-15 2004-06-03 Siemens Ag Verfahren zur Erzeugung eines Bitstroms aus einem Indizierungsbaum
KR100519916B1 (ko) * 2003-12-26 2005-10-10 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948659B1 (ko) * 2007-12-24 2010-03-18 계명대학교 산학협력단 동적 xml의 노드 번호 부여방법
KR101539306B1 (ko) * 2013-10-14 2015-07-24 주식회사 파수닷컴 데이터베이스에서 암호화된 필드에 대한 색인 생성 및 검색 방법
US10402386B2 (en) 2013-10-14 2019-09-03 Fasoo.Com Co., Ltd. Method and apparatus for generating index for encrypted field in database

Also Published As

Publication number Publication date
KR100660028B1 (ko) 2006-12-20

Similar Documents

Publication Publication Date Title
Wang et al. Discovering structural association of semistructured data
Kaushik et al. Exploiting local similarity for indexing paths in graph-structured data
US8156156B2 (en) Method of structuring and compressing labeled trees of arbitrary degree and shape
US6934712B2 (en) Tagging XML query results over relational DBMSs
Ferragina et al. Structuring labeled trees for optimal succinctness, and beyond
US8572127B2 (en) Structure based storage, query, update and transfer of tree-based documents
US20020116371A1 (en) System and method for the storage, indexing and retrieval of XML documents using relation databases
Ferragina et al. Compressing and searching XML data via two zips
Arroyuelo et al. Worst-case optimal graph joins in almost no space
WO2002031625A2 (en) A system and method of translating a universal query language to sql
IL157575A (en) Encoding structural information in part for efficient search and browsing of information
Vijayalakshmi et al. Mining of users access behavior for frequent sequential pattern from web logs
Liu et al. Dynamic labeling scheme for XML updates
Wielemaker et al. Thesaurus-based search in large heterogeneous collections
Ko et al. A binary string approach for updates in dynamic ordered XML data
KR100660028B1 (ko) 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법
Hsu et al. UCIS-X: an updatable compact indexing scheme for efficient extensible markup language document updating and query evaluation
US7953761B2 (en) System, method, and apparatus for retrieving structured document and apparatus for managing structured document
Almarimi et al. A mediation layer for heterogeneous XML schemas
CN113903410B (zh) 一种化合物检索方法及系统
Jayanthi Vector based labeling method for dynamic XML documents
Senthilkumar et al. QRFXFreeze: Queryable compressor for RFX
Saissi et al. Discovering the Deep Web through XML Schema Extraction
Markova et al. Distributed Data Addressed in Natural Language
Wang et al. Holistically stream-based processing Xtwig queries

Legal Events

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

Payment date: 20121206

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131203

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee