KR100413967B1 - Method of interpretation and transformation of nested dataset on navigation-based data model - Google Patents

Method of interpretation and transformation of nested dataset on navigation-based data model Download PDF

Info

Publication number
KR100413967B1
KR100413967B1 KR10-2000-0087588A KR20000087588A KR100413967B1 KR 100413967 B1 KR100413967 B1 KR 100413967B1 KR 20000087588 A KR20000087588 A KR 20000087588A KR 100413967 B1 KR100413967 B1 KR 100413967B1
Authority
KR
South Korea
Prior art keywords
navigation
dataset
group
data
object identifier
Prior art date
Application number
KR10-2000-0087588A
Other languages
Korean (ko)
Other versions
KR20020059080A (en
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-2000-0087588A priority Critical patent/KR100413967B1/en
Publication of KR20020059080A publication Critical patent/KR20020059080A/en
Application granted granted Critical
Publication of KR100413967B1 publication Critical patent/KR100413967B1/en

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 항해기반 데이터 모델에 따른 중첩된 데이터세트의 해석 및 변환 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.The present invention relates to a method for interpreting and converting a superimposed data set according to a navigational data model and a computer readable recording medium having recorded thereon a program for realizing the method.

2. 발명이 해결하고자 하는 기술적 과제2. Technical problem to be solved by the invention

본 발명은, 저장 시스템에서 주기억 장치에 상주하면서 조건을 만족하는 중첩구조를 갖는 데이터세트에 대해 순차적인 접근을 효과적으로 제공할 수 있도록 한 항해기반 데이터 모델에 따른 중첩된 데이터세트의 해석 및 변환 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 그 목적이 있음.The present invention provides a method for interpreting and converting a nested dataset according to a navigation-based data model that can effectively provide a sequential access to a dataset having a nested structure satisfying a condition in a storage system. It is an object of the present invention to provide a computer-readable recording medium having recorded thereon a program for realizing the method.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 항해기반 커서에서 중첩된 데이터세트 변환 장치에 적용되는 중첩된 데이터세트의 해석 및 변환 방법에 있어서, 검색절내 명시된 경로식에서 집합그룹을 추출하여 커서가 사용할 명세리스트에 적용하는 제 1 단계; 상기 적용된 명세리스트를 토대로 항해를 수행하여 정형화 된 데이터세트를 구성하는 제 2 단계; 및 상기 구성된 명세리스트를 바탕으로 카타로그를 통해 실제 데이터에 접근하는 제 3 단계를 포함한다.The present invention relates to a method for interpreting and converting a nested dataset applied to an apparatus for converting a nested dataset in a navigation-based cursor, comprising: extracting a group from a path expression specified in a search clause and applying the group to a specification list to be used by the cursor; ; A second step of performing a navigation based on the applied specification list to form a standardized data set; And a third step of accessing actual data through a catalog based on the configured specification list.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 통신 서비스 제어 등에 이용됨.The present invention is used for communication service control and the like.

Description

항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법{ Method of interpretation and transformation of nested dataset on navigation-based data model}Method of interpretation and transformation of nested dataset on navigation-based data model

본 발명은 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법에 관한 것으로, 보다 상세하게는 검색된 결과내에 존재하는 중첩된 구조를 갖는 데이터세트를 2차원적인 구조로 재구성하여 비 정형적으로 중첩된 데이터세트에 대해 정형화 된 접근체계와 인터페이스를 제공할 수 있도록 한 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법에 관한 것이다.The present invention relates to a method for interpreting and converting a superstructure dataset according to a navigation-based data model. More particularly, the present invention relates to a dataset having a superimposed structure existing within a searched result in a two-dimensional structure. The present invention relates to a method for interpreting and converting a nested-structured dataset based on a navigational data model that can provide a formalized approach and interface to nested datasets.

일반적으로, 커서는 주어진 질의(Query)조건에 일치하는 데이터들의 모임인 데이터세트에 대한 순차적인 접근 연산을 위해 사용하는 구조이다. 여기서, 순차적인 접근 연산이 필요한 이유는 데이터베이스 시스템이 기본적으로 데이터들의 세트를 다루는 반면, 범용 프로그래밍 언어에서는 세트를 다루는 별도의 수단을 지원하지 않거나, 지원한다 하여도 세트의 구조나 메모리의 크기에 따라 많은 제약을 갖고 있기 때문이다. 즉, 범용 프로그래밍 언어는 데이터세트에 대한 연산의 결과로 얻어진 결과 전체에 직접 유지/접근할 수 없는 한계를 해결하기 위해 커서 체계를 사용하고 있다. 또한, 데이터세트의 구조가 기본형으로 조합 정형화 된 구조인 경우에는 일부 해결 방법이 제시되어 있지만, 상기 데이터세트와 같이 자신내에 또 다른 데이터세트들을 반복적으로 내포할 수 있는 구조에서는 매우 복잡한 양상을 나타내게 된다. 따라서, 범용 프로그래밍 언어에서는 데이터세트들이 중첩될 수 있는 구조에 대해서는 그들의 크기나 한계를 명시하기가 매우 어렵다는 단점이 있었다.In general, a cursor is a structure used for sequential access operations on a dataset, which is a collection of data that meets a given query condition. Here, the sequential access operation is necessary because the database system basically handles a set of data, whereas the general-purpose programming language does not support or support a separate means of dealing with a set. Because there are many restrictions. In other words, general-purpose programming languages use a cursor scheme to solve the limitation of not being able to directly maintain / access the entire result obtained as a result of operations on the dataset. In addition, some solutions have been proposed when the structure of a dataset is a combination-structured structure with a basic type. However, a structure that can repeatedly include other datasets within itself, such as the dataset, is very complicated. . Thus, in general-purpose programming languages, it is very difficult to specify their size or limit for structures in which datasets can overlap.

최근에는 이와같은 문제점을 해결하기 위한 여러 방법이 제시되고 있는데, 그 첫번째로는 데이터세트를 사용하는 프로그래밍 언어에서 이를 지원하는 방법이 있을 수 있다. 하지만, 이 방법은 메모리에 대한 제약이나 운용 알고리즘에 있어 사용자에게 매우 큰 부담을 준다. 즉, 미리 알 수 없는 크기와 구조의 데이터세트를 운용하기 위한 별도의 메모리 할당과 알고리즘의 작성이 필요하여 운영함으로 저장공간의 효율성이 저하되는 문제점이 있었다.In recent years, there have been a number of ways to solve this problem. First, there may be a way to support this in programming languages that use datasets. However, this method places a heavy burden on the user on memory limitations and operational algorithms. In other words, there is a problem in that the efficiency of storage space is reduced by operating separate memory allocation and writing of algorithms for operating datasets of unknown size and structure.

두번째의 방법은 데이터베이스내에 이 구조를 저장하기 위한 임시 데이터세트를 생성하고, 사용자의 요구가 있을 시 한 단위씩 제공해주는 방법이 있다. 현재, 다중 데이터세트를 다루는 보편적인 방법이지만, 이 방법도 부가적인 메모리의 할당에 대한 공간 활용이 저하되는 문제점이 있었다.The second way is to create a temporary dataset to store this structure in the database and provide it as a unit at the user's request. Currently, there is a general method for dealing with multiple datasets, but this method also has a problem in that space utilization for additional memory allocation is reduced.

마지막으로, 중첩된 데이터세트를 물리적으로 저장하지 않고 관련 카타로그를 사용하여 항해하는 방법이 있다. 이 방법은 중첩된 데이터세트를 물리적으로 저장하지는 않기 때문에, 부가적인 메모리를 사용하지도 않으며, 또한 이를 위한 시간 비용도 줄일 수 있다. 그러나, 이 방법이 유효하기 위해서는 반드시 모든 데이터세트가 직접적으로 접근할 수 있어야 하며, 포인터의 구성으로 인한 응용 프로그램의 복잡성이 매우 증가한다는 단점이 있다.Finally, there is a way to navigate using related catalogs without physically storing nested datasets. Because this method does not physically store the nested datasets, it does not use additional memory and also reduces the time cost for doing so. However, in order for this method to be effective, all datasets must be directly accessible, and the complexity of the application program due to the configuration of pointers increases.

이에 본 발명은, 종래의 문제점을 해결하기 위해 제안된 것으로, 주기억 장치에 상주하고 객체식별자를 참조 연산에 참조 무결성을 보장하는 저장시스템에서 조건을 만족하는 데이터세트에 대해 순차적인 접근을 제공하는데 사용되는 커서를 효과적으로 제어할 수 있도록 한 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 그 목적이 있다.Accordingly, the present invention has been proposed to solve a conventional problem, and is used to provide sequential access to a dataset that satisfies a condition in a storage system that resides in the main memory and guarantees the referential integrity to the object identifier. It is an object of the present invention to provide a method of interpreting and converting a superimposed structure dataset in a navigation-based data model and a computer-readable recording medium recording a program for realizing the method.

도 1a 내지 도 1b는 본 발명이 적용되는 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 시스템의 일실시예 구성도.1A to 1B are diagrams illustrating an embodiment of a system for interpreting and converting a superstructure dataset in a navigation-based data model to which the present invention is applied.

도 2는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 데이터세트의 구성 및 사용자 질의의 결과에 대한 일실시예 도면.2 is a diagram illustrating an embodiment of a dataset configuration and a result of a user query in a method for interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

도 3a 내지 도 3c는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 데이터세트 관련 질의 수행에 대한 일실시예 흐름도.3A to 3C are flowcharts illustrating one embodiment of performing a dataset related query in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

도 4는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 정형화 된 데이터세트 구성을 위한 주함수에 대한 일실시예 흐름도.4 is a flow diagram of an embodiment of a main function for structured dataset in a method of interpretation and transformation of a superstructure dataset in a navigational data model according to the present invention.

도 5는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 집합그룹의 항해 제어에 대한 일실시예 흐름도.5 is a flow diagram of an embodiment of navigation control of a group in a method for interpreting and converting a superstructure dataset in a navigation based data model according to the present invention.

도 6은 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 집합요소의 재구성 제어에 대한 일실시예 흐름도.6 is a flowchart illustrating an embodiment of reconstruction control of an aggregate element in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

도 7은 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 다음 항해 위치의 계산에 대한 일실시예 흐름도.7 is an embodiment flow diagram for the calculation of the next navigation position in a method of interpretation and transformation of a superstructure dataset in a navigation based data model in accordance with the present invention.

상기와 같은 목적을 달성하기 위한 본 발명은, 항해기반 커서에서 중첩구조 데이터세트의 해석 및 변환 장치에 적용되는 중첩구조 데이터세트의 해석 및 변환 방법에 있어서, 검색절내 명시된 경로식에서 집합그룹을 추출하여 커서가 사용할 명세리스트에 적용하는 제 1 단계; 상기 적용된 명세리스트를 토대로 항해를 수행하여 정형화 된 데이터세트를 구성하는 제 2 단계; 및 상기 구성된 명세리스트를 바탕으로 카타로그를 통해 실제 데이터에 접근하는 제 3 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a method for interpreting and converting a superstructure dataset applied to an apparatus for interpreting and converting a superstructure dataset in a navigation-based cursor, and extracting a group from a path expression specified in a search clause. A first step of applying the specification list to be used by the cursor; A second step of performing a navigation based on the applied specification list to form a standardized data set; And a third step of accessing actual data through a catalog based on the configured specification list.

한편, 본 발명은, 중첩구조 데이터세트의 해석 및 변환을 위해, 프로세서를 구비한 데이터세트 해석 및 변환 시스템에, 검색절내 명시된 경로식에서 집합그룹을 추출하여 커서가 사용할 명세리스트에 적용하는 제 1 기능; 상기 적용된 명세리스트를 토대로 항해를 수행하여 정형화 된 데이터세트를 구성하는 제 2 기능; 및 상기 구성된 명세리스트를 바탕으로 카타로그를 통해 실제 데이터에 접근하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함을 특징으로 한다.Meanwhile, the present invention provides a first function of extracting a set group from a path expression specified in a search clause and applying it to a specification list to be used by a cursor in a dataset analysis and conversion system having a processor for interpretation and conversion of a superstructure dataset. ; A second function of performing a navigation based on the applied specification list to form a standardized data set; And a computer readable recording medium having recorded thereon a program for realizing a third function of accessing actual data through the catalog based on the configured specification list.

여기서 상술된 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The objects, features and advantages described above will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

1a 내지 도 1b는 본 발명이 적용되는 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 시스템의 일실시예 구성도이다.1A to 1B are exemplary embodiments of a system for interpreting and converting a superstructure dataset in a navigation-based data model to which the present invention is applied.

도 1a 및 도 1b에 도시된 바와 같이, 데이터 응용 프로그램(101)은 클라이언트 터미널을 통해 질의를 수행한다. 이때, 질의는 인터넷을 통해 데이터 서버(103)에 전달된다. 여기서, 상기 데이터 서버(103)는 커서(108)를 포함하고 있어 시스템(102)의 주기억장치(104)내 같이 실장된 데이터 세트에 접근한다. 즉, 데이터 서버(103)는 데이터 응용 프로그램(101)으로부터 질의를 입력받고, 이때, 질의는 질의 처리기(107)를 통해 파싱(parsing)된다. 여기서, 상기 파싱된 질의는 데이터 서버(103)에 의해 분석되고, 결과는 주기억장치(104)에서 추출되어 데이터 응용 프로그램(101)으로 전달한다.As shown in FIGS. 1A and 1B, the data application program 101 performs a query through a client terminal. At this time, the query is transmitted to the data server 103 via the Internet. Here, the data server 103 includes a cursor 108 to access the data set as mounted in the main memory 104 of the system 102. That is, the data server 103 receives a query from the data application program 101, at which time the query is parsed through the query processor 107. Here, the parsed query is analyzed by the data server 103 and the result is extracted from the main memory 104 and forwarded to the data application program 101.

이때, 상기 데이터 응용 프로그램(101)으로 전달된 결과가 여러 객체들일 경우, 커서(108)를 통해 여러 번으로 나뉘어 전달된다.In this case, when the result transmitted to the data application program 101 is several objects, the data is divided into several times through the cursor 108.

여기서, 상기 커서(108)는 커서가 유지하는 데이터세트들에 대한 메타정보(meta information)인 명세 리스트(111), 응용 프로그램(105)에서 제시한 조건을 만족하는가를 검사하고 제시한 모든 조건을 평가하는 조건 평가부(112), 데이터세트(114)에 대한 접근 방법을 제공하는 데이터세트 접근부(110) 및 비정형적으로 구성된 결과 데이터세트를 정형화하여 응용 프로그램(105)에게 전달하는 데이터세트 추출부(109)를 포함한다.In this case, the cursor 108 checks whether the condition specified by the specification list 111 and the application program 105, which is meta information about the data sets maintained by the cursor, is satisfied and checks all the conditions presented. Evaluate condition evaluator 112 to evaluate, dataset accessor 110 to provide access to dataset 114, and dataset extraction to formalize and deliver the atypical result dataset to application 105 Section 109.

여기서, 상기 명세 리스트(111)내의 정보는 데이터세트들간의 정보들로 관련있는 데이터세트(dataset or table)의 이름, 속성 번호, 별명(alias)등을 나타낸다. 이들은 주기억장치(104)내의 모든 데이터세트들에 대한 메타정보를 유지하는 카타로그(115)로부터 추출된다.Herein, the information in the specification list 111 indicates a name, an attribute number, an alias, etc. of a dataset or table related to the information between the datasets. These are extracted from the catalog 115 which maintains meta information for all datasets in the main memory 104.

도 2는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 데이터세트의 구성 및 사용자 질의의 결과에 대한 일실시예 도면이다.2 is a diagram illustrating an embodiment of a dataset configuration and a result of a user query in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

도 2에 도시된 바와 같이, 제 1 데이터세트(220)는 기본 데이터 타입(primitive data type)과 다른 데이터 세트(221,222)내의 객체를 지칭하는 객체식별자 타입을 갖도록 구성된다. 그리고, 상기 제 1 데이터세트(220)내의 단일객체식별자 타입(202)은 다른 혹은 자신 데이터세트내의 한 객체를 지칭하며, 세트객체식별자 타입(204)은 다수의 객체를 지칭한다.As shown in FIG. 2, the first dataset 220 is configured to have an object identifier type that refers to an object in the data set 221, 222 that is different from the primitive data type. In addition, the single object identifier type 202 in the first data set 220 refers to one object in another or its own data set, and the set object identifier type 204 refers to a plurality of objects.

여기서, 상기 객체식별자 타입을 통한 참조는 그 데이터세트와의 조인(join)을 의미하고, 객체식별자를 통한 다른 객체의 참조를 위해 경로 연산자(207)를 사용한다.Here, the reference through the object identifier type means joining with the data set, and uses the path operator 207 to refer to another object through the object identifier.

이때, 상기 경로 연산자(207)는 자신 데이터세트내에 포함되지 않은 다른 데이터세트의 객체를 지칭할 때 사용되며, 다시 이 객체내의 객체식별자(202, 204)를 통해 다른 객체를 반복적으로 지칭하는데 에도 사용될 수 있다. 이러한 내역들은 데이터세트 카타로그(115)에 저장된다. 이때, 카타로그 정보는 커서 구성 시 필요한 정보들을 추출하여 명세리스트(111)에 저장된 후 사용한다.In this case, the path operator 207 is used to refer to an object of another data set not included in its own data set, and may also be used to repeatedly refer to another object through object identifiers 202 and 204 in the object. Can be. These details are stored in the dataset catalog 115. At this time, the catalog information is used after extracting the information required when configuring the cursor is stored in the specification list (111).

사용자 질의는 항해에 기반한 모델링을 사용하고 주기억장치에 상주해 있는 다중 데이터세트에 쉽게 접근하고 결과를 얻도록 정의되었고, 표준 SQL'92을 기반으로 확장되었다. 사용자 질의는 반드시 하나의 기본데이터세트 즉, 제 1 데이터세트(220)를 갖도록 정의된다. 여기서, 상기 제 1 데이터세트(220)는 모든 객체 참조의 시작점이 된다.User queries are defined to use navigational modeling, to easily access and obtain results from multiple datasets residing on main memory, and to be extended based on standard SQL'92. The user query is defined to have one basic dataset, that is, the first dataset 220. Here, the first dataset 220 is a starting point of all object references.

또한, 상기 제 1 데이터세트(220)는 추출될 객체를 선택하기 위한 비교절(206)과 선택된 객체의 특정 속성(attribute)을 얻기 위한 검색절(203)을 갖는다. 상기 비교절(206)은 비교연산자와 비교대상이 되는 값을 갖는 식(expression)들의 집합이 되고, 이들을 모두 만족한 데이터만이 질의의 결과가 된다. 여기서, 식을 검증하고 평가하는 모듈은 본 발명의 주요 내용이 아니고, 평가 결과로 얻어진 데이터세트를 어떻게 정형화할 것인가가 본 발명의 주요 내용이다. 따라서, 비교절에 대해서는 따로 언급하지 않는다.In addition, the first dataset 220 has a comparison clause 206 for selecting an object to be extracted and a search clause 203 for obtaining a specific attribute of the selected object. The comparison clause 206 is a set of expressions having a comparison operator and a value to be compared, and only data that satisfies all of them becomes a result of the query. Here, the module for verifying and evaluating the expression is not the main content of the present invention, but the main content of the present invention is how to format the data set obtained as a result of the evaluation. Therefore, the comparison clause is not mentioned separately.

즉, 상기 검색절(203)에서 중첩구조에 대한 연산자(204)가 사용될 경우, 그 결과는 또 다른 데이터세트 혹은 데이터세트들의 집합(202)이 됨을 의미한다. 예를 들어, 비교절(206)의 모든 조건을 만족한 데이터세트 α는 제 2 데이터세트(221)내의 두 데이터세트(207)를 값으로 가지며, 다시 데이터세트 β(208)는 또 다른 데이터세트들을 값으로 가질 수 있다.That is, when the operator 204 for the nested structure is used in the search clause 203, the result is that it is another dataset or a set of datasets 202. For example, a dataset α that satisfies all the conditions of the comparison clause 206 has two datasets 207 in the second dataset 221 as values, and again the dataset β 208 is another dataset. You can have them as values.

따라서, 상기 명세리스트(111)은 질의를 파싱한 결과를 갖게되는데, 주요 정보로는 데이터세트내 객체(혹은 데이터)로의 입력경로 및 다른 데이터세트 객체로의 출력 경로를 가지며, 해당 데이터세트에서 현재 작업의 대상이 되는 객체식별자(제 1 데이터세트에서 현재 작업의 대상이라면 제 1 데이터세트내에 객체식별자 α를 가지면, 또한, 비교절과 검색절 중 어디에서 사용되었는가에 대한 정보도 함께 포함함), 데이터세트 및 경로 ID, 별명은 데이터세트를 항해할 때 사용되는 주요 정보이다. 또한, 기본 데이터세트내의 중첩구조를 집합그룹(α의 a2나 a3)(209), 그 이외의 중첩구조를 집합요소(β의 b2 혹은 δ의 c2, d2등)(210)로 명시한다.Therefore, the specification list 111 has a result of parsing a query, and the main information includes an input path to an object (or data) in the dataset and an output path to another dataset object, and the current information in the dataset. The object identifier that is the target of the task (if the target of the current task in the first dataset has the object identifier α in the first dataset, it also contains information about whether it was used in the comparison or search clauses), The dataset, route ID, and alias are the main information used when navigating the dataset. In addition, the superimposition structure in the basic data set is designated by a set group (a2 or a3 of?) 209, and the other superimposition structure by the set element (b2 of? Or c2, d2, etc.) 210.

이하, 첨부된 도 3 내지 도 7를 참조하여 본 발명에 따른 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법에 대해 상세히 설명하면 다음과 같다.Hereinafter, with reference to the accompanying Figures 3 to 7 will be described in detail with respect to the analysis and conversion method of the superimposed structure data set according to the navigation-based data model according to the present invention.

도 3a 내지 도 3c는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 데이터세트 관련 질의 수행에 대한 일실시예 흐름도이다.3A to 3C are flowcharts illustrating one embodiment of performing a dataset related query in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

도 3a에 도시된 바와같이, 먼저, 데이터 서버(103)에 질의가 입력되면(301), 질의가 추출 연산(fetch command)인지를 판단한다(302). 상기 과정(302)에서 판단한 결과, 질의가 추출연산이 아닐 경우는 질의에 대한 기본 데이터세트를 추출하고(303), 해당 질의가 커서를 필요로 하는지를 판단한다(305).As shown in FIG. 3A, first, when a query is input to the data server 103 (301), it is determined whether the query is a fetch command (302). If it is determined in step 302 that the query is not an extraction operation, a basic data set for the query is extracted (303), and it is determined whether the query requires a cursor (305).

상기 과정(302)에서 판단한 결과, 커서를 필요로 할 경우는 비교절/검색절에 대한 제반 정보를 갖는 커서의 생성을 수행한다(307). 그리고, 상기 과정(307)에서 커서의 생성이 완료되면, 질의 수행을 위한 초기화를 수행한다(308).As a result of the determination in step 302, when a cursor is required, a cursor having general information about a comparison clause / search clause is generated (307). When the generation of the cursor is completed in step 307, initialization for executing a query is performed (308).

한편, 상기 과정(305)에서 판단한 결과, 커서가 필요하지 않은 질의일 경우는 해당 질의를 직접 수행하고(306), 본 루프를 종료한다.On the other hand, as a result of the determination in step 305, if the query does not require a cursor, the query is executed directly (306), and the loop ends.

한편, 상기 과정(302)에서 판단한 결과, 질의가 추출연산일 경우 즉, 질의 타입이 이미 초기화 된 커서에 대한 추출연산이라면, 초기화 된 커서를 사용하여 결과 데이터 세트를 재구성한 후 데이터 응용 프로그램(105)에 반환을 수행한다(304).On the other hand, if it is determined in step 302 that the query is an extraction operation, that is, if the query type is an extraction operation for an already initialized cursor, the data application program 105 after reconstructing the result data set using the initialized cursor (304).

여기서, 상기 초기화 된 커서를 사용하여 결과 데이터 세트를 [재]구성한 후 데이터 응용 프로그램(105)에 반환하는 과정은 도 3b를 토대로 자세히 살펴본다.Here, the process of [re] configuring the result data set using the initialized cursor and returning it to the data application 105 will be described in detail with reference to FIG. 3B.

도 3b에 도시된 바와같이, 결과 데이터 세트를 재구성한 후 데이터 응용 프로그램(105)에 반환을 수행시(304)에는, 먼저, 집합그룹이 존재하는지를 판단한다(309). 상기 과정(309)에서 판단한 결과, 집합그룹이 존재할 경우에는 집합그룹을 항해하여 조건에 적합한 결과 데이터세트를 추출하고(310), 집합그룹이 존재하지 않으면 비교절[에]을 사용하여, 현재 상태의 데이터세트를 추출한다(312). 그리고, 상기 과정(312,310)에서 추출된 결과는 반환하기 위한 전처리 작업후 사용자에게 주어진다(311).As shown in FIG. 3B, when performing a return to the data application 105 after reconstructing the result data set (304), it is first determined whether a set group exists (309). As a result of the determination in step 309, if there is a set group, the set group is navigated to extract a result data set suitable for the condition (310). If the set group does not exist, the comparison clause [E] is used to determine the current state. Extract the dataset of 312. The result extracted in the processes 312 and 310 is given to the user after the preprocessing operation to return (311).

한편, 상기 과정(307)에서 비교절/검색절에 대한 제반 정보를 갖는 커서의 생성을 수행하는 과정을 도 3c를 토대로 자세히 살펴본다.Meanwhile, a process of generating a cursor having general information about the comparison clause / search clause in the process 307 will be described in detail with reference to FIG. 3C.

도 3c에 도시된 바와같이, 커서 생성을 위해서는 먼저, 기본 데이터세트를 추출하고(313), 이 추출된 기본 데이터세트를 사용하여 비교절내 식들에 대한 정보를 추출하여 명세리스트에 추가한다(314). 이때, 상기 과정(314)에서 추출된 정보에 검색절이 있는지를 판단한다(315).As shown in FIG. 3C, in order to generate a cursor, a basic data set is first extracted (313), and information about expressions in the comparison clause is extracted using the extracted basic data set and added to the specification list (314). . At this time, it is determined whether there is a search clause in the information extracted in step 314 (315).

상기 과정(315)에서 판단한 결과, 검색절이 있을 경우는 검색절내에 속성 정보들을 추출 즉, 엔트리 정보를 추출하여 명세리스트에 추가한다(316). 여기서, 추가된 결과 명세리스트에는 후술될 도 5 내지 도 7에서 사용하는 정보들로 데이터세트 ID, 경로 ID, 별명등의 정보들을 갖게된다. 이때, 검색절의 분석결과 집합그룹을 갖는다면 이를 커서에 반영한다(317).As a result of the determination in step 315, if there is a search clause, attribute information is extracted from the search clause, that is, entry information is extracted and added to the specification list (316). Here, the added result specification list includes information such as a data set ID, a path ID, and an alias as information used in FIGS. 5 to 7 to be described later. In this case, if there is an analysis result set group of the search clause, it is reflected in the cursor (317).

도 4는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 정형화 된 데이터세트 구성을 위한 주함수에 대한 일실시예 흐름도이다.FIG. 4 is a flow diagram of an embodiment of a main function for structured dataset in a method for interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

즉, 도 4는 조건에 적합한 결과 데이터세트를 추출하기 위한 주 과정(310)의 세부 흐름도로서, 먼저, 구성된 커서에 대해 마지막 그룹 집합을 추출한다(401). 그리고, 추출된 그룹 집합으로부터 그룹지시자를 계산하고(402), 현재 그룹지시자를 사용하여 해당 집합 그룹상에서 적합한 데이터세트 추출을 위해 항해를 수행한다(403). 그 후, 항해 후 상태가 적합한 데이터세트를 찾는 상태인지를 판단한다(404).That is, FIG. 4 is a detailed flowchart of the main process 310 for extracting a result data set suitable for a condition. First, a final group set is extracted for a configured cursor (401). The group indicator is calculated from the extracted group set (402), and the navigation is performed to extract a suitable data set on the set group using the current group indicator (403). Then, it is determined whether the post-navigation state is a state of finding a suitable data set (404).

상기 과정(404)에서 판단한 결과, 추출된 데이터세트가 현재 적합한 데이터세트를 찾은 상태일 경우에는 현재 상태의 데이터세트를 반환하며, 그 결과 이 데이터세트가 사용자에게 반환하게 된다(405).As a result of the determination in step 404, if the extracted dataset is currently found to be a suitable dataset, the dataset of the current state is returned, and as a result, the dataset is returned to the user (405).

상기 과정(404)에서 판단한 결과, 추출된 데이터세트가 현재 적합한 데이터세트를 찾은 상태가 아닐 경우 즉, 이전 집합그룹을 검색할 필요가 있는 상태라면, 이전 집합그룹에 대한 항해가 요구됨을 의미한다. 따라서, 이전 집합그룹이 존재하는지를 판단한다(406).As a result of the determination in step 404, if the extracted dataset is not currently in a state of finding a suitable dataset, that is, in a state in which it is necessary to search the previous aggregation group, it means that navigation to the previous aggregation group is required. Therefore, it is determined whether the previous aggregation group exists (406).

상기 과정(406)에서 판단한 결과, 이전 집합그룹이 존재하지 않는다면 현재 데이터세트에 대한 가능한 모든 항해가 완료되었음을 나타내는 상태를 반환하고(407), 이전 집합그룹이 존재할 경우에는 현재 집합그룹의 데이터세트와 경로를 집합그룹내 집합요소에 대해 초기화를 위해 그 결과를 명세리스트에 반영하고(408), 항해 이전의 상황으로 다시 초기화를 수행한다.(409). 그리고, 이전 집합그룹에서 새로이 항해를 시작하도록 한다. 이를 위해, 상기 과정(420)으로 다시 복귀하여 루프를 반복 수행한다.As a result of the determination in step 406, if the previous set group does not exist, it returns a state indicating that all possible navigation to the current data set is completed (407). The result is reflected in the specification list for the path to be initialized for the aggregate element in the aggregation group (408), and the initialization is performed again to the situation before the voyage (409). The new group will then begin sailing. To this end, the process returns to step 420 again to repeat the loop.

도 5는 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 집합그룹의 항해 제어에 대한 일실시예 흐름도이다.FIG. 5 is a flow chart of an embodiment of a navigation control of a group in a method for interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

즉, 도 5는 상기 상술된 과정(403)에서 기술된 데이터세트 추출을 위한 항해 수행의 구체적인 흐름로서, 먼저, 주어진 그룹지시자에서 데이터세트와 경로를 추출한다(501). 추출된 경로의 형식 즉, 항해할 대상 경로가 객체식별자 형식(DB_REF)인지 판단한다(502).That is, FIG. 5 is a detailed flow of navigation performance for dataset extraction described in the above-described process 403. First, a dataset and a path are extracted from a given group indicator (501). In operation 502, it is determined whether the type of the extracted route, that is, the target route to be navigated is the object identifier format DB_REF.

상기 과정(502)에서 판단한 결과, 경로가 객체식별자 형식일 경우에는 현재 경로는 항해할 수 없기 때문에 현시점에서 다음으로 항해할 위치를 계산한다(504). 그리고, 계산한 위치의 결과를 토대로 이전 집합그룹의 항해가 필요한지를 판단한다(505). 상기 과정(505)에서 판단한 결과, 이전 집합그룹의 항해가 필요할 경우에는 이전 집합그룹이 필요한 상태를 반환하고(506), 이전 집합그룹의 항해가 필요하지 않을 경우에는 현재 그룹내에서 항해가 가능한지를 판단한다(507).As a result of the determination in step 502, since the current route cannot be navigated when the route is in the form of an object identifier, the next position to be navigated is calculated at the present time (504). In operation 505, it is determined whether the navigation of the previous aggregation group is necessary based on the result of the calculated position. As a result of the determination in step 505, if the navigation of the previous aggregation group is required, the previous aggregation group returns a necessary state (506), and if the navigation of the previous aggregation group is not necessary, whether navigation is possible within the current group. Determine (507).

상기 과정(507)에서 판단한 결과, 현재 그룹내에서 항해가 가능할 경우에는 결과 추출이 성공한 상태를 반환하고(508), 현재 그룹내에서 항해가 가능하지 않을 경우에는 다시 얻어진 그룹지시자를 설정하고(509), 다음 항해 위치를 계산하는 상기 과정(501)으로 복귀하여 루프를 반복 수행한다.As a result of the determination in step 507, if the navigation is possible within the current group, the result extraction is returned (508), and if the navigation is not possible within the current group, the group indicator obtained is set again (509). In step 501, the loop is repeated to calculate the next navigation position.

여기서, 루프의 반복 수행은 현재 그룹에서 항해가 성공하거나, 이전 그룹에 대한 항해 요구를 반환함으로써 종료한다.Here, iterative execution of the loop ends by either navigating in the current group or returning a voyage request for the previous group.

즉, 상기 과정(502)에서 판단한 결과, 경로가 객체식별자 형식이 아닐 경우에는 다시 집합내의 요소 개수를 조사하여 항해할 요소가 있는지를 판단한다(503). 상기 과정(503)에서 판단한 결과, 항해할 요소가 없을 경우에는 항해될 대상이 객체식별자 였던것과 마찬가지로 상기 과정(504)으로 진행하여 현재 시점에서 다음 항해할 위치를 찾고(504), 항해할 요소가 있을 경우에는 모든 요소의 항해가 완료 되었는지를 판단한다(510).That is, as a result of the determination in step 502, if the path is not in the form of an object identifier, it is again determined whether there is an element to navigate by examining the number of elements in the set. As a result of the determination in step 503, if there is no element to navigate, as in the case where the object to be navigated was the object identifier, the process proceeds to step 504 to find the next position to sail at the present time (504). If there is, it is determined whether the navigation of all elements is completed (510).

상기 과정(510)에서 판단한 결과, 모든 요소의 항해가 완료된 경우에는 다시 데이터세트와 경로를 사용하여 재초기화를 수행하고(511), 초기화한 집합이 조건절과 공유하는 경로내에 존재하는지를 판단한다(512).As a result of the determination in step 510, when the navigation of all elements is completed, the data set and the path are reinitialized again (511), and it is determined whether the initialized set exists in the path shared with the condition clause (512). ).

상기 과정(512)에서 판단한 결과, 조건절과 공유하는 경로내에 존재할 경우에는 항해할 수 없으므로 상기 과정(506)으로 진행하여 이전 집합그룹의 초기화를 통한 항해를 요청하고, 조건절과 공유하는 경로내에 존재할 경우하지 않을 경우에는 상기 과정(504)으로 진행하여 다음 항해할 위치를 찾으며 항해하는 과정을 수행한다.As a result of the determination in the process 512, if it exists in the path shared with the condition clause, the navigation cannot proceed. Therefore, the process proceeds to the process 506 and requests the navigation through the initialization of the previous set group, and if it exists in the path shared with the condition clause. If not, the process proceeds to step 504 to find the next position to sail and performs the process of sailing.

한편, 상기 과정(510)에서 판단한 결과, 모든 요소의 항해가 완료된 경우에는 아직 접근되지 않은 객체가 있음을 의미하므로 해당 요소를 초기화한 후(513), 상기 과정(508)으로 진행하여 항해가 성공하였다는 상태를 반환한다.On the other hand, as a result of the determination in the process 510, if all the elements are completed navigation means that there is an object that has not yet been approached, after initializing the elements (513), the process proceeds to the process (508) is successful Returns status.

도 6은 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 집합요소의 재구성 제어에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of reconstruction control of an aggregate element in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

즉, 도 6은 도 5에서 과정(513)에서 상술된 집합요소에 대한 초기화 수행의 상세한 흐름도로서, 먼저, 초기화를 수행하기 위해 집합요소에서 별명을 추출하고(601), 추출된 별명의 형식을 판단한다(602).That is, FIG. 6 is a detailed flowchart of performing initialization for the aggregation element described in operation 513 in FIG. 5. First, an alias is extracted from the aggregation element to perform initialization, and the format of the extracted alias is performed. Determine (602).

상기 과정(602)에서 판단한 결과, 추출된 별명이 객체식별자 형식일 경우에는 해당 별명내의 객체식별자를 추출하고(608), 추출된 별명이 객체식별자세트 타입(DB_SET) 형식일 경우에는 별명에서 추출한 객체식별자로 객체식별자세트를 오픈한다(603). 이때, 상기 과정(603)에서 오픈된 객체식별자세트의 상태를 검사하여 객체식별자세트가 현재 처음으로 오픈된 것인지를 판단한다(604).As a result of the determination in step 602, if the extracted alias is in the form of an object identifier, an object identifier in the alias is extracted (608). If the extracted alias is in the form of an object identifier set type (DB_SET), the object is extracted from the alias. The object identifier set is opened with the identifier (603). At this time, the state of the object identifier set opened in step 603 is examined to determine whether the object identifier set is currently open for the first time (604).

상기 과정(604)에서 판단한 결과, 현재 처음으로 오픈된 객체식별자세트일 경우에는 객체식별자세트의 요소 개수를 읽어 설정하고 접근할 요소 인덱스를 1로 초기화한 후 (605), 현재 요소 인덱스가 지칭하는 객체식별자를 추출하고(606), 현재 처음으로 오픈된 객체식별자세트가 아닐 경우에는 바로 현재 요소 인덱스가 지칭하는 객체식별자를 추출한다(606).As a result of the determination in step 604, in the case of the object identifier set currently opened for the first time, the number of elements of the object identifier set is read and set, and the element index to be accessed is initialized to 1 (605), which is indicated by the current element index. The object identifier is extracted (606), and if it is not the first set of currently opened object identifiers, an object identifier indicated by the current element index is immediately extracted (606).

한편, 상기 과정(606)에서 추출된 개별식별자는 이후 다음 항해를 위해, 현재 요소 인덱스 번호를 1증가 한다(607). 객체식별자가 추출되었으면(607, 608), 별명에서 초기화 될 대상 데이터세트와 별명을 추출한다(609), 이들을 사용해 해당 데이터세트의 별명과 관련된 모든 경로들에 대해 초기화를 수행한다(610),Meanwhile, the individual identifier extracted in step 606 increases the current element index number by 1 for the next navigation (607). Once the object identifiers have been extracted (607, 608), the target dataset to be initialized from the alias and the alias is extracted (609), using them to initialize all the paths associated with the alias of the dataset (610).

한편, 상기 과정(608)에서도 해당 별명내의 객체식별자를 추출하고 과정(609)으로 진행하여 초기화 될 대상 데이터세트와 별명을 추출한다(609), 이들을 사용해 해당 데이터세트의 별명과 관련된 모든 경로들에 대해 초기화를 수행한다(610).Meanwhile, the process 608 also extracts the object identifier in the alias and proceeds to process 609 to extract the target dataset and the alias to be initialized (609), and uses them to all paths related to the alias of the dataset. In operation 610, the initialization is performed.

도 7은 본 발명에 따른 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및 변환 방법에서 다음 항해 위치의 계산 방법에 대한 일실시예 흐름도이다.7 is a flowchart illustrating a method of calculating a next navigation position in a method of interpreting and converting a superstructure dataset in a navigation-based data model according to the present invention.

즉, 도 7은 도 5의 현시점에서 다음으로 항해할 위치를 계산하는 과정(504)의 세부 흐름도로서, 먼저, 주어진 그룹지시자에서 데이터세트와 경로를 추출한 후(701), 이 추출된 데이터세트와 경로정보에서 별명을 추출한다(702). 그리고, 추출된 해당 별명이 조건절과 공유하는지를 판단한다(703).That is, FIG. 7 is a detailed flowchart of a process 504 of calculating a next position to navigate from the present time of FIG. 5. First, a dataset and a path are extracted from a given group indicator (701), and the extracted dataset and The alias is extracted from the route information (702). Then, it is determined whether the extracted alias is shared with the conditional clause (703).

상기 과정(703)에서 판단한 결과, 추출된 해당 별명이 조건절과 공유할 경우에는 항해의 대상이 아니나 별명내에서 새로이 시작하는 경로가 있으므로, 아직 접근하지 않은 경로가 있는지를 판단한다(704).As a result of the determination in step 703, if the extracted nickname is shared with the condition clause, it is not the object of navigation but there is a new route starting in the nickname, and thus it is determined whether there is a route not yet approached (704).

상기 과정(704)에서 판단한 결과, 아직 접근되지 않은 경로가 없을 경우 즉, 모든 경로가 모두 접근되었다면 현재 집합그룹내에서는 항해할 수 없으므로, 이전 집합그룹에 대해 항해를 요청하고(705), 접근되지 않은 경로가 있는 경우에는 해당 경로상의 집합요소에 대해 초기화를 수행한 후(705), 검색할 대상이 있었는가를 판단한다(707).If it is determined in the process 704 that there is no route yet to be approached, that is, if all the routes are all approached, it is impossible to navigate in the current aggregation group. Therefore, the navigation request for the previous aggregation group is requested (705). If there is a path that does not exist, after initializing the aggregated elements on the corresponding path (705), it is determined whether there is an object to be searched (707).

상기 과정(707)에서 판단한 결과, 검색할 대상이 있었을 경우에는 검색할 대상이 있었다는 상태를 반환하고(708), 검색할 대상이 없었다면 상기 과정(705)으로 진행하여 이전 집합그룹의 항해가 필요하다는 상태를 반환하여, 다른 그룹에서 항해를 시작하도록 한다.As a result of the determination in step 707, if there is an object to be searched, it returns a state that there was an object to be searched (708). Returns a status to let the other group begin sailing.

한편, 상기 과정(703)에서 판단한 결과, 데이터세트의 별명이 조건절과 공유하지 않을 경우에는 경로 인덱스를 한 단계 증가시키고(709), 다음에 고려할 대상경로를 추출한다(710). 그리고, 대상경로가 객체식별자 형식인가를 판단한다(711).On the other hand, as a result of the determination in step 703, if the nickname of the data set is not shared with the conditional clause, the path index is increased by one step (709), and the target path to be considered next is extracted (710). In operation 711, it is determined whether the target path is in the form of an object identifier.

상기 과정(711)에서 판단한 결과, 대상경로가 객체식별자형이면, 상기 과정(702)으로 진행하여 다음 항해위치를 찾는 과정을 반복 수행하고, 판단의 결과가 객체식별자 형이 아니었다면(즉, 객체식별자 세트 형), 모든 경로가 접근되었는가를 판단한다(712).If it is determined in step 711 that the target route is an object identifier type, the process proceeds to step 702 to repeat the process of finding the next navigation position, and if the determination result is not the object identifier type (ie, the object Identifier set type), and determine whether all paths have been accessed (712).

상기 과정(712)에서 판단한 결과, 아직 접근되지 않은 요소가 존재할 경우에는 해당 경로에 대한 초기화를 수행한 후(713), 상기 과정(702)으로 진행하여 계산된 경로와 함께 다음 항해위치를 찾는 과정을 다시 반복한다.As a result of the determination in step 712, if there is an element that is not yet approached, after initializing the corresponding path (713), the process proceeds to the step 702 to find the next navigation position along with the calculated path. Repeat again.

또한, 상기 과정(712)에서 판단한 결과, 접근하지 않은 경로가 존재하지 않을경우 즉, 결과 데이터세트가 존재할 경우에는 최종 상태를 명세리스트에 반영하고(714), 상기 과정(708)으로 진행하여 결과 추출이 성공하였다는 상태를 반환한다.In addition, if it is determined in the process 712 that there is no accessible path, that is, if there is a result data set, the final state is reflected in the specification list (714), and the process proceeds to the process (708). Returns a status that the extraction was successful.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

이상에서 설명한 본 발명은 진술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.The present invention described above is not limited to the stated embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be evident to those who have knowledge of.

상기와 같은 본 발명은, 통신응용에서 복잡하고 중첩된 데이터 구조를 갖는 질의 처리에 실시간성을 보장하기 위한 방법으로 사용될 수 있으며, 이를 위해 모든 데이터베이스는 주기억장치내에 상주하여야 하며, 다중 데이터세트에 대한 질의 에 필요한 커서 생성시 부가적인 임시 데이터세트를 새로이 생성하는 것이 아니라 객체에 대한 객체식별자를 사용한 항해 방식을 사용함으로써, 부가적인 데이터세트 구축으로 인한 저장 공간의 낭비를 방지하여 저장공간을 효율적으로 사용할 수 있도록 하며, 시간을 단축시킬 수 있는 효과가 있다.As described above, the present invention can be used as a method for guaranteeing real-time for query processing having complex and nested data structures in communication applications. For this purpose, all databases must reside in main memory, and When creating a cursor needed for a query, instead of creating an additional temporary dataset, a navigation method using an object identifier for an object is used to prevent the waste of storage space caused by building an additional dataset, thereby effectively using the storage space. It has the effect of shortening the time.

Claims (7)

주기억장치내에 상주하는 중첩/상속 형태의 데이터세트들과 이들에 대한 카타로그 정보를 바탕으로, 실시간성을 보장하기 위해 구출될 항해기반 커서에서 데이터세트의 해석 및 변환 방법에 있어서,A method of interpreting and converting a dataset in a navigation-based cursor to be rescued to ensure real-time based on overlapping / inherited datasets and catalog information thereof that reside in the main memory, 중첩/상속 구조를 갖는 데이터세트간의 관계로부터, 검색절내 명시된 경로식에서 집합그룹을 추출하여 커서가 사용할 명세리스트를 생성하는 제 1 단계;A first step of extracting a set group from a path expression specified in a search clause from a relationship between data sets having an overlap / inheritance structure and generating a specification list for use by a cursor; 상기 적용된 명세리스트를 토대로 실시간성을 보장하기 위해, 주기억장치상의 접근 방식에 따라 최적화된 항해를 수행하여 정형화 된 데이터세트를 구성하는 제 2 단계; 및A second step of constructing a standardized data set by performing an optimized voyage according to an approach on the main memory to ensure real-time based on the applied specification list; And 상기 구성된 명세리스트를 바탕으로 카타로그를 통해 주기억장치에 상주하고 있는 실제 데이터에 접근하는 제 3 단계A third step of accessing the actual data residing in the main memory through the catalog based on the configured list of specifications 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 제 1 항에 있어서, 상기 제 1 단계는,The method of claim 1, wherein the first step, 비교결과 검색절을 파싱하여, 데이터세트들간의 중첩/상속 구조로부터 경로 정보를 추출하고, 경로의 형식과 비교절과의 공유 여부에 따라 별명의 부가 속성을 명세리스트에 추가하는 제 4 단계; 및Parsing the comparison result search clause, extracting path information from the overlapping / inheritance structure between the datasets, and adding an additional attribute of the alias to the specification list according to the format of the path and whether or not it is shared with the comparison clause; And 상기 추가된 부가속성을 바탕으로 집합그룹과 그 개수를 추출하고 이를 항해 기반 모델을 지원하는 커서에 사용될 명세리스트에 적용하는 제 5 단계A fifth step of extracting a set group and its number based on the added additional attributes and applying the same to a specification list to be used for a cursor supporting a navigation-based model; 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 제 1 항에 있어서, 상기 제 2 단계는,The method of claim 1, wherein the second step, 주기억장치상의 데이터세트에 대한 접근 최적화를 통해, 항해할 대상 집합그룹을 결정하는 제 4 단계; 및A fourth step of determining a target group to navigate by optimizing access to a data set on the main memory; And 상기 결정된 대상 집합그룹 별로, 중첩/상속 구조에 따라 데이터세트를 재귀적으로 항해하여 조건절을 모두 만족하는 가장 최근의 데이터 형상을 정형화된 데이터세트로 구성하는 제 5 단계A fifth step of constructing the most recent data shape that satisfies all the conditional clauses as a formalized data set by recursively navigating the data set according to the overlapping / inheritance structure for each of the determined target group groups 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 제 1 항에 있어서, 상기 제 3 단계는,The method of claim 1, wherein the third step, 명세리스트내 별명으로부터 실제 객체식별자를 얻어오는 제 4 단계; 및A fourth step of obtaining an actual object identifier from an alias in the specification list; And 카타로그의 명세리스트에서 얻은 속성(attribute)의 오프셋(offset)과 크기(size)를 추출하여, 객체식별자와 조합하여 주기억장치상의 데이터세트의 실제 데이터에 접근하는 제 5 단계;Extracting an offset and a size of an attribute obtained from a catalog specification list and combining the object identifier with the object identifier to access actual data of the data set on the main memory; 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 제 3 항에 있어서, 상기 제 4 단계는,The method of claim 3, wherein the fourth step, 중첩된 구조를 허용하는 항해 기반 모델에서 기본 데이터세트에 존재하는 요소의 개수가 1개 이상인 객체식별자세트를 추출하여 집합그룹을 결정하는 제 6 단계; 및A sixth step of extracting an object identifier set having one or more elements present in the basic data set from the navigation-based model allowing the overlapping structure to determine the aggregation group; And 객체식별자세트는 아니지만 요소의 개수가 1개 이상인 객체식별자세트로의 출력 경로가 하나라도 존재하는 객체식별자를 추출하여 집합그룹을 결정하는 제 7 단계Step 7 of Determining a Set Group by Extracting an Object Identifier That Has One or More Output Paths to an Object Identifier Set That Is More Than One Object Identifier Set 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 제 3 항에 있어서, 상기 5 단계는,The method of claim 3, wherein the step 5, 현재의 집합그룹에 대해 항해가 가능할 경우, 항해를 종료하고 커서의 상태를 저장하는 제 6 단계;A sixth step of terminating the navigation and storing the state of the cursor when the navigation is possible for the current aggregation group; 현재의 집합그룹에 대해 항해가 가능하지 않을 경우, 항해 가능한 다음 집합그룹을 추출하는 제 7 단계;A seventh step of extracting the next navigable group group if the navigator is not available for the current group group; 상기 추출된 집합그룹내에서 실제 항해하면서 집합요소를 초기화하는 제 8 단계; 및An eighth step of initializing an aggregate element while actually navigating in the extracted aggregate group; And 집합그룹내에서 다음 항해 시점을 찾아 상기 제 6 단계 내지 제 8 단계를 반복적으로 수행하여 정형화된 데이터세트를 구성하는 제 9 단계The ninth step of finding a next navigation time within the group group and repeatedly performing the sixth to eighth steps to form a standardized data set 를 포함하는 항해기반 데이터 모델에 따른 중첩구조 데이터세트의 해석 및 변환 방법.Analysis and transformation method of the superstructure dataset according to the navigation-based data model comprising a. 삭제delete
KR10-2000-0087588A 2000-12-30 2000-12-30 Method of interpretation and transformation of nested dataset on navigation-based data model KR100413967B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087588A KR100413967B1 (en) 2000-12-30 2000-12-30 Method of interpretation and transformation of nested dataset on navigation-based data model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087588A KR100413967B1 (en) 2000-12-30 2000-12-30 Method of interpretation and transformation of nested dataset on navigation-based data model

Publications (2)

Publication Number Publication Date
KR20020059080A KR20020059080A (en) 2002-07-12
KR100413967B1 true KR100413967B1 (en) 2004-01-07

Family

ID=27690423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0087588A KR100413967B1 (en) 2000-12-30 2000-12-30 Method of interpretation and transformation of nested dataset on navigation-based data model

Country Status (1)

Country Link
KR (1) KR100413967B1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546571A (en) * 1988-12-19 1996-08-13 Hewlett-Packard Company Method of recursively deriving and storing data in, and retrieving recursively-derived data from, a computer database system
US5600829A (en) * 1994-09-02 1997-02-04 Wisconsin Alumni Research Foundation Computer database matching a user query to queries indicating the contents of individual database tables
US5617567A (en) * 1990-05-21 1997-04-01 Financial System Technology Pty. Ltd. Data processing system and method for retrieving and entity specified in a search path record from a relational database
US5835904A (en) * 1995-10-31 1998-11-10 Microsoft Corporation System and method for implementing database cursors in a client/server environment
US5864857A (en) * 1996-03-29 1999-01-26 Hitachi, Ltd. Method for processing multi-dimensional data
KR20000024179A (en) * 2000-01-26 2000-05-06 조민형 Korean Internet Natural Language Query Responsive Information Retrieval Engine.
US6085189A (en) * 1997-06-30 2000-07-04 International Business Machines Corporation Database system and method for supporting current of cursor updates and deletes from a select query from one or more updatable tables in single node and MPP environments
KR20010063878A (en) * 1999-12-24 2001-07-09 오길록 Method for controlling cursor on navigation-based dataset
KR20010075870A (en) * 2000-01-21 2001-08-11 오길록 Frame-partitioned parallel processing method for database retrieval using signature file

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546571A (en) * 1988-12-19 1996-08-13 Hewlett-Packard Company Method of recursively deriving and storing data in, and retrieving recursively-derived data from, a computer database system
US5617567A (en) * 1990-05-21 1997-04-01 Financial System Technology Pty. Ltd. Data processing system and method for retrieving and entity specified in a search path record from a relational database
US5600829A (en) * 1994-09-02 1997-02-04 Wisconsin Alumni Research Foundation Computer database matching a user query to queries indicating the contents of individual database tables
US5835904A (en) * 1995-10-31 1998-11-10 Microsoft Corporation System and method for implementing database cursors in a client/server environment
US5864857A (en) * 1996-03-29 1999-01-26 Hitachi, Ltd. Method for processing multi-dimensional data
US6085189A (en) * 1997-06-30 2000-07-04 International Business Machines Corporation Database system and method for supporting current of cursor updates and deletes from a select query from one or more updatable tables in single node and MPP environments
KR20010063878A (en) * 1999-12-24 2001-07-09 오길록 Method for controlling cursor on navigation-based dataset
KR20010075870A (en) * 2000-01-21 2001-08-11 오길록 Frame-partitioned parallel processing method for database retrieval using signature file
KR20000024179A (en) * 2000-01-26 2000-05-06 조민형 Korean Internet Natural Language Query Responsive Information Retrieval Engine.

Also Published As

Publication number Publication date
KR20020059080A (en) 2002-07-12

Similar Documents

Publication Publication Date Title
CN109522465A (en) The semantic searching method and device of knowledge based map
JPH08241231A (en) Method for solution of database dependency
Euzenat et al. Ontology alignments: an ontology management perspective
US8122003B2 (en) Request-based knowledge acquisition
KR20050020927A (en) Apparatus and method for searching data of structured document
KR102309249B1 (en) Apparatus and method for managing data based on data managing structure
CN110990406A (en) Fuzzy query method, device, equipment and medium
CN108932225B (en) Method and system for converting natural language requirements into semantic modeling language statements
CN112970011A (en) Recording pedigrees in query optimization
Pan et al. Natural language aided visual query building for complex data access
EP3407206B1 (en) Reconciled data storage system
CN116578724B (en) Knowledge base knowledge structure construction method and device, storage medium and terminal
JP3163141B2 (en) Relational database processing device and processing method
CN115329753B (en) Intelligent data analysis method and system based on natural language processing
KR100413967B1 (en) Method of interpretation and transformation of nested dataset on navigation-based data model
CN109241164A (en) A kind of data processing method, device, server and storage medium
JP5695586B2 (en) XML document search apparatus and program
JP2001222452A (en) Inquiry processing optimization device in relational data base system
De Virgilio et al. A unified framework for flexible query answering over heterogeneous data sources
Abel et al. Caching strategies for spatial joins
KR100319773B1 (en) Method for controlling cursor on navigation-based dataset
CN116756375B (en) Processing system of heterogeneous data based on atlas
CN116226686B (en) Table similarity analysis method, apparatus, device and storage medium
CN111159218B (en) Data processing method, device and readable storage medium
US11681700B1 (en) Methods and apparatuses for clustered storage of information

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
FPAY Annual fee payment

Payment date: 20081202

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee