KR101743731B1 - Method and apparatus for processing quary based on ontology generated by collaborating distributed data - Google Patents
Method and apparatus for processing quary based on ontology generated by collaborating distributed data Download PDFInfo
- Publication number
- KR101743731B1 KR101743731B1 KR1020150190848A KR20150190848A KR101743731B1 KR 101743731 B1 KR101743731 B1 KR 101743731B1 KR 1020150190848 A KR1020150190848 A KR 1020150190848A KR 20150190848 A KR20150190848 A KR 20150190848A KR 101743731 B1 KR101743731 B1 KR 101743731B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- query
- service
- user
- terminal
- Prior art date
Links
Images
Classifications
-
- G06F17/30734—
-
- G06F17/2264—
-
- G06F17/30286—
-
- G06F17/30339—
-
- G06F17/30345—
-
- G06F17/30536—
-
- H04W4/008—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치에 관한 발명이며, 본 발명의 일 실시예에 따른 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법은 동일한 네트워크 또는 근거리 내에 존재하는 복수의 단말기로부터 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 수신하는 단계, 수신한 데이터를 포함한 근접 사용자 데이터 테이블을 생성하는 단계, 쿼리를 수신하고, 근접 사용자 데이터 테이블에 엑세스함으로써, 쿼리를 처리하는 단계 및 처리된 결과 데이터를 제공하는 단계를 포함하고, 각각의 단말기에서 생성된 데이터를 하나로 통합하고 연관성을 지어주어 사용자들이 쿼리를 통해 서로의 데이터를 공유할 수 있도록 하는 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치를 제공할 수 있는 효과가 있다The present invention relates to a method and an apparatus for processing a query based on an ontology generated by integrating distributed data. The present invention relates to a method and an apparatus for processing a query based on an ontology generated by integrating distributed data according to an embodiment of the present invention The method comprising receiving data for at least one of a terminal, a service and a user from a plurality of terminals in the same network or within a short range, generating a proximity user data table containing the received data, receiving a query, Processing the query and providing the processed result data by accessing the user data table, and integrating and associating the data generated in each terminal with one another, so that users can share data with each other through a query To create distributed data that can be There is an effect that it is possible to provide a method and apparatus for handling a query based on an ontology
Description
본 발명은 분산된 데이터를 통합하여 생성한 온톨로지 기반으로 쿼리를 처리하는 방법 및 장치에 관한 것으로서, 디바이스들 간 분산된 데이터를 통합하여 생성한 온톨로지 기반으로 쿼리를 처리하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for processing a query based on an ontology generated by integrating distributed data, and a method and an apparatus for processing a query based on an ontology generated by integrating distributed data among devices.
최근 스마트 폰, 사물 디바이스와 같은 스마트 단말기의 사용과 어플리케이션의 서비스 확산이 빠른 속도로 증가하면서, 스마트 단말기는 사용자에게 다양한 서비스를 제공하고 있다. 개인 스케줄 관리, 연락처 관리 등과 같은 개인 정보에서부터 업무 처리 등 다루는 정보의 크기가 매우 클 수 있는 서비스까지 스마트 단말기로 간단히 관리할 수 있게 되었다.Recently, the use of smart terminals such as smart phones and object devices and the spread of applications have rapidly increased, and smart terminals are providing various services to users. Personal information such as personal schedule management, contact management, etc. can be managed with a smart terminal easily from services that can handle very large information.
결과적으로, 사용자들의 스마트 단말기 의존도와 그 필요성은 매우 증가하였고, 지속적으로 성장할 것으로 전망되고 있다. 또한, 스마트 단말기로 이용 가능한 서비스의 범위는 계속하여 확장될 것이다.As a result, users' dependence on smart devices and their needs have increased greatly and are expected to grow steadily. In addition, the range of services available to smart terminals will continue to expand.
이에 따라, 사용자들간의 정보 및 서비스 공유 욕구가 커지고 있다. 다양한 정보의 연결 관계를 구축하여 하나의 스마트 단말기와 그 사용자간의 정보 교류 및 서비스가 이루어지는 것뿐만 아니라 복수 개의 스마트 단말기와 여러 명의 사용자간에 서비스 이용이 가능 욕구에 관한 것이다. 또한, 사용자들은 방대한 양의 정보를 통합하여 보다 깊이있고 넓은 가공된 정보를 얻기를 원하고 있다.Accordingly, there is a growing need for information and service sharing among users. The present invention relates to a need for a service between a plurality of smart terminals and a plurality of users as well as information exchange and service between one smart terminal and its users by establishing a connection relationship of various information. In addition, users want to integrate vast amounts of information to obtain deeper and wider processed information.
이것은 메타 지식과 관련지을 수 있는데, 메타 지식이란, 연결된 단말기간의 분산된 데이터 및 단말기 서비스를 탐색하고 접근하기 위한 지식으로서 메타 지식 모델을 기반으로 하는 지식을 말한다. 메타 지식을 활용하기 위해서는 데이터 및 단말기 서비스에 접근하기 위한 메타 지식을 저장하고 탐색할 수 있는 데이터 베이스인 메타 지식 베이스가 필요하다.This is related to meta-knowledge, which refers to knowledge based on a meta-knowledge model as knowledge to discover and access distributed data and terminal services between connected terminals. In order to utilize the meta knowledge, a meta knowledge base, which is a database capable of storing and searching meta knowledge for accessing data and terminal services, is needed.
그러나 이러한 메타 지식에 기반한 각각의 정보는 로컬 데이터 베이스에 그 정보가 분산되어있기 때문에 해당하는 관련 데이터에 접근하는 것 및 검색하는 것에 어려움이 있다. 또한, 데이터가 분산되어 있기 때문에 연결 관계가 있는 데이터를 사용자에게 제공하는 것에 어려움이 있다.However, each piece of information based on this meta-knowledge has difficulty in accessing and retrieving relevant data because the information is distributed in a local database. In addition, since data is distributed, it is difficult to provide data with a connection relation to a user.
따라서, 스마트 단말기 및 어플리케이션 서비스의 발전에 맞추어 개인적인 서비스 제공 방식뿐 아니라 분산 지식에 관한 융합 및 합성에 관한 방법 및 장치를 스마트 단말기에 적용하는 방식에 대한 논의가 필요하다.Accordingly, it is necessary to discuss a method of applying a method and apparatus for convergence and synthesis of distributed knowledge to a smart terminal as well as a method of providing a personal service in accordance with the development of a smart terminal and an application service.
[관련기술문헌][Related Technical Literature]
개체명 사전 및 마이닝 규칙이 결합된 온톨로지 스키마를 이용한 리소스 기술 프레임워크 네트워크 구축 장치 및 방법 (한국등록특허 10-0989581호)Resource technology framework using ontology schema combined with object name dictionary and mining rules Network construction apparatus and method (Korean Patent No. 10989581)
본 발명이 해결하고자 하는 과제는 다양한 서비스들과 각각의 단말기에서 생성된 데이터를 하나로 통합하고 쿼리를 처리하여 처리된 쿼리를 사용자들이 공유할 수 있는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치를 제공하는 것이다. The present invention is directed to an ontology that integrates various services and data generated by each terminal into one, processes queries, and allows users to share the processed queries. And to provide a method and apparatus for processing a query.
본 발명이 해결하고자 하는 다른 과제는 다양한 서비스들과 각각의 단말기에서 생성된 데이터에 연관성을 지어주고, 사용자의 질의를 처리하여 사용자의 질의에 대응하는 데이터를 제공하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치를 제공하는 것이다.Another problem to be solved by the present invention is to collectively generate distributed data that correlates various services and data generated in each terminal, processes the user's query and provides data corresponding to the user's query, A method and apparatus for processing a query based on an ontology.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the above-mentioned problems, and other problems not mentioned can be clearly understood by those skilled in the art from the following description.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법은 동일한 네트워크 또는 근거리 내에 존재하는 복수의 단말기로부터 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 수신하는 단계, 수신한 데이터를 포함한 근접 사용자 데이터 테이블을 생성하는 단계, 쿼리를 수신하고, 근접 사용자 데이터 테이블에 엑세스함으로써, 쿼리를 처리하는 단계 및 처리된 결과 데이터를 제공하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method for processing a query based on an ontology generated by integrating distributed data according to an embodiment of the present invention includes: Receiving data for at least one of the users, generating a proximity user data table containing the received data, processing the query by receiving a query, accessing a proximity user data table, The method comprising the steps of:
본 발명의 다른 특징에 따르면, 쿼리는 문자 또는 음성으로 입력되는 것을 특징으로 한다.According to another aspect of the present invention, a query is input as characters or voices.
본 발명의 또 다른 특징에 따르면, 복수의 단말기 중 적어도 하나의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 근접 사용자 데이터 테이블을 업데이트하는 단계를 더 포함하는 것을 특징으로 한다.According to still another aspect of the present invention, there is provided a method of transmitting data to a terminal, comprising the steps of: receiving updated or new data from at least one of a plurality of terminals and updating a neighboring user data table.
본 발명의 또 다른 특징에 따르면, 데이터를 수신하여 근접 사용자 데이터 테이블을 업데이트하는 단계는, 데이터를 근접 사용자 데이터 테이블이 작성된 언어로 변환하는 단계를 더 포함하는 것을 특징으로 한다.According to another aspect of the present invention, the step of receiving data and updating the proximity user data table further comprises converting the data into a language in which the proximity user data table is created.
본 발명의 또 다른 특징에 따르면, 결과 데이터를 제공하는 단계는, 결과 데이터를 JSON 형태로 변환하여 제공하는 단계인 것을 특징으로 한다.According to another aspect of the present invention, the step of providing result data is a step of converting result data into JSON form and providing the result data.
본 발명의 또 다른 특징에 따르면, 결과 데이터를 제공하는 단계는, 미리 결정된 우선 순위에 따라 또는 미리 정해진 단말기 수 이상의 공통된 데이터를 선택하여 제공하는 단계인 것을 특징으로 한다.According to another aspect of the present invention, the step of providing the result data is characterized by selecting and providing common data equal to or greater than a predetermined number of terminals in accordance with a predetermined priority order.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 쿼리 처리 장치는 동일한 네트워크 또는 근거리 내에 존재하는 복수의 단말기로부터 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 수신하고, 수신한 데이터를 포함한 근접 사용자 데이터 테이블을 생성하는 초기화 모듈; 및In order to solve the above problems, a query processing apparatus according to an embodiment of the present invention receives data for at least one of a terminal, a service, and a user from a plurality of terminals existing in the same network or a short distance, An initialization module for generating a proximity user data table including the proximity user data table; And
쿼리를 수신하고, 근접 사용자 데이터 테이블에 엑세스함으로써, 쿼리를 처리하고, 처리된 결과 데이터를 제공하는 쿼리 모듈을 포함하는 것을 특징으로 한다.And a query module that receives the query, accesses the proximity user data table, processes the query, and provides the processed result data.
본 발명의 다른 특징에 따르면, 쿼리는 문자 또는 음성으로 입력되는 것을 특징으로 한다.According to another aspect of the present invention, a query is input as characters or voices.
본 발명의 또 다른 특징에 따르면, 복수의 단말기 중 적어도 하나의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 근접 사용자 데이터 테이블을 업데이트하는 데이터 관리 모듈을 더 포함하는 것을 특징으로 한다.According to still another aspect of the present invention, there is provided a data management module for receiving updated or new data from at least one of a plurality of terminals and updating a neighboring user data table.
본 발명의 또 다른 특징에 따르면, 데이터 관리 모듈은, 데이터를 근접 사용자 데이터 테이블이 작성된 언어로 변환하는 것을 특징으로 한다.According to another aspect of the present invention, the data management module converts data into a language in which the proximity user data table is created.
본 발명의 또 다른 특징에 따르면, 쿼리 모듈은, 결과 데이터를 JSON 형태로 변환하여 제공하는 것을 특징으로 한다.According to another aspect of the present invention, the query module converts the result data into a JSON format and provides the resultant data.
본 발명의 또 다른 특징에 따르면, 쿼리 모듈은, 미리 결정된 우선 순위에 따라 또는 미리 정해진 단말기 수 이상의 공통된 데이터를 선택하여 제공하는 것을 특징으로 한다.According to another aspect of the present invention, the query module is characterized by selecting and providing common data in accordance with a predetermined priority or a predetermined number of terminals or more.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.
본 발명은 다양한 서비스들과 각각의 단말기에서 생성된 데이터를 하나로 통합하고 쿼리를 처리하여 처리된 쿼리를 사용자들이 공유할 수 있는 효과가 있다.The present invention has the effect that users can share processed queries by processing various services and data generated from each terminal into a single unit and processing a query.
본 발명은 다양한 서비스들과 각각의 단말기에서 생성된 데이터에 연관성을 지어주고, 사용자의 질의를 처리하여 사용자의 질의에 대응하는 데이터를 제공할 수 있는 효과가 있다.The present invention has an effect of associating various services and data generated in each terminal, processing data of a user, and providing data corresponding to a user's query.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.
도 1은 본 발명의 일 실시예에 따라 복수의 단말기와 쿼리를 처리하는 장치의 관계도를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따라 쿼리를 처리하는 장치의 개략적인 구성을 도시한 것이다.
도 3은 본 발명의 실시예에 따른 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법에 따라 쿼리를 처리하는 절차를 도시한 것이다.
도 4는 본 발명의 실시예에 따라 쿼리를 처리하는 장치를 개략적으로 도시한 것이다.
도 5는 본 발명의 다른 실시예에 따라 근접 사용자 데이터 테이블의 구조를 도시한 것이다.1 is a diagram illustrating a relationship between a plurality of terminals and an apparatus for processing a query according to an embodiment of the present invention.
2 shows a schematic configuration of an apparatus for processing a query according to an embodiment of the present invention.
FIG. 3 illustrates a procedure of processing a query according to a method of processing a query based on an ontology generated by integrating distributed data according to an embodiment of the present invention.
4 schematically illustrates an apparatus for processing queries according to an embodiment of the present invention.
FIG. 5 illustrates a structure of a proximity user data table according to another embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.The shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are illustrative, and thus the present invention is not limited thereto. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Where the terms 'comprises', 'having', 'done', and the like are used herein, other parts may be added as long as '~ only' is not used. Unless the context clearly dictates otherwise, including the plural unless the context clearly dictates otherwise.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the constituent elements, it is construed to include the error range even if there is no separate description.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are used only to distinguish one component from another. Therefore, the first component mentioned below may be the second component within the technical spirit of the present invention.
별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout the specification unless otherwise specified.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.It is to be understood that each of the features of the various embodiments of the present invention may be combined or combined with each other partially or entirely and technically various interlocking and driving is possible as will be appreciated by those skilled in the art, It may be possible to cooperate with each other in association.
본 개시에서의 실시예들은 미래창조과학부 및 정보통신기술연구진흥센터의 정보통신·방송 연구개발사업의 일환으로 수행되고 연구되었음. [R0101-15-0144, (엑소브레인-4세부) 자율지능형 지식/기기 협업 프레임워크 기술 개발]The embodiments of the present disclosure have been carried out and studied as part of the information communication and broadcasting R & D projects of the future creation science department and the information and communication technology research promotion center. [R0101-15-0144, (Exobrain-4 detail) Development of autonomous intelligent knowledge / device collaboration framework technology]
이하, 본 명세서에서 사용되는 용어에 대해 정의한다.Hereinafter, terms used in this specification will be defined.
본 명세서에서 “쿼리”란, 질의와 같은 뜻으로 사용되어, 사용자가 입력하는 검색어를 의미한다. 쿼리를 통해 데이터 테이블에 존재하는 자료를 사용자가 원하는 조건을 통해 검색하고, 검색된 결과를 조회할 수 있다. 여기서, 쿼리는 문자 또는 음성으로 입력될 수 있다. In the present specification, the term " query " is used in the same meaning as a query, and means a search term input by a user. Through the query, the data existing in the data table can be searched through the condition desired by the user, and the retrieved result can be inquired. Here, the query can be input as a character or a voice.
본 명세서에서 “온톨로지”란, 정보화 시스템 내 각 분야의 공유된 개념화에 대해 정형화하고 명시화한 것을 의미한다. 즉, 온톨로지는 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 것이다. 온톨로지를 활용하여 설계된 메타 지식은 무한정 확장과 연결이 가능하며, 이를 통해 지식을 고유한 개념으로 만들 수 있게 된다. As used herein, " ontology " means a formalization and specification of shared conceptualization of each field in an information system. In other words, ontology is a conceptual and computer-mediated representation of what people have seen, heard, felt and thought about the world through discussions. The meta - knowledge that is designed using the ontology can be extended and connected indefinitely, making it possible to make knowledge unique.
도 1은 본 발명의 일 실시예에 따라 복수의 단말기와 쿼리를 처리하는 장치의 관계도를 도시한 것이다.1 is a diagram illustrating a relationship between a plurality of terminals and an apparatus for processing a query according to an embodiment of the present invention.
도 1을 참조하면, 호스트 단말기 (111) 와 복수의 단말기 (112, 113) 는 동일한 네트워크 또는 근거리 내에 존재한다. 이 중 호스트 단말기 (111) 는 복수의 단말기 (112, 113) 의 데이터를 수집하여, 호스트 단말기 (111) 의 로컬 데이터 베이스 (111a) 에 저장한다. 저장된 데이터는 로컬 데이터 베이스 (111a) 에 테이블 형태로 저장된다. Referring to FIG. 1, a
호스트 단말기 (111) 는 복수의 단말기 (112, 113) 로부터 데이터, 즉, 단말기, 서비스 및 사용자로 구분되는 메타 지식으로 로컬 데이터 베이스 (111a) 에 저장한다. 종래의 휴대용 단말기에서는 시리 (siri) 와 같은 프로그램에 쿼리를 입력하는 경우, 단말기 자체의 데이터 및 인터넷을 통해 엑세스 가능한 정보를 이용하여 쿼리를 처리하였다. 본 발명의 일 실시예에 따른 호스트 단말기 (111) 는 동일한 네트워크 내에 있거나 통신으로 연결된 복수의 단말기 (112, 113) 의 데이터, 즉 메타 지식을 수집하고, 로컬 데이터 베이스 (111a) 에 저장하여 그 메타 지식에 기반하여 쿼리를 처리한다.The
즉, 동일한 네트워크 또는 근거리 내에 존재하는 단말기들은 데이터를 공유하여 데이터를 검색하고 접근할 수 있고, 데이터를 기초로 생성된 온톨로지 기반의 메타 지식으로 쿼리를 처리할 수 있다.That is, terminals located in the same network or in a short distance can share data, retrieve and access data, and process queries with ontology-based meta-knowledge generated based on the data.
도 2는 본 발명의 일 실시예에 따라 쿼리를 처리하는 장치의 개략적인 구성을 도시한 것이다.2 shows a schematic configuration of an apparatus for processing a query according to an embodiment of the present invention.
도 2를 참조하면, 호스트 단말기 내의 쿼리 처리 장치 (200) 는 초기화 모듈 (210), 데이터 관리 모듈 (220), 쿼리 모듈 (230) 및 근접 사용자 데이터 테이블 (240) 을 포함한다.2, the
초기화 모듈 (210) 은 동일한 네트워크 또는 근거리 내에 존재하는 복수의 단말기로부터 데이터를 수신한다. 구체적으로, 초기화 모듈 (120) 은 단말기, 단말기로부터 제공받는 서비스 및 단말기 사용자 중 적어도 하나에 대한 데이터를 수신한다.The
초기화 모듈 (210) 은 변환 모듈 (211), 테이블 생성 모듈 (212) 및 입력 모듈 (213) 을 포함한다. 변환 모듈 (211) 은 복수의 단말기로부터 수신한 데이터를 근접 사용자 데이터 테이블 (240) 이 작성될 언어로 변환한다. 예를 들어, 근접 사용자 데이터 테이블 (240) 이 작성될 언어는 SQL일 수 있다. 테이블 생성 모듈 (212) 은 복수의 단말기로부터 수신한 데이터를 저장하기 위해 테이블을 생성한다. 여기서, 테이블 생성 모듈 (212) 이 생성한 테이블은 근접 사용자 데이터 테이블 (240) 이며, 예를 들어 SQL로 작성될 수도 있다. 근접 사용자 데이터 테이블 (240) 에 저장된 데이터는 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터이다. 입력 모듈 (213) 은 테이블 생성 모듈 (212) 이 생성한 근접 사용자 데이터 테이블 (240) 에 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 입력한다. 구체적인 근접 사용자 데이터 테이블 (240) 에 대해서는 도 5를 참조하여 후술한다. The
데이터 관리 모듈 (220) 은 복수의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 근접 사용자 데이터 테이블 (240) 을 업데이트한다. 구체적으로, 초기화 모듈 (210) 이 생성한 근접 사용자 데이터 테이블 (240) 에 이미 저장되어 있는 데이터가 변경될 경우, 데이터 관리 모듈 (220) 은 변경된 데이터를 복수의 단말기 중 적어도 하나의 단말기로부터 수신한다. 또한, 데이터 관리 모듈 (220) 은 초기화 모듈 (210) 이 생성한 근접 사용자 데이터 테이블 (240) 에 저장되어 있지 않은 새로운 데이터를 복수의 단말기 중 적어도 하나의 단말기로부터 수신한다.The
데이터 관리 모듈 (220) 은 변환 모듈 (221), 입력 모듈 (222), 삭제 모듈 (223) 및 수정 모듈 (224) 를 포함한다. 변환 모듈 (221) 은 수신한 변경된 데이터 또는 새로운 데이터를 근접 사용자 데이터 테이블 (240) 이 작성된 언어로 변환한다. 입력 모듈 (222) 은 변환 모듈 (221) 이 근접 사용자 데이터 테이블 (240) 이 작성된 언어로 변환한 데이터를 근접 사용자 데이터 테이블 (240) 에 입력한다. 입력 모듈 (222) 이 근접 사용자 데이터 테이블 (240) 에 입력한 데이터는 초기화 모듈 (210) 이 근접 사용자 데이터 테이블 (240) 에 저장하지 않은, 복수의 단말기 중 적어도 하나의 단말기로부터 수신한 새로운 데이터이다. 삭제 모듈 (223) 은 초기화 모듈 (210) 이 근접 사용자 데이터 테이블 (240) 에 입력한 데이터를 삭제한다. 수정 모듈 (224) 은 초기화 모듈 (210) 이 근접 사용자 데이터 테이블 (240) 에 저장한 데이터를 수정한다. 구체적으로, 수정 모듈 (224) 은 초기화 모듈 (210) 이 근접 사용자 데이터 테이블 (240) 에 저장한 데이터를 복수의 단말기 중 적어도 하나의 단말기로부터 수신한 변경된 데이터로 수정한다. The
쿼리 모듈 (230) 은 쿼리를 수신하고, 근접 사용자 데이터 테이블 (240) 에 엑세스함으로써, 쿼리를 처리한다. 이어서, 쿼리 모듈 (230) 은 처리된 결과 데이터를 제공한다. 결과 데이터란 쿼리 모듈 (230) 에 의해 처리된 쿼리에 대한 결과를 나타낸다. 구체적으로, 쿼리 모듈 (230) 은 호스트 단말기로부터 쿼리를 수신하여 근접 사용자 데이터 테이블 (240) 에 엑세스함으로써, 근접 사용자 데이터 테이블 (240) 에 존재하는 결과 데이터를 제공한다. The
쿼리 모듈 (230) 은 변환 모듈 (231), 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234), 서비스 쿼리 모듈 (235) 및 제공 모듈 (236) 을 포함한다. 변환 모듈 (231) 은 수신한 쿼리와 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234), 서비스 쿼리 모듈 (235) 에 의해 조회된 결과 데이터를 JSON 형태로 변환한다. 여기서, JSON 형태란 사용자가 읽을 수 있는 텍스트를 사용하는 형식이다. 즉, JSON 형태는 글자를 표현하는 형식을 의미한다. 또한, 변환 모듈 (231) 은 쿼리의 종류를 파악하여 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234), 서비스 쿼리 모듈 (235) 중 알맞은 모듈에 전송할 수도 있다. 사용자 쿼리 모듈 (232) 은 변환된 쿼리를 기초로 근접 사용자 데이터 테이블 (240) 에 존재하는 사용자와 관련된 서비스의 데이터를 조회한다. 단말기 쿼리 모듈 (233) 은 변환된 쿼리를 기초로 근접 사용자 데이터 테이블 (240) 에 존재하는 단말기와 관련된 서비스의 데이터를 조회한다. 입력 및 출력 값 쿼리 모듈 (234) 은 변환된 쿼리를 기초로 근접 사용자 데이터 테이블 (240) 에 존재하는 특정 입력 값과 결과 값을 갖는 서비스의 데이터를 조회한다. 분류 쿼리 모듈 (235) 은 변환된 쿼리를 기초로 근접 사용자 데이터 테이블 (240) 에 존재하는 특정 분류를 갖는 서비스의 데이터를 조회한다. 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234) 및 서비스 쿼리 모듈 (235) 은 쿼리를 수신하여 동시에 데이터를 조회할 수도 있고, 변환 모듈 (231) 이 쿼리의 종류를 파악하여 알맞은 모듈에 전송한 경우, 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234), 서비스 쿼리 모듈 (235) 중 하나의 모듈만 데이터를 조회할 수도 있다. 제공 모듈 (236) 은 사용자 쿼리 모듈 (232), 단말기 쿼리 모듈 (233), 입력 및 출력 값 쿼리 모듈 (234), 서비스 쿼리 모듈 (235) 에 의해 조회된 결과 데이터를 호스트 단말기에 영상/음성 출력부를 통해 제공한다. 제공 모듈 (236) 은 또한 조회된 결과 데이터를 복수의 단말기 중 적어도 하나의 단말기에 제공할 수 있다. 제공 모듈 (236) 이 제공한 결과 데이터는 변환 모듈 (231) 로 전송되어 JSON 형태로 변환된다. The
이에 따라, 쿼리 처리 장치 (200) 는 복수의 단말기로부터 수신한 데이터를 저장하고 관리하여, 사용자에게 타 사용자의 데이터까지 제공하여 서로 필요한 데이터는 공유할 수 있도록 한다.Accordingly, the
도 3은 본 발명의 실시예에 따른 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법에 따라 쿼리를 처리하는 절차를 도시한 것이다. 설명의 편의를 위해 도 1의 구성요소들과 도면 부호를 참조하여 설명한다.FIG. 3 illustrates a procedure of processing a query according to a method of processing a query based on an ontology generated by integrating distributed data according to an embodiment of the present invention. For convenience of explanation, the components will be described with reference to FIG. 1 and reference numerals.
본 발명의 일 실시예에 따른 쿼리 제공 방법은 초기화 모듈 (210) 이 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 수신함으로써 개시된다 (S310).A method of providing a query according to an embodiment of the present invention is initiated by the
초기화 모듈 (210) 은 동일한 네트워크 또는 근거리 내에 존재하는 복수의 단말기로부터 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 수신한다. 여기서, 단말기에 대한 데이터는 태블릿 PC, 스마트 폰과 같은 단말기 종류, 단말기의 스펙, 단말기 이름 및 단말기 ID를 의미한다. 서비스는 단말기에 설치되어 사용자에게 특정 기능을 제공하는 프로그램 즉, 어플리케이션을 의미한다. 서비스에 대한 데이터는 서비스의 이름, 입력 값, 출력 값, 분류, 서비스에 포함된 데이터 및 서비스 URI 이다. 사용자에 대한 데이터는 단말기 사용자의 이름이다. 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터는 근접 사용자 데이터 테이블이 작성될 언어로 변환된다.The
이어서, 초기화 모듈 (210) 은 근접 사용자 데이터 테이블을 생성한다 (S320).Next, the
초기화 모듈 (210) 은 복수의 단말기로부터 수신한 데이터를 포함한 근접 사용자 데이터 테이블을 생성한다. 따라서, 근접 사용자 데이터 테이블 (240) 은 단말기 ID, 사용자 ID, 사용자 이름, 단말기 이름 정보, 단말기 종류, 단말기 스펙, 서비스 이름 정보, 서비스의 입력, 서비스의 출력, 서비스의 분류 및 서비스 URI를 포함한다. 구체적인 근접 사용자 데이터 테이블의 구조는 도 5를 통하여 후술한다. 초기화 모듈 (210) 은 SQL로 근접 사용자 데이터 테이블 (240) 을 생성할 수 있다.The
근접 사용자 데이터 테이블 (240) 에 포함된 데이터는 변경되거나, 근접 사용자 데이터 테이블 (240) 에 새로운 데이터가 추가되는 경우, 데이터 관리 모듈 (220) 은 복수의 단말기 중 적어도 하나의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 근접 사용자 데이터 테이블 (240) 을 업데이트 할 수 있다. 여기서, 수신된 새로운 데이터 또는 변경된 데이터는 근접 사용자 데이터 테이블이 작성된 언어로 변환되어 근접 사용자 데이터 테이블 (240) 에 저장된다.If the data contained in the proximity user data table 240 is changed or new data is added to the proximity user data table 240, the
이어서, 쿼리 모듈 (230) 은 쿼리를 수신하고, 근접 사용자 데이터 테이블에 엑세스함으로써, 쿼리를 처리한다 (S330).The
쿼리 모듈 (230) 은 호스트 단말기로부터 쿼리를 수신하여 쿼리를 수행하기 위해 근접 사용자 데이터 테이블 (240) 에 엑세스함으로써, 쿼리를 처리한다. 쿼리는 사용자와 관련된 서비스의 데이터를 제공받기 위한 검색어, 단말기 종류와 관련된 서비스의 데이터를 제공받기 위한 검색어, 입력 값과 출력 값을 갖는 서비스의 데이터를 제공받기 위한 검색어, 분류를 갖는 서비스의 데이터를 제공받기 위한 검색어일 수 있다. 예를 들어, 사용자와 관련된 서비스의 데이터를 제공받기 위한 쿼리는 사용자의 이름일 수 있다. 단말기 종류와 관련된 서비스의 데이터를 제공받기 위한 쿼리는 단말기 종류 즉, 스마트 폰 또는 태블릿 PC 등일 수 있다. 입력 값과 출력 값을 갖는 서비스의 데이터를 제공받기 위한 쿼리는 서비스 입력 값의 타입과 서비스 출력 값의 타입일 수 있다. 예를 들어, 캘린더 어플리케이션에 대한 쿼리는 캘린더 어플리케이션의 입력 값인 날짜와 서비스 출력 값인 이벤트일 수 있다. 여기서, 날짜와 이벤트는 2015.12.23과 같은 실제 날짜와 회의와 같은 실제 이벤트가 아닌 서비스의 입력 값의 타입이 날짜, 서비스의 출력 값의 타입이 이벤트라는 것을 의미한다. 분류를 갖는 서비스의 데이터를 제공받기 위한 쿼리는 어플리케이션의 분류인 캘린더, 연락처, 날씨 등일 수 있다. 쿼리는 JSON 형태이기 때문에 근접 사용자 데이터 테이블에 엑세스하기 위해 근접 사용자 데이터 테이블이 작성된 언어로 변환된다. 따라서, 쿼리 모듈 (230) 은 쿼리와 연관된 데이터를 제공하기 위해서 근접 사용자 데이터 테이블에 엑세스한다.The
이어서, 쿼리 모듈 (230) 은 처리된 결과 데이터를 제공한다 (S340).Subsequently, the
쿼리 모듈 (230) 은 사용자와 관련된 서비스의 데이터를 제공받기 위한 쿼리, 단말기 종류와 관련된 서비스의 데이터를 제공받기 위한 쿼리, 입력 값과 출력 값을 갖는 서비스의 데이터를 제공받기 위한 쿼리, 분류를 갖는 서비스의 데이터를 제공받기 위한 쿼리 중 적어도 하나의 쿼리와 연관된 데이터인 결과 데이터를 제공한다. 여기서, 결과 데이터는 서비스 이름과 URI일 수 있다.The
쿼리 모듈 (230) 은 미리 결정된 우선 순위에 따라 또는 미리 정해진 단말기 수 이상의 공통된 데이터를 선택하여 제공할 수 있다. 구체적으로, 쿼리에 연관된 데이터가 복수 개인 경우, 쿼리 모듈 (230) 은 미리 정해진 우선 순위에 따라 데이터를 선택하여 제공할 수 있다. 예를 들어, 쿼리에 연관된 데이터가 XXX 캘린더, YYY 캘린더, ZZZ 캘린더, AAA 캘린더인 경우, 제공할 데이터의 미리 정해진 우선 순위는 YYY 캘린더, 다음 순위가 ZZZ 캘린더, AAA 캘린더, XXX 캘린더 순이다. 따라서, 쿼리 모듈 (230) 은 YYY 캘린더, ZZZ 캘린더, AAA 캘린더, XXX 캘린더 순으로 서비스 이름과 URI를 제공한다. 또한, 쿼리에 연관된 데이터가 복수 개인 경우, 쿼리 모듈 (230) 은 미리 정해진 단말기 수 이상의 공통된 데이터를 선택하여 제공할 수 있다. 예를 들어, 쿼리 모듈 (230) 에 캘린더라는 서비스 쿼리가 수신된 경우, 근접 사용자 데이터 테이블 (240) 에서 캘린더 서비스를 엑세스하여 캘린더 서비스를 사용하는 단말기와 캘린더 서비스의 이름을 검색한다. 이에 따라 5대의 단말기가 XXX 캘린더, 2대의 단말기가 YY 캘린더를 사용한다는 데이터가 존재하는 경우, 쿼리 모듈 (230) 은 미리 정해진 단말기 수인 4대 이상의 공통된 데이터인 XXX 캘린더를 선택하여 제공할 수 있다. 쿼리 모듈 (230) 이 제공하는 결과 데이터는 JSON 형태로 변환되어 제공된다. 구체적인 결과 데이터에 대한 설명은 도 4를 통해 후술한다.The
이에 따라, 쿼리 처리 장치는 복수의 단말기로부터 수신한 데이터를 저장하여 사용자에게 우선 순위에 따른 데이터 또는 미리 정해진 단말기 수 이상의 공통된 데이터를 제공하여 사용자가 정확하고 다양한 데이터를 얻을 수 있도록 한다.Accordingly, the query processing device stores data received from a plurality of terminals and provides the user with data according to priority or common data equal to or greater than a predetermined number of terminals, so that the user can obtain accurate and various data.
도 4는 본 발명의 실시예에 따라 쿼리를 처리하는 장치를 개략적으로 도시한 것이다. 4 schematically illustrates an apparatus for processing queries according to an embodiment of the present invention.
도 4를 참조하면, 쿼리 처리 장치는 단말기로부터 단말기를 사용하는 사용자 이름 (410), 단말기 종류 (420), 서비스 이름 (430), 서비스 분류 (440), 서비스 입력 값 (450) 및 서비스 출력 값 (460) 인 단말기, 서비스 및 사용자에 대한 데이터를 수신하여, 근접 사용자 데이터 테이블에 저장한다. 데이터는 서로 시맨틱 매칭된다. 여기서, 시맨틱 매칭이란 장치가 데이터의 뜻을 이해하고 논리적 추론까지 할 수 있도록 데이터가 매칭된 것을 의미한다. 4, the query processing apparatus includes a
도 4를 참조하면, 사용자 이름 (410) 이 홍길동인 쿼리가 수신되면, 쿼리 처리 장치는 홍길동이 이용하고 있는 서비스 이름과 URI를 제공한다. 또한, 단말기 종류 (420) 가 스마트폰인 쿼리가 수신되면, 쿼리 처리 장치는 스마트폰에서 이용되고 있는 서비스 이름과 URI를 제공한다. 서비스 분류 (430) 가 캘린더인 쿼리가 수신되면, 쿼리 처리 장치는 사용되고 있는 캘린더 서비스의 이름과 URI를 제공하며, 서비스 입력 값 (450) 및 서비스 출력 값 (460) 이 날짜 및 이벤트인 쿼리를 수신하는 경우, 쿼리 처리 장치는 날짜와 이벤트를 서비스 입력 값 (450) 및 서비스 출력 값 (460) 으로 사용하고 있는 서비스의 이름과 URI를 제공한다. 추가적으로, 쿼리 처리 장치는 쿼리에 대한 결과 데이터를 서비스의 이름 및 URI 뿐만 아니라 쿼리와 연관된 모든 데이터 즉, 메타 지식을 모두 제공할 수도 있다. 예를 들어, 서비스 분류 (430) 에 대한 쿼리를 수신하면, 쿼리에 해당하는 분류의 서비스를 사용하는 모든 사용자 이름 (410), 단말기 종류 (420) 및 서비스 이름 (440) 을 제공할 수 있다. 또한, 서비스 입력 값 (450) 및 서비스 출력 값 (460) 에 대한 쿼리를 수신하면, 쿼리에 해당하는 서비스 입력 값 (450) 및 서비스 출력 값 (460) 을 사용하는 서비스 분류 (430), 서비스 이름 (440) 과 해당 서비스를 이용하는 사용자 이름 (410) 및 단말기 종류 (420) 의 데이터를 제공할 수 있다.Referring to FIG. 4, when a
이에 따라, 쿼리 처리 장치는 복수의 단말기로부터 시맨틱 매칭된 단말기를 사용하는 사용자 이름, 단말기 종류, 서비스 이름, 서비스 분류, 서비스 입력 값 및 서비스 출력 값을 수집하여, 사용자에게 쿼리 처리된 결과 데이터를 제공한다.Accordingly, the query processing apparatus collects a user name, a terminal type, a service name, a service classification, a service input value, and a service output value using a semantic-matched terminal from a plurality of terminals, and provides query result data to the user do.
도 5는 본 발명의 다른 실시예에 따라 근접 사용자 데이터 테이블의 구조를 도시한 것이다.FIG. 5 illustrates a structure of a proximity user data table according to another embodiment of the present invention.
도 5를 참조하면, 근접 사용자 데이터 테이블 (500) 은 복수의 단말기로부터 단말기, 서비스 및 사용자 중 적어도 하나에 대한 데이터를 포함한다. 구체적으로, 단말기에 대한 데이터는 단말기 ID, 단말기 이름 및 단말기 종류를 포함한다. 또한, 서비스에 대한 데이터는 서비스 이름, 서비스 입력 값, 서비스 출력 값, 서비스 분류 및 서비스 URI을 포함하며, 사용자에 대한 데이터는 사용자 ID 및 사용자 이름을 포함한다. 따라서, 근접 사용자 데이터 테이블 (500) 은 10개의 칼럼으로 구성되며, SQL로 작성될 수도 있다.Referring to FIG. 5, the proximity user data table 500 includes data for at least one of a terminal, a service, and a user from a plurality of terminals. Specifically, the data for the terminal includes a terminal ID, a terminal name, and a terminal type. The data for the service includes a service name, a service input value, a service output value, a service classification, and a service URI, and the data for the user includes a user ID and a user name. Therefore, the proximity user data table 500 is composed of 10 columns, and may be written in SQL.
도 5를 참조하면, 근접 사용자 데이터 테이블 (500) 은 단말기 ID가 0인 단말기로부터 수신한 단말기, 서비스 및 사용자에 대한 데이터인 제1 데이터 (510) 를 포함한다. 제1 데이터 (510) 는 단말기 ID 값인 0, 사용자 ID 값인 0, 사용자 이름 값인 홍길동, 단말기 종류 값인 스마트 폰, 단말기 이름 값인 GalaxyX4 값을 포함한다. 또한, 제1 데이터 (510) 는 사용자 홍길동이 사용하는 서비스 이름 값인 XXX 캘린더, XXX 캘린더에 입력되는 서비스 입력 값인 2015.12.23과 같은 날짜 데이터, 서비스 입력 값에 따라 출력되는 서비스 출력 값인 3시 회의와 같은 이벤트 데이터, XXX 캘린더의 분류인 캘린더 및 XXX 캘린더의 URI 값을 포함한다. 또한, 제1 데이터 (510) 는 사용자 홍길동이 사용하는 다른 서비스 이름 값인 연락처 리스트, 연락처 리스트에 입력되는 서비스 입력 값인 김영희와 같은 이름 데이터, 서비스 입력 값에 따라 출력되는 서비스 출력 값인 010-1234-5678과 같은 전화번호 데이터, 연락처 리스트의 분류 값인 연락처 및 연락처 리스트의 URI 값을 포함한다. Referring to FIG. 5, the proximity user data table 500 includes
도 5를 참조하면, 근접 사용자 데이터 테이블 (500) 은 단말기 ID 값이 1인 단말기로부터 수신한 단말기, 서비스 및 사용자에 대한 데이터인 제2 데이터 (520) 를 포함한다. 제2 데이터 (520) 는 단말기 ID 값인 1, 사용자 ID 값인 1, 사용자 이름 값인 김철수, 단말기 종류 값인 스마트 폰, 단말기 이름 값인 GalaxyY6 값을 포함한다. 또한, 제2 데이터 (520) 는 사용자 김철수가 사용하는 서비스 이름 값인 YY 날씨, YY 날씨에 입력되는 서비스 입력 값인 2015.12.12와 같은 날짜 데이터, 서비스 입력 값에 따라 출력되는 서비스 출력 값인 흐림과 날씨 데이터, YY 날씨의 분류 값인 날씨 및 YY 날씨의 URI 값을 포함한다.Referring to FIG. 5, the proximity user data table 500 includes
근접 사용자 데이터 테이블 (500) 은 사용자가 이용하는 또 다른 서비스가 있는 경우, 서비스에 따른 데이터를 서비스의 종류와 데이터의 크기에 상관없이 추가적으로 포함할 수 있다. 또한, 단말기 ID와 사용자 ID는 근접 사용자 데이터 테이블 (500) 에 입력되는 데이터 순서대로 부여될 수도 있고, 무작위 번호로 부여될 수도 있다. The proximity user data table 500 may additionally include data according to the service regardless of the type of service and the size of data when another service is used by the user. In addition, the terminal ID and the user ID may be given in the order of data input to the proximity user data table 500, or they may be given in random numbers.
이에 따라, 쿼리 처리 장치는 복수의 단말기로부터 단말기, 서비스 및 사용자에 대한 데이터를 수신하고, 수신한 데이터를 포함하여 근접 사용자 데이터 테이블을 생성함으로써, 사용자에게 복수의 사용자 관련 정보를 포함하는 확장된 데이터, 즉, 메타 지식을 기초로 생성된 결과 데이터를 제공할 수 있고, 데이터가 기준에 따라 분류되어 있어 빠른 속도로 제공할 수 있다.Accordingly, the query processing apparatus receives data for a terminal, a service, and a user from a plurality of terminals, and generates a proximity user data table including the received data, thereby providing the user with expanded data including a plurality of user- That is, the result data generated based on the meta-knowledge, and the data can be provided at a high speed because the data is classified according to the reference.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In this specification, each block or each step may represent a part of a module, segment or code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, which is capable of reading information from, and writing information to, the storage medium. Alternatively, the storage medium may be integral with the processor. The processor and the storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in detail with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those embodiments and various changes and modifications may be made without departing from the scope of the present invention. . Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
111 호스트 단말기
111a 로컬 데이터 베이스
112, 113 단말기
200 쿼리 처리 장치
210 초기화 모듈
211, 221, 231 변환 모듈
212 테이블 생성 모듈
213 입력 모듈
220 데이터 관리 모듈
222 입력 모듈
223 삭제 모듈
224 수정 모듈
230 쿼리 모듈
232 사용자 쿼리 모듈
233 단말기 쿼리 모듈
234 입력 및 출력 값 쿼리 모듈
235 분류 쿼리 모듈
236 제공 모듈
240 근접 사용자 데이터 테이블
410 사용자 이름
420 단말기 종류
430 서비스 분류
440 서비스 이름
450 서비스 입력 값
460 서비스 출력 값
500 근접 사용자 데이터 테이블
510 제1 데이터
520 제2 데이터111 host terminal
111a local database
112, 113 terminal
200 Query processing device
210 initialization module
211, 221, 231 conversion module
212 Table creation module
213 input module
220 data management module
222 input module
223 Delete module
224 Modification module
230 Query Modules
232 User Query Module
233 Terminal Query Module
234 Input and Output Value Query Module
235 Classification Query Module
236 Providing module
240 proximity user data table
410 User Name
420 Terminal type
430 Service Classification
440 Service Name
450 Service input value
460 Service output value
500 proximity user data table
510 first data
520 second data
Claims (12)
수신한 상기 데이터를 포함한 근접 사용자 데이터 테이블을 생성하는 단계로서, 상기 근접 사용자 데이터 테이블은 상기 데이터들을 단말기 ID, 사용자 ID, 사용자 이름, 단말기 이름 정보, 단말기 종류, 단말기 스펙, 서비스 이름 정보, 서비스의 입력, 서비스의 출력, 서비스의 분류 및 서비스 URI 별로 분류한 테이블을 의미하는, 상기 근접 사용자 데이터 테이블을 생성하는 단계;
쿼리를 수신하고, 상기 근접 사용자 데이터 테이블에 엑세스함으로써, 상기 쿼리를 처리하는 단계;
처리된 상기 쿼리가 상기 서비스의 종류에 대한 쿼리인 경우, 상기 동일한 네트워크 내에 존재하는 복수의 단말기가 사용하는 상기 서비스의 종류를 검색하고, 검색된 상기 서비스의 종류 중에서 가장 많이 사용되는 상기 서비스의 종류에 대한 데이터를 결과 데이터로 선택하는 단계; 및
선택된 상기 결과 데이터를 제공하는 단계를 포함하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법.Receiving data for a terminal, a service and a user from a plurality of terminals existing in the same network;
Wherein the neighboring user data table includes a terminal ID, a user ID, a user name, a terminal name information, a terminal type, a terminal specification, a service name information, Input data, output of service, classification of service, and service URI;
Processing the query by receiving a query and accessing the proximity user data table;
If the processed query is a query for the type of service, searches for the type of the service used by a plurality of terminals existing in the same network, and searches for the type of the most used service among the types of the searched services Selecting data as result data; And
And providing the selected result data based on the ontology generated by integrating the distributed data.
상기 쿼리는 문자 또는 음성으로 입력되는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법.The method according to claim 1,
Wherein the query is based on an ontology generated by integrating distributed data, which is input as a character or voice.
상기 복수의 단말기 중 적어도 하나의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 상기 근접 사용자 데이터 테이블을 업데이트하는 단계를 더 포함하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법.The method according to claim 1,
Further comprising: receiving updated or new data from at least one of the plurality of terminals to update the proximity user data table, wherein the method further comprises processing the query based on an ontology generated by incorporating distributed data.
상기 데이터를 수신하여 상기 근접 사용자 데이터 테이블을 업데이트하는 단계는,
상기 데이터를 상기 근접 사용자 데이터 테이블이 작성된 언어로 변환하는 단계를 더 포함하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법.The method of claim 3,
Receiving the data and updating the proximity user data table comprises:
And converting the data into a language in which the proximity user data table is created. A method for processing a query based on an ontology generated by incorporating distributed data.
선택된 상기 결과 데이터를 제공하는 단계는,
선택된 상기 결과 데이터를 JSON 형태로 변환하여 제공하는 단계인, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법.The method according to claim 1,
The step of providing the selected result data comprises:
And converting the selected result data into a JSON form and providing the converted result data to a JSON form.
쿼리를 수신하고, 상기 근접 사용자 데이터 테이블에 엑세스함으로써, 상기 쿼리를 처리하고, 처리된 상기 쿼리가 상기 서비스의 종류에 대한 쿼리인 경우, 상기 동일한 네트워크 내에 존재하는 복수의 단말기가 사용하는 상기 서비스의 종류를 검색하고, 검색된 상기 서비스의 종류 중에서 가장 많이 사용되는 상기 서비스의 종류에 대한 데이터를 결과 데이터로 선택하고, 선택된 상기 결과 데이터를 제공하는 쿼리 모듈을 포함하고,
상기 근접 사용자 데이터 테이블은 상기 데이터들을 단말기 ID, 사용자 ID, 사용자 이름, 단말기 이름 정보, 단말기 종류, 단말기 스펙, 서비스 이름 정보, 서비스의 입력, 서비스의 출력, 서비스의 분류 및 서비스 URI 별로 분류한 테이블을 의미하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 장치.An initialization module for receiving data for a terminal, a service and a user from a plurality of terminals existing in the same network and generating a proximity user data table including the received data; And
Receiving a query and accessing the proximity user data table to process the query and if the processed query is a query for the type of service, And a query module that selects data as the result data and provides the selected result data based on the kind of the most used service among the types of the searched services,
The proximity user data table includes a table classified by terminal ID, user ID, user name, terminal name information, terminal type, terminal specification, service name information, service input, service output, service classification and service URI , Which is a device that processes queries based on an ontology that is generated by integrating distributed data.
상기 쿼리는 문자 또는 음성으로 입력되는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 장치.8. The method of claim 7,
Wherein the query is based on an ontology that is generated by integrating distributed data, which is input as a character or voice.
상기 복수의 단말기 중 적어도 하나의 단말기로부터 변경된 또는 새로운 데이터를 수신하여 상기 근접 사용자 데이터 테이블을 업데이트하는 데이터 관리 모듈을 더 포함하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 장치.8. The method of claim 7,
Further comprising a data management module for receiving updated or new data from at least one of the plurality of terminals and updating the proximity user data table, .
상기 데이터 관리 모듈은,
상기 데이터를 상기 근접 사용자 데이터 테이블이 작성된 언어로 변환하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 장치.10. The method of claim 9,
The data management module includes:
Converting the data into a language in which the proximity-user data table is created; and processing the query based on the ontology generated by integrating the distributed data.
상기 쿼리 모듈은,
상기 결과 데이터를 JSON 형태로 변환하여 제공하는, 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 장치.8. The method of claim 7,
The query module comprising:
And converting the result data into a JSON form to provide a query based on an ontology generated by integrating distributed data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150190848A KR101743731B1 (en) | 2015-12-31 | 2015-12-31 | Method and apparatus for processing quary based on ontology generated by collaborating distributed data |
PCT/KR2016/000087 WO2016137114A1 (en) | 2015-02-23 | 2016-01-06 | Method and device for establishing meta-knowledge database and processing query |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150190848A KR101743731B1 (en) | 2015-12-31 | 2015-12-31 | Method and apparatus for processing quary based on ontology generated by collaborating distributed data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101743731B1 true KR101743731B1 (en) | 2017-06-05 |
Family
ID=59223118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150190848A KR101743731B1 (en) | 2015-02-23 | 2015-12-31 | Method and apparatus for processing quary based on ontology generated by collaborating distributed data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101743731B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190054741A (en) * | 2017-11-14 | 2019-05-22 | 주식회사 케이티 | Method and Apparatus for Quality Management of Data |
KR20190070428A (en) * | 2017-12-13 | 2019-06-21 | 전자부품연구원 | Industrial Process Equipment System Management Method using Cloud-based Intergrated Context-Aware Processing Engine |
WO2023287860A1 (en) * | 2021-07-14 | 2023-01-19 | Mondoo, Inc. | Systems and methods for querying data |
-
2015
- 2015-12-31 KR KR1020150190848A patent/KR101743731B1/en active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190054741A (en) * | 2017-11-14 | 2019-05-22 | 주식회사 케이티 | Method and Apparatus for Quality Management of Data |
KR102507837B1 (en) | 2017-11-14 | 2023-03-07 | 주식회사 케이티 | Method and Apparatus for Quality Management of Data |
KR20190070428A (en) * | 2017-12-13 | 2019-06-21 | 전자부품연구원 | Industrial Process Equipment System Management Method using Cloud-based Intergrated Context-Aware Processing Engine |
KR102306430B1 (en) * | 2017-12-13 | 2021-09-30 | 한국전자기술연구원 | Industrial Process Equipment System Management Method using Cloud-based Intergrated Context-Aware Processing Engine |
WO2023287860A1 (en) * | 2021-07-14 | 2023-01-19 | Mondoo, Inc. | Systems and methods for querying data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038207B (en) | Data query method, data processing method and device | |
CN110147437B (en) | Knowledge graph-based searching method and device | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
JP6667931B2 (en) | Method and device for recognizing time information from audio information | |
US10224034B2 (en) | Voice recognition system and construction method thereof | |
CN106407303A (en) | Data storage method and apparatus, and data query method and apparatus | |
US9485306B2 (en) | Methods, apparatuses, and computer program products for facilitating a data interchange protocol | |
CN104462429A (en) | Method and device for generating database query sentences | |
CN105138649B (en) | Searching method, device and the terminal of data | |
KR101743731B1 (en) | Method and apparatus for processing quary based on ontology generated by collaborating distributed data | |
CN105096944A (en) | Speech recognition method and apparatus | |
RU2605041C2 (en) | Methods and systems for displaying microblog topics | |
CN102999600A (en) | Method and system for automatically generating embedded database | |
CN108228760A (en) | Method, apparatus, mobile terminal and the storage medium of filtering sensitive words | |
CN110263104A (en) | JSON character string processing method and device | |
CN104361040A (en) | Method and device for customized query | |
CN110309214B (en) | Instruction execution method and equipment, storage medium and server thereof | |
US20210165903A1 (en) | System and method for data security grading | |
CN107239568B (en) | Distributed index implementation method and device | |
JP2010224824A (en) | Information processing apparatus | |
US9465658B1 (en) | Task distribution over a heterogeneous environment through task and consumer categories | |
CN103902651A (en) | Cloud code query method and device based on MongoDB | |
CN111814020A (en) | Data acquisition method and device | |
CN103902554B (en) | Data access method and device | |
CN115795187A (en) | Resource access method, device and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
R401 | Registration of restoration |