KR101132741B1 - 메타데이터 관리 시스템 및 방법 - Google Patents

메타데이터 관리 시스템 및 방법 Download PDF

Info

Publication number
KR101132741B1
KR101132741B1 KR1020090070585A KR20090070585A KR101132741B1 KR 101132741 B1 KR101132741 B1 KR 101132741B1 KR 1020090070585 A KR1020090070585 A KR 1020090070585A KR 20090070585 A KR20090070585 A KR 20090070585A KR 101132741 B1 KR101132741 B1 KR 101132741B1
Authority
KR
South Korea
Prior art keywords
data
metadata
service
request
context
Prior art date
Application number
KR1020090070585A
Other languages
English (en)
Other versions
KR20100014177A (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 KR20100014177A publication Critical patent/KR20100014177A/ko
Application granted granted Critical
Publication of KR101132741B1 publication Critical patent/KR101132741B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

메타데이터 관리 시스템은 수신된 서비스 요청을 콘텍스트로 변환하여 요청 내용을 포함하는 서비스 요청 콘텍스트를 생성하고, 서비스 요청 콘텍스트에 대응하는 핸들러의 제어에 따라 시스템에 저장된 메타데이터를 바탕으로 서비스 요청 콘텍스트를 처리하여 서비스 응답 콘텍스트를 생성하며, 서비스 응답 콘텍스트에 대응하는 핸들러를 통해 서비스 응답 콘텍스트에 대한 서비스 결과물을 생성하고, 서비스 응답 콘텍스트 및 서비스 결과물을 바탕으로 요청 내용, 처리 결과 및 서비스 결과물을 포함하는 서비스 응답을 생성한다.
USN, 센서 네트워크, 메타데이터

Description

메타데이터 관리 시스템 및 방법{SYSTEM AND METHOD FOR METADATA MANAGEMENT}
본 발명은 메타데이터 관리 시스템 및 방법에 관한 것이다. 특히 본 발명은 센서 네트워크에서의 메타데이터 관리 시스템 및 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-022-03, 과제명: USN 미들웨어 플렛폼 기술개발].
유비쿼터스 센서 네트워크(Ubiquitous Sensor Network, 이하에서는 'USN'라고도 함)는 인간의 생활공간, 생활기기, 기계 등 모든 사물에 센싱 기능, 컴퓨팅 기능, 네트워크 기능을 부여하여 환경과 상황의 자동인지를 통해 인간에게 최적의 기능을 제공하고 인간 생활의 편리성과 안전성을 고도화하는 기술이다. USN을 통해 다양한 분야에 대해 자동화가 가능해 지며, 텔레매틱스, 홈 네트워크, 재고 관리, 환자 관리, 동물 관리, 자연재해관리, ITS 시스템 등 인간에게 편리한 다양한 서비스의 제공이 가능하다.
유비쿼터스 환경을 실현하기 위한 센서 네트워크는 주로 무선 센서노드들로 이루어지고 각 무선 센서노드들이 통신기능을 탑재한 네트워크를 의미한다. 이러한 센서 네트워크는 일반적으로 센서노드들이 조밀하게 분포되어 브로드캐스트 방식으로 데이터를 전송하고 있다. 또한 무선의 소형 센서노드를 사용하여 제한된 전력, 메모리, 연산 능력을 가지는 것이 특징이다.
센서 네트워크를 이용하여 시스템을 구축 시, USN 미들웨어와 센서노드 미들웨어를 통해 시스템 구축이 용이해 지고 있다. USN 미들웨어는 이기종 센서 네트워크로부터 수집한 센싱 데이터를 필터링/통합/분석하여 의미 있는 상황정보를 추출/저장/관리/검색하고, 응용 서비스로 전달 및 서비스간 연계/통합하는 역할을 담당한다. 센서노드 미들웨어는 다양한 센서 응용 소프트웨어와 운영체제 및 네트워크 기능 사이에 존재하며, 유지보수, 설치/배포, 응용 수행에 필요한 제반 사항을 지원하며, 센서노드 및 싱크노드에 탑재되어 센서 네트워크의 프로그램 갱신, 응용 변화에 따른 프로그래밍 조정 기능을 수행한다. 또한 센서노드 및 싱크노드에서 측정되는 센싱 데이터에 대한 데이터베이스, 데이터 보관 관리, 다양한 응용에 적합한 데이터 운용 및 처리기능 데이터 융합 기능을 담당한다.
일반적으로 USN 기반의 시스템은 센서 네트워크의 메타데이터를 관리하는 시스템을 포함한다. 메타데이터 관리 시스템이 현재 시스템에 연결된 센서 네트워크의 종류, 위치, 기능, 접속방법 및 운영방법 등에 대한 정보와 센서 네트워크가 포함하고 있는 센서노드 및 각 센서노드의 센싱 종류, 센싱 데이터, 센서의 위치 등에 대한 정보를 관리하여 미들웨어 또는 응용프로그램에서 센서 네트워크에 대한 정보를 활용할 수 있도록 한다.
이러한 메타데이터 관리 시스템은 별도의 시스템으로 구성되기도 하고 단순히 데이터베이스 형태로 존재하여 관련된 시스템이 접근하여 필요한 메타데이터를 등록/조회/수정 등의 작업을 수행할 수도 있다.
종래의 메타데이터 관리 시스템은 대부분 특정 시스템 또는 응용 분야에 종속된 형태로 데이터를 정의 및 관리하며, 부가적인 서비스로 메타데이터를 제공하고 있다. 그러나 이와 같은 종래의 시스템은 각각의 응용 분야에서 메타데이터가 사용될 때마다 메타데이터를 재정의해야 하고, 각각의 응용 분야마다 메타데이터를 관리 및 제공하기 위한 시스템을 재개발해야 하는 문제점이 발생한다.
또한 센서 네트워크의 메타데이터는 USN 응용 시스템 또는 USN 미들웨어에서 서비스를 처리하기 위해 미리 알고 있어야 하는 가장 기본적인 데이터로서 메타데이터 검색 및 제공 서비스는 전체 USN 응용 시스템의 응답 속도에 영향을 미치게 되므로 메타데이터 관리 및 제공 서비스는 빠른 처리가 필요한데, 종래의 시스템은 대부분 저장 및 관리가 편리한 관계형 데이터베이스에 단순한 형태로 데이터를 저장하고 관리하며 서비스를 제공하고 있어서 USN 응용 시스템의 응답속도 저하에 영향을 미치는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는 센서네트워크 및 응용 시스템에 대한 메타데이터가 변경되거나 응용 도메인에 따라 상이한 메타데이터를 사용하여도 메타데이터를 관리하고 제공하는 시스템을 재개발하지 않고 메타데이터 사용자는 일관된 방법으로 메타데이터를 관리하고 제공받을 수 있도록 하며, 메타데이터 관리 및 제공 서비스의 응답속도를 빠르게 할 수 있는 시스템 및 방법을 제공하는 것이다.
본 발명의 특징에 따른 메타데이터 관리 방법은 메타데이터의 일부 또는 전체를 저장하는 시스템이 저장소에 저장된 메타데이터를 관리하는 방법으로써, 수신된 서비스 요청을 콘텍스트로 변환하여 요청 내용을 포함하는 서비스 요청 콘텍스트를 생성하는 단계, 미리 등록된 복수의 핸들러 중 서비스 요청 콘텍스트에 대응하는 제1 핸들러의 제어에 따라 시스템에 저장된 메타데이터를 바탕으로 서비스 요청 콘텍스트를 처리하여 처리 결과를 포함하는 서비스 응답 콘텍스트를 생성하는 단계, 복수의 핸들러 중 서비스 응답 콘텍스트에 대응하는 제2 핸들러를 통해 서비스 응답 콘텍스트에 대한 서비스 결과물을 생성하는 단계, 그리고 서비스 응답 콘텍스트 및 서비스 결과물을 바탕으로 요청 내용, 처리 결과 및 서비스 결과물을 포함하는 서비스 응답을 생성하는 단계를 포함한다.
이때 메타데이터 관리 방법은 서비스 결과물을 바탕으로 서비스 요청에 따라 시스템에 저장된 메타데이터가 변경된 경우, 서비스 응답 콘텍스트를 바탕으로 시스템에 저장된 메타데이터와 저장소에 저장된 메타데이터간의 데이터 동기화를 수행하는 단계를 더 포함한다.
또한 데이터 동기화를 수행하는 단계는 서비스 응답 콘텍스트를 바탕으로 저장소에서 인식 가능한 싱크 로그를 생성하는 단계, 싱크 로그를 저장소에 저장하는 단계, 그리고 싱크 로그에 따라 시스템에 저장된 메타데이터에 대응하도록 저장소에 저장된 메타데이터를 변경하는 단계를 포함한다.
또한 데이터 동기화를 수행하는 단계는 메타데이터를 변경하는 단계를 수행하는 중에 시스템이 재구동 하는 경우, 저장소에 싱크 로그의 저장여부를 검사하는 단계, 그리고 저장소에 저장된 싱크 로그에 따라 저장소에 저장된 메타데이터를 변경하는 단계를 더 포함한다.
또한 데이터 동기화를 수행하는 단계는 저장소에 저장된 싱크 로그를 삭제하는 단계를 더 포함한다.
이때 서비스 응답 콘텍스트를 생성하는 단계는 시스템에 저장된 메타데이터에서 요청 내용에 대응하는 데이터를 검색하는 단계, 시스템에 저장된 메타데이터에 데이터가 저장되지 아니한 경우, 저장소에 저장된 메타데이터 중 데이터에 대응하는 요청데이터를 가져오는 단계, 요청데이터를 시스템의 자료구조에 따라 변환하여 데이터를 구성하는 단계, 그리고 데이터를 바탕으로 서비스 요청 콘텍스트를 처리하는 단계를 포함한다.
또한 자료구조는 복수의 노드가 하나의 트리를 구성하는 트리 형태이다.
본 발명의 다른 특징에 따른 메타데이터 관리 시스템은 저장소에 저장된 메타데이터를 관리하는 시스템으로써, 명령어 변환부, 체인 관리부 및 디렉터리 서비스부를 포함한다. 명령어 변환부는 수신된 서비스 요청을 시스템의 데이터 구조로 변환한다. 체인 관리부는 시스템이 제공하는 복수의 서비스에 각각 대응하는 복수의 핸들러를 이용하여 명령어 변환부를 통해 변환된 서비스 요청을 처리한다. 디렉 터리 서비스부는 서비스 요청을 처리하기 위해 저장소에 저장된 메타데이터의 일부의 데이터를 저장하고, 일부의 데이터를 검색 및 관리한다.
이때 메타데이터 관리 시스템은 서비스 요청에 따라 디렉터리 서비스부에 저장된 일부의 데이터가 변경된 경우, 변경된 일부의 데이터를 저장소에 반영하는 싱크 관리부를 더 포함한다.
이때 디렉터리 서비스부에 저장된 일부의 데이터는 메타데이터 중 사용빈도에 따라 결정된다.
본 발명의 구성에 따르면, USN 메타데이터를 관리하고 제공하는 시스템이 특정 응용 시스템 또는 메타데이터 모델에 종속되지 않고 다양한 형태의 메타데이터 모델을 관리하면서 동일한 형태의 데이터 관리 방법을 제공하므로, 무수히 많은 종류의 센서를 이용하는 다양한 USN 응용 분야에서 서로 다른 메타데이터 모델을 사용할 때 메타데이터를 관리하는 시스템을 중복 개발하지 않도록 할 수 있는 이점이 있다.
또한, USN 응용 분야의 특성상 센서들의 상태 및 센싱 값에 따라 실시간으로 응답이 필요한 USN 시스템의 일부로서, 메모리상에서 데이터를 관리하여 사용자의 요청에 빠르게 응답할 수 있고, 메모리상에서 데이터를 관리하더라도 일시적으로 데이터를 저장하는 것이 아니라 관계형 데이터베이스 시스템에 영구적으로 데이터를 저장하여 관리할 수 있는 이점이 있다.
또한, 관계형 데이터베이스의 테이블에 트리 형태의 데이터를 저장하여 관리 하는 방법에 있어서 USN 메타데이터 관리 시스템에서 데이터를 변경하는 방법을 고려하여 일반적인 트리 데이터를 관리하는 방법과 달리 불필요한 트리 데이터의 구조 및 정보를 관리하지 않고, USN 메타데이터 관리 시스템에서 주로 사용되는 데이터의 관리 단위로 관계형 데이터베이스 테이블을 구성하므로 데이터를 관리하고 제공하는데 성능을 향상시킬 수 있는 이점이 있다.
끝으로, USN 메타데이터를 저장하는 스키마를 기술하는 방법을 직관적이며 쉽게 그리고 요율적으로 기술하는 USN Schema Definition을 정의하고 처리할 수 있으므로 종래의 XML 데이터를 기술하는 DTD로서 표현할 수 없는 데이터 타입을 정의할 수 있는 반면, XML Schema와 다르게 너무 세분화된 기능을 표현하지 않고 필요이상의 기능이 추가되지 않아서 복잡하지 않으므로 쉽게 익히고 사용할 수 있는 이점을 가진다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 도면을 참고하여 본 발명의 실시예에 따른 메타데이터 관리 시스템 및 방법에 대해 설명한다.
먼저 도 1을 참고하여 본 발명의 실시예에 따른 유비쿼터스 센서 네트워크(Ubiquitous Sensor Network, 이하에서는 'USN'라고도 함) 메타데이터 관리/제공 서비스에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 USN 메타데이터 관리/제공 서비스 개념도를 도시한 도면이다.
도 1에 도시된 바와 같이, 메타데이터 관리 시스템(100)은 사용자(20)에게 USN 메타데이터 및 USN 메타데이터의 저장구조(Schema)에 대해 이해 및 사용이 편리한 트리 형태의 뷰(View)를 제공한다. 사용자(20)는 메타데이터 관리 시스템(100)에서 관리하는 USN 메타데이터를 사용하기 위해 메타데이터 관리 시스템(100)으로 데이터의 관리 및 제공을 요청할 수 있다.
메타데이터 관리 시스템(100)은 USN 메타데이터를 관리하기 위해 관리자(10)의 제어에 따라 저장소(30)에 저장된 USN 메타데이터를 바탕으로 데이터간의 관계를 정의하고, 정의된 관계를 기준으로 데이터를 분류하여 USN 메타데이터의 저장구조(Schema)를 정의한다. 이때 USN 메타데이터의 저장구조는 데이터간의 관계, 데이터 타입 및 반복횟수를 포함할 수 있고, 데이터간의 관계는 상하관계, 종속관계 또는 설명관계 중 하나에 해당할 수 있다. 메타데이터 관리 시스템(100)은 데이터 구조, 타입, 반복회수를 직관적이고 쉽게 기술할 수 있는 USN 스키마 정의(USN Schema Definition)에 따라 데이터의 저장구조를 작성할 수 있다.
사용자(20)는 메타데이터 관리 시스템(100)에 USN 메타데이터 및 USN 메타데이터의 저장구조가 정의되고 입력되면 데이터를 관리하고 검색할 수 있으며, 메타데이터 관리 시스템(100)은 사용자가 데이터의 입력, 수정, 삭제 시에 USN 메타데이터의 저장구조를 기반으로 유효한 데이터가 관리 될 수 있도록 한다.
메타데이터 관리 시스템(100)은 USN 메타데이터 및 USN 메타데이터의 저장구조를 사용자가 보는 데이터의 형태로 트리(Tree)라는 명칭의 단위로 저장 및 관리할 수 있고, 트리의 각 노드들은 디렉터리(Directory)라는 명칭으로 관리할 수 있으며, 디렉터리의 속성은 프로퍼티(Property)라는 명칭으로 관리할 수 있다. 이때 트리는 하나 이상의 디렉터리로 이루어져 있으며, 디렉터리는 자식 디렉터리를 가질 수 있고, 각 디렉터리는 속성값을 표현하는 프로퍼티를 가질 수 있다. 또한 트리의 가장 끝에 있는 디렉터리와 프로퍼티는 문자열, 숫자 등을 표현하는 값을 가질 수 있다.
다음은 도 2를 참고하여 본 발명의 실시예에 따른 메타데이터 관리 시스템의 동작에 대해 설명한다.
도 2는 본 발명의 실시예에 따른 메타데이터 관리 시스템의 동작 개념도를 도시한 도면이다.
도 2에 도시된 바와 같이, 메타데이터 관리 시스템(100)은 사용자의 요청에 빠르게 응답하기 위해 사용자가 요청한 USN 메타데이터를 메모리에 적재하여 관리한다. 메타데이터 관리 시스템(100)은 사용자가 요청하는 USN 메타데이터가 메모리 에 적재되어 있지 않으면 메타데이터를 저장 관리하는 데이터베이스(DataBase, 이하에서는 'DB'라고도 함)(40)에서 USN 메타데이터를 가져와서 메모리에 적재한 후 요청한 데이터를 제공하고 자주 사용하지 않는 USN 메타데이터는 메모리에서 삭제한다. 이와 같이 사용자가(20)가 요청할 때 마다 데이터베이스(40)로부터 데이터를 읽어오지 않고 자주 사용되는 데이터에 대해 메모리상에 올려 놓고 사용하는 캐싱(Cashing) 기법을 이용하여 사용자(20)의 요청에 빠르게 응답할 수 있다.
메타데이터 관리 시스템(100)은 USN 메타데이터의 영구적인 저장소로 관계형 데이터베이스를 사용하며, 메모리에서 관리하는 데이터와 데이터베이스(40)간의 동기화(Synchronization)를 유지한다. 또한 메타데이터 관리 시스템(100)은 USN 메타데이터의 저장구조를 실시간으로 관리하여 데이터의 유효성을 유지한다.
메타데이터 관리 시스템(100)은 사용자(20)의 요청에 대한 빠른 응답을 위해 메모리상에 데이터를 적재하고 메모리상의 데이터를 이용하여 사용자(20)의 요청을 처리한 후 저장소에 사용자(20)의 요청 내용을 반영하는 절차를 진행하는데, 사용자(20)의 요청을 데이터베이스(40)에 반영하기 전에 메타데이터 관리 시스템(100)이 강제 종료되는 경우 메모리에 작업한 내용과 데이터베이스(40)의 내용이 상이하게 된다. 이와 같은 문제를 해결하기 위해 메타데이터 관리 시스템(100)은 구동을 시작할 때 데이터베이스(40)에 미반영된 사용자의 요청이 있는지 확인하여 먼저 미반영된 사용자의 요청을 데이터베이스(40)에 반영한다.
사용자(20)는 메타데이터 관리 시스템(100)으로부터 확장성 생성 언어(eXtensible Markup Language, 이하에서는 'XML'이라고도 함) 형태로 데이터를 제공받을 수 있고, XML 경로 언어(XML Path Language, 이하에서는 'XPath'라고도 함)를 이용하여 데이터를 요청할 수 있다.
다음은 도 3을 참고하여 본 발명의 실시예에 따른 메타데이터 관리 시스템의 구조에 대해 설명한다.
도 3은 본 발명의 실시예에 다른 메타데이터 관리 시스템의 구조를 도시한 도면이다.
도 3에 도시된 바와 같이, 메타데이터 관리 시스템(100)은 서비스 서버(Service Server)(110), 명령어 변환부(Command Translator)(130), 체인 관리부(Chain Manager)(150), 디렉터리 서비스부(Directory service)(170) 및 싱크 관리부(Sync Manager)(190)를 포함한다.
서비스 서버(110)는 메타데이터 관리 시스템(100)에서 제공하는 서비스 및 라이프사이클인 준비/시작/일시중지/종료의 상태 관리를 담당하는 모듈로서, 사용자로부터 메타데이터 관리 및 제공 요청을 받고, 해당 모듈을 이용하여 요청을 처리하고, 요청에 대한 결과값을 반환해주며, 사용자로부터 시스템의 상태를 관리 및 변경하는 요청을 받아서 해당 모듈의 상태를 관리한다.
명령어 변환부(130)는 사용자에게 받은 요청을 분석하고 해당 요청의 내용을 포함하여 시스템 내부에서 사용할 수 있는 정보의 집합인 콘텍스트(Context)를 생성하며, 명령어 파서(Command Parser)(131) 및 콘텍스트 생성부(Context Creator)(133)를 포함한다.
명령어 파서(131)는 사용자에게 받은 요청을 분석하여 요청 데이터를 구조화 한다. 이때 사용자의 요청은 시스템 관리, 데이터 그룹(트리)관리, 저장구조관리, 데이터관리, 질의명령으로 구분되어 분석된다.
콘텍스트 생성부(133)는 전달 받은 명령과 요청 정보 값을 이용하여 실제 처리에 대한 요청 구조와 결과값을 기록하고 처리의 기준이 되는 콘텍스트를 생성한다.
체인 관리부(150)는 메타데이터 관리 시스템(100)의 각각의 서비스에 해당하는 핸들러(Handler)들을 체인(Chain) 형태로 모아서 사용자의 요청을 받아 핸들러들의 체인을 돌면서 사용자의 요청을 처리하며, 요청 체인(Request Chain)(151) 및 응답 체인(Response Chain)(153)을 포함한다.
요청 체인(151)은 사용자의 요청을 처리하는 핸들러들의 집합으로 요청 정보가 담긴 콘텍스트의 내용들을 순차적으로 처리한다. 요청 체인(151)은 전달 받은 콘텍스트를 이용하여 요청 체인(151)에 등록된 핸들러들을 순차적으로 돌면서 사용자의 요청을 처리한다. 이때 각각의 핸들러는 디렉터리 서비스부(170)를 통해 시스템상의 데이터와 스키마구조를 관리하는 명령을 처리한다. 또한 요청 체인(151)에 의해 모든 명령이 수행된 콘텍스트는 응답 체인(153)으로 전달 된다.
응답 체인(153)은 사용자의 요청에 대한 응답을 생성한다.
디렉터리 서비스부(170)는 USN 메타데이터의 저장구조(Schema) 및 USN 메타데이터를 관리한다. 디렉터리 서비스부(170)는 USN 메타데이터의 생성(Create), 읽기(Read), 갱신(Update) 또는 삭제(Delete)를 수행한다. 이때 디렉터리 서비스부(170)는 사용자의 요청을 처리하기 위해 실제로 메타데이터 관리 시스템(100)이 관리하는 데이터를 메모리에 올려 놓고 메모리의 데이터를 검색 및 관리할 수 있다.
싱크 관리부(190)는 사용자의 요청을 체인 관리부(150)가 메모리상에서 처리 완료 후 저장소에 반영할 내용을 실제로 물리적인 저장소에 반영한다.
다음은 도 4를 참고하여 본 발명의 실시예에 따른 디렉터리 서비스부에 대해 설명한다.
도 4는 본 발명의 실시예에 따른 디렉터리 서비스부의 구성을 도시한 도면이다.
도 4에 도시된 바와 같이, 디렉터리 서비스부(170)는 스키마 제공부(Schema Provider)(171), 데이터 제공부(Data Provider)(173), 스키마 프로세서(Schema Processor)(175), 데이터 프로세서(Data Processor)(177) 및 메모리 관리부(Memory Manager)(179)를 포함한다.
스키마 제공부(171)는 요청 체인(151)의 핸들러의 호출에 따라 디렉터리 서비스부(170)에 저장된 스키마를 검색하여 제공한다.
데이터 제공부(173)는 요청 체인(151)의 핸들러의 호출에 따라 디렉터리 서비스부(170)에 저장된 메타데이터를 검색하여 제공한다.
스키마 프로세서(175)는 요청 체인(151)의 핸들러의 요청에 따라 디렉터리 서비스부(170)에 저장된 USN 메타데이터의 저장구조(Schema)를 관리한다.
데이터 프로세서(177)는 요청 체인(151)의 핸들러의 요청에 따라 디렉터리 서비스부(170)에 저장된 USN 메타데이터를 관리한다.
메모리 관리부(179)는 사용자의 요청이 빈번한 메타데이터나 환경설정에 의해 정의된 데이터에 한해서 메모리상에서 데이터를 관리하여 검색속도를 높이고 싱크 관리부(190)에 의해서 저장소에 저장된 데이터와 동기화를 유지시킨다.
다음은 도 5를 참고하여 본 발명의 실시예에 따른 싱크 관리부에 대해 설명한다.
도 5는 본 발명의 실시예에 따른 싱크 관리부의 구성을 도시한 도면이다.
도 5에 도시된 바와 같이, 싱크 관리부(190)는 싱크 큐(Sync Queue)(191), 동기화부(Synchronizer)(192), 복구부(Recoverer)(193), 트리 관리부(Tree Manager)(194), 싱크 로그 관리부(Sync Log Manager)(195), 트리 스토리지(Tree Storage)(196) 및 로그 스토리지(Log Storage)(197)를 포함한다.
싱크 큐(191)는 싱크 관리부(190)가 비동기 모드로 운영될 때 데이터를 변경하는 사용자의 요청 정보가 담긴 콘텍스트를 싱크 관리부(190)에서 사용하는 정보인 싱크 로그(Sync Log)로 변환하여 저장한다.
동기화부(192)는 데이터를 변경하는 요청 정보가 담긴 콘텍스트 또는 싱크 로그(Sync Log)를 이용하여 저장소(30)에 변경 내용을 반영한다. 싱크 관리부(190)가 비동기 모드로 운영되면, 체인 관리부(150)로부터 받는 데이터의 변경 요청은 우선 싱크 큐(191)에 순차적으로 보관하고, 동기화 정책에 따라 일정 시간 또는 싱크 큐(191)에 저장되는 싱크 로그(Sync Log)의 수가 설정값을 초과할 경우 싱크 큐(191)에서 싱크 로그(Sync Log)를 순차적으로 가져와서 변경 내용을 저장소(30)에 반영하며, 싱크 관리부(190)가 동기 모드로 운영되면 체인 관리부(150)에게 콘 텍스트를 받았을 때 바로 변경 내용을 저장소(30)에 반영한다.
복구부(193)는 싱크 관리부(190)가 비동기 모드로 운영이 되면서 메모리 관리부(179)의 데이터 변경 내용이 저장소(30)에 반영되기 전에 메타데이터 관리 시스템(100)이 종료되었다가 다시 구동을 시작하면, 데이터 변경 요청을 저장한 싱크 로그(Sync Log)를 확인하여 저장소(30)에 반영되지 아니한 싱크 로그(Sync Log)를 저장소(30)에 반영한다.
트리 관리부(194)는 싱크 관리부(190)에서 싱크 로그(Sync Log)의 내용을 저장소(30)에 반영할 때 저장소(30)의 종류 및 특성과 무관하게 저장소(30)를 관리할 수 있도록 트리(Tree), 디렉터리(Directory), 프로퍼티(Property) 단위로 정보를 관리하는 인터페이스를 제공한다.
싱크 로그 관리부(195)는 싱크 관리부(190)에서 싱크 로그(Sync Log)를 저장할 때 저장소(30)의 종류 및 특성과 무관하게 싱크 로그(Sync Log)를 관리할 수 있도록 싱크 로그(Sync Log)를 관리하는 인터페이스를 제공한다.
트리 스토리지(196)는 트리 관리부(194)가 트리(Tree), 디렉터리(Directory), 프로퍼티(Property) 단위로 정보를 저장소에 저장 및 관리할 수 있도록 트리(Tree), 디렉터리(Directory), 프로퍼티(Property) 단위의 데이터를 저장소(30)의 특성에 맞게 관리할 수 있는 인터페이스를 제공한다.
로그 스토리지(197)는 싱크 로그 관리부(195)가 싱크 로그(Sync Log)를 저장소(30)에 저장 및 관리할 수 있도록 저장소(30)의 특성에 맞는 인터페이스를 제공한다.
다음은 도 6 내지 도 8을 참고하여 본 발명의 실시예에 따른 메타데이터 관리 시스템이 메타데이터를 관리하는 방법에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 메타데이터 관리 방법을 도시한 도면이다.
도 6에 도시된 바와 같이, 먼저, 서비스 서버(110)는 사용자로부터 서비스 요청을 수신한다(S110). 이때 수신된 서비스 요청은 요청 내용 및 요청 인자를 포함한다.
다음, 명령어 변환부(130)는 수신된 서비스 요청을 메타데이터 관리 시스템(100)의 내부에서 처리할 수 있는 콘텍스트로 변환하여 서비스 요청에 대응하는 서비스 요청 콘텍스트를 생성한다(S120). 이때 서비스 요청 콘텍스트는 요청 내용 및 요청 인자를 포함한다.
이후, 디렉터리 서비스(170)는 요청 체인(151)에 등록된 복수의 핸들러 중 서비스 요청 콘텍스트에 대응하는 제1 핸들러의 제어에 따라 서비스 요청 콘텍스트를 처리하여 서비스 요청 콘텍스트에 대한 서비스 응답 콘텍스트를 생성한다(S130). 이때 서비스 응답 콘텍스트는 요청 내용, 요청 인자 및 처리 결과를 포함한다.
다음, 체인 관리부(150)는 응답 체인(153)에 등록된 복수의 핸들러 중 요청 내용에 대응하는 제2 핸들러를 통해 서비스 응답 콘텍스트에 대한 서비스 결과물을 생성한다(S140).
이후, 체인 관리부(150)는 생성된 결과물을 바탕으로 사용자의 서비스 요청에 따라 메모리 관리부(179)에 저장된 데이터가 변경되었는지 판단한다(S150).
만약, 데이터가 변경되지 아니한 경우, 서비스 서버(110)는 서비스 응답 콘텍스트 및 서비스 결과물을 바탕으로 요청 내용, 요청 인자, 처리 결과 및 서비스 결과물을 포함하는 서비스 응답을 생성한다(S160).
다음, 서비스 서버(110)는 서비스 응답을 사용자에게 전송한다(S170).
한편, 데이터가 변경된 경우, 싱크 관리부(190)는 서비스 응답 콘텍스트를 바탕으로 메모리 관리부(179)의 데이터와 저장소(30)의 데이터간의 데이터 동기화를 수행한다(S180).
이하에서는 도 7을 참고하여 본 발명의 실시예에 따른 메타데이터 관리 시스템이 서비스 요청 콘텍스트를 처리하여 서비스 응답 콘텍스트를 생성하는 방법에 대해 설명한다.
도 7은 본 발명의 실시예에 따른 서비스 요청 콘텍스트 처리 방법을 도시한 도면이다.
도 7에 도시된 바와 같이, 먼저, 디렉터리 서비스부(170)는 서비스 요청 콘텍스트를 바탕으로 메모리 관리부(179)에 저장된 데이터를 검색한다(S131).
다음, 디렉터리 서비스부(170)는 데이터 검색 결과에 따라 서비스 요청 콘텍스트의 요청 내용을 처리하기 위한 데이터가 저장되어 있는지를 판단한다(S132).
만약, 요청 내용을 처리하기 위한 데이터가 저장되지 아니한 경우, 디렉터리 서비스부(170)는 싱크 관리부(190)로 요청 내용에 대응하는 트리 데이터를 요청한다(S133). 이때 디렉터리 서비스부(170)는 트리 이름(Tree Name)을 이용하여 트리 데이터를 요청할 수 있다.
이후, 싱크 관리부(190)는 디렉터리 서비스부(170)의 요청에 따라 해당 트리 이름에 대응하는 트리 데이터를 구성한다(S134). 이때 싱크 관리부(190)는 저장소(30)에 저장된 데이터베이스에서 해당 트리 이름에 대응하는 데이터를 불러오고, 불러온 데이터를 메모리 관리부(179)의 자료구조에 따라 트리 데이터를 구성할 수 있다.
다음, 디렉터리 서비스부(170)는 싱크 관리부(190)가 구성한 트리 데이터를 메모리 관리부(179)에 저장한다(S135).
이후, 디렉터리 서비스부(170)는 메모리 관리부(179)에 저장된 데이터에 서비스 요청 콘텍스트의 요청 내용을 반영한다(S136). 이때 요청 내용을 처리하기 위한 데이터가 저장된 경우, 디렉터리 서비스부(170)는 메모리 관리부(179)에 저장된 데이터에 서비스 요청 콘텍스트의 요청 내용을 반영할 수 있다.
다음, 디렉터리 서비스부(170)는 요청 내용, 요청 인자 및 처리 결과를 포함하는 서비스 응답 콘텍스트를 생성한다(S137).
이하에서는 도 8을 참고하여 본 발명의 실시예에 따른 데이터 동기화 방법에 대해 설명한다.
도 8은 본 발명의 실시예에 따른 데이터 동기화 방법을 도시한 도면이다.
도 8에 도시된 바와 같이, 먼저, 체인 관리부(150)는 서비스 응답 콘텍스트를 싱크 관리부(190)로 전달한다(S181). 이때 서비스 응답 콘텍스트는 요청 내용, 요청 인자 및 처리 결과를 포함한다.
다음, 싱크 관리부(190)는 전달된 서비스 응답 콘텍스트를 싱크 큐(191)에 저장한다(182).
이후, 싱크 큐(191)는 서비스 응답 콘텍스트의 요청 내용에 대응하는 싱크 명령을 생성한다(S183).
다음, 싱크 관리부(190)는 생성된 싱크 명령을 저장소(30)에 저장한다(S184).
이후, 동기화부(192)는 싱크 큐(191)에 저장된 서비스 응답 콘텍스트에 따라 메모리 관리부(179)의 데이터와 저장소(30)의 데이터간의 데이터 동기화 작업을 수행한다(S185).
다음은 도 9를 참고하여 본 발명의 실시예에 따른 유비쿼터스 센서 네트워크 스키마 정의(USN Schema Definition, 이하에서는 'USN 스키마 정의'라고도 함)에 대해 설명한다.
도 9는 본 발명의 실시예에 따른 USN 스키마 정의를 도시한 도면이다.
XPath 표준 쿼리는 트리 형태의 데이터 구조에서 특정 데이터의 위치를 나타내기 유용하지만 데이터 저장구조를 기술하기에는 적합하지 않으므로 개발자에게 익숙한 XPath와 유사한 방식으로 경로식을 이용하여 메타데이터의 저장구조를 기술할 수 있는 방법인 USN 스키마 정의를 도 9에 도시된 바와 같이 정의하였다.
메타데이터 관리 시스템에서 USN 메타데이터의 저장구조(Schema)의 관리를 위한 USN 스키마 정의를 이용하여 저장구조를 기술하는 문법에 대한 확장된 배커스-나우어 형식(Extended Backus-Naur Form, 이하에서는 'EBNF'라고도 함)은 표 1을 따를 수 있다.
Figure 112009047134811-pat00001
다음은 도 10을 참고하여 본 발명의 실시예에 따른 USN 스키마 정의를 이용하여 데이터를 정의하는 방법에 대해 설명한다.
도 10은 본 발명의 실시예에 따른 데이터 정의 방법을 설명하기 위해 도시한 도면이다.
USN 스키마 정의를 이용하여 저장구조를 정의하는 방법은 XPath에서 경로를 지정하는 방법과 유사하다.
도 10의 (a)에 도시된 바와 같이, '/'와 '디렉터리이름'을 이용하여 트리상에서 부모자식 관계를 정의할 수 있다.
도 10의 (b)에 도시된 바와 같이, ','를 이용하여 형제 관계를 정의할 수 있으며 필요에 따라 '()'를 이용할 수 있다.
도 10의 (c)에 도시된 바와 같이, '[]'와 '@'를 이용하여 디렉터리의 속성값인 프로퍼티를 정의할 수 있다.
USN 스키마 정의로 기술하는 데이터의 저장 구조에서는 디렉터리와 프로퍼티가 데이터를 가질 수 있다. 디렉터리와 프로퍼티의 데이터형은 '[]' 안에서 정의한다.
도 10의 (d)에 도시된 바와 같이, 디렉터리의 데이터형 정의는 "#type='데이터형'"의 형태로 정의할 수 있다.
도 10의 (c)에 도시된 바와 같이, 프로퍼티의 데이터형 정의는 "@b='udss:string'"의 형태로 프로퍼티를 정의하면서 데이터형을 함께 정의할 수 있다.
데이터형을 기술하기 위한 문자열에는 USN 디렉터리 서비스 스키마(USN Directory Service Schema, 이하에서는 'udss'라고도 함)를 의미하는 'udss:'를 접두어로 사용하고 string, int, double, long, boolean, id의 타입을 사용할 수 있다. "udss:id" 타입은 메타데이터 관리 시스템(100)에서 정의한 자원의 식별체계 타입으로 자바(java)의 롱(long)형으로 표현할 수 있으며 데이터 내의 아이디(ID)값에 대한 유일성 검사를 수행할 수 있도록 한다.
디렉터리가 반복되어 나올 수 있는 횟수는 '[]' 안에서 최소한 나와야 하는 횟수를 표현하는 '#minOccurs'와 최대로 나올 수 있는 횟수를 표현하는 '#maxOccurs'로 기술한다. 디렉터리에 대해서 '#minOccurs'와 '#maxOccurs'가 정의되지 않으면 기본값으로 1이 설정된다.
다음은 도 11을 참고하여 본 발명의 실시예에 따른 관계형 데이터베이스의 데이터 저장 알고리즘에 대해 설명한다.
도 11은 본 발명의 실시예에 따른 데이터 저장 방법을 도시한 도면이다.
도 11의 (a)는 메모리 관리부(179)에 저장된 트리 구조의 예이다.
도 11의 (a)의 트리 구조를 관계형 데이터베이스에 저장하기 위해 도 11의 (b)와 같이 관계를 설정할 수 있다.
도 11의 (b)에 도시된 바와 같이, 부모 디렉터리는 첫번째 자식 디렉터리의 포인터를 가지고 각 자식 디렉터리들은 형제들 중 다음 형제의 포인터를 가진다. 또한 디렉터리는 첫번째 프로퍼티의 포인터를 가지고 프로퍼티들은 같은 부모를 갖는 다음 형제 프로퍼티의 포인터를 가진다.
다음은 도 12를 참고하여 본 발명의 실시예에 따른 관계형 데이터베이스의 테이블 구성에 대해 설명한다.
도 12는 본 발명의 실시예에 따른 관계형 데이터베이스의 데이터 구성을 도시한 도면이다.
도 12에 도시된 바와 같이, 관계형 데이터베이스의 테이블에 트리 데이터를 저장하면서 트리 별로 각각 디렉터리 테이블(Directory Table), 프로퍼티 테이블(Property Table)을 갖는데 이것은 메타데이터 관리 시스템(100)에서 자주 사용되는 데이터나 의미적으로 그룹핑(Grouping)할 수 있는 단위로 트리(Tree)를 구성하므로 불필요한 데이터의 참조를 줄여서 사용자의 요청을 빠르게 처리하기 위함이다. 또한 저장소 사용 효율 및 성능 향상을 위해 디렉터리(Directory)와 프로퍼티(Property)를 구분해서 관리한다.
싱크 관리부(190)가 메모리 관리부(179)로부터 받는 요청은 트리(Tree)의 아래 방향으로 찾는 요청만 존재하고 윗방향으로의 요청은 없으므로 저장구조에서 부모(Parent)에 대한 정보를 관리하지 않는다.
다음은 도 13을 참고하여 본 발명의 실시예에 따른 동기화 복구 과정에 대해 설명한다.
도 13은 본 발명의 실시예에 따른 동기화 복구 방법을 도시한 도면이다.
도 13에 도시된 바와 같이, 먼저, 싱크 관리부(190)는 동기화 복구를 수행할 싱크 로그(Sync Log)가 저장소(30)의 로그 저장부(31)에 있는지 확인한다(S210). 이때 싱크 관리부(190)는 복구부(193), 싱크 로그 관리부(195) 및 로그 스토리지(197)를 이용하여 싱크 로그를 확인할 수 있다.
다음, 싱크 관리부(190)는 동기화 복구를 수행할 싱크 로그가 있는 경우 저장된 순서에 따라 싱크 로그를 저장소(30)의 데이터베이스(33)에 반영한다(S230). 이때 싱크 로그가 트리(Tree)의 생성, 삭제 명령인 경우, 복구부(193)가 트리 관리부(194)를 이용하여 저장소(30)에 싱크 로그를 직접 반영할 수 있다. 또한 싱크 로그가 XPath의 파싱(Parsing)이 필요한 명령 또는 스키마 관리 명령인 경우, 싱크 관리부(190)는 콘텍스트(Context)를 생성하여 생성된 콘텍스트를 체인 관리부(150)로 보내고, 체인 관리부(150)로부터 풋-콘텍스트(Put Context) 명령을 수신하여 동기화 복구를 수행할 수 있다.
이후, 싱크 관리부(190)의 복구부(193)는 저장소(30)에 반영한 싱크 로그를 싱크 로그 관리부(195) 및 로그 스토리지(197)를 이용하여 로그 저장부(31)에서 삭제한다(S250).
메타데이터 관리 시스템(100)은 사용자의 데이터 변경 요청인 콘텍스트가 싱크 큐(191)에 들어온 후 저장소에 요청내용을 반영하기 전에 시스템이 종료되면 시스템상의 메모리에 반영된 내용과 저장소에 반영된 내용이 불일치 하는 문제가 발생하기 때문에, 싱크 큐(191)에 요청이 들어오면 요청내용을 저장소에 남겨서 시스템이 재구동 될 때 메모리에 반영한 내용과 저장소에 반영한 내용의 일치 여부를 확인하여 불일치 할 경우 로그의 내용을 저장소에 반영하여 일치시키기 위해 위와 같은 과정을 수행한다.
이때 동기화 복구 과정은 자주 발생하는 과정이 아니고 특수한 상황이고, 복구가 수행되는 시점은 문제를 확인한 후 시스템 재구동시 이므로, 성능이 최우선이 되기보다는 완전성과 안전성이 우선이 된다.
다음은 도 14를 참고하여 본 발명의 실시예에 따른 싱크 관리부가 저장소에 싱크 로그를 반영하는 방법에 대해 설명한다.
도 14는 본 발명의 실시예에 따른 싱크 로그 반영 방법을 도시한 도면이다.
도 14에 도시된 바와 같이, 먼저, 체인 관리부(150)가 싱크 관리부(190)로 풋-콘텍스트(PutContext) 명령을 전송하여 메모리상의 데이터 변경사항을 저장소에 반영하도록 요청한다(S301).
다음, 싱크 관리부(190)는 동기모드로 운영되는지를 판단한다(S303).
만약, 동기모드로 운영되는 경우, 싱크 관리부(190)는 수신된 콘텍스트 명령을 싱크 로그(Sync Log)로 변환한다(S305).
이후, 싱크 관리부(190)는 동기화부(192)를 이용하여 저장소(30)에 싱크 로그를 반영하여 저장소(30)의 데이터베이스(33)에 데이터 변경사항을 반영한다(S307).
한편, 동기모드로 운영되지 아니한 경우 즉, 비동기모드로 운영되는 경우, 싱크 관리부(190)는 수신된 콘텍스트 명령을 싱크 로그(Sync Log)로 변환한다(S309).
다음, 싱크 관리부(190)는 변환된 싱크 로그를 싱크 큐(191)에 저장한다(S311).
이후, 싱크 관리부(190)의 싱크 큐(191)는 싱크 로그를 저장소(30)의 로그 저장부(31)에 저장한다(S313).
다음, 싱크 관리부(190)는 동기화부(192)를 이용하여 저장소(30)에 싱크 로그를 반영하여 저장소(30)의 데이터베이스(33)에 데이터 변경사항을 반영한다(S315). 이때 동기화부(192)는 싱크 큐(191)에서 싱크 로그를 가져와 트리 관리부(194)와 트리 스토리지(196)를 이용하여 데이터 변경사항을 반영할 수 있다.
이후, 싱크 관리부(190)의 동기화부(192)는 싱크 로그 관리부(195)와 로그 스토리지(197)를 이용하여 저장소(30)의 로그 저장부(31)에 싱크 로그 반영 정보를 기록한다(S317).
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 USN 메타데이터 관리/제공 서비스 개념도를 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 메타데이터 관리 시스템의 동작 개념도를 도시한 도면이다.
도 3은 본 발명의 실시예에 다른 메타데이터 관리 시스템의 구조를 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 디렉터리 서비스부의 구성을 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 싱크 관리부의 구성을 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 메타데이터 관리 방법을 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 서비스 요청 콘텍스트 처리 방법을 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 데이터 동기화 방법을 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 USN 스키마 정의를 도시한 도면이다.
도 10은 본 발명의 실시예에 따른 데이터 정의 방법을 설명하기 위해 도시한 도면이다.
도 11은 본 발명의 실시예에 따른 데이터 저장 방법을 도시한 도면이다.
도 12는 본 발명의 실시예에 따른 관계형 데이터베이스의 데이터 구성을 도시한 도면이다.
도 13은 본 발명의 실시예에 따른 동기화 복구 방법을 도시한 도면이다.
도 14는 본 발명의 실시예에 따른 싱크 로그 반영 방법을 도시한 도면이다.

Claims (10)

  1. 메타데이터 관리 시스템이 저장소에 저장된 메타데이터를 관리하는 방법에 있어서,
    수신된 서비스 요청을 콘텍스트로 변환하여 요청 내용을 포함하는 서비스 요청 콘텍스트를 생성하는 단계;
    미리 등록된 복수의 핸들러 중 상기 서비스 요청 콘텍스트에 대응하는 제1 핸들러의 제어에 따라 상기 메타데이터 관리 시스템에 저장된 메타데이터를 바탕으로 상기 서비스 요청 콘텍스트를 처리하여 처리 결과를 포함하는 서비스 응답 콘텍스트를 생성하는 단계;
    상기 복수의 핸들러 중 상기 서비스 응답 콘텍스트에 대응하는 제2 핸들러를 통해 상기 서비스 응답 콘텍스트에 대한 서비스 결과물을 생성하는 단계; 및
    상기 서비스 응답 콘텍스트 및 상기 서비스 결과물을 바탕으로 요청 내용, 처리 결과 및 서비스 결과물을 포함하는 서비스 응답을 생성하는 단계를 포함하는 메타데이터 관리 방법.
  2. 제1항에 있어서,
    상기 방법은
    상기 서비스 결과물을 바탕으로 상기 서비스 요청에 따라 상기 메타데이터 관리 시스템에 저장된 메타데이터가 변경된 경우, 상기 서비스 응답 콘텍스트를 바탕으로 상기 메타데이터 관리 시스템에 저장된 메타데이터와 상기 저장소에 저장된 메타데이터간의 데이터 동기화를 수행하는 단계를 더 포함하는 메타데이터 관리 방법.
  3. 제2항에 있어서,
    상기 데이터 동기화를 수행하는 단계는
    상기 서비스 응답 콘텍스트를 바탕으로 상기 저장소에서 인식 가능한 싱크 로그를 생성하는 단계;
    상기 싱크 로그를 상기 저장소에 저장하는 단계; 및
    상기 싱크 로그에 따라 상기 메타데이터 관리 시스템에 저장된 메타데이터에 대응하도록 상기 저장소에 저장된 메타데이터를 변경하는 단계를 포함하는 메타데이터 관리 방법.
  4. 제3항에 있어서,
    상기 데이터 동기화를 수행하는 단계는
    상기 메타데이터를 변경하는 단계를 수행하는 중에 상기 메타데이터 관리 시스템이 재구동 하는 경우, 상기 저장소에 싱크 로그의 저장여부를 검사하는 단계; 및
    상기 저장소에 저장된 싱크 로그에 따라 상기 저장소에 저장된 메타데이터를 변경하는 단계를 더 포함하는 메타데이터 관리 방법.
  5. 제4항에 있어서,
    상기 데이터 동기화를 수행하는 단계는
    상기 저장소에 저장된 싱크 로그를 삭제하는 단계를 더 포함하는 메타데이터 관리 방법.
  6. 제1항에 있어서,
    상기 서비스 응답 콘텍스트를 생성하는 단계는
    상기 메타데이터 관리 시스템에 저장된 메타데이터에서 상기 요청 내용에 대응하는 데이터를 검색하는 단계;
    상기 메타데이터 관리 시스템에 저장된 메타데이터에 상기 데이터가 저장되지 아니한 경우, 상기 저장소에 저장된 메타데이터 중 상기 데이터에 대응하는 요청데이터를 가져오는 단계;
    상기 요청데이터를 상기 메타데이터 관리 시스템의 자료구조에 따라 변환하여 상기 데이터를 구성하는 단계; 및
    상기 데이터를 바탕으로 상기 서비스 요청 콘텍스트를 처리하는 단계를 포함하는 메타데이터 관리 방법.
  7. 제6항에 있어서,
    상기 자료구조는
    복수의 노드가 하나의 트리를 구성하는 트리 형태인 메타데이터 관리 방법.
  8. 저장소에 저장된 메타데이터를 관리하는 시스템에 있어서,
    수신된 서비스 요청을 상기 시스템의 데이터 구조로 변환하는 명령어 변환부;
    상기 시스템이 제공하는 복수의 서비스에 각각 대응하는 복수의 핸들러를 이용하여 상기 명령어 변환부를 통해 변환된 서비스 요청을 처리하는 체인 관리부; 및
    상기 서비스 요청을 처리하기 위해 상기 저장소에 저장된 메타데이터의 일부의 데이터를 저장하고, 상기 일부의 데이터를 검색 및 관리하는 디렉터리 서비스부를 포함하는 메타데이터 관리 시스템.
  9. 제8항에 있어서,
    상시 서비스 요청에 따라 상기 일부의 데이터가 변경된 경우, 변경된 일부의 데이터를 상기 저장소에 반영하는 싱크 관리부를 더 포함하는 메타데이터 관리 시스템.
  10. 제9항에 있어서,
    상기 일부의 데이터는 상기 메타데이터 중 사용빈도에 따라 결정되는 메타데이터 관리 시스템.
KR1020090070585A 2008-08-01 2009-07-31 메타데이터 관리 시스템 및 방법 KR101132741B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080075627 2008-08-01
KR20080075627 2008-08-01

Publications (2)

Publication Number Publication Date
KR20100014177A KR20100014177A (ko) 2010-02-10
KR101132741B1 true KR101132741B1 (ko) 2012-04-06

Family

ID=42087999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090070585A KR101132741B1 (ko) 2008-08-01 2009-07-31 메타데이터 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101132741B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116633946B (zh) * 2023-05-29 2023-11-21 广州经传多赢投资咨询有限公司 一种基于分布式协议的集群状态同步处理方法及其系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047627A (ko) * 2005-11-02 2007-05-07 전자부품연구원 메타데이터를 이용한 이종 단말 간의 멀티미디어 컨텐츠관리 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047627A (ko) * 2005-11-02 2007-05-07 전자부품연구원 메타데이터를 이용한 이종 단말 간의 멀티미디어 컨텐츠관리 시스템

Also Published As

Publication number Publication date
KR20100014177A (ko) 2010-02-10

Similar Documents

Publication Publication Date Title
US11200229B2 (en) Expansion of a tree hierarchy
US7779050B2 (en) Method, apparatus, and system for data modeling and processing
US7386541B2 (en) System and method for compiling an extensible markup language based query
US7496599B2 (en) System and method for viewing relational data using a hierarchical schema
US7139973B1 (en) Dynamic information object cache approach useful in a vocabulary retrieval system
US20090077091A1 (en) System for development and hosting of network applications
US8219972B1 (en) Platform for processing semi-structured self-describing data with aggregating clauses
US8387030B2 (en) Service adaptation definition language
US8726229B2 (en) Multi-language support for service adaptation
US7650346B2 (en) User-defined type consistency checker
WO2020238597A1 (zh) 基于Hadoop的数据更新方法、装置、系统及介质
KR100701104B1 (ko) 분산된 정보들의 통합 뷰 생성을 위한 데이터베이스스키마 생성 방법 및 정보 통합 시스템
CN111966692A (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
US11663173B2 (en) Data map connectivity interface
CN116483850A (zh) 数据处理方法、装置、设备以及介质
KR101132741B1 (ko) 메타데이터 관리 시스템 및 방법
RU2708939C2 (ru) Система и способ обработки данных графов
Rodriguez-Martinez et al. Automatic deployment of application-specific metadata and code in MOCHA
US8499007B2 (en) Information processing system, first information processing apparatus, second information processing apparatus, and third information processing apparatus
Sun OSLN: An Object-Oriented Semantic Link Network language for complex object description and operation
JP2009181463A (ja) サーバ、データ転送方法及びプログラム
Gupta et al. Distributed query processing on the Web
Calbimonte et al. Evaluating SPARQL Queries over Linked Data Streams.
Konopnicki et al. Bringing database functionality to the WWW
Lu et al. Analyzing Triggers in XML Data Integration Systems

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
LAPS Lapse due to unpaid annual fee