KR100685747B1 - System and method for processing sensor data stream based on xml - Google Patents
System and method for processing sensor data stream based on xml Download PDFInfo
- Publication number
- KR100685747B1 KR100685747B1 KR1020050060180A KR20050060180A KR100685747B1 KR 100685747 B1 KR100685747 B1 KR 100685747B1 KR 1020050060180 A KR1020050060180 A KR 1020050060180A KR 20050060180 A KR20050060180 A KR 20050060180A KR 100685747 B1 KR100685747 B1 KR 100685747B1
- Authority
- KR
- South Korea
- Prior art keywords
- sensor data
- service
- xml
- manager
- data stream
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8358—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 XML(eXtended Markup Language) 기반 센서 데이터 스트림 처리 시스템 및 방법에 관한 것으로, 다양한 종류의 센서들로부터 들어오는 데이터 스트림에 대하여 다양한 조건들로 구성되는 이벤트(즉, 특정 상황의 발생 여부)를 정의할 수 있고, 특정 이벤트 발생시 적용해야 하는 서비스를 정의하여, 이를 실행할 수 있도록 함으로써, 다양한 유비쿼터스 서비스 환경을 쉽게 구축할 수 있다. The present invention relates to an eXtended Markup Language (XML) -based sensor data stream processing system and method, and defines an event (that is, whether or not a specific situation occurs) configured with various conditions for data streams coming from various types of sensors. It is possible to easily build various ubiquitous service environments by defining services that should be applied when specific events occur and enabling them to be executed.
또한, 본 발명의 XML 기반 센서 데이터 스트림 처리 시스템 및 방법은, 표현력이 뛰어나고 융통성이 있는 XML모델을 기반으로 센서 데이터를 처리하도록 구성되어 있으므로 다양한 형식의 센서 데이터를 제공하는 각종 센서들과의 연동이 용이하다. 또한, 연동된 센서들로부터 들어오는 대용량의 센서 데이터 스트림을 실시간으로 처리하여 유비쿼터스 환경의 다양한 응용에서 요구하는 실시간 정보를 제공해 줌으로써, 서비스 제공자가 용용 서비스 개발에만 전념할 수 있도록 한다. In addition, the XML-based sensor data stream processing system and method of the present invention is configured to process sensor data based on an XML model having excellent expressive power and flexibility, so that interworking with various sensors providing various types of sensor data is difficult. It is easy. In addition, by processing a large amount of sensor data stream coming from the interlocked sensors in real time to provide the real-time information required by various applications in the ubiquitous environment, the service provider can concentrate on the development of services.
XML, 센서 데이터, 스트림 처리, 이벤트, 유비쿼터스 XML, Sensor Data, Stream Processing, Events, Ubiquitous
Description
도 1은 본 발명에 의한 센서 데이터 스트림 처리 시스템의 구성도, 1 is a block diagram of a sensor data stream processing system according to the present invention;
도 2는 본 발명에 따른 XML 기반 센서 데이터 스트림 처리 시스템에서, 센서로부터 들어오는 센서 데이터 스트림을 처리하여 연계된 서비스를 자동으로 호출하게 하기 위한 동작 순서도, FIG. 2 is a flowchart illustrating an operation for automatically calling an associated service by processing a sensor data stream coming from a sensor in an XML-based sensor data stream processing system according to the present invention;
도 3은 본 발명에 의한 센서 데이터 스트림 처리 시스템이 처리하는 센서 데이터의 형식인 PML 코어 센서 데이터 모델을 UML로 표현한 도면, 3 is a diagram illustrating a PML core sensor data model, which is a format of sensor data processed by a sensor data stream processing system according to the present invention, in UML;
도 4는 도 3에서 XML 엘리먼트 정의를 보여주는 도면,4 is a diagram illustrating an XML element definition in FIG. 3;
도 5는 도4의 XML 엘리먼트의 데이터 타입인 AnyXMLContentType의 정의를 보여주는 도면,5 is a diagram illustrating the definition of AnyXMLContentType, which is a data type of an XML element of FIG. 4;
도 6은 센서 데이터 형식 등록의 예를 보여주는 도면, 6 is a diagram showing an example of sensor data format registration;
도 7은 도 6의 센서 데이터 형식 등록 처리 과정을 보여주는 도면, 7 is a view showing a sensor data format registration process of FIG. 6;
도 8은 컨텍스트-서비스 등록시 사용자가 제공하는 정보를 보여주는 도면이다. 8 is a diagram illustrating information provided by a user when registering a context-service.
< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>
10 : 센서 10: sensor
20 : 센서 데이터 처리기(SDPS) 20: Sensor Data Processor (SDPS)
20a : 센서 관리자 20a: sensor manager
20b : 센서 데이터 관리자 20b: Sensor Data Manager
20c : 컨텍스트-서비스 관리자 20c: context-service manager
20d : 센서 데이터 접근 관리자 20d: sensor data access manager
20e : SDPS 상호 연동 관리자 20e: SDPS Interoperation Manager
30 : 데이터 스트림 관리기(DSMS) 30: Data Stream Manager (DSMS)
30a : 데이터 스트림 소스 관리자 30a: Data Stream Source Manager
30b : CQ 관리자 30b: CQ Manager
30c : 성능 모니터 30c: Performance Monitor
30d : 데이터 스트림 접근 관리자 30d: data stream access manager
40 : 센서 데이터 저장 관리기 40: sensor data storage manager
40a : XML/릴레이션 변환기 40a: XML / Relation Converter
40b : MMDBMS 40b: MMDBMS
본 발명은 GPS, 온도, 생체 신호 등 다양한 센서들로부터 들어온 데이터 스트림을 XML(eXtended Markup Language) 형태로 변환하여 처리한 후 연계된 서비스를 자동으로 호출해 주는 XML 기반 센서 데이터 스트림 처리 시스템에 관한 것으로, 더욱 상세하게는 EPCglobal에서 제안한 데이터 표준 형식인 PML Core 형태의 센서 데이터를 효과적으로 처리할 수 있는 XML 기반 센서 데이터 스트림 처리 시스템 및 방법에 관한 것이다. The present invention relates to an XML-based sensor data stream processing system that automatically calls a linked service after converting and processing data streams from various sensors such as GPS, temperature, and bio signals into XML (eXtended Markup Language) format. More specifically, the present invention relates to an XML-based sensor data stream processing system and method that can effectively process sensor data in the PML Core format, which is a data standard format proposed by EPCglobal.
유비쿼터스 컴퓨팅 환경에서 끊임없이 생성되는 다양한 종류의 대용량, 실시간 센서 데이터를 처리하기 위해서는 센서 데이터 스트림 처리 기술이 필수적이다. 센서 데이터 스트림 처리 기술은 RFID, GPS, 온도, 생체 신호와 같은 다양한 센서 데이터들을 가공, 처리하여 응용 서비스에 제공하는 기술로, 유비쿼터스 컴퓨팅의 핵심 기술이다. 특히, RFID 기반 센서 데이터 스트림 처리 기술은 최근에 산업체와 학계에서 활발히 연구가 진행되고 있다. 산업체에서는 RFID 기반 센서 데이터 처리를 위한 다양한 미들웨어를 개발하였거나 개발 중에 있고, 학계에서는 센서 데이터 스트림 처리의 기반이 되는 데이터 스트림 관리 시스템(Data Stream Management System: DSMS)에 대한 연구를 진행하고 있다. Sensor data stream processing technology is essential for processing various kinds of high-capacity, real-time sensor data that is constantly generated in ubiquitous computing environment. Sensor data stream processing technology is a technology that processes, processes and provides various sensor data such as RFID, GPS, temperature, and bio signals to application services, and is a core technology of ubiquitous computing. In particular, RFID-based sensor data stream processing technology has recently been actively studied in industry and academia. Industrial companies have developed or are developing various middleware for RFID-based sensor data processing, and academia is conducting research on Data Stream Management System (DSMS), which is the basis of sensor data stream processing.
업체들이 개발한 RFID 기반 센서 데이터 처리 미들웨어로 대표적인 것은 SUN 사의 Savant, CapTech 사의 TagsWare, GlobeRanger 사의 iMotion, ConnecTerra 사의 RFTagWare, Manhattan Associates사의 RFID Middleware, OATSystems 의 EPC-IS Edge Server 등이 있다. 이들 미들웨어들은 대부분 RFID 프로젝트에 요구되는 상당량의 맞춤식 개발을 줄이기 위한 RFID시스템 통합 기반 제공을 목표로 하며, 센서 혹은 리더와의 연동(Adaptor), 센서 데이터 가공을 위한 필터링(Filtering) 혹은 스무딩(Smoothing), 센서 데이터에 대한 로깅(Logging) 기능 등을 제공하고, 센서 데이터의 실시간 처리 및 응용 서비스와의 연동을 지원한다. 참고로, 이들 미들웨어에 개략적인 내용은 각 업체의 웹 사이트를 참조하였다. 이들에 대한 상세한 기술적인 내용은 업체의 특성상 논문으로 자세히 공개되지 않았고, 관련 특허도 거의 없다. SCM분야의 물품 추적 및 재고 관리를 위한 장치, 방법 및 프로그램에 관해 제안된 바 있다. Examples of RFID-based sensor data processing middleware developed by companies include SUN's Savant, CapTech's TagsWare, GlobeRanger's iMotion, ConnecTerra's RFTagWare, Manhattan Associates 'RFID Middleware, and OATSystems' EPC-IS Edge Server. Most of these middlewares aim to provide a foundation for integrating RFID systems to reduce the significant amount of custom development required for RFID projects, and are designed to work with sensors or readers, filtering or smoothing sensor data processing. It provides a logging function for sensor data and supports the real-time processing of sensor data and interworking with application services. For reference, see their web sites for an overview of these middleware. The detailed technical contents of these are not disclosed in detail in the nature of the company, and there are few related patents. An apparatus, method and program for tracking and inventory management in the field of SCM have been proposed.
센서 데이터는 대량의 데이터가 연속적이고, 무제한적으로 생성되기 때문에, 이를 처리하기 위해서는 데이터 스트림 관리 시스템(DSMS)의 대량의 스트림 데이터에 대한 연속 질의 처리 기술이 필수적으로 요구된다. 주로 학계에서 이루어지고 있는 데이터 스트림 관리 시스템에 관한 연구는 크게 SQL을 확장한 CQL(Continuous Query Language)을 통해, 스트림 데이터에 대한 연속 질의를 정의하도록 만든 스탠포드 대학의 STEAM(STandford stream data Manager) 프로젝트, 객체 관계형 DBMS인 PostgreSQL을 기반으로 한 연속 질의 처리에서 공유(sharing)와 적응성(adaptivity)을 통해 성능의 향상을 꾀하는 버클리 대학의 TelegraphCQ 프로젝트, 그리고 “Box-and-Arrows” 인터페이스를 통하여 사용자가 그래프 형태의 연산자 네트워크를 구성하여 질의를 입력하고, 연속 질의를 처리하게 한 Brandeis 대학과 MIT 대학이 공동으로 수행중인 Aurora 프로젝트가 있다. 그 밖에 XML 문서 처리를 위한 NiagaraCQ, 인터넷 상의 변화 내용 모니터링을 위한 OpenCQ, 관심 사항을 XPath로 표현한 응용에게 XML로 표현된 문서를 연결 시켜주는 필터링 시스템으로YFilter 등이 있다. Since the sensor data is generated in a continuous and unlimited amount of data, continuous query processing technology for a large amount of stream data of a data stream management system (DSMS) is essential to process the data. Research in the data stream management system, which is mainly conducted in academia, is based on the Stanford University STEAM (Standford stream data Manager) project, which is designed to define continuous queries for stream data through CQL (Continuous Query Language), which greatly expands SQL. In the continuous query processing based on PostgreSQL, an object-relational DBMS, Berkeley University's TelegraphCQ project seeks to improve performance through sharing and adaptability, and allows users to create graphs via the “Box-and-Arrows” interface. There is an Aurora project in collaboration between Brandeis University and MIT University, which has formed a network of operators to enter queries and process continuous queries. Others include NiagaraCQ for XML document processing, OpenCQ for monitoring changes on the Internet, and YFilter as a filtering system that connects documents expressed in XML to XPath expressions of interest.
한편, RFID 기술의 사실상 표준을 주도하고 있는 EPCglobal에서는 센서 데이터 스트림 처리를 위한 응용 서비스를 보다 쉽고 편리하게 개발하기 위하여 EPC 네트워크라는 참조 아키텍쳐를 제시하고, 그와 관련된 표준을 제공하고 있다. EPCglobal에서는 EPC 네트워크 아키텍쳐에서 교환되는 데이터의 형식과 의미에 대한 표준으로 EPC와 PML(Physical Markup Language)를 정의한다. EPC는 물리적 객체를 보편적으로 인식하기 위한 인식 체계로서, 개별 객체를 유일하게 식별하는 EPC 식별자 필드와 EPC 태그를 효율적으로 읽기 위한 필터 값 필드로 구성된다. PML은 XML의 한 응용으로서 EPC Network 상의 객체에 대한 정보를 표현하고 교환하기 위한 표준이며, PML Core 는 RFID Reader와 같은 센서로부터 얻어진 데이터 교환을 위한 표준 형식으로, 이는 PML Core specification 1.0에 자세히 기술되어 있다. Meanwhile, EPCglobal, which leads the de facto standard of RFID technology, proposes a reference architecture called EPC network and provides related standards to make it easier and more convenient to develop application services for processing sensor data streams. EPCglobal defines EPC and Physical Markup Language (PML) as a standard for the format and semantics of the data exchanged in the EPC network architecture. The EPC is a recognition system for universally recognizing physical objects. The EPC includes an EPC identifier field for uniquely identifying an individual object and a filter value field for efficiently reading an EPC tag. PML is an application of XML. It is a standard for expressing and exchanging information about objects on the EPC Network. PML Core is a standard format for exchanging data obtained from sensors such as RFID readers, which are described in detail in PML Core specification 1.0. have.
지금까지 업체에서 개발된 미들웨어들은 대부분 관계형 모델을 기반으로 하고 있기 때문에 단순한 자료형을 갖는 고정된 형식의 데이터를 처리하기에는 효율적이나, 복잡한 자료형을 갖는 다양한 형식의 센서 데이터를 함께 처리하기에는 적합하지 않다. 또한, 기존에 개발된 미들웨어들은 SCM, ERP등과 같이 특정 분야에 치우친 미들웨어를 기반으로 하고 있기 때문에 응용 서비스 개발자가 사용자와 응 용 분야의 요구에 맞게 이벤트를 정의하고 상황에 맞는 서비스를 연계시키는 기능이 부족하여 응용 서비스를 개발하는데 많은 시간과 노력이 든다. Since middleware developed by companies is based on relational models, most of them are efficient to process fixed-type data with simple data types, but are not suitable for processing various types of sensor data with complex data types. In addition, since the developed middleware is based on middleware that is biased in a specific field such as SCM, ERP, etc., the application service developer has a function to define an event according to the needs of the user and the application field and to link the service according to the situation. It lacks a lot of time and effort in developing application services.
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로서, 본 발명의 목적은 종류가 다양하고 복잡한 형식을 갖는 센서 데이터에 대한 모델링 및 처리가 쉽지 않던 기존의 센서 데이터 스트림 처리 시스템의 문제점을 개선하기 위하여 풍부한 모델링 능력이 있고 융통성이 뛰어난 XML을 기반으로 다양한 센서들로부터 들어온 데이터 스트림을 처리한 후 연계된 서비스를 자동으로 호출해 주는 XML 기반 센서 데이터 스트림 처리 시스템 및 방법을 제공하는데 있다. Therefore, the present invention has been proposed to solve the above problems, and an object of the present invention is a problem of the conventional sensor data stream processing system, which is difficult to model and process sensor data having various types and complex formats. In order to improve the performance, we provide an XML-based sensor data stream processing system and method that automatically invokes the associated service after processing data streams from various sensors based on XML with rich modeling ability and flexibility.
이하, 본 발명의 XML 기반 센서 데이터 스트림 처리 시스템 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, an XML-based sensor data stream processing system and method of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 XML 기반 센서 데이터 스트림 처리 시스템의 구성도로서, 상기 센서 데이터 스트림 처리 시스템은 센서(10), 센서 데이터 처리기(SDPS)(20), 데이터 스트림 관리기(DSMS)(30) 및 센서 데이터 저장 관리기(40) 등으로 구성된다. 1 is a configuration diagram of an XML-based sensor data stream processing system according to the present invention, wherein the sensor data stream processing system includes a
상기 센서 데이터 처리기(20)는 센서(10)로부터의 센서 데이터 스트림 처리 기능을 제공하는 것으로, 센서의 등록 및 연결 정보를 관리하는 센서 관리자(20a), 센서 데이터 소스, 센서 데이터 브라우징 및 센서 데이터 로그를 관리하는 센서 데이터 관리자(20b), 컨텍스트-서비스 정보를 관리하고, 서비스 메시지 생성, 원격 서비스 호출을 담당하는 컨텍스트-서비스 관리자(20c), 센서 데이터 접근 권한을 설정하는 센서 데이터 접근 관리자(20d), 다른 센서 데이터 처리기(50, 52)와의 상호 연동을 담당하는 SDPS 상호 연동 관리자(20e) 등으로 구성된다. The sensor data processor 20 provides a sensor data stream processing function from the
상기 데이터 스트림 관리기(30)는 대량의 스트림 데이터에 대한 연속 질의 처리 기능을 제공하는 것으로, 센서 데이터 처리기(20)로부터 들어오는 데이터 스트림에 대한 스키마 및 입력 큐 관리를 담당하는 데이터 스트림 소스 관리자(30a), 연속 질의 파싱, 실행 계획 수립, 스케쥴링 및 실행을 담당하는 CQ 관리자(30b), 연속 질의 실행기 성능을 측정하여 스케쥴링 정보를 제공하기 위한 성능 모니터(30c), 데이터 스트림에 대한 사용자의 접근 권한 및 인증 정보를 관리하는 데이터 스트림 접근 관리자(30d)를 포함한다. The data stream manager 30 provides a continuous query processing function for a large amount of stream data, and the data
상기 센서 데이터 저장 관리기(40)는 센서(10)로부터 전달되는 센서 데이터 중에서 히스토리컬 질의(Historical Query)를 지원하기 위해 영구히 저장할 필요성이 있는 데이터의 저장 관리를 담당하며, XML형태의 데이터나 질의를 관계형의 데이터나 SQL로 변환하거나 혹은 그 반대로 변환해주는 XML/릴레이션(Relation) 변환 기(40a)와 MMDBMS(Main Memory DataBase Management System)(40b)로 구성된다. The sensor data storage manager 40 is in charge of storing and managing data that needs to be permanently stored in order to support a historical query among sensor data transmitted from the
도 2는 본 발명에 따른 XML 기반 센서 데이터 스트림 처리 시스템에서, 센서로부터 들어오는 센서 데이터 스트림을 처리하여 연계된 서비스를 자동으로 호출하게 하기 위한 동작 순서도이다. 2 is a flowchart illustrating an operation of automatically invoking an associated service by processing a sensor data stream coming from a sensor in an XML-based sensor data stream processing system according to the present invention.
센서 데이터 스트림 처리 시스템의 동작은 크게 두 가지 과정을 거친다. 즉, 센서 데이터 스트림 처리를 준비하기 위한 환경 구축 단계(S100)와 센서 데이터 스트림 처리 단계(S200)가 있다. The operation of the sensor data stream processing system goes through two main processes. That is, there are an environment building step (S100) and a sensor data stream processing step (S200) for preparing the sensor data stream processing.
상기 환경 구축 단계(S100)는 센서 등록 단계(S110), 센서 데이터 소스 등록단계(S120), 컨텍스트-서비스 등록 단계(S130)로 이루어지며, 각 단계에 대하여 간략히 설명하면 다음과 같다. The environment building step (S100) consists of a sensor registration step (S110), a sensor data source registration step (S120), and a context-service registration step (S130). Each step is briefly described as follows.
◆ 센서 등록 단계(S110):◆ Sensor registration step (S110):
센서 이름, 센서 모델, 연결된 안테나 수, 연결된 안테나 리스트, 연결 방식, 주소, 접속 포트 등에 센서에 대한 정보를 입력으로 해서 센서를 등록한다. Register the sensor by inputting the sensor information such as sensor name, sensor model, number of connected antennas, connected antenna list, connection method, address, and connection port.
◆ 센서 데이터 소스 등록 단계(S120):◆ Sensor data source registration step (S120):
센서 데이터 소스란 연동된 센서들을 그룹화하여 데이터 스트림 관리기(30) 에 전달하는 입력 데이터 소스를 말한다. 센서 데이터 소스는 데이터 스트림 관리기(30)의 입력 소스와 일대일로 대응되며, 소스 식별자, 센서 리스트, 소스 스키마, 입력큐 크기, 입력큐 타입 등을 입력으로 소스를 생성하여 등록한다. 센서 데이터 소스 등록에 대한 자세한 내용은 아래에서 도 6과 도 7을 이용하여 설명한다. The sensor data source refers to an input data source that groups the associated sensors and delivers them to the data stream manager 30. The sensor data source corresponds in one-to-one correspondence with the input source of the data stream manager 30, and generates and registers a source by inputting a source identifier, a sensor list, a source schema, an input queue size, an input queue type, and the like. The details of the sensor data source registration will be described below with reference to FIGS. 6 and 7.
◆ 컨텍스트-서비스 등록 단계(S130):◆ context-service registration step (S130):
컨텍스트-서비스에서 ‘컨텍스트’란 서비스가 수행되기 위해 만족되어야 하는 상황을 의미하고, ‘서비스’는 특정 상황을 만족할 때 수행되는 행위를 의미한다. 컨텍스트-서비스 등록은 {컨텍스트 정보, 서비스 정보, 매핑 정보, 수행 간격}을 입력으로 등록한다. 등록시 필요한 자세한 정보는 아래에서 도 8을 이용하여 설명한다. In context-services, the context refers to a situation that must be satisfied in order for the service to be performed, and the service refers to an action that is performed when a particular situation is satisfied. Context-service registration registers {context information, service information, mapping information, execution interval} as input. Detailed information required for registration will be described below with reference to FIG. 8.
컨텍스트-서비스 등록에 대한 처리 과정은 컨텍스트-서비스 관리자(20c)가 컨텍스트(즉, 연속 질의문)를 입력으로 DSMS(30)의 CQ 관리자(30b)를 호출하고, CQ 관리자(30b)는 상기 연속 질의문을 분석해서 관련 처리 구조 및 해당 컨텍스트의 처리 결과를 반환할 출력큐를 생성하여 반환함으로써 이루어진다. In the process of registering a context-service, the context-service manager 20c calls the
등록 단계가 완료되면, 센서(10)로부터 데이터 스트림을 받아서 처리한 후 그 결과에 따라 서비스 호출이 가능하다. When the registration step is completed, it is possible to receive the data stream from the
한편, 센서 데이터 스트림 처리 단계(S200)는 센서 데이터 입력단계(S210), 센서 데이터 처리단계(S220), 서비스 연동 단계(S230)로 이루어지며, 각 단계에 대 하여 간략히 설명하면 다음과 같다. On the other hand, the sensor data stream processing step (S200) is composed of a sensor data input step (S210), a sensor data processing step (S220), a service interworking step (S230), briefly described for each step as follows.
◆ 센서 데이터 입력 단계(S210):◆ Sensor data input step (S210):
센서(10)로부터 데이터를 받아서 해당 소스의 입력 큐에 넣는다. 이때, 입력 큐의 타입에 따라 XML 문서 혹은 문서를 파싱하여 트리 구조로 변환한 결과 트리 형태로 넣는다. The data is received from the
◆ 센서 데이터 처리(연속 질의 처리) 단계(S220):◆ Sensor data processing (continuous query processing) step (S220):
CQ 관리자(30b)는 각각의 연속 질의를 위한 입력 큐들로부터 데이터를 읽어서 연속 질의를 처리하고, 질의 결과를 해당 결과큐에 넣는다. The
◆ 서비스 연동 단계(S230):◆ Service Interlocking Steps (S230):
등록된 매핑 정보를 이용하여 결과큐에 바인딩 되어 있던 서비스에 데이터를 맵핑시킨 후 수행 간격을 참고하여 서비스를 호출한다. After mapping data to the service bound to the result queue by using the registered mapping information, call the service referring to the execution interval.
본 발명에 의한 센서 데이터 스트림 처리 시스템은 연동된 센서들로부터 들어오는 다양한 형식의 센서 데이터를 EPCglobal에서 제안한 센서 데이터 교환 표준 형식인 PML 코어(Core) 스키마 형식으로 변환하여 처리한다. PML 코어 스키마에 대해서, 도 3, 도 4, 및 도5를 이용하여 설명하면 다음과 같다. The sensor data stream processing system according to the present invention converts sensor data of various formats from interlocked sensors into PML Core schema format, which is a sensor data exchange standard format proposed by EPCglobal. The PML core schema will be described with reference to FIGS. 3, 4, and 5 as follows.
도 3은 UML로 표현한 PML Core 센서 데이터 모델이다. 3 is a PML Core sensor data model expressed in UML.
센서 엘리먼트(Sensor element)는 PML 코어의 메인 엘리먼트로서 ID 엘리먼트와 하나 이상의 관측(Observation) 엘리먼트들로 구성된다. The sensor element is the main element of the PML core and is composed of an ID element and one or more observation elements.
관측 엘리먼트는 특정 센서에 의해서 측정된 데이터를 포함하는 엘리먼트로서 날짜시간(DateTime) 엘리먼트를 반드시 포함해야 하며, ID 엘리먼트, 커맨드(Command) 엘리먼트 등을 포함할 수도 있다. 또한 데이터(Data) 엘리먼트 혹은 태그(Tag) 엘리먼트를 여러 개 포함할 수 있다. The observation element is an element that includes data measured by a specific sensor and must include a DateTime element, and may include an ID element, a Command element, and the like. In addition, the data element may include several data elements or tag elements.
데이터 엘리먼트는 센서가 측정한 측정 데이터를 표현하기 위한 엘리먼트로 사용되어야 하고, 그렇지 않은 경우엔 태그 엘리먼트들을 이용하여 측정 데이터를 표현해야 한다. 또한, 데이터 엘리먼트는 스트링(string)이나 헥스바이너리(hexbinary)처럼 단순한 데이터 블롭(blob)으로 비구조화된 데이터를 표현하거나 다른 네임스페이스에 존재하는 부가적인 XML 태그들을 삽입함으로써 구조화된 데이터를 표현하는데 사용할 수 있다. 또한, 데이터 엘리먼트는 3가지 엘리먼트 즉, 텍스트 엘리먼트, 바이너리 엘리먼트, XML 엘리먼트 중에서 한가지를 선택하여 구성된다. The data element should be used as an element for representing the measurement data measured by the sensor, otherwise the tag element should be used to represent the measurement data. In addition, data elements can be used to represent structured data by representing unstructured data in simple data blobs, such as strings or hexbinaries, or by inserting additional XML tags that exist in other namespaces. Can be. In addition, the data element is configured by selecting one of three elements, that is, a text element, a binary element, and an XML element.
XML 엘리먼트는 PML Core 규격을 넘어서는 XML 엘리먼트를 갖는 센서 데이터를 표현하고자 할 때 사용된다. 스키마 정의문(XSD)에서 ‘any’ 엘리먼트는 PML Core 스키마에 의해서 명시되지 않은 엘리먼트를 표현할 수 있게 해준다. 이와 같이, PML Core 스키마에 국부적으로 개방성(openness)을 부여하는 이유는 사용자들이 센서 데이터를 원하는 대로 다양하게 모델링할 수 있도록 허용하고자 함이다. XML element is used to express sensor data with XML element beyond PML Core specification. The 'any' element in the schema definition statement (XSD) allows you to represent elements not specified by the PML Core schema. As such, the reason for providing openness locally to the PML Core schema is to allow users to model the sensor data in various ways as desired.
도 4는 PML Core 스키마에서 XML 엘리먼트의 정의이며, 도 5는 PML Core 스키마에서 XML 엘리먼트의 데이터 타입인 AnyXMLContentType의 정의이다. 4 is a definition of an XML element in the PML Core schema, and FIG. 5 is a definition of AnyXMLContentType which is a data type of an XML element in the PML Core schema.
PML Core 스키마에서 자료형이 AnyXMLContentType인 XML 엘리먼트를 제외한 나머지 부분은 이미 형식이 결정되어 있으며, 고정적이다. 따라서, 형식이 결정되지 않은 XML 엘리먼트 부분만 데이터 형식을 받아서 PML Core 스키마의 해당 부분에 삽입하여 사용하면 된다. Except for XML elements whose data type is AnyXMLContentType, the PML Core schema is already formatted and fixed. Therefore, only the XML element part whose format is not determined can be received and inserted into the corresponding part of PML Core schema.
도 6은 도 2의 센서 데이터 소스 등록의 일례를 보여준다. FIG. 6 shows an example of sensor data source registration of FIG. 2.
소스 식별자가 i이고, 등록할 센서 리스트가 S3와 S4이고, 소스 스키마(즉, AnyXMLContentType인 XML 엘리먼트의 스키마)가 빗금친 부분으로 표시한 XML 스키마 정의문이고, 입력 큐 크기가 qs이고, 입력 큐 타입이 데이터를 XML tree 형태로 받아들인다고 가정했을 때의 센서 데이터 스트림 처리 시스템의 상황이다. An XML schema definition statement with the source identifier i, the list of sensors to register, S3 and S4, the source schema (that is, the schema of the XML element of AnyXMLContentType) as hatched, the input queue size is qs, the input queue This is the situation in the sensor data stream processing system, assuming the type accepts data in the form of an XML tree.
도 7은 도 6의 상황에서 센서 데이터 소스 등록 처리 과정을 보여준다. FIG. 7 shows a sensor data source registration process in the situation of FIG. 6.
센서 데이터 처리기의 센서 데이터 관리자에서는 센서 데이터 소스 정보 관리 테이블에 새로운 소스 항목을 생성하여 관련 정보를 등록하고(S120a), 센서 데이터 스키마 템플릿의 XML 데이터 부분에 입력 받은 소스 스키마를 삽입하여 새로운 소스를 위한 전체 스키마(즉, 도 7의 SrcSchema1)를 완성하고(S120b), 그 스키마를 주면서 데이터 스트림 관리기의 데이터 스트림 소스 관리자를 호출한다 (S120c). The sensor data manager of the sensor data processor creates a new source item in the sensor data source information management table and registers the related information (S120a), and inserts the input source schema into the XML data portion of the sensor data schema template for a new source. The entire schema (ie, SrcSchema1 of FIG. 7) is completed (S120b), and the data stream source manager of the data stream manager is called while giving the schema (S120c).
데이터 스트림 관리기의 데이터 스트림 소스 관리자는 입력으로 받은 소스 스키마(SrcSchema1) 정보를 이용하여 DSMS 내부에 새로운 소스를 생성하고 관련 정보를 내부 소스 정보 관리 테이블에 등록한다(S120d). The data stream source manager of the data stream manager uses the source schema (SrcSchema1) information received as input to create a new source in the DSMS and registers the related information in the internal source information management table (S120d).
또한, 연속적으로 데이터를 입력 받을 장치로 데이터 스트림 관리기에 큐 크기가 qs이고, 입력 데이터 형태가 트리(tree)인 입력큐(IQi)를 생성한다(S120e). In operation S120e, an input queue IQi having a queue size of qs and a type of input data as a tree is generated in the data stream manager as a device to receive data continuously (S120e).
도 8은 도 2의 컨텍스트-서비스 등록 시 필요한 정보를 보여준다. FIG. 8 shows information necessary for registering a context-service of FIG. 2.
컨텍스트-서비스 등록을 위해서는 사용자가 {컨텍스트 정보, 서비스 정보, 컨텍스트-서비스 매핑 정보, 서비스 수행 간격} 등을 입력으로 제공해야 한다. 각각의 정보에 대하여 설명하면 다음과 같다. In order to register a context-service, a user must provide {context information, service information, context-service mapping information, service execution interval}, and the like as an input. Each information is described as follows.
◆ 컨텍스트 정보:◆ Context Information:
컨텍스트 정보는 데이터 스트림 관리기에서 제공하는 연속 질의어를 이용하여 표현한다. 이 연속 질의어는 센서로부터 얻어지는 XML 형태의 스트리밍 데이터를 검색할 수 있도록 XML 질의 언어를 확장하여 만든 것이다. The context information is expressed using a continuous query provided by the data stream manager. This continuous query is an extension of the XML query language that allows you to retrieve streaming data in the form of XML from a sensor.
◆ 서비스 정보:◆ Service Information:
서비스는 사용자에게 제공되는 행위(action)로서, 웹서비스(Web Service)와 자바 메시징 서비스(Java Messaging Service: JMS) 등이 있다. A service is an action provided to a user, such as a web service and a Java messaging service (JMS).
◆ 컨텍스트-서비스 매핑 정보:◆ Context-to-service mapping information:
매핑 정보는 서비스에의 입력으로 컨텍스트-서비스 정의시 미리 정해진 값(정적 정보)과 상황 체크 질의의 결과(동적 정보)를 어떻게 받아들이게 할 것인가에 대한 정보를 나타낸다. The mapping information indicates information on how to accept a predetermined value (static information) and a result of a situation check query (dynamic information) when defining a context-service as an input to a service.
정적 정보의 경우에는 인자명과 값의 쌍으로 표현하며, 동적인 정보는 인자명과 값에의 경로 쌍으로 표현한다. 동적 정보를 표현하는 값에의 경로는 질의 반환 값을 나타내는 XML 문서의 엘리먼트에 대한 전체 경로를 이용한다. In the case of static information, it is expressed as a pair of argument names and values, and dynamic information is expressed as a pair of paths to argument names and values. The path to the value representing the dynamic information uses the full path to the element in the XML document that represents the query return value.
◆ 서비스 수행 간격:◆ Service intervals:
서비스를 호출하는 주기로 일:시:분:초로 표현된다. 명시되지 않은 경우에는 만족되는 상황이 발생하면 바로 서비스를 호출한다. The interval for invoking the service, expressed in days: hours: minutes: seconds. If not specified, the service is called as soon as it is satisfied.
상술한 바와 같이, 본 발명에 의한 XML 기반 센서 데이터 스트림 처리 시스템 및 방법은, 기존 시스템들에 비해 다음과 같은 장점을 제공한다. As described above, the XML-based sensor data stream processing system and method according to the present invention provides the following advantages over existing systems.
첫째, 다양한 XML 형식을 갖는 센서 데이터 스트림을 실시간으로 처리한다. 어떠한 형식의 XML 데이터도 올 수 있도록 사용자 정의 형식에 대한 데이터 형식 등록 수단을 제공함으로써 새로운 다양한 센서들을 내부 프로그램을 고치지 않고 쉽게 연동할 수 있도록 지원한다. First, sensor data streams with various XML formats are processed in real time. By providing a means of registering data types for user-defined types so that any type of XML data can come, new sensors can be easily interlocked without modifying internal programs.
둘째, 센싱된 데이터를 기반으로 한 특정 이벤트를 확장된 XQuery를 이용하여 정의할 수 있다. 따라서, 연속적으로 들어오는 센서 데이터 스트림에 대하여 다수 개의 연속 XQuery 처리를 지원한다. Second, specific events based on sensed data can be defined using extended XQuery. Thus, multiple continuous XQuery processing is supported for continuous incoming sensor data streams.
셋째, 정의된 이벤트 발생시에 웹서비스, JMS 등을 연동할 수 있게 된다. Third, when a defined event occurs, web services, JMS, etc. can be linked.
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040109898 | 2004-12-21 | ||
KR20040109898 | 2004-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060071288A KR20060071288A (en) | 2006-06-26 |
KR100685747B1 true KR100685747B1 (en) | 2007-02-22 |
Family
ID=37164819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050060180A KR100685747B1 (en) | 2004-12-21 | 2005-07-05 | System and method for processing sensor data stream based on xml |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100685747B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100806019B1 (en) * | 2007-11-16 | 2008-02-26 | 주식회사 메타비즈 | A method and apparatus for electronic product code capturing system using realtime master data |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100695009B1 (en) * | 2005-12-01 | 2007-03-14 | 한국전자통신연구원 | System and method for processing stream data using pre-filtering based on software |
KR100783679B1 (en) * | 2006-05-11 | 2007-12-07 | 한국과학기술원 | A Middleware System Facilitating Development, Deployment, and Provision of Stream-based Services |
KR101244042B1 (en) * | 2006-06-27 | 2013-03-14 | 주식회사 케이티 | External system interconnected operating device in ubiquitous city total controlling platform |
KR100789919B1 (en) * | 2006-08-16 | 2008-01-02 | 한국전자통신연구원 | Apparatus for providing usn directory service based on herterogeneous sensor networks and its method |
KR100900514B1 (en) * | 2006-12-04 | 2009-06-02 | 한국전자통신연구원 | System and method for processing heterogeneous sensor data stream using xml common model |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183180A (en) | 2000-12-16 | 2002-06-28 | Kentaro Hayashi | Information gathering and retrieval system |
KR20040017567A (en) * | 2002-08-22 | 2004-02-27 | 삼성전자주식회사 | Apparatus and method for converting electronic program guide information to XML |
JP2004229258A (en) | 2003-01-22 | 2004-08-12 | Taki Hiroyuki | Integration system of existing sensor signal using internet |
KR20040098105A (en) * | 2003-05-13 | 2004-11-20 | 삼성전자주식회사 | Test-Stream Generating Method And Apparatus Providing Various Standards And Testing Level |
-
2005
- 2005-07-05 KR KR1020050060180A patent/KR100685747B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183180A (en) | 2000-12-16 | 2002-06-28 | Kentaro Hayashi | Information gathering and retrieval system |
KR20040017567A (en) * | 2002-08-22 | 2004-02-27 | 삼성전자주식회사 | Apparatus and method for converting electronic program guide information to XML |
JP2004229258A (en) | 2003-01-22 | 2004-08-12 | Taki Hiroyuki | Integration system of existing sensor signal using internet |
KR20040098105A (en) * | 2003-05-13 | 2004-11-20 | 삼성전자주식회사 | Test-Stream Generating Method And Apparatus Providing Various Standards And Testing Level |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100806019B1 (en) * | 2007-11-16 | 2008-02-26 | 주식회사 메타비즈 | A method and apparatus for electronic product code capturing system using realtime master data |
Also Published As
Publication number | Publication date |
---|---|
KR20060071288A (en) | 2006-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7480920B2 (en) | Systems and methods for providing an enterprise services description language | |
US7721193B2 (en) | System and method for implementing a schema object model in application integration | |
US8615731B2 (en) | System and method for automating the development of web services that incorporate business rules | |
KR100685747B1 (en) | System and method for processing sensor data stream based on xml | |
US20100125476A1 (en) | System having business aware framework for supporting situation awareness | |
WO2003034228A1 (en) | System and method for implementing a schema object model in application integration | |
US7945893B2 (en) | Mapping web services description language documents to XQuery functions | |
Potocnik et al. | Towards complex event aware services as part of SOA | |
US20080134210A1 (en) | Distributed Computer | |
Milenkovic et al. | Chapter 6: IoT Data Models and Metadata | |
Kim et al. | RFID business aware framework for business process in the EPC network | |
Liu et al. | Semantics-based optimization across uncoordinated tasks in networked embedded systems | |
Maarouf et al. | XML integrated environment for service-oriented data management | |
Eberhart | Towards universal web service clients | |
Uifălean et al. | Employing Graph Databases for Business Process Management and Representation | |
Lee et al. | An Effective XML-based sensor data stream processing middleware for ubiquitous service | |
Liu et al. | A framework for feeding Linked Data to Complex Event Processing engines | |
Su et al. | Creating a RFID data integration framework for enterprise information systems | |
Le et al. | Generating request web services from annotated BPEL | |
Su et al. | On the utilization and integration of RFID data into enterprise information systems via WinRFID | |
UCLA-WINMEC | On the Utilization and Integration of RFID data into Enterprise Information Systems via WinRFID | |
Phan et al. | From Extensional Data to Intensional Data: AXML for XML | |
Grünhagen | The XL Web Service Language: Concepts and Implementation | |
Wallner et al. | T4 Technology Evaluation: Technology Evaluation for Telematics for Totally Transparent Transports | |
Ma et al. | Intelligent Web Data Management of Literature Validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130205 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140123 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |