KR20220074693A - Appratus for processing query and method thereof - Google Patents

Appratus for processing query and method thereof Download PDF

Info

Publication number
KR20220074693A
KR20220074693A KR1020210063251A KR20210063251A KR20220074693A KR 20220074693 A KR20220074693 A KR 20220074693A KR 1020210063251 A KR1020210063251 A KR 1020210063251A KR 20210063251 A KR20210063251 A KR 20210063251A KR 20220074693 A KR20220074693 A KR 20220074693A
Authority
KR
South Korea
Prior art keywords
query
data
processing
processing device
request
Prior art date
Application number
KR1020210063251A
Other languages
Korean (ko)
Other versions
KR102663509B1 (en
Inventor
강경태
박찬영
조윤수
유명환
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Publication of KR20220074693A publication Critical patent/KR20220074693A/en
Application granted granted Critical
Publication of KR102663509B1 publication Critical patent/KR102663509B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

쿼리 처리 시스템, 장치 및 방법에 관한 것으로, 쿼리 처리 시스템은 단말 장치, 상기 단말 장치와 통신 가능하게 연결된 쿼리 처리 장치 및 상기 쿼리 처리 장치와 통신 가능하게 연결되고 데이터의 저장 및 처리를 수행하는 데이터 처리 장치를 포함하고, 상기 쿼리 처리 장치는, 상기 단말 장치로부터 요청을 수신하고, 상기 단말 장치로부터 수신한 요청이 하나 또는 둘 이상의 쿼리를 포함하면, 상기 하나 또는 둘 이상의 쿼리 각각에 대해 상기 데이터 처리 장치의 처리 지원 여부를 판단하고, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 데이터 처리 장치의 미지원 쿼리이면, 상기 미지원 쿼리에 대한 처리를 수행하도록 마련된 것일 수 있다.It relates to a query processing system, apparatus, and method, the query processing system comprising a terminal device, a query processing device communicatively connected to the terminal device, and a data processing device communicatively connected to the query processing device and performing storage and processing of data an apparatus, wherein the query processing apparatus receives a request from the terminal apparatus, and when the request received from the terminal apparatus includes one or more queries, the data processing apparatus for each of the one or more queries It may be determined whether processing is supported, and if at least one of the one or more queries is an unsupported query of the data processing device, processing of the unsupported query may be performed.

Description

쿼리 처리 시스템, 장치 및 방법{APPRATUS FOR PROCESSING QUERY AND METHOD THEREOF}Query processing system, apparatus and method

쿼리 처리 시스템, 장치 및 방법에 관한 것이다.It relates to a query processing system, apparatus and method.

분석 또는 유통되는 데이터 양의 절대적 증가와 대량의 데이터(빅 데이터) 기반의 다양한 종류의 정보 통신 서비스의 발달에 따라, 이들 대량의 데이터를 처리 및 관리하기 위한 고도화된 하드웨어, 설비 및 소프트웨어의 필요성이 증가하고 있다. 근자에는 정보 통신 서비스의 제공은 데이터센터에 설치된 서버용 컴퓨터 장치(데이터 서버 등)나, 통신 장비나, 스토리지 장비 등을 이용하여 수행되는 것이 일반적이다. 데이터센터는, 통상 이러한 데이터센터 인프라의 관리 및 유지의 편의를 위한 시스템(서비스)를 이들 장치의 관리자나 사용자에게 제공하고 있다. 예를 들어, 서버용 컴퓨터 장치는 비엠씨(BMC: Baseboard Management Controller) 등과 같은 고도의 처리 장치가 설치되어 있는데, 관리자나 사용자는 소정의 인터페이스 서비스를 통해 비엠씨에 지시나 명령을 전달하여 서버용 컴퓨터를 관리 및 제어할 수 있게 된다. 지난 2015년 이러한 데이터센터 인프라의 효율적인 관리 및 범용적 사용을 위해 레드피쉬(Redfish) 표준이 제시, 출판 및 배포되었다. 레드피쉬 표준에 따른 애플리케이션 프로그래밍 인터페이스(API: Application Programming Interface, 이하 레드피쉬 에이피아이)는 바이오스, 주기억장치(램이나 롬 등), 하드디스크나 솔리드 스테이트 드라이브 등과 같은 보조기억장치 또는 시스템 버스 등의 장치나 부품을 사용자가 원하는 바로 제어할 수 있도록 다양한 쿼리를 지원하고 있다. 그러나, 레드피쉬 에이피아이의 쿼리 기능은 필수 지원 항목이 아니므로, 상당히 많은 데이터센터는 이들 레드피쉬 표준을 따르지 않거나 또는 일부만을 따르고 있으며, 이에 따라 레드피쉬 에이피아이의 다양한 쿼리 기능을 전혀 지원하지 않거나 일부만을 지원하고 있다. 이로 말미암아 데이터센터마다 지원하는 쿼리 기능이 상이하게 되어, 관리자 또는 사용자의 편의 및 데이터센터 인프라 관리의 효율성이 저하되고 있으며, 이는 유지 관리 비용의 증가로 이어지고 있다.With the absolute increase in the amount of data analyzed or distributed and the development of various types of information and communication services based on large amounts of data (big data), the need for advanced hardware, facilities and software to process and manage these large amounts of data is increasing. is increasing In recent years, provision of information and communication services is generally performed using computer devices for servers (data servers, etc.) installed in data centers, communication devices, storage devices, and the like. A data center generally provides a system (service) for the convenience of management and maintenance of such data center infrastructure to administrators or users of these devices. For example, a computer device for a server is equipped with a high-level processing device such as a BMC (Baseboard Management Controller). can be managed and controlled. In 2015, the Redfish standard was proposed, published, and distributed for efficient management and general use of such data center infrastructure. The application programming interface (API: Application Programming Interface, hereinafter Redfish API) according to the Redfish standard is a device such as a BIOS, main memory (RAM or ROM, etc.), auxiliary memory such as a hard disk or solid state drive, or a system bus. Various queries are supported so that the user can control the parts as desired. However, since the query function of Redfish API is not a required item to support, a significant number of data centers do not follow these Redfish standards or only some of them, and therefore do not support the various query functions of Redfish API at all or Only some are supported. As a result, the query function supported by each data center is different, which reduces the convenience of administrators or users and the efficiency of data center infrastructure management, which leads to an increase in maintenance costs.

사용자가 하나 이상의 쿼리 수행을 데이터 처리 장치에 요청하였으나, 데이터 처리 장치가 요청된 쿼리에 대응하는 동작 수행을 지원하지 않거나 또는 여러 이유로 그 동작의 수행이 불가능한 경우에도, 사용자가 요청된 쿼리에 대응하는 결과를 획득할 수 있도록 하는 쿼리 처리 시스템, 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.Even when the user requests the data processing device to perform one or more queries, the data processing device does not support the execution of the operation corresponding to the requested query or it is impossible to perform the operation for various reasons, the user may respond to the requested query SUMMARY OF THE INVENTION It is an object to be solved to provide a query processing system, apparatus and method for obtaining a result.

상술한 과제를 해결하기 위하여 후술하는 바와 같이 쿼리 처리 시스템, 장치 및 방법이 제공된다.In order to solve the above problems, a query processing system, apparatus and method are provided as described below.

쿼리 처리 시스템은, 단말 장치, 상기 단말 장치와 통신 가능하게 연결된 쿼리 처리 장치 및 상기 쿼리 처리 장치와 통신 가능하게 연결되고 데이터의 저장 및 처리를 수행하는 데이터 처리 장치를 포함하되, 상기 쿼리 처리 장치는, 상기 단말 장치로부터 요청을 수신하고, 상기 단말 장치로부터 수신한 요청이 하나 또는 둘 이상의 쿼리를 포함하면, 상기 하나 또는 둘 이상의 쿼리 각각에 대해 상기 데이터 처리 장치의 처리 지원 여부를 판단하고, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 데이터 처리 장치의 미지원 쿼리이면, 상기 미지원 쿼리에 대한 처리를 수행할 수 있다.The query processing system includes a terminal device, a query processing device communicatively connected to the terminal device, and a data processing device communicatively connected to the query processing device to store and process data, wherein the query processing device comprises: , when receiving a request from the terminal device, and when the request received from the terminal device includes one or more queries, it is determined whether the data processing device supports processing for each of the one or more queries, and the one Alternatively, if at least one of the two or more queries is an unsupported query of the data processing device, the unsupported query may be processed.

상기 쿼리 처리 장치는, 상기 데이터 처리 장치로부터 상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하고, 상기 미지원 쿼리를 이용하여 상기 미지원 쿼리의 처리를 위한 데이터를 처리할 수 있다.The query processing apparatus may receive data for processing the unsupported query from the data processing apparatus from the data processing apparatus, and process the data for processing the unsupported query by using the unsupported query.

상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 상기 미지원 쿼리가 제거된 요청을 상기 데이터 처리 장치로 전송하고, 상기 미지원 쿼리가 제거된 요청에 대응하는 상기 데이터 처리 장치의 응답을 분석하고, 분석 결과에 따라서 상기 데이터 처리 장치에 추가 요청을 더 전송할 수 있다.The query processing device transmits a request from which the unsupported query is removed among the one or more queries to the data processing device, and analyzes a response of the data processing device corresponding to the request from which the unsupported query is removed, and analysis According to the result, an additional request may be further transmitted to the data processing device.

상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송할 수 있다.When at least one of the one or more queries is a support query of the data processing device, the query processing device may transmit a processing request of the support query to the data processing device.

상기 쿼리 처리 장치는, 상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하되, 상기 미지원 쿼리의 처리를 위한 데이터는, 상기 데이터 처리 장치가 상기 지원 쿼리의 처리 결과에 따라 획득한 데이터를 포함하는 것도 가능하다.The query processing device is configured to receive data for processing the unsupported query from the data processing device, wherein the data for processing the unsupported query includes data obtained by the data processing device according to the processing result of the support query. It is also possible to include

상기 하나 또는 둘 이상의 쿼리는, 다른 데이터를 부가하여 데이터를 확장하기 위한 확장 쿼리, 조건에 대응하는 결과를 획득하기 위한 조건 쿼리, 결과의 일부를 선택하기 위한 선택 쿼리 및 상기 적어도 하나의 쿼리가 상기 쿼리 처리 장치와 상기 데이터 처리 장치 모두에 의해 처리가 지원되지 않는 처리 불가 쿼리 중 적어도 하나를 포함할 수 있다.The one or more queries include an extended query for extending data by adding other data, a conditional query for obtaining a result corresponding to a condition, a select query for selecting a part of the result, and the at least one query, and at least one of unprocessable queries for which processing is not supported by both the query processing device and the data processing device.

상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하면, 상기 하나 또는 둘 이상의 쿼리 중에서 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 해당하는 적어도 하나의 쿼리에 대한 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 의해 처리된 데이터를 수신하거나, 상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하지 않으면, 상기 하나 또는 둘 이상의 쿼리 중에서 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 해당하는 적어도 하나의 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하고, 상기 적어도 하나의 쿼리의 처리를 위한 데이터에 대해 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하거나, 또는 상기 적어도 하나의 쿼리가 처리 불가 쿼리를 포함하면, 상기 단말 장치로 처리 불가에 관한 메시지를 전송할 수 있다.The query processing device is configured to, if the one or more queries include at least one of the conditional query and the selection query, and the data processing device supports processing of any one of the conditional query and the selection query, the one or A processing request for at least one query corresponding to any one of the conditional query and the selection query among two or more queries is transmitted to the data processing device, and from the data processing device to any one of the conditional query and the selection query Upon receiving data processed by, or the one or more queries include at least one of the conditional query and the selection query, and the data processing device does not support processing of any one of the conditional query and the selection query, Receive data for processing at least one query corresponding to any one of the condition query and the selection query among the one or more queries from the data processing device, and receive data for processing the at least one query When any one of the condition query and the selection query is processed, or the at least one query includes a query that cannot be processed, a message regarding the inability to process may be transmitted to the terminal device.

상기 쿼리 처리 장치는, 상기 데이터 처리 장치가 상기 조건 쿼리를 미지원하고 상기 선택 쿼리를 지원하면, 상기 선택 쿼리에 대한 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 선택 쿼리에 의해 처리된 데이터를 수신하고, 상기 선택 쿼리에 의해 처리된 데이터를 기반으로 상기 조건 쿼리를 처리할 수 있다.The query processing device is configured to, when the data processing device does not support the condition query and supports the selection query, transmits a processing request for the selection query to the data processing device, from the data processing device by the selection query The processed data may be received, and the conditional query may be processed based on the data processed by the selection query.

상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하고, 상기 확장 쿼리의 처리를 위한 데이터의 수신에 응하여 상기 확장 쿼리 처리를 위한 데이터를 적어도 일 회 병합하는 것도 가능하다.If at least one of the one or more queries includes the extended query and the data processing device does not support the processing of the extended query, the data processing device receives data for processing the extended query from the data processing device. It is also possible to receive at least once, and merge the data for processing the extended query at least once in response to receiving the data for processing the extended query.

상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 더 포함하며 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 지원하면, 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 결과 중에서 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신할 수 있다.The query processing device may include, wherein at least one of the one or more queries includes the extended query, and further includes at least one of the conditional query and the selection query, wherein the data processing device includes at least one of the conditional query and the selection query. If one processing is supported, a processing request of at least one of the conditional query and the selection query is transmitted to the data processing device, and the expansion of the at least one processing result of the conditional query and the selection query from the data processing device Data for processing the query may be received at least once.

상기 쿼리 처리 장치는, 상기 단말 장치로부터 수신한 요청이 상기 적어도 하나의 쿼리를 포함하지 않는다면, 상기 단말 장치로부터 수신한 요청을 그대로 상기 데이터 처리 장치로 전송할 수도 있다.The query processing apparatus may transmit the request received from the terminal apparatus to the data processing apparatus as it is, if the request received from the terminal apparatus does not include the at least one query.

쿼리 처리 방법은, 데이터 처리 장치와 통신 가능하게 연결된 쿼리 처리 장치가 단말 장치로부터 요청을 수신하는 단계, 상기 쿼리 처리 장치가 상기 요청이 하나 또는 둘 이상의 쿼리를 포함하면, 상기 하나 또는 둘 이상의 쿼리 각각에 대해 상기 데이터 처리 장치의 처리 지원 여부를 판단하는 단계 및 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계를 포함할 수 있다.The query processing method includes: receiving a request from a terminal device by a query processing device communicatively connected to a data processing device; determining whether the data processing device supports the processing of may include

상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는, 상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하는 단계 및 상기 미지원 쿼리를 이용하여 상기 미지원 쿼리의 처리를 위한 데이터를 처리하는 단계를 포함하는 것도 가능하다.If at least one of the one or more queries is an unsupported query of the data processing device, the step of processing the unsupported query by the query processing device may include: transferring data for processing the unsupported query from the data processing device It may also include receiving and processing data for processing the unsupported query using the unsupported query.

쿼리 처리 방법은, 상기 하나 또는 둘 이상의 쿼리 중 상기 미지원 쿼리가 제거된 요청을 상기 데이터 처리 장치로 전송하는 단계, 상기 미지원 쿼리가 제거된 요청에 대응하는 상기 데이터 처리 장치의 응답을 분석하는 단계 및 분석 결과에 따라서 상기 데이터 처리 장치에 추가 요청을 더 전송하는 단계를 더 포함할 수도 있다.The query processing method includes: transmitting a request from which the unsupported query is removed among the one or more queries to the data processing device; analyzing a response of the data processing device corresponding to the request from which the unsupported query is removed; The method may further include transmitting an additional request to the data processing device according to the analysis result.

쿼리 처리 방법은, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송하는 단계를 더 포함할 수도 있다.The query processing method may further include, if at least one of the one or more queries is a support query of the data processing apparatus, transmitting a processing request of the support query to the data processing apparatus.

상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는, 상기 적어도 하나의 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하되, 상기 미지원 쿼리의 처리를 위한 데이터는, 상기 데이터 처리 장치가 상기 지원 쿼리의 처리 결과에 따라 획득한 데이터를 포함하는 단계를 포함할 수 있다.The processing of the unsupported query by the query processing device may include receiving data for processing the at least one unsupported query from the data processing device, wherein the data for processing the unsupported query includes: and including, by the device, data obtained according to a processing result of the support query.

상기 하나 또는 둘 이상의 쿼리는, 다른 데이터를 부가하여 데이터를 확장하기 위한 확장 쿼리, 조건에 대응하는 결과를 획득하기 위한 조건 쿼리, 결과의 일부를 선택하기 위한 선택 쿼리 및 상기 적어도 하나의 쿼리가 상기 쿼리 처리 장치와 상기 데이터 처리 장치 모두에 의해 처리가 지원되지 않는 처리 불가 쿼리 중 적어도 하나를 포함할 수 있다.The one or more queries include an extended query for extending data by adding other data, a conditional query for obtaining a result corresponding to a condition, a select query for selecting a part of the result, and the at least one query, and at least one of unprocessable queries for which processing is not supported by both the query processing device and the data processing device.

상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는, 상기 쿼리 처리 장치가, 상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하고 상기 조건 쿼리 및 상기 선택 쿼리 중 다른 하나의 처리를 지원하지 않으면, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하여 획득된 데이터를 상기 데이터 처리 장치로부터 수신하는 단계 및 상기 쿼리 처리 장치가, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하여 획득된 데이터에 대해 상기 조건 쿼리 및 상기 선택 쿼리 중 상기 다른 하나의 처리를 수행하는 단계를 포함할 수 있다.If at least one of the one or more queries is an unsupported query of the data processing device, the step of performing, by the query processing device, processing on the unsupported query may include: At least one of a conditional query and the selection query, wherein the data processing device supports processing of any one of the conditional query and the selection query and does not support processing of the other of the conditional query and the selection query, receiving, by the data processing device, data obtained by performing processing of any one of the conditional query and the selection query from the data processing device, by the data processing device, wherein the data processing device performs the conditional query and the selection The method may include performing the processing of the other one of the condition query and the selection query on data obtained by performing processing of any one of the queries.

쿼리 처리 방법은, 상기 쿼리 처리 장치가, 상기 적어도 하나의 쿼리가 처리 불가 쿼리를 포함하면, 상기 단말 장치로 처리 불가에 관한 메시지를 전송하는 단계를 더 포함할 수도 있다.The query processing method may further include the step of transmitting, by the query processing device, a message regarding processing inability to the terminal device when the at least one query includes a query that cannot be processed.

상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계 및 상기 확장 쿼리의 처리를 위한 데이터의 수신에 응하여 상기 확장 쿼리 처리를 위한 데이터를 적어도 일 회 병합하는 단계를 포함할 수도 있다.If at least one of the one or more queries is an unsupported query of the data processing device, the step of the query processing device processing the unsupported query may include: wherein if the data processing device does not support the processing of the extended query, receiving data for processing the extended query from the data processing device at least once and in response to receiving data for processing the extended query The method may include merging data for processing the extended query at least once.

상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 더 포함하며 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 지원하면, 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 요청을 상기 데이터 처리 장치로 전송하는 단계 및 상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 결과 중에서 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계를 포함할 수 있다.When at least one of the one or more queries includes the extended query and the data processing device does not support processing of the extended query, data for processing the extended query is received from the data processing device at least once The step is that at least one of the one or more queries includes the extended query, and further includes processing at least one of the conditional query and the select query, wherein the data processing device performs at least one of the conditional query and the select query. If processing of is supported, transmitting a processing request of at least one of the condition query and the selection query to the data processing device, and the expansion of the processing result of at least one of the condition query and the selection query from the data processing device It may include receiving data for processing the query at least once.

쿼리 처리 장치는, 단말 장치로부터 요청을 수신하는 통신부 및 상기 단말 장치로부터 수신한 요청이 적어도 하나의 쿼리를 포함하면, 상기 적어도 하나의 쿼리 각각에 대해 데이터 처리 장치의 처리 지원 여부를 판단하고, 상기 적어도 하나의 쿼리가 데이터 처리 장치의 미지원 쿼리이면, 상기 미지원 쿼리에 대한 처리를 수행하는 프로세서를 포함하되, 상기 통신부는 상기 적어도 하나의 쿼리가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송하도록 마련된 것일 수 있다.The query processing device includes a communication unit receiving a request from a terminal device, and when the request received from the terminal device includes at least one query, determining whether the data processing device supports processing of each of the at least one query, and If the at least one query is an unsupported query of the data processing device, comprising a processor that processes the unsupported query, wherein the communication unit processes the support query if the at least one query is a supported query of the data processing device It may be arranged to transmit a request to the data processing device.

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 사용자가 하나 이상의 쿼리 수행을 데이터 처리 장치에 요청하였으나, 데이터 처리 장치가 요청된 쿼리에 대응하는 동작 수행을 지원하지 않거나 또는 여러 이유로 그 동작의 수행이 불가능한 경우에도, 사용자가 요청된 쿼리에 대응하는 결과를 획득할 수 있는 효과가 존재한다.According to the query processing system, apparatus, and method described above, although the user requests the data processing device to perform one or more queries, the data processing device does not support performing the operation corresponding to the requested query or the execution of the operation is delayed for various reasons. Even in an impossible case, there is an effect that a user can obtain a result corresponding to a requested query.

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 각각의 벤더마다 상이한 쿼리 기능을 지원하여 각각의 벤더마다 사용할 수 있는 쿼리가 상이하게 제한된 경우에도 사용자는 원하는 쿼리를 사용하여 각각의 벤더로부터 요구하는 결과를 획득할 수 있게 되는 효과도 얻을 수 있다.According to the query processing system, apparatus, and method described above, each vendor supports different query functions, so even when queries that can be used by each vendor are differently limited, a user can use a desired query to obtain a result requested from each vendor It is possible to obtain the effect of obtaining .

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 사용자는 특정 벤더의 서비스 구조, 기준 또는 방식 등에 비종속적으로 다양한 종류의 하드웨어적 또는 소프트웨어적 클라이언트를 이용하여 서비스를 제공받을 수 있는 장점도 있다. According to the above-described query processing system, apparatus, and method, there is also an advantage that a user can receive a service using various types of hardware or software clients without being dependent on a service structure, standard, or method of a specific vendor.

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 백 엔드 장치에서의 쿼리 기능의 지원 여부에 따라서 쿼리 처리 과정의 전부 또는 일부를 백 엔드 장치에 할당하여 위임할 수 있게 됨으로써 쿼리 처리에 있어서 신속성, 효율성 및 경제성을 도모할 수 있게 되는 장점도 존재한다.According to the query processing system, apparatus, and method described above, all or part of the query processing process can be assigned and delegated to the back-end device depending on whether the back-end device supports the query function, so that the query processing can be performed quickly and efficiently. And there is also an advantage that can promote economic feasibility.

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 백 엔드 장치에 대한 기능의 추가 설치 없이도 사용자로부터 전달되는 다양한 종류의 쿼리를 처리할 수 있게 되므로, 데이터베이스 관리의 편의성 및 경제성이 향상되는 효과도 얻을 수 있다.According to the query processing system, apparatus, and method described above, it is possible to process various types of queries transmitted from users without additional installation of functions on the back-end device, so that the convenience and economic feasibility of database management can be improved. have.

상술한 쿼리 처리 시스템, 장치 및 방법에 의하면, 데이터센터 인프라의 관리자는 동일한 클라이언트 코드로도 다양한 벤더의 서비스를 제어할 수 있게 되는 이점도 존재한다.According to the query processing system, apparatus, and method described above, there is also an advantage that an administrator of a data center infrastructure can control services of various vendors with the same client code.

도 1은 쿼리 처리 시스템의 일 실시예에 대한 개요도이다.
도 2는 쿼리를 포함한 요청의 일례를 도시한 것이다.
도 3은 쿼리의 일례를 도시한 도표이다.
도 4는 쿼리 처리 장치의 일 실시예에 대한 블록도이다.
도 5는 지원쿼리판단부의 일 실시예에 대한 블록도이다.
도 6은 요청이 모두 미지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 7은 요청이 지원 쿼리를 포함하는 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 8은 요청이 조건 쿼리 및 선택 쿼리를 포함하되 조건 쿼리는 미지원 쿼리이고 선택 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 9는 요청이 확장 쿼리 및 선택 쿼리를 포함하되 확장 쿼리는 미지원 쿼리이고 선택 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 10은 요청이 확장 쿼리 및 조건 쿼리를 포함하되 확장 쿼리는 미지원 쿼리이고 조건 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 11은 요청이 둘 이상의 조건 쿼리를 포함하되 조건 쿼리 중 일부 쿼리만 미지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 12는 요청이 확장 쿼리를 포함하되 데이터 처리 장치가 확장 기능 중 일부만 지원하는 경우에 있어서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.
도 13은 쿼리 처리 방법의 일 실시예에 대한 제1 흐름도이다.
도 14는 쿼리 처리 방법의 일 실시예에 대한 제2 흐름도이다.
도 15는 쿼리 처리 방법의 일 실시예에 대한 제3 흐름도이다.
1 is a schematic diagram of one embodiment of a query processing system;
2 shows an example of a request including a query.
3 is a diagram illustrating an example of a query.
4 is a block diagram of an embodiment of a query processing apparatus.
5 is a block diagram of an embodiment of a support query determination unit.
6 is a diagram illustrating an example of the operation of the query processing system in the case where all requests are unsupported queries.
7 is a diagram illustrating an example of the operation of the query processing system when the request includes a support query.
8 is a diagram illustrating an example of an operation of a query processing system when a request includes a conditional query and a select query, wherein the conditional query is an unsupported query and the select query is a supported query.
9 is a diagram illustrating an example of an operation of a query processing system when a request includes an extended query and a select query, wherein the extended query is an unsupported query and the select query is a supported query.
10 is a diagram illustrating an example of an operation of a query processing system in a case in which a request includes an extended query and a conditional query, wherein the extended query is an unsupported query and the conditional query is a supported query.
11 is a diagram illustrating an example of the operation of the query processing system when a request includes two or more conditional queries, but only some of the conditional queries are unsupported queries.
12 is a diagram illustrating an example of the operation of the query processing system when a request includes an extended query but the data processing apparatus supports only some of the extended functions.
13 is a first flowchart of an embodiment of a query processing method;
14 is a second flowchart of an embodiment of a query processing method.
15 is a third flowchart of an embodiment of a query processing method.

이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 ‘부’가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 ‘부’가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 ‘부’가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 ‘부’가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다. 명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다. 제1이나 제2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.In the following specification, the same reference numerals refer to the same components unless otherwise specified. A term to which a 'unit' is added used below may be implemented in software or hardware, and according to an embodiment, one 'unit' may be implemented as one physical or logical part, or a plurality of 'units' may be implemented as one It is also possible to be implemented with physical or logical parts, or one 'unit' may be implemented with a plurality of physical or logical parts. Throughout the specification, when it is said that a certain part is connected to another part, it may mean a physical connection or electrically connected according to a certain part and another part. In addition, when it is said that a part includes another part, this does not exclude another part other than the other part unless otherwise stated, and it means that another part may be further included according to the designer's choice do. Terms such as first and second are used to distinguish one part from another, and unless otherwise specified, they do not mean sequential expressions. Also, the singular expression may include the plural expression unless the context clearly dictates otherwise.

이하 도 1 내지 도 12를 참조하여 쿼리 처리 장치 및 시스템의 여러 실시예에 대해서 설명하도록 한다.Hereinafter, various embodiments of the query processing apparatus and system will be described with reference to FIGS. 1 to 12 .

도 1은 쿼리 처리 시스템의 일 실시예에 대한 개요도이고, 도 2는 쿼리를 포함한 요청의 일례를 도시한 것이다. 도 3은 쿼리의 일례를 도시한 도표이다.1 is a schematic diagram of one embodiment of a query processing system, and FIG. 2 shows an example of a request including a query. 3 is a diagram illustrating an example of a query.

도 1에 도시된 바를 참조하면, 쿼리 처리 시스템(1)은, 일 실시예에 있어서, 적어도 하나의 단말 장치(99)와, 적어도 하나의 단말 장치(99)와 통신 가능하게 마련된 적어도 하나의 쿼리 처리 장치(100)와, 적어도 하나의 쿼리 처리 장치(100)와 통신 가능하게 마련된 적어도 하나의 데이터 처리 장치(200)를 포함할 수 있다. 단말 장치(99) 및 쿼리 처리 장치(100)는 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 기반으로 상호 간에 통신을 수행할 수 있고, 쿼리 처리 장치(100) 및 데이터 처리 장치(200)도 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 기반으로 상호 간에 통신을 수행할 수 있다. 무선 통신 네트워크는 근거리 통신 네트워크 및 원거리 통신 네트워크 중 적어도 하나를 포함할 수 있다. 여기서, 근거리 통신 네트워크는, 예를 들어, 와이파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(Bluetooth), 저전력 블루투스(Bluetooth Low Energy), 지그비(zigbee) 통신, 캔(CAN) 통신, 알에프아이디(RFID: Radio-Frequency IDentification) 및/또는 엔에프씨(NFC: Near Field Communication) 등의 통신 기술을 기반으로 구현된 네트워크를 포함할 수 있고, 원거리 통신 네트워크는, 예를 들어, 3GPP, 3GPP2, 와이브로 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 이동 통신 네트워크를 포함할 수 있다.Referring to FIG. 1 , the query processing system 1, according to an embodiment, includes at least one terminal device 99 and at least one query provided to communicate with the at least one terminal device 99 . The processing device 100 and at least one data processing device 200 provided to communicate with the at least one query processing device 100 may be included. The terminal device 99 and the query processing device 100 may communicate with each other based on a wired communication network, a wireless communication network, or a combination thereof, and the query processing device 100 and the data processing device 200 also Communication may be performed with each other based on a wired communication network, a wireless communication network, or a combination thereof. The wireless communication network may include at least one of a short-range communication network and a telecommunication network. Here, the short-range communication network is, for example, Wi-Fi, Wi-Fi Direct, Bluetooth, Bluetooth Low Energy, Zigbee communication, CAN. Communication, RFID (Radio-Frequency IDentification) and/or NFC (Near Field Communication) may include a network implemented based on a communication technology such as, etc., the telecommunication network, for example, 3GPP , may include a mobile communication network implemented based on a mobile communication standard such as 3GPP2, WiBro or WiMAX series.

단말 장치(99)는, 도 2 및 도 3에 도시된 바와 같이 하나 또는 둘 이상의 요청(R1, 이하 제1 요청)이나, 프로그램(앱, 애플리케이션 또는 소프트웨어 등으로 지칭 가능함)이나, 적어도 하나의 데이터(예를 들어, 인증을 위한 정보 등) 등을 쿼리 처리 장치(100)로 전달할 수 있다. 하나 또는 둘 이상의 제1 요청(R1)은 데이터 처리 장치(200) 등의 사용자나 관리자의 수동 조작에 따라 단말 장치(99)에 입력된 것이거나, 단말 장치(99)에 사전에 저장된 것이거나 및/또는 별도의 다른 장치(일례로 휴대용 메모리 장치 등)로부터 수신된 것일 수도 있다. 또한, 단말 장치(99)는 쿼리 처리 장치(100) 및 데이터 처리 장치(200) 중 적어도 하나의 쿼리 처리에 따른 처리 결과(R4, 예를 들어, 필터링 또는 확장된 일 군의 데이터 등, 이하 최종 응답이라 칭함)를 시각적 또는 청각적으로 외부로 출력하거나, 처리 결과를 기반으로 새로운 연산 처리를 더 수행하거나 및/또는 단말 장치(99)에 연결된 다른 장치(예를 들어, 모니터 장치나, 프린터 장치나, 다른 단말 장치(미도시) 등)로 전기적 신호의 형태로 전달할 수도 있다. 이외에도 단말 장치(99)는 미리 정의된 바에 따라 다양한 동작을 더 수행할 수도 있다. As shown in FIGS. 2 and 3 , the terminal device 99 includes one or more requests (R1, hereinafter, the first request), a program (which may be referred to as an app, an application, or software, etc.), or at least one data (eg, information for authentication, etc.) may be transmitted to the query processing device 100 . One or more of the first requests R1 are input to the terminal device 99 according to a manual operation of a user or an administrator such as the data processing device 200, or are stored in advance in the terminal device 99, and / or it may be received from another device (eg, a portable memory device, etc.). In addition, the terminal device 99 provides a processing result R4 according to the query processing of at least one of the query processing device 100 and the data processing device 200, for example, a group of filtered or expanded data, etc., hereinafter final (referred to as a response) to the outside, visually or aurally, further perform new arithmetic processing based on the processing result, and/or another device connected to the terminal device 99 (eg, a monitor device or a printer device) Alternatively, it may be transmitted in the form of an electrical signal to another terminal device (not shown). In addition, the terminal device 99 may further perform various operations according to a predefined bar.

단말 장치(99)가 전달하는 하나 또는 둘 이상의 제1 요청(R1)은, 실시예에 따라서 구문 형태를 가질 수 있으며, 상황에 따라 하나 또는 둘 이상의 쿼리(q1 내지 q4)를 단독으로 또는 조합하여 포함할 수도 있고, 또는 어떠한 쿼리(q1 내지 q4)도 포함하지 않을 수도 있다. 하나 또는 둘 이상의 쿼리(q1 내지 q4)는 데이터 등의 제시, 검색, 조합 및/또는 가공 등과 같이 사용자나 관리자가 원하는 처리에 대한 수행 요청으로, 도 2에 도시된 바와 같이 텍스트(문자, 기호, 숫자 또는 이들의 조합)의 형태로 구현될 수 있다. 도 2에 도시된 바와 같이 하나 또는 둘 이상의 제1 요청(R1)이 둘 이상의 쿼리(q1 내지 q4)의 조합으로 형성된 경우, 제1 요청(R1)은 두 개의 쿼리(q1 내지 q4)를 연결하기 위한 적어도 하나의 기호(s1, s2, 일례로 앤드(&) 기호)를 각각의 쿼리(q1 내지 q4) 사이에 더 포함할 수도 있다. The one or more first requests R1 transmitted by the terminal device 99 may have a syntax form according to embodiments, and one or more queries q1 to q4 may be combined alone or in combination depending on the situation. It may or may not contain any queries (q1 to q4). One or more queries (q1 to q4) is a request for processing desired by a user or administrator, such as presentation, search, combination and/or processing of data, etc., as shown in FIG. 2, text (characters, symbols, numbers or a combination thereof). As shown in FIG. 2 , when one or more first request R1 is formed by a combination of two or more queries q1 to q4, the first request R1 connects the two queries q1 to q4 At least one symbol (s1, s2, for example, an and (&) symbol) may be further included between each query (q1 to q4).

일 실시예에 의하면, 하나 또는 둘 이상의 쿼리(q1 내지 q4)는, 도 3에 도시된 바와 같이, 처리 불가 쿼리, 확장 쿼리, 조건 쿼리 및 선택 쿼리 중 적어도 하나를 포함할 수도 있다. 처리 불가 쿼리는 쿼리 처리 장치(100) 및 데이터 처리 장치(200) 양자 모두에 의해 그 처리가 지원되지 않는 쿼리를 의미한다. 따라서, 사용자가 단말 장치(99)로 처리 불가 쿼리를 포함하여 제1 요청(R1)을 생성하면, 처리 불가 쿼리에 대응하는 처리는 쿼리 처리 장치(100) 및 데이터 처리 장치(200)에 의해 수행되지 않는다. 처리 불가 쿼리는 쿼리 처리 장치(100)나 데이터 처리 장치(200)의 특성이나, 장치(200)나 데이터베이스 등의 설계 또는 운영 구조나, 설계자, 관리자 또는 사용자 등의 임의적 선택에 따라 사전적으로 또는 사후적으로 정해진 것일 수 있다. 예를 들어, 레드피쉬 에이피아이에서 발췌 등을 위한 excerpt 쿼리는 처리 불가 쿼리로 분류될 수도 있다. 그러나, 이는 예시적인 것으로 실시예에 따라서 excerpt 쿼리 외의 다른 쿼리가 처리 불가 쿼리로 취급되도록 하거나 또는 어떠한 쿼리도 처리 불가 쿼리가 취급되지 않도록 설계되는 것도 가능하다. 확장 쿼리는 소정의 데이터(테이블 등을 포함 가능하다)에 다른 데이터를 추가하여 부가함으로써 데이터를 전체적으로 확장할 수 있는 쿼리를 의미한다. 구체적으로, 확장 쿼리는 외래 키(foreign key)와 같이 키 값만 존재하는 목록을 확장하기 위해 다른 데이터 집단에 속한 데이터의 전부 또는 일부를 호출하여 획득할 것을 요청하는 쿼리로, 예를 들어, 레드피쉬 에이피아이에서 이용되는 expand 쿼리 등을 포함할 수 있다. 조건 쿼리는 입력된 조건에 따라 처리 결과가 상이하게 변경될 수 있는 쿼리로, 예를 들어, 관리자나 사용자가 원하는 특정한 조건을 만족하는 데이터만을 추출할 수 있는 쿼리를 의미한다. 조건 쿼리는, 예를 들어, filter 쿼리 등을 포함할 수 있다. 선택 쿼리는 전체 또는 처리된 데이터 중에서 일부의 데이터만을 선별하여 획득하기 위한 쿼리를 의미한다. 선택 쿼리에 의하면 처리 결과가 변경되지는 않으나, 처리 결과의 일부분만이 선출되어 단말 장치(99)의 사용자에게 제공된다. 선택 쿼리로는, 예를 들어, 레드피쉬 에이피아이의 select 쿼리, top 쿼리 또는 skip 쿼리 등이 있다. 이들 외에도 쿼리 처리 장치(100)나 데이터 처리 장치(200)의 설계 구조나 이용되는 소프트웨어에 의해 또는 쿼리 처리 장치(100)나 데이터 처리 장치(200)의 설계자, 사용자나 관리자 등에 의해 새로운 쿼리 종류가 더 정의될 수도 있다. 또한, 특정한 쿼리가 상술한 처리 불가 쿼리, 확장 쿼리, 조건 쿼리 및 선택 쿼리 중 어디에 해당하는지 여부 역시 이들 장치(100, 200)의 구조, 이용되는 소프트웨어, 설계자, 관리자 또는 사용자 등에 의해 임의적으로 결정될 수도 있다. 상술한 처리 불가 쿼리, 확장 쿼리, 조건 쿼리 및 선택 쿼리 중 적어도 하나는, 실시예에 따라 생략 가능하다.According to an embodiment, the one or more queries q1 to q4 may include at least one of an unprocessable query, an extended query, a conditional query, and a selection query, as shown in FIG. 3 . The unprocessable query means a query whose processing is not supported by both the query processing apparatus 100 and the data processing apparatus 200 . Accordingly, when the user generates the first request R1 including the unprocessable query with the terminal device 99 , the processing corresponding to the unprocessable query is performed by the query processing device 100 and the data processing device 200 . doesn't happen The query that cannot be processed is pre- or post-processing according to the characteristics of the query processing device 100 or the data processing device 200, the design or operating structure of the device 200 or database, or an arbitrary selection of a designer, administrator, or user. It may have been objectively determined. For example, an excerpt query for excerpts from Redfish AP may be classified as an unprocessable query. However, this is exemplary, and according to embodiments, it is also possible to design that queries other than the excerpt query are treated as an unprocessable query or that no query is treated as an unprocessable query. The extended query refers to a query that can expand data as a whole by adding and adding other data to predetermined data (which may include tables, etc.). Specifically, an extended query is a query that requests to acquire all or part of data belonging to another data group to expand a list in which only key values such as a foreign key exist. For example, Redfish It may include expand queries used in AP. A conditional query is a query in which a processing result can be changed differently according to an input condition, and for example, refers to a query capable of extracting only data satisfying a specific condition desired by an administrator or a user. The conditional query may include, for example, a filter query. The selection query refers to a query for selecting and obtaining only a part of all or processed data. According to the selection query, the processing result is not changed, but only a part of the processing result is selected and provided to the user of the terminal device 99 . The select query includes, for example, a select query, a top query, or a skip query of Redfish AP. In addition to these, a new query type is created by the design structure of the query processing device 100 or the data processing device 200 or the software used, or by the designer, user, or manager of the query processing device 100 or the data processing device 200 . It may be further defined. In addition, whether a specific query corresponds to any of the above-described unprocessable query, extended query, conditional query, and selection query may also be arbitrarily determined by the structure of these devices 100 and 200 , software used, a designer, an administrator, or a user. have. At least one of the above-described unprocessable query, extended query, conditional query, and select query may be omitted according to an exemplary embodiment.

일 실시예에 따르면, 쿼리 처리 장치(100)는 단말 장치(99) 및 데이터 처리 장치(200) 중 적어도 하나와 통신 가능하게 연결되고, 단말 장치(99)로부터 제1 요청(R1)을 수신하고, 제1 요청(R1)을 분석하여 제1 요청(R2)에 대응하는 새로운 요청(R2, 이하 제2 요청)을 데이터 처리 장치(200)로 전달할 수 있도록 마련된다. 이 경우, 제2 요청(R2)은 쿼리(q1 내지 q4)의 처리를 요청하는 자가 쿼리 처리 장치라는 것을 안내하기 위한 정보를 포함할 수도 있다. 또한, 쿼리 처리 장치(100)는 데이터 처리 장치(200)로부터의 응답(R3, 일례로 제2 요청(R2)에 대응하는 일군의 데이터 등)을 적어도 일 회 수신하고, 수신한 응답(R3)을 이용하여 필요한 작업(쿼리 처리나 데이터 융합 등)을 수행하여 최종 응답(R4)을 생성한 후, 생성한 최종 응답(R4)을 단말 장치(99) 또는 미리 설정된 다른 장치(미도시) 등으로 전송하도록 마련된 것일 수도 있다. 구체적으로 쿼리 처리 장치(100)는 제1 요청(R1)을 분석하여 제1 요청(R1)의 각각의 쿼리(q1 내지 q4)가 데이터 처리 장치(200)가 지원하는 쿼리(즉, 데이터 처리 장치(200)가 처리할 수 있는 쿼리, 이하 지원 쿼리라 함)인지 또는 데이터 처리 장치(200)가 지원하지 않는 쿼리(즉, 데이터 처리 장치가 처리할 수 없는 쿼리, 이하 미지원 쿼리라 함)인지 여부를 결정하고, 제1 요청(R1)의 각각의 쿼리(q1 내지 q4)가 지원 쿼리인지 미지원 쿼리인지 여부를 기초로 제2 요청(R2)을 생성할 수 있다. 이 경우, 제2 요청(R2)은 지원 쿼리는 데이터 처리 장치(200)에 의해 처리되고 미지원 쿼리는 쿼리 처리 장치(100)에 의해 처리되도록 생성될 수도 있다. According to an embodiment, the query processing device 100 is communicatively connected to at least one of the terminal device 99 and the data processing device 200 , and receives the first request R1 from the terminal device 99 , , a new request (R2, hereinafter, a second request) corresponding to the first request R2 is transmitted to the data processing apparatus 200 by analyzing the first request R1 . In this case, the second request R2 may include information for guiding that the person requesting the processing of the queries q1 to q4 is the query processing apparatus. In addition, the query processing device 100 receives a response (R3, for example, a group of data corresponding to the second request (R2), etc.) from the data processing device 200 at least once, and the received response (R3) After generating a final response R4 by performing a necessary operation (query processing or data fusion, etc.) using It may be arranged to transmit. Specifically, the query processing device 100 analyzes the first request R1 so that each of the queries q1 to q4 of the first request R1 is a query supported by the data processing device 200 (that is, the data processing device). Whether it is a query that 200 can process, hereinafter referred to as a supported query) or a query that the data processing device 200 does not support (that is, a query that the data processing device cannot process, hereinafter referred to as unsupported query) may be determined, and the second request R2 may be generated based on whether each of the queries q1 to q4 of the first request R1 is a supported query or an unsupported query. In this case, the second request R2 may be generated such that a support query is processed by the data processing apparatus 200 and an unsupported query is processed by the query processing apparatus 100 .

일 실시예에 의하면, 쿼리 처리 장치(100)는 단말 장치(99) 및 데이터 처리 장치(200) 중 적어도 하나와 통신을 수행하는 통신부(101)와, 통신부(101)와 연결되고 제1 요청(R1)의 분석, 제2 요청(R2)의 생성, 미지원 쿼리의 처리 및/또는 최종 응답(R4)의 생성 등을 수행하기 위한 프로세서(110)와, 데이터 처리 장치(200)의 지원 쿼리에 대한 정보(도 4의 90, 이하 지원 쿼리 정보)나, 데이터 처리 장치(200)로부터 수신한 응답(R3, 데이터 등)이나, 프로세서(110)에 의해 융합된 데이터나, 생성된 최종 응답(R4)이나, 및/또는 쿼리 처리 장치(100)의 동작에 필요한 각종 설정 값, 데이터 또는 프로그램 등을 일시적 또는 비일시적으로 저장할 수 있는 저장부(103)를 포함할 수 있다. 여기서, 통신부(101)는 랜 카드이나 무선 통신 모듈(근거리 통신 모듈이나 이동 통신 모듈 등) 등을 이용하여 구현 가능하다. 프로세서(110)는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 채용하여 구현 가능하다. 프로세서(110)는, 실시예에 따라, 저장부(103)에 설치된 적어도 하나의 프로그램을 동시에 또는 순차적으로 실행시켜, 상술한 지원 쿼리에 대한 제2 요청(R2)의 전달 및/또는 미지원 쿼리에 대한 처리 등의 동작을 수행할 수도 있다. 프로세서(110)의 상세한 동작에 대한 설명은 후술한다. 저장부(103)는, 주기억장치(실시예에 따라 버퍼메모리를 포함할 수도 있음) 및 보조기억장치 중 적어도 하나를 포함할 수 있으며, 예를 들어 반도체나 자기 디스크 등을 이용하여 구현된 것일 수 있다. According to an embodiment, the query processing device 100 includes a communication unit 101 that communicates with at least one of the terminal device 99 and the data processing device 200 , and is connected to the communication unit 101 and connects to the first request ( The processor 110 for performing the analysis of R1), the generation of the second request R2, the processing of the unsupported query and/or the generation of the final response R4, and the like, and the data processing device 200 for the support query Information (90 in FIG. 4, hereinafter support query information), a response (R3, data, etc.) received from the data processing device 200, data fused by the processor 110, or a final response (R4) generated However, and/or it may include a storage unit 103 capable of temporarily or non-temporarily storing various setting values, data, or programs necessary for the operation of the query processing apparatus 100 . Here, the communication unit 101 can be implemented using a LAN card or a wireless communication module (short-range communication module or mobile communication module, etc.). The processor 110 is, for example, a central processing unit (CPU, Central Processing Unit), a micro controller unit (MCU, Micro Controller Unit), a microcomputer (Micom, Micro Processor), an application processor (AP, Application Processor), electronic It can be implemented by employing a control unit (ECU, Electronic Controlling Unit) and/or other electronic devices capable of processing various calculations and generating control signals. The processor 110, according to an embodiment, executes at least one program installed in the storage unit 103 simultaneously or sequentially to transmit the second request R2 for the above-described support query and/or respond to the unsupported query. It is also possible to perform an operation, such as processing. A detailed operation of the processor 110 will be described later. The storage unit 103 may include at least one of a main memory device (which may include a buffer memory according to an embodiment) and an auxiliary memory device, and may be implemented using, for example, a semiconductor or a magnetic disk. have.

실시예에 따라서, 쿼리 처리 장치(100)는 프록시 서버 등과 같이 소정의 웹 서버를 구축하기 위한 소정의 웹 서버 프로그램을 이용하여 구현될 수 있으며, 예를 들어 아파치 HTTP 서버나, 엔진엑스(Nginx)나, 구글 웹 서버 등을 이용하여 구현될 수도 있다.According to an embodiment, the query processing apparatus 100 may be implemented using a predetermined web server program for building a predetermined web server, such as a proxy server, for example, an Apache HTTP server or Nginx. It can also be implemented using a Google web server or the like.

데이터 처리 장치(200)는 데이터를 저장하거나, 저장된 데이터의 전부 또는 일부에 대한 요청된 처리를 수행할 수 있도록 마련된다. 예를 들어, 데이터 처리 장치(200)는 쿼리 언어를 기반으로 적어도 하나의 데이터의 처리, 유지, 관리 또는 갱신을 수행할 수 있도록 마련될 수 있다. 여기서, 데이터는 데이터베이스의 형태로 데이터 처리 장치(200)에 저장되는 것도 가능하다. 또한, 데이터 처리 장치(200)는 단말 장치(99)나 쿼리 처리 장치(100)로부터 전달된 요청, 일례로 제2 요청(R2) 등에 대응하여 응답(R3)을 생성하고, 응답(R3)을 요청(R2)을 전달한 장치로 전송할 수도 있다. 이 경우, 데이터 처리 장치(200)는 요청(R2)에 포함된 정보를 기반으로 응답을 수신할 장치를 결정하고, 결정된 바에 따라 응답을 결정된 장치, 일례로 쿼리 처리 장치(100)로 전달할 수도 있다. 일 실시예에 따르면, 데이터 처리 장치(200)는 소정의 쿼리(즉, 지원 쿼리)는 지원하는 반면에, 지원 쿼리 이외의 다른 쿼리(즉, 미지원 쿼리)는 지원하지 않을 수 있다. 다시 말해서, 단말 장치(99)의 제1 요청(R1)에 포함된 쿼리(q1 내지 q4) 중에서 미지원 쿼리가 존재하는 경우, 데이터 처리 장치(200)는 이들 미지원 쿼리에 해당하는 데이터 처리는 수행할 수 없고, 따라서 미지원 쿼리 처리에 대응하는 응답의 생성도 불가능하다. 이 경우, 미지원 쿼리에 대한 처리는 상술한 쿼리 처리 장치(100)에 의해 수행될 수 있으며, 데이터 처리 장치(200)는 쿼리 처리 장치(100)의 미지원 쿼리 처리를 위해 필요한 데이터 등을 제2 요청(R2)에 대한 응답(R3) 등의 형태로 쿼리 처리 장치(100)로 전달할 수 있다. 한편, 데이터 처리 장치(200)는 지원 쿼리에 해당하는 데이터 처리는 수행할 수 있다. 그러므로, 데이터 처리 장치(200)는 단말 장치(99)나 쿼리 처리 장치(100)로부터 지원 쿼리 또는 이에 상응하는 내용을 포함하는 요청(R2)이 전달되면, 쿼리의 처리 대상이 되는 데이터에 대해 지원 쿼리의 처리를 수행하고, 이에 대응하는 응답(R3)을 쿼리 처리 장치(100)로 전달할 수 있으며, 이에 따라 쿼리 처리 장치(100)는 지원 쿼리에 대응하는 데이터를 획득할 수 있게 된다. The data processing apparatus 200 is provided to store data or to perform requested processing on all or part of the stored data. For example, the data processing apparatus 200 may be provided to process, maintain, manage, or update at least one data based on a query language. Here, the data may be stored in the data processing apparatus 200 in the form of a database. In addition, the data processing device 200 generates a response R3 in response to a request transmitted from the terminal device 99 or the query processing device 100, for example, the second request R2, and transmits the response R3. It may also transmit the request R2 to the forwarding device. In this case, the data processing device 200 may determine a device to receive a response based on the information included in the request R2, and transmit the response to the determined device, for example, the query processing device 100 according to the determination. . According to an embodiment, the data processing apparatus 200 may support a predetermined query (ie, a support query), but may not support queries other than the support query (ie, an unsupported query). In other words, when an unsupported query exists among the queries q1 to q4 included in the first request R1 of the terminal device 99, the data processing device 200 performs data processing corresponding to these unsupported queries. Therefore, it is also impossible to generate a response corresponding to processing of an unsupported query. In this case, the processing of the unsupported query may be performed by the above-described query processing apparatus 100 , and the data processing apparatus 200 makes a second request for data necessary for processing the unsupported query by the query processing apparatus 100 . It may be transmitted to the query processing device 100 in the form of a response R3 to (R2). Meanwhile, the data processing apparatus 200 may process data corresponding to the support query. Therefore, when a request R2 including a support query or a content corresponding thereto is transmitted from the terminal device 99 or the query processing device 100, the data processing device 200 supports data to be processed by the query. The query may be processed and a response R3 corresponding thereto may be transmitted to the query processing apparatus 100 , and accordingly, the query processing apparatus 100 may obtain data corresponding to the support query.

이 경우, 데이터 처리 장치는 제2 요청(R2) 내의 정보를 기반으로 쿼리 처리 장치로 제2 요청(R2)에 대응하는 응답(R3)을 In this case, the data processing device sends a response R3 corresponding to the second request R2 to the query processing device based on the information in the second request R2.

일 실시예에 의하면, 데이터 처리 장치(200)는, 비엠씨 프로그램을 이용하여 감지 및 수집한 정보 등의 저장, 가공 또는 전달 등을 포함하는 비엠씨 서비스를 제공할 수도 있다. 이 경우, 데이터 처리 장치(200)의 관리자 또는 사용자는 비엠씨 서비스를 통해 데이터 처리 장치(200)의 과거 또는 현재의 상태나 상황 등을 파악할 수 있다. 비엠씨 서비스를 이용하는 경우에도 데이터 처리 장치(200)는 상술한 바와 같이 획득한 정보에 대해 지원 쿼리에 대응하는 동작을 수행하고, 미지원 쿼리에 대응하는 동작을 수행할 수 없다. 쿼리 처리 장치(100)는 이와 같이 비엠씨 서비스의 경우에도 미지원 쿼리에 대한 동작을 데이터 처리 장치(200) 대신에 수행함으로써 비엠씨 서비스를 이용하는 관리자나 사용자가 제시한 쿼리에 대응하는 동작을 획득하도록 할 수 있다. 상술한 데이터 처리 장치(200)도, 실시예에 따라서, 외부와의 통신을 위한 통신부(미도시), 연산 및 제어 처리를 위한 프로세서(미도시) 및 데이터 처리 장치(200)가 직접 획득한 정보나 외부로부터 수신한 데이터 등을 소정의 형태(예를 들어, 데이터베이스)로 일시적으로 또는 비일시적으로 저장하는 저장부(미도시)를 포함할 수 있다.According to an embodiment, the data processing apparatus 200 may provide a BMC service including storage, processing, or transmission of information sensed and collected using the BMC program. In this case, the manager or the user of the data processing device 200 may grasp the past or present state or situation of the data processing device 200 through the BMC service. Even when the BMC service is used, the data processing apparatus 200 performs an operation corresponding to a support query on the obtained information as described above, and cannot perform an operation corresponding to an unsupported query. The query processing device 100 performs an operation for an unsupported query instead of the data processing device 200 even in the case of the BMC service in this way to obtain an operation corresponding to a query presented by an administrator or a user using the BMC service. can do. The above-described data processing device 200 is also, according to an embodiment, a communication unit (not shown) for communication with the outside, a processor (not shown) for operation and control processing, and information directly acquired by the data processing device 200 . or a storage unit (not shown) for temporarily or non-temporarily storing data received from the outside in a predetermined form (eg, a database).

상술한 단말 장치(99), 쿼리 처리 장치(100) 및 데이터 처리 장치(200) 중 적어도 하나는, 하나 또는 둘 이상의 정보 처리 장치 등을 단독으로 또는 조합하여 구현될 수 있다. 여기서, 정보 처리 장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 컴퓨터, 스마트 폰, 태블릿 피씨, 스마트 시계, 두부 장착형 디스플레이(HMD: Head Mounted Display) 장치, 내비게이션 장치, 휴대용 게임기, 개인용 디지털 보조기(PDA: Personal Digital Assistant), 디지털 텔레비전, 셋 톱 박스, 인공 지능 음향 재생 장치(인공 지능 스피커), 가전 기기(냉장고 또는 세탁기 등), 유인 이동체(승용차, 버스나 이륜차 등의 차량 등), 무인 이동체(로봇 청소기 등), 유인 비행체, 무인 비행체(드론 등), 가정용 로봇, 산업용 로봇 및/또는 산업용 기계 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 설계자나 사용자 등은 상황이나 조건에 따라서 상술한 장치 이외에도 정보의 연산 처리 및 제어가 다양한 장치 중 적어도 하나를 상술한 단말 장치(99), 쿼리 처리 장치(100) 및 데이터 처리 장치(100) 중 적어도 하나로 채용할 수 있다.At least one of the terminal device 99, the query processing device 100, and the data processing device 200 described above may be implemented by using one or more information processing devices alone or in combination. Here, the information processing device is, for example, a desktop computer, a laptop computer, a server computer, a smart phone, a tablet PC, a smart watch, a head mounted display (HMD) device, a navigation device, a portable game machine, a personal digital assistant (PDA: Personal Digital Assistant), digital television, set-top box, artificial intelligence sound reproduction device (artificial intelligence speaker), home appliance (refrigerator or washing machine, etc.), manned vehicle (car, bus or vehicle such as two-wheeled vehicle, etc.), unmanned It may include, but is not limited to, a moving object (robot cleaner, etc.), a manned vehicle, an unmanned aerial vehicle (drone, etc.), a home robot, an industrial robot, and/or an industrial machine. A designer, a user, etc., according to circumstances or conditions, select at least one of various devices capable of processing and controlling information in addition to the above-described devices according to circumstances or conditions. one can be employed.

이하 도 4 및 도 5를 참조하여 쿼리 처리 장치(100)에 대해 보다 상세하게 설명하도록 한다.Hereinafter, the query processing apparatus 100 will be described in more detail with reference to FIGS. 4 and 5 .

도 4는 쿼리 처리 장치의 일 실시예에 대한 블록도이다.4 is a block diagram of an embodiment of a query processing apparatus.

도 4에 도시된 바를 참조하면, 일 실시예에 따른 쿼리 처리 장치(100)는 통신부(101)와, 데이터 처리 장치(200)가 지원하는 쿼리에 대한 정보인 지원 쿼리 정보(90)를 저장하는 저장부(103)와, 쿼리 처리와 관련된 적어도 하나의 동작을 동시에 또는 순차적으로 수행하는 프로세서(110)를 포함할 수 있고, 프로세서(110)는 요청 분석부(120), 요청 전달 처리부(131), 응답 획득부(133), 수신 응답 처리부(135), 쿼리 처리부(137) 및 최종 응답 생성부(140)를 포함할 수 있다. 여기서, 요청 분석부(120), 요청 전달 처리부(131), 응답 획득부(133), 수신 응답 처리부(135), 쿼리 처리부(137) 및 최종 응답 생성부(140) 중 적어도 둘은 논리적으로 및/또는 물리적으로 구분되는 것일 수 있다. 논리적으로 구분되는 경우, 요청 분석부(120), 요청 전달 처리부(131), 응답 획득부(133), 수신 응답 처리부(135), 쿼리 처리부(137) 및 최종 응답 생성부(140)는 하나의 처리 장치(일례로 반도체 칩)에 의해 구현될 수도 있다. 물리적으로 구분되는 경우, 요청 분석부(120), 요청 전달 처리부(131), 응답 획득부(133), 수신 응답 처리부(135), 쿼리 처리부(137) 및 최종 응답 생성부(140) 중 일부는 어느 하나의 처리 장치에 의해 구현되고, 다른 일부는 어느 하나의 처리 장치와 물리적으로 분리된 다른 적어도 하나의 처리 장치에 의해 구현될 수도 있다. 요청 분석부(120), 요청 전달 처리부(131), 응답 획득부(133), 수신 응답 처리부(135), 쿼리 처리부(137) 및 최종 응답 생성부(140) 중 적어도 하나는 설계자의 임의적 선택에 따라 생략되는 것도 가능하다.Referring to FIG. 4 , the query processing apparatus 100 according to an embodiment stores the support query information 90 that is information about the query supported by the communication unit 101 and the data processing apparatus 200 . The storage unit 103 may include a processor 110 that simultaneously or sequentially performs at least one operation related to query processing, and the processor 110 includes a request analysis unit 120 and a request delivery processing unit 131 . , a response obtaining unit 133 , a receiving response processing unit 135 , a query processing unit 137 , and a final response generating unit 140 . Here, at least two of the request analysis unit 120, the request forwarding processing unit 131, the response obtaining unit 133, the receiving response processing unit 135, the query processing unit 137, and the final response generating unit 140 are logically and / or may be physically separated. When logically divided, the request analysis unit 120 , the request forwarding processing unit 131 , the response obtaining unit 133 , the receiving response processing unit 135 , the query processing unit 137 , and the final response generating unit 140 are one It may be implemented by a processing device (eg, a semiconductor chip). When physically separated, some of the request analysis unit 120, the request forwarding processing unit 131, the response obtaining unit 133, the receiving response processing unit 135, the query processing unit 137, and the final response generating unit 140 are It may be implemented by any one processing device, and another part may be implemented by at least one other processing device physically separated from any one processing device. At least one of the request analysis unit 120, the request forwarding processing unit 131, the response obtaining unit 133, the receiving response processing unit 135, the query processing unit 137, and the final response generating unit 140 may be arbitrarily selected by the designer. It is also possible to omit accordingly.

요청 분석부(120)는 단말 장치(99)로부터 전달된 제1 요청(R1)을 분석하고, 쿼리(q1 내지 q4)의 존재 여부 및 쿼리(q1 내지 q4)의 지원 여부 등을 판단할 수 있다. 구체적으로 요청 분석부(120)는 쿼리 추출부(121) 및 지원 쿼리 판단부(123)를 포함할 수 있다. The request analyzer 120 may analyze the first request R1 transmitted from the terminal device 99 and determine whether the queries q1 to q4 exist and whether the queries q1 to q4 are supported. . Specifically, the request analyzer 120 may include a query extractor 121 and a support query determiner 123 .

쿼리 추출부(121)는 도 2에 도시된 바와 같이 제1 요청(R1)이 전달되면, 제1 요청(R1)을 구문 분석 등의 방법을 통해 분석하여 하나 또는 둘 이상의 쿼리(q1 내지 q4)를 추출하고, 추출된 하나 또는 둘 이상의 쿼리(q1 내지 q4)를 지원 쿼리 판단부(123)로 전달할 수 있다. 쿼리(q1 내지 q4)의 추출은 제1 요청(R1) 내에서 쿼리(q1 내지 q4) 각각에 대응하는 문자열을 검출함으로써 수행될 수 있다. 만약 쿼리가 제1 요청(R1)으로부터 전혀 추출되지 않는다면(예를 들어, 쿼리(q1 내지 q4) 각각에 대응하는 문자열이 부재하다면), 쿼리추출부(121)는 추출된 쿼리가 부재하다는 정보를 요청 전달 처리부(131)로 전달하고, 요청 전달 처리부(131)는 제1 요청(R1)을 제2 요청(R2)으로 하여 데이터 처리 장치(200)로 전달하도록 제어한다. 다시 말해서, 제1 요청(R1)은 별도의 처리 없이 그대로 데이터 처리 장치(200)로 전송되게 된다. As shown in FIG. 2 , when the first request R1 is transmitted, the query extractor 121 analyzes the first request R1 through a method such as parsing analysis to obtain one or more queries (q1 to q4). may be extracted, and the extracted one or more queries (q1 to q4) may be transmitted to the support query determination unit 123 . The extraction of the queries q1 to q4 may be performed by detecting a character string corresponding to each of the queries q1 to q4 in the first request R1. If the query is not extracted from the first request R1 at all (for example, if a character string corresponding to each of the queries q1 to q4 is absent), the query extraction unit 121 provides information that the extracted query is absent. It transmits to the request transfer processing unit 131 , and the request transfer processing unit 131 controls the first request R1 as a second request R2 to be transmitted to the data processing apparatus 200 . In other words, the first request R1 is transmitted to the data processing apparatus 200 as it is without additional processing.

도 5는 지원쿼리판단부의 일 실시예에 대한 블록도이다.5 is a block diagram of an embodiment of a support query determination unit.

지원 쿼리 판단부(123)는, 제1 요청(R1)으로부터 하나 또는 둘 이상의 쿼리(q1 내지 q4)가 추출되면, 추출된 하나 또는 둘 이상의 쿼리(q1 내지 q4) 각각이 어떠한 종류의 쿼리에 해당하는지 판단할 수 있다. 구체적으로 예를 들어, 지원 쿼리 판단부(123)는 추출된 쿼리(q1 내지 q4)의 문자열을 분석하여, 각각의 쿼리(q1 내지 q4)가 지원 쿼리인지 또는 미지원 쿼리인지 여부를 판단할 수 있다. 필요에 따라 지원 쿼리 판단부(123)는 저장부(103)에 저장된 지원 쿼리 정보(90)를 호출 및 열람하여 각각의 쿼리(q1 내지 q4)가 지원 쿼리 또는 미지원 쿼리에 해당하는지 여부를 확인하고 확인 결과를 요청 전달 처리부(131) 또는 최종 응답 생성부(140)로 전달할 수 있다. 필요에 따라, 지원 쿼리 판단부(123)는 지원 여부의 판단 전에 각각의 쿼리(q1 내지 q4)가 처리 불가 쿼리인지, 확장 쿼리인지, 조건 쿼리인지 또는 선택 쿼리인지 여부를 더 판단할 수 있다. 쿼리(q1 내지 q4)의 종류 판단은, 예를 들어, 구문 분석 등을 통해 수행 가능하다. 이들 외에도 다른 종류의 쿼리가 더 정의된 경우라면, 지원 쿼리 판단부(123)는 각각의 쿼리(q1 내지 q4)가 다른 종류의 쿼리에 해당하는지 여부도 판단 가능하다. The support query determination unit 123, when one or more queries (q1 to q4) are extracted from the first request (R1), each of the extracted one or more queries (q1 to q4) corresponds to a certain type of query can determine whether Specifically, for example, the support query determination unit 123 may analyze the string of the extracted queries (q1 to q4) to determine whether each of the queries (q1 to q4) is a supported query or an unsupported query. . If necessary, the support query determination unit 123 calls and reads the support query information 90 stored in the storage unit 103 to check whether each query (q1 to q4) corresponds to a support query or an unsupported query, and The confirmation result may be transmitted to the request transmission processing unit 131 or the final response generation unit 140 . If necessary, the support query determining unit 123 may further determine whether each of the queries q1 to q4 is an unprocessable query, an extended query, a conditional query, or a selection query before determining whether support is provided. Determination of the type of the queries q1 to q4 may be performed through, for example, syntax analysis. If other types of queries are further defined in addition to these, the support query determination unit 123 may also determine whether each of the queries q1 to q4 corresponds to a different type of query.

일 실시예에 의하면, 지원 쿼리 판단부(123)는, 도 5에 도시된 바와 같이 처리 불가 쿼리 판단부(125), 확장 쿼리 판단부(126), 조건 쿼리 판단부(127) 및 선택 쿼리 판단부(128) 중 적어도 하나를 포함할 수 있다. 처리 불가 쿼리 판단부(125)는 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 모든 또는 일부의 쿼리가 쿼리 처리 장치(100) 및 데이터 처리 장치(200) 양자 모두가 미지원 하는 처리 불가 쿼리인지 여부를 지원 쿼리 정보(90) 등을 참조하여 판단할 수 있다. 만약 추출된 쿼리(미도시)가 처리 불가 쿼리라고 판단되면, 처리 불가 쿼리 판단부(125)는 모든 또는 일부의 쿼리가 처리 불가 쿼리라는 정보를 최종 응답 생성부(140)로 전달할 수 있다. 이에 응하여 최종 응답 생성부(140)는 모든 또는 일부의 쿼리(q1 내지 q4)가 처리 불가 쿼리라는 메시지를 포함하는 최종 응답(R4)을 단독으로 또는 다른 쿼리(q1 내지 q4)에 대한 처리 결과와 조합하여 생성할 수 있다. 모든 또는 일부의 쿼리가 처리 불가 쿼리라는 내용을 포함하는 최종 응답(R4)은 통신부(101)를 통해 단말 장치(99)로 전송될 수 있다. 확장 쿼리 판단부(126)는 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 확장 쿼리인지 여부를 판단하고, 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 확장 쿼리라면, 이에 응하여 데이터 처리 장치(200)가 확장 쿼리를 지원하는지 여부를 판단할 수 있다. 판단 결과는 요청 전달 처리부(131)로 전달된다. 조건 쿼리 판단부(127)는 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 조건 쿼리인지 여부를 판단하고, 만약 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 조건 쿼리로 판단되면, 데이터 처리 장치(200)가 조건 쿼리를 지원하는지 여부를 판단할 수 있다. 판단 결과는 요청 전달 처리부(131)로 전달된다. 선택 쿼리 판단부(128)는 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 선택 쿼리인지 여부를 판단하고, 하나 또는 둘 이상의 추출된 쿼리(q1 내지 q4) 중 적어도 하나가 선택 쿼리이면, 데이터 처리 장치(200)가 선택 쿼리를 지원하는지 여부를 판단할 수 있다. 선택 쿼리 포함 여부에 대한 판단 결과는 요청 전달 처리부(131)로 전달될 수 있다. 일 실시예에 의하면, 처리 불가 쿼리 판단부(125), 확장 쿼리 판단부(126), 조건 쿼리 판단부(127) 및 선택 쿼리 판단부(128)는 상술한 동작을 순차적으로 수행할 수도 있다. 즉, 쿼리 추출부(121)가 추출한 적어도 하나의 쿼리(q1 내지 q4)에 대해 먼저 처리 불가 쿼리 판단부(125)에 의해 처리 불가 쿼리가 존재하는지 여부가 판단되고, 이어서 확장 쿼리 판단부(126)에 의해 적어도 하나의 쿼리(q1 내지 q4)가 확장 쿼리를 포함하는지, 확장 쿼리로 판단된 적어도 하나의 쿼리(q1)가 지원 쿼리인지 여부가 판단된다. 순차적으로, 조건 쿼리 판단부(127)에 의해 적어도 하나의 쿼리(q1 내지 q4)가 조건 쿼리를 포함하는지, 조건 쿼리인 적어도 하나의 쿼리(q2)가 지원 쿼리인지 여부가 판단되고, 선택 쿼리 판단부(128)에 의해 적어도 하나의 쿼리(q1 내지 q4)가 선택 쿼리를 포함하는지, 선택 쿼리로 판단된 적어도 하나의 쿼리(q3, q4)가 지원 쿼리인지 여부가 판단될 수 있다. 물론 이들 처리 순서는 예시적인 것으로 설계자, 관리자 또는 사용자 등에 따라 이들 처리 순서는 다양하게 변경될 수 있다.According to an embodiment, the support query determination unit 123 may include, as shown in FIG. 5 , the unprocessable query determination unit 125 , the extended query determination unit 126 , the conditional query determination unit 127 , and the selection query determination unit. at least one of the portions 128 . The unprocessable query determining unit 125 determines whether all or some of the one or more extracted queries q1 to q4 are unprocessable queries that both the query processing device 100 and the data processing device 200 do not support. Whether the support query information 90 or the like is referenced may be used to determine whether the information is supported. If it is determined that the extracted query (not shown) is an unprocessable query, the unprocessable query determining unit 125 may transmit information that all or some of the queries are unprocessable queries to the final response generating unit 140 . In response, the final response generating unit 140 returns the final response R4 including the message that all or some of the queries (q1 to q4) are unprocessable queries, alone or with the processing results for other queries (q1 to q4) and It can be created by combining. The final response R4 including that all or some of the queries are unprocessable queries may be transmitted to the terminal device 99 through the communication unit 101 . The extended query determination unit 126 determines whether at least one of the one or more extracted queries (q1 to q4) is an extended query, and at least one of the one or more extracted queries (q1 to q4) is an extended query If so, in response, it may be determined whether the data processing apparatus 200 supports the extended query. The determination result is transmitted to the request transmission processing unit 131 . The conditional query determination unit 127 determines whether at least one of the one or more extracted queries (q1 to q4) is a conditional query, and if at least one of the one or more extracted queries (q1 to q4) is a condition If it is determined as a query, it may be determined whether the data processing apparatus 200 supports the conditional query. The determination result is transmitted to the request transmission processing unit 131 . The selection query determination unit 128 determines whether at least one of the one or more extracted queries (q1 to q4) is a selection query, and at least one of the one or more extracted queries (q1 to q4) is a selection query , it may be determined whether the data processing apparatus 200 supports the selection query. A result of determining whether the selection query is included may be transmitted to the request transmission processing unit 131 . According to an embodiment, the unprocessable query determiner 125, the extended query determiner 126, the conditional query determiner 127, and the selection query determiner 128 may sequentially perform the above-described operations. That is, with respect to at least one query (q1 to q4) extracted by the query extracting unit 121 , it is first determined by the unprocessable query determining unit 125 whether an unprocessable query exists, and then the extended query determining unit 126 . ), it is determined whether the at least one query (q1 to q4) includes the extended query or whether the at least one query (q1) determined as the extended query is a support query. Sequentially, it is determined by the conditional query determination unit 127 whether the at least one query (q1 to q4) includes the conditional query and whether the at least one query (q2) that is the conditional query is a support query, and determines the selection query It may be determined by the unit 128 whether the at least one query (q1 to q4) includes a selection query, and whether the at least one query (q3, q4) determined as the selection query is a support query. Of course, these processing sequences are exemplary, and these processing sequences may be variously changed according to a designer, administrator, or user.

요청 전달 처리부(131)는 제2 요청(R2)을 생성할 수 있으며, 예를 들어, 지원 쿼리 판단부(123)의 판단 결과를 기반으로 제2 요청(R2)을 생성할 수 있다. 예를 들어, 요청 전달 처리부(131)는 제1 쿼리(R1)의 쿼리(q1 내지 q2) 중에서 미지원 쿼리가 존재하면, 제1 요청(R1)에서 해당 미지원 쿼리를 제거하여 제2 요청(R2)을 생성할 수 있다. 따라서, 만약 제1 요청(R1)의 모든 쿼리가 미지원 쿼리라면, 요청 전달 처리부(131)는 제1 요청(R1)의 모든 쿼리를 제거하여 제2 요청(R2)을 생성하게 된다. 또한, 만약 제1 요청(R1)의 모든 쿼리 중 일부는 지원 쿼리이고 다른 일부는 미지원 쿼리라면, 요청 전달 처리부(131)는 제1 요청(R1)의 지원 쿼리(들)만 남기고 미지원 쿼리(들)을 제거하여 제2 요청(R2)을 생성하게 된다. 요청 전달 처리부(131)가 생성한 제2 요청(R2)은 통신부(101)를 통해 데이터 처리 장치(200)로 전달될 수 있다. 한편, 상황에 따라서, 제2 요청(R2)는 추가 요청을 더 포함할 수도 있다. 추가 요청은, 미지원 쿼리의 처리를 위해 추가적으로 더 필요한 사항(일례로 조건 쿼리나 선택 쿼리의 처리 대상이 되는 데이터나, 확장 쿼리에 따라 획득된 데이터에 부가될 새로운 데이터 등)에 대한 요청을 포함할 수 있으며, 데이터 처리 장치(200)가 제2 요청(R2)의 수신에 응하여 생성 및 전달한 응답(R3)의 분석 결과를 기반으로 결정되고 생성된 것일 수 있다. 이 경우, 요청 전달 처리부(131)는 수신 응답 처리부(135)의 추가 요청 필요 여부에 대한 분석 결과에 따라서 추가 요청을 더 생성할 수도 있다. 생성된 추가 요청은 통신부(101)를 통해 데이터 처리 장치(200)로 전달될 수 있으며, 데이터 처리 장치(200)는 추가 요청에 대응하는 응답(R3)을 쿼리 처리 장치(100)로 다시 전달할 수 있다. 일 실시예에 의하면, 추가 요청의 생성 및/또는 전달 과정은 엔진엑스 등과 같은 웹 서버 프로그램이 제공하는 소정의 기능(일례로 서브리퀘스트(sub request) 기능 등)을 이용하여 수행될 수도 있다. 또한, 요청 전달 처리부(131)는 미지원 쿼리의 처리에 필요한 데이터만 선별할 수도 있다. 예를 들어, 조건 쿼리를 처리하는 경우, 요청 전달 처리부(131)는 조건 비교에 필요한 필드(들) 및/또는 최종 응답(R4) 구성에 필요한 필드(들)를 선별하여, 데이터 처리 장치(200)에 이러한 필드(들)에 해당하는 데이만을 보내도록 요청(R3, 추가 요청을 포함 가능함)을 생성할 수도 있다. 이와 같이 특정한 필드(들)만 선별하면, 시스템(1) 내에서 전달되는 데이터의 트래픽을 감소시키면서 검색 및 처리 속도를 상대적으로 증가시킬 수 있게 된다.The request delivery processing unit 131 may generate the second request R2 , for example, may generate the second request R2 based on the determination result of the support query determination unit 123 . For example, if an unsupported query exists among the queries q1 to q2 of the first query R1, the request forwarding processing unit 131 removes the unsupported query from the first request R1 to obtain the second request R2. can create Accordingly, if all the queries of the first request R1 are unsupported queries, the request transfer processing unit 131 removes all the queries of the first request R1 to generate the second request R2. In addition, if some of all queries of the first request R1 are support queries and some are unsupported queries, the request forwarding processing unit 131 leaves only the support query(s) of the first request R1 and unsupported query(s) ) to generate the second request R2. The second request R2 generated by the request transmission processing unit 131 may be transmitted to the data processing apparatus 200 through the communication unit 101 . Meanwhile, depending on circumstances, the second request R2 may further include an additional request. The additional request may include a request for additionally necessary matters for processing unsupported queries (for example, data to be processed by conditional queries or select queries, new data to be added to data obtained according to extended queries, etc.) It may be determined and generated based on the analysis result of the response R3 generated and transmitted by the data processing device 200 in response to the reception of the second request R2 . In this case, the request forwarding processing unit 131 may further generate an additional request according to the analysis result of whether the additional request is required by the reception response processing unit 135 . The generated additional request may be transmitted to the data processing apparatus 200 through the communication unit 101 , and the data processing apparatus 200 may transmit a response R3 corresponding to the additional request back to the query processing apparatus 100 . have. According to an embodiment, the process of generating and/or transmitting the additional request may be performed using a predetermined function (eg, a sub request function, etc.) provided by a web server program such as Njinx. Also, the request transfer processing unit 131 may select only data necessary for processing an unsupported query. For example, when processing a conditional query, the request delivery processing unit 131 selects field(s) necessary for condition comparison and/or field(s) necessary for configuring the final response R4, and the data processing apparatus 200 ) to send only data corresponding to these field(s) (R3, possibly including additional requests). By selecting only specific field(s) in this way, it is possible to relatively increase the search and processing speed while reducing the traffic of data transmitted within the system 1 .

응답 획득부(133)는 요청 전달 처리부(131)가 전달한 요청(R2, 추가 요청을 포함할 수도 있다)에 응하여 데이터 처리 장치(200)가 생성한 응답(R3)을 통신부(101)를 통해 획득할 수 있다. 여기서, 데이터 처리 장치(200)가 생성한 응답(R3)은, 예를 들어, 데이터 처리 장치(200)에 저장된 데이터 중에서 요청(R1)에 따라 처리 대상이 되는 데이터(들)나, 데이터 처리 장치(200)의 지원 쿼리의 수행에 따라 획득된 데이터(들)(일례로 데이터 처리 장치(200)가 선택 쿼리를 지원하는 경우, 해당 선택 쿼리의 수행 결과에 따라 선택된 데이터(들)) 등을 포함할 수도 있고 및/또는 추가 요청에 대응하는 응답(예를 들어, 확장 쿼리의 처리를 위해 필요한 다른 릴레이션의 적어도 일 속성에 해당하는 데이터(들)) 등을 포함할 수도 있다. 응답 획득부(133)가 획득한 응답(R3)은 수신 응답 처리부(135) 및 쿼리 처리부(137) 중 적어도 하나에 전달될 수 있다. 한편, 응답 획득부(133)는 실시예에 따라서 추가 요청에 대한 다수의 응답(R3)을 획득하면, 다수의 응답(R3)을 수신한 순서대로 또는 별도로 정의된 임의의 순서로 저장부(103, 일례로 버퍼 메모리 등)에 일시적 또는 비일시적으로 저장시킴으로써, 수신 응답 처리부(135)가 다수의 응답(R3)에 대한 처리를 수행할 수 있도록 할 수도 있다.The response obtaining unit 133 obtains a response R3 generated by the data processing apparatus 200 in response to the request (R2, may include an additional request) transmitted by the request transmission processing unit 131 through the communication unit 101 . can do. Here, the response R3 generated by the data processing apparatus 200 is, for example, data(s) to be processed according to the request R1 among data stored in the data processing apparatus 200 or the data processing apparatus Data (s) obtained according to the execution of the support query of 200 (for example, when the data processing device 200 supports the selection query, data (s) selected according to the execution result of the corresponding selection query), etc. and/or may include a response corresponding to an additional request (eg, data(s) corresponding to at least one attribute of another relation required for processing an extended query), and the like. The response R3 obtained by the response acquisition unit 133 may be transmitted to at least one of the reception response processing unit 135 and the query processing unit 137 . On the other hand, when the response obtaining unit 133 obtains a plurality of responses R3 to the additional request according to an embodiment, the storage unit 103 in the order in which the plurality of responses R3 are received or in a separately defined random order , for example, by temporarily or non-temporarily storing in a buffer memory, etc.), the reception response processing unit 135 may be able to process a plurality of responses R3.

수신 응답 처리부(135)는 데이터 처리 장치(200)로부터 수신한 응답(R3)을 분석하고, 미지원 쿼리의 처리를 위해 추가 요청이 필요한지 여부를 분석하여 판단할 수 있다. 수신한 응답(R3)의 분석은 구문 분석 등의 방법을 이용하여 수행될 수 있다. 만약 확장을 위한 데이터의 부재 등과 같이 추가 요청이 필요한 상황이라고 판단되면, 수신 응답 처리부(135)는 요청 전달 처리부(131)에 판단 결과를 전달함으로써, 요청 전달 처리부(131)가 추가 요청에 따른 새로운 제2 요청(R2)을 생성하여 데이터 처리 장치(200)로 전달하도록 할 수 있다. 또한, 일 실시예에 의하면, 수신 응답 처리부(135)는 다수의 응답(R3)이 수신된 경우, 다수의 응답(R3)에 대한 소정의 처리를 수행할 수도 있다. 예를 들어, 응답 획득부(133)가 다수의 요청(R3, 일례로 최초의 요청 및 추가 요청)을 각각 수신한 경우, 수신 응답 처리부(135)는 다수의 응답(R3)을 병합할 수도 있다. 예를 들어, 수신 응답 처리부(135)는 저장부(103, 일례로 버퍼 메모리 등)를 확인하고 저장부(103)에 저장된 다수의 응답(R3)을 결합하여 병합할 수 있다. 이 경우, 수신 응답 처리부(135)는 최초의 요청(R2)에 대응하는 최초의 응답(R3)에 추가 요청에 대응하는 추가 응답을 부가하여 응답(R3)의 병합을 수행할 수도 있다. 필요에 따라, 수신 응답 처리부(135)는 적절한 응답(R3)의 병합을 위해 추가 요청이 필요한 데이터(일례로 최초의 요청(R2)에 대응하여 수신한 응답(R3))에 대한 포인터를 유지하고, 추가 요청에 대응하는 새로운 응답이 도착한 경우, 해당 포인터에 새로운 응답을 추가함으로써 응답(R3)을 병합할 수도 있다. 병합된 응답은 쿼리 처리부(137)로 전달될 수 있다. 또한, 수신 응답 처리부(135)는 병합이 완료되면, 병합된 응답 이외의 다른 응답(R3)은 저장부(103)에서 제거하도록 마련될 수도 있다. 수신 응답 처리부(135)는 필요에 따라 생략 가능하다.The reception response processing unit 135 may analyze the response R3 received from the data processing device 200 and analyze and determine whether an additional request is required to process the unsupported query. Analysis of the received response R3 may be performed using a method such as syntax analysis. If it is determined that an additional request is required, such as the absence of data for expansion, the reception response processing unit 135 transmits the determination result to the request transmission processing unit 131, so that the request transmission processing unit 131 receives a new request according to the additional request. The second request R2 may be generated and transmitted to the data processing device 200 . Also, according to an embodiment, when a plurality of responses R3 are received, the reception response processing unit 135 may perform predetermined processing on the plurality of responses R3 . For example, when the response obtaining unit 133 receives a plurality of requests (R3, for example, an initial request and an additional request), the reception response processing unit 135 may merge the plurality of responses (R3). . For example, the reception response processing unit 135 may check the storage unit 103 (eg, a buffer memory, etc.) and combine and merge a plurality of responses R3 stored in the storage unit 103 . In this case, the reception response processing unit 135 may perform merging of the responses R3 by adding an additional response corresponding to the additional request to the original response R3 corresponding to the original request R2 . If necessary, the reception response processing unit 135 maintains a pointer to data requiring an additional request for merging of the appropriate response R3 (eg, the response R3 received in response to the initial request R2), and , when a new response corresponding to the addition request arrives, the response R3 may be merged by adding the new response to the corresponding pointer. The merged response may be transmitted to the query processing unit 137 . In addition, the reception response processing unit 135 may be provided to remove other responses R3 other than the merged responses from the storage unit 103 when the merging is completed. The reception response processing unit 135 may be omitted if necessary.

쿼리 처리부(137)는 쿼리(q2 내지 q4), 특히 미지원 쿼리에 관한 처리를 수행할 수 있다. 상세하게는 응답 획득부(133) 및 수신 응답 처리부(135) 중 적어도 하나로부터 데이터 처리 장치(200)가 전달한 응답(R3, 상술한 병합된 응답을 포함 가능하다)을 수신하고, 수신한 응답(R3), 일례로 처리 대상 데이터에 대해서 미지원 쿼리에 대한 처리를 수행할 수 있다. 예를 들어, 데이터 처리 장치(200)가 조건 쿼리나 선택 쿼리를 미지원하는 경우, 쿼리 처리부(137)는 데이터 처리 장치(200)가 응답(R3)으로 전달한 처리 대상 데이터에 대해 조건 쿼리나 선택 쿼리를 적용하여, 조건 쿼리나 선택 쿼리에 대응하는 결과를 획득할 수 있다. 여기서, 처리 대상 데이터는, 데이터 처리 장치(200)에 의해 지원 쿼리의 처리가 기 수행된 데이터를 포함할 수도 있다. 제1 요청(R1)에 포함된 쿼리(q1 내지 q4)가 모두 미지원 쿼리인 경우에는, 처리 대상 데이터는 어떠한 쿼리 처리도 수행되지 않은 데이터를 포함할 수도 있다.The query processing unit 137 may perform processing related to the queries q2 to q4, in particular, unsupported queries. In detail, a response (R3, including the merged response described above) transmitted by the data processing device 200 is received from at least one of the response obtaining unit 133 and the reception response processing unit 135, and the received response ( R3), for example, processing of unsupported queries may be performed on the processing target data. For example, when the data processing device 200 does not support a conditional query or a selection query, the query processing unit 137 performs a conditional query or a selection query with respect to the processing target data transmitted by the data processing device 200 as a response R3. can be applied to obtain a result corresponding to a conditional query or a selection query. Here, the processing target data may include data on which a support query has been previously processed by the data processing apparatus 200 . When all of the queries q1 to q4 included in the first request R1 are unsupported queries, the processing target data may include data for which no query processing has been performed.

최종 응답 생성부(140)는 제1 요청(R1)에 대응하는 최종 응답(R4)을 생성할 수 있다. 최종 응답(R4)은 쿼리 처리부(137)에 의해 처리된 결과를 포함할 수 있다. 예를 들어, 최종 응답(R4)은 수신 또는 병합된 처리 대상 데이터에 대한 미지원 쿼리의 처리 결과를 포함할 수 있다. 상술한 바와 같이 처리 대상 데이터는 데이터 처리 장치(200)에 의해 지원 쿼리의 처리가 기 수행된 데이터를 포함할 수도 있다. 또한, 최종 응답 생성부(140)는 지원 쿼리 판단부(123)에 전달한 바에 따라서 모든 또는 일부의 쿼리(q1 내지 q4)가 처리 불가 쿼리라는 메시지를 단독으로 생성하거나 또는 처리 불가 쿼리에 대한 메시지와 처리 대상 데이터에 대한 미지원 쿼리의 처리 결과를 병합하여 최종 응답(R4)을 생성할 수도 있다. 설계에 따라, 최종 응답 생성부(140)는 처리 결과나 메시지 등을 적당한 포맷으로 변환하여 최종 응답(R4)을 생성할 수도 있다. 최종 응답(R4)은 통신부(101)를 통해 단말 장치(99)로 전달될 수 있다.The final response generator 140 may generate a final response R4 corresponding to the first request R1 . The final response R4 may include a result processed by the query processing unit 137 . For example, the final response R4 may include a processing result of an unsupported query for the received or merged processing target data. As described above, the processing target data may include data on which the support query has been previously processed by the data processing apparatus 200 . In addition, the final response generating unit 140 alone generates a message that all or some of the queries (q1 to q4) are unprocessable queries according to the transmission to the support query determining unit 123, or a message for the unprocessable query and The final response R4 may be generated by merging the processing results of the unsupported query for the processing target data. Depending on the design, the final response generating unit 140 may generate the final response R4 by converting the processing result or message into an appropriate format. The final response R4 may be transmitted to the terminal device 99 through the communication unit 101 .

이하 도 6 내지 도 12를 참조하여 각각의 쿼리의 지원 여부에 따라 쿼리 처리 시스템(1)에서 수행되는 동작을 보다 상세하게 설명하도록 한다.Hereinafter, an operation performed by the query processing system 1 according to whether each query is supported will be described in more detail with reference to FIGS. 6 to 12 .

도 6은 요청이 모두 미지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.6 is a diagram illustrating an example of the operation of the query processing system in the case where all requests are unsupported queries.

도 6에 도시된 바에 의하면, 단말 장치(99)는 지원 쿼리 및 처리 불가 쿼리를 포함하지 않고 미지원 쿼리만 포함하는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달할 수 있다(p10). 쿼리 처리 장치(100)는 상술한 바와 같이 프로세서(110)의 동작에 따라 제1 요청(R1)을 구문 분석 등의 방법을 통해 분석하고(p11), 제1 요청(R1)으로부터 적어도 하나의 쿼리를 추출한 후 각각의 쿼리가 지연 쿼리인지 미지원 쿼리인지 여부를 판단할 수 있다(p12). 상술한 바와 같이 제1 요청(R1)의 쿼리는 모두 미지원 쿼리이므로, 쿼리 처리 장치(100)는 제1 요청(R1)에서 쿼리를 모두 제거하여 제2 요청(R2)을 생성하고(p13), 제2 요청(R2)을 데이터 처리 장치(200)로 전달한다(p14). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고 제2 요청(R2)을 처리하여 이에 대응하는 응답(R3)을 생성한다(p15). 응답(R3)은 쿼리 처리 장치(100)로 전달되고(p16), 쿼리 처리 장치(100)는 응답을 분석하고(p17), 분석 결과에 따라서 추가 요청을 더 생성하여 데이터 처리 장치(200)로 전달할 수 있다(p18). 이 경우, 추가 요청은 예를 들어 처리 대상 데이터의 전달 요청을 포함할 수도 있다. 추가 요청에 대응하는 추가 응답은 쿼리 처리 장치(100)로 전달된다(p19). 쿼리 처리 장치(100)는 수신한 추가 응답을 분석하고 및/또는 수신한 추가 응답을 최초에 받았던 응답과 병합시켜 병합된 응답을 획득할 수 있다(p19A). 필요에 따라 추가 요청 전달(p18), 추가 응답 전달(p19) 및 응답 병합(p19A)은 이 회 이상 반복되는 것도 가능하다. 병합된 응답은 처리 대상 데이터를 포함할 수 있으며, 쿼리 처리 장치(100)는 처리 대상이 되는 데이터에 대해 쿼리 처리를 수행하여 처리 결과를 획득하고(p19B), 처리 결과를 기반으로 최종 응답(R4)을 생성할 수 있다(p19C). 최종 응답(R4)은 단말 장치(99)로 전달될 수 있다(p19D).As shown in FIG. 6 , the terminal device 99 may transmit the first request R1 including only the unsupported query without including the supported query and the unprocessable query to the query processing device 100 (p10). The query processing apparatus 100 analyzes the first request R1 through a method such as parsing analysis according to the operation of the processor 110 as described above (p11), and at least one query from the first request R1 After extracting , it can be determined whether each query is a delayed query or an unsupported query (p12). As described above, since all the queries of the first request R1 are unsupported queries, the query processing apparatus 100 removes all the queries from the first request R1 to generate the second request R2 (p13), The second request R2 is transmitted to the data processing device 200 (p14). The data processing apparatus 200 receives the second request R2, processes the second request R2, and generates a response R3 corresponding thereto (p15). The response R3 is transmitted to the query processing device 100 (p16), the query processing device 100 analyzes the response (p17), and further generates an additional request according to the analysis result to the data processing device 200 It can be delivered (p18). In this case, the additional request may include, for example, a request for delivery of the processing target data. An additional response corresponding to the additional request is transmitted to the query processing device 100 (p19). The query processing apparatus 100 may obtain a merged response by analyzing the received additional response and/or merging the received additional response with the initially received response (p19A). If necessary, it is also possible to repeat the additional request forwarding (p18), additional response forwarding (p19), and response merging (p19A) more than once. The merged response may include processing target data, and the query processing device 100 performs query processing on the processing target data to obtain a processing result (p19B), and based on the processing result, a final response (R4) ) can be generated (p19C). The final response R4 may be transmitted to the terminal device 99 (p19D).

도 7은 요청이 지원 쿼리를 포함하는 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.7 is a diagram illustrating an example of operation of a query processing system when a request includes a support query.

도 7에 도시된 바에 의하면, 단말 장치(99)는 적어도 하나의 지원 쿼리 및 적어도 하나의 미지원 쿼리를 포함하되 처리 불가 쿼리를 포함하지 않는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달할 수 있다(p20). 쿼리 처리 장치(100)는 제1 요청(R1)을 분석하고(p21), 제1 요청(R1)으로부터 적어도 하나의 쿼리를 추출한 후 각각의 쿼리가 지연 쿼리인지 미지원 쿼리인지 여부를 판단할 수 있다(p22). 이어서 쿼리 처리 장치(10)는 제1 요청(R1)에서 미지원 쿼리는 제거하고 지원 쿼리만 남겨두어 제1 요청(R1)에 대응하는 제2 요청(R2)을 생성하고(p23), 생성한 제2 요청(R2)을 데이터 처리 장치(200)로 전달할 수 있다(p24). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고, 제2 요청(R2)에 대응하는 동작을 수행하여 응답(R3)을 생성한다(p25). 이 경우, 데이터 처리 장치(200)는 제2 요청(R2)에 포함된 지원 쿼리에 응하여 지원 쿼리에 해당하는 동작(일례로 데이터의 병합, 선택 또는 조건에 따른 처리 등)을 수행할 수 있다. 응답(R3, 지원 쿼리에 의해 처리된 데이터 등을 포함 가능함)은 쿼리 처리 장치(100)로 전달될 수 있다(p26), 쿼리 처리 장치(100)는 응답(R3)을 수신하고, 이를 통해 미지원 쿼리의 처리 대상이 되는 데이터를 획득할 수 있다. 처리 대상이 되는 데이터를 수신하면, 쿼리 처리 장치(100)는 미지원 쿼리의 처리를 수행하여(p27) 처리 결과를 획득할 수 있다(p28). 데이터 처리 장치(200)가 지원 쿼리를 처리하고, 쿼리 처리 장치(100)가 미지원 쿼리를 처리하였으므로, 상술한 바에 따라 획득된 결과는 단말 장치(99)로부터 전달된 제1 요청(R1)에 포함된 모든 쿼리에 따라 처리된 데이터를 포함하게 된다. 쿼리 처리의 결과에 따른 최종 응답(R4)은 단말 장치(99)로 전달된다. 상술한 바와 같이 전달된 쿼리 중에서 일부는 데이터 처리 장치(200)에 의해 처리되고 나머지 일부는 쿼리 처리 장치(100)에 의해 처리되므로, 쿼리 처리 장치(100)가 모든 쿼리를 처리할 필요가 없어, 쿼리 처리 장치(100)에 대한 부하가 상대적으로 줄어드는 효과를 얻을 수 있다.As shown in FIG. 7 , the terminal device 99 transmits a first request R1 including at least one supported query and at least one unsupported query but not including an unprocessable query to the query processing device 100 . can (p20). The query processing apparatus 100 analyzes the first request R1 (p21), extracts at least one query from the first request R1, and determines whether each query is a delayed query or an unsupported query. (p22). Subsequently, the query processing device 10 generates a second request R2 corresponding to the first request R1 by removing the unsupported query from the first request R1 and leaving only the supported query (p23), 2 The request R2 may be transmitted to the data processing device 200 (p24). The data processing apparatus 200 receives the second request R2 and generates a response R3 by performing an operation corresponding to the second request R2 (p25). In this case, in response to the support query included in the second request R2 , the data processing device 200 may perform an operation corresponding to the support query (eg, data merging, selection, or processing according to a condition). The response (R3, which may include data processed by the support query, etc.) may be transmitted to the query processing device 100 (p26), the query processing device 100 receives the response R3, and through this, the non-support Data to be processed by the query can be acquired. Upon receiving the data to be processed, the query processing apparatus 100 may process an unsupported query (p27) to obtain a processing result (p28). Since the data processing device 200 processes the support query and the query processing device 100 processes the unsupported query, the result obtained as described above is included in the first request R1 transmitted from the terminal device 99 . It includes data processed according to all queries. The final response R4 according to the result of the query processing is transmitted to the terminal device 99 . As described above, some of the forwarded queries are processed by the data processing device 200 and the rest are processed by the query processing device 100, so there is no need for the query processing device 100 to process all the queries, A load on the query processing apparatus 100 may be relatively reduced.

도 8은 요청이 조건 쿼리 및 선택 쿼리를 포함하되 조건 쿼리는 미지원 쿼리이고 선택 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.8 is a diagram illustrating an example of an operation of a query processing system when a request includes a conditional query and a select query, wherein the conditional query is an unsupported query and the select query is a supported query.

도 8에 도시된 바와 같이, 일 실시예에 있어서 데이터 처리 장치(200)는 조건 쿼리는 미지원하고 선택 쿼리는 지원할 수 있으며, 단말 장치(99)는 조건 쿼리 및 선택 쿼리를 포함하되 처리 불가 쿼리를 포함하지 않는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달할 수 있다(p30). 쿼리 처리 장치(100)는 제1 요청(R1)을 분석하여(p31), 조건 쿼리 및 선택 쿼리를 획득하고, 조건 쿼리 및 선택 쿼리 각각이 지연 쿼리인지 미지원 쿼리인지 여부를 판단할 수 있다(p32). 이어서 쿼리 처리 장치(10)는 조건 쿼리의 처리에 필요한 데이터(일례로 조건 비교에 필요한 적어도 하나의 필드에 속하는 데이터)를 선별할 수 있고(p33), 또한 이를 반영하여 적어도 하나의 선택 쿼리를 포함하는 제2 요청(R2)를 생성할 수 있다(p34). 이와 같이 생성된 제2 요청(R2)은 데이터 처리 장치(200)로 전달된다(p35). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고, 제2 요청(R2)의 수신에 응하여 선택 쿼리에 대응하는 데이터를 포함하도록 적어도 하나의 응답(R3)을 생성할 수 있다(p36). 생성된 응답(R3)은 쿼리 처리 장치(100)로 전달되고(p37), 쿼리 처리 장치(100)는 응답(R3)을 수신하여 선택 쿼리에 대응하는 데이터를 획득하고, 선택 쿼리에 대응하는 데이터에 대해 조건 쿼리를 처리할 수 있다(p38). 이에 따라 선택 쿼리 및 조건 쿼리가 적용된 데이터, 즉 최종 응답(R4)이 생성될 수 있게 된다(p39). 쿼리 처리의 결과에 따른 최종 응답(R4)은 단말 장치(99)로 전달되고, 관리자 또는 사용자는 요청한 바에 따라 조건 쿼리 및 선택 쿼리 양자 모두의 처리 결과를 반영한 적어도 하나의 데이터(들)를 얻을 수 있게 된다.As shown in FIG. 8 , in one embodiment, the data processing device 200 does not support a conditional query and may support a selection query, and the terminal device 99 includes a conditional query and a selection query, but performs a query that cannot be processed. The first request R1 that is not included may be transmitted to the query processing apparatus 100 (p30). The query processing apparatus 100 may analyze the first request R1 (p31), obtain a conditional query and a selection query, and determine whether each of the conditional query and the selection query is a delayed query or an unsupported query (p32). ). Subsequently, the query processing device 10 may select data (eg, data belonging to at least one field required for condition comparison) required for processing the conditional query (p33), and reflect this and include at least one selection query to generate a second request R2 (p34). The generated second request R2 is transmitted to the data processing device 200 (p35). The data processing apparatus 200 may receive the second request R2 and generate at least one response R3 to include data corresponding to the selection query in response to the reception of the second request R2 (p36). ). The generated response R3 is transmitted to the query processing device 100 (p37), and the query processing device 100 receives the response R3 to obtain data corresponding to the selection query, and data corresponding to the selection query A conditional query can be processed for (p38). Accordingly, data to which the selection query and the conditional query are applied, that is, the final response R4 can be generated (p39). The final response R4 according to the result of the query processing is transmitted to the terminal device 99, and the administrator or user can obtain at least one data(s) reflecting the processing results of both the conditional query and the selection query as requested. there will be

도 9는 요청이 확장 쿼리 및 선택 쿼리를 포함하되 확장 쿼리는 미지원 쿼리이고 선택 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.9 is a diagram illustrating an example of an operation of a query processing system when a request includes an extended query and a select query, wherein the extended query is an unsupported query and the select query is a supported query.

도 9에 도시된 바를 참조하면, 일 실시예에 있어서 데이터 처리 장치(200)는 확장 쿼리는 미지원하고 선택 쿼리는 지원하고, 단말 장치(99)는 확장 쿼리 및 선택 쿼리는 포함하되 처리 불가 쿼리는 포함하지 않는 적어도 하나의 제1 요청(R1)을 쿼리 처리 장치(100)로 전달할 수 있다(p40). 쿼리 처리 장치(100)는 제1 요청(R1)을 분석하여(p41), 확장 쿼리 및 선택 쿼리를 획득하고, 확장 쿼리 및 선택 쿼리 각각이 지연 쿼리인지 미지원 쿼리인지 여부를 판단하여, 확장 쿼리는 미지원 쿼리이고 선택 쿼리는 지원 쿼리라고 판단할 수 있다(p42). 필요에 따라, 쿼리 처리 장치(10)는 확장 쿼리의 처리에 필요한 데이터 및/또는 최종 응답 구성에 필요한 데이터를 결정할 수 있다(p43). 이 경우, 적어도 하나의 필드에 속하는 일군의 데이터가 확장 쿼리의 처리에 필요한 데이터 및/또는 최종 응답 구성에 필요한 데이터일 수도 있다. 데이터 처리 장치(100)는 판단 및/또는 결정 결과에 따라서 적어도 하나의 선택 쿼리를 포함하는 제2 요청(R2)를 생성한 후(p44), 이를 데이터 처리 장치(200)로 전달할 수 있다(p45). 데이터 처리 장치(200)는 제2 요청(R2)의 수신에 응하여 적어도 하나의 데이터에 대해 선택 쿼리 처리를 수행하고, 선택 쿼리 처리 결과에 따른 응답(R3)을 획득하고(p46), 이를 쿼리 처리 장치(100)로 전달할 수 있다(p47). 쿼리 처리 장치(100)는 응답(R3)을 수신하여 선택 쿼리 처리 결과에 따른 데이터를 획득하고, 선택 쿼리 처리 결과에 따른 데이터에 대해 확장 쿼리를 처리할 수 있다(p48). 일 실시예에 의하면, 확장 쿼리의 확장 수준에 따라서 쿼리 처리 장치(100)는 요청의 생성 내지 응답(R3)의 수신(p44 내지 p47)을 적어도 일 회 반복하여, 확장 대상이 될 또 다른 데이터 등을 계속해서 수신할 수도 있다. 이 경우, 확장 쿼리는 응답(R3)의 획득 시 마다 수행될 수도 있고, 모든 응답(R3)이 반복 획득된 후에 수행될 수도 있다. 이에 따라 확장 쿼리 및 선택 쿼리가 적용된 최종 응답(R4)이 생성되고(p49), 필요에 따라 단말 장치(99)로 전달된다(p49A).Referring to FIG. 9 , in one embodiment, the data processing device 200 does not support the extended query and supports the selection query, and the terminal device 99 includes the extended query and the selection query, but the query that cannot be processed is At least one first request R1 that is not included may be transmitted to the query processing apparatus 100 (p40). The query processing device 100 analyzes the first request R1 (p41), obtains an extended query and a select query, and determines whether each of the extended query and the select query is a delayed query or an unsupported query, so that the extended query is It can be determined that the query is not supported and the select query is a supported query (p42). If necessary, the query processing apparatus 10 may determine data required for processing the extended query and/or data required for configuring a final response (p43). In this case, a group of data belonging to at least one field may be data necessary for processing an extended query and/or data necessary for constructing a final response. The data processing apparatus 100 may generate the second request R2 including at least one selection query according to the determination and/or the determination result (p44), and then transmit it to the data processing apparatus 200 (p45) ). The data processing apparatus 200 performs selection query processing on at least one data in response to the reception of the second request R2, obtains a response R3 according to the selection query processing result (p46), and performs query processing It can be transmitted to the device 100 (p47). The query processing apparatus 100 may receive the response R3 to obtain data according to the selection query processing result, and process the extended query on the data according to the selection query processing result (p48). According to an embodiment, according to the expansion level of the extended query, the query processing apparatus 100 repeats the generation of the request and the reception (p44 to p47) of the response R3 at least once, such as another data to be expanded may continue to receive. In this case, the extended query may be performed every time the response R3 is obtained, or may be performed after all the responses R3 are repeatedly obtained. Accordingly, a final response R4 to which the extended query and the selection query are applied is generated (p49), and is transmitted to the terminal device 99 as necessary (p49A).

도 10은 요청이 확장 쿼리 및 조건 쿼리를 포함하되 확장 쿼리는 미지원 쿼리이고 조건 쿼리는 지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.10 is a diagram illustrating an example of an operation of a query processing system in a case in which a request includes an extended query and a conditional query, wherein the extended query is an unsupported query and the conditional query is a supported query.

도 10에 도시된 바에 의하면, 일 실시예에 있어서 데이터 처리 장치(200)는 확장 쿼리는 지원하지 않되 조건 쿼리는 지원하고, 단말 장치(99)는 확장 쿼리 및 조건 쿼리를 포함하는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달할 수 있다(p50). 상술한 바와 같이 제1 요청(R1)은 처리 불가 쿼리를 포함하지 않을 수 있다. 쿼리 처리 장치(100)는 제1 요청(R1)을 구문 분석 등의 방법을 통해 분석하고(p51), 제1 요청(R1)으로부터 적어도 하나의 쿼리, 즉 확장 쿼리 및 조건 쿼리를 추출한 후 각각의 쿼리가 지연 쿼리인지 미지원 쿼리인지 여부를 판단하여 위에 언급한 바와 같이 확장 쿼리는 미지원 쿼리이고 조건 쿼리는 지원 쿼리라고 결정할 수 있다(p52). 순차적으로 쿼리 처리 장치(100)는 지원 쿼리인 조건 쿼리를 포함하는 제2 요청(R2)을 생성하고(p53), 생성한 제2 요청(R2)을 데이터 처리 장치(200)로 전달할 수 있다(p54). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고 제2 요청(R2)에 따라 조건에 부합하는 데이터를 검색하여 응답(R3)을 생성하고(p55), 생성한 응답(R3), 즉 조건에 부합되는 하나 이상의 데이터를 쿼리 처리 장치(100)로 전달할 수 있다(p56). 데이터 처리 장치(200)가 조건에 부합하는 데이터의 검색 및 전달이 가능하므로, 조건을 포함하는 제2 요청(R2)을 데이터 처리 장치로 전달하면, 데이터 처리 장치(200)의 쿼리 처리에 따라 조건에 부합하는 데이터만 쿼리 처리 장치(100)로 전달되므로, 장치(100, 200) 간 전송되는 데이터의 양이나 쿼리 처리 장치(100)의 확장 쿼리 처리 속도 등이 개선되는 효과를 얻을 수 있다. 쿼리 처리 장치(100)는 응답을 분석하고(p57), 분석 결과에 따라서 추가 요청을 더 생성하여 데이터 처리 장치(200)로 전달할 수 있다(p58). 이 경우, 추가 요청은 예를 들어 확장을 위해 필요한 적어도 하나의 데이터에 대한 전달 요청을 포함할 수도 있다. 추가 요청에 대응하여 데이터 처리 장치(200)는 추가 응답(일례로 확장을 위해 필요한 적어도 하나의 데이터)을 획득하고, 획득한 추가 응답을 쿼리 처리 장치(100)로 전달할 수 있다(p59). 쿼리 처리 장치(100)는 수신한 추가 응답을 분석하고 및/또는 최초에 받았던 응답과 수신한 추가 응답을 병합함으로써 병합된 응답(일례로 병합된 데이터)을 획득할 수 있다(p59A). 상술한 추가 요청 전달(p58), 추가 응답 전달(p59) 및 응답 병합(p59A)은 적어도 2회 반복될 수도 있다. 병합된 응답은 확장 대상이 되는 데이터와 확장에 이용될 데이터를 포함할 수 있다. 이어서 쿼리 처리 장치(100)는 병합된 데이터(응답)로부터 조건에 부합되는 데이터를 검출함으로써 조건 쿼리에 대응하는 처리 결과를 획득하고(p59B), 이를 이용하여 최종적인 응답(R4)을 획득하고(p59C), 획득한 최종 응답을 단말 장치(99)로 전송할 수 있다(p59D). 이에 따라 사용자나 관리자는 확장 쿼리 및 조건 쿼리에 맞는 결과를 얻을 수 있게 된다.As shown in FIG. 10 , in an embodiment, the data processing device 200 does not support the extended query but supports the conditional query, and the terminal device 99 provides a first request ( R1) may be transmitted to the query processing device 100 (p50). As described above, the first request R1 may not include the unprocessable query. The query processing apparatus 100 analyzes the first request R1 through a method such as parsing analysis (p51), and extracts at least one query, that is, an extended query and a conditional query from the first request R1, and then By determining whether the query is a lazy query or an unsupported query, it can be determined that the extended query is an unsupported query and the conditional query is a supported query (p52). The query processing apparatus 100 may sequentially generate a second request R2 including a conditional query that is a support query (p53), and transmit the generated second request R2 to the data processing apparatus 200 ( p54). The data processing device 200 receives the second request R2, searches for data matching the condition according to the second request R2, and generates a response R3 (p55), the generated response R3, That is, one or more data satisfying the condition may be transmitted to the query processing apparatus 100 (p56). Since the data processing device 200 is capable of retrieving and delivering data that meets the condition, when the second request R2 including the condition is transmitted to the data processing device, the condition according to the query processing of the data processing device 200 is Since only data corresponding to . is transmitted to the query processing device 100 , the amount of data transmitted between the devices 100 and 200 or the extended query processing speed of the query processing device 100 may be improved. The query processing apparatus 100 may analyze the response (p57), and may further generate an additional request according to the analysis result and transmit it to the data processing apparatus 200 (p58). In this case, the additional request may include, for example, a request for delivery of at least one data required for extension. In response to the additional request, the data processing apparatus 200 may obtain an additional response (eg, at least one data required for expansion) and transmit the acquired additional response to the query processing apparatus 100 (p59). The query processing apparatus 100 may obtain a merged response (eg, merged data) by analyzing the received additional response and/or merging the initially received response and the received additional response (p59A). The above-described forwarding of additional request (p58), forwarding of additional response (p59), and merging of responses (p59A) may be repeated at least twice. The merged response may include data to be extended and data to be used for extension. Subsequently, the query processing apparatus 100 obtains a processing result corresponding to the conditional query by detecting data that meets the condition from the merged data (response) (p59B), and uses this to obtain a final response (R4) ( p59C), the obtained final response may be transmitted to the terminal device 99 (p59D). Accordingly, users or administrators can obtain results suitable for extended queries and conditional queries.

도 11은 요청이 둘 이상의 조건 쿼리를 포함하되 조건 쿼리 중 일부 쿼리만 미지원 쿼리인 경우에서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.11 is a diagram illustrating an example of the operation of the query processing system when a request includes two or more conditional queries, but only some of the conditional queries are unsupported queries.

도 11에 도시된 바와 같이, 데이터 처리 장치(200)가 조건 쿼리 중 일부의 조건 쿼리만 지원하고, 단말 장치(99)는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달하되, 제1 요청(R1)은 일부는 지원 쿼리에 해당하고 다른 일부는 미지원 쿼리에 해당하는 둘 이상의 조건 쿼리를 포함할 수도 있다(p60). 이 경우에도 제1 요청(R1)은 처리 불가 쿼리는 포함하지 않을 수 있다. 쿼리 처리 장치(100)는 단말 장치(99)로부터 전달된 제1 요청(R1)을 구문 분석 등의 방법을 통해 분석하여(p61), 둘 이상의 조건 쿼리를 제1 요청(R1)으로부터 획득하고, 조건 쿼리 각각에 대한 데이터 처리 장치(200)의 지원 여부를 판단할 수 있다(p62). 각각의 조건 쿼리에 대한 지원 또는 미지원 여부가 판단되면, 쿼리 처리 장치(10)는 제1 요청(R1)으로부터 미지원 조건 쿼리는 제거하고 지원 조건 쿼리만 남겨 제2 요청(R2)을 생성할 수 있다(p63). 지원 조건 쿼리를 포함하는 제2 요청(R2)은 데이터 처리 장치(200)로 전달된다(p64). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고, 제2 요청(R2)에 따라 지원하는 조건 쿼리에 대한 처리를 수행하여 지원하는 조건 쿼리에 부합하는 응답(R3, 일례로 조건에 부합하는 적어도 하나의 데이터)을 결정 및 획득하고(p65), 결정 및 획득한 응답(R3)을 쿼리 처리 장치(100)로 전달한다(p66), 쿼리 처리 장치(100)는 응답(R3)을 수신하여 지원하는 조건에 부합되는 데이터를 획득하고, 조건에 부합되는 데이터에 대해 미지원 조건 쿼리의 처리를 수행할 수 있다(p67). 이에 따라 미지원 조건 쿼리 및 지원 조건 쿼리에 해당하는 처리 결과(즉, 데이터)가 획득된다. 쿼리 처리 장치(100)는 소정의 가공 등을 거치거나 또는 거치지 않고 획득된 데이터를 기반으로 최종 응답을 생성하고(p68), 생성한 최종 응답을 단말 장치(99)로 전달한다(p69). 이에 따라 관리자 또는 사용자는 쿼리로 입력한 모든 조건에 부합되는 데이터를 취득할 수 있게 된다.11 , the data processing device 200 supports only some conditional queries among the conditional queries, and the terminal device 99 transmits the first request R1 to the query processing device 100, but 1 request (R1) may include two or more conditional queries, some of which correspond to support queries and others correspond to non-supported queries (p60). Even in this case, the first request R1 may not include the unprocessable query. The query processing device 100 analyzes the first request R1 transmitted from the terminal device 99 through a method such as syntax analysis (p61), and obtains two or more conditional queries from the first request R1, It may be determined whether the data processing apparatus 200 supports each of the conditional queries (p62). When it is determined whether each conditional query is supported or not supported, the query processing device 10 removes the unsupported conditional query from the first request R1 and leaves only the supported conditional query to generate the second request R2. (p63). The second request R2 including the support condition query is transmitted to the data processing device 200 (p64). The data processing device 200 receives the second request R2, performs processing on the supported condition query according to the second request R2, and responds to the supported condition query R3, for example, the condition at least one matching data) is determined and obtained (p65), and the determined and obtained response R3 is transmitted to the query processing device 100 (p66), and the query processing device 100 transmits the response R3 It is possible to obtain data meeting the received condition and to perform the processing of the non-support condition query on the data that meets the condition (p67). Accordingly, processing results (ie, data) corresponding to the non-support condition query and the support condition query are obtained. The query processing device 100 generates a final response based on the obtained data with or without a predetermined processing (p68), and transmits the generated final response to the terminal device 99 (p69). Accordingly, an administrator or a user can acquire data that meets all conditions input by a query.

도 12는 요청이 확장 쿼리를 포함하되 데이터 처리 장치가 확장 기능 중 일부만 지원하는 경우에 있어서의 쿼리 처리 시스템의 동작의 일례를 도시한 도면이다.12 is a diagram illustrating an example of the operation of the query processing system when a request includes an extended query but the data processing apparatus supports only some of the extended functions.

도 12에 도시된 바와 같이 데이터 처리 장치(200)가 특정 단계 이내의 확장 쿼리(예를 들어, 2단계까지의 확장 쿼리)만 지원하고 단말 장치(99)는 특정 단계를 초과하는 확장 쿼리(예를 들어, 3단계까지의 확장 쿼리)를 포함하는 제1 요청(R1)을 쿼리 처리 장치(100)로 전달하는 경우에 있어서, 쿼리 처리 장치(100)는 제1 요청(R1)을 수신하고(p70), 수신한 제1 요청(R1)을 분석하여 확장 쿼리를 추출하고(p71), 추출한 확장 쿼리가 지원 대상인 쿼리인지 판단할 수 있다(p72). 상술한 바와 같이 특정 단계를 초과하는 확장 쿼리는 데이터 처리 장치(200)에 의해 지원되지 않으므로, 쿼리 처리 장치(100)는 최대 지원되는 범위까지의 확장 쿼리(즉, 지원되는 특정 단계 이하에 해당하는 확장 쿼리)를 포함하도록 제2 요청(R2)을 생성하고(p73), 생성한 제2 요청(R2)을 통신 네트워크를 통해 데이터 처리 장치(200)로 전달할 수 있다(p74). 데이터 처리 장치(200)는 제2 요청(R2)을 수신하고, 제2 요청(R2)을 분석하여 제2 요청(R2)에 포함된 특정 이하 단계의 확장 커리 처리를 수행하여, 특정 이하 단계로 확장된 데이터를 획득할 수 있다. 쿼리 처리 장치(100)는 추가적인 확장(즉, 특정 단계를 초과하는 확장)의 처리를 위하여 데이터 처리 장치(200)로 추가 확장을 위한 데이터의 요청을 새로 생성하여 데이터 처리 장치(200)로 전송할 수 있다(p77). 이 경우, 쿼리 처리 장치(100)는 데이터 중에서 확장을 통해 부가된 데이터를 분석하여 확장이 필요한 부분(데이터 또는 이를 포함하는 필드나 속성 등)을 결정하고, 결정된 바에 따라서 추가 확장을 위한 데이터를 데이터 처리 장치(200)에 요청할 수도 있다. 데이터 처리 장치(200)는 요청에 응하여 추가 확장을 위한 데이터를 포함하는 응답을 획득하고(p78), 획득한 응답(즉, 추가 확장을 위한 데이터)을 쿼리 처리 장치(100)로 더 전송할 수 있다. 필요에 따라서, 추가 확장을 위한 데이터의 요청 내지 데이터의 수신(p77 내지 p79)은 2회 이상 반복되는 것도 가능하다. 추가 확장을 위한 데이터의 수신과 동시에 또는 데이터의 수신이 종료되면, 쿼리 처리 장치(100)는 수신한 데이터를 기반으로 특정 단계를 초과하는 확장 쿼리의 처리를 수행하여 데이터를 단말 장치(99)를 통해 요청된 단계까지 확장시킬 수 있다(p79A). 이어서 쿼리 처리 장치(100)는 쿼리 처리 결과에 대응하는 최종 응답을 생성하고(p79B), 최종 응답을 단말 장치(99)로 전달할 수 있다(p79C). 따라서, 데이터 처리 장치(200)가 일부 단계의 확장만을 지원하는 경우에도 관리자 또는 사용자가 원하는 수준까지 데이터의 확장이 가능하게 된다.As shown in FIG. 12 , the data processing device 200 supports only the extended query within a specific stage (eg, extended query up to 2nd stage) and the terminal device 99 supports the extended query exceeding the specific stage (eg For example, in the case of transmitting the first request (R1) including the extended query up to step 3) to the query processing device 100, the query processing device 100 receives the first request (R1) ( p70), an extended query may be extracted by analyzing the received first request R1 (p71), and it may be determined whether the extracted extended query is a supported query (p72). As described above, since the extended query exceeding a specific step is not supported by the data processing device 200, the query processing device 100 performs an extended query up to the maximum supported range (that is, extended query) may be generated (p73), and the generated second request R2 may be transmitted to the data processing device 200 through the communication network (p74). The data processing device 200 receives the second request R2, analyzes the second request R2, and performs extended curry processing of a specific sub-step included in the second request R2, to a specific sub-step Extended data can be obtained. The query processing device 100 may newly generate a data request for additional expansion to the data processing device 200 for processing of additional expansion (ie, expansion exceeding a specific stage) and transmit it to the data processing device 200 . There is (p77). In this case, the query processing apparatus 100 analyzes the data added through the expansion among the data to determine the part (data or fields or properties including the data) that needs to be expanded, and according to the determination, data for further expansion is provided to the data. A request may also be made to the processing device 200 . The data processing apparatus 200 may obtain a response including data for further extension in response to the request (p78), and further transmit the obtained response (ie, data for further extension) to the query processing apparatus 100 . . If necessary, the request for data for further extension or the reception of data (p77 to p79) may be repeated two or more times. Simultaneously with the reception of data for further expansion or when the reception of data is terminated, the query processing device 100 performs processing of an expansion query exceeding a specific step based on the received data to transmit the data to the terminal device 99 . It can be extended to the requested step through (p79A). Subsequently, the query processing device 100 may generate a final response corresponding to the query processing result (p79B) and transmit the final response to the terminal device 99 (p79C). Accordingly, even when the data processing apparatus 200 supports only partial expansion of data, it is possible to expand data to a level desired by an administrator or a user.

이하 도 13 내지 도 15를 참조하여 쿼리 처리 방법의 일 실시예를 설명하도록 한다.Hereinafter, an embodiment of a query processing method will be described with reference to FIGS. 13 to 15 .

도 13은 쿼리 처리 방법의 일 실시예에 대한 제1 흐름도이고, 도 14는 쿼리 처리 방법의 일 실시예에 대한 제2 흐름도이다.13 is a first flowchart of an embodiment of a query processing method, and FIG. 14 is a second flowchart of an embodiment of a query processing method.

도 13에 도시된 바에 의하면, 먼저 단말 장치는 관리자나 사용자의 조작이나 미리 정의된 설정에 따라서 쿼리 처리 장치로 제1 요청을 유선 및/또는 무선 통신 네트워크를 통하여 전달하고, 쿼리 처리 장치는 제1 요청을 수신할 수 있다(400). As shown in FIG. 13 , first, the terminal device transmits a first request to the query processing device through a wired and/or wireless communication network according to an operation of an administrator or a user or a predefined setting, and the query processing device transmits the first A request may be received ( 400 ).

쿼리 처리 장치는 필요에 따라 제1 요청이 적어도 하나의 쿼리를 포함하는지를 판단할 수 있다(402). 여기서, 적어도 하나의 쿼리는 미지원 쿼리만을 포함할 수도 있고, 지원 쿼리만을 포함할 수도 있으며, 미지원 쿼리 및 지원 쿼리를 모두 포함할 수도 있다. 미지원 쿼리는 상술한 바와 같이 데이터 처리 장치에 의해 처리 불가능한 쿼리이고, 지원 쿼리는 데이터 처리 장치에 의해 처리 가능한 쿼리이다. 쿼리 처리 장치는 구문 분석 등의 방법을 통해 제1 요청에 쿼리가 존재하는지 여부를 판단할 수 있다. The query processing apparatus may determine whether the first request includes at least one query as needed ( 402 ). Here, the at least one query may include only unsupported queries, only support queries, and may include both unsupported queries and supported queries. The unsupported query is a query that cannot be processed by the data processing device as described above, and the supported query is a query that can be processed by the data processing device. The query processing apparatus may determine whether a query exists in the first request through a method such as parsing analysis.

만약 제1 요청이 어떠한 쿼리도 포함하지 않는다면(402의 아니오), 쿼리 처리 장치는 이에 대응하여 제1 요청을 그대로 데이터 처리 장치로 전달할 수 있다(404). 필요에 따라, 쿼리 처리 장치는 제1 요청을 기반으로 제2 요청을 생성하여 데이터 처리 장치로 전달할 수도 있으며, 이 경우 쿼리 처리 장치는 제1 요청을 가공하여 제1 요청에 상응하는 제2 요청을 생성할 수도 있다. 데이터 처리 장치는 제1 요청 또는 제1 요청에 상응하는 제2 요청을 기반으로 적어도 하나의 동작을 수행할 수 있다. 적어도 하나의 동작의 수행에 따라 획득된 결과는 필요에 따라 단말 장치 및 쿼리 처리 장치 중 적어도 하나로 전달될 수 있다.If the first request does not include any queries (No in step 402 ), the query processing device may transmit the first request to the data processing device as it is in response thereto ( 404 ). If necessary, the query processing device may generate a second request based on the first request and transmit it to the data processing device, in which case the query processing device processes the first request to provide a second request corresponding to the first request. You can also create The data processing apparatus may perform at least one operation based on the first request or a second request corresponding to the first request. A result obtained by performing at least one operation may be transmitted to at least one of a terminal device and a query processing device, if necessary.

만약 제1 요청이 적어도 하나의 쿼리를 포함한다면(402의 예), 쿼리 처리 장치는 적어도 하나의 쿼리를 추출하고, 적어도 하나의 쿼리 각각이 지원 쿼리인지 또는 미지원 쿼리인지 여부를 판단할 수 있다(406).If the first request includes at least one query (Yes of 402), the query processing device may extract at least one query and determine whether each of the at least one query is a supported query or an unsupported query ( 406).

판단 결과, 추출된 쿼리 중 모든 쿼리가 미지원 쿼리라면(408의 예), 쿼리 처리 장치는 제1 요청을 가공함으로써 제1 요청에 대응하는 제2 요청을 획득하고, 획득한 제2 요청을 유선 및/또는 무선 통신 네트워크를 통하여 데이터 처리 장치로 전달할 수 있다(410). 여기서, 쿼리 처리 장치는 제1 요청으로부터 미지원 쿼리를 제거하여 제1 요청을 가공할 수 있다. 또한, 제2 요청은 쿼리의 처리를 요청하고 요청에 대응하는 응답을 수신하는 자가 쿼리 처리 장치라는 것을 안내하기 위한 정보를 포함할 수도 있다.As a result of the determination, if all queries among the extracted queries are unsupported queries (YES in S408), the query processing device obtains a second request corresponding to the first request by processing the first request, and sends the obtained second request to a wired and / or may be transmitted to the data processing device through a wireless communication network (410). Here, the query processing apparatus may process the first request by removing the unsupported query from the first request. In addition, the second request may include information for informing that a person requesting processing of the query and receiving a response corresponding to the request is the query processing apparatus.

데이터 처리 장치는 제2 요청을 수신하고, 제2 요청에 대응하는 응답을 획득하여 쿼리 처리 장치로 전달하고, 쿼리 처리 장치는 제2 요청에 대응하는 응답을 수신한다(412). 응답은 쿼리 처리의 대상이 되는 데이터를 포함할 수도 있고, 데이터에 대한 관련 정보(예를 들어, 데이터베이스의 명칭이나 속성 등)를 포함할 수도 있다.The data processing device receives the second request, obtains a response corresponding to the second request and transmits it to the query processing device, and the query processing device receives a response corresponding to the second request ( 412 ). The response may include data to be processed by the query, or information related to the data (eg, a name or attribute of a database, etc.).

쿼리 처리 장치는 제2 요청에 따라 추가 요청이 필요한지 여부를 판단하고(414), 만약 추가 요청이 필요한 경우라면(414의 예), 제2 요청에 대응하는 응답의 수신 즉시 또는 일정한 시간이 경과된 후에 추가 요청을 생성하고 생성한 추가 요청을 데이터 처리 장치로 전달할 수 있다(416). 데이터 처리 장치는 추가 요청에 대응하여 추가 응답을 생성하여 쿼리 처리 장치로 전달하고, 쿼리 처리 장치는 응답을 수신할 수 있다(412). 추가 요청에 대응하는 응답은 쿼리 처리 대상이 되는 데이터나 및/또는 이에 대한 관련 정보를 포함할 수도 있다. 추가 요청의 필요 여부의 판단(414), 추가 요청의 생성과 전송(416) 및 추가 응답의 생성과 전달 과정(417)은 추가 요청이 불필요할 때까지 반복 수행될 수 있다.The query processing unit determines whether an additional request is required according to the second request ( 414 ), and if the additional request is required (Yes in 414 ), immediately upon receipt of a response corresponding to the second request or after a certain period of time has elapsed Thereafter, an additional request may be generated and the generated additional request may be transmitted to the data processing device ( 416 ). The data processing device may generate an additional response in response to the additional request and transmit it to the query processing device, and the query processing device may receive the response ( 412 ). The response corresponding to the additional request may include data to be processed by the query and/or information related thereto. Determination of whether an additional request is necessary ( 414 ), generating and transmitting an additional request ( 416 ), and generating and transmitting an additional response ( 417 ) may be repeatedly performed until the additional request is unnecessary.

만약 추가 요청이 불필요한 경우라면(414의 아니오), 쿼리 처리 장치는 데이터 처리 장치로부터 수신한 데이터에 대해서 미지원 쿼리를 처리하고, 미지원 쿼리에 대응하는 처리 결과(즉, 미지원 쿼리에 상응하는 데이터(들))를 획득한다(418).If the additional request is unnecessary (No in 414 ), the query processing unit processes an unsupported query for the data received from the data processing apparatus, and a processing result corresponding to the unsupported query (ie, data(s) corresponding to the unsupported query) )) is obtained (418).

쿼리 처리 장치는 미지원 쿼리에 대응하는 처리 결과를 일시적 또는 비일시적으로 저장하거나, 최종 응답으로 하여 제1 요청을 전달한 단말 장치 및/또는 미리 정의된 다른 장치(다른 단말 장치나 서버 장치 등)로 전달할 수 있다(420). 최종 응답은 처리 결과를 적당한 포맷으로 변환하여 생성한 것일 수도 있다.The query processing device temporarily or non-temporarily stores the processing result corresponding to the unsupported query, or transmits it to the terminal device that has transmitted the first request as a final response and/or another predefined device (such as another terminal device or server device) may (420). The final response may be generated by converting the processing result into an appropriate format.

한편 도 13에 도시된 바와 같이 지원 쿼리의 판단 결과(406), 모든 쿼리가 미지원 쿼리가 아니고, 적어도 하나의 지원 쿼리를 포함하는 경우에 있어서(408의 아니오), 만약 도 14에 도시된 바와 같이 모든 쿼리 중 일부가 지원 쿼리라면(430의 예), 쿼리 처리 장치는 제1 요청에서 미지원 쿼리는 제거하고 지원 쿼리는 남겨두어 제2 요청을 생성할 수 있다(432). 그 결과, 제2 요청은 지원 쿼리는 포함하게 된다.On the other hand, as shown in FIG. 13 , in the case where all queries are not unsupported queries and include at least one support query (No in 408 ), as shown in FIG. 14 , as shown in FIG. If some of all queries are support queries (Yes in 430 ), the query processing unit may remove the unsupported query from the first request and generate the second request by leaving the support query ( 432 ). As a result, the second request includes a support query.

지원 쿼리를 포함하는 제2 요청은 데이터 처리 장치로 유선 및/또는 무선 통신 네트워크를 통해 전달되고, 데이터 처리 장치는 제2 요청의 수신에 응하여 데이터 처리 장치 또는 이에 연결된 외부 스토리지의 데이터 중에서 제2 요청의 지원 쿼리의 처리 대상이 되는 데이터를 획득하고, 처리 대상이 되는 데이터에 대해 지원 쿼리의 처리를 수행한다(434).The second request including the support query is transmitted to the data processing device through a wired and/or wireless communication network, and the data processing device responds to receiving the second request to receive a second request from among data in the data processing device or external storage connected thereto Data to be processed by the support query is obtained, and the support query is processed on the data to be processed ( 434 ).

데이터 처리 장치는 처리 결과(즉, 지원 쿼리의 처리가 수행된 데이터)를 제2 요청을 전달한 쿼리 처리 장치로 전달하고, 쿼리 처리 장치는 처리 결과를 수신할 수 있다(436).The data processing device may transmit the processing result (ie, data on which the processing of the support query is performed) to the query processing device that has transmitted the second request, and the query processing device may receive the processing result ( 436 ).

쿼리 처리 장치는 처리 결과의 수신에 응하여, 지원 쿼리의 처리가 수행된 데이터에 대해 미지원 쿼리를 처리함으로써 지원 쿼리 및 미지원 쿼리 양자 모두에 상응하는 처리 결과를 획득할 수 있게 된다(438). 처리 결과는 그대로 또는 포맷 변환 등의 가공 처리가 수행된 후 최종 응답의 형태로 단말 장치 및/또는 미리 정의된 다른 장치 등으로 전달될 수 있다(420).In response to the reception of the processing result, the query processing apparatus may obtain processing results corresponding to both the support query and the unsupported query by processing the unsupported query on the data on which the processing of the support query has been performed ( 438 ). The processing result may be transmitted as it is or in the form of a final response after processing such as format conversion is performed to a terminal device and/or another predefined device ( 420 ).

만약 도 13에 도시된 바와 같이 모든 쿼리가 미지원 쿼리가 아니고, 도 14에 도시된 바와 같이 모든 쿼리 중 일부가 지원 쿼리라면(408의 아니오, 430의 예), 모든 쿼리는 지원 쿼리임을 의미한다. 따라서, 쿼리 처리 장치는, 데이터 처리 장치가 제1 요청 내의 모든 쿼리를 처리할 수 있으므로, 단말 장치의 제1 요청을 그대로 데이터 처리 장치로 전달할 수 있다. 필요에 따라 쿼리 처리 장치는 데이터 처리 장치의 처리 결과 수신을 위해 제1 요청에 상응하는 제2 요청을 생성하여 데이터 처리 장치로 전달할 수도 있다(440). 여기서, 제2 요청은 요청 전달자가 쿼리 처리 장치임을 안내하기 위한 정보를 포함할 수도 있다. If not all queries are unsupported queries as shown in FIG. 13 and some of all queries are supported queries as shown in FIG. 14 (No in 408, Yes in 430), it means that all queries are supported queries. Accordingly, the query processing device may transmit the first request of the terminal device to the data processing device as it is because the data processing device may process all queries in the first request. If necessary, the query processing apparatus may generate a second request corresponding to the first request to receive the processing result of the data processing apparatus and transmit it to the data processing apparatus (440). Here, the second request may include information for guiding that the request transmitter is the query processing device.

데이터 처리 장치는 그대로 전달된 제1 요청 또는 제1 요청에 상응하는 제2 요청을 수신하고, 제1 요청 또는 제2 요청 내의 지원 쿼리에 따른 동작을 수행하여 처리 결과를 획득하고(442), 처리 결과를 단말 장치 또는 쿼리 처리 장치로 전달할 수 있다.The data processing device receives the delivered first request or a second request corresponding to the first request, performs an operation according to the first request or a support query in the second request to obtain a processing result ( 442 ), and processes The result may be delivered to a terminal device or a query processing device.

쿼리 처리 장치는 처리 결과를 수신하면(444), 처리 결과를 단말 장치 등으로 최종 응답의 형태로 전달할 수 있다(420).Upon receiving the processing result ( 444 ), the query processing device may transmit the processing result to a terminal device in the form of a final response ( 420 ).

도 15는 쿼리 처리 방법의 일 실시예에 대한 제3 흐름도이다.15 is a third flowchart of an embodiment of a query processing method.

상술한 바와 동일하게 쿼리 처리 장치는 단말 장치로부터 제1 요청을 수신하면(450), 수신한 제1 요청이 적어도 하나의 쿼리를 포함하는지 여부를 판단할 수 있다(452). 만약 쿼리가 부재한 경우라면(452의 아니오), 제1 요청 또는 제1 요청에 상응하는 제2 요청을 데이터 처리 장치로 전달하고, 데이터 처리 장치는 제1 요청 또는 제2 요청에 따라 동작할 수 있다(454).As described above, upon receiving the first request from the terminal device ( S450 ), the query processing apparatus may determine whether the received first request includes at least one query ( S452 ). If the query does not exist (No in 452), the first request or a second request corresponding to the first request is transmitted to the data processing device, and the data processing device may operate according to the first request or the second request. There is (454).

만약 제1 요청이 적어도 하나의 쿼리를 포함한다면(452의 예), 쿼리 처리 장치는 적어도 하나의 쿼리를 추출하고, 적어도 하나의 쿼리 각각이 어떠한 쿼리인지를 판단할 수 있다(456).If the first request includes at least one query (Yes of 452 ), the query processing apparatus may extract the at least one query and determine which query each of the at least one query is ( 456 ).

일 실시예에 있어서 만약 추출된 쿼리의 전부가 처리 불가 쿼리이면(458의 예), 쿼리 처리 장치는 처리 불가 쿼리에 대응하는 메시지를 생성할 수 있다(460). 여기서, 처리 불가 쿼리는 쿼리 처리 장치 및 데이터 처리 장치 모두가 지원하지 않아 양자 모두가 처리할 수 없는 쿼리를 의미한다. 다른 실시예에 의하면, 추출된 쿼리의 일부가 처리 불가 쿼리인 경우에도 쿼리 처리 장치는 처리 불가 쿼리에 대응하는 메시지를 생성하는 것도 가능하다(460).According to an embodiment, if all of the extracted queries are unprocessable queries (Yes in 458), the query processing device may generate a message corresponding to the inprocessable query (460). Here, the unprocessable query means a query that cannot be processed by both the query processing device and the data processing device because neither of the query processing device and the data processing device support it. According to another embodiment, even when a part of the extracted query is an unprocessable query, the query processing apparatus may generate a message corresponding to the unprocessable query ( 460 ).

생성된 처리 불가 쿼리에 대응하는 메시지는 최종 응답의 형태로 단말 장치로 전송될 수 있다(462).A message corresponding to the generated unprocessable query may be transmitted to the terminal device in the form of a final response ( 462 ).

한편, 추출된 쿼리의 전부가 처리 불가 쿼리가 아니면(458의 아니오, 또는, 실시예에 따라 추출된 쿼리의 일부가 처리 불가 쿼리가 아니면), 도 13 및 도 14에 도시된 바와 같이 지원 쿼리는 데이터 처리 장치에 의해 처리되고, 미지원 쿼리는 쿼리 처리 장치에 의해 처리된 후, 제1 요청에 대한 응답은 최종적으로 쿼리 처리 장치에 의해 단말 장치 등으로 전송될 수 있다(464).On the other hand, if all of the extracted queries are not unprocessable queries (No in 458, or some of the extracted queries are not unprocessable queries according to the embodiment), as shown in FIGS. 13 and 14, the support query is After being processed by the data processing device and the unsupported query is processed by the query processing device, a response to the first request may be finally transmitted by the query processing device to a terminal device or the like ( 464 ).

상술한 실시예에 따른 쿼리 처리 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다. 상술한 쿼리 처리 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 롬(ROM), 램(RAM), 플래시 메모리, 솔리드 스테이트 드라이브(SSD: Solid State Drive) 또는 SD(Secure Digital) 카드 등과 같은 반도체 저장 매체나, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체나, 컴팩트 디스크(CD), 디브이디(DVD) 또는 레이저 디스크 등과 같은 광 기록 매체(optical media)나, 플롭티컬 디스크 등과 같은 광자기 디스크나, 자기 드럼이나, 자기 테이프 등과 같이 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 영구적 또는 반영구적으로 저장 가능한 적어도 한 종류의 물리적 장치를 포함할 수 있다.The query processing method according to the above-described embodiment may be implemented in the form of a program that can be driven by a computer device. Here, the program may include program instructions, data files, and data structures alone or in combination. The program may be designed and manufactured using machine code or high-level language code. The program may be specially designed to implement the above-described method, or may be implemented using various functions or definitions that are known and available to those skilled in the art of computer software. Also, here, the computer device may be implemented including a processor or memory that enables the function of the program to be realized, and may further include a communication device if necessary. A program for implementing the above-described query processing method may be recorded in a computer-readable recording medium. The computer-readable recording medium is, for example, a semiconductor storage medium such as ROM, RAM, flash memory, solid state drive (SSD) or secure digital (SD) card; A magnetic disk storage medium such as a hard disk or a floppy disk, an optical recording medium such as a compact disk (CD), a DVD or a laser disk, a magneto-optical disk such as a floppy disk, a magnetic drum or , magnetic tape, etc. may include at least one type of physical device capable of permanently or semi-permanently storing a specific program executed in response to a call from a computer.

이상 쿼리 처리 시스템, 쿼리 처리 장치 및 쿼리 처리 방법의 여러 실시예에 대해 설명하였으나, 쿼리 처리 시스템, 쿼리 처리 장치 및 쿼리 처리 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 시스템이나, 장치나 방법 역시 상술한 쿼리 처리 시스템, 쿼리 처리 장치 및 쿼리 처리 방법의 일 실시예가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 쿼리 처리 시스템, 쿼리 처리 장치 및 쿼리 처리 방법에 해당할 수 있다.Although various embodiments of the query processing system, the query processing apparatus, and the query processing method have been described above, the query processing system, the query processing apparatus, and the query processing method are not limited to only the above-described embodiments. Various systems, devices, or methods that can be implemented by those skilled in the art by modifying and transforming based on the above-described embodiment may also be an embodiment of the above-described query processing system, query processing device, and query processing method. have. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc., are combined or combined in a different form than the described method, or other components or Even if they are substituted or substituted by equivalents, they may correspond to the query processing system, query processing apparatus, and query processing method described above.

99: 단말 장치 100: 쿼리 처리 장치
101: 통신부 110: 프로세서
120: 요청분석부 131: 요청전달처리부
133: 응답획득부 135: 수신응답처리부
137: 쿼리처리부 140: 최종응답생성부
200: 데이터 처리 장치
99: terminal device 100: query processing device
101: communication unit 110: processor
120: request analysis unit 131: request delivery processing unit
133: response acquisition unit 135: reception response processing unit
137: query processing unit 140: final response generation unit
200: data processing unit

Claims (22)

단말 장치;
상기 단말 장치와 통신 가능하게 연결된 쿼리 처리 장치; 및
상기 쿼리 처리 장치와 통신 가능하게 연결되고 데이터의 저장 및 처리를 수행하는 데이터 처리 장치;를 포함하고,
상기 쿼리 처리 장치는, 상기 단말 장치로부터 요청을 수신하고, 상기 단말 장치로부터 수신한 요청이 하나 또는 둘 이상의 쿼리를 포함하면, 상기 하나 또는 둘 이상의 쿼리 각각에 대해 상기 데이터 처리 장치의 처리 지원 여부를 판단하고, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 데이터 처리 장치의 미지원 쿼리이면, 상기 미지원 쿼리에 대한 처리를 수행하는 쿼리 처리 시스템.
terminal device;
a query processing device communicatively connected to the terminal device; and
A data processing device that is communicatively connected to the query processing device and stores and processes data;
The query processing device receives a request from the terminal device, and when the request received from the terminal device includes one or more queries, determines whether the data processing device supports processing of the one or more queries, respectively. and if at least one of the one or more queries is an unsupported query of the data processing device, the query processing system performs processing on the unsupported query.
제1항에 있어서,
상기 쿼리 처리 장치는, 상기 데이터 처리 장치로부터 상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하고, 상기 미지원 쿼리를 이용하여 상기 미지원 쿼리의 처리를 위한 데이터를 처리하는 쿼리 처리 시스템.
According to claim 1,
The query processing device is configured to receive data for processing the unsupported query from the data processing device from the data processing device, and process the data for processing the unsupported query by using the unsupported query.
제1항에 있어서,
상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 상기 미지원 쿼리가 제거된 요청을 상기 데이터 처리 장치로 전송하고, 상기 미지원 쿼리가 제거된 요청에 대응하는 상기 데이터 처리 장치의 응답을 분석하고, 분석 결과에 따라서 상기 데이터 처리 장치에 추가 요청을 더 전송하는 쿼리 처리 시스템
According to claim 1,
The query processing device transmits a request from which the unsupported query is removed among the one or more queries to the data processing device, and analyzes a response of the data processing device corresponding to the request from which the unsupported query is removed, and analysis a query processing system that further sends an additional request to the data processing device according to the result
제1항에 있어서,
상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송하는 쿼리 처리 시스템.
According to claim 1,
The query processing device is configured to transmit a request for processing the support query to the data processing device when at least one of the one or more queries is a support query of the data processing device.
제4항에 있어서,
상기 쿼리 처리 장치는, 상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하되, 상기 미지원 쿼리의 처리를 위한 데이터는, 상기 데이터 처리 장치가 상기 지원 쿼리의 처리 결과에 따라 획득한 데이터를 포함하는 쿼리 처리 시스템.
5. The method of claim 4,
The query processing device is configured to receive data for processing the unsupported query from the data processing device, wherein the data for processing the unsupported query includes data obtained by the data processing device according to the processing result of the support query. Including query processing system.
제1항에 있어서,
상기 하나 또는 둘 이상의 쿼리는, 다른 데이터를 부가하여 데이터를 확장하기 위한 확장 쿼리, 조건에 대응하는 결과를 획득하기 위한 조건 쿼리, 결과의 일부를 선택하기 위한 선택 쿼리 및 상기 적어도 하나의 쿼리가 상기 쿼리 처리 장치와 상기 데이터 처리 장치 모두에 의해 처리가 지원되지 않는 처리 불가 쿼리 중 적어도 하나를 포함하는 쿼리 처리 시스템.
According to claim 1,
The one or more queries include an extended query for extending data by adding other data, a conditional query for obtaining a result corresponding to a condition, a select query for selecting a part of the result, and the at least one query, A query processing system comprising at least one of an unprocessable query for which processing is not supported by both the query processing unit and the data processing unit.
제6항에 있어서,
상기 쿼리 처리 장치는,
상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하면, 상기 하나 또는 둘 이상의 쿼리 중에서 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 해당하는 적어도 하나의 쿼리에 대한 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 의해 처리된 데이터를 수신하거나,
상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하지 않으면, 상기 하나 또는 둘 이상의 쿼리 중에서 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나에 해당하는 적어도 하나의 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하고, 상기 적어도 하나의 쿼리의 처리를 위한 데이터에 대해 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하거나, 또는
상기 적어도 하나의 쿼리가 처리 불가 쿼리를 포함하면, 상기 단말 장치로 처리 불가에 관한 메시지를 전송하는 쿼리 처리 시스템.
7. The method of claim 6,
The query processing device,
If the one or more queries include at least one of the condition query and the selection query, and the data processing device supports processing of any one of the condition query and the selection query, the condition among the one or more queries Transmitting a processing request for at least one query corresponding to any one of a query and the selection query to the data processing device, and receiving data processed by any one of the conditional query and the selection query from the data processing device do or,
If the one or more queries include at least one of the conditional query and the select query and the data processing device does not support processing of any one of the conditional query and the select query, Data for processing at least one query corresponding to any one of a conditional query and the selection query is received from the data processing device, and data for processing the at least one query is selected from among the conditional query and the selection query perform any of the processing; or
When the at least one query includes a query that cannot be processed, a query processing system for transmitting a message about inability to process to the terminal device.
제6항에 있어서,
상기 쿼리 처리 장치는, 상기 데이터 처리 장치가 상기 조건 쿼리를 미지원하고 상기 선택 쿼리를 지원하면, 상기 선택 쿼리에 대한 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 선택 쿼리에 의해 처리된 데이터를 수신하고, 상기 선택 쿼리에 의해 처리된 데이터를 기반으로 상기 조건 쿼리를 처리하는 쿼리 처리 시스템.
7. The method of claim 6,
The query processing device is configured to, when the data processing device does not support the condition query and supports the selection query, transmits a processing request for the selection query to the data processing device, from the data processing device by the selection query A query processing system that receives processed data and processes the conditional query based on data processed by the select query.
제6항에 있어서,
상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하고, 상기 확장 쿼리의 처리를 위한 데이터의 수신에 응하여 상기 확장 쿼리 처리를 위한 데이터를 적어도 일 회 병합하는 쿼리 처리 시스템.
7. The method of claim 6,
If at least one of the one or more queries includes the extended query and the data processing device does not support the processing of the extended query, the data processing device receives data for processing the extended query from the data processing device. at least once, and merging the data for processing the extended query at least once in response to receiving the data for processing the extended query.
제9항에 있어서,
상기 쿼리 처리 장치는, 상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 더 포함하며 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 지원하면, 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 요청을 상기 데이터 처리 장치로 전송하고, 상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 결과 중에서 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 쿼리 처리 시스템.
10. The method of claim 9,
The query processing device may include, wherein at least one of the one or more queries includes the extended query, and further includes at least one of the conditional query and the selection query, wherein the data processing device includes at least one of the conditional query and the selection query. If one processing is supported, a processing request of at least one of the conditional query and the selection query is transmitted to the data processing device, and the expansion of the at least one processing result of the conditional query and the selection query from the data processing device A query processing system that receives data for processing of a query at least once.
제1항에 있어서,
상기 쿼리 처리 장치는, 상기 단말 장치로부터 수신한 요청이 상기 적어도 하나의 쿼리를 포함하지 않는다면, 상기 단말 장치로부터 수신한 요청을 그대로 상기 데이터 처리 장치로 전송하는 쿼리 처리 시스템.
According to claim 1,
The query processing apparatus transmits the request received from the terminal apparatus to the data processing apparatus as it is, if the request received from the terminal apparatus does not include the at least one query.
데이터 처리 장치와 통신 가능하게 연결된 쿼리 처리 장치가 단말 장치로부터 요청을 수신하는 단계;
상기 쿼리 처리 장치가 상기 요청이 하나 또는 둘 이상의 쿼리를 포함하면, 상기 하나 또는 둘 이상의 쿼리 각각에 대해 상기 데이터 처리 장치의 처리 지원 여부를 판단하는 단계; 및
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계;를 포함하는 쿼리 처리 방법.
receiving, by a query processing device communicatively connected to the data processing device, a request from the terminal device;
determining, by the query processing device, whether the data processing device supports processing for each of the one or more queries when the request includes one or more queries; and
and if at least one of the one or more queries is an unsupported query of the data processing device, performing, by the query processing device, processing on the unsupported query.
제12항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는,
상기 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하는 단계; 및
상기 미지원 쿼리를 이용하여 상기 미지원 쿼리의 처리를 위한 데이터를 처리하는 단계;를 포함하는 쿼리 처리 방법.
13. The method of claim 12,
If at least one of the one or more queries is an unsupported query of the data processing device, the step of performing, by the query processing device, processing on the unsupported query,
receiving data for processing the unsupported query from the data processing device; and
and processing data for processing the unsupported query by using the unsupported query.
제12항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 상기 미지원 쿼리가 제거된 요청을 상기 데이터 처리 장치로 전송하는 단계;
상기 미지원 쿼리가 제거된 요청에 대응하는 상기 데이터 처리 장치의 응답을 분석하는 단계; 및
분석 결과에 따라서 상기 데이터 처리 장치에 추가 요청을 더 전송하는 단계;를 더 포함하는 쿼리 처리 방법.
13. The method of claim 12,
transmitting a request from which the unsupported query is removed among the one or more queries to the data processing device;
analyzing a response of the data processing device corresponding to the request from which the unsupported query is removed; and
Query processing method further comprising a; further transmitting an additional request to the data processing device according to the analysis result.
제12항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송하는 단계;를 더 포함하는 쿼리 처리 방법.
13. The method of claim 12,
If at least one of the one or more queries is a support query of the data processing device, transmitting a processing request of the support query to the data processing device.
제15항에 있어서,
상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는,
상기 적어도 하나의 미지원 쿼리의 처리를 위한 데이터를 상기 데이터 처리 장치로부터 수신하되, 상기 미지원 쿼리의 처리를 위한 데이터는, 상기 데이터 처리 장치가 상기 지원 쿼리의 처리 결과에 따라 획득한 데이터를 포함하는 단계;를 포함하는 쿼리 처리 방법.
16. The method of claim 15,
The step of the query processing device processing the unsupported query,
receiving data for processing the at least one unsupported query from the data processing device, wherein the data for processing the unsupported query includes data obtained by the data processing device according to a processing result of the support query How to handle queries containing ;.
제12항에 있어서,
상기 하나 또는 둘 이상의 쿼리는, 다른 데이터를 부가하여 데이터를 확장하기 위한 확장 쿼리, 조건에 대응하는 결과를 획득하기 위한 조건 쿼리, 결과의 일부를 선택하기 위한 선택 쿼리 및 상기 적어도 하나의 쿼리가 상기 쿼리 처리 장치와 상기 데이터 처리 장치 모두에 의해 처리가 지원되지 않는 처리 불가 쿼리 중 적어도 하나를 포함하는 쿼리 처리 방법.
13. The method of claim 12,
The one or more queries include an extended query for extending data by adding other data, a conditional query for obtaining a result corresponding to a condition, a select query for selecting a part of the result, and the at least one query, A query processing method comprising at least one of a query processing unit and an unprocessable query for which processing is not supported by both the query processing unit and the data processing unit.
제17항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는,
상기 쿼리 처리 장치가, 상기 하나 또는 둘 이상의 쿼리가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나를 포함하고, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 지원하고 상기 조건 쿼리 및 상기 선택 쿼리 중 다른 하나의 처리를 지원하지 않으면, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하여 획득된 데이터를 상기 데이터 처리 장치로부터 수신하는 단계; 및
상기 쿼리 처리 장치가, 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 어느 하나의 처리를 수행하여 획득된 데이터에 대해 상기 조건 쿼리 및 상기 선택 쿼리 중 상기 다른 하나의 처리를 수행하는 단계;를 포함하는 쿼리 처리 방법.
18. The method of claim 17,
If at least one of the one or more queries is an unsupported query of the data processing device, the step of performing, by the query processing device, processing on the unsupported query,
The query processing device is configured such that the one or more queries include at least one of the conditional query and the selection query, and the data processing device supports processing of any one of the conditional query and the selection query, and the conditional query and receiving, from the data processing device, data obtained by the data processing device processing any one of the condition query and the selection query if the other one of the selection queries is not supported; and
performing, by the query processing device, processing of the other one of the conditional query and the selection query on data obtained by the data processing device processing any one of the conditional query and the selection query; How to handle the containing query.
제17항에 있어서,
상기 쿼리 처리 장치가, 상기 적어도 하나의 쿼리가 처리 불가 쿼리를 포함하면, 상기 단말 장치로 처리 불가에 관한 메시지를 전송하는 단계;를 더 포함하는 쿼리 처리 방법.
18. The method of claim 17,
and transmitting, by the query processing device, a message regarding processing inability to the terminal device when the at least one query includes a query that cannot be processed.
제17항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 데이터 처리 장치의 미지원 쿼리이면, 상기 쿼리 처리 장치가 상기 미지원 쿼리에 대한 처리를 수행하는 단계는,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계; 및
상기 확장 쿼리의 처리를 위한 데이터의 수신에 응하여 상기 확장 쿼리 처리를 위한 데이터를 적어도 일 회 병합하는 단계;를 포함하는 쿼리 처리 방법.
18. The method of claim 17,
If at least one of the one or more queries is an unsupported query of the data processing device, the step of performing, by the query processing device, processing on the unsupported query,
When at least one of the one or more queries includes the extended query and the data processing device does not support processing of the extended query, data for processing the extended query is received from the data processing device at least once step; and
and merging the data for processing the extended query at least once in response to receiving the data for processing the extended query.
제20항에 있어서,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고, 상기 데이터 처리 장치가 상기 확장 쿼리의 처리를 미지원하면, 상기 데이터 처리 장치로부터 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계는,
상기 하나 또는 둘 이상의 쿼리 중 적어도 하나가 상기 확장 쿼리를 포함하고 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 더 포함하며 상기 데이터 처리 장치가 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리를 지원하면, 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 요청을 상기 데이터 처리 장치로 전송하는 단계; 및
상기 데이터 처리 장치로부터 상기 조건 쿼리 및 상기 선택 쿼리 중 적어도 하나의 처리 결과 중에서 상기 확장 쿼리의 처리를 위한 데이터를 적어도 일 회 수신하는 단계;를 포함하는 쿼리 처리 방법.
21. The method of claim 20,
When at least one of the one or more queries includes the extended query and the data processing device does not support the processing of the extended query, receiving data for processing the extended query from the data processing device at least once step is,
At least one of the one or more queries includes the extended query, and further includes processing at least one of the conditional query and the selection query, wherein the data processing device performs processing of at least one of the conditional query and the selection query. if supported, transmitting a processing request of at least one of the condition query and the selection query to the data processing device; and
and receiving data for processing the extended query from the data processing device at least once among processing results of at least one of the condition query and the selection query.
단말 장치로부터 요청을 수신하는 통신부; 및
상기 단말 장치로부터 수신한 요청이 적어도 하나의 쿼리를 포함하면, 상기 적어도 하나의 쿼리 각각에 대해 데이터 처리 장치의 처리 지원 여부를 판단하고, 상기 적어도 하나의 쿼리가 데이터 처리 장치의 미지원 쿼리이면, 상기 미지원 쿼리에 대한 처리를 수행하는 프로세서;를 포함하되,
상기 통신부는 상기 적어도 하나의 쿼리가 상기 데이터 처리 장치의 지원 쿼리이면, 상기 지원 쿼리의 처리 요청을 상기 데이터 처리 장치로 전송하는 쿼리 처리 장치.
a communication unit for receiving a request from the terminal device; and
If the request received from the terminal device includes at least one query, it is determined whether the data processing device supports processing for each of the at least one query, and if the at least one query is a query not supported by the data processing device, the A processor that performs processing for unsupported queries; including,
If the at least one query is a support query of the data processing device, the communication unit transmits a request for processing the support query to the data processing device.
KR1020210063251A 2020-11-27 2021-05-17 Appratus for processing query and method thereof KR102663509B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200162369 2020-11-27
KR20200162369 2020-11-27

Publications (2)

Publication Number Publication Date
KR20220074693A true KR20220074693A (en) 2022-06-03
KR102663509B1 KR102663509B1 (en) 2024-05-03

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519005B1 (en) * 2022-12-29 2023-04-06 주식회사 에스티씨랩 Data transmitting and receiving control server, system and method thereof using status of database

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519005B1 (en) * 2022-12-29 2023-04-06 주식회사 에스티씨랩 Data transmitting and receiving control server, system and method thereof using status of database

Similar Documents

Publication Publication Date Title
US10169026B2 (en) Transferring operating environment of registered network to unregistered network
WO2014051207A1 (en) Electronic device, server and control method thereof
CN107801229A (en) Smart home is with network method, terminal, equipment and the device with store function
CN111274268B (en) Internet of things data transmission method and device, medium and electronic equipment
CN103229478A (en) Method and device for virtual-machine drift determination
US20190327105A1 (en) Method and apparatus for pushing information
CN110210212A (en) A kind of data processing method, device and relevant device
JP2010250450A (en) Database message analysis support program, method and device
KR102042689B1 (en) IOT device setting system
WO2015122552A1 (en) System for generating sub app from main app and method therefor
CN102148715A (en) Method and device for virtual network configuration migration
CN116760567A (en) Account association method, device, electronic equipment and storage medium
US10516628B2 (en) Transfer device, transfer system, and transfer method
US10754748B2 (en) System and method for constructing extensible event log with javascript object notation (JSON) encoded payload data
KR102663509B1 (en) Appratus for processing query and method thereof
KR20190143504A (en) Cloud-AI server for generating function control protocols of IOT devices
KR20220074693A (en) Appratus for processing query and method thereof
KR100542758B1 (en) Sobot based on ubiquitous network, system using the sobot, operation method of the system, and transition and transferring method of the sobot
WO2020138608A1 (en) Question answering method and apparatus using plurality of chatbots
CN114610449B (en) Multi-cluster resource operation method and system based on unified request entry
JP5069168B2 (en) Network operation monitoring system, manager device, and network operation monitoring method
CN108156201B (en) Method and device for uniformly managing configuration data of application system
CN101517566B (en) Apparatus and method for providing domain information
JP2005051661A (en) Wireless lan terminal
US20150195366A1 (en) Switching device, non-transitory computer readable medium and zoning setting method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant