KR20130071773A - System and method of processing realtime data based on query language - Google Patents

System and method of processing realtime data based on query language Download PDF

Info

Publication number
KR20130071773A
KR20130071773A KR1020110139191A KR20110139191A KR20130071773A KR 20130071773 A KR20130071773 A KR 20130071773A KR 1020110139191 A KR1020110139191 A KR 1020110139191A KR 20110139191 A KR20110139191 A KR 20110139191A KR 20130071773 A KR20130071773 A KR 20130071773A
Authority
KR
South Korea
Prior art keywords
data
query
response
condition
user terminal
Prior art date
Application number
KR1020110139191A
Other languages
Korean (ko)
Other versions
KR101295898B1 (en
Inventor
윤석찬
Original Assignee
주식회사 다음커뮤니케이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 다음커뮤니케이션 filed Critical 주식회사 다음커뮤니케이션
Priority to KR1020110139191A priority Critical patent/KR101295898B1/en
Publication of KR20130071773A publication Critical patent/KR20130071773A/en
Application granted granted Critical
Publication of KR101295898B1 publication Critical patent/KR101295898B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A query language based real-time data processing apparatus and a processing method thereof are provided to perform dynamic data inputted in real-time dynamically and to perform data processing for a query with restricted items effectively. CONSTITUTION: A data management part (110) receives and stores data from a data gathering device. A query receiving part (120) receives a query from a user terminal, and an analysis part (130) extracts response from the data by analyzing the query. If the query is a query having a condition, a push processing part (150) stores the condition and receives response appropriate for the condition from the analysis part and provides the condition in a push type to the user terminal. A conversion part (140) converts the response to the type which is requested by the user terminal. The conversion part converts the response into Java script object notation (JSON) or extensible markup language (XML). [Reference numerals] (110) Data management part; (120) Query receiving part; (130) Analysis part; (140) Conversion part; (150) Push processing part

Description

질의 언어 기반 실시간 데이터 처리 장치 및 처리 방법{SYSTEM AND METHOD OF PROCESSING REALTIME DATA BASED ON QUERY LANGUAGE}Query language-based real-time data processing device and processing method {SYSTEM AND METHOD OF PROCESSING REALTIME DATA BASED ON QUERY LANGUAGE}

본 발명은 질의 언어 기반 실시간 데이터 처리 장치 및 처리 방법에 관한 것이다.The present invention relates to a query language based real-time data processing apparatus and processing method.

리소스(resource)에서 사용자 단말의 질의(query)에 대한 결과를 선택하여 제공하는 서비스에서 사용자 단말을 사용하는 개발자들은 데이터베이스용 질의 언어(query language)를 사용하는데, 일반적으로 구조적 질의어(structured query language, SQL)을 사용하는 경우가 많다. SQL을 사용하는 경우 정적인 데이터베이스 구조로 인하여 리소스의 확장이 어렵고 리소스 비용 소모가 높아 분산된 레파지토리(repository)에서 데이터를 추출하고 필터링하는 다양한 질의 언어가 사용되고 있다. 이러한 질의 언어로는 야후 질의 언어(yahoo query language, YQL) 및 페이스북 질의 언어(facebook query language, FQL) 등이 있다.Developers using a user terminal in a service that selects and outputs a result of a user terminal query from a resource use a query language for a database. In general, a structured query language, SQL is often used. When using SQL, various query languages are used to extract and filter data from distributed repositories due to the difficulty of resource expansion and high resource cost due to the static database structure. Such query languages include Yahoo Query Language (YQL) and Facebook Query Language (FQL).

그러나 이러한 질의 언어들 역시 정적인 데이터에 대한 처리에 적합하게 설계되어 있어, 실시간으로 유입되는 데이터 처리 및 조건이 있는 질의에 대한 데이터 처리가 용이하지 않다.However, these query languages are also designed for the processing of static data, so it is not easy to process the data in real time and the processing of the conditional query.

본 발명이 이루고자 하는 기술적 과제는 실시간으로 유입되는 동적인 데이터를 효율적으로 처리하고, 조건이 있는 질의에 대한 데이터 처리를 효과적으로 수행하는 것이다.The technical problem to be achieved by the present invention is to efficiently process dynamic data flowing in real time, and to effectively perform data processing for a conditional query.

본 발명의 한 실시예에 따른 데이터 처리 장치는 데이터 수집 장치로부터 데이터를 수신하여 저장하는 데이터 관리부, 사용자 단말로부터 질의(query)를 수신하는 질의 수신부, 상기 질의를 분석하여 상기 데이터에서 응답을 추출하는 해석부, 그리고 상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하고, 상기 해석부로부터 상기 조건에 맞는 응답을 수신하여 푸시 형태로 상기 사용자 단말에게 제공하는 푸시 처리부를 포함한다.A data processing device according to an embodiment of the present invention includes a data management unit for receiving and storing data from a data collection device, a query receiving unit for receiving a query from a user terminal, and analyzing the query to extract a response from the data. An analysis unit, and a push processing unit for storing the condition when the query is a query having a condition, and receives a response corresponding to the condition from the analysis unit to provide to the user terminal in the form of a push.

상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 변환부를 더 포함할 수 있다.The apparatus may further include a converter configured to convert the response into a form requested by the user terminal.

상기 변환부는 상기 응답을 JSON(javascript object notation) 또는 XML(extensible markup language)로 변환할 수 있다.The conversion unit may convert the response into a JavaScript object notation (JSON) or an extensible markup language (XML).

상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함할 수 있다.The data may include any one of data and sensor data flowing in real time.

상기 데이터 관리부는, 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 구조로 상기 데이터를 저장할 수 있다.The data manager may store the data in a structure including a data source description, data resource metadata, and data source property.

상기 질의에 대응되는 질의 언어(query language)는, 구조적 질의어(structured query language, SQL)의 문법 체계를 따를 수 있다.A query language corresponding to the query may follow a grammar system of a structured query language (SQL).

상기 질의 언어는, 쇼 데이터자원(show data source), 서술 데이터 자원(describe data source) 및 셀렉트(select)문 중 적어도 하나를 지원하는 형태일 수 있다.The query language may be in the form of supporting at least one of a show data source, a describe data source, and a select statement.

본 발명의 다른 실시예에 따른 데이터 처리 방법은 데이터 처리 장치가 데이터 수집 장치로부터의 데이터를 사용자 단말에게 제공하는 데이터 처리 방법으로서 상기 데이터 수집 장치로부터 데이터를 수신하여 저장하는 단계, 상기 사용자 단말로부터 질의(query)를 수신하는 단계, 그리고 상기 질의를 분석하여 상기 데이터에서 응답을 추출하는 단계를 포함하고, 상기 데이터에서 응답을 추출하는 단계는, 상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하는 단계, 상기 조건에 맞는 응답을 추출하는 단계를 포함한다.A data processing method according to another embodiment of the present invention is a data processing method in which a data processing device provides data from a data collection device to a user terminal, receiving and storing data from the data collection device, querying from the user terminal. receiving a query, and analyzing the query to extract a response from the data, wherein extracting a response from the data comprises: storing the condition if the query is a query having a condition; And extracting a response meeting the condition.

상기 응답을 푸시 형태로 상기 사용자 단말에게 제공하는 단계를 더 포함할 수 있다.The method may further include providing the response to the user terminal in a push form.

상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계를 더 포함할 수 있다.The method may further include converting the response into a form requested by the user terminal.

상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함할 수 있다.The data may include any one of data and sensor data flowing in real time.

상기 데이터를 수신하여 저장하는 단계는, 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 구조로 상기 데이터를 저장하는 단계를 더 포함할 수 있다.Receiving and storing the data further includes storing the data in a structure including a data source description, data source metadata, and data source property. It may include.

상기 질의에 대응되는 질의 언어(query language)는, 구조적 질의어(structured query language, SQL)의 문법 체계를 따르며, 쇼 데이터자원(show data source), 서술 데이터 자원(describe data source) 및 셀렉트(select)문 중 적어도 하나를 지원하는 형태일 수 있다.A query language corresponding to the query follows a grammar system of a structured query language (SQL) and includes a show data source, a describe data source, and a select. It may be in the form of supporting at least one of the statements.

본 발명의 다른 실시예에 따른 기록매체는 데이터 수집 장치로부터 데이터를 수신하여 저장하는 단계, 사용자 단말로부터 질의(query)를 수신하는 단계, 상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하는 단계, 상기 조건에 맞는 응답을 추출하는 단계, 그리고 상기 조건에 맞는 응답을 수신하여 푸시 형태로 상기 사용자 단말에게 제공하는 단계를 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체이다.According to another embodiment of the present invention, a recording medium receives and stores data from a data collection device, receives a query from a user terminal, and stores the condition if the query is a query having a condition. And extracting a response meeting the condition, and receiving the response meeting the condition and providing the user terminal in the form of a push. .

상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계를 더 포함할 수 있다.The method may further include converting the response into a form requested by the user terminal.

상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함할 수 있다.The data may include any one of data and sensor data flowing in real time.

본 발명의 한 실시예에 따르면 실시간으로 유입되는 동적인 데이터를 효율적으로 처리하고, 제한 사항이 있는 질의에 대한 데이터 처리를 효과적으로 수행할 수 있다.According to an embodiment of the present invention, it is possible to efficiently process dynamic data flowing in real time, and to effectively perform data processing for a query having limitations.

도 1은 본 발명의 한 실시예에 따른 데이터 처리 장치가 동작하는 환경의 블록도이다.
도 2는 본 발명의 한 실시예에 따른 데이터 처리 장치의 블록도이다.
도 3은 본 발명의 한 실시예에 따른 데이터 처리 장치의 데이터 관리부의 구조를 도시하는 도면이다.
도 4는 본 발명의 한 실시예에 따른 데이터 처리 장치가 처리하는 질의 언어를 설명하는 도면이다.
도 5는 본 발명의 한 실시예에 따른 데이터 처리 방법의 흐름도이다.
도 6은 본 발명의 다른 실시예에 따른 데이터 처리 장치의 블록도이다.
1 is a block diagram of an environment in which a data processing apparatus according to an embodiment of the present invention operates.
2 is a block diagram of a data processing apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a structure of a data management unit of a data processing apparatus according to an embodiment of the present invention.
4 is a diagram illustrating a query language processed by a data processing apparatus according to an exemplary embodiment of the present invention.
5 is a flowchart of a data processing method according to an embodiment of the present invention.
6 is a block diagram of a data processing apparatus according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. Also, the terms " part, "" module," and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have.

도면을 참고하여 본 발명의 한 실시예에 따른 데이터 처리 장치 및 데이터 처리 방법에 대하여 상세하게 설명한다.A data processing apparatus and a data processing method according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 한 실시예에 따른 데이터 처리 장치가 동작하는 환경의 블록도이다. 1 is a block diagram of an environment in which a data processing apparatus according to an embodiment of the present invention operates.

도 1을 참고하면, 데이터 처리 장치(100)는 데이터 수집 장치(200)로부터 데이터를 수신 및 저장하고, 사용자 단말(300)의 질의(query)에 따른 응답을 저장한 데이터로부터 추출하여 사용자 단말(300)에게 제공하는 서버로서, 개방형 응용 프로그램 인터페이스(application program interface, API) 장치이다.Referring to FIG. 1, the data processing apparatus 100 receives and stores data from the data collection apparatus 200, extracts a response according to a query of the user terminal 300, and extracts a response from the stored data. A server provided to 300 is an open application program interface (API) device.

데이터 수집 장치(200)는 사용자 단말(300)의 질의에 대한 응답의 리소스(resource)인 데이터를 수집한다. 여기서 데이터는 실시간으로 유입되는 데이터일 수 있다. 또한 데이터 수집 장치(200)는 센서 데이터를 수집하는 장치일 수 있으며, 예를 들어 기상에 관한 센서 데이터로서 일정한 주기로 특정 지역에 대하여, 기온, 습도, 풍속, 강우, 강설 및 날씨에 관한 데이터를 수집할 수 있다. 데이터 수집 장치(200)는 데이터 처리 장치(100)와 네트워크를 통하여 연결되어 있다.The data collection device 200 collects data that is a resource of a response to a query of the user terminal 300. The data may be data flowing in real time. In addition, the data collection device 200 may be a device for collecting sensor data, and for example, as data on the weather, collects data on temperature, humidity, wind speed, rainfall, snowfall, and weather for a specific region at regular intervals. can do. The data collection device 200 is connected to the data processing device 100 through a network.

사용자 단말(300)은 사용자가 네트워크를 통하여 데이터 처리 장치(100)에 접속하고 통신하는 장치이며, 예를 들어 컴퓨터, 개인 휴대용 정보 단말기(Personal Digital Assistant, PDA), 이동 통신 단말기 및 텔레비전(television, TV)등 다양한 통신 장치가 사용될 수 있다.The user terminal 300 is a device in which a user connects to and communicates with the data processing apparatus 100 through a network. For example, the user terminal 300 may be a computer, a personal digital assistant (PDA), a mobile communication terminal, and a television. Various communication devices such as TV) can be used.

이제 도 2 내지 도 4를 참고하여 본 발명의 한 실시예에 따른 데이터 처리 장치에 대하여 상세하게 설명한다.A data processing apparatus according to an embodiment of the present invention will now be described in detail with reference to FIGS. 2 to 4.

도 2는 본 발명의 한 실시예에 따른 데이터 처리 장치의 블록도이며, 도 3은 본 발명의 한 실시예에 따른 데이터 처리 장치의 데이터 관리부의 구조를 도시하는 도면이며, 도 4는 본 발명의 한 실시예에 따른 데이터 처리 장치가 처리하는 질의 언어를 설명하는 도면이다.2 is a block diagram of a data processing apparatus according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating a structure of a data management unit of the data processing apparatus according to an embodiment of the present invention, and FIG. FIG. 7 is a diagram illustrating a query language processed by a data processing apparatus, according to an exemplary embodiment. Referring to FIG.

도 2를 참고하면, 데이터 처리 장치(100)는 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)를 포함한다.Referring to FIG. 2, the data processing apparatus 100 may include a data manager 110, a query receiver 120, an analyzer 130, a converter 140, and a push processor 150.

데이터 관리부(110)는 데이터 수집 장치(200)로부터 데이터를 수집하여 데이터 처리에 적정하도록 저장부(도시하지 않음)에 저장 관리한다. 데이터 수집 장치(200)는 다양한 종류의 센서 데이터를 수집하는 장치일 수 있으며, 센서의 특징에 따라 수집한 데이터의 형식은 다양하다. 따라서 데이터 처리 장치(100)가 지원하는 데이터의 형태를 한정할 수 없으며, 데이터 관리부(110)는 지원 가능한 데이터의 형태를 추가, 삭제 및 수정이 가능하도록 한다. The data manager 110 collects data from the data collection device 200 and stores and manages the data in a storage unit (not shown) so as to be suitable for data processing. The data collection device 200 may be a device for collecting various types of sensor data, and the collected data may have various formats according to the characteristics of the sensor. Therefore, the form of data supported by the data processing apparatus 100 may not be limited, and the data manager 110 may add, delete, and modify the form of data that may be supported.

데이터 관리부(110)는 도 3과 같은 데이터 구조로 저장할 수 있다. 도 3을 참고하면, 데이터 구조는 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함한다. 데이터 자원 서술은 데이터 자원의 이름, 접근 가능한 주소(url) 및 데이터 처리를 위해 요구되는 사용자 식별자(ID) 및 비밀번호를 포함한다. 데이터 자원 메타데이터는 자연어 기반의 설명 및 소유권을 포함한다. 데이터 자원 속성은 데이터 자원이 지원하는 속성의 이름과 속성의 형태를 포함한다.The data manager 110 may store the data structure as shown in FIG. 3. Referring to FIG. 3, the data structure includes a data source description, data source metadata, and data source property. The data resource description includes the name of the data resource, an accessible address (url) and a user identifier (ID) and password required for data processing. Data resource metadata includes natural language-based descriptions and ownership. Data resource attributes include the name and type of the attribute that the data resource supports.

질의 수신부(120)는 사용자 단말(300)로부터 질의(query)를 수신하여, 해석부(130)로 전달한다. 사용자 단말(300)의 질의는 일반 질의 및 조건 질의를 포함한다. 조건 질의는 질의에 대한 응답의 조건을 포함하는 질의로서, 예를 들어 "한남동의 온도가 3도 올라가면 알려주세요"일 수 있다.The query receiving unit 120 receives a query from the user terminal 300 and transmits the query to the analysis unit 130. The query of the user terminal 300 includes a general query and a condition query. A condition query is a query that includes a condition of a response to the query. For example, the condition query may be "notify me when the temperature of Hannam-dong rises 3 degrees".

해석부(130)는 질의 수신부(120)가 수신한 질의를 분석하여 이에 대응하는 응답을 저장부에 저장된 데이터에서 매핑하여 추출한다. 이때, 사용자 단말(300)의 질의는 특정 질의 언어(query language)에 따라 표현될 수 있으며, 질의 언어는 도 4에 도시한 바와 같다.The analyzing unit 130 analyzes the query received by the query receiving unit 120 and maps the corresponding response from the data stored in the storage unit. In this case, the query of the user terminal 300 may be expressed according to a specific query language, and the query language is as shown in FIG. 4.

도 4를 참고하면, 질의 언어는 구조적 질의어(structured query language, SQL)의 문법 체계를 따르며, 3가지 종류의 문장을 지원할 수 있다. 그 첫 번째는 쇼 데이터 자원(show data source)이며, 이는 데이터 처리 장치(100)가 지원하는 데이터 테이블의 종류를 가시화한다. 즉, 데이터 관리부(110)를 통해 얻는 결과를 사용자 단말(300)에게 가시화할 수 있다. 두 번째는 서술 데이터 자원(describe data source)이며, 이는 쇼 데이터자원을 통해 인지하게 된 특정 데이터 자원에 대한 메타 데이터를 데이터 관리부(110)를 통해 어떠한 종류 및 형태의 정보를 특정 데이터 자원으로부터 얻을 수 있는지에 대한 정보를 제공한다. 세 번째는 셀렉트(select)문이며, 이는 특정 데이터 자원으로부터 주어진 조건을 만족하는 데이터 수집 장치(200)의 데이터를 획득하도록 설계되었다. 이는 SQL문과 유사하게 목적 데이터 자원을 명시하고, where절 이하의 조건을 만족하는 데이터를 명시된 속성(property)에 기반하여 추출하는 것을 목적으로 한다. Where절 이하는 특정 조건들을 비교 연산자, 논리 연산자 및 괄호를 기반으로 조합하여 표현할 수 있으며, 문자열은 큰 따옴표로 감싸 비교 연산을 수행할 수 있다.Referring to FIG. 4, the query language follows a grammar system of a structured query language (SQL) and may support three kinds of sentences. The first is a show data source, which visualizes the types of data tables supported by the data processing apparatus 100. That is, the result obtained through the data manager 110 may be visualized to the user terminal 300. The second is a describe data source, which can obtain some kind and form of information from a specific data resource through the data management unit 110 for metadata about a specific data resource recognized through the show data resource. Provide information about the presence. The third is a select statement, which is designed to obtain data of the data collection device 200 satisfying a given condition from a specific data resource. It is intended to specify the target data resource similar to an SQL statement and to extract data that meets the condition below the where clause based on the specified property. The where clause can be expressed by combining certain conditions based on comparison operators, logical operators, and parentheses. A string can be compared with double quotes.

해석부(130)는 질의 수신부(120)가 수신한 질의가 조건 질의이면 해당 조건에 맞는 응답을 추출한다. 예를 들어 조건이 기간(duration)인 경우, 해당 기간을 지정하여 결과 집합을 추출한다.If the query received by the query receiver 120 is a conditional query, the interpreter 130 extracts a response corresponding to the condition. For example, if the condition is a duration, the corresponding time period is specified to extract the result set.

변환부(140)는 해석부(130)가 선택한 응답을 사용자 단말(300)이 요청한 데이터 형식으로 변환한다. 변환부(140)가 변환하는 형식은 예를 들어 JSON(javascript object notation) 또는 XML(extensible markup language)일 수 있다.The conversion unit 140 converts the response selected by the analysis unit 130 into a data format requested by the user terminal 300. The format converted by the conversion unit 140 may be, for example, a JavaScript object notation (JSON) or an extensible markup language (XML).

푸시 처리부(150)는, 질의 수신부(120)가 수신한 질의가 조건 질의인 경우 해당 조건을 저장하고 저장한 조건을 해석부(130)에 전달하여, 해석부(130)가 수신한 조건에 맞는 응답을 추출하도록 한다. 또한 푸시 처리부(150)는 해석부(130)가 조건에 맞도록 추출한 응답을 수신하고 사용자 단말(300)에게 이를 푸시 형태로 전달한다.If the query received by the query receiving unit 120 is a condition query, the push processing unit 150 stores the corresponding condition and transmits the stored condition to the analyzing unit 130 so as to meet the condition received by the analyzing unit 130. Let's extract the response. In addition, the push processing unit 150 receives the response extracted by the analysis unit 130 to meet the conditions and delivers it to the user terminal 300 in a push form.

이와 같이 본 발명에 따르면, 실시간으로 유입되는 동적인 데이터를 효율적으로 처리할 수 있으며, 조건이 있는 질의에 대하여 조건에 맞는 응답을 적절하게 추출하고 이를 푸시로 제공함으로써 데이터 처리를 효과적으로 수행할 수 있다.As described above, according to the present invention, the dynamic data flowing in real time can be efficiently processed, and the data processing can be effectively performed by appropriately extracting the response corresponding to the condition and providing it as a push for the conditional query. .

이제 도 5를 참고하여 본 발명의 다른 실시예에 따른 데이터 처리 방법에 대하여 상세하게 설명한다.A data processing method according to another embodiment of the present invention will now be described in detail with reference to FIG. 5.

도 5는 본 발명의 다른 실시예에 따른 데이터 처리 방법의 흐름도이다.5 is a flowchart of a data processing method according to another embodiment of the present invention.

도 5를 참고하면, 데이터 수집 장치(200)는 데이터를 수집하여 데이터 처리 장치(100)에게 전송한다(S510). 이때 데이터 수집 장치(200)가 수집하는 데이터는 실시간으로 유입되는 데이터 또는 센서 데이터일 수 있다.Referring to FIG. 5, the data collection device 200 collects data and transmits the data to the data processing device 100 (S510). In this case, the data collected by the data collection device 200 may be data or sensor data flowing in real time.

데이터 처리 장치(100)는 수신한 데이터를 저장한다(S520). 이때, 데이터는 도 3과 같이, 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 데이터 구조로 저장될 수 있다.The data processing apparatus 100 stores the received data (S520). In this case, as illustrated in FIG. 3, the data may be stored in a data structure including a data source description, data resource metadata, and data source property.

이어서 사용자 단말(300)은 데이터 처리 장치(100)에게 질의를 전송한다(S530). 이때 질의는 일반 질의 및 조건 질의를 포함하며, 질의는 도 4에 도시한 바와 같은 형식으로 수신될 수 있다.Subsequently, the user terminal 300 transmits a query to the data processing apparatus 100 (S530). In this case, the query includes a general query and a condition query, and the query may be received in a format as shown in FIG. 4.

데이터 처리 장치(100)는 사용자 단말(300)로부터 수신한 질의를 분석한다(S540). 이어서 데이터 처리 장치(100)는 분석한 질의에 대한 응답을 저장한 데이터에서 추출한다(S550).The data processing apparatus 100 analyzes a query received from the user terminal 300 (S540). Subsequently, the data processing apparatus 100 extracts a response to the analyzed query from the stored data (S550).

그리고 데이터 처리 장치(100)는 추출한 응답을 사용자 단말(300)이 요청한 형식, 예를 들어 JSON 형식 또는 XML 형식으로 변환하고(S560), 이를 사용자 단말(300)에게 제공한다(S570). 이때 사용자 단말(300)의 질의가 조건 질의인 경우에는 데이터 처리 장치(100)는 조건을 저장하고, 조건에 따른 응답을 추출하여 푸시 형태로 사용자 단말(300)에게 제공한다.The data processing apparatus 100 converts the extracted response into a format requested by the user terminal 300, for example, a JSON format or an XML format (S560), and provides the same to the user terminal 300 (S570). In this case, when the query of the user terminal 300 is a condition query, the data processing apparatus 100 stores the condition, extracts a response according to the condition, and provides the user terminal 300 in a push form.

본 발명에 따른 데이터 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The data processing method according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

또한 이상에서 설명한 본 발명의 실시예에 따른 데이터 처리 장치 및 데이터 처리 방법 중 적어도 일부 기능은 하드웨어로 구현되거나 하드웨어에 결합된 소프트웨어로 구현될 수 있다. 아래에서는 데이터 처리 장치 및 데이터 처리 방법 각각이 컴퓨터 시스템에 결합된 실시예에 대해서 도 6을 참고로 하여 상세하게 설명한다.In addition, at least some of the functions of the data processing apparatus and the data processing method according to the embodiment of the present invention described above may be implemented in hardware or software coupled to the hardware. Hereinafter, an embodiment in which each of a data processing apparatus and a data processing method are coupled to a computer system will be described in detail with reference to FIG. 6.

도 6은 본 발명의 다른 실시예에 따른 데이터 처리 장치(1000)의 개략적인 도면으로, 앞서 설명한 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)의 기능 중 적어도 일부를 수행하는 데 사용할 수 있는 시스템을 나타낸다FIG. 6 is a schematic diagram of a data processing apparatus 1000 according to another exemplary embodiment of the present invention, wherein the data managing unit 110, the query receiving unit 120, the analyzing unit 130, the converting unit 140, and the push unit are described above. Represents a system that can be used to perform at least some of the functions of processor 150

도 6을 참고하면, 데이터 처리 장치(1000)는 프로세서(1110), 메모리(1120), 적어도 저장 장치(1130), 입출력(input/output, I/O) 인터페이스(1140) 및 네트워크 인터페이스(1150)를 포함한다.Referring to FIG. 6, the data processing apparatus 1000 may include a processor 1110, a memory 1120, at least a storage device 1130, an input / output (I / O) interface 1140, and a network interface 1150. It includes.

프로세서(1110)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있다. 메모리(1120)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. 저장 장치(1130)는 하드 디스크 (hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blu-ray) 디스크 등의 광학 디스크, 플래시 메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장 장치로 구현될 수 있다. 또한 I/O 인터페이스(1140)는 프로세서(1110) 및/또는 메모리(1120)가 저장 장치(1130)에 접근할 수 있도록 한다. 네트워크 인터페이스(1150)는 프로세서(1110) 및/또는 메모리(1120)가 네트워크에 접근할 수 있도록 한다.The processor 1110 may be implemented with a central processing unit (CPU), other chipsets, microprocessors, or the like. The memory 1120 may be a medium such as RAM, such as dynamic random access memory (DRAM), rambus DRAM (RDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or the like. It can be implemented as. The storage device 1130 may include a hard disk, a compact disk read only memory (CD-ROM), a CD rewritable (CD-RW), a digital video disk ROM (DVD-ROM), a DVD-RAM, and a DVD-RW disk. The optical disk may be implemented as a permanent or volatile storage device such as an optical disk such as a blu-ray disk, a flash memory, or various types of RAM. The I / O interface 1140 also allows the processor 1110 and / or the memory 1120 to access the storage device 1130. The network interface 1150 allows the processor 1110 and / or the memory 1120 to access the network.

이 경우, 프로세서(1110)는 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)의 기능 중 적어도 일부를 구현하기 위한 프로그램 명령을 메모리(1120)에 로드하고, 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)의 기능을 저장 장치(1130)에 위치시켜서, 도 1 내지 도 5를 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다.In this case, the processor 1110 may store a program command for implementing at least some of the functions of the data manager 110, the query receiver 120, the interpreter 130, the converter 140, and the push processor 150. 1120, the functions of the data management unit 110, the query receiving unit 120, the analysis unit 130, the conversion unit 140, and the push processing unit 150 are located in the storage device 1130, and FIG. 1. 5 may be controlled to perform the operation described with reference to FIG. 5.

도 6에 도시한 프로세서(1110), 메모리(1120), 저장 장치(1130), I/O 인터페이스(1140) 및 네트워크 인터페이스(1150)는 하나의 컴퓨터 또는 이동 통신 단말 등에 구현될 수도 있으며 또는 복수의 컴퓨터 또는 이동 통신 단말에 분산되어 구현될 수도 있다.The processor 1110, the memory 1120, the storage device 1130, the I / O interface 1140, and the network interface 1150 illustrated in FIG. 6 may be implemented in one computer, a mobile communication terminal, or the like. It may be implemented by being distributed to a computer or a mobile communication terminal.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (16)

데이터 수집 장치로부터 데이터를 수신하여 저장하는 데이터 관리부,
사용자 단말로부터 질의(query)를 수신하는 질의 수신부,
상기 질의를 분석하여 상기 데이터에서 응답을 추출하는 해석부, 그리고
상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하고, 상기 해석부로부터 상기 조건에 맞는 응답을 수신하여 푸시 형태로 상기 사용자 단말에게 제공하는 푸시 처리부
를 포함하는 데이터 처리 장치.
A data management unit for receiving and storing data from a data collection device;
A query receiving unit for receiving a query from a user terminal,
An analysis unit for analyzing the query and extracting a response from the data; and
If the query is a query having a condition, the push processing unit stores the condition, receives a response that meets the condition from the analysis unit and provides it to the user terminal in the form of a push
To the data processing apparatus.
제1항에서,
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 변환부
를 더 포함하는 데이터 처리 장치.
In claim 1,
A conversion unit converting the response into a form requested by the user terminal
Data processing device further comprising.
제2항에서,
상기 변환부는 상기 응답을 JSON(javascript object notation) 또는 XML(extensible markup language)로 변환하는 데이터 처리 장치.
3. The method of claim 2,
And the conversion unit converts the response into a JavaScript object notation (JSON) or an extensible markup language (XML).
제1항에서,
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 데이터 처리 장치.
In claim 1,
The data includes any one of data and sensor data flowing in real time.
제1항에서,
상기 데이터 관리부는,
데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 구조로 상기 데이터를 저장하는 데이터 처리 장치.
In claim 1,
The data management unit,
And a data processing device storing the data in a structure including a data source description, data source metadata, and data source properties.
제1항에서,
상기 질의에 대응되는 질의 언어(query language)는, 구조적 질의어(structured query language, SQL)의 문법 체계를 따르는 데이터 처리 장치.
In claim 1,
The query language corresponding to the query is a data processing apparatus that conforms to a grammar system of a structured query language (SQL).
제6항에서,
상기 질의 언어는,
쇼 데이터자원(show data source), 서술 데이터 자원(describe data source) 및 셀렉트(select)문 중 적어도 하나를 지원하는 형태인 데이터 처리 장치.
The method of claim 6,
The query language is
A data processing apparatus in a form that supports at least one of a show data source, a describe data source, and a select statement.
데이터 처리 장치가 데이터 수집 장치로부터의 데이터를 사용자 단말에게 제공하는 데이터 처리 방법으로서
상기 데이터 수집 장치로부터 데이터를 수신하여 저장하는 단계,
상기 사용자 단말로부터 질의(query)를 수신하는 단계, 그리고
상기 질의를 분석하여 상기 데이터에서 응답을 추출하는 단계
를 포함하고,
상기 데이터에서 응답을 추출하는 단계는,
상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하는 단계,
상기 조건에 맞는 응답을 추출하는 단계
를 포함하는 데이터 처리 방법.
A data processing method in which a data processing device provides data from a data collection device to a user terminal
Receiving and storing data from the data collection device,
Receiving a query from the user terminal, and
Analyzing the query and extracting a response from the data
Lt; / RTI >
Extracting a response from the data,
Storing the condition if the query is a query having a condition,
Extracting a response meeting the condition
/ RTI >
제8항에서,
상기 응답을 푸시 형태로 상기 사용자 단말에게 제공하는 단계
를 더 포함하는 데이터 처리 방법.
9. The method of claim 8,
Providing the response to the user terminal in a push form
Data processing method further comprising.
제8항에서,
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계
를 더 포함하는 데이터 처리 방법.
9. The method of claim 8,
Converting the response into a form requested by the user terminal
Data processing method further comprising.
제8항에서,
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 데이터 처리 방법.
9. The method of claim 8,
The data includes any one of data and sensor data flowing in real time.
제8항에서,
상기 데이터를 수신하여 저장하는 단계는,
데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 구조로 상기 데이터를 저장하는 단계를 더 포함하는 데이터 처리 방법.
9. The method of claim 8,
Receiving and storing the data,
And storing the data in a structure including a data source description, data source metadata, and data source properties.
제8항에서,
상기 질의에 대응되는 질의 언어(query language)는,
구조적 질의어(structured query language, SQL)의 문법 체계를 따르며,
쇼 데이터자원(show data source), 서술 데이터 자원(describe data source) 및 셀렉트(select)문 중 적어도 하나를 지원하는 형태인 데이터 처리 방법.
9. The method of claim 8,
The query language corresponding to the query is
Follows the grammar scheme of structured query language (SQL),
A data processing method in the form of supporting at least one of a show data source, a describe data source, and a select statement.
데이터 수집 장치로부터 데이터를 수신하여 저장하는 단계,
사용자 단말로부터 질의(query)를 수신하는 단계,
상기 질의가 조건을 갖는 질의인 경우 상기 조건을 저장하는 단계,
상기 조건에 맞는 응답을 추출하는 단계, 그리고
상기 조건에 맞는 응답을 수신하여 푸시 형태로 상기 사용자 단말에게 제공하는 단계
를 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
Receiving and storing data from the data collection device,
Receiving a query from a user terminal,
Storing the condition if the query is a query having a condition,
Extracting a response meeting the condition, and
Receiving a response meeting the condition and providing the response to the user terminal in a push form;
Computer-readable recording medium for recording a program for executing a method on a computer comprising a.
제14항에서,
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계
를 더 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
The method of claim 14,
Converting the response into a form requested by the user terminal
Computer-readable recording medium for recording a program for executing the method on a computer further comprising.
제14항에서,
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
The method of claim 14,
And record the program for executing the method on the computer, wherein the data includes any one of data and sensor data flowing in real time.
KR1020110139191A 2011-12-21 2011-12-21 System and method of processing realtime data based on query language KR101295898B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110139191A KR101295898B1 (en) 2011-12-21 2011-12-21 System and method of processing realtime data based on query language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110139191A KR101295898B1 (en) 2011-12-21 2011-12-21 System and method of processing realtime data based on query language

Publications (2)

Publication Number Publication Date
KR20130071773A true KR20130071773A (en) 2013-07-01
KR101295898B1 KR101295898B1 (en) 2013-08-12

Family

ID=48986678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110139191A KR101295898B1 (en) 2011-12-21 2011-12-21 System and method of processing realtime data based on query language

Country Status (1)

Country Link
KR (1) KR101295898B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050997A (en) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus for Providing Data Analysis Service based on User Language Environment Computer-Readable Recording Medium with Program therefore
KR20170052266A (en) * 2015-11-04 2017-05-12 에스케이텔레콤 주식회사 Apparatus and Computer Program for Managing Query Path and Data Path

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050997A (en) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus for Providing Data Analysis Service based on User Language Environment Computer-Readable Recording Medium with Program therefore
KR20170052266A (en) * 2015-11-04 2017-05-12 에스케이텔레콤 주식회사 Apparatus and Computer Program for Managing Query Path and Data Path

Also Published As

Publication number Publication date
KR101295898B1 (en) 2013-08-12

Similar Documents

Publication Publication Date Title
US10963513B2 (en) Data system and method
US20190147050A1 (en) Method and apparatus for recommending news
KR101340036B1 (en) Method for generating Electronic Content Guide and apparatus therefor
CN1950816B (en) Processor having function for filtering tree path and method of filtering tree path
US20160328477A1 (en) System and method for displaying of most relevant vertical search results
CN107885873B (en) Method and apparatus for outputting information
US8682935B2 (en) System and method for application navigation
KR20060044561A (en) System and method for schemaless data mapping with nested tables
CN107977678B (en) Method and apparatus for outputting information
JP2011108117A (en) Topic identification system, topic identification device, client terminal, program, topic identification method, and information processing method
CN104090887A (en) Music search method and device
KR20190118913A (en) Apparatus and method for converting metadata
US7797340B2 (en) Method and system for searchable web services
KR20120001336A (en) Method and apparatus of converting content
US20150066995A1 (en) Apparatus and method for connecting nosql data and linked data
JP6147629B2 (en) Page site server, program, and method for immediately displaying a point of interest for page content
KR101295898B1 (en) System and method of processing realtime data based on query language
KR100832534B1 (en) Apparatus and Method for providing contents information service using voice interaction
CN105893584A (en) Method, client and system for displaying website label of favorites
KR101487205B1 (en) Apparatus, system and method for providing contents in media server
JP2009134464A (en) Generation device, generation method and generation program of retrieval result snippet considering range meant by place name, and recording medium recording the generation program
KR100714220B1 (en) System for providing contents information of blog on idle-mode screen of mobile terminal using personal computer of functioning as server, method thereof and computer readable record medium on which program for executing method is recorded
KR20150026825A (en) Apparatus and Method for coupling NoSQL data and Linked data
JP5810937B2 (en) Management program and device
KR20110070301A (en) System and method for ontology construction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160526

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 9