KR101602645B1 - Middleware device for efficient data collection and efficient data collection method of middleware device - Google Patents

Middleware device for efficient data collection and efficient data collection method of middleware device Download PDF

Info

Publication number
KR101602645B1
KR101602645B1 KR1020140031992A KR20140031992A KR101602645B1 KR 101602645 B1 KR101602645 B1 KR 101602645B1 KR 1020140031992 A KR1020140031992 A KR 1020140031992A KR 20140031992 A KR20140031992 A KR 20140031992A KR 101602645 B1 KR101602645 B1 KR 101602645B1
Authority
KR
South Korea
Prior art keywords
queue
data
queues
socket
middleware
Prior art date
Application number
KR1020140031992A
Other languages
Korean (ko)
Other versions
KR20150109511A (en
Inventor
주성용
강대성
임호섭
Original Assignee
동아대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동아대학교 산학협력단 filed Critical 동아대학교 산학협력단
Priority to KR1020140031992A priority Critical patent/KR101602645B1/en
Publication of KR20150109511A publication Critical patent/KR20150109511A/en
Application granted granted Critical
Publication of KR101602645B1 publication Critical patent/KR101602645B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality

Abstract

본 발명은 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법에 관한 것으로서, 데이터 송신 장치로부터 소켓으로 데이터가 전송됨에 따라, 미들웨어 장치가 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 상기 소켓에 할당하는 단계, 상기 미들웨어 장치가 상기 소켓으로 전송된 데이터를 상기 특정 큐에 저장하는 단계, 상기 미들웨어 장치가 상기 클러스터링 큐에 포함된 상기 복수의 큐에 유휴(idle) 상태인 큐가 존재하는지 관찰하는 단계, 및 상기 미들웨어 장치가 관찰 결과에 따라 유휴 상태인 특정 큐에 저장된 데이터를 데이터베이스에 저장하는 단계를 포함하며, 이를 통해 클러스터링 큐에 포함된 복수의 큐 중 특정 큐를 선택하여 소켓에 할당함으로서, 소켓으로 전송된 데이터를 큐에 임시로 저장함에 따른 시간이 단축되고, 데이터 수집 및 저장을 위한 전체 소요시간이 절약된다.The present invention relates to an efficient data collection method for a middleware apparatus and a middleware apparatus for efficiently collecting data. As data is transmitted from a data transmission apparatus to a socket, a middleware apparatus selects a specific queue from a plurality of queues including a plurality of queues Storing the data transmitted to the socket in the specific queue; and transmitting, by the middleware apparatus, data stored in the queue to the socket, And storing the data stored in a specific queue that is idle according to the observation result in the database, thereby selecting a specific one of the plurality of queues included in the clustering queue and storing the selected queue in the socket By allocating, the data sent to the socket is queued The time required for temporary storage is shortened, and the total time for data collection and storage is saved.

Description

효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법 {Middleware device for efficient data collection and efficient data collection method of middleware device}Technical Field [0001] The present invention relates to a middleware device for efficiently collecting data and an efficient data collection method of a middleware device,

본 발명은 데이터 수집 기술과 관련한 것으로, 더욱 상세하게는 데이터를 수집하여 데이터베이스에 저장하는 미들웨어 장치의 데이터 수집 효율을 개선한, 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법에 관한 것이다.The present invention relates to a data collection technique, and more particularly, to a middleware apparatus and an efficient data collection method for a middleware apparatus for efficiently collecting data, which improves the data collection efficiency of a middleware apparatus that collects data and stores the collected data in a database .

사물에 통신 기능을 부과하여 지능적으로 정보를 수집하고 전달하는 사물통신(M2M, Machine to Machine) 기술에 대한 연구가 진행되어 상용화가 이루어지고 있다. 이러한 사물통신을 이용해 특정 센서에서 수집한 정보나 특정 기기의 정보를 다른 기기와의 통신을 통해 전송하는 방식으로 정보의 수집이 가능하게 되었다.M2M (Machine to Machine) technology, which intelligently collects and transmits information by imposing a communication function on objects, has been studied and commercialized. By using this object communication, it is possible to collect information by collecting information collected from a specific sensor or information of a specific device through communication with other devices.

도 1은 종래의 미들웨어 장치가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다. 도 1에서 각종 정보를 수집하여 전송하는 클라이언트 장치(1)는 미들웨어 장치(2)로 데이터를 전송하고, 미들웨어 장치(2)는 수집한 데이터를 데이터베이스(3)에 저장하여 보관한다.FIG. 1 is a diagram illustrating a conventional middleware device collecting and storing data. In FIG. 1, the client apparatus 1 for collecting and transmitting various information transmits data to the middleware apparatus 2, and the middleware apparatus 2 stores and stores the collected data in the database 3.

이때, 클라이언트 장치(1)는 복수의 클라이언트(1-1, 1-2, ..., 1-n)를 포함하고, 각 클라이언트(1-1, 1-2, ..., 1-n)는 대응하는 미들웨어 장치(2)의 소켓(2-1, 2-2, ..., 2-n)으로 데이터를 전송한다. 그런데 미들웨어 장치(2)는 소켓(2-1, 2-2, ..., 2-n)으로 전송되는 데이터를 한꺼번에 데이터베이스(3)에 저장할 수 없어, 각각의 데이터를 효율적으로 저장하기 위한 방안이 요청된다.At this time, the client apparatus 1 includes a plurality of clients 1-1, 1-2, ..., 1-n, and each of the clients 1-1, 1-2, Transmits data to the sockets 2-1, 2-2, ..., 2-n of the corresponding middleware apparatus 2. [ However, the middleware device 2 can not store the data transmitted to the sockets 2-1, 2-2, ..., 2-n at once in the database 3, Is requested.

한국공개특허 제10-2013-0118593호 (2013년 10월 30일 공개)Korean Patent Publication No. 10-2013-0118593 (published on October 30, 2013)

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 데이터를 수집하여 데이터베이스에 저장하는 미들웨어 장치에서, 클러스터링 큐를 이용해 저장에 따른 소요 시간을 현저히 단축할 수 있는, 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to solve the above problems and to provide a middleware apparatus for efficiently collecting data, which can significantly reduce a time required for storage using a clustering queue in a middleware apparatus for collecting data and storing the collected data in a database, And to provide an efficient data collection method of the middleware device.

상기와 같은 목적을 달성하기 위한 본 발명의 효율적인 데이터 수집을 위한 미들웨어 장치는, 데이터 송신 장치로부터 소켓으로 데이터가 전송됨에 따라, 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 상기 소켓에 할당하는 큐 관리 모듈, 상기 소켓으로 전송된 데이터를 상기 특정 큐에 저장하는 큐 저장 모듈, 및 상기 클러스터링 큐에 포함된 상기 복수의 큐를 관찰하고, 유휴(idle) 상태인 상기 특정 큐에 저장된 데이터를 데이터베이스에 저장하는 데이터 저장 모듈을 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a middleware apparatus for efficiently collecting data, the apparatus comprising: a plurality of queues including a plurality of queues, A queue management module, a queue storage module for storing the data transmitted to the socket in the specific queue, and the plurality of queues included in the clustering queue, and for storing data stored in the specific queue in an idle state, And a data storage module for storing the data.

본 발명의 효율적인 데이터 수집을 위한 미들웨어 장치에 있어서, 상기 큐 관리 모듈은, 상기 클러스터링 큐에 포함된 상기 복수의 큐의 개수를 조절하거나, 상기 복수 큐에 할당된 각 메모리의 크기를 조절하는 것을 특징으로 한다.In the middleware apparatus for efficient data collection according to the present invention, the queue management module may adjust the number of the plurality of queues included in the clustering queue, or adjust the size of each memory allocated to the plurality of queues .

본 발명의 효율적인 데이터 수집을 위한 미들웨어 장치에 있어서, 상기 큐 관리 모듈은, 상기 복수의 큐의 가용 저장 공간을 참조하여 상기 특정 큐를 상기 소켓에 할당하는 것을 특징으로 한다.In the middleware apparatus for efficiently collecting data according to the present invention, the queue management module allocates the specific queue to the socket by referring to the available storage space of the plurality of queues.

본 발명의 효율적인 데이터 수집을 위한 미들웨어 장치에 있어서, 상기 데이터 저장 모듈은, 먼저 발견된 유휴 큐의 데이터를 데이터베이스에 먼저 저장하거나, 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스에 먼저 저장하는 것을 특징으로 한다.In the middleware apparatus for efficient data collection according to the present invention, the data storage module stores data of an idle queue found first in a database or refers to an available storage space of a plurality of idle queues, And stores it in the database first.

상기와 같은 목적을 달성하기 위한 본 발명의 미들웨어 장치의 효율적인 데이터 수집 방법은, 데이터 송신 장치로부터 소켓으로 데이터가 전송됨에 따라, 미들웨어 장치가 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 상기 소켓에 할당하는 단계, 상기 미들웨어 장치가 상기 소켓으로 전송된 데이터를 상기 특정 큐에 저장하는 단계, 상기 미들웨어 장치가 상기 클러스터링 큐에 포함된 상기 복수의 큐에 유휴(idle) 상태인 큐가 존재하는지 관찰하는 단계, 및 상기 미들웨어 장치가 관찰 결과에 따라 유휴 상태인 특정 큐에 저장된 데이터를 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method for efficiently collecting data in a middleware apparatus, the method comprising the steps of: receiving data from a data transmitting apparatus to a socket, the middleware apparatus selecting a specific queue from a clustering queue including a plurality of queues, Storing the data transmitted to the socket in the specific queue; and checking whether the middleware apparatus has queues that are idle in the plurality of queues included in the clustering queue And storing the data stored in the specific queue that is idle in accordance with the observation result in the database by the middleware apparatus.

본 발명의 미들웨어 장치의 효율적인 데이터 수집 방법에 있어서, 상기 소켓에 할당하는 단계 전에, 상기 미들웨어 장치가 상기 클러스터링 큐에 포함된 상기 복수의 큐의 개수를 조절하거나, 상기 복수 큐에 할당된 각 메모리의 크기를 조절하는 단계를 더 포함하는 것을 특징으로 한다.In the method of efficiently collecting data of the middleware apparatus of the present invention, before the step of allocating to the socket, the middleware apparatus adjusts the number of the plurality of queues included in the clustering queue, And a step of adjusting the size.

본 발명의 미들웨어 장치의 효율적인 데이터 수집 방법에 있어서, 상기 소켓에 할당하는 단계는, 상기 미들웨어 장치가 상기 복수의 큐의 가용 저장 공간을 참조하여 상기 특정 큐를 상기 소켓에 할당하는 것을 특징으로 한다.In the efficient data collection method of the middleware apparatus of the present invention, in the step of allocating to the socket, the middleware apparatus refers to the available storage space of the plurality of queues and allocates the specific queue to the socket.

본 발명의 미들웨어 장치의 효율적인 데이터 수집 방법에 있어서, 상기 데이터베이스에 저장하는 단계는, 상기 미들웨어 장치가 먼저 발견된 유휴 큐의 데이터를 데이터베이스에 먼저 저장하거나, 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스에 먼저 저장하는 것을 특징으로 한다.In the method of efficiently collecting data in the middleware apparatus according to the present invention, the step of storing the data in the database may firstly store data of the idle queue found by the middleware apparatus in the database or refer to an available storage space of a plurality of idle queues And the data of the specific idle queue is first stored in the database.

상기와 같은 목적을 달성하기 위해 본 발명은, 상기한 미들웨어 장치의 효율적인 데이터 수집 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체를 제공한다.In order to accomplish the above object, the present invention provides a computer readable recording medium on which a program for performing an efficient data collection method of the above-described middleware apparatus is recorded.

본 발명의 효율적인 데이터 수집을 위한 미들웨어 장치 그리고 미들웨어 장치의 효율적인 데이터 수집 방법에 따르면, 데이터를 수집하는 미들웨어 장치가, 클러스터링 큐에 포함된 복수의 큐 중 특정 큐를 선택하여 소켓에 할당함으로서, 소켓으로 전송된 데이터를 큐에 저장함에 따른 시간이 단축된다. 또한 미들웨어 장치는 클러스터링 큐 중 유휴(idle) 상태인 큐를 찾아, 해당 유휴 큐에 저장된 데이터를 데이터베이스에 저장함으로서, 각 큐에 저장된 데이터를 차례로 데이터베이스에 저장할 수 있다.According to an efficient data collection method of a middleware apparatus and a middleware apparatus for efficient data collection of the present invention, a middleware apparatus for collecting data selects a specific queue among a plurality of queues included in a clustering queue and allocates the queue to a socket, The time taken to store the transmitted data in the queue is shortened. In addition, the middleware apparatus can find the queues in the idle state among the clustering queues, store the data stored in the idle queues in the database, and store the data stored in each queue in the database in sequence.

도 1은 종래의 미들웨어 장치가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 미들웨어 장치가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다.
도 3은 본 발명의 다른 일 실시예에 따른 미들웨어 장치가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다.
도 4는 도 3의 실시예에 따른 미들웨어 장치의 구성을 나타낸 도면이다.
도 5는 본 발명의 다른 일 실시예에 따라 미들웨어 장치가 데이터를 수집하는 과정을 나타낸 도면이다.
FIG. 1 is a diagram illustrating a conventional middleware device collecting and storing data.
2 is a diagram illustrating a state in which a middleware apparatus according to an embodiment of the present invention collects and stores data.
3 is a diagram illustrating a state in which a middleware apparatus according to another embodiment of the present invention collects and stores data.
4 is a diagram illustrating a configuration of a middleware apparatus according to the embodiment of FIG.
5 is a flowchart illustrating a process of collecting data by a middleware according to another embodiment of the present invention.

하기의 설명에서는 본 발명의 실시예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.In the following description, only parts necessary for understanding the embodiments of the present invention will be described, and the description of other parts will be omitted so as not to obscure the gist of the present invention.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary meanings and the inventor is not limited to the meaning of the terms in order to describe his invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely preferred embodiments of the present invention, and are not intended to represent all of the technical ideas of the present invention, so that various equivalents And variations are possible.

본 발명은 데이터를 수집하는 미들웨어 장치와 관련한 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하기로 한다.The present invention relates to a middleware apparatus for collecting data. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 미들웨어 장치(20)가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다.FIG. 2 is a diagram illustrating a state in which the middleware apparatus 20 according to an embodiment of the present invention collects and stores data.

도 2를 참조하면, 데이터 송신 장치(10), 미들웨어 장치(20) 및 데이터베이스(60)가 도시되어 있다.Referring to FIG. 2, a data transmission device 10, a middleware device 20, and a database 60 are shown.

데이터 송신 장치(10)는 각종 정보를 수집하여 미들웨어 장치(20)로 전송하는 장치로서, 사물통신(M2M, Machine to Machine)을 통해 정보를 송수신하는 장치가 될 수 있다.The data transmitting apparatus 10 is an apparatus for collecting various information and transmitting the collected information to the middleware apparatus 20, and may be a device for transmitting and receiving information through object communication (M2M, Machine to Machine).

사물통신이란 사람이나 사물과 환경에 대한 정보를 감지, 저장, 가공, 통합할 수 있고, 언제 어디서나 안전하고 편리하게 원하는 맞춤형 지식/지능 정보 서비스를 제공할 수 있는 방송 통신 융합 인프라를 의미한다. 이러한 사물통신은 광대역 통합망(BcN), 차세대 인터넷 주소 체계(IPv6) 같은 사람 중심의 인터넷 인프라를 인간 대 사물, 사물 대 사물 간의 영역으로 확대하고 연계해, 안전하게 정보를 감지, 전달할 수 있는 환경을 제공한다.Object communication refers to a broadcasting and communication convergence infrastructure that can detect, store, process, and integrate information about people, objects and environments, and provide customized knowledge / intelligence information services that are safe and convenient anytime and anywhere. This kind of object communication extends the human-centered Internet infrastructure such as Broadband Integrated Network (BcN) and Next Generation Internet Address System (IPv6) to the area between human vs. object, object-to-object, to provide.

데이터 송신 장치(10)는 각종 상황을 감지하기 위한 센서를 포함할 수 있고, 사물통신 등을 통해 각종 메시지나 데이터를 송수신하기 위한 통신 인터페이스를 구비한다.The data transmission apparatus 10 may include a sensor for detecting various situations and a communication interface for transmitting and receiving various messages and data through object communication.

데이터베이스(60)는 미들웨어 장치(20)가 수집한 데이터를 저장하기 위한 저장소이다. 데이터베이스(60)는 데이터를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높일 수 있다.The database 60 is a storage for storing data collected by the middleware apparatus 20. [ The database 60 can increase the efficiency of data retrieval and updating by structuring and storing the data.

미들웨어 장치(20)는 데이터 송신 장치(10)로부터 수집한 데이터를 데이터베이스(60)에 저장하는 기능을 한다.The middleware device 20 functions to store data collected from the data transmission device 10 in the database 60. [

통상 미들웨어(middleware)는 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어 또는 컴퓨터와 컴퓨터의 연결을 담당하는 시스템 소프트웨어를 말하며, 일반적으로 미들웨어는 광범위한 개념으로 해석된다. 이러한 미들웨어는 이기종 구성요소 간 확장 기능을 제공하며, 특정 응용 프로그램의 프로시저(procedure)를 다른 응용 프로그램에서 호출할 수 있도록 하거나, 응용 프로그램의 객체를 배포하여 이기종 네트워크 간에 공유할 수 있도록 하거나, 분산 응용 프로그램 간에 메시지 및 데이터를 전달하고 교환할 수 있게 해 준다.Middleware usually refers to system software that is responsible for communication between a client and a server or system software that is responsible for connecting a computer and a computer. In general, middleware is interpreted as a broad concept. This middleware provides extensibility between heterogeneous components and can be used to make a procedure of a specific application callable by another application or to distribute an object of an application program so that it can be shared among heterogeneous networks, It allows you to communicate and exchange messages and data between applications.

본 실시예의 미들웨어 장치(20)는 각각의 데이터 송신 장치(10)와 통신을 수행하기 위한 통신 인터페이스를 구비하고, 데이터 송신 장치(10)로부터 수신된 데이터에서 유효 데이터를 추출하여 데이터베이스(60)에 저장할 수 있다.The middleware apparatus 20 of this embodiment has a communication interface for performing communication with each of the data transmission apparatuses 10 and extracts valid data from the data received from the data transmission apparatus 10 and sends the valid data to the database 60 Can be stored.

이때, 데이터 송신 장치(10)의 각 객체(10-1, 10-2, ..., 10-n)는, 미들웨어 장치(20)의 각 소켓(20-1, 20-2, ..., 20-n)으로 데이터를 전송한다. 소켓(socket)은 미들웨어 장치(20)의 특정 서비스를 식별하는 식별자로서, 미들웨어 장치(20)는 소켓의 프로토콜 체계, 소켓의 전송 타입, 소켓이 통신하는데 사용하는 프로토콜을 정의하여 각 소켓(20-1, 20-2, ..., 20-n)을 생성할 수 있다.At this time, each of the objects 10-1, 10-2, ..., 10-n of the data transmission apparatus 10 is connected to each socket 20-1, 20-2, ..., , 20-n. The socket is an identifier for identifying a specific service of the middleware device 20. The middleware device 20 defines the protocol of the socket, the transmission type of the socket, and the protocol used by the socket to communicate, 1, 20-2, ..., 20-n.

그리고 미들웨어 장치(20)의 내부 쓰레드(thread)는 각 소켓(20-1, 20-2, ..., 20-n)을 통해 수신된 데이터를 큐(30)에 임시로 저장한다. 큐(queue)는, 리스트의 한쪽에서는 데이터가 삽입되고 다른쪽에서는 데이터가 삭제되도록 순서화된 것으로서, 먼저 삽입된 데이터가 가장 먼저 삭제된다. 이때 미들웨어 장치(20)는 큐(30)에 데이터가 삽입된 순서에 따라 먼저 저장된 데이터부터 순차적으로 데이터베이스(60)에 저장하고, 데이터베이스(60)에 쓰여진 데이터를 큐(30)에서 삭제한다.The internal thread of the middleware apparatus 20 temporarily stores the data received through each socket 20-1, 20-2, ..., 20-n in the queue 30. [ Queues are ordered so that data is inserted on one side of the list and data is deleted on the other side, and the inserted data is first erased first. At this time, the middleware apparatus 20 sequentially stores the data stored in the queue 60 in order from the data stored in the queue 30 in order, and deletes the data written in the database 60 from the queue 30.

본 실시예에서는 미들웨어 장치(20)가 데이터베이스(60)에 데이터를 쓰기 전에, 내부의 큐(30)를 이용하여 임시로 저장함으로써, 데이터 수집에 따른 시간을 절약할 수 있다. 다만, 소켓(20-1, 20-2, ..., 20-n)을 통해 수신한 데이터를 단일의 큐(30)에 저장함으로써, 데이터의 임시 저장을 위한 대기 시간이 발생하는 한계가 있다.In the present embodiment, the middleware apparatus 20 may temporarily store the data in the internal queue 30 before writing the data in the database 60, thereby saving time for data collection. However, there is a limit in that waiting time for temporary storage of data occurs by storing the data received through the sockets 20-1, 20-2, ..., 20-n in a single queue 30 .

이와 같은 점을 개선한 본 발명의 다른 실시예에 대해서는 도 3 및 도 4를 참조하여 설명하기로 한다.Another embodiment of the present invention, which has been improved in this respect, will be described with reference to FIGS. 3 and 4. FIG.

도 3은 본 발명의 다른 일 실시예에 따른 미들웨어 장치(40)가 데이터를 수집하여 저장하는 모습을 나타낸 도면이다. 도 4는 도 3의 실시예에 따른 미들웨어 장치(40)의 구성을 나타낸 도면이다.FIG. 3 is a diagram illustrating a state in which the middleware apparatus 40 according to another embodiment of the present invention collects and stores data. FIG. 4 is a diagram illustrating the configuration of the middleware apparatus 40 according to the embodiment of FIG.

도 3을 참조하면, 데이터 송신 장치(10), 미들웨어 장치(40) 및 데이터베이스(60)가 도시되어 있다.Referring to FIG. 3, a data transmitting device 10, a middleware device 40, and a database 60 are shown.

데이터 송신 장치(10) 및 데이터베이스(60)의 기능은 도 2를 참조하여 설명한 바와 유사하므로, 이하에서는 미들웨어 장치(40)의 차별화된 기능을 중심으로 설명한다.The functions of the data transmitting apparatus 10 and the database 60 are similar to those described with reference to FIG. 2, and therefore, the different functions of the middleware apparatus 40 will be described below.

데이터 송신 장치(10)는 각종 정보를 수집하여 미들웨어 장치(40)로 전송하는 장치로서, 각종 상황을 감지하기 위한 센서를 포함할 수 있고, 사물통신 등을 통해 각종 메시지나 데이터를 송수신하기 위한 통신 인터페이스를 구비할 수 있다.The data transmitting apparatus 10 is a device for collecting various information and transmitting the collected information to the middleware apparatus 40. The data transmitting apparatus 10 may include a sensor for detecting various situations and a communication for transmitting and receiving various messages and data through object communication, Interface.

데이터베이스(60)는 미들웨어 장치(20)가 수집한 데이터를 저장하기 위한 저장소이다. The database 60 is a storage for storing data collected by the middleware apparatus 20. [

미들웨어 장치(40)는 데이터 송신 장치(10)로부터 수집한 데이터를 데이터베이스(60)에 저장하는 기능을 한다.The middleware device 40 functions to store data collected from the data transmission device 10 in the database 60. [

본 실시예의 미들웨어 장치(40)는 각각의 데이터 송신 장치(10)와 통신을 수행하기 위한 통신 인터페이스를 구비하고, 데이터 송신 장치(10)로부터 수신된 데이터에서 유효 데이터를 추출하여 데이터베이스(60)에 저장할 수 있다.The middleware apparatus 40 of this embodiment has a communication interface for performing communication with each of the data transmission apparatuses 10 and extracts valid data from the data received from the data transmission apparatus 10 and transmits the extracted data to the database 60 Can be stored.

이때, 데이터 송신 장치(10)의 각 객체(10-1, 10-2, ..., 10-n)는, 미들웨어 장치(40)의 각 소켓(40-1, 40-2, ..., 40-n)으로 데이터를 전송한다. 소켓(socket)은 미들웨어 장치(40)의 특정 서비스를 식별하는 식별자로서, 미들웨어 장치(40)는 소켓의 프로토콜 체계, 소켓의 전송 타입, 소켓이 통신하는데 사용하는 프로토콜을 정의하여 각 소켓(40-1, 40-2, ..., 40-n)을 생성할 수 있다.At this time, each of the objects 10-1, 10-2, ..., 10-n of the data transmission apparatus 10 is connected to each of the sockets 40-1, 40-2, ..., , 40-n. The socket is an identifier for identifying a specific service of the middleware device 40. The middleware device 40 defines a protocol of the socket, a transmission type of the socket, and a protocol used by the socket to communicate with each socket 40- 1, 40-2, ..., 40-n.

한편 미들웨어 장치(40)는 복수의 큐(50-1, 50-2, ..., 50-n)를 포함한 클러스터링(clustering) 큐(50)를 구비한다. 클러스터링 큐(50)는 데이터의 임시 저장소인 큐(50-1, 50-2, ..., 50-n)들의 묶음이다.Meanwhile, the middleware apparatus 40 has a clustering queue 50 including a plurality of queues 50-1, 50-2, ..., and 50-n. The clustering queue 50 is a bundle of queues 50-1, 50-2, ..., 50-n which are temporary storage of data.

이때, 미들웨어 장치(40)의 내부 쓰레드(thread)는 각 소켓(40-1, 40-2, ..., 40-n)을 통해 수신된 데이터를, 대응하는 큐(50-1, 50-2, ..., 50-n)에 임시로 저장한 후, 데이터베이스(60)에 저장한다.At this time, the internal thread of the middleware apparatus 40 transmits the data received through each socket 40-1, 40-2, ..., 40-n to the corresponding queue 50-1, 50- 2, ..., 50-n, and stores them in the database 60. [

이러한 동작을 수행하는 미들웨어 장치(40)는 도 4와 같이 큐 관리 모듈(21), 큐 저장 모듈(22), 데이터 저장 모듈(23)을 포함하여 구성된다.As shown in FIG. 4, the middleware apparatus 40 for performing this operation includes a queue management module 21, a queue storage module 22, and a data storage module 23.

큐 관리 모듈(21)은 데이터 송신 장치(10)로부터 각 소켓(40-1, 40-2, ..., 40-n)으로 데이터가 전송되면, 복수의 큐(50-1, 50-2, ..., 50-n)를 포함한 클러스터링 큐(50)에서 특정 큐를 선택하여 해당 소켓(40-1, 40-2, ..., 40-n)에 각각 할당하는 스케줄링(scheduling)을 수행한다. When data is transmitted from the data transmission apparatus 10 to each of the sockets 40-1, 40-2, ..., 40-n, the queue management module 21 sends a plurality of queues 50-1, 50-2 Scheduling for selecting a specific queue from the clustering queue 50 including the queues 50-1 to 50-n and assigning the queues to the sockets 40-1, 40-2, ..., 40- .

예를 들어 큐 관리 모듈(41)은 아래의 수도 코드(pseudo code)를 이용하여, 각 소켓(40-1, 40-2, ..., 40-n)에 큐(50-1, 50-2, ..., 50-n)를 할당하는 과정을 진행할 수 있다.For example, the queue management module 41 stores queues 50-1 and 50-n in each socket 40-1, 40-2, ..., 40-n using the following pseudo code: 2, ..., 50-n.

01: while (true) 01: while (true)

02: waiting a request for sending data from clients; 02: waiting for a request for sending data from clients;

03: creates a socket for catching the request; 03: creates a socket for catching the request;

04: do-while 04: do-while

05: queue <- find an idle queue in the clustering queue 05: queue <- find an idle queue in the clustering queue

06: if queue is valid then 06: if queue is valid then

07: allocates the queue to the socket 07: allocates the queue to the socket

08: end if 08: end if

09: end do-while 09: end do-while

10: end while; 10: end while;

상기한 코드에서 미들웨어 장치(40)는 데이터 송신 장치(10)에 포함된 객체(10-1, 10-2, ..., 10-n)로부터 데이터 전송을 위한 요청이 수신되는지 기다리고, 해당 객체(10-1, 10-2, ..., 10-n)와의 통신을 위한 소켓(40-1, 40-2, ..., 40-n)을 생성한다. 그리고 미들웨어 장치(40)의 큐 관리 모듈(41)은, 예를 들어 클러스터링 큐(50)에 포함된 복수의 큐(50-1, 50-2, ..., 50-n) 중에서 특정 큐(50-1)를 선택하여 객체(10-1)로부터의 데이터 수신에 이용될 특정 소켓(40-1)에 할당한다.In the above code, the middleware apparatus 40 waits until a request for data transmission is received from the objects 10-1, 10-2, ..., 10-n included in the data transmission apparatus 10, (40-1, 40-2, ..., 40-n) for communication with the base stations 10-1, 10-2, ..., 10-n. The queue management module 41 of the middleware apparatus 40 selects a queue from among the plurality of queues 50-1, 50-2, ..., 50-n included in the clustering queue 50, 50-1) and allocates them to a specific socket 40-1 to be used for receiving data from the object 10-1.

한편 본 실시예의 큐 관리 모듈(41)은 상황에 따라 클러스터링 큐(50)에 포함된 큐(50-1, 50-2, ..., 50-n)의 개수를 조절하거나, 복수 큐에 할당된 메모리의 크기를 조절할 수 있다. 예를 들어 큐(50-1, 50-2, ..., 50-n)에 데이터를 쓰기위한 공간이 모자란 경우 클러스터링 큐(50)에 새로운 큐를 추가할 수 있고, 반대로 큐(50-1, 50-2, ..., 50-n)에 데이터를 쓰기위한 공간이 남는 경우 클러스터링 큐(50)에서 일부 큐를 삭제할 수 있다. 또한 큐(50-1, 50-2, ..., 50-n)의 데이터 저장 상황에 따라, 저장 공간이 부족한 경우 각 큐(50-1, 50-2, ..., 50-n)에 할당된 메모리의 크기를 늘릴 수 있고, 반대로 저장 공간이 과도한 경우 각 큐(50-1, 50-2, ..., 50-n)에 할당된 메모리의 크기를 줄여 적절하게 관리할 수 있다.The queue management module 41 of the present embodiment adjusts the number of queues 50-1, 50-2, ..., 50-n included in the clustering queue 50 according to the situation, The size of the memory can be adjusted. For example, when there is insufficient space for writing data in the queues 50-1, 50-2, ..., 50-n, a new queue can be added to the clustering queue 50, , 50-2, ..., and 50-n, there may be some queues deleted from the clustering queue 50. [ 50-n in the case where the storage space is insufficient depending on the data storage state of the queues 50-1, 50-2, ..., 50-n, The size of the memory allocated to each of the queues 50-1, 50-2, ..., and 50-n can be reduced and managed appropriately when the storage space is excessive .

더하여 큐 관리 모듈(41)은 클러스터링 큐(50)에 포함된 복수의 큐(50-1, 50-2, ..., 50-n)의 가용 저장 공간을 참조하여, 특정 큐를 특정 소켓에 할당할 수 있다. 예를 들어 가용 저장 공간이 상대적으로 많은 큐를 우선적으로 특정 소켓에 할당할 수 있을 것이다.In addition, the queue management module 41 refers to the available storage space of the plurality of queues 50-1, 50-2, ..., 50-n included in the clustering queue 50, Can be assigned. For example, a queue with a relatively large amount of available storage space may be assigned to a specific socket first.

큐 저장 모듈(42)은 각 소켓(40-1, 40-2, ..., 40-n)으로 전송된 데이터를, 대응하여 할당된 큐(50-1, 50-2, ..., 50-n)에 저장하는 역할을 한다.The queue storage module 42 stores the data transmitted to each socket 40-1, 40-2, ..., 40-n in the corresponding queues 50-1, 50-2, ..., 50-n.

예를 들어, 데이터 전송 장치(10)의 특정 객체(10-1)가 미들웨어 장치(40)의 특정 소켓(40-1)으로 데이터를 전송하고, 큐 관리 모듈(41)이 소켓(40-1)에 특정 큐(50-1)를 할당한 경우라면, 큐 저장 모듈(42)은 소켓(40-1)으로 수신된 데이터를 해당 특정 큐(50-1)에 저장한다.For example, when a specific object 10-1 of the data transmission apparatus 10 transmits data to a specific socket 40-1 of the middleware apparatus 40 and the queue management module 41 transmits data to the sockets 40-1 The queue storage module 42 stores the data received by the socket 40-1 in the specific queue 50-1.

데이터 저장 모듈(43)은 클러스터링 큐(50)에 포함된 복수의 큐(50-1, 50-2, ..., 50-n)를 지속적으로 관찰하고, 소켓(40-1, 40-2, ..., 40-n)으로부터 데이터를 쓰는(write) 동작이 진행되지 않는 유휴(idle) 상태의 큐를 발견하면, 해당 큐에 저장된 데이터를 데이터베이스(60)에 저장한다.The data storage module 43 continuously observes the plurality of cues 50-1, 50-2, ..., 50-n included in the clustering queue 50 and the sockets 40-1, 40-2 , ..., 40-n), the data stored in the queues is stored in the database 60. The queue 60 stores the data in the queues.

예를 들어 데이터 저장 모듈(43)은 아래의 수도 코드(pseudo code)를 이용하여, 클러스터링 큐(50)에 포함된 복수의 큐(50-1, 50-2, ..., 50-n)로부터 데이터를 읽어와서 데이터베이스(60)에 쓰는 과정을 진행할 수 있다.For example, the data storage module 43 may store a plurality of cues 50-1, 50-2, ..., 50-n included in the clustering queue 50 using the following pseudo code, And then writes the data to the database 60.

01: while (true) 01: while (true)

02: foreach(queue in clustering_queue) 02: foreach (queue in clustering_queue)

03: if data exists in the queue then 03: if data exists in the queue then

04: save the data to a database 04: save the data to a database

05: end if 05: end if

06: end foreach 06: end foreach

07: end while; 07: end while;

상기한 코드에서 데이터 저장 모듈(43)은 유휴 상태인 특정 큐에 데이터가 존재하면, 해당 특정 큐의 값을 데이터베이스(60)에 쓰게(write) 된다.In the above code, the data storage module 43 writes the value of the specific queue to the database 60 when there is data in the idle specific queue.

이때, 데이터 저장 모듈(43)은, 클러스터링 큐(50)에 포함된 복수의 큐(50-1, 50-2, ..., 50-n)를 관찰하던 도중, 먼저 발견된 유휴 큐의 데이터를 데이터베이스(60)에 먼저 저장하거나, 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스(60)에 먼저 저장하는 방식으로 스케줄링(scheduling)할 수 있다.During the observation of the plurality of queues 50-1, 50-2, ..., and 50-n included in the clustering queue 50, the data storage module 43 stores the data of the idle queue found first May be stored in the database 60 or may be scheduled by referring to the available storage space of a plurality of idle queues and storing data of a specific idle queue in the database 60 first.

본 실시예와 같이 미들웨어 장치(40)가 복수의 큐(50-1, 50-2, ..., 50-n)를 포함한 클러스터링 큐(50)를 구비하고 상황에 맞게 특정 큐를 소켓(40-1, 40-2, ..., 40-n)에 할당하여 데이터를 저장하는 경우, 단일 큐를 이용하는 경우와 대비하여, 데이터 저장에 따른 시간을 단축할 수 있다. 그리고 복수의 큐(50-1, 50-2, ..., 50-n)에 저장된 데이터는, 각 큐(50-1, 50-2, ..., 50-n)가 유휴 상태인지에 따라 데이터베이스(60)에 차례로 저장되므로, 클러스터링 큐(50)를 사용함에 따른 시간의 지연을 최대한 방지할 수 있다.The middleware apparatus 40 includes a clustering queue 50 including a plurality of queues 50-1, 50-2, ..., and 50-n, -1, 40-2,..., 40-n to store data, the time required for data storage can be shortened compared with the case of using a single queue. The data stored in the plurality of queues 50-1, 50-2, ..., 50-n are stored in the queue 50-1, 50-2, ..., 50- Are sequentially stored in the database 60, it is possible to prevent the delay of time due to the use of the clustering queue 50 as much as possible.

본 발명에 따라 미들웨어 장치가 데이터를 수집하는 과정에 대해서는 도 5를 참조하여 설명하기로 한다.The process of collecting data by the middleware according to the present invention will be described with reference to FIG.

도 5는 본 발명의 다른 일 실시예에 따라 미들웨어 장치가 데이터를 수집하는 과정을 나타낸 도면이다.5 is a flowchart illustrating a process of collecting data by a middleware according to another embodiment of the present invention.

도 5를 참조하면, 미들웨어 장치는, 데이터 송신 장치로부터 내부의 소켓으로 데이터가 전송됨에 따라(S1), 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 해당 소켓에 할당한다(S2).Referring to FIG. 5, the middleware apparatus selects a specific queue from a clustering queue including a plurality of queues and allocates the selected queue to the corresponding socket (S2) as data is transmitted from the data transmitting apparatus to an inner socket (S1).

한편 미들웨어 장치는 단계(S1) 전에, 소켓을 통한 데이터 수신 상황이나, 클러스터링 큐의 데이터 저장 상황 등을 고려하여, 클러스터링 큐에 포함된 복수의 큐의 개수를 조절하거나, 복수 큐에 할당된 각 메모리의 크기를 조절할 수 있다.Meanwhile, before step S1, the middleware apparatus adjusts the number of queues included in the clustering queue in consideration of the data reception state through the sockets and the data storage state of the clustering queue, Can be adjusted.

또한 단계(S2)의 미들웨어 장치는, 클러스터링 큐에 포함된 복수의 큐의 가용 저장 공간을 참조하여 특정 큐를 소켓에 할당할 수 있다.The middleware apparatus of step S2 may allocate a specific queue to the socket by referring to the available storage space of the plurality of queues included in the clustering queue.

그리고 미들웨어 장치는 내부의 소켓으로 전송되는 데이터를, 단계(S2)에서 할당한 특정 큐에 임시로 저장한다(S3).Then, the middleware apparatus temporarily stores the data transmitted to the internal sockets in a specific queue allocated in step S2 (S3).

이렇게 클러스터링 큐(50)에 포함된 복수의 큐에 데이터가 저장되면, 미들웨어 장치는 클러스터링 큐에 포함된 복수의 큐에 유휴(idle) 상태인 큐가 존재하는지 관찰한다(S4).When data is stored in the plurality of queues included in the clustering queue 50, the middleware apparatus observes whether there is a queue in an idle state in a plurality of queues included in the clustering queue (S4).

단계(S4)에서의 관찰 결과 유휴 상태인 특정 큐가 발견되면, 미들웨어 장치는 해당 특정 큐에 저장된 데이터를 데이터베이스에 저장한다(S5).If a specific queue in the idle state is found as a result of the observation in step S4, the middleware device stores the data stored in the specific queue in the database (S5).

단계(S5)의 미들웨어 장치는, 단계(S4)에서의 관찰 결과에 따라 먼저 발견된 유휴 큐의 데이터를 데이터베이스에 먼저 저장할 수 있다.The middleware apparatus in step S5 may first store the data of the idle queue found earlier according to the observation result in step S4, in the database.

또한 단계(S5)의 미들웨어 장치는 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스에 먼저 저장할 수도 있다.In addition, the middleware apparatus of step S5 may store the data of the specific idle queue in the database by referring to the available storage space of the plurality of idle queues.

본 발명의 실시예에 따른 미들웨어 장치의 효율적인 데이터 수집 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. The method of efficiently collecting data of the middleware according to an embodiment of the present invention may be implemented in a form of a program readable by various computer means and recorded in a computer-readable recording medium.

한편, 본 명세서와 도면에 개시된 실시예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.It should be noted that the embodiments disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding, and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention.

10: 데이터 송신 장치 10-1, 10-2, ..., 10-n: 객체
20, 40: 미들웨어 장치 20-1, 20-2, ..., 20-n: 소켓
30, 50-1, 50-2, ..., 50-n: 큐 50: 클러스터링 큐
60: 데이터베이스
10: Data transmission apparatuses 10-1, 10-2, ..., 10-n:
20, 40: Middleware device 20-1, 20-2, ..., 20-n: Socket
30, 50-1, 50-2, ..., 50-n: queue 50: clustering queue
60: Database

Claims (9)

데이터 송신 장치로부터 소켓으로 데이터가 전송됨에 따라, 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 상기 소켓에 할당하는 큐 관리 모듈;
상기 소켓으로 전송된 데이터를 상기 특정 큐에 저장하는 큐 저장 모듈; 및
상기 클러스터링 큐에 포함된 상기 복수의 큐를 관찰하고, 유휴(idle) 상태인 상기 특정 큐에 저장된 데이터를 데이터베이스에 저장하는 데이터 저장 모듈;
을 포함하고,
상기 큐 관리 모듈은, 상기 클러스터링 큐에 포함된 상기 복수의 큐의 개수를 조절하거나, 상기 복수 큐에 할당된 각 메모리의 크기를 조절하는 것을 특징으로 하는 효율적인 데이터 수집을 위한 미들웨어 장치.
A queue management module for selecting a specific queue from a clustering queue including a plurality of queues and allocating the selected queue to the socket as data is transmitted from the data transmission device to the socket;
A queue storage module for storing data transmitted to the socket in the specific queue; And
A data storage module that observes the plurality of queues included in the clustering queue and stores data stored in the specific queue in an idle state in a database;
/ RTI &gt;
Wherein the queue management module adjusts the number of queues included in the clustering queue or adjusts the size of each memory allocated to the plurality of queues.
삭제delete 제1항에 있어서,
상기 큐 관리 모듈은, 상기 복수의 큐의 가용 저장 공간을 참조하여 상기 특정 큐를 상기 소켓에 할당하는 것을 특징으로 하는 효율적인 데이터 수집을 위한 미들웨어 장치.
The method according to claim 1,
Wherein the queue management module allocates the specific queue to the socket with reference to an available storage space of the plurality of queues.
제1항에 있어서,
상기 데이터 저장 모듈은, 먼저 발견된 유휴 큐의 데이터를 데이터베이스에 먼저 저장하거나, 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스에 먼저 저장하는 것을 특징으로 하는 효율적인 데이터 수집을 위한 미들웨어 장치.
The method according to claim 1,
Wherein the data storage module stores the data of the idle queue found first in the database or stores the data of the idle queue in the database with reference to the available storage space of the plurality of idle queues. Middleware device for.
데이터 송신 장치로부터 소켓으로 데이터가 전송됨에 따라, 미들웨어 장치가 복수의 큐를 포함한 클러스터링 큐에서 특정 큐를 선택하여 상기 소켓에 할당하는 단계;
상기 미들웨어 장치가 상기 소켓으로 전송된 데이터를 상기 특정 큐에 저장하는 단계;
상기 미들웨어 장치가 상기 클러스터링 큐에 포함된 상기 복수의 큐에 유휴(idle) 상태인 큐가 존재하는지 관찰하는 단계; 및
상기 미들웨어 장치가 관찰 결과에 따라 유휴 상태인 특정 큐에 저장된 데이터를 데이터베이스에 저장하는 단계;
를 포함하고,
상기 소켓에 할당하는 단계 전에, 상기 미들웨어 장치가 상기 클러스터링 큐에 포함된 상기 복수의 큐의 개수를 조절하거나, 상기 복수 큐에 할당된 각 메모리의 크기를 조절하는 단계;
를 더 포함하는 것을 특징으로 하는 미들웨어 장치의 효율적인 데이터 수집 방법.
Selecting a particular queue from a clustering queue including a plurality of queues and allocating the queue to the socket as the data is transmitted from the data transmitting device to the socket;
Storing the data transmitted to the socket in the specific queue by the middleware device;
The middleware device observing whether there is a queue in an idle state in the plurality of queues included in the clustering queue; And
Storing the data stored in a specific queue that is idle in the database according to an observation result of the middleware apparatus;
Lt; / RTI &gt;
Adjusting the number of the plurality of queues included in the clustering queue or adjusting the size of each memory allocated to the plurality of queues before allocating to the socket;
The method of claim 1, further comprising:
삭제delete 제5항에 있어서,
상기 소켓에 할당하는 단계는, 상기 미들웨어 장치가 상기 복수의 큐의 가용 저장 공간을 참조하여 상기 특정 큐를 상기 소켓에 할당하는 것을 특징으로 하는 미들웨어 장치의 효율적인 데이터 수집 방법.
6. The method of claim 5,
Wherein the allocating to the socket allocates the specific queue to the socket by referring to the available storage space of the plurality of queues.
제5항에 있어서,
상기 데이터베이스에 저장하는 단계는, 상기 미들웨어 장치가 먼저 발견된 유휴 큐의 데이터를 데이터베이스에 먼저 저장하거나, 복수의 유휴 큐의 가용 저장 공간을 참조하여 특정 유휴 큐의 데이터를 데이터베이스에 먼저 저장하는 것을 특징으로 하는 미들웨어 장치의 효율적인 데이터 수집 방법.
6. The method of claim 5,
The storing in the database may include storing data of an idle queue found first by the middleware device in a database or storing data of a specific idle queue in a database with reference to an available storage space of a plurality of idle queues Wherein the middleware device is a data warehouse.
제5항, 제7항 또는 제8항 중 어느 한 항에 따른 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체.A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 5, 7 and 8.
KR1020140031992A 2014-03-19 2014-03-19 Middleware device for efficient data collection and efficient data collection method of middleware device KR101602645B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140031992A KR101602645B1 (en) 2014-03-19 2014-03-19 Middleware device for efficient data collection and efficient data collection method of middleware device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140031992A KR101602645B1 (en) 2014-03-19 2014-03-19 Middleware device for efficient data collection and efficient data collection method of middleware device

Publications (2)

Publication Number Publication Date
KR20150109511A KR20150109511A (en) 2015-10-02
KR101602645B1 true KR101602645B1 (en) 2016-03-14

Family

ID=54340823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140031992A KR101602645B1 (en) 2014-03-19 2014-03-19 Middleware device for efficient data collection and efficient data collection method of middleware device

Country Status (1)

Country Link
KR (1) KR101602645B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257798A (en) 2012-06-14 2013-12-26 Nec Corp Data collection system and data collection method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481604B1 (en) * 2002-12-23 2005-04-08 한국전자통신연구원 Multi-threaded socket polling server system
KR20130118593A (en) 2012-04-20 2013-10-30 한국전자통신연구원 Apparatus and method for processing data in middleware for data distribution service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257798A (en) 2012-06-14 2013-12-26 Nec Corp Data collection system and data collection method

Also Published As

Publication number Publication date
KR20150109511A (en) 2015-10-02

Similar Documents

Publication Publication Date Title
US9892124B2 (en) Method and device for transferring file
US10474691B2 (en) Micro-staging device and method for micro-staging
KR101494143B1 (en) Radio resource optimization method, device and system
CN104735077B (en) It is a kind of to realize the efficiently concurrent methods of UDP using Circular buffer and circle queue
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
EP2755363A1 (en) Data-fast-distribution method and device
CN103139157A (en) Network communication method based on socket, device and system
CN109462631A (en) Data processing method, device, storage medium and electronic device
JP2017515400A (en) Method and apparatus for resource reuse
JP7046983B2 (en) Packet transmission method and equipment
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
WO2018121705A1 (en) Stream data bidirectional transmission method and device
US9537735B2 (en) Data collection method, mobile terminal and data storage device
CN104813610A (en) Providing multiple content items for display on multiple devices
CN108965359A (en) Communication means, communication device, readable medium and electronic equipment
US11723023B2 (en) System and method for managing collisions in multiple-transmission-and-reception-points communications
CN107018045A (en) Distributed memory system method of testing and system based on RPC
US10805905B2 (en) Terminal station device and bandwidth allocation method
CN106790354B (en) Communication method and device for preventing data congestion
KR101602645B1 (en) Middleware device for efficient data collection and efficient data collection method of middleware device
CN107911317B (en) Message scheduling method and device
WO2018121681A1 (en) Method and device for remotely opening stream data transmission
CN103997508A (en) Method and apparatus for concentrated fixture storage
JP2017535899A (en) Method, apparatus and system for processing service data
KR101059498B1 (en) Method and apparatus for transmitting / receiving time stamps for providing a multicast service in a communication system

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: 20200115

Year of fee payment: 5