KR102104417B1 - 데이터 분산 저장 방법 및 시스템 - Google Patents
데이터 분산 저장 방법 및 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
- G07C5/0866—Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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
본 발명은 데이터 분산 저장 방법 및 시스템에 관한 것이다.
최근 이동 수단 내 감시 카메라의 사용이 증가하고 있다. 예를 들어, 통학 차량, 대중 교통에서의 감시 카메라 사용은 흔한 일이다. 이동 수단 내 보안 수단으로서의 감시 카메라 채택이 증가함에 따라, 감시 카메라를 통해 녹화된 비디오를 관리하는 문제가 대두되고 있다.
비디오는 이동 수단에 설치된 NVR(Network Video Recorder), DVR(Digital Video Recorder) 등의 저장 장치에 녹화될 수 있다. 이동 수단이 차고에 돌아오면, 비디오는 분리 가능한 하드 드라이브를 이용하여 수동으로 또는 무선 네트워크를 이용하여 원격으로 보관될 수 있다. 이러한 방식은 시간 맞춰 차고에 돌아오는 이동 수단에 적합하다.
반면에, 비디오가 저장 장치에 중복으로 녹화되기 전에 이동 수단이 이동하면서 차고에 돌아오지 못한다면, 저장 장치에 녹화된 기존의 비디오가 분실될 수 있다.
본 발명이 해결하고자 하는 과제는 이동 수단에 설치된 저장 장치의 용량을 초과하는 데이터에 대한 저장 기술을 제공하는 데 있다.
본 발명이 해결하고자 하는 과제를 해결하기 위한 일 실시예에 따른 데이터 분산 저장 방법은 클러스터를 관리하는 클러스터 매니저에 의하여, 차량 저장 장치를 인식하는 단계, 상기 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버에 전송하는 단계, 상기 인덱스 서버로부터, 상기 차량 인덱스 요청에 대응하는 제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은 일 실시예에 따른 클라이언트 장치에 대한 영상 데이터 공급 방법을 설명하기 위한 흐름도이다.
도 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: 외부 서버
110: 차량 저장 장치
D1, D2: 차고
C1, C2: 클러스터
200-1, 200-2: 클러스터 매니저
210: 클러스터 매니저의 센서
230: 클러스터 매니저의 통신 인터페이스
250: 클러스터 매니저의 프로세서
300-1: 노드
400: 인덱스 서버
410: 인덱스 서버의 통신 인터페이스
430: 인덱스 서버의 데이터베이스
450: 인덱스 서버의 프로세서
500: 외부 서버
Claims (20)
- 클러스터를 관리하는 클러스터 매니저에 의하여,
차량 저장 장치를 인식하는 단계;
상기 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 인덱스 서버에 전송하는 단계;
상기 인덱스 서버로부터, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하는 단계;
상기 클러스터로부터 하나의 노드를 선택하는 단계;
상기 차량 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계;
상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하는 단계;
상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 단계; 및
상기 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 단계;를 포함하고,
상기 제1 차량 인덱스는,
상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함하고,
상기 백업 요청은,
제2 최초 녹화 시점을 더 포함하고,
상기 제2 최초 녹화 시점은 상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일한, 데이터 분산 저장 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 노드에 의하여,
상기 제2 최초 녹화 시점 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는 차량 데이터 요청을 상기 차량 저장 장치에 전송하는 단계; 및
상기 차량 저장 장치로부터, 상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간에 녹화된 차량 데이터를 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법. - 제1항에 있어서,
상기 백업 응답은,
상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는,
데이터 분산 저장 방법. - 제5항에 있어서,
상기 제2 차량 인덱스는,
상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 방법. - 제1항에 있어서,
상기 클러스터를 구성하는 복수의 노드들 각각의 순위를 결정하는 단계;를 더 포함하고,
상기 하나의 노드를 선택하는 단계는,
선순위 노드를 선택하고, 상기 선순위 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하지 않은 경우에 후순위 노드를 선택하는 단계;인, 데이터 분산 저장 방법. - 제1항에 있어서,
상기 차량 저장 장치를 인식하는 단계는,
상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS(Global Positioning System) 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하는 단계;이고,
상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하는 단계; 및
상기 차량 데이터가 상기 중요 데이터인 경우에는, 상기 클러스터와 다른 외부 서버를 선택하고, 상기 백업 요청을 상기 외부 서버에 전송하고, 상기 외부 서버로부터 상기 백업 응답을 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법. - 제1항에 있어서,
상기 차량 저장 장치에 의하여,
차량 내부를 촬영하는 카메라로부터 획득한 차량 데이터를 녹화하는 단계;
이동 저장 장치를 인식하는 단계;
상기 이동 저장 장치로부터, 이동 데이터를 수신하는 단계; 및
상기 이동 저장 장치의 식별 정보에 대응하는 초기 이동 인덱스를 생성하는 단계;를 더 포함하고,
상기 클러스터 매니저에 의하여,
상기 이동 저장 장치의 식별 정보 및 상기 초기 이동 인덱스를 수신하는 단계;
상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하는 단계;
상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하는 단계;
상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 최종 이동 인덱스를 생성하는 단계; 및
상기 최종 이동 인덱스를 상기 인덱스 서버에 전송하는 단계;를 더 포함하는, 데이터 분산 저장 방법. - 제9항에 있어서,
상기 노드에 의하여,
상기 이동 저장 장치의 식별 정보를 포함하는 영상 데이터 요청을 상기 차량 저장 장치에 전송하는 단계; 및
상기 차량 저장 장치로부터, 상기 이동 데이터를 수신하는 단계;를 더 포함하는, 데이터 분산 저장 방법. - 제1항에 있어서,
상기 인덱스 서버에 의하여,
클라이언트 장치로부터, 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보가 포함된 영상 데이터 요청을 수신하는 단계;
상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는 차량 인덱스를 검색하는 단계;
상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하는 단계;
상기 영상 데이터 요청을 상기 노드에 전송하는 단계; 및
상기 노드에 의하여,
상기 차량 저장 장치의 식별 정보 및 상기 녹화 시간에 대응하는, 차량 데이터를, 상기 클라이언트 장치에 전송하는 단계;를 더 포함하는, 데이터 분산 저장 방법. - 차량 저장 장치를 인식하는 센서;
차량 인덱스 요청을 인덱스 서버에 전송하고, 상기 인덱스 서버로부터 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 수신하고, 백업 요청을 노드에 전송하고, 상기 노드로부터 상기 백업 요청에 대응하는 백업 응답을 수신하고, 제2 차량 인덱스를 상기 인덱스 서버에 전송하는 통신 인터페이스; 및
상기 차량 저장 장치가 인식되면 상기 차량 저장 장치의 식별 정보를 포함하는 상기 차량 인덱스 요청을 생성하고, 클러스터로부터 상기 노드를 선택하고, 상기 차량 저장 장치의 식별 정보를 포함하는 상기 백업 요청을 생성하고, 상기 제1 차량 인덱스 및 상기 백업 응답에 기초하여 제2 차량 인덱스를 생성하는 프로세서;를 포함하고,
상기 제1 차량 인덱스는,
상기 차량 저장 장치의 식별 정보에 대응하는 제1 녹화 시간 구간을 포함하고,
상기 백업 요청은,
상기 제1 녹화 시간 구간의 제1 최종 녹화 시점과 동일한 제2 최초 녹화 시점을 더 포함하는, 데이터 분산 저장 시스템. - 삭제
- 제12항에 있어서,
상기 백업 응답은,
상기 제2 최초 녹화 시점 및 제2 최종 녹화 시점을 포함하는 제2 녹화 시간 구간 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 시스템. - 제14항에 있어서,
상기 제2 차량 인덱스는,
상기 차량 저장 장치의 식별 정보, 상기 제2 녹화 시간 구간, 및 상기 노드의 식별 정보 중 적어도 하나를 포함하는, 데이터 분산 저장 시스템. - 제12항에 있어서,
상기 센서는,
상기 차량 저장 장치로부터, 상기 차량 저장 장치의 식별 정보, 상기 차량 저장 장치가 설치된 차량의 GPS 정보, 및 상기 차량 저장 장치에 녹화된 차량 데이터에 대한 영상 데이터 파라미터 중 적어도 하나를 수신하고,
상기 프로세서는,
상기 차량 저장 장치의 식별 정보, 상기 차량의 GPS 정보, 및 상기 영상 데이터 파라미터 중 적어도 하나에 기초하여, 상기 차량 데이터가 중요 데이터인지 여부를 판단하고,
상기 차량 데이터가 상기 중요 데이터인 경우에는 상기 클러스터와 다른 외부 서버를 선택하고, 상기 백업 요청을 상기 외부 서버에 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 외부 서버로부터 상기 백업 응답을 수신하는, 데이터 분산 저장 시스템. - 제12항에 있어서,
상기 통신 인터페이스는,
상기 차량 저장 장치로부터 이동 저장 장치의 식별 정보 및 이동 데이터에 관련된 초기 이동 인덱스를 수신하고,
상기 이동 저장 장치의 식별 정보를 포함하는 백업 요청을 상기 노드에 전송하고, 상기 노드로부터 상기 노드의 식별 정보가 포함된 백업 응답을 수신하고,
최종 이동 인덱스를 상기 인덱스 서버에 전송하고,
상기 프로세서는,
상기 초기 이동 인덱스 및 상기 백업 응답에 기초하여 상기 이동 저장 장치의 식별 정보에 대응하는 최종 이동 인덱스를 생성하는, 데이터 분산 저장 시스템. - 클러스터 매니저로부터 차량 저장 장치의 식별 정보를 포함하는 차량 인덱스 요청을 수신하고, 상기 차량 인덱스 요청에 대응하는 제1 차량 인덱스를 상기 클러스터 매니저에 전송하고, 상기 클러스터 매니저로부터 제2 차량 인덱스를 수신하는 통신 인터페이스;
상기 차량 저장 장치의 식별 정보에 대응하는 차량 인덱스를 저장하는 데이터베이스; 및
상기 차량 인덱스 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보에 대응하는 제1 차량 인덱스를 검색하고, 상기 제2 차량 인덱스에 기초하여 상기 데이터베이스에 저장된 상기 차량 저장 장치의 식별 정보에 대응하는 최근 차량 인덱스를 업데이트하는 프로세서;를 포함하고,
상기 통신 인터페이스는,
상기 클러스터 매니저로부터 이동 저장 장치의 이동 인덱스를 수신하고,
상기 데이터베이스는,
상기 이동 저장 장치의 식별 정보에 대응하는 이동 인덱스를 저장하고,
상기 프로세서는,
상기 데이터베이스에 상기 이동 인덱스를 업데이트하는, 데이터 분산 저장 시스템. - 삭제
- 제18항에 있어서,
상기 통신 인터페이스는,
클라이언트 장치로부터 영상 데이터 요청을 수신하고, 상기 영상 데이터 요청을 노드에 전송하고,
상기 영상 데이터 요청은 상기 차량 저장 장치의 식별 정보, 녹화 시간, 및 상기 클라이언트 장치의 식별 정보를 포함하고,
상기 프로세서는,
상기 영상 데이터 요청을 수신하면 상기 데이터베이스로부터 상기 차량 저장 장치의 식별 정보 및 녹화 시간에 대응하는 차량 인덱스를 검색하고, 상기 차량 인덱스에 포함된 상기 노드의 식별 정보를 추출하고, 상기 영상 데이터 요청을 상기 노드에 전송하도록 상기 통신 인터페이스를 제어하는, 데이터 분산 저장 시스템.
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)
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)
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)
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 |
-
2016
- 2016-09-28 KR KR1020160125100A patent/KR102104417B1/ko active IP Right Grant
- 2016-10-11 WO PCT/KR2016/011337 patent/WO2018062598A1/ko unknown
- 2016-10-11 EP EP16916392.0A patent/EP3522577B1/en active Active
- 2016-10-11 US US15/741,681 patent/US10379965B2/en active Active
Patent Citations (6)
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 |