KR100938226B1 - Method for storing data according to a size of asn.1 file - Google Patents
Method for storing data according to a size of asn.1 file Download PDFInfo
- Publication number
- KR100938226B1 KR100938226B1 KR1020080093726A KR20080093726A KR100938226B1 KR 100938226 B1 KR100938226 B1 KR 100938226B1 KR 1020080093726 A KR1020080093726 A KR 1020080093726A KR 20080093726 A KR20080093726 A KR 20080093726A KR 100938226 B1 KR100938226 B1 KR 100938226B1
- Authority
- KR
- South Korea
- Prior art keywords
- asn
- file
- data
- size
- info
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 데이터를 저장하는 방법에 관한 것으로서, 더 상세하게는 ASN.1 파일의 크기에 따라 소규모 ASN.1 파일(ASN.1을 사용하여 정의된 문서임)을 어레이 구조로 저장하는 방법에 관한 것이다. The present invention relates to a method for storing data, and more particularly, to a method for storing a small ASN.1 file (which is a document defined using ASN.1) in an array structure according to the size of the ASN.1 file. will be.
ASN.1은 Abstract Syntax Notation #1을 말하는 것으로서, 국제전기통신 연합(ITU)에서 정의한 네트워크상의 데이터 교환을 정의한 프로토콜로 X.680에 정의되어 있다. OSI 참조 모델에서 ASN.1은 네트워크 관리 시스템에 있는 관리되는 개체와 같이 데이터 구조를 기술하는데 사용되는 표시법이다.ASN.1 stands for Abstract
네트워크상에 존재하는 다양한 종류의 시스템들은 각각 데이터를 표현하는 독특한 방식을 가지고 있다. 따라서 네트워크 상에서 메시지를 교환하기 위해서는 모든 시스템에서 받아들일 수 있는 형태의 호환성있는 데이터 표현방식을 정의할 필요가 있다. 이러한 제반 환경에 의해서 ASN.1이 정의되었으며, 이 ASN.1에서는 Integer나 각종 String형태의 데이터를 비롯하여 그러한 ASN.1 content들의 모임인 Sequence나 Set등의 데이터 표현방식이 정의된다. 따라서, 대부분의 네트워크 상에서 교환되어지는 메시지들을 ASN.1 방식에 따라서 표현할 수 있게 되었다.The different kinds of systems on the network each have their own unique way of representing data. Thus, to exchange messages over a network, it is necessary to define a compatible data representation that is acceptable to all systems. In this environment, ASN.1 is defined. In this ASN.1, Integer or String-type data is defined, and the data representation method such as Sequence or Set, which is a collection of such ASN.1 contents, is defined. Therefore, messages exchanged on most networks can be represented according to the ASN.1 method.
그런데, 일반적으로 ASN.1 파일(ASN.1 문서라고도 할 수 있음)에 정의된 ASN.1 정보 객체들(Object)을 컴파일하는 과정에서 객체 상호간의 참조 관계, Data Type, 제약사항 등의 정보(Meta Data)가 저장되어야 하는데, 이는 컴파일러가 최종 출력물을 생성하는데 필수적으로 쓰이게 된다. 이 메타 데이터는 트리(tree)형태의 종속성을 가지기 때문에, 통상적으로 컴파일러는 트리 구조를 가지는 저장 구조체에 메타 데이터를 저장한다. However, in general, information such as reference relations, data types, and constraints between objects in the process of compiling ASN.1 information objects defined in the ASN.1 file (also referred to as ASN.1 document) Meta Data) must be stored, which is essential for the compiler to produce the final output. Since this metadata has a tree-type dependency, the compiler typically stores the metadata in a storage structure having a tree structure.
이와 같이 트리 구조는 컴파일러의 일반적인 정보저장 구조로 활용되고 있다. 그러나 트리 구조 방식으로 데이터를 저장하기 위해서는 비교적 많은 시스템 자원의 할당이 필요하며 처리 시간 역시 증가하게 된다. 이는 트리 정보를 구성하기 위한 필수 기능인 삽입, 삭제, 검색등의 기능 구현이 복잡하기 때문이다. As such, the tree structure is used as a general information storage structure of the compiler. However, in order to store data in a tree structure method, a relatively large amount of system resources need to be allocated, and processing time also increases. This is because complex implementation of functions such as insert, delete, and search, which are essential functions for configuring tree information, are complicated.
본 발명은 위에 기술된 종래 기술의 단점을 해결하고자 제안된 것으로서, ASN.1 파일을 효과적으로 저장하기 위한 방법을 제공하는데 그 목적이 있다. The present invention has been proposed to solve the disadvantages of the prior art described above, and an object thereof is to provide a method for effectively storing an ASN.1 file.
또한, ASN.1 파일을 저비용으로 저장하고, 컴파일 시간을 줄일 수 있는 방법을 제공하는데 다른 목적이 있다. Another object is to provide a way to save ASN.1 files at low cost and reduce compilation time.
이를 위해, 본 발명은 ASN.1 파일의 크기에 따른 데이터 저장 방법. 을 제공한다. 이 저장 방법은, ASN.1 파일을 읽어 들이는 단계와, ASN.1 파일의 크기가 설정값 이상인지를 확인하는 단계와, 설정값 이상이면 ASN.1 파일의 관련 정보를 일반적인 트리 구조로 저장하는 단계와, 설정값 이하이면 ASN.1 파일의 관련 정보를 어레이 테이블 구조로 저장하는 단계와, 저장된 관련 정보를 이용하여 ASN.1 파일을 컴파일함으로써 소스 및 헤더 파일을 생성하는 단계를 포함한다. To this end, the present invention is a data storage method according to the size of the ASN.1 file. To provide. This storage method includes the steps of reading an ASN.1 file, checking whether the size of the ASN.1 file is greater than or equal to the set value, and storing the relevant information of the ASN.1 file in a general tree structure if the size is larger than the set value. And storing the related information of the ASN.1 file in an array table structure if it is less than the set value, and generating a source and header file by compiling the ASN.1 file using the stored related information.
물론, 어레이 테이블 구조를 위해서는, 관련 정보를 트리 구조에 상응하는 동급 데이터와 구성요소로 구별하는 단계와, 현재 데이터를 기준으로 상기 현재 데이터로부터 동급 데이터 및 구성요소 중 적어도 하나까지의 소정 거리를 지정하는 단계가 포함될 수 있다. Of course, for the array table structure, distinguishing the relevant information into equivalent data and components corresponding to the tree structure, and designating a predetermined distance from the current data to at least one of the equivalent data and components based on the current data. A step may be included.
이때, 소정 거리는, 현재 데이터와 다음 동급 데이터 간의 거리, 또는 현재 데이터와 첫 번째 구성요소간의 거리가 될 수 있다. In this case, the predetermined distance may be a distance between the current data and the next equivalent data, or a distance between the current data and the first component.
따라서, 어레이 테이블 구조로부터 트리 구조로 재구성하는 것이 가능해 진다. Therefore, it becomes possible to reconstruct from the array table structure into the tree structure.
본 발명에 따르면, 본 발명은 컴파일하고자 하는 ANS.1 파일의 크기에 따라 중규모 이상의 ANS.1 파일은 트리 구조를 이용하여 저장을 수행하고, 소규모의 파 일인 경우 어레이 테이블에 메타 데이터를 저장함으로써 효율적으로 ANS.1의 문서를 저장할 수 있는 효과를 갖는다. According to the present invention, according to the present invention, according to the size of the ANS.1 file to be compiled, the ANS.1 file of medium size or more is stored using a tree structure, and in the case of a small file, the metadata is efficiently stored in an array table. This has the effect of saving a document from ANS.1.
또한, 본 발명은 ANS.1 파일의 크기에 따라 저장함으로써, 소규모 시스템 자원으로도 구현이 가능하며, 컴파일 시간을 줄일 수 있는 다른 효과를 갖는다.In addition, the present invention can be implemented as a small system resources by storing according to the size of the ANS.1 file, and has another effect of reducing the compilation time.
또한, 본 발명은 어레이 테이블 구조를 사용함으로써, 검색이 편리하고, 정보의 구조에 대한 논리 관계를 명확하게 파악할 수 있는 또 다른 효과가 있다. In addition, the present invention is advantageous in that the search is convenient by using the array table structure, and the logical relationship to the structure of the information can be clearly understood.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 기술하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 일반적으로 ASN.1 컴파일러를 이용하여 응용 프로그램을 개발하는 과정을 설명하는 도면이다. 이를 이해하기 쉽도록 순서 번호를 붙여 설명하면, 다음과 같다.1 is a diagram illustrating a process of developing an application program using an ASN.1 compiler in general. In order to make it easier to understand the sequence number is described as follows.
1) ASN.1 컴파일러(110)에 입력할 수 있도록 작성된 형태가 ASN.1 파일(즉 ASN.1 정의 문서)(100)이다. ASN.1 파일(100)은 국제 규격(ITU-T)에서 정의된 데이터 정의를 사용하거나 응용 프로그램 개발자가 자체 정의할 수 있다. 1) An ASN.1 file (ie, an ASN.1 definition document) 100 is created so that it can be input to the ASN.1
따라서, 응용 프로그램 개발자는 사용하고자 할 ASN.1 파일(100)을 작성하면, 이는 ANS.1 컴파일러(110)에 컴파일링될 수 있다. Therefore, when an application developer creates an ASN.1
2) ASN.1 컴파일러(110)는 ASN.1 파일(100)을 입력받아 이를 분석하여 관련 인코딩/디코딩 등 함수를 포함한 소스(.c) 파일 및 헤더(.h) 파일(120)을 생성한 다. 2) The ASN.1
보통, ASN.1 컴파일러는 ASN.1의 C 소스 코드 컴파일러가 된다. 즉, 이 컴파일러는 ASN.1의 소스 파일을 입력으로 취하며, 헤더(.h) 파일은 C typedefs를 포함하고, 소스(.c) 파일은 인코딩과 디코딩 함수들을 포함하게 된다. Normally, the ASN.1 compiler is the C source code compiler for ASN.1. That is, the compiler takes the source file of ASN.1 as input, the header (.h) file contains C typedefs, and the source (.c) file contains encoding and decoding functions.
3) 응용 프로그램 개발자는 ASN.1 컴파일러(110)가 생성한 함수를 바탕으로 하여 데이터 교환 패킷을 생성하고 해석하는 프로그램, 통신 흐름, 그리고 기타 필요한 프로그램을 작성할 수 있게 된다.3) The application developer can write a program, a communication flow, and other necessary programs that generate and interpret data exchange packets based on the functions generated by the ASN.1
4) 응용 프로그램 개발자는 타겟 시스템에 적합한 C 언어 컴파일러(130)를 사용하여 개발자가 직접 작성한 프로그램(121), ASN.1 컴파일러(110)가 생성한 소스(120), 그리고 데이터 처리 소프트웨어에서 제공한 라이브러리(122)를 함께 컴파일링하여 실행할 수 있는 응용 프로그램(140)을 생성한다. 4) The application program developer uses the
간단히 요약하자면, ASN.1 컴파일러(110)를 사용하는 경우, ASN.1 데이터에 관련한 인코딩/디코딩 함수를 자동으로 생성하며 해당 기능을 제공할 수 있는 프로그램의 수동 개발을 피하면서 개발 기간 단축 및 프로그램의 에러를 최대 줄일 수 있게 된다. In short, when using the ASN.1
즉, ASN.1 컴파일러는 사용자가 ASN.1을 이용하여 데이터 구성을 정의하는 ASN.1 파일을 생성하면 이것을 프로그램에서 적용할 수 있도록 파싱하여 원하는 프로그램 소스 형태로 생산하는 역할을 하게 된다. 즉, ASN.1 컴파일러 특성에 따라서 ASN.1 파일을 C, C++, Java, C#형태의 소스로 출력하고 응용 프로그램 개발자는 프로젝트에 해당 소스를 첨가형 프로그래밍하기만 하면 된다.That is, the ASN.1 compiler plays the role of parsing the ASN.1 file that defines the data structure using ASN.1 to produce it in the form of the desired program source. In other words, according to the ASN.1 compiler characteristics, ASN.1 files are output as C, C ++, Java, and C # sources, and application developers only need to program the sources in the project.
이제, 도 1의 이해를 바탕으로, 본 발명을 구현하기 위한 실시예를 설명하기로 한다. 도 2는 본 발명의 일실시예에 따른 ASN.1 파일의 크기에 따라 컴파일하는 과정을 보여주는 순서도이다. 이를 설명하면 다음과 같다. Based on the understanding of FIG. 1, an embodiment for implementing the present invention will now be described. 2 is a flowchart illustrating a process of compiling according to the size of an ASN.1 file according to an embodiment of the present invention. This is described as follows.
앞서 기술한 바와 같이, 도 1의 ASN.1 파일(100)이 작성되거나 제공되는 경우를 상정한다. 즉,국제 규격에서 정의된 데이터 정의를 사용하거나 응용 프로그램 개발자가 자체 정의할 수 있음을 상기하자. As described above, it is assumed that the ASN.1
도 1의 ASN.1 컴파일러(110)는 ASN.1 파일(100)을 읽어 들인다(단계 S200). 이때, ASN.1 파일(100)에 정의된 ASN.1 정보 객체들(Object)을 컴파일하는 과정에서 객체 상호간의 참조 관계, Data Type, 제약사항 등의 정보(Meta Data:메타데이터)를 저장하여야 하는데, 이들은 컴파일러가 최종 출력물을 생성하는데 필수적으로 쓰이게 된다. 이 메타 데이터는 트리 형태의 종속성을 가지기 때문에, 통상적으로는 컴파일러는 보통 트리 구조를 가지는 저장 구조체(이하에서는, 트리 저장 구조체라고 하자)에 메타 데이터를 저장한다. 이 트리 구조에 대한 예가 도 3에 도시된다. The ASN.1
따라서, 컴파일러(110)는 ASN.1 파일(100)이 큰 사이즈인지를 확인하는 과정을 거치게 된다(단계 S210). 만일 ASN.1 파일(100)의 사이즈가 크면(즉, 설정된 값 보다 큰 경우), 트리 저장 구조체에 메타 데이터를 저장하게 된다(단계 S211). 즉, 도 3에 도시된 트리 구조체 방식으로 메타 데이터가 저장된다. Therefore, the
이와 달리, 만일 ASN.1 파일(100)의 사이즈가 크지 않으면(즉, 설정된 값보다 작은 경우), 메타 데이터는 어레이 테이블 저장 구조체에 저장된다(단계 S220). 이를 보여주는 예가 도 4와 5에 도시된다. 즉, 도 3에 도시된 트리 구조를 어레이 구조로 표현하여, 메타 데이터를 저장하는 과정이 필요하게 되는데, 이에 대하여는, 본 발명의 명확하고 용이한 이해를 위해 후술하기로 한다. Alternatively, if the size of the ASN.1
트리 저장 구조체에 저장되든지 어레이 테이블 저장 구조체에 저장되든지, 메타 데이터의 저장이 완료되면, ASN.1 파일(100)에 대한 컴파일이 수행된다(단계 S230). Whether the data is stored in the tree storage structure or the array table storage structure, when the storing of the meta data is completed, compilation of the ASN.1
컴파일이 완료되면, 응용 프로그램에 사용될 수 있도록 파일 쓰기(write file)가 수행된다(단계 S240). 즉, 응용 프로그램에 적용할 수 있도록 파싱하여 원하는 프로그램 소스 형태로 생산하는 과정이 수행된다. 즉, ASN.1 컴파일러 특성에 따라 ASN.1 파일(100)을 C, C++, Java, C# 형태의 소스/헤더(120)가 생성된다. 따라서, 이 소스/헤더(120)를 해당 프로젝트에 적용하면, 본 발명의 구현이 가능하게 된다. When the compilation is completed, a write file is performed to be used for the application program (step S240). In other words, a process of parsing the application to an application program and producing it in the form of a desired program source is performed. That is, the source /
이제, 도 3 내지 도 5를 참조하여 본 발명의 특징인 ASN.1 파일의 사이즈가 소규모 크기인 경우, 어레이 테이블 방식으로 데이터를 저장하는 과정을 기술하기로 한다. 먼저, 이를 이해 하기 위해 데이터를 저장하는 일반적인 트리 구조를 보면, 도 3과 같다. 도 3은 본 발명의 일실시예에 따른 중대규모 크기인 ASN.1 파일을 저장하는 트리 구조를 보여주는 도면이다.3 to 5, a process of storing data in an array table method when the size of the ASCII file, which is a feature of the present invention, is small. First, a general tree structure for storing data to understand this is as shown in FIG. 3 is a diagram illustrating a tree structure for storing ASN.1 files of medium and large sizes according to an embodiment of the present invention.
즉, 최상위인 노드 0으로 시작하여, 이 노드 0으로부터, 노드 2와 노드 5가 하위 노드로 구성되고, 이 노드 2에는, 노드 2, 노드 3, 노드 4가 구성되고, 노드 5에는 노드 6, 노드 7로 구성된다. 물론, 도 3의 예는 이해를 위한 것으로, 하위노 드는 더 많이 구성될 수 있고, 이와 다른 트리 구조를 보일 수도 있다. 따라서, 본 발명은 이에 한정되지 않음을 당업자라면 이해할 수 있을 것이다. That is, starting with
도 3의 트리 구성을 참조하여, 어레이 테이블 방식으로 표현하기 위해 먼저 트리구조를 어레이 테이블로 표현하는 개념을 보면 다음 표 1과 같다. Referring to the tree structure of FIG. 3, the concept of first expressing a tree structure as an array table in order to express the array table is as shown in Table 1 below.
여기서, 구성요소는 포함관계가 있는 데이터를, 동급 데이터는 포함관계가 없는 데이터를 나타낸다. Here, the component represents data having an inclusion relationship, and the equivalent data represents data having no inclusion relationship.
위 표 1은 트리 구조를 어레이 테이블로 표현하기 위한 정의로 볼 수 있다. 그러므로, 이러한 정의를 이용하여 어레이 테이블을 구현하는 과정을 이해하기 쉽도록 도면으로 도시한 것이 도 4이다. Table 1 above can be seen as a definition for representing a tree structure as an array table. Therefore, FIG. 4 is a diagram to help understand the process of implementing the array table using this definition.
즉, 도 4는 본 발명의 일실시예에 따른 소규모 크기인 ASN.1파일을 저장하는 어레이 테이블과의 관계를 표시하는 표를 보여주는 도면이다. 이를 설명하면, 표 1에서, 구성요소의 경우, [1], [2], [6]은 "1"로 표시하는데, 이는 구성요소가 있음을 나타내고, [-]는 "0"으로 표시하는데 본 항목이 없음을 의미한다. 동급 데이터의 경우에는 [5] -> "4"가 되고, [3], [4], [7]은 "1"로 표시한다. 즉, 동급 데이터가 있고 거리가 가까우면 "1"로 표시한 것이다. 물론, [-]는 "0"으로 표시한다. 이는 이해를 위한 것으로서 본 발명은 이에 한정되지 않는다. That is, FIG. 4 is a table showing a relationship with an array table for storing ASN.1 files having a small size, according to an embodiment of the present invention. To illustrate this, in Table 1, for components, [1], [2], and [6] are denoted by "1", indicating that there is a component, and [-] by "0". This means that there is no item. In the case of equivalent data, it becomes [5]-> "4", and [3], [4], and [7] are represented by "1". In other words, if there is similar data and the distance is close, it is indicated as "1". Of course, [-] is represented by "0". This is for the purpose of understanding and the present invention is not limited thereto.
그러면, 위 과정을 프로그램으로 작성하여 구현하는 과정을 개략적으로 설명하기로 한다. Then, the process of creating and implementing the above process as a program will be described in outline.
먼저 테이블을 보면 다음과 같다. First, look at the table:
struct ASN1_INFO_Tablestruct ASN1_INFO_Table
{{
ASN1_INFO * asn1_info;ASN1_INFO * asn1_info;
int diff_neighbor;int diff_neighbor;
int diff_child;int diff_child;
}}
여기서, asn_info는 ASN.1 데이타 정보를 저장하는 변수이고, diff_neighbor 는 어레이 중 , 현재 데이타와 다음 동급 데이타간의 거리이고, diff_child는 어레이 중,현재 데이타와 첫 번쩨 구성 요소간의 거리를 정의한다. Here, asn_info is a variable that stores ASN.1 data information, diff_neighbor is the distance between the current data and the next equivalent data in the array, and diff_child defines the distance between the current data and the first component in the array.
물론, ASN 정의는 아래와 같다.Of course, the ASN definition is
A::= SEQUENCEA :: = SEQUENCE
{{
b B,b B,
f Ff F
}}
B::= SEQUENCEB :: = SEQUENCE
{{
c C,c C,
d D,d D,
e E e E
}}
F::= SEQUENCEF :: = SEQUENCE
{{
g G,g G,
h H h H
}}
즉, ASN 정의는 도 4에 도시된 트리 구조를 나타낸다. That is, the ASN definition represents the tree structure shown in FIG.
struct ASN1_INFO_Table * T =struct ASN1_INFO_Table * T =
{{
{asn1_info_A, 1, 0},{asn1_info_A, 1 , 0} ,
{asn1_info_B, 1, 4},{asn1_info_B, 1 , 4} ,
{asn1_info_C, 0, 1},{asn1_info_C, 0 , 1} ,
{asn1_info_D, 0, 1},{asn1_info_D, 0 , 1} ,
{asn1_info_E, 0, 0},{asn1_info_E, 0 , 0} ,
{asn1_info_F, 1, 0},{asn1_info_F, 1 , 0} ,
{asn1_info_G, 0, 1},{asn1_info_G, 0 , 1} ,
{asn1_info_H, 0, 0},{asn1_info_H, 0 , 0} ,
}}
A에 관련 정보는 다음과 같다.The relevant information in A is as follows.
struct ASN1_INFO_Table *A_info = &T+0;struct ASN1_INFO_Table * A_info = & T + 0;
B에 관련 정보는 다음과 같다:The relevant information in B is as follows:
struct ASN1_INFO_Table * B_info = &T+1;struct ASN1_INFO_Table * B_info = & T + 1;
F에 관련 정보는 다음과 같다:The relevant information in F is as follows:
struct ASN1_INFO_Table * F_info = &T+5;struct ASN1_INFO_Table * F_info = & T + 5;
즉, 구성요소가 있는 것만을 나타내면 되므로, 위와 같이 작성하면 된다. In other words, it is necessary to indicate only that there is a component, so the above can be written.
그러면, B를 이용하여, 전체 트리 구조를 재조구성할 수 있도록 하려면, B에 관련 정보asn1_info_B의 내용은 다음과 같다.Then, in order to be able to reconstruct the entire tree structure using B, the contents of the related information asn1_info_B in B are as follows.
struct ASN1_INFO_Table * B_info =struct ASN1_INFO_Table * B_info =
{{
{asn1_info_B, 1, 4},//B의 구성요소 및 동급 데이터에 대한 정보, 1이므로 구성요소가 있고 현재 위치에서 +4를 하면 동급 데이터에 대한 정보가 있음Information about the component and equivalent data of {asn1_info_B, 1, 4}, // B, and there is a component because it is 1, and +4 at the current position has information about the equivalent data.
{asn1_info_C, 0, 1},//B의 구성요소로서 동급 데이터가 1만큼 떨어진 곳에 있음Component of {asn1_info_C, 0 , 1} , // B, where equivalent data is 1 apart
{asn1_info_D, 0, 1},// B의 구성요소로서 동급 데이터가 1만큼 떨어진 곳에 있음Component of {asn1_info_D, 0 , 1} , // B, where equivalent data is 1 apart
{asn1_info_E, 0, 0},// B의 구성요소로서 동급 데이터가 없음{asn1_info_E, 0, 0}, // A component of B, no equivalent data
}}
즉, 이는 이해하기 쉽도록 개념적으로 나타내면 도 5와 같다. 즉, 도 5에 도시된 B만의 트리를 위의 "ASN1_INFO_Table * B_info" 구조체에 저장해 놓으면, 전체 트리 구조(즉, 도 3을 참조)를 도출할 수 있게 된다. That is, this is conceptually shown in FIG. 5 for easy understanding. That is, if the tree of only B shown in FIG. 5 is stored in the "ASN1_INFO_Table * B_info" structure above, the entire tree structure (ie, see FIG. 3) can be derived.
이상 첨부된 도면을 참조하여 본 발명의 일실시예를 기술하였으나, 기술된 실시예들은 단지 예시적인 것이며, 한정적이 아님을 이 기술분야의 당업자라면 이해할 것이다. 또한, 이 기술분야의 당업자라면 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서도 수많은 변형과 변경이 가능함을 이해할 것이다. 따라서, 본 발명의 한계는 청구범위에 기술된 내용과 이에 대한 균등물에 의해 정해 져야 할 것이다. While an embodiment of the present invention has been described above with reference to the accompanying drawings, it will be understood by those skilled in the art that the described embodiments are merely exemplary and not limiting. In addition, those skilled in the art will understand that the present invention can be modified and modified in many ways without changing the technical spirit or essential features. Therefore, the limitations of the present invention should be defined by the contents described in the claims and their equivalents.
도 1은 일반적으로 ASN.1 컴파일러를 이용하여 응용 프로그램을 개발하는 과정을 설명하는 도면이다.1 is a diagram illustrating a process of developing an application program using an ASN.1 compiler in general.
도 2는 본 발명의 일실시예에 따른 ASN.1 파일의 크기에 따라 컴파일하는 과정을 보여주는 순서도이다. 2 is a flowchart illustrating a process of compiling according to the size of an ASN.1 file according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 ASN.1 파일을 저장하는 일반적인 트리 구조를 보여주는 도면이다.3 is a diagram illustrating a general tree structure for storing an ASN.1 file according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 소규모 크기인 ASN.1 파일을 저장하는 어레이 테이블과의 관계를 표시하는 표를 보여주는 도면이다. 4 is a table showing a relationship with an array table storing an ASN.1 file having a small size according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 전체 트리 구조를 재구성하기 위한 일부 트리의 구조를 보여주는 도면이다. 5 is a diagram illustrating the structure of some trees for reconstructing the entire tree structure according to an embodiment of the present invention.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080093726A KR100938226B1 (en) | 2008-09-24 | 2008-09-24 | Method for storing data according to a size of asn.1 file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080093726A KR100938226B1 (en) | 2008-09-24 | 2008-09-24 | Method for storing data according to a size of asn.1 file |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100938226B1 true KR100938226B1 (en) | 2010-01-22 |
Family
ID=41810140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080093726A KR100938226B1 (en) | 2008-09-24 | 2008-09-24 | Method for storing data according to a size of asn.1 file |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100938226B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040050420A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | System for data processing of ASN.1 editor and method thereof |
-
2008
- 2008-09-24 KR KR1020080093726A patent/KR100938226B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040050420A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | System for data processing of ASN.1 editor and method thereof |
Non-Patent Citations (1)
Title |
---|
한국정보과학회 학술발표논문집한국정보과학회 1994년도 가을 학술발표논문집 제21권 제2호(B), pp.509-512 (4pages) 선창호(ChangHo Sun)외"ASN.1 인터프리터 설계및 구현"(1994. 10.) |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8997070B2 (en) | Extension mechanism for scripting language compiler | |
US5745897A (en) | Method and system for compiling management information base specifications | |
CN111666526A (en) | Page generation method, device, equipment and storage medium | |
CN102447585B (en) | Method and device for converting network configuration protocol response message into command line | |
US8667506B2 (en) | Object oriented management device for ASN.1 message | |
CN104484216A (en) | Method and device for generating service interface document and on-line test tool | |
US10666744B2 (en) | Managing discovery and selection of service interface specifications | |
US20110134939A1 (en) | Method for processing tlv format of communication data | |
CN102981941A (en) | Alarm handling method and alarm handling device | |
CN107609302B (en) | Method and system for generating product process structure | |
CN113515278A (en) | Low code model processing method, system, electronic device and storage medium | |
CN111338637A (en) | Code generation method and device | |
CN106713469B (en) | Dynamic loading method, device and system for distributed container | |
CN100511140C (en) | Method for script language calling multiple output parameter interface by component software system | |
US20200210488A1 (en) | Automatic resource management for build systems | |
CN111966340A (en) | Code generation method, device, equipment and medium based on Mybatis framework | |
CN111966718B (en) | System and method for data propagation tracking of application systems | |
CN112416612B (en) | Service calling method and device, computer equipment and readable storage medium | |
JP2014504469A (en) | Network element configuration management | |
CN116301813A (en) | Low-code platform development method and system | |
KR100938226B1 (en) | Method for storing data according to a size of asn.1 file | |
CN109947435A (en) | The dispositions method and system of server cluster software environment | |
CN103246671A (en) | Processing method and device for abstract syntax notation files | |
JP7059757B2 (en) | API processing method, terminal, API processing program | |
US20060253833A1 (en) | System and method for efficient hosting of wireless applications by encoding application component definitions |
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: 20130114 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140114 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160114 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170110 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190114 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191230 Year of fee payment: 11 |