본문 바로가기
Development/C|C++|C#

[C++]JSON 데이터 트리(Tree)스키마 파싱 논문 구현

by True Life 2016. 10. 19.


[C++]JSON 데이터 트리(Tree)파싱 논문 구현

Schema-mgmt-doc-store

< Schema Management for Document Stores >

  • 4.2 eSiBu-Tree & EST-Based Record Schema Grouping
  • 7 Query 2 based on eSiBu-Tree
  • Library : jsoncpp
  • Main Algorithm : BFS
  • Main Datastructure : Queue (STL-deque)

핵심은 JSON 데이터를 트리의 형태로 구조화하는 것. Node, NodeManager class를 통해 적절한 방식으로 ID, parent등을 처리하여 구조화함


json 구조 데이터를 트리화하여 표현하면 더 효율적으로 찾을 수 있다나.. 이런 내용의 논문이다. 트리화 하는데 규칙이 있는데 입력을 그대로 받지 않고 중복되는 데이터들을 포함하는 여러 데이터들(시나리오)을 입력받는다. 이때 노드 ID는 시나리오의 노드 데이터들을 리스트화 한 것이고 마지막 서브버켓도 있어야 한다.

그리고 노드마다 T와 F의 플래그를 설정하는데...


대략 이런 내용이다. 중국인 교수가 쓴 듯 한데.. 와닿지 않은 내용이라서 별 관심은 안든다.



논문을 다 읽어보진 않았고 그냥 4.2와 5의 구현/쿼리 부분만 작성했다.

사실 영어논문은 보기만 해도 읽기가 싫어져서 최소의 부분을 읽어 이해한다.

JSON Library 사용해야 돼서 조금 뻘짓 좀 했다.


그래도 나름 요즘 Effective C++ 읽고 있어서 구조화 하는데 신경좀 썻다. C++다운 프로젝트 만들어본게 별로 없어서 조금은 공부가 되었다. 이런 외주 참 마음에 든다.


관련 소스 첨부한다.


Schema-mgmt-doc-store-master.zip