KR100519916B1 - 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법 - Google Patents

에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법 Download PDF

Info

Publication number
KR100519916B1
KR100519916B1 KR10-2003-0097544A KR20030097544A KR100519916B1 KR 100519916 B1 KR100519916 B1 KR 100519916B1 KR 20030097544 A KR20030097544 A KR 20030097544A KR 100519916 B1 KR100519916 B1 KR 100519916B1
Authority
KR
South Korea
Prior art keywords
file
parsing
data
index
field
Prior art date
Application number
KR10-2003-0097544A
Other languages
English (en)
Other versions
KR20050066280A (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 KR10-2003-0097544A priority Critical patent/KR100519916B1/ko
Publication of KR20050066280A publication Critical patent/KR20050066280A/ko
Application granted granted Critical
Publication of KR100519916B1 publication Critical patent/KR100519916B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Abstract

본 발명은 XML(eXtensible Markup Language) 문서를 사용하는 SCA(Software Communication Architecture) 기반 시스템에서 XML 문서의 내용을 파싱하고 그 파싱된 데이터를 효율적으로 저장하기 위한 파일 파싱 장치. 그리고 그의 파일 파싱 및 데이터 저장 방법에 관한 것이다.
본 발명에서는 통합 파서가 각 DTD(Document Type Definition) 파일로부터 인덱스 데이터를 구성한 다음, 그 인덱스 데이터를 사용하여 각 XML 파일의 파싱을 수행하고 이 때 생성된 리스트의 주소를 인덱스 데이터 테이블에 저장해서 나중에 응용 프로그램이 특정 요소에 대한 정보를 빠르게 얻을 수 있도록 한다. 또한, 파싱 완료된 내용을 트리 형태의 요소 데이터 리스트 구조와 속성 데이터 리스트 구조로 하여 저장한다.
이러한 발명에 따르면, 파싱 시간이 현저하게 감소되고, 응용 프로그램이 파싱된 데이터를 보다 용이하고 빠르게 참조할 수 있다.

Description

에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의 파일 파싱 및 데이터 저장 방법{file parsing device, and parsing and storing method thereof}
본 발명은 에스시에이(SCA: Software Communication Architecture) 기반의 시스템에 관한 것으로, 특히, SCA 기반 시스템의 파일 파싱 장치, 그리고 그의 파일 파싱 및 데이터 저장 방법에 관한 것이다.
SCA 규격은 최근까지 발전된 기술을 이용하여 미래의 통신 시스템을 개발하기 위해 설립된 Joint Tactical Radio System (JTRS) Joint Program Office(JPO)에서 통신 시스템간 상호 연동성을 크게 개선하고 개발 및 배치 비용을 줄이고자 제안한 통신 소프트웨어 구조로서, 소프트웨어 및 하드웨어의 이식성과 구성 능력(configurability)을 보장하고, SCA를 사용하여 개발된 제품들간 상호 연동성 보장을 목표로 작성되었다.
SCA는 분산 객체 모델의 산업 표준인 CORBA(Common Object Request Broker Architecture)를 미들웨어로 채택하여 이기종의 하드웨어와 소프트웨어의 통합 환경을 제공한다. 이는 특정 시스템에 한정되는 규격이 아니라 독립적인 시스템 디자인 프레임워크이다. SCA 기반의 시스템은 이러한 SCA 구조를 기반으로 이루어진 통신 시스템을 말한다. 예를 들면 SDR(Software Defined Radio)시스템은 소프트웨어 프레임워크의 표준으로 SCA를 채택하고 있다.
이러한 하드웨어와 소프트웨어의 컴포넌트에 대한 정보를 엑스엠엘(XML: eXtensible Markup Language) 디티디(DTD: Document Type Definition)를 적용하여 도메인 프로파일로 기술하고 있는데, 도메인 프로파일에는 SAD(Software Assembly Descriptor)를 비롯하여 총 8가지의 DTD 파일들이 정의되어 있다. 이러한 DTD를 기반으로 작성한 XML 파일들은 XML 파서를 통하여 여러 번의 반복적인 파싱 과정을 거쳐 응용 프로그램에서 필요한 모든 정보를 제공하게 된다.
그러나, 종래 SCA 기반 시스템에서는 XML DTD를 적용하여 도메인 프로파일을 제시한 규격만이 존재하며, XML 파일들을 파싱하는 경우 다수의 파싱 과정을 반복 수행함에 따라 파싱 시간이 증가되는 문제가 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 SCA 기반의 시스템에서 파일 파싱 시간을 효과적으로 단축시키고자 하는데 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는 파싱된 데이터를 효율적인 구조로 저장하여, 이후에 파싱된 데이터로부터 필요한 내용을 용이하고 신속하게 추출할 수 있도록 하는데 있다.     
이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 파일 파싱 및 데이터 저장 방법은, SCA 기반 시스템에서 XML 파일의 내용을 파싱하고 그 파싱된 데이터를 저장하는 방법으로, a) 상기 SCA 기반 시스템에서 XML 파일들에 대한 형식을 정의한 각 DTD 파일로부터 인덱스 데이터 테이블을 생성하는 단계; b) 상기 인덱스 데이터 테이블을 사용하여 상기 XML 파일에 대한 파싱을 수행하는 단계; 및 c) 상기 파싱된 데이터를 요소 데이터 리스트 구조와 속성 데이터 리스트 구조로 이루어지는 구조로 저장하는 단계를 포함한다.
여기서, 상기 c) 단계는 파싱된 데이터를 저장할 각 요소별 리스트에 대한 주소를 생성하고, 상기 생성된 주소를 상기 인덱스 데이터 테이블의 해당 요소에 대응하는 주소 필드에 저장한다.
또한, 상기 b)단계는 통합 파서를 사용하여 모든 XML 파일들을 한번만 파싱한다.
본 발명의 다른 특징에 따른 파일 파싱 장치는, SCA 기반 시스템에서 XML 파일의 내용을 파싱하고 그 파싱된 데이터를 저장하는 장치로서, 상기 SCA 기반 시스템에서 XML 파일들에 대한 형식을 정의한 DTD 파일들이 저장되어 있는 참조 파일부; 파싱 대상이 되는 XML 파일들이 저장되어 있는 파싱 파일부; 상기 DTD 파일들을 토대로 하여 파싱 파일부에 저장된 XML 파일들을 각각 파싱하는 다수의 파서로 이루어지는 통합 파서; 각 DTD 파일들에 대한 인덱스 데이터 테이블이 저장되어 있는 인덱스부; 및 상기 통합 파서에 의하여 파싱된 파싱 데이터가 저장되는 저장부를 포함한다. 이외에도, 상기 인덱스 데이터 테이블의 주소 필드를 참조하여 상기 저장부로부터 상기 통합 파서에 의해 형성된 필요 요소에 대한 파싱 데이터의 내용을 획득하는 응용 프로그램부를 더 포함할 수 있다.
이러한 특징을 가지는 파일 파싱 장치, 그리고 파일 파싱 및 저장 방법에서, 상기 인덱스 데이터 테이블은 상기 DTD 파일에 있는 요소에 대하여 부여된 인덱스가 기록되는 인덱스 필드, 해당 요소 이름이 기록되는 요소 필드, 각 요소에 대하여 파싱한 데이터가 저장되는 상기 저장부의 주소가 기록되는 주소 필드로 이루어진다.
또한, 해당 요소의 인덱스가 저장되는 인덱스값 필드, 하위 요소에 대한 링크 필드, 하위 속성에 대한 링크 필드 및 다음 동등 레벨 요소에 대한 링크 필드로 이루어지는 요소 데이터 리스트 구조; 및 속성 값 필드, 다음 속성에 대한 링크 필드로 이루어지는 속성 데이터 리스트 구조가 트리 형태로 연결되는 구조로 파싱 데이터가 저장된다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
도 1a는 본 발명의 실시 예에 따른 SCA 기반 시스템에서 정의하고 있는 DTD 파일들간의 관계를 나타낸 것으로, 도메인 프로파일(Domain Profile)의 구조도이다.
도메인 프로파일(101)은 SCA 시스템 도메인을 구성하는 하드웨어 디바이스와 소프트웨어 컴포넌트를 일련의 파일로 기술한 것으로, 이러한 파일들은 SCA 시스템을 구성하는 하드웨어 디바이스와 소프트웨어 컴포넌트에 대한 정보(identity, capabilities, inter-dependencies, 위치 등)를 포함한다. 도메인 프로파일(101)은 도 1a에 도시되어 있듯이, 소프트웨어 어셈블리 디스크립터(Software Assembly Descriptor:이하, SAD 라고 명명함)(102), 도메인 관리자 구성 디스크립터 (DomainManager Configuration Descriptor:이하, DMD라고 명명함)(103), 디바이스 구성 디스크립터(Device Configuration Descriptor:이하, DCD라고 명명함)(104), 소프트에어 컴포넌트 디스크립터(Software Component Descriptor:이하, SCD라고 명명함)(105), 소프트웨어 패키지 디스크립터(Software Package Descriptor, 이하, SPD라고 명명함)(106), 프로파일 디스크립터(Profile Descriptor)(107), 디바이스 패키지 디스크립터(Device Package Descriptor, 이하, DPD라고 명명함)(108), 프로퍼티 디스크립터(Properties Descriptor)(109)의 총 8개의 DTD 파일들로 구성된다.
SAD(102)는 어플리케이션을 구성하는 컴포넌트 관련 정보를 포함하는 파일로, SAD 파일은“.sad.xml” 확장자를 가진다. 어플리케이션이 생성될 때 이러한 정보가 사용된다. DMD(103)는 도메인 매니저 관련 구성 정보를 포함하는 것으로, DMD 파일은 “.dmd.xml” 확장자를 가진다.
DCD(104)는 디바이스를 위한 자식 디바이스에 대한 정보, 도메인 매니저를 발견하는 방법 그리고 디바이스를 위한 구성 정보(Log, FileSystems 등)를 포함하는 것으로, DCD 파일은 “.dcd.xml” 확장자를 가진다.
SCD(105)는 특정 SCA 소프트웨어 컴포넌트(Resource, ResourceFactory, Device) 관련 정보를 포함하는 것으로, SCD 파일은 “.scd.xml” 확장자를 가진다. SCD 파일은 컴포넌트가 제공(Provide) 그리고/또는 사용(Use)하는 인터페이스에 대한 정보를 포함한다.
SPD(106)는 소프트웨어 컴포넌트 구현을 식별하는 것으로, SPD 파일은 “.spd.xml” 확장자를 가진다. SPD 파일은 소프트웨어 패키지(이름, 저자, 특성 파일, 구현 코드 정보, 하드웨어/소프트웨어 의존도 등)와 같은 정보를 포함한다.
프로파일 디스크립터(107)는 SPD, SAD, DMD 또는 DCD을 위한 절대 파일 이름을 포함하는 것으로, 어플리케이션, 어플리케이션팩토리(ApplicationFactory), 디바이스 매니저, 도메인 매니저 그리고 디바이스 속성으로부터 유도된다.
DPD(108)는 디바이스의 등급을 식별하는 것으로, DPD 파일은 “.dpd.xml” 확장자를 가진다. DPD 파일은 또한, 디바이스의 등급을 위한 특정 특성(용량, 일련번호 등)들을 정의한 특성 정보를 포함한다.
프로퍼티 디스크립터(109)는 소프트웨어 패키지 또는 디바이스 패키지에 적용할 특성 관련 정보를 포함하는 것으로, 프로퍼티 디스크립터 파일은“.prf.xml” 확장자를 가진다. 프로퍼티 디스크립터 파일은 컴포넌트의 특성(configuration, test, execute, allocation types)과 같은 정보를 포함한다.
이러한 특성을 가지는 도메인 프로파일의 각 파일들에 대하여 파싱이 수행되며, 파일에 대한 인덱스 값이 도 1b에서와 같이 프로파일 테이블(110)에서 정의된다. 도 1b는 도메인 프로파일을 구성하는 파일에 대한 인덱스값을 나타낸 프로파일 테이블이다.
도 2에는 본 발명의 실시 예에 따른 파싱 시스템의 구조가 도시되어 있다. 도 2에 도시되어 있듯이, 본 발명의 실시 예에 따른 파일 파싱 장치는, 참조 파일부(201), 파싱 파일부(202), 통합 파서(203), 저장부(204), 인덱스부(205)로 이루어진다.
참조 파일부(201)는 위에 기술된 바와 같은 SCA 규격에서 정의한 XML 파일들에 대한 형식을 정의한 DTD(Document Type Definition)파일들이 저장되어 있다.
파싱 파일부(202)에는 파싱 대상이 되는 XML 파일들이 저장되어 있다. XML 파일들은 DTD 파일을 근간으로 하여 시스템에서 사용되는 하드웨어나 소프트웨어 컴포넌트를 기술한 것으로, 도메인 특성에 따라 필요한 수의 파일들로 구성된다.
통합 파서(203)는 DTD 파일들을 토대로 하여 파싱 파일부(202)에 저장된 모든 XML 파일들에 대해 한번 파싱을 수행하고 파싱된 내용을 각 XML 파일별로 저장부(204)에 저장한다. 여기서, 통합 파서(203)는 참조 파일부(201)에 저장된 각각의 DTD 파일을 참조하여 파싱 파일부(202)에 저장된 XML 파일들을 각각 파싱하는 다수의 파서로 이루어질 수 있다. 저장부(204)에는 파싱된 데이터들이 저장된다.
인덱스부(205)는 각 DTD 파일들에 대한 인덱스 데이터 테이블로 이루어진다. 인덱스 데이터 테이블은 DTD 파일에 있는 요소(Element)에 대하여 부여된 인덱스가 기록되는 인덱스 필드와, 해당 요소 이름이 기록되는 요소 필드, 각 요소에 대하여 파싱한 데이터가 저장되는 저장부(204)의 주소가 기록되는 주소 필드로 이루어진다. 상기 주소는 이후 응용 프로그램이 손쉽게 요소를 찾기 위한 수단으로 사용된다.
한편, 응용 프로그램(206)은 인덱스 데이터 테이블(205)의 주소 필드를 참조하여 필요 요소에 대한 정보 즉, 통합 파서(203)에 의해 형성된 필요 요소에 대한 파싱 데이터의 내용을 빠르게 획득할 수 있다.
다음에는 이러한 구조를 토대로 하여 본 발명의 실시 예에 따른 파일 파싱 방법에 대하여 설명한다.
먼저, 인덱스 데이터 테이블을 생성하는 방법에 대하여 설명한다.
도 3은 본 발명의 실시 예에 따른 인덱스 데이터 데이블 생성 방법을 나타낸 순서도이다.
먼저, 참조 파일부(201)에 저장되어 있는 여러 개의 DTD 파일 중 하나의 파일을 오픈하여 내용을 읽는다(S100∼S110). 그리고, 하나의 인덱스 데이터 테이블을 생성한 다음, 인덱스 값을 0으로 초기화한다(S120∼S130).
이후, DTD 파일에서 다음 토큰을 가져오고 파일의 끝인지를 검사한다(S140∼S150). 파일의 끝이 아니면 토큰이 “<!ELEMENT”인지를 검사하고(S160), 토큰이 “<!ELEMENT”와 동일하다면 다음 토큰 즉 요소의 이름이 새로운 요소인지를 검사하여, 새로운 요소라면 인덱스 데이터 테이블의 요소 필드에 해당 요소 이름을 기록하고 대응하는 인덱스 값을 +1 증가시킨 후 다음 토큰을 가져온다(S140∼S190). 한편, 단계(S160 또는 S170)에서 요소가 새로운 요소가 아니거나 토큰이 “<!ELEMENT”가 아니라면 다음 토큰을 가져온다.
파일의 끝에 도달하면 이 파일이 마지막 DTD 파일인지를 검사하고(S200), 마지막 파일이 아니라면 다른 DTD 파일을 읽어 위의 절차를 반복 수행하고 마지막 파일이라면 절차를 종료한다(S210).
도 4는 이러한 인덱스 데이터 테이블 생성 과정에 따라 생성된 인덱스 데이터 테이블의 예가 도시되어 있다.
도 4에서는 도메인 프로파일 중 SAD DTD 파일에 대하여 생성된 인덱스 데이터 테이블를 예로 나타내었다. SAD DTD 샘플 파일(301)의 “<!ELEMENT” 다음에 나오는 각 요소의 이름을 SAD 인덱스 데이터 테이블(302)의 요소 필드에 저장하고 인덱스값을 부여한다. 그리고, 각 요소 필드에 대응하는 주소 필드에 이후 통합 파서(203)가 파싱하면서 구성한 상기 요소에 대한 파싱 데이터의 주소가 저장된다.
다음에는 XML 파일을 파싱하여 파싱 데이터를 저장하는 방법에 대하여 설명한다.
먼저, 본 발명의 실시 예에 정의되는 파싱 데이터의 구조는 다음과 같다.
도 5는 본 발명의 실시 예에 따른 파싱 데이터의 구조도이다.
파싱 데이터는 하나의 요소당 하나의 요소 데이터 리스트와 하나의 속성당 하나의 속성 데이터 리스트로 이루어진다.
도 6에 이러한 데이터 리스트의 구조가 도시되어 있다.
속성 데이터 리스트 구조는 도 6의 (a)에 도시되어 있듯이, 속성 값을 저장하는 속성 값 필드(406)와 다음 속성에 대한 링크 필드(407)로 이루어진다.
요소 데이터 리스트는 도 6의 (b)에 도시되어 있듯이, 4개의 필드로 구성된다. 인덱스 값 필드(401)는 요소에 대한 인덱스 값을 저장하는데 이 값은 인덱스 데이터 테이블로부터 가져온다. 다음의 3개의 필드는 모두 다른 리스트에 대한 링크를 나타내며. 각각 하위 요소에 대한 링크 필드(402), 하위 속성에 대한 링크 필드(403), 다음 동등 레벨 요소에 대한 링크 필드(404)를 포함한다. DTD가 트리 개념의 특성을 가지고 있으므로 리스트로 데이터 구조를 구성하는 것이 용이하다.
이러한 속성 데이터 리스트 및 요소 데이터 리스트로 이루어지는 파싱 데이터는 도 5에 도시되어 있듯이 다수 레벨 단위의 트리 구조로 이루어지며, 제일 앞에 해당하는 제1 레벨에 위치되는 초기 리스트의 루트 필드(405)는 요소의 인덱스가 저장되는 하위 요소 데이터 리스트의 인덱스 값 필드와는 다르게 도메인 프로파일의 인덱스 값이 저장된다.
위에 기술된 바와 같이, 파싱 데이터의 구조가 정의되며, 통합 파서(203)는 파싱 파일부(202)에 저장되어 있는 각 파일들을 파싱하여 생성된 데이터를 다음과 같이 저장한다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 파싱 데이터 생성 및 저장 방법에 대한 순서도이다.
먼저, 도 7a에 도시되어 있듯이, 통합 파서(203)는 파싱 파일부(202)에 저장된 다수 XML 파일 중에서 하나의 XML 파일을 열고 읽는다(S300∼S310). 그리고, 저장부(204)에 해당 XML 파일을 파싱한 데이터의 요소 데이터 리스트를 위한 메모리를 할당한다(S320).
요소 데이터 리스트의 루트 필드에 읽은 XML 파일의 타입 즉 도메인 프로파일의 인덱스 값을 할당한다(S330). 그리고 상기 XML 파일로부터 다음 토큰을 가져 와서 토큰이 요소인지를 검사한다(S340∼S350). 토큰이 요소라면 요소 데이터 리스트에 대한 메모리를 할당하고 인덱스 데이터 테이블로부터 해당 요소에 대한 인덱스를 가져온다(S360). 그리고 리스트의 인덱스 필드에 요소별 인덱스 값을 할당한 다음, 인덱스 데이터 테이블의 주소 필드에 상기 리스트의 주소를 저장한다(S370).
다음, 상기 요소가 이전 요소와 동등 레벨의 요소인지를 검사하여(S380) 동등 레벨 요소라면, 상위 요소 리스트의 다음 동등 레벨 요소에 대한 링크에 상기 요소 데이터 리스트의 주소를 저장한다(S390). 그러나 동등 레벨 요소가 아니면, 상위 요소 리스트의 하위 요소에 대한 링크에 주소를 저장한다(S400).
한편, 단계(S350)에서 토큰이 요소가 아니라면 도 7b에 도시되어 있듯이, 토큰이 속성인지를 검사하고(S410), 토큰이 속성이라면 속성 데이터 리스트 구조에 대한 메모리를 할당한다(S420). 그리고, 속성 데이터 리스트의 속성 필드에 속성 값을 저장하고(S430) 상위 요소의 하위 속성에 대한 링크나 전의 속성 리스트의 다음 속성에 대한 링크에 주소를 저장한다(S440).
다음, 상기 토큰이 마지막 토큰인지 즉, 파일의 끝에 도달했는지 검사하여(S450) 파일의 끝이 아니라면 다음 토큰을 가져와서 위의 단계(340∼S450)를 반복 수행한다. 그러나 상기 토큰이 마지막 토큰으로 파일의 끝까지 파싱이 이루어지면, 상기 파싱한 파일이 마지막 XML 파일인지를 검사한다(S460). 마지막 파일이 아니라면 다음 XML 파일을 가져 와서 위의 단계(S310∼S460)를 수행하고 마지막 파일이라면 절차를 종료한다.
도 8에 위에 기술된 바와 같은 파싱 및 저장 방법이 적용되는 XML 파일 샘플이 예시되어 있으며, 도 9에는 이 샘플 파일에 대하여 위의 파싱 및 저장 방법을 수행하여 생성된 파싱 데이터의 구조가 예시되어 있다. 도 8은 SAD. XML 파일을 샘플로 하였다.
이상에서 본 발명의 바람직한 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
이러한 본 발명의 실시 예에 따르면, 통합 파서를 사용하여 여러 번의 중복되는 파싱 과정을 한번의 파싱으로 단축시킬 수 있으므로, 파싱 시간이 현저하게 감소된다.
또한, 파싱된 데이터를 트리 구조의 리스트 형태로 저장하고, DTD 파일로부터 추출된 요소에 대한 인덱스 값을 사용하여 파싱시에 생성된 리스트의 주소를 저장함으로써, 이후 응용 프로그램이 상기 인덱스를 토대로하여 필요한 요소에 대한 정보를 효율적으로 획득할 수 있다.
또한, XML 파일의 추가에 대한 확장이 용이하며 파싱 시간의 축소와 더불어 데이터의 신속한 추출이 가능하다.
도 1a 및 도 1b는 본 발명의 실시 예에 따른 SCA 기반 시스템에서의 DTD 파일 구성도이다.
도 2는 본 발명의 실시 예에 따른 파일 파싱 장치의 구조도이다.
도 3은 본 발명의 실시 예에 따른 인덱스 데이터 테이블 생성 과정을 나타낸 순서도이다.
도 4는 본 발명의 실시 예에 따른 DTD 파일과 DTD 파일로부터 추출된 인덱스 데이터 테이블을 나타낸 도이다.
도 5는 본 발명의 실시 예에 따른 파싱 데이터의 구조도이다.
도 6은 도 5에 도시된 각 리스트 데이터의 구조도이다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 파일 파싱 과정을 나타낸 순서도이다.
도 8은 본 발명의 실시 예에 따른 파싱 대상이 되는 SAD. XML 샘플 파일을 나타낸 도이다.
도 9는 도 8에 도시된 샘플 파일로부터 구성된 파싱 데이터의 구조도이다.

Claims (10)

  1. SCA(Software Communication Architecture) 기반 시스템에서 XML(eXtensible Markup Language) 파일의 내용을 파싱하고 그 파싱된 데이터를 저장하는 파일 파싱 및 데이터 저장 방법에서,
    a) 상기 SCA 기반 시스템에서 XML 파일들에 대한 형식을 정의한 각 DTD(Document Type Definition) 파일로부터 인덱스 데이터 테이블을 생성하는 단계;
    b) 상기 인덱스 데이터 테이블을 사용하여 상기 XML 파일에 대한 파싱을 수행하는 단계; 및
    c) 상기 파싱된 데이터를 요소 데이터 리스트 구조와 속성 데이터 리스트 구조로 이루어지는 구조로 저장하는 단계
    를 포함하는 파일 파싱 및 데이터 저장 방법.
  2. 제1항에 있어서
    상기 인덱스 데이터 테이블은 상기 DTD 파일에 있는 요소(Element)에 대하여 부여된 인덱스가 기록되는 인덱스 필드, 해당 요소 이름이 기록되는 요소 필드, 각 요소에 대하여 파싱한 데이터가 저장되는 주소가 기록되는 주소 필드로 이루어지는 파일 파싱 및 데이터 저장 방법.
  3. 제1항에 있어서
    상기 c) 단계는 파싱된 데이터를 저장할 각 요소별 리스트에 대한 주소를 생성하고, 상기 생성된 주소를 상기 인덱스 데이터 테이블의 해당 요소에 대응하는 주소 필드에 저장하는 파일 파싱 및 데이터 저장 방법.
  4. 제1항에 있어서
    상기 b)단계는 통합 파서를 사용하여 모든 XML 파일들을 한번만 파싱하는 파일 파싱 및 데이터 저장 방법.
  5. 제1항에 있어서
    상기 요소 데이터 리스트 구조는 해당 요소의 인덱스가 저장되는 인덱스값 필드, 하위 요소에 대한 링크 필드, 하위 속성에 대한 링크 필드 및 다음 동등 레벨 요소에 대한 링크 필드로 이루어지고,
    상기 속성 데이터 리스트 구조는 속성 값 필드, 다음 속성에 대한 링크 필드로 이루어지는 파일 파싱 및 데이터 저장 방법.
  6. 제1항에 있어서
    상기 c) 단계에서 상기 요소 데이터 리스트 구조 및 상기 속성 데이터 리스트 구조는 트리 형태로 서로 연결되어 있는 파일 파싱 및 데이터 저장 방법.
  7. SCA 기반 시스템에서 XML 파일의 내용을 파싱하고 그 파싱된 데이터를 저장하는 파일 파싱 장치에서,
    상기 SCA 기반 시스템에서 XML 파일들에 대한 형식을 정의한 DTD 파일들이 저장되어 있는 참조 파일부;
    파싱 대상이 되는 XML 파일들이 저장되어 있는 파싱 파일부;
    상기 DTD 파일들을 토대로 하여 파싱 파일부에 저장된 XML 파일들을 각각 파싱하는 다수의 파서로 이루어지는 통합 파서;
    각 DTD 파일들에 대한 인덱스 데이터 테이블이 저장되어 있는 인덱스부; 및
    상기 통합 파서에 의하여 파싱된 파싱 데이터가 저장되는 저장부
    를 포함하는 파일 파싱 장치.
  8. 제7항에 있어서
    상기 인덱스 데이터 테이블은 상기 DTD 파일에 있는 요소에 대하여 부여된 인덱스가 기록되는 인덱스 필드, 해당 요소 이름이 기록되는 요소 필드, 각 요소에 대하여 파싱한 데이터가 저장되는 상기 저장부의 주소가 기록되는 주소 필드로 이루어지는 파일 파싱 장치.
  9. 제7항에 있어서
    상기 통합 파서는
    상기 파싱 데이터를 해당 요소의 인덱스가 저장되는 인덱스값 필드, 하위 요소에 대한 링크 필드, 하위 속성에 대한 링크 필드 및 다음 동등 레벨 요소에 대한 링크 필드로 이루어지는 요소 데이터 리스트 구조; 및 속성 값 필드, 다음 속성에 대한 링크 필드로 이루어지는 속성 데이터 리스트 구조가 트리 형태로 연결되는 구조로 하여 상기 저장부에 저장하는 파일 파싱 장치.
  10. 제7항에 있어서
    상기 인덱스 데이터 테이블의 주소 필드를 참조하여 상기 저장부로부터 상기 통합 파서에 의해 형성된 필요 요소에 대한 파싱 데이터의 내용을 획득하는 응용 프로그램부를 더 포함하는 파일 파싱 장치.
