KR20150088094A - 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체 - Google Patents

계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체 Download PDF

Info

Publication number
KR20150088094A
KR20150088094A KR1020140008488A KR20140008488A KR20150088094A KR 20150088094 A KR20150088094 A KR 20150088094A KR 1020140008488 A KR1020140008488 A KR 1020140008488A KR 20140008488 A KR20140008488 A KR 20140008488A KR 20150088094 A KR20150088094 A KR 20150088094A
Authority
KR
South Korea
Prior art keywords
tag
file
path information
analysis
list
Prior art date
Application number
KR1020140008488A
Other languages
English (en)
Other versions
KR101974341B1 (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 한화테크윈 주식회사
Priority to KR1020140008488A priority Critical patent/KR101974341B1/ko
Priority to CN201410562682.5A priority patent/CN104809145B/zh
Publication of KR20150088094A publication Critical patent/KR20150088094A/ko
Application granted granted Critical
Publication of KR101974341B1 publication Critical patent/KR101974341B1/ko

Links

Images

Classifications

    • 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/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

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

Abstract

XML 파일의 태그 계층 구조 분석 결과를 기록해둠으로써, XML 파일에 기록된 데이터의 프로세싱이 필요할 때마다 XML 파일의 태그 계층 구조를 다시 분석하는 일이 없이 기록해둔 태그 계층 구조 분석 결과를 이용하게 신속하게 XML 파일에 기록된 데이터의 프로세싱을 수행하는 방법이 제공된다. 본 발명에 따른 계층적 데이터 분석 방법은 XML(eXtensible Markup Language) 기반의 제1 분석 대상 파일을 로드(load) 하는 단계, 상기 로드 된 제1 분석 대상 파일에 포함된 태그(tag)들의 계층 구조를 분석하는 단계, 및 상기 분석 결과를 이용하여, 상기 제1 분석 대상 파일에 포함된 각 태그의 태그 경로 정보의 리스트를 저장 수단에 기록하는 단계를 포함한다.

Description

계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체{Hierarchical data analyzing method and recording medium which records computer program thereof}
본 발명은 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체에 관한 것이다. 보다 자세하게는, XML(eXtensible Markup Language) 기반의 구조에 따른 데이터 등 태그 기반의 계층적인 구조를 가지는 데이터를 활용하여 데이터 프로세싱을 수행함에 있어서, 태그 계층 구조를 분석하는데 소요되는 연산량 및 연산 시간을 감소시키기 위한 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체에 관한 것이다.
XML 파일은 계층적인 구조를 가지는 데이터를 표현하는데 널리 사용되는 파일 형식이다. XML 파일은 사용자가 직접 태그 구조를 정의할 수 있는 확장성을 가지는 점에서 HTML(HyperText Markup Language) 등과 비교하여 강점을 가진다.
XML 파일에 포함된 정보는 태그를 이용하여 각 정보 사이의 연결 관계가 표시된다. 이러한 태그들은 트리 형태의 계층 구조를 가진다. 따라서, XML 파일에 포함된 정보를 분석하기 위하여는 각 태그의 계층 구조인 트리 구조를 세팅하는 작업이 선행되어야 한다. 잘 알려진 바와 같이, 트리의 노드 개수가 N일 때, 트리를 탐색하는데 소요되는 연산 시간 O(log N)이다. XML 파일의 트리구조가 잘 분배된 트리 구조일 수도 있으나, 높은 DEPTH를 가지는 XML 파일의 분석에는 더 많은 시간이 소요될 수 있다. 따라서, 높은 DEPTH를 가지는 대용량 XML 파일의 태그 계층 구조를 매번 새롭게 분석하는 것은 연산량과 연산 시간을 낭비하는 것이다.
한국공개특허 2013-0101153 한국공개특허 2008-0090647
본 발명이 해결하고자 하는 기술적 과제는 XML 파일 등 태그 기반의 계층적 구조를 가진 데이터의 태그 계층 구조 분석 결과를 기록해둠으로써, XML 파일에 기록된 데이터의 프로세싱이 필요할 때마다 XML 파일의 태그 계층 구조를 다시 분석하는 일이 없이 기록해둔 태그 계층 구조 분석 결과를 이용하게 신속하게 XML 파일에 기록된 데이터의 프로세싱을 수행하는 방법 및 그 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 분석 대상 파일의 태그 계층 구조 분석 결과를 기록해두되, 분석 대상 파일에 포함된 각각의 태그 별로 루트 태그로부터 해당 태그에 이르는 경로를 상기 태그 계층 구조 분석 결과로서 기록해두는 방법 및 그 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 분석 대상 파일의 각 태그가 적용되는 구역, 즉 시작 태그(<tag>)와 종료 태그(</tag>) 사이에 위치한 구문이 한눈에 파악될 수 있는 형태의 데이터 구조를 생성하여 표시하고 기록하는 방법 및 그 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법은 태그 기반의 계층적 구조를 가진 데이터를 포함하는 제1 분석 대상 파일을 로드(load) 하는 단계, 상기 로드 된 제1 분석 대상 파일에 포함된 태그(tag)들의 계층 구조를 분석하는 단계, 및 상기 분석 결과를 이용하여, 상기 제1 분석 대상 파일에 포함된 각 태그의 태그 경로 정보의 리스트를 저장 수단에 기록하는 단계를 포함한다.
일 실시예에 따르면, 상기 각 태그의 태그 경로 정보는 상기 제1 분석 대상 파일의 루트(root) 태그로부터 상기 각 태그까지의 경로 상에 위치한 태그들의 순차적 배열을 의미할 수 있다.
일 실시예에 따르면, 상기 기록하는 단계는, 상기 제1 분석 대상 파일에 포함된 제1 태그에 대한 상기 태그 경로 정보를 저장 수단에 기록하는 단계, 상기 제1 태그에 대한 상기 태그 경로 정보 끝에 소정의 구분자를 스트링 연결(string concatenation)하는 단계; 및 상기 구분자 뒤에 상기 제1 분석 대상 파일에 포함된 제2 태그에 대한 상기 태그 경로 정보를 스트링 연결하는 단계를 포함할 수 있다. 이 때, 상기 제2 태그는 상기 제1 분석 대상 파일 내에서 상기 제1 태그의 바로 뒤에 위치하는 시작 태그를 의미할 수 있다.
일 실시예에 따르면, 상기 기록하는 단계는, 상기 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제1 분석 대상 파일 내에서 상기 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터를 디스플레이 하는 단계를 포함할 수 있다.
일 실시예 따르면, 상기 계층적 데이터 분석 방법은 상기 2차원 데이터를 저장 수단에 저장하는 단계를 더 포함할 수 있다. 이 때, 상기 2차원 데이터 구조를 가진 데이터는, 스프레드 쉬트(SPREAD SHEET) 어플리케이션에 의하여 로드 될 수 있는 데이터인 것이 바람직하다.
일 실시예에 따르면, 상기 제1 분석 대상 파일과 동일한 태그 계층 구조를 가지는 제2 분석 대상 파일을 로드 하는 단계; 상기 저장 수단에 기록된 태그 경로 정보의 리스트를 로드 하는 단계; 및 상기 로드 된 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제2 분석 대상 파일 내에서 상기 로드된 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터 구조를 디스플레이 하는 단계를 더 포함할 수 있다.
상기와 같은 본 발명에 따르면, XML 파일을 신속하게 분석할 수 있는 효과가 있다.
또한, XML 파일의 태그 구조를 저장 수단에 저장해 두고, 추후에 동일한 태그 구조를 가진 다른 XML 파일의 데이터 프로세싱이 필요할 때 상기 저장 수단에 저장해둔 태그 구조를 LOAD 하여 태그 구조를 바로 파악하고, 그 결과를 이용하여 상기 다른 XML 파일의 데이터 프로세싱을 신속하게 처리할 수 있는 효과가 있다.
또한, 제1 축은 각각의 태그, 제2 축은 각각의 태그 적용 구역 내의 구문들을 배치한 데이터 구조를 이용하여 XML 파일의 분석 결과를 표시 함으로써, XML 파일의 구조를 한눈에 파악할 수 있는 효과가 있다. 상기 제1 축, 제2 축을 가지는 데이터 구조는 스프레드 쉬트(SPREAD SHEET) 어플리케이션을 통해 LOAD되어 사용 편의성이 증대될 수 있다.
도 1은 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법의 순서도이다.
도 2는 XML 파일의 태그 구조 예시이다.
도 3은 도 2에 도시된 파일의 태그 구조가 트리로 표현된 개념도이다.
도 4는 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법에 따라 기록되는 태그 경로 정보의 리스트를 나타낸 도면이다.
도 5는 도 1에 도시된 순서도에 이어져 실행 될 수 있는 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법의 순서도이다.
도 6은 도 1에 도시된 순서도에 이어져 실행 될 수 있는 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따라 생성될 수 있는 2개 축 기반의 데이터 구조가 표시된 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
먼저, 도 1을 참조하여 본 발명의 일 실시예에 따른 계층적 데이터 분석 방법에 대하여 설명한다.
먼저 분석 대상인 XML 기반의 파일을 로드(load) 한다(S100). 상기 로드의 의미는 저장 수단에 저장되어 있던 파일을 메모리로 읽어 들이는 것을 의미할 수 있다. 상기 로드는 본 실시예에 따른 계층적 데이터 분석 방법을 구현하는 컴퓨터 프로그램을 통하여 사용자가 파일 로드 명령을 입력할 때 수행될 것이다.
로드 될 수 있는 파일은 태그(tag) 기반의 계층적 구조를 가진 데이터를 포함하는 것이다. 즉, 상기 파일 내의 데이터가 태그(tag)를 통하여 표현되는 트리 형태의 계층 구조를 가진다. 상기 파일은, 예를 들어 XML 기반의 파일, HTML 기반의 파일일 수 있다.
다음으로 로드 된 파일 내의 태그 계층 구조를 분석한다(S102). 이 때 데이터를 읽어 들여 트리 구조를 생성하는 재귀형 알고리즘이 사용될 수 있다. 도 2 내지 3을 참조하여 설명하면, 도 2에 도시된 것과 같은 XML 파일이 로드 되었다면 도 3에 도시된 것과 같은 트리 구조가 생성될 수 있다. 태그에는 시작 태그와 종료 태그가 있는데, 둘 중 하나의 태그만 트리 구조에 입력되는 것이 바람직하다. 동일한 부모 태그를 갖는 형제(sibling) 태그는 로드 된 파일에 기재된 순서에 따라 왼쪽에서 오른쪽으로 배치되는 것이 바람직하다. 도 3에는 이러한 방식에 따라 <Part> 태그의 자식 태그 중 가장 먼저 등장하는 <CadRotations> 태그가 <Part> 태그의 첫번째 자식 태그로, 가장 왼쪽에 표시되어 있다.
다음으로 상기 생성된 트리 구조를 이용하여 상기 로드 된 파일에 포함된 각 태그의 태그 경로 정보의 리스트를 저장 수단에 기록한다(S104). 예를 들어 상기 리스트를 텍스트 파일 형태로 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 데이터베이스 화 하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 스프레드 쉬트(SPREAD SHEET) 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 문서 작성 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있다.
상기 저장 수단은 내장 하드 디스크, 외장 하드 디스크, 옵티컬 디스크, 비 휘발성 메모리, USB 메모리 등으로 구성될 수 있다.
상기 로드 된 파일에 포함된 각 태그의 태그 경로 정보는, 상기 생성된 트리 구조에 포함된 각 노드(태그가 기록된)를 프리오더 순회(preorder traverse)함으로써 얻을 수 있다. 상기 프리오더 순회는 루트 노드를 가장 먼저 탐색하고 왼쪽 노드, 오른쪽 노드 순으로 순회하는 방식이다. 도 4에는 도 3에 도시된 트리 구조를 프리오더 순회함으로써 얻은 각 태그의 태그 경로 정보들의 리스트가 표시되어 있다.
도 4를 보다 자세히 설명하면, 가장 먼저 루트 노드인 PartsList 태그의 경로 "PartsList"가 표시되고, 그 다음으로 루트 노드의 자식 노드인 Part 태그의 경로 "PartsList>Part"가 표시된다. 한편, Part 태그의 경우, 두개의 attribute "@xmlns:xsd", "@xmlns:xsi"를 가지는데, 본 실시예에 따르면 태그의 구역 내에 기재된 구문 뿐만 아니라, attribute의 값도 추출하여 표시해줄 수 있으므로, 이러한 경우를 대비하여 태그 내 attribute의 경로도 표시될 수 있다. 즉, Part 태그 내의 @xmlns:xsd attribute 경로인 "PartsList>Part>@xmlns:xsd"와 Part 태그 내의 @xmlns:xsi attribute의 경로인 "PartsList>Part>@xmlns:xsi"가 표시될 수 있다. 상기 태그 내 attribute에 관한 특칙을 제외 하면, 트리 구조를 프리오더 순회함으로써, 상기 로드 된 파일에 포함된 각 태그의 순서대로 상기 리스트가 구성될 수 있다.
도 4에 도시된 것과 같이 각 태그의 태그 경로 정보 리스트를 기록해 둠으로써, 트리 구조로 XML 파일을 분석한 상태에서 특정 태그를 찾는 것에 비하여 연산 시간이 더 절약될 수 있다. 예를 들어, "BodyColorID" 태그를 찾는다고 할 때(도 4에 굵게 표시), 태그 경로 정보 리스트에서는 "BodyColorID" 태그의 계층 정보를 즉각적으로 확인할 수 있으나, 트리 구조에서는 "BodyColorID" 태그의 검색 및 루트 노드로부터 검색된 태그까지의 경로 정보 확인이 필요하다.
태그 경로 정보 리스트 내의 각 태그 경로 정보는 소정의 구분자에 의하여 구분될 수 있다. 상기 구분자는, 도 4에 도시된 바와 같이 개행 문자일 수 있다. 즉, 상기 로드 된 파일에 포함된 제1 태그에 대한 상기 태그 경로 정보를 기록하고, 상기 제1 태그에 대한 상기 태그 경로 정보 끝에 소정의 구분자를 스트링 연결(string concatenation)하고, 상기 구분자 뒤에 상기 제1 분석 대상 파일에 포함된 제2 태그에 대한 상기 태그 경로 정보를 스트링 연결하는 방식으로 상기 리스트가 생성될 수 있다. 상기 제2 태그는 상기 로드 된 파일 내에서 상기 제1 태그의 바로 뒤에 위치하는 시작 태그일 수 있다.
일 실시예에 따르면, 도 5에 도시된 바와 같이, 상기 로드 된 파일에 포함된 각각의 구문이 태그 별로 구분되어 표시될 수 있다(S106). 상기 구문은 로드 된 파일 내에 포함된, 태그가 아닌 데이터를 의미한다.
상기 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제1 분석 대상 파일 내에서 상기 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터가 생성될 수 있다. 도 5에 도시된 것을 참조하여 설명하면, 제1 축을 따라 제1 태그의 태그 경로 정보, 제2 태그의 태그 경로 정보, ... 제N 태그의 태그 경로 정보가 표시되고, 제2 축을 따라 각 태그의 구역(시작 태그와 종료 태그 사이)에 기재된 구문이 표시될 수 있다. 이러한 방식으로 로드 된 파일을 표시하면, 파일에 포함된 데이터를 보다 직관적으로 파악할 수 있는 효과가 있다.
생성된 상기 2차원 데이터는 한번 표시되는 것에 그치지 않고 추후 다시 열어볼 수 있도록 저장 수단에 기록될 수 있다. 예를 들어 상기 리스트를 텍스트 파일 형태로 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 데이터베이스 화 하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 스프레드 쉬트(SPREAD SHEET) 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 문서 작성 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있다.
도 7은 상기 2차원 데이터의 구성 예시이다.
일 실시예에 따르면, 동일한 태그 계층 구조를 가지는 다른 파일을 로드 하여 분석하는데 상기 기록된 태그 경로 정보 리스트가 재활용될 수 있다. 예를 들어 부품 정보가 기록된 대용량의 제1 XML 파일과, 상기 제1 XML 파일과 동일한 태그 계층 구조를 가지는 대용량의 제2 XML 파일이 존재할 때, 제1 XML 파일에 대한 태그 경로 정보 리스트 파일을 로드 하여 상기 제2 XML 파일의 분석에 활용함으로써, XML 파일의 태그 계층 구조 분석에 소요되는 연산 시간을 절약할 수 있다. 도 6을 참조하여 이러한 실시예에 대해 보다 자세히 설명한다.
도 1을 참조하여 설명된 방법을 수행한 이후, 제2 분석 대상 파일을 로드 한다(S107). 또한, 저장 수단에 기록된 태그 경로 정보 리스트를 로드 한다(S109). 상기 언급된 바와 같이 제1 분석 대상 파일과 제2 분석 대상 파일은 동일한 태그 계층 구조를 가지고, 구문만 서로 다른 것이므로, 제1 분석 대상 파일의 태그 경로 정보 리스트를 이용하여 제2 분석 대상 파일을 처리하는 것이 가능하다. 보다 구체적으로는, 로드 된 제2 분석 대상 파일을 순차적으로 스캔 하면서, 상기 제1 분석 대상 파일의 태그 경로 정보 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그와, 상기 태그의 구역에 기재된 구문들을 매칭시킨다(S111). 이러한 매칭 결과는, 상기 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제1 분석 대상 파일 내에서 상기 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터의 형태로 표시될 수 있다.
상기 2차원 데이터는 일회성으로 생성 된 후 삭제되는 것이 아니라, 추후 다시 읽어볼 수 있도록 저장 수단에 기록될 수 있다(S113). 예를 들어 상기 리스트를 텍스트 파일 형태로 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 데이터베이스 화 하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 스프레드 쉬트(SPREAD SHEET) 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있고, 상기 리스트를 문서 작성 프로그램이 읽을 수 있는 파일 형태로 구성하여 상기 저장 수단에 기록할 수도 있다.
본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터가 읽을 수 있는 매체는 컴퓨터가 읽을 수 있는 저장 매체 및 컴퓨터가 읽을 수 있는 전송 매체를 포함할 수 있다. 상기 컴퓨터가 읽을 수 있는 저장 매체는 데이터를 저장하고, 저장된 데이터는 추후 컴퓨터 시스템에 의하여 리드(read)되는 데이터 스토리지 장치일 수 있으며, 예를 들어, ROM, RAM, CD-ROM, 자기 테이브, 플로피 디스크, 기타 옵티컬 저장 장치일 수 있다. 상기 컴퓨터가 읽을 수 있는 저장 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 각 컴퓨터가 읽을 수 있는 코드가 저장되고 실행되는 것이 분산 처리 방식에 의하여 수행되도록 할 수 있다. 상기 컴퓨터가 읽을 수 있는 전송 매체는 유무선 인터넷 접속을 통하여 반송파 또는 반송 신호(carrier wave, carrier signal)를 송신하는 것일 수 있다.
지금까지 도 1, 도 5, 도 6의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
버켓 설정 데이터 100
버켓 구성 규칙 102, 104, 106, 108
버켓 302, 304, 306, 308
버켓의 시간 구간 식별자 310, 320

Claims (8)

  1. 태그 기반의 계층적 구조를 가진 데이터를 포함하는 제1 분석 대상 파일을 로드(load) 하는 단계;
    상기 로드 된 제1 분석 대상 파일에 포함된 태그(tag)들의 계층 구조를 분석하는 단계; 및
    상기 분석 결과를 이용하여, 상기 제1 분석 대상 파일에 포함된 각 태그의 태그 경로 정보의 리스트를 저장 수단에 기록하는 단계를 포함하는,
    계층적 데이터 분석 방법.
  2. 제1 항에 있어서,
    상기 각 태그의 태그 경로 정보는,
    상기 제1 분석 대상 파일의 루트(root) 태그로부터 상기 각 태그까지의 경로 상에 위치한 태그들의 순차적 배열인,
    계층적 데이터 분석 방법.
  3. 제1 항에 있어서,
    상기 기록하는 단계는,
    상기 제1 분석 대상 파일에 포함된 제1 태그에 대한 상기 태그 경로 정보를 저장 수단에 기록하는 단계;
    상기 제1 태그에 대한 상기 태그 경로 정보 끝에 소정의 구분자를 스트링 연결(string concatenation)하는 단계; 및
    상기 구분자 뒤에 상기 제1 분석 대상 파일에 포함된 제2 태그에 대한 상기 태그 경로 정보를 스트링 연결하는 단계를 포함하는,
    계층적 데이터 분석 방법.
  4. 제3 항에 있어서,
    상기 제2 태그는 상기 제1 분석 대상 파일 내에서 상기 제1 태그의 바로 뒤에 위치하는 시작 태그인,
    계층적 데이터 분석 방법.
  5. 제1 항에 있어서,
    상기 기록하는 단계는,
    상기 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제1 분석 대상 파일 내에서 상기 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터를 디스플레이 하는 단계를 포함하는,
    계층적 데이터 분석 방법.
  6. 제5 항에 있어서,
    상기 2차원 데이터를 저장 수단에 저장하는 단계를 더 포함하고,
    상기 2차원 데이터 구조를 가진 데이터는, 스프레드 쉬트(SPREAD SHEET) 어플리케이션에 의하여 로드 될 수 있는 데이터인,
    계층적 데이터 분석 방법.
  7. 제1 항에 있어서,
    상기 제1 분석 대상 파일과 동일한 태그 계층 구조를 가지는 제2 분석 대상 파일을 로드 하는 단계;
    상기 저장 수단에 기록된 태그 경로 정보의 리스트를 로드 하는 단계; 및
    상기 로드 된 태그 경로 정보의 리스트를 제1 축으로 하고, 상기 제2 분석 대상 파일 내에서 상기 로드된 리스트에 포함된 각각의 태그 경로 정보에 대응하는 태그의 구역에 기재된 구문을 제2 축으로 하는 2차원 데이터 구조를 디스플레이 하는 단계를 더 포함하는,
    계층적 데이터 분석 방법.
  8. 제1 내지 7 항 중 어느 한 항에 기재된 방법을 실행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020140008488A 2014-01-23 2014-01-23 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체 KR101974341B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140008488A KR101974341B1 (ko) 2014-01-23 2014-01-23 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체
CN201410562682.5A CN104809145B (zh) 2014-01-23 2014-10-21 层次式数据分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140008488A KR101974341B1 (ko) 2014-01-23 2014-01-23 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체

Publications (2)

Publication Number Publication Date
KR20150088094A true KR20150088094A (ko) 2015-07-31
KR101974341B1 KR101974341B1 (ko) 2019-05-02

Family

ID=53693970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140008488A KR101974341B1 (ko) 2014-01-23 2014-01-23 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체

Country Status (2)

Country Link
KR (1) KR101974341B1 (ko)
CN (1) CN104809145B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585428B2 (en) 2016-06-21 2020-03-10 Electronics And Telecommunications Research Institute Building energy management system and method
KR102108272B1 (ko) * 2019-05-28 2020-05-08 한화시스템(주) 운용자 행위 기반의 소프트웨어 개발 산출문서 자동 생성 시스템 및 방법
CN116882366A (zh) * 2023-09-07 2023-10-13 粤芯半导体技术股份有限公司 标记型报文的结构转换方法、装置、电子产品和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226452A (ja) * 2006-02-22 2007-09-06 Toshiba Corp 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US20070255748A1 (en) * 2006-04-06 2007-11-01 University Di Pisa Method of structuring and compressing labeled trees of arbitrary degree and shape
US20080090647A1 (en) 2003-06-09 2008-04-17 Igt Gaming device including movable symbol indicator plates
US20130101153A1 (en) 2011-10-20 2013-04-25 Mitsubishi Heavy Industries, Ltd. Insertion-hole blockage-rate evaluation system, insertion-hole blockage-rate evaluation method, and insertion-hole blockage-rate evaluation program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460064B2 (en) * 2006-05-18 2016-10-04 Oracle International Corporation Efficient piece-wise updates of binary encoded XML data
CN101887458A (zh) * 2010-07-06 2010-11-17 江苏大学 一种基于路径编码的xml文档索引方法
CN102768674B (zh) * 2012-06-12 2016-08-24 北大方正集团有限公司 一种基于路径结构的xml数据存储方法
CN103049494B (zh) * 2012-12-07 2017-05-24 华为技术有限公司 一种xml文档的表格存储方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080090647A1 (en) 2003-06-09 2008-04-17 Igt Gaming device including movable symbol indicator plates
JP2007226452A (ja) * 2006-02-22 2007-09-06 Toshiba Corp 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US20070255748A1 (en) * 2006-04-06 2007-11-01 University Di Pisa Method of structuring and compressing labeled trees of arbitrary degree and shape
US20130101153A1 (en) 2011-10-20 2013-04-25 Mitsubishi Heavy Industries, Ltd. Insertion-hole blockage-rate evaluation system, insertion-hole blockage-rate evaluation method, and insertion-hole blockage-rate evaluation program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585428B2 (en) 2016-06-21 2020-03-10 Electronics And Telecommunications Research Institute Building energy management system and method
KR102108272B1 (ko) * 2019-05-28 2020-05-08 한화시스템(주) 운용자 행위 기반의 소프트웨어 개발 산출문서 자동 생성 시스템 및 방법
CN116882366A (zh) * 2023-09-07 2023-10-13 粤芯半导体技术股份有限公司 标记型报文的结构转换方法、装置、电子产品和介质
CN116882366B (zh) * 2023-09-07 2024-01-19 粤芯半导体技术股份有限公司 标记型报文的结构转换方法、装置、电子产品和介质

Also Published As

Publication number Publication date
CN104809145A (zh) 2015-07-29
KR101974341B1 (ko) 2019-05-02
CN104809145B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
US11423216B2 (en) Providing extraction results for a particular field
US11972203B1 (en) Using anchors to generate extraction rules
US20210011925A1 (en) Field value and label extraction from a field value
US20170139887A1 (en) Advanced field extractor with modification of an extracted field
US20170091589A1 (en) Framework for data extraction by examples
US7962494B2 (en) Method, information processing apparatus, and program for generating array
KR101974341B1 (ko) 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체
US9477645B2 (en) Systems and methods of active text markup
JP2010250449A (ja) 情報処理装置、情報処理方法
US20160179960A1 (en) Optimizing web crawling through web page pruning
US9542502B2 (en) System and method for XML subdocument selection
JP2006243832A (ja) ワークフロー検索システム
JP2012059212A (ja) 抽出装置、抽出方法及び抽出プログラム
KR102157336B1 (ko) 데이터베이스 관리시스템에서 json 데이터 저장 및 검색 방법
JP2014081905A (ja) データを検索するための論理式の作成を補助するグラフィカルインターフェースを提供する装置
US8843896B2 (en) Metamodeling contextual navigation of computer software applications
JP6753190B2 (ja) 文書検索装置及びプログラム
JP5696280B1 (ja) 用語統一システム及び用語統一プログラム、並びに用語統一方法
JP5374456B2 (ja) 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム
KR101705254B1 (ko) 장치 및 프로그램
WO2022166828A1 (zh) 数据索引方法和系统以及存储介质
Powers et al. Working with Arrays
Bause et al. ProFiDo XML Workflow Format Specification
JP5225022B2 (ja) Xmlデータ検索方法及び装置及びプログラム
TWI448965B (zh) 解析程式碼的方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant