KR20230106963A - Device, method and computer program for converting ndc schema of airline data - Google Patents

Device, method and computer program for converting ndc schema of airline data Download PDF

Info

Publication number
KR20230106963A
KR20230106963A KR1020220002757A KR20220002757A KR20230106963A KR 20230106963 A KR20230106963 A KR 20230106963A KR 1020220002757 A KR1020220002757 A KR 1020220002757A KR 20220002757 A KR20220002757 A KR 20220002757A KR 20230106963 A KR20230106963 A KR 20230106963A
Authority
KR
South Korea
Prior art keywords
ndc
schema
data
tree
converting
Prior art date
Application number
KR1020220002757A
Other languages
Korean (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 KR1020220002757A priority Critical patent/KR20230106963A/en
Publication of KR20230106963A publication Critical patent/KR20230106963A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

본 개시는 항공 데이터의 NDC(new distribution capability) 스키마를 변환하기 위한 장치, 방법 및 컴퓨터 프로그램에 관련된다. 일 실시예에서, 변환 장치는 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하고, 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신하도록 구성되는 통신 모듈; 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하도록 구성되는 제1 변환 모듈; 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하도록 구성되는 제2 변환 모듈; 및 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하도록 구성되는 제3 변환 모듈을 포함할 수 있다.The present disclosure is directed to converting a new distribution capability (NDC) schema of aviation data. It relates to devices, methods and computer programs. In one embodiment, the conversion device receives a conversion request for converting the flight data of the source NDC schema and the source NDC schema from the first device to the target NDC schema, and transmits the converted target NDC schema to at least one of the first device and the second device. a communication module configured to transmit aviation data of an NDC schema; A first transformation module configured to, in response to a transformation request, transform aviation data of a source NDC schema into first tree-structured data; a second conversion module, configured to convert the first tree-structured data into second tree-structured data; and a third conversion module configured to convert the second tree structure data into flight data of the target NDC schema.

Description

항공 데이터의 NDC 스키마를 변환하기 위한 장치, 방법 및 컴퓨터 프로그램 {DEVICE, METHOD AND COMPUTER PROGRAM FOR CONVERTING NDC SCHEMA OF AIRLINE DATA}Apparatus, method and computer program for converting NDC schema of aviation data {DEVICE, METHOD AND COMPUTER PROGRAM FOR CONVERTING NDC SCHEMA OF AIRLINE DATA}

본 개시는 항공 데이터의 NDC(new distribution capability) 스키마를 변환하기 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다. 보다 구체적으로, 본 개시는 룰 기반 알고리즘(rule based algorithm) 및/또는 인공 신경망 모델 기반의 Tree to Tree 번역 기능을 활용하여, 상이한 NDC 스키마 간의 통신이 가능하도록 하는 장치, 방법 및 컴퓨터 프로그램에 관련된다.The present disclosure is directed to converting a new distribution capability (NDC) schema of aviation data. It relates to devices, methods and computer programs. More specifically, the present disclosure utilizes a rule-based algorithm and/or a tree-to-tree translation function based on an artificial neural network model to enable communication between different NDC schemas. It relates to an apparatus, method, and computer program. .

여기에서 달리 언급하지 않으면 본 섹션에서 기술되는 내용은 본 출원에서의 청구범위의 선행 기술이 아니며, 본 섹션에 기재하였다는 이유로 선행 기술로 인정되어서는 안 된다.Unless otherwise stated herein, the subject matter described in this section is not prior art to the claims in this application and is not to be considered prior art by reason of being described in this section.

2015년 국제항공운송협회(IATA)에 의해 표준 제정된 NDC(new distribution capability)는 차세대 항공권 예약을 위해 구축한 XML/JSON 기반의 표준 프로토콜이다. 종래 사용되었던 GDS(global distribution system)는 시스템이 다소 노후되어 확장성이 떨어지고, 텍스트 형식의 제한된 정보 표현이 가능한 점 등 여러 기술적 한계를 보유하고 있었다. 또한, 소수의 GDS가 전체 항공 유통 시장을 독과점하여 과도한 예약 및 발권 수수료가 발생하는 것과 같은 경제 산업적 문제도 유발하였다.New distribution capability (NDC), established as a standard by the International Air Transport Association (IATA) in 2015, is an XML/JSON-based standard protocol built for next-generation airline ticket reservations. The conventionally used global distribution system (GDS) has several technical limitations, such as the fact that the system is somewhat outdated, its scalability is low, and limited information expression in text format is possible. In addition, a small number of GDSs monopolized the entire airline distribution market, causing economic and industrial problems such as excessive reservation and ticketing fees.

새로운 기술 표준인 NDC의 도입으로 항공 유통 구조가 개선되면, 사회적 후생 증대가 가능해지고, 확장된 프로토콜을 기반으로 하는 다양한 부가서비스 및 콘텐츠 제공을 통해 고객 만족 및 여행사의 추가 수익도 기대할 수 있을 것이다. 또한, 여행사와 항공사 간의 직거래를 통해 과도한 GDS 수수료를 탈피함으로써, 비용 구조도 개선될 수 있다. If the aviation distribution structure is improved with the introduction of the new technology standard, NDC, social welfare will be increased, and customer satisfaction and additional revenue from travel agencies will be expected through the provision of various additional services and contents based on the expanded protocol. In addition, the cost structure can be improved by avoiding excessive GDS fees through direct transactions between travel agencies and airlines.

이러한 이점에 힘입어 항공사와 여행사의 NDC 도입 수요가 높아지는 상황임에도 불구하고, 여전히 NDC 기반으로 개발된 항공 서비스 기술은 미미하고 기존 GDS 기반의 항공 서비스 기술이 대부분인 실정이다. 예컨대, "항공권 서비스 방법 및 이러한 항공권 서비스를 제공하는 장치"에 관한 선행 특허 문헌 1(한국 등록 특허 10-2007995호) 및 "휴리스틱 항공조회 시스템 및 그 제공방법"에 관한 선행 특허 문헌 2(한국 등록 특허 10-1558324호)는 모두 GDS를 기반으로 제공되는 서비스로서, NDC에 곧바로 적용되기는 어렵다. 이는 NDC 도입을 위해서는 GDS와는 달리 개별 항공사와의 일대일 연동 작업이 필요하기 때문이다.Thanks to these advantages, despite the situation where the demand for NDC introduction by airlines and travel agencies is increasing, the air service technology developed based on NDC is still insignificant, and the existing GDS-based air service technology is mostly the situation. For example, Prior Patent Document 1 (Korean Registered Patent No. 10-2007995) on "Airline ticket service method and device providing such air ticket service" and Prior Patent Document 2 (Korea Registered Patent Document) on "Heuristic Airline Inquiry System and Method for Providing It" Patent No. 10-1558324) is a service provided based on GDS, and it is difficult to apply it directly to NDC. This is because the introduction of NDC requires one-to-one interworking with individual airlines, unlike GDS.

KRKR 10-2007995 10-2007995 B1B1 KRKR 10-1558324 10-1558324 B1B1

본 개시는 항공 데이터의 NDC 스키마를 변환하기 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다. 구체적으로, 본 발명에서는 NDC 도입에 요구되는 항공사 개별 연동에 대한 문제를 Tree to Tree 번역 기능을 통해 간단한 설정만으로 서로 상이한 NDC 스키마 간의 통신이 가능하도록 해결함으로써, 서비스 구축 및 유지 관리에 필요한 비용 및 시간을 절감할 수 있다.The present disclosure is for converting the NDC schema of aviation data It relates to devices, methods and computer programs. Specifically, in the present invention, the cost and time required for service construction and maintenance are solved by solving the problem of airline individual interworking required for NDC introduction by enabling communication between different NDC schemas with a simple setting through a tree-to-tree translation function. can save

일 실시예에서, 항공 데이터의 NDC 스키마를 변환하기 위한 변환 장치가 설명된다. 변환 장치는 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하고, 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신하도록 구성되는 통신 모듈을 포함할 수 있다. 또한, 변환 장치는 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하도록 구성되는 제1 변환 모듈; 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하도록 구성되는 제2 변환 모듈; 및 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하도록 구성되는 제3 변환 모듈을 포함할 수 있다. In one embodiment, a conversion device for converting an NDC schema of aviation data is described. The conversion device receives a conversion request for converting the aviation data of the source NDC schema and the source NDC schema from the first device to the target NDC schema, and the converted aviation data of the target NDC schema in at least one of the first device and the second device. It may include a communication module configured to transmit. The conversion device may include a first conversion module configured to convert aviation data of a source NDC schema into first tree structure data in response to a conversion request; a second conversion module, configured to convert the first tree-structured data into second tree-structured data; and a third conversion module configured to convert the second tree structure data into flight data of the target NDC schema.

일 예시에서, 소스 NDC 스키마 및 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식일 수 있다.In one example, the source NDC schema and the target NDC schema may be XML or JSON based data formats.

일 예시에서, 변환 요청은 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 포함할 수 있다. 다른 예시에서, 변환 요청은 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 포함할 수 있다.In one example, the conversion request may include a request to convert a source NDC schema of a first NDC version to a target NDC schema of a second NDC version. In another example, the conversion request may include a request for converting the source NDC schema into an NDC schema used in the second device.

일 예시에서, 제2 변환 모듈은 적어도 부분적으로 룰 기반 알고리즘에 기초할 수 있다. 다른 예시에서, 제2 변환 모듈은 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초할 수 있다. 여기에서, 트리 인코더는 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩할 수 있다. 또한, 트리 디코더는 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩할 수 있다.In one example, the second transformation module may be based at least in part on a rule-based algorithm. In another example, the second transform module may be based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder. Here, the tree encoder may encode the first tree structure data into a context vector. Also, the tree decoder may decode the context vector into second tree structure data.

다른 실시예에서, 항공 데이터의 NDC 스키마를 변환하기 위한 변환 방법이 설명된다. 변환 방법은 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신할 수 있다. 또한, 변환 방법은 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 단계; 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 단계; 및 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하는 단계를 더 포함할 수 있다. 변환 방법은 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신하는 단계를 더 포함할 수 있다.In another embodiment, a conversion method for converting an NDC schema of flight data is described. The conversion method may receive, from the first device, a conversion request for converting aviation data of a source NDC schema and a source NDC schema into a target NDC schema. In addition, the conversion method may include converting aviation data of a source NDC schema into first tree structure data in response to a conversion request; converting the first tree structure data into second tree structure data; and converting the second tree structure data into aviation data of a target NDC schema. The conversion method may further include transmitting the converted aviation data of the target NDC schema to at least one of the first device and the second device.

일 예시에서, 소스 NDC 스키마 및 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식일 수 있다.In one example, the source NDC schema and the target NDC schema may be XML or JSON based data formats.

일 예시에서, 변환 요청을 수신하는 단계는 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 수신하는 단계를 포함할 수 있다. 다른 예시에서, 변환 요청을 수신하는 단계는 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 수신하는 단계를 포함할 수 있다.In one example, receiving the conversion request may include receiving a request to convert the source NDC schema of the first NDC version to the target NDC schema of the second NDC version. In another example, receiving the conversion request may include receiving a request for converting the source NDC schema into an NDC schema used in the second device.

일 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 단계는 적어도 부분적으로 룰 기반 알고리즘에 기초할 수 있다. 다른 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 단계는, 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여, 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하는 단계 및 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩하는 단계를 포함할 수 있다.In one example, converting the first tree-structured data to the second tree-structured data may be based at least in part on a rule-based algorithm. In another example, transforming the first tree-structured data into the second tree-structured data comprises encoding the first tree-structured data into a context vector based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder. and decoding the context vector into second tree structure data.

또 다른 실시예에서, 항공 데이터의 NDC 스키마를 변환하기 위하여, 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램이 설명된다. 컴퓨터 프로그램은 실행되면 컴퓨팅 장치로 하여금, 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하는 동작; 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 동작; 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 동작; 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하는 동작; 및 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신하는 동작을 실행가능하도록 하는 하나 이상의 컴퓨터 실행가능 명령어를 포함할 수 있다. In another embodiment, a computer program stored in a computer readable recording medium is described for converting an NDC schema of aviation data. The computer program, when executed, causes the computing device to receive, from the first device, a conversion request for converting aviation data of the source NDC schema and the source NDC schema into the target NDC schema; In response to the conversion request, converting aviation data of the source NDC schema into first tree structure data; converting the first tree-structured data into second tree-structured data; converting the second tree structure data into aviation data of a target NDC schema; and one or more computer executable instructions for executing an operation of transmitting the converted flight data of the target NDC schema to at least one of the first device and the second device.

일 예시에서, 변환 요청을 수신하는 동작은 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 수신하는 동작을 포함할 수 있다. 다른 예시에서, 변환 요청을 수신하는 동작은 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 수신하는 동작을 포함할 수 있다.In one example, receiving the conversion request may include receiving a request to convert the source NDC schema of the first NDC version to the target NDC schema of the second NDC version. In another example, receiving the conversion request may include receiving a request for converting the source NDC schema into an NDC schema used in the second device.

일 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 동작은 적어도 부분적으로 룰 기반 알고리즘에 기초할 수 있다. 다른 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 동작은, 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여, 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하는 동작 및 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩하는 동작을 포함할 수 있다. In one example, the operation of converting the first tree-structured data into the second tree-structured data may be based at least in part on a rule-based algorithm. In another example, converting the first tree-structured data into the second tree-structured data comprises encoding the first tree-structured data into a context vector based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder. It may include an operation of decoding the operation and the context vector into the second tree structure data.

이상의 간단한 요약 및 효과에 관한 설명은 단순히 예시적인 것으로서 본 개시에서 의도한 기술적 사항을 제한하기 위한 것이 아니다. 이하의 상세한 설명과 첨부된 도면을 참조함으로써, 전술한 예시적인 실시예들과 기술적 특징들에 더하여, 추가적인 실시예와 기술적 특징들이 이해될 수 있을 것이다.The above brief summary and description of effects are merely illustrative and are not intended to limit the technical details intended in the present disclosure. In addition to the foregoing exemplary embodiments and technical features, additional embodiments and technical features may be understood by referring to the following detailed description and accompanying drawings.

앞서 설명한 본 개시의 특징들과 기타 추가적인 특징들에 대해서는 첨부된 도면을 참조하여 이하에서 자세하게 설명한다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이며, 본 개시의 기술적 사상의 범위를 제한하는 것으로 간주되어서는 안 된다. 본 개시의 기술적 사상은 첨부된 도면을 사용하여 더 구체적이고 상세하게 기술될 것이다.
도 1은 NDC 애그리게이터의 기능을 개략적으로 설명하는 도면이다.
도 2는 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하기 위한 변환 장치를 도시하는 블록도이다.
도 3은 본 개시의 적어도 일부 실시예에 따르는, 트리 구조를 설명하는 도면이다.
도 4는 본 개시의 적어도 일부 실시예에 따르는, 트리 구조화된 항공 데이터 간의 변환을 설명하는 도면이다.
도 5는 본 개시의 적어도 일부 실시예에 따르는, 제2 변환 모듈의 인공 신경망 모델을 보다 상세하게 나타내는 도면이다.
도 6은 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하기 위한 일 예시적인 프로세스를 나타내는 흐름도이다.
도 7은 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품을 도시한다.
The features of the present disclosure described above and other additional features will be described in detail below with reference to the accompanying drawings. These drawings illustrate only a few embodiments according to the present disclosure and should not be considered as limiting the scope of the spirit of the present disclosure. The technical idea of the present disclosure will be described in more detail and detail using the accompanying drawings.
1 is a diagram schematically illustrating the function of an NDC aggregator.
2 is a block diagram illustrating a conversion apparatus for converting an NDC schema of aviation data, according to at least some embodiments of the present disclosure.
3 is a diagram illustrating a tree structure, in accordance with at least some embodiments of the present disclosure.
4 is a diagram illustrating conversion between tree-structured aerial data, in accordance with at least some embodiments of the present disclosure.
5 is a diagram illustrating an artificial neural network model of a second transformation module in more detail, according to at least some embodiments of the present disclosure.
6 is a flow diagram illustrating an example process for converting an NDC schema of aviation data, in accordance with at least some embodiments of the present disclosure.
7 illustrates an example computer program product that may be used to transform an NDC schema of air data, in accordance with at least some embodiments of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 구현예 및 실시예를 상세히 설명한다. 그러나, 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 구현예 및 실시예에 한정되지 않는다. Hereinafter, with reference to the accompanying drawings, embodiments and embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, this disclosure may be embodied in many different forms and is not limited to the embodiments and examples set forth herein.

본 개시는, 일반적으로 항공 데이터의 NDC 스키마를 변환하기 위한 장치, 방법 및 컴퓨터 프로그램을 제시한다. 보다 구체적으로, 본 개시는 룰 기반 알고리즘 및/또는 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델을 사용하여, 트리 구조화된 XML 또는 JSON 기반의 소스 NDC 스키마를 자동으로 타겟 NDC 스키마의 트리 구조로 신속하고 효율적으로 변환할 수 있는 장치, 방법 및 컴퓨터 프로그램을 설명한다.This disclosure is generally for converting the NDC schema of aviation data Devices, methods and computer programs are presented. More specifically, the present disclosure uses a rule-based algorithm and/or an artificial neural network model including a tree encoder and a tree decoder to automatically and quickly transform a tree-structured XML or JSON-based source NDC schema into a tree structure of a target NDC schema. A device, method, and computer program capable of converting efficiently are described.

도 1은 NDC 애그리게이터의 기능을 개략적으로 설명하는 도면이다. NDC 애그리게이터(aggregator)는 중간 집합자라고도 하며, 각 항공사의 서로 다른 NDC 표준을 취합(aggregating)하여 하나의 표준으로 통합 제공하는 서비스를 지칭한다. NDC의 도입을 위해서는 기본적으로 여행사와 항공사 간의 일대일 연동이 요구된다. 그런데 만일 도 1(a)에서와 같이 NDC 애그리게이터가 없는 경우라면, 각 항공사의 NDC 커스터마이징으로 인해 각 여행사는 현실적으로는 수 백여개의 항공사에 대한 개별 연동 작업이 필요하다. 뿐만 아니라, IATA에서는 매년 여러 신규 NDC 버전을 출시하고 있으며, 일정 기간의 유효 기간이 지난 후에는 업그레이드가 필요하다. 이에 대하여, 도 1(b)에서와 같이 NDC 애그리게이터가 존재한다면, 상이한 NDC 스키마 간의 통신을 가능하게 하여, 복수의 항공사와의 개별 연동에 대한 비용 및 시간 절감이 가능하며, NDC 버전의 업그레이드에 따른 유지관리 비용을 최소화할 수 있다. 본 발명에서는 NDC 애그리게이터 솔루션을 제공하기 위하여, 항공 데이터의 NDC 스키마를 변환하기 위한 변환 장치, 변환 방법 및 컴퓨터 프로그램을 구현한다.1 is a diagram schematically illustrating the function of an NDC aggregator. An NDC aggregator is also called an intermediate aggregator, and refers to a service that aggregates different NDC standards of each airline and provides them as one standard. In order to introduce NDC, one-to-one linkage between travel agencies and airlines is basically required. However, if there is no NDC aggregator as shown in FIG. 1 (a), each travel agency needs to work individually with hundreds of airlines due to the NDC customization of each airline. In addition, IATA releases several new NDC versions each year, and upgrades are required after a certain period of validity. On the other hand, if there is an NDC aggregator as shown in FIG. 1 (b), it is possible to reduce the cost and time for individual interworking with a plurality of airlines by enabling communication between different NDC schemas, and to upgrade the NDC version. maintenance costs can be minimized. In the present invention, in order to provide an NDC aggregator solution, a conversion device, a conversion method, and a computer program for converting the NDC schema of aviation data are implemented.

도 2는 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하기 위한 변환 장치(200)를 도시하는 블록도이다. 예시적인 변환 장치(200)는 통신 모듈(210), 제1 변환 모듈(220), 제2 변환 모듈(230), 제3 변환 모듈(240) 및 NDC 데이터베이스(DB)(250)를 포함할 수 있다. 일부 예시에서, 변환 장치(200)는 독립형 서버, 웹 서버 및 기타 데이터 송수신 기능, 데이터 식별 기능 및 데이터 처리 기능을 갖춘 임의의 컴퓨팅 장치일 수 있으며, 둘 이상의 컴퓨팅 장치를 네트워크 통해 연결하여 이용할 수 있다.2 is a block diagram illustrating a conversion apparatus 200 for converting an NDC schema of aviation data, according to at least some embodiments of the present disclosure. The exemplary conversion device 200 may include a communication module 210, a first conversion module 220, a second conversion module 230, a third conversion module 240, and an NDC database (DB) 250. there is. In some examples, the conversion device 200 may be a stand-alone server, a web server, and any other computing device having a data transmission/reception function, a data identification function, and a data processing function, and two or more computing devices may be connected and used through a network. .

통신 모듈(210)은 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신할 수 있다. 또한, 통신 모듈(210)은 후술하는 바와 같이, 변환 요청에 따라 변환 장치(200)의 제1 변환 모듈(220), 제2 변환 모듈(230) 및 제3 변환 모듈(240)을 거쳐 소스 NDC 스키마의 항공 데이터가 타겟 NDC 스키마의 항공 데이터로 변환되면, 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신할 수 있다. The communication module 210 may receive flight data of the source NDC schema and a conversion request for converting the source NDC schema into a target NDC schema from the first device. In addition, as will be described later, the communication module 210 passes through the first conversion module 220, the second conversion module 230, and the third conversion module 240 of the conversion device 200 according to the conversion request to source NDC. When aviation data of the schema is converted into aviation data of the target NDC schema, the converted aviation data of the target NDC schema may be transmitted to at least one of the first device and the second device.

본 발명은 일반적으로 NDC 애그리게이터 솔루션을 제공하기 위한 것으로, 제1 장치가 항공 서비스 제공자 장치(예컨대, 여행사 장치)인 경우 제2 장치는 항공사 장치일 수 있고, 반대로 제1 장치가 항공사 장치인 경우 제2 장치는 항공 서비스 제공자 장치(예컨대, 여행사 장치)일 수 있다. 여기에서, 항공 서비스 제공자 장치는 여행사 장치와 같이, 항공사 장치 외에 NDC 기반으로 항공 관련 서비스 기술을 제공하는 모든 엔티티를 지칭할 수 있다. 일부 예시에서, 제1 장치 및 제2 장치는 데스크 탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 휴대 전화기, 개인 휴대용 단말기(PDA), 특정 용도 장치, 또는 기능 중 임의의 것을 포함하는 융합 장치와 같은 소형 폼팩터 휴대용(모바일) 전자 장치를 포함하지만, 이에 제한되는 것은 아니다.The present invention is generally intended to provide an NDC aggregator solution, where the first device is an airline service provider device (eg, a travel agency device), the second device may be an airline device, and conversely, when the first device is an airline device The second device may be an air service provider device (eg, a travel agency device). Here, the air service provider device may refer to any entity that provides flight-related service technology on an NDC basis other than an airline device, such as a travel agency device. In some examples, the first device and the second device are a desktop computer, laptop computer, smartphone, tablet computer, cell phone, personal digital assistant (PDA), special purpose device, or convergence device that includes any of the functions small form factor portable (mobile) electronic devices such as, but are not limited to.

일 예시에서, 소스 NDC 스키마 및 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식일 수 있다. XML 또는 JSON 기반의 데이터 형식을 프로토콜로 사용할 경우, 전통적 항공 유통 체계인 GDS에서 사용된 인터페이스 방식인 TTY/EDIFACT 프로토콜에 비해 높은 확장성을 갖는다. 이에, NDC는 확장된 프로토콜을 기반으로 단순한 스케줄, 요금 뿐만 아니라 기내식, 좌석 지정, 수하물 등 각종 부가서비스 정보를 제공할 수 있다. In one example, the source NDC schema and the target NDC schema may be XML or JSON based data formats. When XML or JSON-based data format is used as a protocol, it has higher scalability compared to the TTY/EDIFACT protocol, which is an interface method used in GDS, a traditional air distribution system. Accordingly, the NDC can provide not only simple schedules and fares, but also various additional service information such as in-flight meals, seat assignments, and baggage based on an extended protocol.

소스 NDC 스키마의 항공 데이터는 일반적으로 변환이 필요한 NDC 스키마로 이루어진 항공과 관련된 모든 데이터를 지칭할 수 있다. 예컨대, 소스 NDC 스키마의 항공 데이터는 항공 스케줄 또는 항공권의 조회, 예약 및 발권에 관련된 데이터 뿐만 아니라, 여권 정보, 연락처 정보와 같은 각 항공 승객의 개인 정보를 포함할 수 있다. 타겟 NDC 스키마의 항공 데이터는 일반적으로 변환 목표가 되는 NDC 스키마의 항공 데이터로서, 소스 NDC 스키마의 항공 데이터의 NDC 버전을 업데이트하거나, 특정 장치에서 사용되는 NDC 스키마에 적합해지도록 변환한 형태의 항공 데이터를 지칭할 수 있다. Aviation data of the source NDC schema may generally refer to all data related to aviation composed of NDC schemas that require conversion. For example, the flight data of the source NDC schema may include personal information of each air passenger, such as passport information and contact information, as well as data related to flight schedule or ticket inquiry, reservation, and ticketing. The aviation data of the target NDC schema is generally the aviation data of the NDC schema that is the conversion target. The NDC version of the aviation data of the source NDC schema is updated, or the aviation data in a form converted to be suitable for the NDC schema used in a specific device. can be referred to

일부 예시에서, 각 항공 서비스 제공자 장치(예컨대, 여행사 장치)가 사용하는 NDC 스키마는 변환 장치(200)(예컨대, NDC 애그리게이터 장치)에서 제공하는 것일 수 있다. 또한, 각 항공사 장치가 사용하는 NDC 스키마는 각 항공사가 유효한 NDC 버전을 커스터마이징한 것일 수 있다. 이와 관련하여, 이하의 실시예들에서 보다 자세하게 설명될 것이다.In some examples, the NDC schema used by each air service provider device (eg, travel agency device) may be provided by the conversion device 200 (eg, the NDC aggregator device). In addition, the NDC schema used by each airline device may be a customized NDC version valid for each airline. In this regard, it will be described in more detail in the following embodiments.

일 실시예에서, 변환 요청은 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 포함할 수 있다. IATA 로부터 인증이 가능한 NDC 버전(예컨대, NDC 17.2, 18.1, 18.2, 19.1, 19.2, 20.1, 20.2, 21.1 등)은 다수 개 존재할 수 있다. IATA는 매년 하나 이상의 버전을 신규 배포하고 있으며, 배포 후 일정 기간 유효하기 때문에, 각 항공 서비스 제공자 장치 또는 항공사 장치는 사용 중인 소스 NDC 스키마의 NDC 버전을 업그레이드할 필요가 있다. 또한, 서비스 이용 및 제공을 위해, 각 항공 서비스 제공자 장치가 사용하는 NDC 버전을 특정 항공사 장치에서 사용하는 NDC 버전으로 변환하거나, 반대로 특정 항공사 장치가 사용하는 NDC 버전을 각 항공 서비스 제공자 장치가 사용하는 NDC 버전으로 변환해야 할 필요가 있다. 따라서, 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청은 변환된 타겟 NDC 스키마의 항공 데이터를 수신하는 장치에서 실제 이용하기 위한 NDC 버전으로 변환하는 것을 포함할 수 있다.In one embodiment, the conversion request may include a request to convert a source NDC schema of a first NDC version to a target NDC schema of a second NDC version. There may be a plurality of NDC versions (eg, NDC 17.2, 18.1, 18.2, 19.1, 19.2, 20.1, 20.2, 21.1, etc.) that can be certified by IATA. Since IATA releases one or more new versions each year and is valid for a certain period after release, each air service provider device or airline device needs to upgrade the NDC version of the source NDC schema in use. In addition, for service use and provision, the NDC version used by each air service provider device is converted to the NDC version used by a specific airline device, or conversely, the NDC version used by a specific airline device is converted to each air service provider device. You need to convert to the NDC version. Accordingly, a request for converting the source NDC schema of the first NDC version to the target NDC schema of the second NDC version may include converting the converted flight data of the target NDC schema into an NDC version for actual use in the receiving device. can

다른 실시예에서, 변환 요청은 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 포함할 수 있다. NDC는 항공사마다 커스터마이징이 일부 가능하기 때문에, 각 항공 서비스 제공자 장치는 타겟 항공사 장치와의 NDC 스키마 간의 통신을 위해 NDC 버전의 연동 이후에도 유지 관리가 필요할 수 있다. 즉, 서비스 이용 및 제공을 위해, 각 항공 서비스 제공자 장치가 사용하는 NDC 스키마를 특정 항공사 장치에서 사용하는 NDC 스키마로 변환하거나, 반대로 특정 항공사 장치가 사용하는 NDC 스키마를 각 항공 서비스 제공자 장치가 사용하는 NDC 스키마로 변환해야 할 필요가 있다. 따라서, 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청은 특정 NDC 버전에서 커스터마이징되어 제2 장치에서 실제로 이용되는 NDC 스키마로 변환하는 것을 포함할 수 있다.In another embodiment, the conversion request may include a request for converting the source NDC schema into an NDC schema used in the second device. Since the NDC can be partially customized for each airline, each air service provider device may require maintenance even after interworking of the NDC version for communication between the target airline device and the NDC schema. That is, in order to use and provide services, the NDC schema used by each air service provider device is converted into the NDC schema used by a specific airline device, or conversely, the NDC schema used by a specific airline device is converted to each air service provider device. You need to convert to NDC schema. Accordingly, the request for converting the source NDC schema to the NDC schema used in the second device may include converting to an NDC schema customized in a specific NDC version and actually used in the second device.

소스 NDC 스키마의 항공 데이터가 타겟 NDC 스키마의 항공 데이터로 변환되기 위해서 변환 장치(200)는 세 개의 변환 모듈(220, 230, 240)을 포함하여 세 번의 변환 프로세스를 거칠 수 있다. 우선 제1 변환 모듈(220)은 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환할 수 있다. 여기에서, 제1 트리 구조 데이터는 소스 NDC 스키마의 항공 데이터가 트리 구조화된 것이다. 일 예시에서, 제1 변환 모듈(220)은 다양한 알고리즘을 사용하여 구현될 수 있으며, 그 적어도 일부는 오픈 소스를 이용하여 개발될 수 있다.In order to convert aviation data of a source NDC schema into aviation data of a target NDC schema, the conversion device 200 may undergo three conversion processes including three conversion modules 220 , 230 , and 240 . First, the first conversion module 220 may convert aviation data of a source NDC schema into first tree structure data in response to a conversion request. Here, the first tree-structured data is tree-structured aviation data of the source NDC schema. In one example, the first conversion module 220 may be implemented using various algorithms, and at least some of them may be developed using open sources.

다음으로, 제2 변환 모듈(230)은 제1 트리 구조 데이터를 제1 트리 구조 데이터와 상이한 제2 트리 구조 데이터로 변환할 수 있다. 여기에서, 제2 트리 구조 데이터는 타겟 NDC 스키마의 항공 데이터가 트리 구조화된 것이다. 트리 구조 및 제2 변환 모듈(230)에서 트리 구조 데이터 간의 변환은 도 3 내지 5와 관련하여, 이하에서 보다 자세하게 설명될 것이다.Next, the second conversion module 230 may convert the first tree structure data into second tree structure data different from the first tree structure data. Here, the second tree-structured data is tree-structured aviation data of the target NDC schema. Conversion between the tree structure and the tree structure data in the second conversion module 230 will be described in more detail below with reference to FIGS. 3 to 5 .

마지막으로, 제3 변환 모듈(240)은 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환할 수 있다. 일 예시에서, 제3 변환 모듈(240)은 다양한 알고리즘을 사용하여 구현될 수 있으며, 그 적어도 일부는 오픈 소스를 이용하여 개발될 수 있다.Finally, the third conversion module 240 may convert the second tree structure data into aviation data of a target NDC schema. In one example, the third conversion module 240 may be implemented using various algorithms, and at least some of them may be developed using open sources.

변환 장치(200)는 각 NDC 버전의 NDC 스키마, 변환 장치(200)가 제공하는 NDC 스키마, 및/또는 각 항공 서비스 제공자 장치 또는 항공사 장치에서 실제로 이용하고 있는 NDC 버전과 그 커스터마이징된 형태를 저장하도록 구성되는 NDC 데이터베이스(250)를 포함할 수 있다. IATA, 변환 장치(200) 및/또는 각 항공사 장치에서 수신되고, NDC 데이터베이스(250)에 저장된 NDC 스키마는 요청 시에 또는 주기적/실시간으로 업데이트되어 저장될 수 있다. 따라서, 변환 장치(200)는 NDC 데이터베이스(250)에 저장된 NDC 스키마를 타겟 NDC 스키마로 하는 변환 프로세스를 신속하고 효율적으로 처리할 수 있다.The conversion device 200 stores the NDC schema of each NDC version, the NDC schema provided by the conversion device 200, and/or the NDC version actually used by each air service provider device or airline device and its customized form. It may include the configured NDC database 250. The NDC schema received from IATA, the conversion device 200 and/or each airline device and stored in the NDC database 250 may be updated and stored upon request or periodically/real-time. Accordingly, the conversion device 200 can quickly and efficiently process a conversion process of converting an NDC schema stored in the NDC database 250 into a target NDC schema.

도 3은 본 개시의 적어도 일부 실시예에 따르는, 트리 구조를 설명하는 도면이다. 일반적으로, 트리 구조는 하나 이상의 노드(예컨대, N1-N11) 및 노드와 노드 사이를 연결하는 에지를 포함할 수 있다. 트리의 최상위 노드(N1)는 루트 노드(root node)라고 지칭된다. 에지로 직접 연결된 노드 중에 상위 노드를 부모 노드(parent node), 하위 노드를 자식 노드(child node)라고 하는데, 예컨대, 노드 N2는 노드 N4-N6의 부모 노드가 되며, 노드 N7-N8은 노드 N3의 자식 노드가 된다. 어떤 노드의 자식 노드가 하나도 없다면, 즉 차수(degree)가 0인 경우, 이 노드를 리프 노드(leaf node)라고 지칭한다. 도 3의 트리에서, 리프 노드는 N4, N6, N7, N9, N10 및 N11이다. 루트 노드의 레벨을 0이라고 하면(L0), 하나의 층을 내려갈 때마다 레벨은 1씩 증가된다. 예컨대, 노드 N2 및 N3는 레벨 1(L1), 노드 N4-N8은 레벨 2(L2), 그리고 노드 N9-N11는 레벨 3이 된다.3 is a diagram illustrating a tree structure, in accordance with at least some embodiments of the present disclosure. In general, a tree structure may include one or more nodes (eg, N1-N11) and edges connecting nodes to nodes. The top node N1 of the tree is referred to as the root node. Among the nodes directly connected to the edge, the upper node is called the parent node, and the lower node is called the child node. For example, node N2 becomes the parent node of nodes N4-N6, and nodes N7-N8 become node N3 becomes a child node of If a node has no child nodes, i.e. if its degree is 0, it is called a leaf node. In the tree of Fig. 3, the leaf nodes are N4, N6, N7, N9, N10 and N11. Assuming that the level of the root node is 0 (L0), the level increases by 1 each time you go down one layer. For example, nodes N2 and N3 are level 1 (L1), nodes N4-N8 are level 2 (L2), and nodes N9-N11 are level 3.

기본적인 트리 구조를 이해한다면, 트리 구조화된 NDC 스키마의 항공 데이터를 표현할 수 있다. 일 예시로서, 도 4는 본 개시의 적어도 일부 실시예에 따르는, 트리 구조화된 항공 데이터 간의 변환을 설명하는 도면이다. 도 4(a)는 NDC 버전 18.1의 트리 구조 데이터의 일부를 예시하며, 도 4(b)는 NDC 버전 21.1의 트리 구조 데이터의 일부를 예시한다.If you understand the basic tree structure, you can represent aviation data in a tree-structured NDC schema. As an example, FIG. 4 is a diagram illustrating conversion between tree-structured aerial data, in accordance with at least some embodiments of the present disclosure. Figure 4 (a) illustrates part of the tree structure data of NDC version 18.1, Figure 4 (b) illustrates part of the tree structure data of NDC version 21.1.

도 4(a)를 참조하면, NDC 버전 18.1의 트리 구조 데이터는 OrderItem 노드를 부모 노드로 두 개의 자식 노드 Passport와 Passenger를 포함할 수 있다. Passport 노드는 다시 Nation, City, No를 자식 노드로 가지는데, 각각의 노드는 해당되는 인스턴스 값(instance value)을 가질 수 있다. Passenger 노드는 다시 Email, City, ID, Phone을 자식 노드로 가지며, 각각의 노드는 해당되는 인스턴스 값을 가질 수 있다. 여기에서, 트리 구조는 이진 트리로 제한되지 않으며, 셋 이상의 서브 트리를 포함할 수 있다.Referring to FIG. 4(a), tree structure data of NDC version 18.1 may include an OrderItem node as a parent node and two child nodes Passport and Passenger. The Passport node again has Nation, City, and No as child nodes, and each node may have a corresponding instance value. The Passenger node again has Email, City, ID, and Phone as child nodes, and each node can have a corresponding instance value. Here, the tree structure is not limited to a binary tree and may include three or more subtrees.

도 4(b)를 참조하면, NDC 버전 21.1의 트리 구조 데이터는 OrderOfferItem 노드를 부모 노드로 두 개의 자식 노드 Passenger와 DeliveryTo를 포함할 수 있다. Passenger 노드는 다시 Contact와 Info를 자식 노드로 가지며, 각각의 노드는 다시 복수의 자식 노드와 그에 해당되는 인스턴스 값을 가질 수 있다. 또한, DeliveryTo 노드는 다시 복수의 자식 노드(Street, City, Postal)와 그에 해당되는 인스턴스 값을 가질 수 있다. 여기에서, 트리 구조는 이진 트리로 제한되지 않으며, 셋 이상의 서브 트리를 포함할 수 있다.Referring to FIG. 4(b), tree structure data of NDC version 21.1 may include an OrderOfferItem node as a parent node and two child nodes Passenger and DeliveryTo. The Passenger node again has Contact and Info as child nodes, and each node can again have multiple child nodes and corresponding instance values. Also, the DeliveryTo node may have a plurality of child nodes (Street, City, Postal) and corresponding instance values. Here, the tree structure is not limited to a binary tree and may include three or more subtrees.

주목할 점은, 도 4(a)의 NDC 버전 18.1의 트리 구조 데이터와 도 4(b)의 NDC 버전 21.1의 트리 구조 데이터가 실제로 유사한 데이터를 나타내고 있음에도 불구하고, 그 트리 구조 및 인스턴스 값의 표현이 상이하다는 것이다. 예컨대, 도 4(a)의 OrderItem 노드와 도 4(b)의 OrderOfferItem 노드는 명칭과 데이터가 유사하여 매칭될 수 있지만, 세부적인 트리 구조 및 인스턴스 값은 상이하다. 동일한 승객의 연락처 정보의 경우에 있어서도, 도 4(a)에서는 [OrderItem 노드]-[Passenger 노드]-[Phone 노드]의 트리 구조에서 240-361-xxxx를 인스턴스 값으로 두고 있는 반면, 도 4(b)에서는 [OrderOfferItem 노드]-[Passenger 노드]-[Contact 노드]의 트리 구조에서 [Prefix 노드], [AreaNo 노드], [LocalNo 노드]에 나누어 각각 +1, 240, 361-xxxx를 인스턴스 값으로 두고 있다.It should be noted that although the tree structure data of NDC version 18.1 in FIG. 4(a) and the tree structure data of NDC version 21.1 in FIG. that it is different. For example, the OrderItem node of FIG. 4(a) and the OrderOfferItem node of FIG. 4(b) may be matched because names and data are similar, but the detailed tree structures and instance values are different. Even in the case of contact information of the same passenger, in FIG. In b), in the tree structure of [OrderOfferItem node]-[Passenger node]-[Contact node], it is divided into [Prefix node], [AreaNo node], and [LocalNo node], respectively +1, 240, 361-xxxx as instance values. are leaving

Tree to Tree 번역 기능을 활용한 트리 구조 데이터 간의 변환을 위해서는 유사한 데이터를 나타내는 노드 간의 매칭과, 트리 구조화된 NDC 스키마의 인스턴스 값 간의 변환이 원활하게 이루어져야 한다. 트리 구조화된 NDC 스키마는 트리 구조에서 정의된 형식을 벗어나지 못하게 되므로, NDC 스키마 간의 변환이 효율적일 뿐만 아니라 성능이 우수하다. 이러한, 트리 구조 데이터 간의 변환을 가능하게 하는 것이 변환 장치(200)에 포함되는 제2 변환 모듈(230)의 기능이다.For conversion between tree-structured data using the Tree-to-Tree translation function, matching between nodes representing similar data and conversion between tree-structured NDC schema instance values must be performed smoothly. Since the tree-structured NDC schema does not deviate from the format defined in the tree structure, conversion between NDC schemas is not only efficient, but also has excellent performance. It is the function of the second conversion module 230 included in the conversion device 200 to enable such conversion between tree-structured data.

일 예시에서, 제2 변환 모듈(230)은 적어도 부분적으로 룰 기반 알고리즘에 기초할 수 있다. 룰 기반 알고리즘을 사용할 경우, 유사한 노드들, 예컨대 명칭이 적어도 일부 중복되는 노드들 간에 매칭이 이루어져야 한다. 또한, 예컨대, 여러 규칙에 기초하여, 소스 NDC 스키마(예컨대, 도 4(a)의 NDC 버전 18.1)의 인스턴스 값을 타겟 소스 NDC 스키마(예컨대, 도 4(b)의 NDC 버전 21.1)에서 요구되는 형태의 인스턴스 값으로 변환할 수 있어야 한다. In one example, the second transformation module 230 may be based at least in part on a rules-based algorithm. In the case of using the rule-based algorithm, matching must be performed between similar nodes, for example, nodes whose names are at least partially overlapping. In addition, for example, based on several rules, the instance value of the source NDC schema (eg, NDC version 18.1 in FIG. It must be able to convert to an instance value of the type.

다른 예시에서, 제2 변환 모듈(230)은 적어도 부분적으로 인공 신경망 모델에 기초할 수 있다. 이와 관련하여, 도 5는 본 개시의 적어도 일부 실시예에 따르는, 제2 변환 모듈(230)의 인공 신경망 모델을 보다 상세하게 나타내는 도면이다. 인공 신경망 기반의 제2 변환 모듈(230)은 딥러닝 아키텍쳐의 설계에 따라 다양하게 구현될 수 있으며, 그 적어도 일부는 오픈 소스로 공개되어 있는 딥러닝 프레임워크를 이용하여 개발될 수 있다. 또한, 인공 신경망 기반의 제2 변환 모듈(230)은 딥러닝 기법을 적용하여 학습될 수 있다. 예컨대, 인공 신경망 기반의 제2 변환 모듈(230)은 하나의 트리 구조 데이터와 대응하는 상이한 트리 구조의 트리 구조 데이터의 세트를 사용하여 학습될 수 있다. In another example, the second transformation module 230 may be based at least in part on an artificial neural network model. In this regard, FIG. 5 is a diagram illustrating an artificial neural network model of the second transformation module 230 in more detail, according to at least some embodiments of the present disclosure. The artificial neural network-based second transformation module 230 may be implemented in various ways according to the design of a deep learning architecture, and at least a part thereof may be developed using a deep learning framework published as an open source. In addition, the artificial neural network-based second transformation module 230 may be trained by applying a deep learning technique. For example, the artificial neural network-based second transformation module 230 may be trained using one tree-structured data and a set of tree-structured data corresponding to different tree-structures.

인공 신경망 기반의 제2 변환 모듈(230)은 트리 인코더(510) 및 트리 디코더(520)를 포함할 수 있다. 트리 인코더(510)는 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩할 수 있다. 또한, 트리 디코더(520)는 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩할 수 있다. 구체적으로, 도 5에 도시된 바와 같이, 트리 인코더(510)는 입력으로부터 컨텍스트 벡터(예컨대, [x0, x1, …, xn])를 생성할 수 있다. 여기에서, 입력은 트리 구조화된 소스 NDC 스키마의 항공 데이터(즉, 제1 트리 구조 데이터)일 수 있다. 트리 디코더(520)는 컨텍스트 벡터에 기초하여 트리 구조화된 타겟 NDC 스키마의 항공 데이터(즉, 제2 트리 구조 데이터)를 출력할 수 있다.The artificial neural network-based second transformation module 230 may include a tree encoder 510 and a tree decoder 520. The tree encoder 510 may encode the first tree structure data into a context vector. Also, the tree decoder 520 may decode the context vector into second tree structure data. Specifically, as shown in FIG. 5 , the tree encoder 510 may generate a context vector (eg, [x 0 , x 1 , ..., x n ]) from the input. Here, the input may be aviation data (ie, first tree-structured data) of a tree-structured source NDC schema. The tree decoder 520 may output tree-structured aerial data (ie, second tree-structured data) of the target NDC schema based on the context vector.

도 5는 인공 신경망 기반의 제2 변환 모듈(230)이 트리 인코더(510) 및 트리 디코더(520)를 포함하는 것으로 개략적으로 예시하였으나, 그 외에도 예컨대, 트리 인코더(510) 및/또는 트리 디코더(520) 각각의 입력부에 배치될 수 있는 임베딩 층(도시되지 않음)이나, 복수의 LSTM(long short term memory) 유닛(도시되지 않음) 등 인공 신경망 기반의 제2 변환 모듈(230)을 구현하는 데 필수적인 구성 요소가 더 포함될 수 있다. 5 schematically illustrates that the artificial neural network-based second transformation module 230 includes a tree encoder 510 and a tree decoder 520, but in addition, for example, a tree encoder 510 and / or a tree decoder ( 520) To implement the artificial neural network-based second transformation module 230, such as an embedding layer (not shown) or a plurality of long short term memory (LSTM) units (not shown) that can be placed in each input unit Essential components may be further included.

이상과 같이, 본 개시에 따르는 인공 신경망 기반의 제2 변환 모듈(230)은 학습 데이터가 누적되어 모델 성능이 개선되면, 수동으로 트리 구조 간의 대응성을 검사하거나 룰 기반 알고리즘을 이용하는 경우에 비해 효율적이고, 오류를 현저하게 줄일 수 있다.As described above, the artificial neural network-based second transformation module 230 according to the present disclosure is more efficient than the case of manually checking correspondence between tree structures or using a rule-based algorithm when learning data is accumulated and model performance is improved. , and errors can be significantly reduced.

또한, 제2 변환 모듈(230)은 룰 기반 알고리즘 또는 Tree to Tree 인공 신경망 모델을 단독으로 사용할 수도 있고, 두 방식을 적절하게 조합하여 가장 효율적인 방식으로 사용할 수도 있다. In addition, the second transformation module 230 may use a rule-based algorithm or a tree-to-tree artificial neural network model alone, or may appropriately combine the two methods and use the most efficient method.

도 1 내지 도 5에서는 NDC 애그리게이터 솔루션의 관점에서 항공사 장치의 NDC 스키마와 항공 서비스 제공자 장치(예컨대, 여행사 장치)의 NDC 스키마 간의 Tree to Tree 번역 기능이 적용된 변환을 활용하는 예시에 대해 주로 설명하였으나, 본 발명에 따르는 변환 장치(200)는 NDC 기반으로 항공 관련 서비스 기술을 제공하는 두 엔티티가 상이한 NDC 스키마를 사용하는 모든 상황에서 사용할 수 있음은 물론이다.In FIGS. 1 to 5, an example of using a conversion applied with a Tree-to-Tree translation function between an NDC schema of an airline device and an NDC schema of an airline service provider device (eg, a travel agency device) from the viewpoint of an NDC aggregator solution has been mainly described. , Of course, the conversion device 200 according to the present invention can be used in all situations in which two entities providing aviation-related service descriptions based on NDC use different NDC schemas.

도 6은 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하기 위한 일 예시적인 프로세스(600)를 나타내는 흐름도이다. 예컨대, 프로세스(600)는 도 2의 변환 장치(200)와 같은 컴퓨팅 장치의 제어 하에서 수행될 수 있다. 도 6에 도시된 프로세스(600)는 블록(610, 620, 630, 640 및/또는 650)에 의해 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 6 is a flow diagram illustrating an example process 600 for converting an NDC schema of aviation data, in accordance with at least some embodiments of the present disclosure. For example, process 600 may be performed under the control of a computing device, such as conversion device 200 of FIG. 2 . Process 600 illustrated in FIG. 6 may include one or more actions, functions or actions as illustrated by blocks 610 , 620 , 630 , 640 and/or 650 .

다양한 블록은 설명된 실시예로 제한되도록 의도되지는 않는다. 예컨대, 당업자는 여기에서 개시된 본 프로세스에 대하여, 프로세스 및 방법에서 수행되는 기능이 상이한 순서로 구현될 수 있다는 것을 인정할 것이다. 한편, 도 6에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. The various blocks are not intended to be limited to the described embodiments. For example, those skilled in the art will recognize, given the subject processes disclosed herein, that the functions performed in the processes and methods may be implemented in a different order. Meanwhile, the schematic operations illustrated in FIG. 6 are provided only as examples, and some of the operations may be optional, combined with fewer operations, or extended with additional operations without departing from the essence of the disclosed embodiment. can

프로세스(600)는 소스 NDC 스키마의 항공 데이터 및 변환 요청을 수신하는 블록(S610)에서 시작할 수 있다. 블록(S610)에서, 컴퓨팅 장치는 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신할 수 있다. 여기에서, 소스 NDC 스키마 및 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식일 수 있다. 일 예시에서, 컴퓨팅 장치는 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 수신할 수 있다. 다른 예시에서, 컴퓨팅 장치는 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 수신할 수 있다.Process 600 may begin at block S610 with receiving air data of the source NDC schema and a conversion request. In block S610, the computing device may receive aviation data of the source NDC schema and a conversion request for converting the source NDC schema into the target NDC schema from the first device. Here, the source NDC schema and the target NDC schema may be XML or JSON-based data formats. In one example, a computing device may receive a request to convert a source NDC schema of a first NDC version to a target NDC schema of a second NDC version. In another example, the computing device may receive a request to convert the source NDC schema to the NDC schema used in the second device.

프로세스(600)는 블록(S610)에서, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 블록(S620)으로 이어질 수 있다. 블록(S620)에서, 컴퓨팅 장치는 제1 장치로부터 수신된 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환할 수 있다.Process 600 may continue from block S610 to block S620 of converting aviation data in the source NDC schema into first tree structured data. In block S620, the computing device may convert aviation data of the source NDC schema into first tree structure data in response to the conversion request received from the first device.

프로세스(600)는 블록(S620)에서 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 블록(S630)으로 이어질 수 있다. 블록(S630)에서, 컴퓨팅 장치는 제1 트리 구조 데이터를 제1 트리 구조 데이터와 상이한 제2 트리 구조 데이터로 변환할 수 있다. 일 예시에서, 컴퓨팅 장치는 적어도 부분적으로 룰 기반 알고리즘에 기초하여 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환할 수 있다. 다른 예시에서, 컴퓨팅 장치는 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여, 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하고, 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩할 수 있다. 또 다른 예시에서, 컴퓨팅 장치는 룰 기반 알고리즘 및 인공 신경망 모델을 적절하게 조합하여 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환할 수 있다.Process 600 may continue from block S620 to block S630 in which the first tree structure data is converted to second tree structure data. In block S630, the computing device may convert the first tree structure data into second tree structure data different from the first tree structure data. In one example, the computing device may convert the first tree-structured data to the second tree-structured data based at least in part on a rules-based algorithm. In another example, a computing device may encode a first tree structure data into a context vector and decode the context vector into a second tree structure data based at least in part on an artificial neural network model that includes a tree encoder and a tree decoder. . In another example, the computing device may convert the first tree-structured data into the second tree-structured data by appropriately combining a rule-based algorithm and an artificial neural network model.

프로세스(600)는 블록(S630)에서, 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하는 블록(S640)으로 이어질 수 있다. 블록(S640)에서, 컴퓨팅 장치는 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환할 수 있다. 일 예시에서, 타겟 NDC 스키마는 소스 NDC 스키마와는 상이한 NDC 버전일 수 있다. 다른 예시에서, 타겟 NDC 스키마는 제2 장치에서 이용되는 NDC 스키마일 수 있다. Process 600 may continue from block S630 to block S640 of converting the second tree structure data into aviation data of the target NDC schema. In block S640, the computing device may convert the second tree structure data into aviation data of the target NDC schema. In one example, the target NDC schema may be a different NDC version than the source NDC schema. In another example, the target NDC schema may be an NDC schema used in the second device.

프로세스(600)는 블록(S640)에서, 변환된 타겟 NDC 스키마의 항공 데이터를 송신하는 블록(S650)으로 이어질 수 있다. 블록(S650)에서, 컴퓨팅 장치는 필요에 따라 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신할 수 있다. 예컨대, 컴퓨팅 장치는 NDC 버전의 업그레이드를 요청한 제1 장치에 변환된 타겟 NDC 스키마의 항공 데이터를 전송하거나, 제1 장치가 항공 서비스 제공을 위해 통신하고자 하는 제2 장치에 직접 변환된 타겟 NDC 스키마의 항공 데이터를 전송할 수 있다.Process 600 may continue from block S640 to block S650 of transmitting air data of the converted target NDC schema. In block S650, the computing device may transmit the converted aviation data of the target NDC schema to at least one of the first device and the second device as needed. For example, the computing device transmits aviation data of the converted target NDC schema to a first device that has requested an upgrade of the NDC version, or transmits aviation data of the converted target NDC schema directly to a second device with which the first device wishes to communicate to provide aviation services. Aviation data can be transmitted.

이와 같이, 본 발명에 따르면 룰 기반 알고리즘과 인공 신경망 모델을 개별적으로 또는 조합하여 사용함으로써 트리 구조화된 XML 또는 JSON 기반의 NDC 스키마 간의 자동 변환을 가능케 하여, 신속하고 효율적으로 NDC 도입에 필요한 연동, 커스터마이징, 갱신 등의 문제를 해결할 수 있다.As such, according to the present invention, by using rule-based algorithms and artificial neural network models individually or in combination, automatic conversion between tree-structured XML or JSON-based NDC schemas is possible, enabling fast and efficient interworking and customization necessary for NDC introduction. , updates, etc.

도 7은 본 개시의 적어도 일부 실시예에 따르는, 항공 데이터의 NDC 스키마를 변환하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품(700)을 도시한다. 예시적인 컴퓨터 프로그램 제품(700)은 예컨대, 신호 포함 매체(702)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(700)의 신호 포함 매체(702)는 컴퓨터 판독 가능 매체(706), 기록 가능 매체(708) 및/또는 통신 매체(710)를 포함할 수 있다.7 depicts an example computer program product 700 that may be used to transform an NDC schema of air data, in accordance with at least some embodiments of the present disclosure. Example computer program product 700 is provided using, for example, a signal bearing medium 702 . In some embodiments, signal bearing medium 702 of one or more computer program products 700 may include computer readable medium 706 , recordable medium 708 and/or communication medium 710 .

신호 포함 매체(702)에 포함된 명령어(704)는, 예컨대, 도 1에 예시된 변환 장치(200)와 같은 컴퓨팅 장치에 의해 실행될 수 있다. 명령어(704)는 실행되면, 컴퓨팅 장치로 하여금 항공 데이터의 NDC 스키마를 변환하기 위한 프로세스를 수행하도록 할 수 있다.Instructions 704 included in signal bearing medium 702 may be executed by a computing device, such as, for example, conversion device 200 illustrated in FIG. 1 . When executed, the instructions 704 may cause the computing device to perform a process for converting the NDC schema of aviation data.

명령어(704)는 제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하는 적어도 하나의 명령어를 포함할 수 있다. 명령어(704)는 변환 요청에 응답하여, 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 적어도 하나의 명령어; 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 적어도 하나의 명령어; 및 제2 트리 구조 데이터를 타겟 NDC 스키마의 항공 데이터로 변환하는 적어도 하나의 명령어를 포함할 수 있다. 명령어(704)는 제1 장치 및 제2 장치 중 적어도 하나에 변환된 타겟 NDC 스키마의 항공 데이터를 송신하는 적어도 하나의 명령어를 포함할 수 있다. 여기에서, 소스 NDC 스키마 및 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식일 수 있다.The command 704 may include at least one command for receiving a conversion request for converting aviation data of the source NDC schema and the source NDC schema into the target NDC schema from the first device. The command 704 may include at least one command for converting aviation data of a source NDC schema into first tree structure data in response to a conversion request; at least one instruction for converting the first tree-structured data into second tree-structured data; and at least one command for converting the second tree structure data into aviation data of a target NDC schema. Instructions 704 may include at least one instruction for transmitting the converted aviation data of the target NDC schema to at least one of the first device and the second device. Here, the source NDC schema and the target NDC schema may be XML or JSON-based data formats.

일 예시에서, 변환 요청을 수신하는 적어도 하나의 명령어는 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 수신하는 적어도 하나의 명령어를 포함할 수 있다. 다른 예시에서, 변환 요청을 수신하는 적어도 하나의 명령어는 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 수신하는 적어도 하나의 명령어를 포함할 수 있다.In one example, the at least one instruction for receiving a conversion request may include at least one instruction for receiving a request to convert a source NDC schema of a first NDC version to a target NDC schema of a second NDC version. In another example, the at least one command for receiving the conversion request may include at least one command for receiving a request for converting the source NDC schema into the NDC schema used in the second device.

일 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 적어도 하나의 명령어는 적어도 부분적으로 룰 기반 알고리즘에 기초할 수 있다. 다른 예시에서, 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 적어도 하나의 명령어는 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여, 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하는 적어도 하나의 명령어 및 컨텍스트 벡터를 제2 트리 구조 데이터로 디코딩하는 적어도 하나의 명령어를 포함할 수 있다.In one example, the at least one instruction to transform the first tree structure data into the second tree structure data may be based at least in part on a rule based algorithm. In another example, the at least one instruction for transforming the first tree-structured data into the second tree-structured data is based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder to convert the first tree-structured data into a context vector. It may include at least one instruction for encoding and at least one instruction for decoding the context vector into the second tree structure data.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수도 있다.The above description of the present application is for illustrative purposes, and those skilled in the art will understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

이상, 본 개시에서 청구하고자 하는 대상에 대해 구체적으로 살펴보았다. 본 개시에서 청구된 대상은 앞서 기술한 특정 구현예로 그 범위가 제한되지 않는다. 예컨대, 어떤 구현예에서는 장치 또는 장치의 조합 상에서 동작 가능하게 사용되는 하드웨어의 형태일 수 있으며, 다른 구현예에서는 소프트웨어 및/또는 펌웨어의 형태로 구현될 수 있고, 또 다른 구현예에서는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. 여기서, CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 저장 매체는, 예컨대 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행될 때 앞서 설명한 구현예에 따라 해당 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 이러한 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.In the above, the object to be claimed in the present disclosure has been specifically examined. The subject matter claimed in this disclosure is not limited in scope to the specific implementations described above. For example, in some implementations it may be in the form of hardware operatively used on a device or combination of devices, in other implementations it may be implemented in the form of software and/or firmware, and in still other implementations it may be in the form of a signal bearing medium; It may include one or more items, such as storage media. Here, the storage medium, such as a CD-ROM, a computer disk, a flash memory, etc., when executed by a computing device, such as a computing system, a computing platform, or other system, may cause the corresponding processor to execute according to the implementation described above. can be saved. Such computing devices may include one or more processing units or processors, a display, one or more input/output devices such as a keyboard and/or mouse, and one or more memories such as static random access memory, dynamic random access memory, flash memory and/or hard drives. can include

한편, 시스템을 하드웨어로 구현할 것인지 아니면 소프트웨어로 구현할 것인지는, 일반적으로 비용 대비 효율의 트레이드오프를 나타내는 설계상 선택 문제이다. 본 개시에서는 프로세스, 시스템, 기타 다른 기술들의 영향을 받을 수 있는 다양한 수단(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.On the other hand, whether to implement the system as hardware or software is generally a design choice that represents a cost-effectiveness trade-off. In this disclosure, there are various means (eg, hardware, software, and/or firmware) that can be influenced by processes, systems, and other technologies, with preferred means being used by processes and/or systems and/or other technologies. will change depending on the context. For example, if the implementer determines that speed and correctness are most important, the implementer may choose a primarily hardware and/or firmware means; if flexibility is most important, the implementer may choose a primarily software implementation; Or, alternatively, implementers may choose any combination of hardware, software and/or firmware.

전술한 상세한 설명에서는 블록도, 흐름도 및/또는 기타 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 기타 예시는 하나 이상의 기능 및/또는 동작을 포함하게 되며, 당업자라면 블록도, 흐름도 및/또는 기타 예시 내의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 개별적으로 혹은 집합적으로 구현될 수 있다는 점을 이해할 수 있을 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 이와 달리, 본 개시의 실시예의 일부 양상은 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수도 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내에 속하는 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. In the foregoing detailed description, various embodiments of devices and/or processes have been described using block diagrams, flow diagrams, and/or other examples. Such block diagrams, flow diagrams, and/or other examples may include one or more functions and/or operations, and each function and/or operation in a block diagram, flow diagram, and/or other example may be hardware, software, firmware, or or any combination thereof, individually or collectively. In one embodiment, some portions of the subject matter described in this disclosure may be implemented via application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), or other forms of integration. In contrast, some aspects of embodiments of the present disclosure are directed to one or more computer programs running on one or more computers (eg, one or more programs running on one or more computer systems), one or more programs running on one or more processors (eg, one or more programs running on one or more computer systems). for example, one or more programs running on one or more microprocessors), firmware, or substantially any combination thereof, which may be implemented in whole or in part equivalently on an integrated circuit, writing code for software and/or firmware. and/or design of the circuit is within the skill of those skilled in the art in light of this disclosure. Further, those skilled in the art will understand that the mechanisms of the present disclosure may be distributed in various forms of program product, and the examples of the present disclosure apply regardless of the specific type of signal bearing medium used to actually perform the distribution. will understand

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 당업자라면, 청구된 대상에서 벗어남이 없이, 다양한 기타의 수정 또는 등가물로의 치환 가능성을 이해할 수 있다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.While certain exemplary techniques have been described and illustrated herein using a variety of methods and systems, those skilled in the art will appreciate the possibility of various other modifications or equivalent substitutions without departing from the claimed subject matter. Additionally, many modifications may be made to adapt a particular situation to the teachings of claimed subject matter without departing from the central concept described herein. Thus, it is intended that the claimed subject matter is not limited to the specific examples disclosed, but that such claimed subject matter may also include all implementations falling within the scope of the appended claims and their equivalents.

본 개시 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 본 개시 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다. 나아가, 본 개시 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본 개시에서 사용되는 정도의 용어 "약," "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. Throughout the present disclosure, when a part is said to be "connected" to another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element in between. do. In addition, throughout the present disclosure, when a member is said to be located “on” another member, this includes not only a case in which a member is in contact with another member, but also a case where another member exists between the two members. Furthermore, throughout the present disclosure, when a part “includes” a certain component, it means that it may further include other components without excluding other components unless otherwise stated. As used in this disclosure, the terms "about," "substantially," and the like are used at or approximating that number when manufacturing and material tolerances inherent in the stated meaning are given, and are intended to assist in the understanding of this disclosure. Accurate or absolute figures are used to prevent undue exploitation by unscrupulous infringers of the stated disclosure.

본 개시의 범위는 전술한 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위, 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the following claims rather than the foregoing detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof are construed as being included in the scope of the present application. It should be.

Claims (15)

항공 데이터의 NDC(new distribution capability) 스키마를 변환하기 위한 변환 장치로서,
제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 상기 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하고, 상기 제1 장치 및 제2 장치 중 적어도 하나에 변환된 상기 타겟 NDC 스키마의 항공 데이터를 송신하도록 구성되는 통신 모듈;
상기 변환 요청에 응답하여, 상기 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하도록 구성되는 제1 변환 모듈;
상기 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하도록 구성되는 제2 변환 모듈; 및
상기 제2 트리 구조 데이터를 상기 타겟 NDC 스키마의 항공 데이터로 변환하도록 구성되는 제3 변환 모듈
을 포함하는 변환 장치.
A conversion device for converting a new distribution capability (NDC) schema of aviation data,
Aviation data of a source NDC schema and a conversion request for converting the source NDC schema into a target NDC schema are received from the first device, and the aviation data of the target NDC schema converted in at least one of the first device and the second device a communication module configured to transmit;
In response to the conversion request, a first conversion module configured to convert aviation data of the source NDC schema into first tree-structured data;
a second conversion module configured to convert the first tree-structured data into second tree-structured data; and
A third conversion module configured to convert the second tree structure data into aviation data of the target NDC schema.
Conversion device comprising a.
제1항에 있어서,
상기 소스 NDC 스키마 및 상기 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식인, 변환 장치.
According to claim 1,
The source NDC schema and the target NDC schema are XML or JSON-based data formats, conversion device.
제1항에 있어서,
상기 변환 요청은 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 포함하는, 변환 장치.
According to claim 1,
The conversion request includes a request for converting a source NDC schema of a first NDC version into a target NDC schema of a second NDC version.
제1항에 있어서,
상기 변환 요청은 상기 소스 NDC 스키마를 상기 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 포함하는, 변환 장치.
According to claim 1,
The conversion request includes a request for converting the source NDC schema into an NDC schema used in the second device.
제1항에 있어서,
상기 제2 변환 모듈은 적어도 부분적으로 룰 기반 알고리즘에 기초하는 것인, 변환 장치.
According to claim 1,
wherein the second transformation module is based at least in part on a rule-based algorithm.
제1항에 있어서,
상기 제2 변환 모듈은 적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하고,
상기 트리 인코더는 상기 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하고,
상기 트리 디코더는 상기 컨텍스트 벡터를 상기 제2 트리 구조 데이터로 디코딩하는 것인, 변환 장치.
According to claim 1,
the second transform module is based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder;
The tree encoder encodes the first tree structure data into a context vector,
Wherein the tree decoder decodes the context vector into the second tree structure data.
항공 데이터의 NDC 스키마를 변환하기 위한 변환 방법으로서,
제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 상기 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하는 단계;
상기 변환 요청에 응답하여, 상기 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 단계;
상기 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 단계;
상기 제2 트리 구조 데이터를 상기 타겟 NDC 스키마의 항공 데이터로 변환하는 단계; 및
상기 제1 장치 및 제2 장치 중 적어도 하나에 변환된 상기 타겟 NDC 스키마의 항공 데이터를 송신하는 단계
를 포함하는 변환 방법.
As a conversion method for converting the NDC schema of aviation data,
Receiving aviation data of a source NDC schema and a conversion request for converting the source NDC schema into a target NDC schema from a first device;
In response to the conversion request, converting aviation data of the source NDC schema into first tree structure data;
converting the first tree structure data into second tree structure data;
converting the second tree structure data into aviation data of the target NDC schema; and
Transmitting converted aviation data of the target NDC schema to at least one of the first device and the second device.
Conversion method including.
제7항에 있어서,
상기 소스 NDC 스키마 및 상기 타겟 NDC 스키마는 XML 또는 JSON 기반의 데이터 형식인, 변환 방법.
According to claim 7,
The source NDC schema and the target NDC schema are XML or JSON-based data formats, conversion method.
제7항에 있어서,
상기 변환 요청을 수신하는 단계는 제1 NDC 버전의 소스 NDC 스키마를 제2 NDC 버전의 타겟 NDC 스키마로 변환하기 위한 요청을 수신하는 단계를 포함하는, 변환 방법
According to claim 7,
Receiving the conversion request comprises receiving a request for converting a source NDC schema of a first NDC version to a target NDC schema of a second NDC version.
제7항에 있어서,
상기 변환 요청을 수신하는 단계는 상기 소스 NDC 스키마를 제2 장치에서 이용되는 NDC 스키마로 변환하기 위한 요청을 수신하는 단계를 포함하는, 변환 방법.
According to claim 7,
Receiving the conversion request comprises receiving a request for converting the source NDC schema into an NDC schema used in a second device.
제7항에 있어서,
상기 제1 트리 구조 데이터를 상기 제2 트리 구조 데이터로 변환하는 단계는 적어도 부분적으로 룰 기반 알고리즘에 기초하는 것인, 변환 방법.
According to claim 7,
wherein the converting of the first tree-structured data to the second tree-structured data is based at least in part on a rules-based algorithm.
제7항에 있어서,
상기 제1 트리 구조 데이터를 상기 제2 트리 구조 데이터로 변환하는 단계는,
적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여,
상기 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하는 단계; 및
상기 컨텍스트 벡터를 상기 제2 트리 구조 데이터로 디코딩하는 단계를 포함하는, 변환 방법.
According to claim 7,
Converting the first tree structure data into the second tree structure data,
Based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder,
encoding the first tree structure data into a context vector; and
And decoding the context vector into the second tree structure data.
항공 데이터의 NDC 스키마를 변환하기 위하여, 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 실행되면 컴퓨팅 장치로 하여금,
제1 장치로부터 소스 NDC 스키마의 항공 데이터 및 상기 소스 NDC 스키마를 타겟 NDC 스키마로 변환하기 위한 변환 요청을 수신하는 동작;
상기 변환 요청에 응답하여, 상기 소스 NDC 스키마의 항공 데이터를 제1 트리 구조 데이터로 변환하는 동작;
상기 제1 트리 구조 데이터를 제2 트리 구조 데이터로 변환하는 동작;
상기 제2 트리 구조 데이터를 상기 타겟 NDC 스키마의 항공 데이터로 변환하는 동작; 및
상기 제1 장치 및 제2 장치 중 적어도 하나에 변환된 상기 타겟 NDC 스키마의 항공 데이터를 송신하는 동작
을 실행가능하도록 하는 하나 이상의 컴퓨터 실행가능 명령어를 포함하는, 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable recording medium to convert the NDC schema of aviation data, which, when executed, causes a computing device to:
Receiving flight data of a source NDC schema and a conversion request for converting the source NDC schema into a target NDC schema from the first device;
converting aviation data of the source NDC schema into first tree structure data in response to the conversion request;
converting the first tree-structured data into second tree-structured data;
converting the second tree structure data into aviation data of the target NDC schema; and
Transmitting converted aviation data of the target NDC schema to at least one of the first device and the second device.
A computer program stored on a computer-readable recording medium, including one or more computer-executable instructions for enabling execution.
제13항에 있어서,
상기 제1 트리 구조 데이터를 상기 제2 트리 구조 데이터로 변환하는 동작은 적어도 부분적으로 룰 기반 알고리즘에 기초하는 것인, 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
According to claim 13,
The computer program stored on a computer readable recording medium, wherein the converting of the first tree-structured data into the second tree-structured data is based at least in part on a rule-based algorithm.
제13항에 있어서
상기 제1 트리 구조 데이터를 상기 제2 트리 구조 데이터로 변환하는 동작은,
적어도 부분적으로 트리 인코더 및 트리 디코더를 포함하는 인공 신경망 모델에 기초하여,
상기 제1 트리 구조 데이터를 컨텍스트 벡터로 인코딩하는 동작; 및
상기 컨텍스트 벡터를 상기 제2 트리 구조 데이터로 디코딩하는 동작을 포함하는, 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
According to claim 13
The operation of converting the first tree structure data into the second tree structure data,
Based at least in part on an artificial neural network model comprising a tree encoder and a tree decoder,
encoding the first tree structure data into a context vector; and
A computer program stored in a computer readable recording medium comprising an operation of decoding the context vector into the second tree structure data.
KR1020220002757A 2022-01-07 2022-01-07 Device, method and computer program for converting ndc schema of airline data KR20230106963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220002757A KR20230106963A (en) 2022-01-07 2022-01-07 Device, method and computer program for converting ndc schema of airline data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220002757A KR20230106963A (en) 2022-01-07 2022-01-07 Device, method and computer program for converting ndc schema of airline data

Publications (1)

Publication Number Publication Date
KR20230106963A true KR20230106963A (en) 2023-07-14

Family

ID=87155425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220002757A KR20230106963A (en) 2022-01-07 2022-01-07 Device, method and computer program for converting ndc schema of airline data

Country Status (1)

Country Link
KR (1) KR20230106963A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101558324B1 (en) 2013-10-11 2015-10-13 주식회사 크루메이트 Method and system for heuristic airline searching
KR102007995B1 (en) 2018-12-18 2019-10-21 주식회사 쉐어밸류 Method of air ticket service and apparatus for providing the air ticket service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101558324B1 (en) 2013-10-11 2015-10-13 주식회사 크루메이트 Method and system for heuristic airline searching
KR102007995B1 (en) 2018-12-18 2019-10-21 주식회사 쉐어밸류 Method of air ticket service and apparatus for providing the air ticket service

Similar Documents

Publication Publication Date Title
US11550826B2 (en) Method and system for generating a geocode trie and facilitating reverse geocode lookups
US10032195B2 (en) System, method and computer program product for providing a fare analytic engine
Yang et al. Public transport connectivity and intercity tourist flows
US7711680B2 (en) Common common object
Eissfeldt Sustainable urban air mobility supported with participatory noise sensing
Sanz‐Blas et al. Guided tour influence on cruise tourist experience in a port of call: an eWOM and questionnaire‐based approach
Nam et al. Redesigning in-flight service with service blueprint based on text analysis
Pereira et al. CitySDK Tourism API-building value around open data
US20190370435A1 (en) Generating synthetic layout patterns by feedforward neural network based variational autoencoders
US20200134764A1 (en) Booking management system
Yao et al. Robust optimization of dynamic route planning in same‐day delivery networks with one‐time observation of new demand
US9547878B1 (en) Central reservation system availability engine
Winkler et al. Design and simulation of a digital twin mobility concept: an electric aviation system dynamics case study with capacity constraints
KR20150138822A (en) Content management system
Taghavi et al. A genetic algorithm for solving bus terminal location problem using data envelopment analysis with multi-objective programming
Ventura et al. Air transportation income and price elasticities in remote areas: The case of the Brazilian Amazon region
US10831790B2 (en) Location based data mining comparative analysis index
KR20230106963A (en) Device, method and computer program for converting ndc schema of airline data
Shrestha et al. An exploratory study on the role of ICT tools and technologies in tourism industry of Nepal
US20200372596A1 (en) Integrated object-centric service delivery system (osds) containers
US20200372597A1 (en) Method for object-centric service delivery
CN112307734A (en) XSLT template loading method and device and electronic equipment
Wahyutama et al. Comparison of machine learning algorithms to predict optimal dwelling time for package tour
US11100535B2 (en) Group recommendations based on external factors
Pardeshi m-Governance: Next Frontier in Governance from Indian Context

Legal Events

Date Code Title Description
E902 Notification of reason for refusal