KR10-2003-0097544A 2003-12-26 2003-12-26 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법 KR100519916B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097544A KR100519916B1 (ko) 2003-12-26 2003-12-26 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097544A KR100519916B1 (ko) 2003-12-26 2003-12-26 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Publications (2)

Publication Number Publication Date
KR20050066280A KR20050066280A (ko) 2005-06-30
KR100519916B1 true KR100519916B1 (ko) 2005-10-10

Family

ID=37257378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0097544A KR100519916B1 (ko) 2003-12-26 2003-12-26 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Country Status (1)

Country Link
KR (1) KR100519916B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918116B1 (ko) 2007-10-01 2009-09-22 한국전자통신연구원 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법
US8422560B2 (en) 2007-08-31 2013-04-16 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding media signal

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100660028B1 (ko) * 2005-02-23 2006-12-20 인천대학교 산학협력단 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법
KR100858156B1 (ko) * 2005-12-08 2008-09-10 한국전자통신연구원 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법
KR100845234B1 (ko) * 2006-11-14 2008-07-09 한국전자통신연구원 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
KR100953869B1 (ko) * 2008-08-04 2010-04-20 고려대학교 산학협력단 데이터 생성 장치 및 방법, 그리고 데이터 검색 장치 및방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422560B2 (en) 2007-08-31 2013-04-16 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding media signal
KR100918116B1 (ko) 2007-10-01 2009-09-22 한국전자통신연구원 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법

Also Published As

Publication number Publication date
KR20050066280A (ko) 2005-06-30

Similar Documents

Publication Publication Date Title
US8739022B2 (en) Parallel approach to XML parsing
US20150205778A1 (en) Reducing programming complexity in applications interfacing with parsers for data elements represented according to a markup languages
US7694284B2 (en) Shareable, bidirectional mechanism for conversion between object model and XML
US8191040B2 (en) Application program interface for network software platform
US7020666B2 (en) System and method for unknown type serialization
KR100583517B1 (ko) 소프트웨어 객체와 구조화 언어 요소 기반 문서간의 매핑시스템 및 방법
US7836119B2 (en) Distributed execution model for cross-organizational declarative web applications
US8839192B2 (en) System and method for presentation of cross organizational applications
US8051105B1 (en) Directing searches on tree data structures
US8613007B2 (en) Server independent deployment of plug-ins
US20080208830A1 (en) Automated transformation of structured and unstructured content
US9519628B2 (en) Method for generating simple object access protocol messages and process engine
US7584414B2 (en) Export to excel
JP5377818B2 (ja) コンパイル済みスキーマに順次アクセスする方法とシステム
JP2006221654A (ja) デリミタを減少させる方法及びシステム
JP5044942B2 (ja) 文書分析において受付状態を決定するシステム及び方法
US20080184103A1 (en) Generation of Application Specific XML Parsers Using Jar Files with Package Paths that Match the SML XPaths
KR100519916B1 (ko) 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
JP4776389B2 (ja) 符号化文書復号方法及びシステム
KR100554521B1 (ko) 에스시에이 기반 시스템의 디스크립터 파일을 저장한 기록 매체 및 그의 파일 파싱 방법
Esposito Applied XML programming for Microsoft. NET
US8650536B2 (en) Modular server architecture
KR101674543B1 (ko) Netconf 프로토콜의 콘텐츠 계층 개선을 위한 장치 및 방법
US20080208876A1 (en) Method of and System for Providing Random Access to a Document

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090901

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee