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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
Description
본 발명은 질의 언어 기반 실시간 데이터 처리 장치 및 처리 방법에 관한 것이다.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
데이터 수집 장치(200)는 사용자 단말(300)의 질의에 대한 응답의 리소스(resource)인 데이터를 수집한다. 여기서 데이터는 실시간으로 유입되는 데이터일 수 있다. 또한 데이터 수집 장치(200)는 센서 데이터를 수집하는 장치일 수 있으며, 예를 들어 기상에 관한 센서 데이터로서 일정한 주기로 특정 지역에 대하여, 기온, 습도, 풍속, 강우, 강설 및 날씨에 관한 데이터를 수집할 수 있다. 데이터 수집 장치(200)는 데이터 처리 장치(100)와 네트워크를 통하여 연결되어 있다.The
사용자 단말(300)은 사용자가 네트워크를 통하여 데이터 처리 장치(100)에 접속하고 통신하는 장치이며, 예를 들어 컴퓨터, 개인 휴대용 정보 단말기(Personal Digital Assistant, PDA), 이동 통신 단말기 및 텔레비전(television, TV)등 다양한 통신 장치가 사용될 수 있다.The
이제 도 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
데이터 관리부(110)는 데이터 수집 장치(200)로부터 데이터를 수집하여 데이터 처리에 적정하도록 저장부(도시하지 않음)에 저장 관리한다. 데이터 수집 장치(200)는 다양한 종류의 센서 데이터를 수집하는 장치일 수 있으며, 센서의 특징에 따라 수집한 데이터의 형식은 다양하다. 따라서 데이터 처리 장치(100)가 지원하는 데이터의 형태를 한정할 수 없으며, 데이터 관리부(110)는 지원 가능한 데이터의 형태를 추가, 삭제 및 수정이 가능하도록 한다. The
데이터 관리부(110)는 도 3과 같은 데이터 구조로 저장할 수 있다. 도 3을 참고하면, 데이터 구조는 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함한다. 데이터 자원 서술은 데이터 자원의 이름, 접근 가능한 주소(url) 및 데이터 처리를 위해 요구되는 사용자 식별자(ID) 및 비밀번호를 포함한다. 데이터 자원 메타데이터는 자연어 기반의 설명 및 소유권을 포함한다. 데이터 자원 속성은 데이터 자원이 지원하는 속성의 이름과 속성의 형태를 포함한다.The
질의 수신부(120)는 사용자 단말(300)로부터 질의(query)를 수신하여, 해석부(130)로 전달한다. 사용자 단말(300)의 질의는 일반 질의 및 조건 질의를 포함한다. 조건 질의는 질의에 대한 응답의 조건을 포함하는 질의로서, 예를 들어 "한남동의 온도가 3도 올라가면 알려주세요"일 수 있다.The
해석부(130)는 질의 수신부(120)가 수신한 질의를 분석하여 이에 대응하는 응답을 저장부에 저장된 데이터에서 매핑하여 추출한다. 이때, 사용자 단말(300)의 질의는 특정 질의 언어(query language)에 따라 표현될 수 있으며, 질의 언어는 도 4에 도시한 바와 같다.The analyzing
도 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
해석부(130)는 질의 수신부(120)가 수신한 질의가 조건 질의이면 해당 조건에 맞는 응답을 추출한다. 예를 들어 조건이 기간(duration)인 경우, 해당 기간을 지정하여 결과 집합을 추출한다.If the query received by the
변환부(140)는 해석부(130)가 선택한 응답을 사용자 단말(300)이 요청한 데이터 형식으로 변환한다. 변환부(140)가 변환하는 형식은 예를 들어 JSON(javascript object notation) 또는 XML(extensible markup language)일 수 있다.The
푸시 처리부(150)는, 질의 수신부(120)가 수신한 질의가 조건 질의인 경우 해당 조건을 저장하고 저장한 조건을 해석부(130)에 전달하여, 해석부(130)가 수신한 조건에 맞는 응답을 추출하도록 한다. 또한 푸시 처리부(150)는 해석부(130)가 조건에 맞도록 추출한 응답을 수신하고 사용자 단말(300)에게 이를 푸시 형태로 전달한다.If the query received by the
이와 같이 본 발명에 따르면, 실시간으로 유입되는 동적인 데이터를 효율적으로 처리할 수 있으며, 조건이 있는 질의에 대하여 조건에 맞는 응답을 적절하게 추출하고 이를 푸시로 제공함으로써 데이터 처리를 효과적으로 수행할 수 있다.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
데이터 처리 장치(100)는 수신한 데이터를 저장한다(S520). 이때, 데이터는 도 3과 같이, 데이터 자원 서술(data source description), 데이터 자원 메타데이터(data source metadata) 및 데이터 자원 속성(data source property)을 포함하는 데이터 구조로 저장될 수 있다.The
이어서 사용자 단말(300)은 데이터 처리 장치(100)에게 질의를 전송한다(S530). 이때 질의는 일반 질의 및 조건 질의를 포함하며, 질의는 도 4에 도시한 바와 같은 형식으로 수신될 수 있다.Subsequently, the
데이터 처리 장치(100)는 사용자 단말(300)로부터 수신한 질의를 분석한다(S540). 이어서 데이터 처리 장치(100)는 분석한 질의에 대한 응답을 저장한 데이터에서 추출한다(S550).The
그리고 데이터 처리 장치(100)는 추출한 응답을 사용자 단말(300)이 요청한 형식, 예를 들어 JSON 형식 또는 XML 형식으로 변환하고(S560), 이를 사용자 단말(300)에게 제공한다(S570). 이때 사용자 단말(300)의 질의가 조건 질의인 경우에는 데이터 처리 장치(100)는 조건을 저장하고, 조건에 따른 응답을 추출하여 푸시 형태로 사용자 단말(300)에게 제공한다.The
본 발명에 따른 데이터 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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
도 6을 참고하면, 데이터 처리 장치(1000)는 프로세서(1110), 메모리(1120), 적어도 저장 장치(1130), 입출력(input/output, I/O) 인터페이스(1140) 및 네트워크 인터페이스(1150)를 포함한다.Referring to FIG. 6, the
프로세서(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
이 경우, 프로세서(1110)는 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)의 기능 중 적어도 일부를 구현하기 위한 프로그램 명령을 메모리(1120)에 로드하고, 데이터 관리부(110), 질의 수신부(120), 해석부(130), 변환부(140) 및 푸시 처리부(150)의 기능을 저장 장치(1130)에 위치시켜서, 도 1 내지 도 5를 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다.In this case, the
도 6에 도시한 프로세서(1110), 메모리(1120), 저장 장치(1130), I/O 인터페이스(1140) 및 네트워크 인터페이스(1150)는 하나의 컴퓨터 또는 이동 통신 단말 등에 구현될 수도 있으며 또는 복수의 컴퓨터 또는 이동 통신 단말에 분산되어 구현될 수도 있다.The
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.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.
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 변환부
를 더 포함하는 데이터 처리 장치.In claim 1,
A conversion unit converting the response into a form requested by the user terminal
Data processing device further comprising.
상기 변환부는 상기 응답을 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).
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 데이터 처리 장치.In claim 1,
The data includes any one of data and sensor data flowing in real time.
상기 데이터 관리부는,
데이터 자원 서술(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.
상기 질의에 대응되는 질의 언어(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).
상기 질의 언어는,
쇼 데이터자원(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 >
상기 응답을 푸시 형태로 상기 사용자 단말에게 제공하는 단계
를 더 포함하는 데이터 처리 방법.9. The method of claim 8,
Providing the response to the user terminal in a push form
Data processing method further comprising.
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계
를 더 포함하는 데이터 처리 방법.9. The method of claim 8,
Converting the response into a form requested by the user terminal
Data processing method further comprising.
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 데이터 처리 방법.9. The method of claim 8,
The data includes any one of data and sensor data flowing in real time.
상기 데이터를 수신하여 저장하는 단계는,
데이터 자원 서술(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.
상기 질의에 대응되는 질의 언어(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.
상기 응답을 상기 사용자 단말이 요청한 형태로 변환하는 단계
를 더 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.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.
상기 데이터는 실시간으로 유입되는 데이터 및 센서 데이터 중 어느 하나를 포함하는 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.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.
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)
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 |
-
2011
- 2011-12-21 KR KR1020110139191A patent/KR101295898B1/en active IP Right Grant
Cited By (2)
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 |