KR20220060401A - Method and apparatus for data reduction based on locality - Google Patents

Method and apparatus for data reduction based on locality Download PDF

Info

Publication number
KR20220060401A
KR20220060401A KR1020200146358A KR20200146358A KR20220060401A KR 20220060401 A KR20220060401 A KR 20220060401A KR 1020200146358 A KR1020200146358 A KR 1020200146358A KR 20200146358 A KR20200146358 A KR 20200146358A KR 20220060401 A KR20220060401 A KR 20220060401A
Authority
KR
South Korea
Prior art keywords
input data
data
information
individual input
locality
Prior art date
Application number
KR1020200146358A
Other languages
Korean (ko)
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 KR1020200146358A priority Critical patent/KR20220060401A/en
Publication of KR20220060401A publication Critical patent/KR20220060401A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to one embodiment of the present invention, a method for reducing data based on locality comprises: a step of acquiring a plurality of pieces of input data configured in a time sequential manner; a step of storing, for the plurality of pieces of input data, individual input data when the individual input data is compared with input data previous to the individual input data and the individual input data is changed; and a step of storing change information, which is information on whether the individual input data is changed when the individual input data is compared with input data previous to the individual input data.

Description

지역성에 기반한 데이터 축약 방법 및 그 장치{METHOD AND APPARATUS FOR DATA REDUCTION BASED ON LOCALITY}Method and device for data reduction based on locality

본 발명은 지역성(locality)을 가지는 데이터를 저장할 때, 지역성을 고려하여 데이터를 효율적으로 축약하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for efficiently condensing data in consideration of locality when storing data having locality.

근래에 도래한 4차 산업혁명과 함께 많은 곳에서 IoT 기술이 적용되고 있다. 가정에서 사용하는 로봇청소기, 에어컨 등의 가전제품을 통합한 스마트 홈 서비스부터 자율 주행의 미래라고 불리는 커넥티드 카 그리고 생산 공정에서 사용하는 설비 관리를 위한 스마트 팩토리까지 여러 곳에서 IoT 장치들은 데이터와 그를 기반으로 한 다양한 편의 기능들을 사용자에게 제공하고 있다.With the recent advent of the 4th industrial revolution, IoT technology is being applied in many places. From smart home services that integrate home appliances such as robot vacuum cleaners and air conditioners used at home, to connected cars called the future of autonomous driving, and smart factories for facility management used in the production process, IoT devices in many places are It provides users with various convenient functions based on

이런 서비스를 제공하기 위해 IoT 장치는 실시간으로 데이터를 생산하고 저장한다. 그리고 효율적인 데이터 관리를 위해 여러 종류의 데이터베이스를 이용하고 있다. 대표적으로 MySQL과 같은 관계형 데이터베이스부터 레디스(Redis)와 카산드라(Cassandra)같은 Key-Value 기반의 데이터베이스도 있다. 이러한 데이터베이스들은 여러 사람에 의해 공유되어 사용되는 데이터들의 중복을 피해 일원화하여 처리를 효율적으로 수행하기 위한 데이터의 집합을 구성하고 유지하는 것이 주요 역할이다.To provide these services, IoT devices produce and store data in real time. In addition, various types of databases are used for efficient data management. Representatively, there are relational databases such as MySQL, and key-value based databases such as Redis and Cassandra. The main role of these databases is to organize and maintain a set of data to efficiently process data by avoiding duplication of data shared and used by several people and unifying it.

한편, 대부분의 IoT 장치는 다른 범용적인 컴퓨터 시스템과 다르게 아주 작은 하드웨어 자원을 보유하고 있고, 따라서 이를 효율적으로 이용하는 것이 매우 중요하다. 그럼에도 불구하고 기존에 이용되고 있는 데이터베이스들은 높은 지역성(locality)을 가진 데이터들의 특성을 고려하지 않아 저장 공간을 낭비하고 있다. On the other hand, most IoT devices have very small hardware resources, unlike other general-purpose computer systems, so it is very important to use them efficiently. Nevertheless, existing databases waste storage space because they do not consider the characteristics of data with high locality.

따라서, 데이터의 지역성을 고려하여 데이터를 보다 효율적으로 저장 및 관리할 수 있는 지역성에 기반한 데이터 축약 방법 및 그 장치에 관한 필요성이 대두되고 있다.Accordingly, there is a need for a method for reducing data based on locality and an apparatus for storing and managing data more efficiently in consideration of locality of data.

본 발명은 전술한 문제를 해결하기 위하여 데이터의 지역성을 고려하여 데이터를 보다 효율적으로 저장 및 관리할 수 있는 데이터 축약 방법 및 그 장치를 제공한다. In order to solve the above-mentioned problem, the present invention provides a data reduction method and apparatus capable of more efficiently storing and managing data in consideration of locality of data.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)을 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 방법은 시계열적으로 구성되는 복수의 입력데이터를 획득하는 단계; 상기 복수의 입력데이터에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 상기 개별 입력데이터를 저장하는 단계; 및 상기 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장하는 단계;를 포함한다.A data reduction method based on locality according to an embodiment of the present invention includes: acquiring a plurality of input data configured in time series; comparing the individual input data with the input data immediately preceding the individual input data with respect to the plurality of input data and storing the individual input data when changed; and storing change information, which is information about whether the individual input data is changed by comparing the individual input data with the input data immediately before the individual input data, for each of the plurality of input data.

바람직하게는, 상기 복수의 입력데이터를 획득하는 단계는 상기 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 상기 복수의 입력데이터를 한번에 획득할 수 있다.Preferably, the acquiring of the plurality of input data may include sequentially receiving and acquiring individual input data constituting the plurality of input data, or acquiring the plurality of input data at once.

바람직하게는, 상기 입력데이터는 소정의 데이터값과 상기 데이터값에 대응되는 시간에 관한 정보를 포함하고, 상기 변경정보를 저장하는 단계는 시간에 대한 정보인 시간정보를 더 저장할 수 있다.Preferably, the input data includes a predetermined data value and information about a time corresponding to the data value, and the storing of the change information may further store time information, which is information about the time.

바람직하게는, 상기 변경정보를 저장하는 단계는 상기 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장할 수 있다.Preferably, the storing of the change information may include storing the change information in a bitmap indicating a bit value corresponding to each of a change and a no change.

또한, 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 장치는 시계열적으로 구성되는 복수의 입력데이터를 획득하는 획득부; 및 상기 복수의 입력데이터에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 상기 개별 입력데이터를 저장하고, 상기 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장하는 저장부;를 포함한다.In addition, according to an embodiment of the present invention, an apparatus for reducing data based on locality includes: an acquisition unit configured to acquire a plurality of input data configured in time series; and when the plurality of input data is changed by comparing the individual input data with the input data immediately preceding the individual input data, the individual input data is stored, and for each of the plurality of input data, the individual input data and and a storage unit that compares the input data immediately before the individual input data and stores change information, which is information about whether the input data has been changed.

바람직하게는, 상기 획득부는 상기 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 상기 복수의 입력데이터를 한번에 획득할 수 있다.Preferably, the acquiring unit may sequentially receive and acquire individual input data constituting the plurality of input data, or acquire the plurality of input data at once.

바람직하게는, 상기 입력데이터는 소정의 데이터값과 상기 데이터값에 대응되는 시간에 관한 정보를 포함하고, 상기 저장부는 상기 변경정보와 함께 시간에 대한 정보인 시간정보를 더 저장할 수 있다.Preferably, the input data includes a predetermined data value and information about a time corresponding to the data value, and the storage unit may further store time information, which is information about time, together with the change information.

바람직하게는, 상기 저장부는 상기 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장할 수 있다.Preferably, the storage unit may store the change information in a bitmap indicating a bit value corresponding to each of change and no change.

본 발명의 일 실시예에 따르면, 획득되는 데이터의 지역성을 고려하여 축약하여 저장함으로써, 저장되는 데이터의 크기를 줄일 수 있는 효과가 있으며, 저장된 데이터의 시간값에 대한 범위질의(range-query)도 보다 빠르게 수행할 수 있는 효과가 있다.According to an embodiment of the present invention, the size of the stored data can be reduced by abbreviated and stored in consideration of the locality of the acquired data, and a range-query for a time value of the stored data is also performed. It has the effect of being able to do it faster.

도 1은 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 장치를 도시한 블록도이다.
도 3은 종래의 기술의 일 실시예에 따른 데이터 저장 용량을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 저장 용량을 설명하기 위한 도면이다.
도 5 및 6은 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 방법의 효과를 설명하기 위한 도면이다.
1 is a flowchart illustrating a data reduction method based on locality according to an embodiment of the present invention.
2 is a block diagram illustrating an apparatus for reducing data based on locality according to an embodiment of the present invention.
3 is a diagram for explaining a data storage capacity according to an embodiment of the related art.
4 is a diagram for explaining a data storage capacity according to an embodiment of the present invention.
5 and 6 are diagrams for explaining the effect of a data reduction method based on locality according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예들을 자세히 설명하도록 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a data reduction method based on locality according to an embodiment of the present invention.

단계 S110에서는, 데이터 축약 장치가 시계열적으로 구성되는 복수의 입력데이터를 획득한다.In step S110, the data reduction device acquires a plurality of input data configured in time series.

예컨대, 데이터 축약 장치는 스마트홈 서비스, 커넥티드 카 및 스마트 팩토리 등에서 이용되는 IoT 장치에 직접 탑재되거나, IoT 장치에 유선 또는 무선으로 연결되어 입력데이터를 획득할 수 있다. 또는, 데이터 축약 장치는 다양한 종류의 센서 장치와 유선 또는 무선으로 연결되어 입력데이터를 획득할 수 있다.For example, the data reduction device may be directly mounted on an IoT device used in a smart home service, a connected car, a smart factory, etc., or may be connected to the IoT device by wire or wirelessly to obtain input data. Alternatively, the data reduction device may be connected to various types of sensor devices by wire or wirelessly to obtain input data.

이때, 복수의 입력데이터는 시간의 순서에 따라 구성될 수 있으며, 미리 결정된 소정의 시간 간격에 따라 획득되거나, 획득된 시간에 관한 정보와 함께 획득될 수 있다.In this case, the plurality of input data may be configured according to the order of time, and may be obtained according to a predetermined time interval determined in advance, or may be obtained together with information about the obtained time.

다른 실시예에서는, 데이터 축약 장치가 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 복수의 입력데이터를 한번에 획득할 수 있다.In another embodiment, the data reduction apparatus may sequentially receive and acquire individual input data constituting a plurality of input data, or may acquire a plurality of input data at once.

즉, 데이터 축약 장치는 IoT 장치로부터 복수의 입력데이터를 구성하는 개별 입력데이터를 하나씩 실시간으로 획득할 수 있다. 예컨대, 데이터 축약 장치는 커넥티드 카로부터 속도에 관한 데이터를 1초 간격으로 지속적으로 수신하여 획득할 수 있다.That is, the data reduction device may acquire individual input data constituting a plurality of input data from the IoT device one by one in real time. For example, the data reduction device may continuously receive and acquire speed-related data from the connected car at 1-second intervals.

또한, 데이터 축약 장치는 IoT 장치로부터 소정의 시간 구간 동안에 대응되는 복수의 입력데이터를 한번에 수신하여 획득할 수 있다. 예컨대, 데이터 축약 장치는 온도 센서로부터 온도를 소정 시간 간격으로 측정한 데이터를 하루 단위로 획득할 수 있다.Also, the data reduction device may receive and acquire a plurality of input data corresponding to a predetermined time period from the IoT device at once. For example, the data reduction apparatus may acquire data obtained by measuring the temperature at predetermined time intervals from the temperature sensor in units of one day.

단계 S120에서는, 데이터 축약 장치가 그 복수의 입력데이터에 대하여, 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 그 개별 입력데이터를 저장한다.In step S120, the data reduction device compares the individual input data with the input data immediately preceding the individual input data with respect to the plurality of input data and, when changed, stores the individual input data.

여기서, 도 3 및 도 4를 참조하면, 커넥티드 카의 속도 데이터를 시간 순서에 따라 64개 나열한 것을 확인할 수 있다. 이때, 커넥티드 카의 속도 데이터는 86km/h에서 94km/h사이를 오가고 있으며, 바로 이전에 측정된 속도값과 같은 속도값이 연속되어 측정된 경우는 43회로 데이터의 중복이 자주 발생하는 것을 확인할 수 있다.Here, referring to FIGS. 3 and 4 , it can be seen that 64 pieces of speed data of the connected car are arranged in chronological order. At this time, the speed data of the connected car is moving between 86km/h and 94km/h, and when the same speed value as the speed value measured immediately before is continuously measured, it is confirmed that the data overlap occurs frequently in 43 times. can

이때, 데이터 축약 장치가 종래의 기술을 사용하는 것으로 가정하면, 도 3에서 원으로 표시된 64개의 속도 데이터를 모두 저장하기 위하여는 8바이트 플롯(float)형 데이터를 사용한다고 할 때, 8*64=512바이트의 저장공간을 필요로 한다.At this time, assuming that the data reduction device uses the conventional technology, 8*64= It requires 512 bytes of storage space.

하지만, 데이터 축약 장치는 복수의 입력데이터에 포함된 개별 입력데이터에 대하여, 그 개별 입력데이터와 직전의 입력데이터를 비교하여 변경된 경우에만 그 개별 입력데이터를 저장할 수 있다. 이때, 데이터 축약 장치는 도 4에서 원으로 표시된 21개의 속도 데이터만을 저장하므로, 8*21=168바이트의 저장공간을 필요로 한다.However, the data reduction apparatus can store the individual input data only when the individual input data included in the plurality of input data is changed by comparing the individual input data with the previous input data. At this time, since the data reduction device stores only 21 pieces of speed data indicated by circles in FIG. 4 , a storage space of 8*21=168 bytes is required.

예컨대, 도 3 및 4를 참조하면, 속도 데이터가 {89, 89, 89, 89, 90, 90, 90, 92, 92, …}인 경우에, 데이터 축약 장치는 직전의 속도 데이터와 비교하여 변경된 경우인 {89, 90, 92, …}만을 저장할 수 있다. 이때, 데이터 축약 장치는 최초의 속도 데이터인 '89'는 직전의 속도 데이터와 비교하여 변경된 것으로 간주하여 저장할 수 있다.For example, referring to FIGS. 3 and 4 , the velocity data is {89, 89, 89, 89, 90, 90, 90, 92, 92, ... }, the data reduction device compares the previous speed data to {89, 90, 92, . } can only be stored. In this case, the data reduction device may consider that '89', which is the first speed data, has been changed compared with the previous speed data, and may store it.

마지막으로 단계 S130에서는, 데이터 축약 장치가 그 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장한다.Finally, in step S130, for each of the plurality of input data, the data reduction device compares the individual input data with the input data immediately preceding the individual input data, and stores change information, which is information about whether the data has been changed.

즉, 데이터 축약 장치는 장치가 그 복수의 입력데이터에 포함된 모든 입력데이터에 대하여, 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터를 비교한 결과에 대한 정보인 변경정보를 저장할 수 있다.That is, the data reduction apparatus may store change information, which is information about a result of the apparatus comparing individual input data with input data immediately preceding the individual input data with respect to all input data included in the plurality of input data.

예컨대, 데이터 축약 장치는 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터가 같으면 0을, 다르면 1을 변경정보로 저장할 수 있다. 앞서 단계 S120에 대한 설명에서, 데이터 축약 장치는 속도 데이터가 {89, 89, 89, 89, 90, 90, 90, 92, 92, …}인 경우에, 직전의 속도 데이터와 비교하여 변경된 경우인 {89, 90, 92, …}만을 저장할 수 있음을 설명한 바 있다. 이때, 데이터 축약 장치는 속도 데이터 {89, 89, 89, 89, 90, 90, 90, 92, 92, …} 각각에 대하여 변경정보 {1, 0, 0, 0, 1, 0, 0, 1, 0, …}를 저장할 수 있다.For example, the data reduction apparatus may store 0 as change information if the individual input data and the input data immediately preceding the individual input data are the same, and 1 if they are different. In the description of step S120 above, the data reduction device indicates that the speed data is {89, 89, 89, 89, 90, 90, 90, 92, 92, ... }, {89, 90, 92, . } can be stored. At this time, the data reduction device is the speed data {89, 89, 89, 89, 90, 90, 90, 92, 92, ... } Change information for each {1, 0, 0, 0, 1, 0, 0, 1, 0, … } can be saved.

즉, 데이터 축약 장치는 속도 데이터에 변경이 발생된 {89, 90, 92, …}와 변경정보{1, 0, 0, 0, 1, 0, 0, 1, 0, …}를 저장함으로써, 커넥티드 카의 속도 데이터를 축약하여 저장할 수 있는 것이다.That is, the data reduction device is the {89, 90, 92, ... } and change information {1, 0, 0, 0, 1, 0, 0, 1, 0, … }, the speed data of the connected car can be abbreviated and stored.

반대로, 축약된 데이터를 복원하기 위하여는 속도 데이터에 변경이 발생된 {89, 90, 92, …}를 나열하고, 변경정보{1, 0, 0, 0, 1, 0, 0, 1, 0, …}를 이용하여 그 사이에 변경되지 않은 속도 데이터를 이전 속도 데이터와 동일한 값으로 추가함으로써, 원래의 속도 데이터인 {89, 89, 89, 89, 90, 90, 90, 92, 92, …}를 획득할 수 있다.Conversely, in order to restore the abbreviated data, {89, 90, 92, ... }, and change information {1, 0, 0, 0, 1, 0, 0, 1, 0, … } to add the unchanged speed data with the same value as the previous speed data using {89, 89, 89, 89, 90, 90, 90, 92, 92, ... } can be obtained.

예컨대, 도 데이터에 변경이 발생된 {89, 90, 92, …}에 대하여 변경정보{1, 0, 0, 0, 1, 0, 0, 1, 0, …}인 경우에, {89, 90, 92}를 나열하고, 89와 90의 사이에 변경정보의 0이 3개 이므로, 이전 속도 데이터와 동일한 값인 89를 3개 추가하고, 90과 92사이에 변경정보의 0이 2개 이므로, 이전 속도 데이터와 동일한 값인 90를 2개 추가하고, 92의 뒤에 변경정보의 0이 1개 이므로, 이전 속도 데이터와 동일한 값인 92를 1개 추가하여, 원래의 속도 데이터인 {89, 89, 89, 89, 90, 90, 90, 92, 92, …}를 복원할 수 있다.For example, {89, 90, 92, . } for change information {1, 0, 0, 0, 1, 0, 0, 1, 0, … }, list {89, 90, 92}, and since there are 3 0s of change information between 89 and 90, add 3 89s, the same value as the previous speed data, and change between 90 and 92 Since there are 2 0s in the information, two 90s, the same value as the previous speed data, are added, and since there is 1 0 of the changed information after 92, 1 92, the same value as the previous speed data, is added, and the original speed data In {89, 89, 89, 89, 90, 90, 90, 92, 92, … } can be restored.

다른 실시예에서는, 입력데이터는 소정의 데이터값과 그 데이터값에 대응되는 시간에 관한 정보를 포함하고, 데이터 축약 장치는 변경정보를 저장할 때, 시간에 대한 정보인 시간정보를 더 저장할 수 있다.In another embodiment, the input data includes information about a predetermined data value and a time corresponding to the data value, and the data reduction apparatus may further store time information, which is information about time, when storing the change information.

앞서 설명한 예에서는, 데이터를 획득한 시간 간격이 균등한 것으로 가정하고 설명하였으나, 데이터 축약 장치는 입력데이터가 소정의 데이터값과 그 데이터값에 대응되는 시간에 관한 정보를 포함하도록 구성되고, 변경정보를 저장할 때 시간정보를 추가로 더 저장함으로써, 데이터를 획득한 시간 간격이 균일하지 않은 경우에도 문제없이 데이터 축약을 수행할 수 있게 된다.In the example described above, it was assumed that the time interval for acquiring data was uniform. By additionally storing time information when storing , data reduction can be performed without a problem even when the time interval at which data is acquired is not uniform.

또 다른 실시예에서는, 데이터 축약 장치가 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장할 수 있다.In another embodiment, the data reduction device may store the change information in a bitmap indicating a bit value corresponding to each of change and no change.

즉, 데이터 축약 장치는 변경을 1로, 변경없음을 0으로 가정할 때, 변경정보 {1, 0, 0, 0, 1, 0, 0, 1, 0, …}를 비트 단위로 재구성하여 비트맵에 저장할 수 있다. 예컨대, 데이터 축약 장치는 변경정보 {1, 0, 0, 0, 1, 0, 0, 1, 0, …}를 비트맵으로 구성하여 100010010의 9개 비트로 나타낼 수 있다.That is, when the data reduction device assumes change to 1 and no change to 0, change information {1, 0, 0, 0, 1, 0, 0, 1, 0, ... } can be reconstructed in bits and stored in a bitmap. For example, the data reduction device includes the change information {1, 0, 0, 0, 1, 0, 0, 1, 0, ... } as a bitmap to represent 9 bits of 100010010.

한편, 도 4를 참조하면, 데이터 축약 장치는 21개의 속도 데이터만을 저장하므로, 8*21=168바이트의 저장공간을 필요로 하는 점은 앞서 설명한 바 있다. 이때, 데이터 축약 장치는 64개의 속도 데이터에 대한 변경정보를 64비트(즉, 8바이트)로 저장해야 하므로, 총 168+8=176바이트만큼의 저장공간을 필요로 한다. 결과적으로, 데이터 축약 장치는 본 발명의 적용을 통해서 512-176=336바이트 만큼의 저장공간을 절약할 수 있다.Meanwhile, referring to FIG. 4 , since the data reduction device stores only 21 pieces of speed data, the point requiring a storage space of 8*21=168 bytes has been described above. At this time, since the data reduction device needs to store change information for 64 speed data in 64 bits (ie, 8 bytes), a total storage space of 168+8=176 bytes is required. As a result, the data reduction device can save storage space as much as 512-176=336 bytes through application of the present invention.

한편, 도 5를 참조하면, 데이터에서 시간 값의 크기를 4byte로 지정하고 속도 값의 크기를 1byte부터 8byte까지 늘려가며 저장할 때 종래의 기술(Traditional)과 본 발명(Bitmap Encoding Scheme, BES)의 저장공간 사용량을 비교한 그래프이다. 예상과 같이 데이터 쌍의 크기가 커질수록 절약되는 공간이 늘어났으며, 종래의 기술의 경우 20%~50%까지 증가하며 데이터 쌍의 크기가 1.4배 증가할 때 이와 같은 1.4배의 용량이 추가로 필요했지만 본 발명의 경우 18%~47%가 증가하며 총 1.3배 증가하여 약 64~66% 정도의 용량 절감효과를 보였다.Meanwhile, referring to FIG. 5, when the size of the time value in data is designated as 4 bytes and the size of the speed value is increased from 1 byte to 8 bytes and stored, the conventional technique (Traditional) and the present invention (Bitmap Encoding Scheme, BES) storage This is a graph comparing space usage. As expected, the space saved increases as the size of the data pair increases, and in the case of the conventional technology, it increases by 20% to 50%. Although necessary, in the case of the present invention, it increased by 18% to 47% and increased by a total of 1.3 times, showing a capacity saving effect of about 64 to 66%.

하지만 반대로 본 발명에서 종래의 기술에 비해 저장공간의 낭비가 발생하는 경우도 있다. 바로 데이터의 중복이 자주 발생하지 않는 경우인데 최악의 경우로 중복이 전혀 발생하지 않았다고 하더라도 낭비되는 용량은 한 개의 데이터 당 1bit로 그 크기가 매우 작다.Conversely, however, there is a case in which a waste of storage space occurs in the present invention compared to the prior art. This is a case in which data duplication does not occur frequently. In the worst case, even if no duplication occurs at all, the wasted capacity is very small at 1 bit per piece of data.

또한, 도 6을 참조하면, 데이터 쌍의 크기별로 본 발명(BES)이 종래의 기술보다 공간을 절약하기 위한 데이터 중복의 발생 비율을 데이터 쌍의 크기별로 나타낸 것이다. 데이터 쌍의 크기가 클수록 한 번의 중복으로 절약되는 공간이 크기 때문에 크기가 1byte일 때 12%로 시작하여 8byte일 때는 1.5%로 비율이 현저히 낮아지는 것을 확인했다. 전체 데이터의 중복 비율은 24%로 훨씬 높게 나타났고, 연속된 200개의 데이터에서 최악의 중복 횟수를 가지는 구간의 중복 비율도 9%인 것을 생각하면 본 발명(BES)이 저장 공간의 낭비를 초래하는 경우는 많지 않을 것으로 판단된다.Also, referring to FIG. 6 , the rate of occurrence of data duplication for saving space in the present invention (BES) for each size of the data pair compared to the conventional technique is shown for each size of the data pair. As the size of a data pair increases, the space saved by one duplication increases, so it was confirmed that the ratio was significantly lowered from 12% when the size was 1 byte to 1.5% when the size was 8 bytes. The redundancy rate of the entire data was much higher at 24%, and considering that the duplicate rate of the section having the worst number of duplicates in 200 consecutive pieces of data is also 9%, the present invention (BES) causes wastage of storage space. It is considered that there are not many cases.

나아가, 본 발명(BES)은 종래의 기술에 비해 시간 구간에 대한 range-query도 빠르게 수행할 수 있다. 전체에 대한 데이터가 모두 저장되어 있을 때, 도 3 또는 4의 64개 구간에 해당하는 속도 값을 읽기 위해서 종래의 기술의 경우 64개의 데이터 쌍 모두를 읽어야 하는 반면, 본 발명(BES)은 21개의 데이터 쌍을 읽은 후 비어있는 시간대의 속도 값은 바로 이전의 값으로 채움으로써 range-query시 디스크 접근 횟수도 줄일 수 있다.Furthermore, the present invention (BES) can perform range-query for a time interval faster than the prior art. In the case of the prior art, all 64 data pairs must be read in order to read the speed values corresponding to 64 sections of FIG. 3 or 4 when all data for the whole are stored, whereas the present invention (BES) uses 21 data pairs. After reading the data pair, the speed value of the empty time period is filled with the previous value, so that the number of disk accesses during range-query can also be reduced.

도 2는 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 장치를 도시한 블록도이다.2 is a block diagram illustrating an apparatus for reducing data based on locality according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 장치(200)는 획득부(210) 및 저장부(220)를 포함한다.2 is a data reduction apparatus 200 based on locality according to an embodiment of the present invention includes an acquisition unit 210 and a storage unit 220 .

한편, 본 발명의 일 실시예에 따른 지역성에 기반한 데이터 축약 장치(200)는 IoT장치, 커넥티드카, 센서장치, 스마트폰, 태블릿, 컴퓨터, 노트북 등에 탑재되거나 유선 또는 무선의 네트워크를 통해 연결되어 데이터 축약을 위해 사용될 수 있다.On the other hand, the data reduction device 200 based on locality according to an embodiment of the present invention is mounted on an IoT device, a connected car, a sensor device, a smart phone, a tablet, a computer, a laptop computer, etc. or is connected through a wired or wireless network. It can be used for data reduction.

획득부(210)는 시계열적으로 구성되는 복수의 입력데이터를 획득한다.The acquisition unit 210 acquires a plurality of input data configured in time series.

다른 실시예에서는, 획득부(210)상기 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 복수의 입력데이터를 한번에 획득할 수 있다.In another embodiment, the acquiring unit 210 may sequentially receive and acquire individual input data constituting the plurality of input data, or acquire a plurality of input data at once.

저장부(220)는 복수의 입력데이터에 대하여, 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 그 개별 입력데이터를 저장하고, 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 그 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장한다.The storage unit 220 compares the individual input data with the input data immediately before the individual input data with respect to the plurality of input data and stores the individual input data, and stores the individual input data for each of the plurality of input data. By comparing the input data with the input data immediately preceding the individual input data, change information, which is information about whether the input data has been changed, is stored.

다른 실시예에서는, 입력데이터는 소정의 데이터값과 그 데이터값에 대응되는 시간에 관한 정보를 포함하고, 저장부(220)는 변경정보와 함께 시간에 대한 정보인 시간정보를 더 저장할 수 있다.In another embodiment, the input data includes information about a predetermined data value and time corresponding to the data value, and the storage unit 220 may further store time information, which is information about time, together with change information.

또 다른 실시예에서는, 저장부(220)는 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장할 수 있다. In another embodiment, the storage unit 220 may store the change information in a bitmap indicating a bit value corresponding to each of change and no change.

지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.Although specific embodiments according to the present invention have been described so far, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, although the present invention has been described with reference to the limited examples and drawings, the present invention is not limited to the above-described examples, which are various modifications and variations from these descriptions by those skilled in the art to which the present invention belongs. Transformation is possible. Accordingly, the spirit of the present invention should be understood only by the claims described below, and all equivalents or equivalent modifications thereof will fall within the scope of the spirit of the present invention.

Claims (8)

시계열적으로 구성되는 복수의 입력데이터를 획득하는 단계;
상기 복수의 입력데이터에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 상기 개별 입력데이터를 저장하는 단계; 및
상기 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장하는 단계;
를 포함하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 방법.
acquiring a plurality of input data configured in time series;
comparing the individual input data with the input data immediately preceding the individual input data with respect to the plurality of input data and storing the individual input data when changed; and
storing change information, which is information about whether the individual input data is changed by comparing individual input data with input data immediately preceding the individual input data, for each of the plurality of input data;
A data reduction method based on locality, comprising:
제1항에 있어서,
상기 복수의 입력데이터를 획득하는 단계는
상기 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 상기 복수의 입력데이터를 한번에 획득하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 방법.
According to claim 1,
The step of acquiring the plurality of input data includes:
A data reduction method based on locality, characterized in that sequentially receiving and acquiring individual input data constituting the plurality of input data, or acquiring the plurality of input data at once.
제1항에 있어서,
상기 입력데이터는 소정의 데이터값과 상기 데이터값에 대응되는 시간에 관한 정보를 포함하고,
상기 변경정보를 저장하는 단계는
시간에 대한 정보인 시간정보를 더 저장하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 방법.
According to claim 1,
The input data includes information about a predetermined data value and a time corresponding to the data value,
The step of storing the changed information is
A data reduction method based on locality, characterized in that further storing time information, which is information about time.
제1항에 있어서,
상기 변경정보를 저장하는 단계는
상기 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 방법.
According to claim 1,
The step of storing the changed information is
The data reduction method based on locality, characterized in that the change information is stored in a bitmap representing a bit value corresponding to each change and no change.
시계열적으로 구성되는 복수의 입력데이터를 획득하는 획득부; 및
상기 복수의 입력데이터에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경된 경우에, 상기 개별 입력데이터를 저장하고,
상기 복수의 입력데이터 각각에 대하여, 개별 입력데이터와 상기 개별 입력데이터의 직전의 입력데이터를 비교하여 변경되었는지에 관한 정보인 변경정보를 저장하는 저장부;
를 포함하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 장치.
an acquisition unit acquiring a plurality of input data configured in time series; and
With respect to the plurality of input data, when the individual input data is compared with the input data immediately preceding the individual input data and changed, the individual input data is stored;
a storage unit for storing change information, which is information about whether the individual input data is changed by comparing the input data immediately before the individual input data with respect to each of the plurality of input data;
Data reduction device based on locality, characterized in that it comprises a.
제5항에 있어서,
상기 획득부는
상기 복수의 입력데이터를 구성하는 개별 입력데이터를 순차적으로 수신하여 획득하거나, 상기 복수의 입력데이터를 한번에 획득하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 장치.
6. The method of claim 5,
the acquisition unit
The apparatus for reducing data based on locality, characterized in that sequentially receiving and acquiring individual input data constituting the plurality of input data, or acquiring the plurality of input data at once.
제5항에 있어서,
상기 입력데이터는 소정의 데이터값과 상기 데이터값에 대응되는 시간에 관한 정보를 포함하고,
상기 저장부는
상기 변경정보와 함께 시간에 대한 정보인 시간정보를 더 저장하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 장치.
6. The method of claim 5,
The input data includes information about a predetermined data value and a time corresponding to the data value,
the storage unit
The apparatus for reducing data based on locality, characterized in that it further stores time information, which is information about time, together with the change information.
제5항에 있어서,
상기 저장부는
상기 변경정보를 변경 및 변경없음 각각에 대응되는 비트(bit)값으로 나타내는 비트맵에 저장하는 것을 특징으로 하는 지역성에 기반한 데이터 축약 장치.
6. The method of claim 5,
the storage unit
and storing the change information in a bitmap representing a bit value corresponding to each of change and no change.
KR1020200146358A 2020-11-04 2020-11-04 Method and apparatus for data reduction based on locality KR20220060401A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200146358A KR20220060401A (en) 2020-11-04 2020-11-04 Method and apparatus for data reduction based on locality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146358A KR20220060401A (en) 2020-11-04 2020-11-04 Method and apparatus for data reduction based on locality

Publications (1)

Publication Number Publication Date
KR20220060401A true KR20220060401A (en) 2022-05-11

Family

ID=81607187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146358A KR20220060401A (en) 2020-11-04 2020-11-04 Method and apparatus for data reduction based on locality

Country Status (1)

Country Link
KR (1) KR20220060401A (en)

Similar Documents

Publication Publication Date Title
CN108399263B (en) Time sequence data storage and query method and storage and processing platform
US10176208B2 (en) Processing time series data from multiple sensors
CN111125089B (en) Time sequence data storage method, device, server and storage medium
CN111339073A (en) Real-time data processing method and device, electronic equipment and readable storage medium
CN104040542A (en) Techniques for maintaining column vectors of relational data within volatile memory
CN110727406B (en) Data storage scheduling method and device
JP5781867B2 (en) Data compression and decompression using relative and absolute delta values
CN111078723B (en) Data processing method and device for block chain browser
CN111061758B (en) Data storage method, device and storage medium
JP2024009919A (en) Device for storing storage object data
US10678770B2 (en) Managing data records
CN110389967B (en) Data storage method, device, server and storage medium
US11210183B2 (en) Memory health tracking for differentiated data recovery configurations
CN103729429A (en) Hbase based compression method
CN111241108A (en) Key value pair-based KV system indexing method and device, electronic equipment and medium
US9634689B2 (en) Method and system for arranging numeric data for compression
CN110019347B (en) Data processing method and device of block chain and terminal equipment
CN107894875B (en) RTU data storage method
WO2021226922A1 (en) Data compression method, apparatus and device, and readable storage medium
KR20220060401A (en) Method and apparatus for data reduction based on locality
CN114297196B (en) Metadata storage method and device, electronic equipment and storage medium
CN115408390A (en) Data processing method and device and electronic equipment
JP7404734B2 (en) Data compression device, history information management system, data compression method and data compression program
US11068346B2 (en) Method and apparatus for data protection
CN107645541B (en) Data storage method and device and server

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application