[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
'Development > C|C++|C#' 카테고리의 다른 글
[Effective C++]4. 설계 및 선언 (0) | 2016.10.29 |
---|---|
[Effective C++]3. 자원 관리 (0) | 2016.10.19 |
[Effective C++]2. 생성자, 소멸자 및 대입 연산자 (0) | 2016.10.16 |
[Effective C++]1. C++에 왔으면 C++의 법을 따릅시다. (0) | 2016.10.14 |
[QT 5.7]QFileDialog 한글 깨짐 현상 (0) | 2016.10.12 |