Detecting Changes in Structured Documents using Message Digest

메시지 다이제스트를 이용한 구조화된 문서의 변화 탐지

  • 김동아 (단국대학교 정보컴퓨터학부) ;
  • 이석균 (단국대학교 정보컴퓨터학부)
  • Published : 2002.10.01

Abstract

XML/HTML 문서와 같이 트리 구조로 표현되는 데이터의 변화 탐지는 NP-hard의 문제로 이에 대한 효율적인 구현은 매우 중요하다. 본 논문에서는 효율적인 변화 탐지를 위해 트리 구조의 데이터를 X-tree로 표현하고 이에 기초한 휴리스틱 알고리즘을 제안한다. X-tree에서는 모든 서브트리의 루트 노드에 서브트리의 구조와 소속 노드들의 데이터들을 128비트의 해시값으로 표현하여 저장함으로 신ㆍ구 버전의 X-tree들에 속한 서브트리들의 비교가 매우 효율적이다. 제시한 변화 탐지 알고리즘에서는 구 버전의 X-tree의 모든 서브트리들에 대해 신 버전의 X-tree에서 동등한 서브트리들을 찾고, 이들에 기초하여 이동 연산이 발생한 서브트리들과 갱신 연산이 발생한 서브트리들을 순차적으로 찾는다. 이때 이동 연산과 갱신 연산으로 대응되는 서브트리는 동등 서브트리로부터 루트 노드로 대응 관계를 확장하는 가운데 발견된다. 이후 깊이 우선으로 검색하면서 나머지 노드들을 대응시킨다. X-tree의 구조적 특징에 기인하여 노드들 간의 비교를 통해 대응 여부를 검사하는 대부분의 기존 연구와는 달리 서브트리의 비교를 통해 대부분의 대응 관계를 결정하므로 효율적인 변화 탐지가 가능하다. 본 알고리즘은 최악의 경우에서도 N을 신ㆍ구 버전 문서의 전체 노드 수라 할 때 O(N)의 시간 복잡도를 갖는다.

Keywords