KR102104417B1 - 데이터 분산 저장 방법 및 시스템 - Google Patents

데이터 분산 저장 방법 및 시스템 Download PDF

Info

Publication number
KR102104417B1
KR102104417B1 KR1020160125100A KR20160125100A KR102104417B1 KR 102104417 B1 KR102104417 B1 KR 102104417B1 KR 1020160125100 A KR1020160125100 A KR 1020160125100A KR 20160125100 A KR20160125100 A KR 20160125100A KR 102104417 B1 KR102104417 B1 KR 102104417B1
Authority
KR
South Korea
Prior art keywords
vehicle
storage device
index
identification information
node
Prior art date
Application number
KR1020160125100A
Other languages
English (en)
Other versions
KR20180035071A (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 KR1020160125100A priority Critical patent/KR102104417B1/ko
Priority to US15/741,681 priority patent/US10379965B2/en
Priority to EP16916392.0A priority patent/EP3522577B1/en
Priority to PCT/KR2016/011337 priority patent/WO2018062598A1/ko
Publication of KR20180035071A publication Critical patent/KR20180035071A/ko
Application granted granted Critical
Publication of KR102104417B1 publication Critical patent/KR102104417B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • G07C5/0866Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/123Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

본 발명이 해결하고자 하는 과제를 해결하기 위한 일 실시예에 따른 데이터 분산 저장 방법은 클러스터를 관리하는 클러스터 매니저에 의하여, 차량 저장 장치를 인식하는 단계, 상기 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버에 전송하는 단계, 상기 인덱스 서버로부터, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하는 단계, 상기 클러스터로부터 하나의 노드를 선택하는 단계, 상기 차량 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계, 상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하는 단계, 상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 단계, 및 상기 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 단계를 포함한다.

Description

데이터 분산 저장 방법 및 시스템{Method and system for data distribution storage}
본 발명은 데이터 분산 저장 방법 및 시스템에 관한 것이다.
최근 이동 수단 내 감시 카메라의 사용이 증가하고 있다. 예를 들어, 통학 차량, 대중 교통에서의 감시 카메라 사용은 흔한 일이다. 이동 수단 내 보안 수단으로서의 감시 카메라 채택이 증가함에 따라, 감시 카메라를 통해 녹화된 비디오를 관리하는 문제가 대두되고 있다.
비디오는 이동 수단에 설치된 NVR(Network Video Recorder), DVR(Digital Video Recorder) 등의 저장 장치에 녹화될 수 있다. 이동 수단이 차고에 돌아오면, 비디오는 분리 가능한 하드 드라이브를 이용하여 수동으로 또는 무선 네트워크를 이용하여 원격으로 보관될 수 있다. 이러한 방식은 시간 맞춰 차고에 돌아오는 이동 수단에 적합하다.
반면에, 비디오가 저장 장치에 중복으로 녹화되기 전에 이동 수단이 이동하면서 차고에 돌아오지 못한다면, 저장 장치에 녹화된 기존의 비디오가 분실될 수 있다.
국내 공개특허공보 제10-2012-0015112호
본 발명이 해결하고자 하는 과제는 이동 수단에 설치된 저장 장치의 용량을 초과하는 데이터에 대한 저장 기술을 제공하는 데 있다.
본 발명이 해결하고자 하는 과제를 해결하기 위한 일 실시예에 따른 데이터 분산 저장 방법은 클러스터를 관리하는 클러스터 매니저에 의하여, 차량 저장 장치를 인식하는 단계, 상기 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버에 전송하는 단계, 상기 인덱스 서버로부터, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하는 단계, 상기 클러스터로부터 하나의 노드를 선택하는 단계, 상기 차량 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계, 상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하는 단계, 상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 단계, 및 상기 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 단계를 포함한다.
본 실시예에서, 상기 제1 차량 인덱스는, 상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함할 수 있다.
본 실시예에서, 상기 백업 요청은, 제2 최초 녹화 시점을 더 포함하고, 상기 제2 최초 녹화 시점은 상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일할 수 있다.
본 실시예에서, 상기 노드에 의하여, 상기 제2 최초 녹화 시점 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는 차량 데이터 요청을 상기 차량 저장 장치에 전송하는 단계, 및 상기 차량 저장 장치로부터, 상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간에 녹화된 차량 데이터를 수신하는 단계를 더 포함할 수 있다.
본 실시예에서, 상기 백업 응답은, 상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
본 실시예에서, 상기 제2 차량 인덱스는, 상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
본 실시예에서, 상기 클러스터를 구성하는 복수의 노드들 각각의 순위를 결정하는 단계;를 더 포함하고, 상기 하나의 노드를 선택하는 단계는, 선순위 노드를 선택하고, 상기 선순위 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하지 않은 경우에 후순위 노드를 선택할 수 있다.
본 실시예에서, 상기 차량 저장 장치를 인식하는 단계는, 상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS(Global Positioning System) 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하는 단계이고, 상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하는 단계를 더 포함하고, 상기 차량 데이터가 상기 중요 데이터인 경우에는, 상기 클러스터와 다른 외부 서버를 선택하는 단계, 상기 백업 요청을 상기 외부 서버에 전송하는 단계, 및 상기 외부 서버로부터, 상기 백업 응답을 수신하는 단계를 더 포함하고, 상기 차량 데이터가 상기 중요 데이터가 아닌 경우에는, 상기 클러스터로부터 상기 하나의 노드를 선택할 수 있다.
본 실시예에서, 상기 차량 저장 장치에 의하여, 차량 내부를 촬영하는 카메라로부터 획득한 차량 데이터를 녹화하는 단계, 이동 저장 장치를 인식하는 단계, 상기 이동 저장 장치로부터, 이동 데이터를 수신하는 단계, 및 상기 이동 저장 장치의 식별 정보에 대응하는 초기 이동 인덱스를 생성하는 단계를 더 포함하고, 상기 클러스터 매니저에 의하여, 상기 이동 저장 장치의 식별 정보 및 상기 초기 이동 인덱스를 수신하는 단계, 상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계, 상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하는 단계, 상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 최종 이동 인덱스를 생성하는 단계, 및 상기 최종 이동 인덱스를 상기 인덱스 서버에 전송하는 단계를 더 포함할 수 있다.
본 실시예에서, 상기 노드에 의하여, 상기 이동 저장 장치의 식별 정보를 포함하는 영상 데이터 요청을 상기 차량 저장 장치에 전송하는 단계, 및 상기 차량 저장 장치로부터, 상기 이동 데이터를 수신하는 단계를 더 포함할 수 있다.
본 실시예에서, 상기 인덱스 서버에 의하여, 클라이언트 장치로부터, 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보가 포함된 영상 데이터 요청을 수신하는 단계, 상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는 차량 인덱스를 검색하는 단계, 상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하는 단계, 상기 영상 데이터 요청을 상기 노드에 전송하는 단계, 및 상기 노드에 의하여, 상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는, 차량 데이터를, 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다.
본 발명이 해결하고자 하는 과제를 해결하기 위한 일 실시예에 따른 데이터 분산 저장 시스템은 차량 저장 장치를 인식하는 센서, 차량 인덱스 요청을 인덱스 서버에 전송하고, 상기 인덱스 서버로부터 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하고, 백업 요청을 노드에 전송하고, 상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하고, 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 통신 인터페이스, 및 상기 차량 저장 장치가 인식되면 상기 차량 저장 장치의 식별 정보를 포함하는 상기 차량 인덱스 요청을 생성하고, 클러스터로부터 상기 노드를 선택하고, 상기 차량 저장 장치의 식별 정보를 포함하는 상기 백업 요청을 생성하고, 상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 프로세서를 포함한다.
본 실시예에서, 상기 제1 차량 인덱스는, 상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함하고, 상기 백업 요청은, 상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일한 제2 최초 녹화 시점을 더 포함할 수 있다.
본 실시예에서, 상기 백업 응답은, 상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
본 실시예에서, 상기 제2 차량 인덱스는, 상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
본 실시예에서, 상기 센서는, 상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하고, 상기 프로세서는, 상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하고, 상기 차량 데이터가 상기 중요 데이터가 아닌 경우에는 상기 클러스터로부터 상기 노드를 선택하고, 상기 차량 데이터가 상기 중요 데이터인 경우에는 상기 클러스터와 다른 외부 서버를 선택하고, 상기 백업 요청을 상기 외부 서버에 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 외부 서버로부터 상기 백업 응답을 수신할 수 있다.
본 실시예에서, 상기 통신 인터페이스는, 상기 차량 저장 장치로부터 이동 저장 장치의 식별 정보 및 이동 데이터에 관련된 초기 이동 인덱스를 수신하고, 상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하고, 상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하고, 최종 이동 인덱스를 상기 인덱스 서버에 전송하고, 상기 프로세서는, 상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 상기 이동 저장 장치의 식별 정보에 대응하는 최종 이동 인덱스를 생성할 수 있다.
본 발명이 해결하고자 하는 과제를 해결하기 위한 일 실시예에 따른 데이터 분산 저장 시스템은 클러스터 매니저로부터 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 수신하고, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 상기 클러스터 매니저에 전송하고, 상기 클러스터 매니저로부터 제2 차량 인덱스를 수신하는 통신 인터페이스, 상기 차량 저장 장치의 식별 정보에 대응하는 차량 인덱스를 저장하는 데이터베이스, 및 상기 차량 인덱스 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보에 대응하는 제1 차량 인덱스를 검색하고, 상기 제2 차량 인덱스에 기초하여 상기 데이터베이스에 저장된 상기 차량 저장 장치의 식별 정보에 대응하는 최근 차량 인덱스를 업데이트하는 프로세서를 포함한다.
본 실시예에서, 상기 통신 인터페이스는, 상기 클러스터 매니저로부터 이동 저장 장치의 이동 인덱스를 수신하고, 상기 데이터베이스는, 상기 이동 저장 장치의 식별 정보에 대응하는 이동 인덱스를 저장하고, 상기 프로세서는, 상기 데이터베이스에 상기 이동 인덱스를 업데이트할 수 있다.
본 실시예에서, 상기 통신 인터페이스는, 클라이언트 장치로부터 영상 데이터 요청을 수신하고, 상기 영상 데이터 요청을 노드에 전송하고, 상기 영상 데이터 요청은 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보를 포함하고, 상기 프로세서는, 상기 영상 데이터 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보 및 녹화 시간에 대응하는 차량 인덱스를 검색하고, 상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하고, 상기 영상 데이터 요청을 상기 노드에 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
본 발명의 실시예들에 따르면, 이동 수단에 설치된 저장 장치에 녹화된 영상 데이터를 다수의 백업 장치에 분산 저장함으로써, 이동 수단에 설치된 저장 장치의 용량 한계를 극복할 수 있다.
또한, 본 발명의 실시예들에 따르면, 백업 장치를 자유롭게 추가할 수 있으므로, 백업 장치의 용량 한계를 극복할 수 있다.
또한, 본 발명의 실시예들에 따르면, 적은 대역폭으로도 영상 데이터 백업이 가능하므로, 영상 데이터를 보다 안정적으로 백업할 수 있다.
또한, 본 발명의 실시예들에 따르면, 소정 영상 데이터를 별도의 서버에 백업하여, 정차 지점에 갖추어진 클러스터를 이루는 백업 장치에 문제가 발생한 경우에도 소정 영상 데이터는 이용할 수 있으므로, 보안을 보다 강화할 수 있다.
또한, 본 발명의 실시예들에 따르면, 이동 수단에 설치된 저장 장치뿐만 아니라, 이동 수단에 승차한 저장 장치의 영상 데이터의 백업이 가능함으로써, 이동 수단에 승차한 저장 장치의 용량 한계를 극복할 수 있다.
도 1은 일 실시예에 따른 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 2 내지 도 4는 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 흐름도이다.
도 5는 다른 실시예에 따른 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 6a 및 도 6b는 다른 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 클라이언트 장치에 영상 데이터를 공급하는 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 클라이언트 장치에 대한 영상 데이터 공급 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 다수의 표현을 포함한다. 이하의 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
이하 첨부된 도면들을 참조하여 본 발명의 실시예가 상세히 설명된다.
도 1은 일 실시예에 따른 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 데이터 분산 저장 시스템은 클러스터 매니저(200-1, 200-2), 클러스터(C1, C2), 및 인덱스 서버(400)를 포함한다.
차량 A(VA)는 최초 출발지로부터 최종 목적지에 이르기까지 하나 이상의 차고들에 정차할 수 있다. 차량 A(VA)는 물류 운송 차량, 대중 교통, 렌터카, 통학 차량, 공무 차량 등일 수 있으며, 이에 한정하지 않는다.
차량 A(VA)에는 카메라 및 차량 저장 장치(110)가 설치될 수 있다. 카메라는 차량 A(VA)의 외부 또는 내부를 촬영할 수 있다. 차량 저장 장치(110)는 카메라 또는 센서로부터 획득된 차량 데이터를 녹화할 수 있다. 차량 데이터는 예컨대, 영상 데이터, 음향 데이터, GPS 데이터, 압력 데이터, 변위 데이터, 가속도 데이터, 온도 데이터, 가스 데이터, 습도 데이터 등을 포함할 수 있다.
차량 A(VA)는 제1 차고(D1) 및 제2 차고(D2)에 순차적으로 정차할 수 있다. 이때, 제1 차고(D1) 및 제2 차고(D2)는 각각 차량 A(VA)의 차량 데이터를 백업하기 위한 제1 클러스터(C1) 및 제2 클러스터(C2)가 갖추어진 차고를 의미할 수 있다.
제1 클러스터(C1) 및 제2 클러스터(C2)는 각각 제1 차고(D1) 및 제2 차고(D2)에 설치된 제1 클러스터 매니저(200-1) 및 제2 클러스터 매니저(200-2)에 의해 관리될 수 있다. 제1 클러스터(C1) 및 제2 클러스터(C2)는 각각 제1 노드 그룹(300-1) 및 제2 노드 그룹(300-2)을 포함할 수 있다.
제1 클러스터 매니저(200-1)가 제1 노드 그룹(300-1)에 포함된 n개의 노드들(N11 내지 N1n) 중 하나를 선택하면, 선택된 노드는 제1 녹화 시간 구간에 녹화된 차량 A(VA)의 제1 차량 데이터를 백업할 수 있다. 제2 클러스터 매니저(200-2)가 제2 노드 그룹(300-2)에 포함된 n개의 노드들(N21 내지 N2n) 중 하나를 선택하면, 선택된 노드는 제2 녹화 시간 구간에 녹화된 차량 A(VA)의 제2 차량 데이터를 백업할 수 있다. 제2 녹화 시간 구간은 제1 녹화 시간 구간과 상이할 수 있다.
이하에서는, 제1 차고(D1)에서 출발한 차량 A(VA)가 제2 차고(D2)에 도착한 경우를 예로 들어 상세하게 설명한다.
제2 클러스터 매니저(200-2)는 센서(210), 통신 인터페이스(230), 및 프로세서(250)를 포함한다.
센서(210)는 제2 차고(D2)에 진입하는 차량 저장 장치(110)를 인식한다. 센서(210)는 무선 통신을 이용하여 차량 저장 장치(110)를 인식할 수 있다. 센서(210)는 무선 액세스 포인트(wireless access point), 전자 태그 리더, 또는 비콘(beacon)일 수 있으며, 이에 한정하지 않는다.
일 실시예에 따른 센서(210)는 차량 저장 장치(110)의 식별 정보를 수신함으로써, 차량 저장 장치(110)를 인식할 수 있다. 예를 들어, 차량 저장 장치(110)는 Wi-Fi 통신을 수행하여 제2 차고(D2)에 설치된 무선 액세스 포인트에 차량 저장 장치(110)의 식별 정보를 전송할 수 있다.
다른 실시예에 따른 센서(210)는 차량 A(VA)의 식별 정보를 수신함으로써, 차량 A(VA)에 설치된 차량 저장 장치(110)를 인식할 수 있다.
통신 인터페이스(230)는 차량 인덱스 요청을 인덱스 서버(400)에 전송하고, 인덱스 서버(400)로부터 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신한다.
차량 인덱스 요청은 차량 저장 장치(110)의 식별 정보를 포함할 수 있다.
제1 차량 인덱스는 차량 저장 장치(110)의 식별 정보에 대응하는 최근 차량 인덱스를 의미할 수 있다. 최근 차량 인덱스는 현재 시점을 기준으로 녹화 시간 구간의 최종 녹화 시점이 가장 최근인 인덱스를 의미할 수 있다. 예를 들어, 제1 차량 인덱스는 차량 A(VA)가 제1 차고(D1)에 정차하는 동안, 제1 클러스터 매니터(200-1)에 의해 업데이트된 차량 인덱스일 수 있다.
제1 차량 인덱스는 제1 차량 데이터가 녹화된 제1 녹화 시간 구간 및 제1 차량 데이터가 백업된 노드의 식별 정보를 포함할 수 있다. 제1 녹화 시간 구간은 제1 최초 녹화 시점 및 제1 최종 녹화 시점을 포함할 수 있다.
통신 인터페이스(230)는 백업 요청을 제2 노드 그룹(300-2)의 제n 노드(N2n)에 전송하고, 제n 노드(N2n)로부터 백업 요청에 대응하는 백업 응답을 수신한다.
백업 요청은 차량 저장 장치(110)의 식별 정보 및 제2 녹화 시간 구간의 제2 최초 녹화 시점 중 적어도 하나를 포함할 수 있다. 이때, 제2 녹화 시간 구간의 제2 최초 녹화 시점은 제1 차량 인덱스의 제1 최종 녹화 시점과 동일하거나 이후일 수 있다.
백업 응답은 백업 완료 통지를 의미하며, 제2 차량 데이터가 녹화된 제2 녹화 시간 구간 및 제2 차량 데이터가 백업된 노드의 식별 정보를 포함할 수 있다.
제2 녹화 시간 구간은 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함할 수 있다. 제2 최종 녹화 시점은 차량 A(VA)가 제2 차고(D2)에 진입한 시점, 제2 클러스터 매니저(200-2)가 차량 저장 장치(110)를 인식한 시점, 또는 제1 최종 녹화 시점을 기준으로 소정 시간이 경과한 시점일 수 있으나, 이에 한정하지 않는다.
통신 인터페이스(230)는 제2 차량 인덱스를 인덱스 서버(400)에 전송한다.
제2 차량 인덱스는 차량 저장 장치(110)의 식별 정보, 제2 녹화 시간 구간, 및 제2 차량 데이터가 백업된 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
프로세서(250)는, 차량 저장 장치(110)가 인식되면 차량 인덱스 요청을 생성하고, 제2 클러스터(C2)로부터 노드를 선택하고, 백업 요청을 생성하고, 제1 차량 인덱스 및 백업 응답에 기초하여 제2 차량 인덱스를 생성한다.
프로세서(250)는 제2 클러스터(C2)를 구성하는 n개의 노드들(N21 내지 N2n) 각각의 순위를 결정할 수 있다. 예를 들어, 프로세서(250)는 저장 용량, 최근 백업 시점, 임의의 순서 등에 기초하여 n개의 노드들(N21 내지 N2n) 각각의 순위를 결정할 수 있다. 이때. 프로세서(250)는 선순위 노드를 선택하고, 선순위 노드로부터 백업 요청에 대응하는 백업 응답을 수신하지 않은 경우에 후순위 노드를 선택할 수 있다.
프로세서(250)는 센서(210)를 통해 수신한 차량 A(VA) 또는 차량 저장 장치(110)와 관련된 정보에 기초하여, 제2 차량 데이터가 중요 데이터인지 여부를 판단할 수 있다. 프로세서(250)는 제2 차량 데이터가 중요 데이터인 경우에는, 제2 클러스터(C2)와는 다른 외부 서버(500)를 선택하고, 백업 요청을 외부 서버(500)에 전송하고, 외부 서버(500)로부터 수신한 백업 응답에 기초하여 제2 차량 인덱스를 생성할 수 있다.
프로세서(250)는 제1 차량 인덱스로부터 제1 최종 녹화 시점을 추출하고, 제1 최종 녹화 시점에 기초하여 제2 최초 녹화 시점을 결정하고, 제2 최초 녹화 시점 이후로 녹화된 제2 차량 데이터가 백업된 노드의 식별 정보가 포함된 백업 응답에 기초하여 제2 차량 인덱스를 생성할 수 있다.
제2 클러스터 매니저(200-2)는 제2 클러스터(C2)로부터 선택한 노드를 차량 A(VA)의 차량 저장 장치(110)와 매치할 수 있다.
이하에서, 제n 노드(N2n)는, 제2 클러스터 매니저(200-2)에 의해 제2 클러스터(C2)로부터 선택된 노드를 가리킨다.
제n 노드(N2n)는 제2 클러스터 매니저(200-2)로부터 백업 요청을 수신하고, 백업 요청에 대응하는 백업 응답을 제2 클러스터 매니저(200-2)에 전송한다.
제n 노드(N2n)는 백업 요청으로부터 제2 최초 녹화 시점을 추출하고, 제2 최초 녹화 시점 및 제n 노드(N2n)의 식별 정보 중 적어도 하나를 포함하는 차량 데이터 요청을 차량 저장 장치(110)에 전송할 수 있다.
제n 노드(N2n)는 차량 저장 장치(110)로부터 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간에 녹화된 차량 데이터를 수신할 수 있다. 이에 따라, 제n 노드(N2n)는 제2 녹화 시간 구간 및 제n 노드(N2n)의 식별 정보 중 적어도 하나를 포함하는 백업 응답을 생성할 수 있다.
인덱스 서버(400)는 통신 인터페이스(410), 데이터베이스(430), 및 프로세서(450)를 포함한다.
통신 인터페이스(410)는 제2 클러스터 매니저(200-2)로부터 차량 인덱스 요청을 수신하고, 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 제2 클러스터 매니저(200-2)에 전송한다.
통신 인터페이스(410)는 제2 클러스터 매니저(200-2)로부터 제2 차량 인덱스를 수신한다. 제2 차량 인덱스는 제1 차량 인덱스의 다음 인덱스를 의미할 수 있다. 즉, 제2 차량 인덱스에 포함된 제2 녹화 시간 구간은 제1 차량 인덱스에 포함된 제1 녹화 시간 구간 이후일 수 있다.
데이터베이스(430)는 차량 저장 장치(110)의 식별 정보에 대응하는 차량 인덱스를 저장한다. 차량 인덱스는, 차량 데이터의 백업 위치를, 차량 데이터가 차량 저장 장치(110)에 녹화된 시간 구간에 따라 배열한 목록을 의미할 수 있다.
프로세서(450)는 차량 인덱스 요청을 수신하면 데이터베이스(430)로부터 차량 저장 장치(110)의 식별 정보에 대응하는 차량 인덱스의 최근 차량 인덱스를 검색한다.
프로세서(450)는 제2 차량 인덱스에 기초하여, 데이터베이스(430)에 저장된 차량 저장 장치(110)의 식별 정보에 대응하는 최근 차량 인덱스를 업데이트한다. 이때, 프로세서(450)는 데이터베이스(430)에, 하나의 차량 저장 장치(110)의 식별 정보와 복수의 차량 인덱스들을 매치하여 저장할 수 있다.
도 2 내지 도 4는 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 차량 저장 장치(110)가 설치된 차량 A(VA)가 제2 차고(D2)에 도착하면(S101), 제2 클러스터 매니저(200-2)는 차량 저장 장치(110)로부터 차량 저장 장치(110)의 식별 정보를 수신하고(S103), 차량 저장 장치(110)를 인식한다(S105).
이어서, 제2 클러스터 매니저(200-2)는 차량 저장 장치(110)의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버(400)에 전송한다(S107).
인덱스 서버(400)는 차량 인덱스 요청을 수신하면, 차량 저장 장치(110)의 식별 정보에 대응하는 최근 차량 인덱스를 검색한다(S109). 예를 들어, 현재 시점이 2016년 7월 1일 21시라면, 인덱스 서버(400)는 데이터베이스(430)로부터 2016년 7월 1일 13시 내지 2016년 7월 1일 18시를 포함하는 제1 녹화 시간 구간 및 제1 녹화 시간 구간에 녹화된 제1 차량 데이터가 백업된 제1 클러스터(C1)의 제n 노드(N1n)의 식별 정보를 포함하는 제1 차량 인덱스를 추출할 수 있다.
이어서, 인덱스 서버(400)는 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 제2 클러스터 매니저(200-2)에 전송한다(S111).
한편, 제2 클러스터 매니저(200-2)는 제2 클러스터(C2)로부터 하나의 노드 예컨대, 제n 노드(N2n)를 선택한다(S113). 이하에서, 도 3 및 도 4를 참조하여, 제2 클러스터 매니저(200-2)가 제2 차량 데이터의 백업 위치를 선택하는 실시예들에 대하여 상세하게 설명한다.
도 3을 참조하면, 제2 클러스터 매니저(200-2)는 노드 순위를 결정한다(S301). 예를 들어, 제2 클러스터 매니저(200-2)는 남은 저장 용량이 더 큰 제1 노드(N21)의 순위를 남은 저장 용량이 더 작은 제2 노드(N22)의 순위보다 높게 설정할 수 있다.
이어서, 제2 클러스터 매니저(200-2)는 선순위 노드인 제1 노드(N21)를 선택하고(S1131), 제1 노드(N21)에 백업 요청을 전송한다(S1151).
제2 클러스터 매니저(200-2)는 백업 요청에 대응하는 백업 응답을 제1 노드(N21)로부터 수신한 경우에는(S303), 제1 차량 인덱스 및 제1 노드(N21)로부터 수신한 백업 응답에 기초하여 제2 차량 인덱스를 생성한다(S125). 이때, 제2 클러스터 매니저(200-2)는 제1 노드(N21) 이외의 다른 노드를 더 선택할 필요가 없다.
반면, 제2 클러스터 매니저(200-2)는 백업 요청에 대응하는 백업 응답을 제1 노드(N21)로부터 수신하지 않은 경우에는(S303), 제1 노드(N21)보다 후순위 노드인 제2 노드(N22)를 선택하고(S1133), 제2 노드(N22)에 백업 요청을 전송한다(S1153).
도 4를 참조하면, 차량 저장 장치(110)는 제2 클러스터 매니저(200-2)에 차량 A(VA)의 식별 정보, 차량 저장 장치(110)의 식별 정보, 차량 A(VA)의 GPS 정보, 제2 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 전송한다(S501).
제2 클러스터 매니저(200-2)는 차량 A(VA)의 식별 정보, 차량 저장 장치(110)의 식별 정보, 차량 A(VA)의 GPS 정보, 제2 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나에 기초하여, 제2 차량 데이터가 중요 데이터인지 여부를 판단한다(S503).
예를 들어, 제2 클러스터 매니저(200-2)는, 차량 A(VA)의 식별 정보 및/또는 차량 저장 장치(110)의 식별 정보에 기초하여, 최우선순위로 설정된 차량 저장 장치(110)에 녹화된 제2 차량 데이터를 중요 데이터로 판단할 수 있다.
다른 예를 들어, 제2 클러스터 매니저(200-2)는, 차량 A(VA)의 GPS 정보에 기초하여, 차량 A(VA)가 이동하는 동안 녹화된 제2 차량 데이터 또는 차량 A(VA)가 소정 경로에 위치하는 동안 녹화된 제2 차량 데이터를 중요 데이터로 판단할 수 있다.
또 다른 예를 들어, 제2 클러스터 매니저(200-2)는, 제2 차량 데이터에 대한 영상 데이터 파라미터에 기초하여, 소정 시간에 녹화된 제2 차량 데이터 또는 이벤트가 검출된 제2 차량 데이터를 중요 데이터로 판단할 수 있다. 이때, 이벤트는 차량 A(VA) 또는 차량 저장 장치(110)에서 감지된 이벤트 및 제2 차량 데이터에서 감지된 이벤트 중 적어도 하나를 포함할 수 있다. 차량 A(VA) 또는 차량 저장 장치(110)에서 감지된 이벤트는 차량 A(VA)의 이동 속도가 급변한 경우 또는 차량 저장 장치(110)의 설치 위치가 변경된 경우 등일 수 있다. 제2 차량 데이터에서 감지된 이벤트는 차량 A(VA)의 내부에서 소음이 발생한 경우 등일 수 있다.
이어서, 제2 클러스터 매니저(200-2)는 제2 차량 데이터가 중요 데이터인 경우에는, 제2 클러스터(C2)와는 다른 외부 서버(500)를 선택하고(S1132), 외부 서버(500)에 백업 요청을 전송한다(S1152).
반면에, 제2 차량 데이터가 중요 데이터가 아닌 경우에는, 제2 클러스터 매니저(200-2)는 제2 클러스터(C2)로부터 제n 노드(N2n)를 선택하고(S1134), 제n 노드(N2n)에 백업 요청을 전송한다(S1154).
이처럼, 중요 데이터를 제2 클러스터(C2)가 아닌 외부 서버(500)에 백업하는 실시예에 따르면, 제2 클러스터(C2)에 접근할 수 없거나 제2 클러스터(C2)에 백업된 데이터가 삭제된 경우에도, 외부 서버(500)에 백업된 중요 데이터를 이용할 수 있으므로, 보안을 보다 강화할 수 있다.
다시 도 2를 참조하면, 제2 클러스터 매니저(200-2)는 차량 저장 장치(110)의 식별 정보 및 제2 최초 녹화 시점을 포함하는 백업 요청을 제n 노드(N2n)에 전송한다(S115). 제2 최초 녹화 시점은 예컨대, 제1 차량 인덱스의 제1 최종 녹화 시점과 동일한 2016년 7월 1일 18시일 수 있다.
제n 노드(N2n)는 제2 최초 녹화 시점 및 제n 노드(N2n)의 식별 정보를 포함하는 차량 데이터 요청을 차량 저장 장치(110)에 전송한다(S117). 이때, 제n 노드(N2n)는 백업 요청에 기초하여 차량 저장 장치(110)에 전송하기 위한 차량 데이터 요청을 생성할 수 있다.
차량 데이터 요청을 수신한 차량 저장 장치(110)는, 제2 녹화 시간 구간에 녹화된 제2 차량 데이터를, 제n 노드(N2n)에 전송한다(S119). 제2 녹화 시간 구간은 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함할 수 있다. 제2 최종 녹화 시점이 2016년 7월 1일 21시인 경우, 제2 녹화 시간 구간은 2016년 7월 1일 18시 내지 2016년 7월 1일 21시일 수 있다.
제n 노드(N2n)는 백업이 완료된 후(S121), 백업 요청에 대응하는 백업 응답을 제2 클러스터 매니저(200-2)에 전송한다(S123). 백업 응답은 제2 녹화 시간 구간 및 제n 노드(N2n)의 식별 정보를 포함할 수 있다.
이어서, 제2 클러스터 매니저(200-2)는 제1 차량 인덱스 및 백업 응답에 기초하여 제2 차량 인덱스를 생성한다(S125). 다시 말하면, 제2 클러스터 매니저(200-2)는 제1 차량 인덱스에 기초하여 제2 최초 녹화 시점을 결정하고, 제2 최초 녹화 시점을 포함하는 제2 녹화 시간 구간을 포함하는 제2 차량 인덱스를 생성할 수 있다. 제2 차량 인덱스는 예컨대, 차량 저장 장치(110)의 식별 정보, 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 제2 녹화 시간 구간, 및 제2 클러스터(C2)의 제n 노드(N2n)의 식별 정보를 포함할 수 있다.
제2 클러스터 매니저(200-2)가 제2 차량 인덱스를 인덱스 서버(400)에 전송하면(S127), 인덱스 서버(400)는 제2 차량 인덱스에 기초하여 최근 차량 인덱스를 업데이트한다(S129). 예를 들어, 프로세서(450)는 데이터베이스(430)에, 차량 저장 장치(110)의 식별 정보와, 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 제2 녹화 시간 구간과, 제2 녹화 시간 구간에 녹화된 제2 차량 데이터가 백업된 제2 클러스터(C2)의 제n 노드(N2n)의 식별 정보를, 함께 매치하여 저장할 수 있다.
이하에서는 도 1 내지 도 4를 참조하여 설명한 부분과 중복되는 부분에 대한 설명은 생략하거나 간략히 한다.
도 5는 다른 실시예에 따른 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 5를 참조하면, 이동 저장 장치(120)를 소지한 사람이 탑승한 차량 B(VB)가 제2 차고(D2)에 진입한 경우, 제2 클러스터 매니저(200-2)에 의해 선택된 노드는 차량 저장 장치(110)에 녹화된 차량 데이터 및 이동 저장 장치(120)에 녹화된 이동 데이터를 백업한다.
이동 저장 장치(120)는 휴대용 카메라 등으로부터 획득된 이동 데이터를 녹화한다. 이동 저장 장치(120)를 소지한 사람은 경찰, 소방관, 구급 요원 등이고, 차량 B(VB)는 경찰차, 소방차, 구급차 등일 수 있다.
차량 저장 장치(110)는 차량 내부를 촬영하는 카메라로부터 획득한 차량 데이터를 녹화한다.
한편, 차량 저장 장치(110)는 이동 저장 장치(120)를 인식하고, 이동 저장 장치(120)로부터 이동 데이터를 수신하고, 이동 저장 장치(120)의 식별 정보에 대응하는 초기 이동 인덱스를 생성한다. 초기 이동 인덱스는, 이동 데이터의 백업 위치인 차량 저장 장치(110)의 식별 정보를, 이동 데이터가 이동 저장 장치(110)에 녹화된 시간 구간에 따라 배열한 목록을 의미할 수 있다.
제2 클러스터 매니저(200-2)의 센서(210)는 제2 차고(D2)에 진입하는 차량 저장 장치(110) 및 이동 저장 장치(120)를 인식한다. 센서(210)는 이동 저장 장치(120)의 식별 정보를 수신함으로써, 이동 저장 장치(120)를 인식할 수 있다. 이때, 센서(210)는 이동 저장 장치(120)의 식별 정보에 대응하는 초기 이동 인덱스를 더 수신할 수 있다.
제2 클러스터 매니저(200-2)의 통신 인터페이스(230)는 백업 요청을 제2 노드 그룹(300-2)의 제n 노드(N2n)에 전송하고, 제n 노드(N2n)로부터 백업 요청에 대응하는 백업 응답을 수신한다.
백업 요청은 이동 저장 장치(120)의 식별 정보를 포함할 수 있다.
백업 응답은 이동 데이터가 백업된 노드의 식별 정보를 포함할 수 있다.
통신 인터페이스(230)는 최종 이동 인덱스를 인덱스 서버(400)에 전송한다.
최종 인덱스 서버는 이동 저장 장치(120)의 식별 정보, 이동 데이터가 백업된 노드의 식별 정보 중 적어도 하나를 포함할 수 있다.
제2 클러스터 매니저(200-2)의 프로세서(250)는, 이동 저장 장치(120)가 인식되면 제2 클러스터(C2)로부터 노드를 선택하고, 백업 요청을 생성하고, 초기 이동 인덱스 및 백업 응답에 기초하여 최종 이동 인덱스를 생성한다.
프로세서(250)는 센서(210)를 통한 이동 저장 장치(110)의 식별 정보에 기초하여, 이동 데이터가 중요 데이터인지 여부를 판단할 수 있다. 프로세서(250)는 이동 데이터가 중요 데이터인 경우에는, 제2 클러스터(C2)와는 다른 외부 서버(500)를 선택하고, 백업 요청을 외부 서버(500)에 전송하고, 외부 서버(500)로부터 수신한 백업 응답에 기초하여 최종 이동 인덱스를 생성할 수 있다. 반면, 프로세서(250)는 이동 데이터가 중요 데이터가 아닌 경우에는, 제2 클러스터(C2)로부터 노드를 선택할 수 있다.
이때, 프로세서(250)는 차량 데이터 및 이동 데이터가 모두 백업될 하나의 노드를 선택할 수도 있고, 차량 데이터가 백업될 노드와 이동 데이터가 백업될 노드를 각각 선택할 수도 있다.
프로세서(250)는 이동 데이터가 백업된 노드의 식별 정보를, 이동 데이터가 이동 저장 장치(110)의 녹화된 시간 구간에 따라 배열한 목록인, 최종 이동 인덱스를 생성할 수 있다.
제2 클러스터 매니저(200-2)는 제2 클러스터(C2)로부터 선택한 노드를 이동 저장 장치(120)와 매치할 수 있다.
이하에서, 제n 노드(N2n)는, 제2 클러스터 매니저(200-2)에 의해 제2 클러스터(C2)로부터 선택된 노드를 가리킨다.
제n 노드(N2n)는 제2 클러스터 매니저(200-2)로부터 백업 요청을 수신하고, 백업 요청에 대응하는 백업 응답을 제2 클러스터 매니저(200-2)에 전송한다.
제n 노드(N2n)는 백업 요청으로부터 이동 저장 장치(120)의 식별 정보를 추출하고, 이동 저장 장치(120)의 식별 정보 및 제n 노드(N2n)의 식별 정보 중 적어도 하나를 포함하는 이동 데이터 요청을 차량 저장 장치(110)에 전송할 수 있다.
제n 노드(N2n)는 차량 저장 장치(110)로부터 이동 데이터를 수신할 수 있다. 이에 따라, 제n 노드(N2n)는 이동 저장 장치(120)의 식별 정보 및 제n 노드(N2n)의 식별 정보 중 적어도 하나를 포함하는 백업 응답을 생성할 수 있다.
인덱스 서버(400)의 통신 인터페이스(410)는 제2 클러스터 매니저(200-2)로부터 최종 이동 인덱스를 수신한다.
인덱스 서버(400)의 데이터베이스(430)는 이동 저장 장치(120)의 식별 정보에 대응하는 이동 인덱스를 저장한다. 이동 인덱스는, 이동 데이터의 백업 위치를, 이동 데이터가 이동 저장 장치(120)에 녹화된 시간 구간에 따라 배열한 목록을 의미할 수 있다.
인덱스 서버(400)의 프로세서(450)는 이동 인덱스를 데이터베이스(430)에 업데이트할 수 있다.
도 6a 및 도 6b는 다른 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 흐름도이다.
도 6a 및 도 6b를 참조하면, 이동 저장 장치(120)는 이동 데이터를 녹화하고(S701), 차량 저장 장치(110)는 차량 데이터를 녹화한다(S703).
이동 저장 장치(120)가, 차량 저장 장치(110)가 설치된 차량에 탑승하면(S705), 차량 저장 장치(110)는 이동 저장 장치(120)의 식별 정보를 수신하고(S707), 이동 저장 장치(120)를 인식한다(S709).
이어서, 차량 저장 장치(110)는 이동 저장 장치(120)로부터 이동 데이터를 수신하고(S711), 이동 데이터를 저장한다(S713).
이때, 차량 저장 장치(110)는 이동 저장 장치(120)의 식별 정보에 대응하는 초기 이동 인덱스를 생성한다(S715). 예를 들어, 차량 저장 장치(110)는 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 이동 녹화 시간 구간 및 이동 녹화 시간 구간에 녹화된 이동 데이터가 백업된 차량 저장 장치(110)의 식별 정보를 포함하는 초기 이동 인덱스를 생성할 수 있다.
차량 저장 장치(110)가 설치된 차량 B(VB)가 제2 차고(D2)에 도착하면(S717), 제2 클러스터 매니저(200-2)는 차량 저장 장치(110)로부터 차량 저장 장치(110)의 식별 정보, 이동 저장 장치(120)의 식별 정보 및 초기 이동 인덱스를 수신하고(S719), 차량 저장 장치(110) 및 이동 저장 장치(120)를 인식한다(S721).
이어서, 제2 클러스터 매니저(200-2)는 차량 저장 장치(110)의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버(400)에 전송한다(S723).
인덱스 서버(400)는 차량 인덱스 요청을 수신하면, 차량 저장 장치(110)의 식별 정보에 대응하는 최근 차량 인덱스를 검색한다(S725). 예를 들어, 인덱스 서버(400)는 데이터베이스(430)로부터 2016년 7월 1일 13시 내지 2016년 7월 1일 18시를 포함하는 제1 녹화 시간 구간 및 제1 녹화 시간 구간에 녹화된 제1 차량 데이터가 백업된 제1 클러스터(C1)의 제n 노드(N1n)의 식별 정보를 포함하는 제1 차량 인덱스를 추출할 수 있다.
이어서, 인덱스 서버(400)는 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 제2 클러스터 매니저(200-2)에 전송한다(S727).
한편, 제2 클러스터 매니저(200-2)는 제2 클러스터(C2)로부터 하나의 노드 예컨대, 제n 노드(N2n)를 선택한다(S729).
제2 클러스터 매니저(200-2)는 차량 저장 장치(110)의 식별 정보, 차량 데이터의 제2 최초 녹화 시점, 및 이동 저장 장치(120)의 식별 정보를 포함하는 백업 요청을 제n 노드(N2n)에 전송한다(S731). 제2 최초 녹화 시점은 예컨대, 제1 차량 인덱스의 제1 최종 녹화 시점과 동일한 2016년 7월 1일 18시일 수 있다.
제n 노드(N2n)는 차량 데이터의 제2 최초 녹화 시점, 이동 저장 장치(120)의 식별 정보, 및 제n 노드(N2n)의 식별 정보를 포함하는 영상 데이터 요청을 차량 저장 장치(110)에 전송한다(S733). 이때, 제n 노드(N2n)는 백업 요청에 기초하여 차량 저장 장치(110)에 전송하기 위한 영상 데이터 요청을 생성할 수 있다.
영상 데이터 요청을 수신한 차량 저장 장치(110)는, 제2 녹화 시간 구간에 녹화된 제2 차량 데이터 및 이동 데이터를, 제n 노드(N2n)에 전송한다(S735). 제2 차량 데이터는 2016년 7월 1일 18시 내지 2016년 7월 1일 21시에 차량 저장 장치(110)에 녹화된 영상 데이터일 수 있고, 이동 데이터는 2016년 7월 1일 18시 내지 2016년 7월 1일 21시에 이동 저장 장치(120)에 녹화된 영상 데이터일 수 있다.
제n 노드(N2n)는 백업이 완료된 후(S737), 백업 요청에 대응하는 백업 응답을 제2 클러스터 매니저(200-2)에 전송한다(S739). 백업 응답은 제2 녹화 시간 구간 및 제n 노드(N2n)의 식별 정보를 포함할 수 있다.
이어서, 제2 클러스터 매니저(200-2)는 제1 차량 인덱스 및 백업 응답에 기초하여 제2 차량 인덱스를 생성한다(S741). 제2 차량 인덱스는 예컨대, 차량 저장 장치(110)의 식별 정보, 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 제2 녹화 시간 구간, 및 제2 클러스터(C2)의 제n 노드(N2n)의 식별 정보를 포함할 수 있다.
제2 클러스터 매니저(200-2)는 초기 이동 인덱스 및 백업 응답에 기초하여 최종 이동 인덱스를 생성한다(S743). 최종 이동 인덱스는 예컨대, 이동 저장 장치(120)의 식별 정보, 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 이동 녹화 시간 구간, 및 제2 클러스터(C2)의 제n 노드(N2n)의 식별 정보를 포함할 수 있다.
제2 클러스터 매니저(200-2)가 제2 차량 인덱스 및 최종 이동 인덱스를 인덱스 서버(400)에 전송하면(S745), 인덱스 서버(400)는 차량 저장 장치(110)의 식별 정보에 대응하는 최근 차량 인덱스 및 이동 저장 장치(120)의 식별 정보에 대응하는 이동 인덱스를 각각 업데이트한다(S747).
본 실시예에 따르면, 차량 B(VB)의 외부 또는 내부를 촬영한 차량 데이터뿐만 아니라, 경찰, 소방관, 구급 요원 등의 주위를 촬영한 이동 데이터가 필요한 경우에 대비할 수 있으므로, 보안을 더욱 강화할 수 있다.
도 7은 일 실시예에 따른 클라이언트 장치에 영상 데이터를 공급하는 데이터 분산 저장 시스템을 설명하기 위한 도면이다.
도 7을 참조하면, 사용자는 클라이언트 장치(600)를 이용하여 실시예들에 따른 데이터 분산 저장 시스템으로부터 필요한 데이터를 획득한다.
구체적으로, 클라이언트 장치(600)는 차량 또는 차량 저장 장치(110)의 식별 정보 및 녹화 시간을 선택하는 사용자 입력을 수신하고, 사용자 입력에 따른 영상 데이터 요청을 인덱스 서버(400)에 전송할 수 있다. 영상 데이터 요청은 차량 또는 차량 저장 장치(110)의 식별 정보, 녹화 시간, 및 클라이언트 장치(600)의 식별 정보를 포함할 수 있다.
인덱스 서버(400)의 통신 인터페이스(410)는 클라이언트 장치(600)로부터 영상 데이터 요청을 수신한다.
통신 인터페이스(410)는 노드의 식별 정보가 가리키는 노드에 차량 인덱스에 따른 영상 데이터 요청을 전송한다. 영상 데이터 요청은 차량 저장 장치(110)의 식별 정보, 녹화 시간, 및 클라이언트 장치(600)의 식별 정보를 포함할 수 있다.
인덱스 서버(400)의 프로세서(450)는 영상 데이터 요청에 따라, 데이터베이스(430)로부터 차량 저장 장치(110)의 식별 정보 및 녹화 시간에 대응하는 차량 인덱스를 검색할 수 있다. 프로세서(450)는 차량 인덱스에 포함된 노드의 식별 정보를 추출할 수 있다. 프로세서(450)에 의해 추출된 노드의 식별 정보는 사용자가 선택한 차량 데이터가 백업된 노드를 가리킬 수 있다.
이하에서, 제n 노드(N2n)는, 사용자가 선택한 차량 데이터가 백업된 노드를 의미한다.
제n 노드(N2n)는 영상 데이터 요청에 대응하여, 사용자 입력에 따른 녹화 시간에 녹화된 차량 데이터를 검색하고, 검색된 차량 데이터를 클라이언트 장치(600)에 전송할 수 있다.
따라서, 사용자는 클라이언트 장치(600)를 이용하여, 영상 데이터를, 해당 영상 데이터가 백업된 노드로부터 직접 수신할 수 있다.
도 8은 일 실시예에 따른 클라이언트 장치에 대한 영상 데이터 공급 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 클라이언트 장치(600)는 차량 저장 장치(110)의 식별 정보 및 녹화 시간을 선택하는 사용자 입력을 수신한다(S901).
예를 들어, 사용자 입력은, 차량 저장 장치(110)의 식별 정보 및 2016년 7월 1일 19시 내지 2016년 7월 1일 20시를 선택하는 사용자 입력일 수 있다.
이어서, 클라이언트 장치(600)가 인덱스 서버(400)에 영상 데이터 요청을 전송하면(S903), 인덱스 서버(400)는 차량 저장 장치(110)의 식별 정보 및 녹화 시간에 대응하는 차량 인덱스를 검색한다(S905).
예를 들어, 영상 데이터 요청은 차량 저장 장치(110)의 식별 정보, 2016년 7월 1일 19시 내지 2016년 7월 1일 20시, 및 클라이언트 장치(600)의 식별 정보를 포함할 수 있다.
예를 들어, 차량 인덱스는, 차량 저장 장치(110)의 식별 정보, 2016년 7월 1일 18시 내지 2016년 7월 1일 21시를 포함하는 제2 녹화 시간 구간, 및 제2 클러스터(C2)의 제n 노드(N2n)의 식별 정보를 포함하는 제2 차량 인덱스일 수 있다.
이어서, 인덱스 서버(400)는 차량 인덱스에 포함된 노드의 식별 정보를 추출한다(907). 예를 들어, 인덱스 서버(400)는 차량 인덱스로부터 제n 노드(N2n)의 식별 정보를 추출할 수 있다. 이하에서, 제n 노드(N2n)는, 사용자가 선택한 차량 데이터가 백업된 노드를 의미한다.
도시하지 않았으나, 인덱스 서버(400)는 차량 인덱스로부터 외부 서버의 식별 정보를 추출할 수도 있다.
이어서, 인덱스 서버(400)는 제n 노드(N2n)에 영상 데이터 요청을 전송한다(S909). 영상 데이터 요청은 차량 저장 장치(110)의 식별 정보, 2016년 7월 1일 19시 내지 2016년 7월 1일 20시, 및 클라이언트 장치(600)의 식별 정보를 포함할 수 있다.
제n 노드(N2n)는 영상 데이터 요청에 대응하여, 차량 저장 장치(110)의 식별 정보 및 녹화 시간에 대응하는, 차량 데이터를 검색한다(S911). 이어서, 제n 노드(N2n)는 검색된 차량 데이터를 클라이언트 장치(600)에 전송한다(S913).
예를 들어, 차량 저장 장치(110)의 식별 정보 및 녹화 시간에 대응하는, 차량 데이터는, 2016년 7월 1일 19시 내지 2016년 7월 1일 20시에 차량 저장 장치(110)에 녹화된 차량 데이터일 수 있다.
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다.
그러므로 상기 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.
VA: A 차량
110: 차량 저장 장치
D1, D2: 차고
C1, C2: 클러스터
200-1, 200-2: 클러스터 매니저
210: 클러스터 매니저의 센서
230: 클러스터 매니저의 통신 인터페이스
250: 클러스터 매니저의 프로세서
300-1: 노드
400: 인덱스 서버
410: 인덱스 서버의 통신 인터페이스
430: 인덱스 서버의 데이터베이스
450: 인덱스 서버의 프로세서
500: 외부 서버

Claims (20)

  1. 클러스터를 관리하는 클러스터 매니저에 의하여,
    차량 저장 장치를 인식하는 단계;
    상기 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버에 전송하는 단계;
    상기 인덱스 서버로부터, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하는 단계;
    상기 클러스터로부터 하나의 노드를 선택하는 단계;
    상기 차량 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계;
    상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하는 단계;
    상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 단계; 및
    상기 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 단계;를 포함하고,
    상기 제1 차량 인덱스는,
    상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함하고,
    상기 백업 요청은,
    제2 최초 녹화 시점을 더 포함하고,
    상기 제2 최초 녹화 시점은 상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일한, 데이터 분산 저장 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 노드에 의하여,
    상기 제2 최초 녹화 시점 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는 차량 데이터 요청을 상기 차량 저장 장치에 전송하는 단계; 및
    상기 차량 저장 장치로부터, 상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간에 녹화된 차량 데이터를 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법.
  5. 제1항에 있어서,
    상기 백업 응답은,
    상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는,
    데이터 분산 저장 방법.
  6. 제5항에 있어서,
    상기 제2 차량 인덱스는,
    상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 방법.
  7. 제1항에 있어서,
    상기 클러스터를 구성하는 복수의 노드들 각각의 순위를 결정하는 단계;를 더 포함하고,
    상기 하나의 노드를 선택하는 단계는,
    선순위 노드를 선택하고, 상기 선순위 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하지 않은 경우에 후순위 노드를 선택하는 단계;인, 데이터 분산 저장 방법.
  8. 제1항에 있어서,
    상기 차량 저장 장치를 인식하는 단계는,
    상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS(Global Positioning System) 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하는 단계;이고,
    상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하는 단계; 및
    상기 차량 데이터가 상기 중요 데이터인 경우에는, 상기 클러스터와 다른 외부 서버를 선택하고, 상기 백업 요청을 상기 외부 서버에 전송하고, 상기 외부 서버로부터 상기 백업 응답을 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법.
  9. 제1항에 있어서,
    상기 차량 저장 장치에 의하여,
    차량 내부를 촬영하는 카메라로부터 획득한 차량 데이터를 녹화하는 단계;
    이동 저장 장치를 인식하는 단계;
    상기 이동 저장 장치로부터, 이동 데이터를 수신하는 단계; 및
    상기 이동 저장 장치의 식별 정보에 대응하는 초기 이동 인덱스를 생성하는 단계;를 더 포함하고,
    상기 클러스터 매니저에 의하여,
    상기 이동 저장 장치의 식별 정보 및 상기 초기 이동 인덱스를 수신하는 단계;
    상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계;
    상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하는 단계;
    상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 최종 이동 인덱스를 생성하는 단계; 및
    상기 최종 이동 인덱스를 상기 인덱스 서버에 전송하는 단계;를 더 포함하는, 데이터 분산 저장 방법.
  10. 제9항에 있어서,
    상기 노드에 의하여,
    상기 이동 저장 장치의 식별 정보를 포함하는 영상 데이터 요청을 상기 차량 저장 장치에 전송하는 단계; 및
    상기 차량 저장 장치로부터, 상기 이동 데이터를 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법.
  11. 제1항에 있어서,
    상기 인덱스 서버에 의하여,
    클라이언트 장치로부터, 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보가 포함된 영상 데이터 요청을 수신하는 단계;
    상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는 차량 인덱스를 검색하는 단계;
    상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하는 단계;
    상기 영상 데이터 요청을 상기 노드에 전송하는 단계; 및
    상기 노드에 의하여,
    상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는, 차량 데이터를, 상기 클라이언트 장치에 전송하는 단계;를 더 포함하는, 데이터 분산 저장 방법.
  12. 차량 저장 장치를 인식하는 센서;
    차량 인덱스 요청을 인덱스 서버에 전송하고, 상기 인덱스 서버로부터 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하고, 백업 요청을 노드에 전송하고, 상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하고, 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 통신 인터페이스; 및
    상기 차량 저장 장치가 인식되면 상기 차량 저장 장치의 식별 정보를 포함하는 상기 차량 인덱스 요청을 생성하고, 클러스터로부터 상기 노드를 선택하고, 상기 차량 저장 장치의 식별 정보를 포함하는 상기 백업 요청을 생성하고, 상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 프로세서;를 포함하고,
    상기 제1 차량 인덱스는,
    상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함하고,
    상기 백업 요청은,
    상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일한 제2 최초 녹화 시점을 더 포함하는, 데이터 분산 저장 시스템.
  13. 삭제
  14. 제12항에 있어서,
    상기 백업 응답은,
    상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 시스템.
  15. 제14항에 있어서,
    상기 제2 차량 인덱스는,
    상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 시스템.
  16. 제12항에 있어서,
    상기 센서는,
    상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하고,
    상기 프로세서는,
    상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하고,
    상기 차량 데이터가 상기 중요 데이터인 경우에는 상기 클러스터와 다른 외부 서버를 선택하고, 상기 백업 요청을 상기 외부 서버에 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 외부 서버로부터 상기 백업 응답을 수신하는, 데이터 분산 저장 시스템.
  17. 제12항에 있어서,
    상기 통신 인터페이스는,
    상기 차량 저장 장치로부터 이동 저장 장치의 식별 정보 및 이동 데이터에 관련된 초기 이동 인덱스를 수신하고,
    상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하고, 상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하고,
    최종 이동 인덱스를 상기 인덱스 서버에 전송하고,
    상기 프로세서는,
    상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 상기 이동 저장 장치의 식별 정보에 대응하는 최종 이동 인덱스를 생성하는, 데이터 분산 저장 시스템.
  18. 클러스터 매니저로부터 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 수신하고, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 상기 클러스터 매니저에 전송하고, 상기 클러스터 매니저로부터 제2 차량 인덱스를 수신하는 통신 인터페이스;
    상기 차량 저장 장치의 식별 정보에 대응하는 차량 인덱스를 저장하는 데이터베이스; 및
    상기 차량 인덱스 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보에 대응하는 제1 차량 인덱스를 검색하고, 상기 제2 차량 인덱스에 기초하여 상기 데이터베이스에 저장된 상기 차량 저장 장치의 식별 정보에 대응하는 최근 차량 인덱스를 업데이트하는 프로세서;를 포함하고,
    상기 통신 인터페이스는,
    상기 클러스터 매니저로부터 이동 저장 장치의 이동 인덱스를 수신하고,
    상기 데이터베이스는,
    상기 이동 저장 장치의 식별 정보에 대응하는 이동 인덱스를 저장하고,
    상기 프로세서는,
    상기 데이터베이스에 상기 이동 인덱스를 업데이트하는, 데이터 분산 저장 시스템.
  19. 삭제
  20. 제18항에 있어서,
    상기 통신 인터페이스는,
    클라이언트 장치로부터 영상 데이터 요청을 수신하고, 상기 영상 데이터 요청을 노드에 전송하고,
    상기 영상 데이터 요청은 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보를 포함하고,
    상기 프로세서는,
    상기 영상 데이터 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보 및 녹화 시간에 대응하는 차량 인덱스를 검색하고, 상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하고, 상기 영상 데이터 요청을 상기 노드에 전송하도록 상기 통신 인터페이스를 제어하는, 데이터 분산 저장 시스템.
KR1020160125100A 2016-09-28 2016-09-28 데이터 분산 저장 방법 및 시스템 KR102104417B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160125100A KR102104417B1 (ko) 2016-09-28 2016-09-28 데이터 분산 저장 방법 및 시스템
US15/741,681 US10379965B2 (en) 2016-09-28 2016-10-11 Data distribution storing method and system thereof
EP16916392.0A EP3522577B1 (en) 2016-09-28 2016-10-11 Data distribution storage method and system
PCT/KR2016/011337 WO2018062598A1 (ko) 2016-09-28 2016-10-11 데이터 분산 저장 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160125100A KR102104417B1 (ko) 2016-09-28 2016-09-28 데이터 분산 저장 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180035071A KR20180035071A (ko) 2018-04-05
KR102104417B1 true KR102104417B1 (ko) 2020-04-24

Family

ID=61760726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160125100A KR102104417B1 (ko) 2016-09-28 2016-09-28 데이터 분산 저장 방법 및 시스템

Country Status (4)

Country Link
US (1) US10379965B2 (ko)
EP (1) EP3522577B1 (ko)
KR (1) KR102104417B1 (ko)
WO (1) WO2018062598A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200090550A (ko) 2019-01-21 2020-07-29 호남대학교 산학협력단 데이터 분산 저장 환경 구축 교육용 교보재
CN110602159A (zh) * 2019-07-30 2019-12-20 广州力挚网络科技有限公司 一种数据处理方法与系统
DE102020202625A1 (de) 2020-03-02 2021-09-02 Volkswagen Aktiengesellschaft Verfahren zur Aufbereitung von wenigstens eine Zeitreihe enthaltenden Datensätzen, Vorrichtung zur Durchführung, Fahrzeug sowie Computerprogramm

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363102B1 (en) 2006-10-13 2013-01-29 L-3 Communications Mobile-Vision, Inc. Dynamically load balancing date transmission using one or more access points
US20140025254A1 (en) 2007-05-08 2014-01-23 Smartdrive Systems, Inc. Distributed vehicle event recorder systems having a portable memory data transfer system
US20140149357A1 (en) 2012-11-26 2014-05-29 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
US20140215546A1 (en) 2013-01-29 2014-07-31 The Boeing Company Systems and methods for video distribution
US20140375813A1 (en) 2012-01-31 2014-12-25 Samsung Techwin Co., Ltd. Integrated control system and method using surveillance camera for vehicle
WO2016119528A1 (zh) * 2015-01-26 2016-08-04 杭州海康威视数字技术股份有限公司 视频数据的智能处理方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461102B2 (en) * 2004-12-09 2008-12-02 International Business Machines Corporation Method for performing scheduled backups of a backup node associated with a plurality of agent nodes
US20080033986A1 (en) * 2006-07-07 2008-02-07 Phonetic Search, Inc. Search engine for audio data
KR100907095B1 (ko) 2007-08-21 2009-07-09 인시아넷 주식회사 분산저장장치를 이용한 정보검색시스템 및 이를 이용한정보검색방법
KR20110078421A (ko) * 2009-12-31 2011-07-07 한국과학기술원 이동차량을 이용한 영상정보 관리 시스템 및 그 방법
KR20120015112A (ko) 2010-08-11 2012-02-21 노희옥 지폐 계수기에 의해 계수된 지폐량을 확인하기 위한 시스템
KR102047927B1 (ko) 2013-02-27 2019-11-25 주식회사 케이티 대규모 m2m 디바이스 환경에서 필터링을 이용한 실시간 데이터 수집 방법 및 시스템
KR102111758B1 (ko) * 2013-04-29 2020-06-08 팅크웨어(주) 차량용 영상 처리 장치 및 이를 이용한 데이터 공유 방법
KR20150049612A (ko) 2013-10-30 2015-05-08 에스케이텔레콤 주식회사 분산형 서버관리방법 및 서버관리장치
KR102170694B1 (ko) 2014-07-07 2020-10-27 한화테크윈 주식회사 비디오써머리를 제공하는 영상재생장치 및 영상재생장치에서 비디오써머리를 제공하는 방법
US9575849B2 (en) * 2014-11-25 2017-02-21 Sap Se Synchronized backup and recovery of database systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363102B1 (en) 2006-10-13 2013-01-29 L-3 Communications Mobile-Vision, Inc. Dynamically load balancing date transmission using one or more access points
US20140025254A1 (en) 2007-05-08 2014-01-23 Smartdrive Systems, Inc. Distributed vehicle event recorder systems having a portable memory data transfer system
US20140375813A1 (en) 2012-01-31 2014-12-25 Samsung Techwin Co., Ltd. Integrated control system and method using surveillance camera for vehicle
US20140149357A1 (en) 2012-11-26 2014-05-29 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
US20140215546A1 (en) 2013-01-29 2014-07-31 The Boeing Company Systems and methods for video distribution
WO2016119528A1 (zh) * 2015-01-26 2016-08-04 杭州海康威视数字技术股份有限公司 视频数据的智能处理方法及系统

Also Published As

Publication number Publication date
US20190079832A1 (en) 2019-03-14
US10379965B2 (en) 2019-08-13
EP3522577A1 (en) 2019-08-07
EP3522577B1 (en) 2021-01-20
EP3522577A4 (en) 2019-08-07
WO2018062598A1 (ko) 2018-04-05
KR20180035071A (ko) 2018-04-05

Similar Documents

Publication Publication Date Title
US11068728B2 (en) Method and system for providing behavior of vehicle operator using virtuous cycle
US11335200B2 (en) Method and system for providing artificial intelligence analytic (AIA) services using operator fingerprints and cloud data
US9898932B2 (en) Unmanned vehicle movement path assignment and management
KR102104417B1 (ko) 데이터 분산 저장 방법 및 시스템
US20210392518A1 (en) Systems and method for management of computing nodes
US20180124213A1 (en) Vehicle Security System
JP2020198104A (ja) 管理サーバ、通信機器、管理者端末、通信方法
KR20180042865A (ko) 네트워크 상의 데이터 플랫폼들 사이에서 자산-관련된 정보를 공유하기 위한 컴퓨터 시스템들 및 방법들
CN110856108A (zh) 跟踪车辆中的智能装置
JP2023160902A (ja) プログラム、制御方法、および制御装置
JP2016218895A (ja) 同一人物検証システム、方法およびプログラム
US20170041429A1 (en) Caching nodes
US11391593B2 (en) Vehicle-mounted device, server, navigation system, recording medium storing map display program, and map display method
KR102006080B1 (ko) 블랙박스 영상 제공 방법 및 이를 수행하는 장치들
JP6759472B2 (ja) 学習済みモデルアップデートシステム、学習済みモデルアップデート方法、及びプログラム
WO2023100306A1 (ja) 情報処理端末装置の制御プログラムが格納された記録媒体、及び、移動体管理装置
US11223928B1 (en) Unsecured object detection and alert
US11243548B2 (en) Detecting autonomous vehicles causing increased vehicle queueing
WO2020095925A1 (ja) 情報処理装置、情報処理システム、及び、プログラム
KR101971476B1 (ko) 감시 시스템
WO2023069635A1 (en) Vehicle prognostics utilizing psuedonymous logging and directives
KR20210130518A (ko) 비행 장치 및 이를 이용한 상황 추론 방법
WO2021091405A1 (en) Device, system and method for positioning monitors in schools

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant