KR20220082768A - Intelligent Video Big Data Analytics System in Cloud and Method thereof - Google Patents

Intelligent Video Big Data Analytics System in Cloud and Method thereof Download PDF

Info

Publication number
KR20220082768A
KR20220082768A KR1020210176051A KR20210176051A KR20220082768A KR 20220082768 A KR20220082768 A KR 20220082768A KR 1020210176051 A KR1020210176051 A KR 1020210176051A KR 20210176051 A KR20210176051 A KR 20210176051A KR 20220082768 A KR20220082768 A KR 20220082768A
Authority
KR
South Korea
Prior art keywords
big data
video
service
riva
video stream
Prior art date
Application number
KR1020210176051A
Other languages
Korean (ko)
Inventor
이영구
알람 아프탑
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Publication of KR20220082768A publication Critical patent/KR20220082768A/en

Links

Images

Classifications

    • 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
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • 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
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법이 개시된다.
이 시스템은 클라우드에서 지능적으로 비디오 빅데이터를 분석하는 시스템으로서, 외부의 실시간 비디오 수집 도구로부터 수집되는 실시간 비디오 스트림을 수집하는 실시간 비디오 스트림 획득부를 포함한다. 또한, 이 시스템은 영구적이고 분산된 빅데이터 저장소를 제공하며, 실시간 비디오 스트림의 원시 비디오 스트림을 저정하는 제1 빅데이터 저장소, 분산 환경에서 대규모의 구조화된 데이터를 관리하며, 실시간 비디오 스트림에서 처리된 메타 데이터와 실시간 비디오 스트림에 기반한 실시간 지능형 비디오 분석(RIVA) 중에 생성되는 중간 결과(IR)를 저장하는 제2 빅데이터 저장소, 그리고 실시간 비디오 스트림 획득부, 제1 빅데이터 저장소 및 제2 빅데이터 저장소의 추상화로서, 웹 서비스를 통한 사용자의 데이터 액세스를 제공하는 비즈니스 로직을 포함한다. 실시간 비디오 스트림 획득부는 RIVA 중에 생성되는 중간 결과를 읽어서 재컴파일을 피하는 재사용을 위해 제2 빅데이터 저장소에 저장하는 중간 결과 관리기를 포함한다.
An intelligent video big data analysis system in a cloud and a method thereof are disclosed.
This system intelligently analyzes video big data in the cloud, and includes a real-time video stream acquisition unit that collects a real-time video stream collected from an external real-time video collection tool. In addition, the system provides a persistent and decentralized big data repository, a first big data repository for storing raw video streams of real-time video streams, managing large-scale structured data in a distributed environment, and processing data from real-time video streams. A second big data repository for storing intermediate results (IR) generated during real-time intelligent video analysis (RIVA) based on metadata and real-time video streams, and a real-time video stream acquisition unit, a first big data repository, and a second big data repository It contains the business logic that provides users' data access through web services. The real-time video stream acquisition unit includes an intermediate result manager that reads intermediate results generated during RIVA and stores them in a second big data storage for reuse avoiding recompilation.

Description

클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법 {Intelligent Video Big Data Analytics System in Cloud and Method thereof}Intelligent Video Big Data Analytics System in Cloud and Method thereof

본 발명은 클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법에 관한 것이다.The present invention relates to an intelligent video big data analysis system in the cloud and a method therefor.

비디오는 정기적으로 녹화되고 클라우드에 업로드된다. 영상 생성에 적극적으로 기여하고 있는 소스로는 CCTV, 스마트폰, 드론 등이 있으며, 이는 영상 관리 시스템에서빅데이터 혁명을 일으켰다.Videos are regularly recorded and uploaded to the cloud. Sources that are actively contributing to video generation include CCTV, smartphones, and drones, which have revolutionized big data in video management systems.

대규모의 복잡한 비디오 데이터를 처리하는 것은 기존의 데이터 분석 접근 방식을 사용할 합당한 이유가 없다. 비디오 빅데이터 분석은 비디오관리 처리 마이닝 및 조작에 대한 문제를 제기한다. 따라서, 대규모의 비정형 영상 데이터를 관리하고 분석하기 위해서는 보다 포괄적이고 정교한 솔루션이 필요하다. 또한, 비디오 데이터의 양이 많아 가능한 의사 결정을 위해 저장과 마이닝할 수 있는 유연한 솔루션이 필요하다.Processing large volumes of complex video data makes no good reason to use traditional data analysis approaches. Video big data analysis raises challenges for video management processing mining and manipulation. Therefore, a more comprehensive and sophisticated solution is needed to manage and analyze large-scale atypical image data. In addition, the volume of video data requires a flexible solution that can be stored and mined for possible decision-making.

그런데, 빅데이터 분석 및 클라우드 컴퓨팅 기술의 부상으로 대규모 지능형 비디오 분석(Intelligent Video Analytics, IVA)가 현실이 되었다.However, with the rise of big data analysis and cloud computing technology, large-scale intelligent video analytics (IVA) has become a reality.

하둡(Hadoop) 또는 스파크(Spark) 에코 시스템과 같은 빅데이터 기술은 확장 가능하고 안정적인 방식으로 대규모 데이터 세트에서 가치있는 인사이트를 처리 분석 및 추출하기 위해 분산 컴퓨팅을 위해 설계된 소프트웨어 플랫폼이다. 또한, 클라우드 컴퓨팅은 최소한의 관리 노력이나 서비스 제공자 상호작용으로 신속하게 프로비저닝 및 릴리스할 수 있는 모델이다. Big data technologies, such as the Hadoop or Spark ecosystem, are software platforms designed for distributed computing to process, analyze, and extract valuable insights from large data sets in a scalable and reliable way. Cloud computing is also a model that allows for rapid provisioning and release with minimal administrative effort or service provider interaction.

최근, 비디오 빅데이터 분석을 위해 클라우드에 분산 컴퓨팅 기술을 배포하는것이 학계와 산업계의 주목을 받고 있다. 그런데, 이러한 연구에서는 비디오 분석 가치 추출에 더 중점을 두고 클라우드에서 IVA의 수명 주기 전반에 걸쳐 가치, 볼륨, 속도 및 다양성 관리 등의 데이터 큐레이션 문제를 간과하고 있다. 마찬가지로, 클라우드에서 IVA를 위한 빅데이터 기술의 이해, 구성 및 운영은 특히 교육 환경에서 지루하고 시간 소모적이다. 또한, 클라우드의 IVA 수명 주기가 IVA를 중심으로 접근하고 있으며, 기존 솔루션은 IVA 알고리즘을 배포하는 동안 상위 수준 및 하위 수준 기능 관리와 같은 요소를 고려하지 않고 있다. Recently, the deployment of distributed computing technology in the cloud for video big data analysis is attracting attention from academia and industry. However, these studies focus more on video analytics value extraction and overlook data curation issues such as managing value, volume, speed and diversity throughout the lifecycle of an IVA in the cloud. Likewise, understanding, configuring, and operating big data technologies for IVA in the cloud is tedious and time consuming, especially in educational settings. In addition, the IVA lifecycle in the cloud is approaching IVA centered, and existing solutions do not consider factors such as high-level and low-level function management while deploying IVA algorithms.

본 발명이 해결하고자 하는 과제는 IVA 수명 주기 동안 IR을 효율적으로 관리할 수 있는 클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법을 제공하는 것이다. An object of the present invention is to provide an intelligent video big data analysis system and method in the cloud that can efficiently manage IR during the IVA life cycle.

상기한 바와 같은 본 발명의 과제를 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and for realizing the characteristic effects of the present invention to be described later is as follows.

본 발명의 일 측면에 따르면, 지능형 비디오 빅데이터 분석 시스템이 제공되며, 이 시스템은,According to one aspect of the present invention, there is provided an intelligent video big data analysis system, the system comprising:

클라우드에서 지능적으로 비디오 빅데이터를 분석하는 시스템으로서, 외부의 실시간 비디오 수집 도구로부터 수집되는 실시간 비디오 스트림을 수집하는 실시간 비디오 스트림 획득부, 영구적이고 분산된 빅데이터 저장소를 제공하며, 상기 실시간 비디오 스트림의 원시 비디오 스트림을 저정하는 제1 빅데이터 저장소, 분산 환경에서 대규모의 구조화된 데이터를 관리하며, 상기 실시간 비디오 스트림에서 처리된 메타 데이터와 상기 실시간 비디오 스트림에 기반한 실시간 지능형 비디오 분석(Real-time Intelligent Video Analytics, RIVA) 중에 생성되는 중간 결과(Intermediate Result, IR)를 저장하는 제2 빅데이터 저장소, 그리고 상기 실시간 비디오 스트림 획득부, 상기 제1 빅데이터 저장소 및 상기 제2 빅데이터 저장소의 추상화로서, 웹 서비스를 통한 사용자의 데이터 액세스를 제공하는 비즈니스 로직을 포함하며, 상기 실시간 비디오 스트림 획득부는 상기 RIVA 중에 생성되는 중간 결과를 읽어서 재컴파일을 피하는 재사용을 위해 상기 제2 빅데이터 저장소에 저장하는 중간 결과 관리기를 포함한다.A system for intelligently analyzing video big data in the cloud, providing a real-time video stream acquisition unit that collects a real-time video stream collected from an external real-time video collection tool, a permanent and distributed big data storage, and The first big data storage for storing raw video streams, managing large-scale structured data in a distributed environment, and real-time intelligent video analysis (Real-time Intelligent Video) based on metadata processed in the real-time video stream and the real-time video stream Analytics, RIVA) as an abstraction of a second big data storage for storing intermediate results (Intermediate Result, IR), and the real-time video stream acquisition unit, the first big data storage, and the second big data storage, the web Intermediate result manager that includes business logic for providing data access of users through service, wherein the real-time video stream obtaining unit reads the intermediate result generated during the RIVA and stores it in the second big data storage for reuse to avoid recompilation includes

여기서, 상기 실시간 비디오 스트림 획득부는, 분산 메시징 시스템을 사용하여 생산자의 클러스터에서 미니 배치 형식으로 상기 실시간 비디오 스트림을 수집하고 사용자 클러스터로 라우팅하는 브로커 클라이언트 서비스 모듈, 클라이언트 어플리케이션 프로그래밍 인터페이스로서, 대규모 비디오 스트림을 처리하기 위해 상기 생산자 클러스터에 구성되는 비디오 스트림 획득 서비스 모듈, 클라이언트 어플리케이션 프로그래밍 인터페이스로서, 상기 비디오 스트림 획득 서비스 모듈에서 레코드를 수신하고 수신된 레코드를 처리하여 미니 배치를 구성하는 비디오 스트림 프로듀서 모듈, 그리고 상기 RIVA 중에 발생되는 이상에 대해 알림을 구성하는 라이프롱(lifelong) 비디오 스트림 모니터를 포함한다.Here, the real-time video stream acquisition unit is a broker client service module, a client application programming interface that collects the real-time video stream in a mini-batch format from a cluster of producers using a distributed messaging system and routes it to a user cluster, and provides a large-scale video stream. A video stream acquisition service module configured in the producer cluster for processing, a client application programming interface, wherein the video stream producer module receives records from the video stream acquisition service module and processes the received records to form a mini-batch; and Includes a lifelong video stream monitor that configures notifications for anomalies that occur during RIVA.

또한, 상기 브로커 클라이언트 서비스 모듈은, 새로운 RIVA 서비스 생성 시 브로커 클러스터에서 동적으로 새로운 토픽을 생성하는 토픽 관리기, 그리고 비디오 스트림 데이터 소스의 비디오 스트림과 소비자 그룹의 스트림 소비에 따라 토픽의 파티션 개수를 자동으로 조정하는 파티션 관리기를 포함한다.In addition, the broker client service module includes a topic manager that dynamically creates a new topic in a broker cluster when a new RIVA service is created, and automatically sets the number of partitions of topics according to the consumption of the video stream of the video stream data source and the stream of the consumer group. Includes a coordinating partition manager.

또한, 상기 토픽 관리기는 상기 새로운 RIVA 서비스가 생성되는 경우 상기 브로커 클러스터 내에, 상기 RIVA 서비스를 나타내는 RIVA_ID 토픽, 중간 결과를 나타내는 RIVA_IR_ID 토픽 및 이상 발생을 나타내는 RIVA_A_ID 토픽을 구성한다.In addition, when the new RIVA service is created, the topic manager configures a RIVA_ID topic indicating the RIVA service, a RIVA_IR_ID topic indicating an intermediate result, and an RIVA_A_ID topic indicating an abnormal occurrence in the broker cluster.

또한, 상기 비디오 스트림 획득 서비스 모듈은, 장치 독립적인 비디오 스트림 소스를 위한 인터페이스를 제공하는 비디오 스트림 획득 어댑터, 비디오 스트림을 디코딩하고 프레임을 감지한 다음 메타 데이터 추출을 수행하는 비디오 스트림 이벤트 프로듀서, 추출된 메타 데이터에 대해 프레임 크기 조정을 수행하는 프레임 전처리기, 그리고 상기 메타 데이터에 대해 비디오 스트림 소스와 통신하기 위한 JSON(JavaScript Object Notation) 개체를 정의하는 레코드 구성기를 포함한다.In addition, the video stream acquisition service module includes: a video stream acquisition adapter that provides an interface for a device-independent video stream source, a video stream event producer that decodes the video stream, detects frames, and then performs metadata extraction; It includes a frame preprocessor that performs frame resizing on metadata, and a record constructor that defines a JavaScript Object Notation (JSON) object for communicating with a video stream source on the metadata.

또한, 상기 비디오 스트림 프로듀서 모듈에서의 레코드는 기본 메시지 형식을 가지며, 토픽 이름(Topic Name), 파티션 번호(Partition Number), 키(Key) 및 값(Value)의 필드를 포함한다.In addition, the record in the video stream producer module has a basic message format, and includes fields of a topic name, a partition number, a key, and a value.

또한, 상기 중간 결과 관리기는 상기 브로커 클러스터 내의 RIVA_IR_ID 토픽과 중간 결과를 송수신하여 분산된 환경에서의 관리를 수행한다.In addition, the intermediate result manager performs management in a distributed environment by transmitting and receiving intermediate results to and from the RIVA_IR_ID topic in the broker cluster.

또한, 상기 라이프롱 비디오 스트림 모니터는 상기 RIVA 중에 이상이 발생되는 경우 상기 브로커 클러스터 내의 RIVA_A_ID로 전달한다.In addition, when an abnormality occurs during the RIVA, the lifelong video stream monitor transmits it to the RIVA_A_ID in the broker cluster.

또한, 상기 제1 빅데이터 저장소는, 서비스를 등록한 사용자에 대응하는 사용자 공간, 그리고 상기 사용자 공간과 상기 제1 빅데이터 저장소 내의 데이터를 관리하기 위한 액세스 제어기를 포함하며, 상기 액세스 제어기는, 상기 비즈니스 로직에 따라 파일 작업 및 관한 제어를 관리하는 파일 시스템 핸들러, 그리고 실시간 및 오프라인 읽기-쓰기 작업을 수행하는 능동 데이터 액세스기를 포함한다.In addition, the first big data storage includes a user space corresponding to a user who has registered a service, and an access controller for managing the user space and data in the first big data storage, wherein the access controller includes: It includes a file system handler that manages file operations and controls according to logic, and an active data accessor that performs real-time and offline read-write operations.

또한, 상기 제2 빅데이터 저장소는, 상기 지능형 비디오 빅데이터 분석 시스템에서 사용되는 데이터를 저장하는 복수 유형의 저장소, 그리고 상기 비즈니스 로직에 따라 상기 복수 유형의 저장소에 대한에 대한 읽기-쓰기 액세스를 제공하는 액세스 제어기를 포함한다.In addition, the second big data storage provides a plurality of types of storage for storing data used in the intelligent video big data analysis system, and read-write access to the plurality of types of storage according to the business logic. including an access controller.

또한, 상기 복수 유형의 저장소는, 사용자에게 역할 기반 액세스를 제공하며, 사용자 로그 및 역할 정보가 사용자 카탈로그를 통해 유지되는 사용자 프로파일 및 로그, RIVA 서비스에 가입할 수 있는 비디오 스트림 소스와 배치 IVA(Batch IVA, BIVA) 서비스에 가입할 수 있는 비디오 데이터 세트를 관리하는 비디오 데이터 소스 메타 스토어, IVA 알고리즘과 서비스를 관리하는 알고리즘 및 서비스 메타 스토어, 상기 중간 결과 관리기에 의해 전달되는 중간 결과를 관리하는 중간 결과 미들웨어, 그리고 RIVA 서비스에 대한 비디오 스트림 소스를 구독하는 사용자의 구독 정보를 관리하는 구독 메타 스토어를 포함한다.Additionally, the multiple types of repositories provide role-based access to users, user profiles and logs where user logs and role information are maintained through a user catalog, video stream sources that can subscribe to RIVA services, and batch IVA (Batch). IVA, BIVA) video data source metastore managing video data sets that can be subscribed to services, algorithm and service metastore managing IVA algorithms and services, intermediate results managing intermediate results delivered by the intermediate result manager It includes middleware, and a subscription meta store that manages subscription information of users who subscribe to video stream sources for RIVA services.

또한, 상기 액세스 제어기는, 클러스터 구성, 연결 정보, 드라이버 및 보안 프로토콜 파라미터와 같은 구성 파라미터를 유지 관리하는 연결 구성기, 상기 제2 빅데이터 저장소의 스키마 구조를 유지하는 스키마 핸들러, 상기 제2 빅데이터 저장소에서 지속되는 데이터에 대한 생성, 읽기, 업데이트 및 삭제 작업을 수행하는 CRUD 오퍼레이터(Create, Read, Update, Delete Operator), 그리고 대량의 데이터를 로드하고 분산 테이블에 동일하게 유지하기 위한 읽기-쓰기 작동을 제공하는 수동 액세스기를 포함한다.In addition, the access controller includes a connection configurator that maintains configuration parameters such as cluster configuration, connection information, drivers and security protocol parameters, a schema handler that maintains a schema structure of the second big data storage, and the second big data CRUD operators (Create, Read, Update, Delete operators) to perform create, read, update, and delete operations on persisted data in the repository, and read-write operations to load large amounts of data and keep it the same in distributed tables. It includes a manual accessor that provides

또한, 상기 비즈니스 로직은, 새로운 사용자 계정 생성, 액세스 역할 할당 및 세션 관리와 같은 모든 사용자 관련 작업을 캡슐화하는 사용자 관리기, 사용자가 상기 지능형 비디오 빅데이터 분석 시스템의 배포 클라우드에서 데이터를 관리할 수 있게 하는 데이터 소스 관리기, 새로운 IVA 알고리즘 및 서비스의 관리, 개발 및 지원을 수행하는 IVA 알고리즘 및 서비스 관리기, 개발자가 의사 결정을 위한 중간 결과를 얻을 수 있게 하는 온톨로지 데이터 관리기, 그리고 시스템 관리자가 상기 지능형 비디오 빅데이터 분석 시스템의 상태와 기능을 모니터링할 수 있게 하는 클러스터 관리기를 포함한다.In addition, the business logic is a user manager that encapsulates all user-related tasks such as creating new user accounts, assigning access roles and managing sessions, enabling users to manage data in the distribution cloud of the intelligent video big data analytics system. A data source manager, an IVA algorithm and service manager that performs management, development and support of new IVA algorithms and services, an ontology data manager that enables developers to obtain intermediate results for decision-making, and an intelligent video big data manager that enables system administrators to Includes a cluster manager that allows you to monitor the status and functionality of the analytics system.

본 발명의 다른 측면에 따르면, 지능형 비디오 빅데이터 분석 방법이 제공되며, 이 방법은,According to another aspect of the present invention, there is provided an intelligent video big data analysis method, the method comprising:

비디오 빅데이터 분석 시스템이 클라우드에서 지능적으로 비디오 빅데이터를 분석하는 방법으로서, 스피드 계층 실행 시나리오에 따라, 외부 비디오 스트림 소스에 대한 인터페이스를 제공하는 제1 클러스터를 통해 비디오 스트림을 획득하는 단계, 획득되는 비디오 스트림을 브로커 클러스터인 제2 클러스터의 RIVA_ID 토픽에 로드하는 단계, 그리고 실시간 지능형 비디오 분석(RIVA) 서비스를 사용하면서 실시간으로 비디오 스트림을 처리하는 제3 클러스터가 상기 제2 클러스터의 RIVA_ID 비디오 스트림에 대해 RIVA 서비스를 제공하는 단계를 포함하며, 상기 RIVA 서비스를 제공하는 단계에서, 상기 RIVA 서비스 중에 생성되는 중간 결과는 상기 제2 클러스터의 RIVA_IR_ID 토픽으로 전달되고, 중간 결과를 저장 관리하는 제4 클러스터가 상기 제2 클러스터의 RIVA_IR_ID 토픽에서 중간 결과를 지속적으로 읽어서 저장 관리한다.A method for a video big data analysis system to intelligently analyze video big data in a cloud, comprising: acquiring a video stream through a first cluster that provides an interface to an external video stream source according to a speed layer execution scenario; loading the video stream into a RIVA_ID topic of a second cluster, which is a broker cluster, and a third cluster that processes the video stream in real time while using a real-time intelligent video analytics (RIVA) service for the RIVA_ID video stream of the second cluster providing an RIVA service, wherein in the step of providing the RIVA service, an intermediate result generated during the RIVA service is transferred to the RIVA_IR_ID topic of the second cluster, and a fourth cluster that stores and manages the intermediate result is the Intermediate results are continuously read from the RIVA_IR_ID topic of the second cluster, and stored and managed.

여기서, 상기 제2 클러스터의 RIVA_ID 토픽에 로드하는 단계 후에, 비디오 스트림을 저장하는 제5 클러스터가 상기 제2 클러스터의 RIVA_ID 토픽에서 비디오 스트림을 읽는 단계, 상기 비디오 스트림에서 메타 데이터를 처리하는 단계, 그리고 상기 비디오 스트림을 제1 빅데이터 저장소에 저장하고, 상기 메타 데이터를 제2 빅데이터 저장소에 각각 저장하는 단계를 더 포함한다.Here, after loading into the RIVA_ID topic of the second cluster, the fifth cluster storing the video stream reads the video stream from the RIVA_ID topic of the second cluster, processing metadata in the video stream, and The method further includes storing the video stream in a first big data storage and storing the metadata in a second big data storage, respectively.

또한, 상기 RIVA 서비스를 제공하는 단계에서, 상기 RIVA 서비스 중에 이상 현상이 발생되는 경우, 발생된 이상 현상을 상기 제2 클러스터의 RIVA_A_ID 토픽으로 전달하고, 이상 발생을 통지하는 제6 클러스터가 상기 제2 클러스터의 RIVA_A_ID 토픽에서 이상 현상을 읽어서 상기 제2 빅데이터 저장소에 저장하고 웹 서비스를 통해 상기 비디오 스트림 소스의 소유자에게 실시간으로 전달한다.In addition, in the step of providing the RIVA service, when an abnormality occurs during the RIVA service, the generated abnormality is transferred to the RIVA_A_ID topic of the second cluster, and a sixth cluster notifying the occurrence of the abnormality occurs in the second cluster Anomalies are read from the RIVA_A_ID topic of the cluster, stored in the second big data storage, and delivered in real time to the owner of the video stream source through a web service.

본 발명의 또 다른 측면에 따르면, 지능형 비디오 빅데이터 분석 방법이 제공되며, 이 방법은, According to another aspect of the present invention, there is provided an intelligent video big data analysis method, the method comprising:

비디오 빅데이터 분석 시스템이 클라우드에서 지능적으로 비디오 빅데이터를 분석하는 방법으로서, 배치(batch) 계층 실행 시나리오에 따라, 배치 비디오 획득 서비스를 제공하는 제1 클러스터를 통해 외부 배치 데이터를 획득하는 단계, 획득되는 배치 데이터를 처리하여 배치 비디오 데이터와 메타 데이터를 추출하는 단계, 상기 배치 비디오 데이터를 제1 빅데이터 저장소에 저장하고, 상기 메타 데이터를 제2 빅데이터 저장소에 저장하는 단계, 그리고 배치 지능형 비디오 분석(Batch Intelligent Video Analytics, BIVA) 서비스를 사용하는 제2 클러스터가 상기 제1 빅데이터 저장소에 저장된 배치 비디오 데이터에 대해 BIVA 서비스를 제공하는 단계를 포함하며, 상기 BIVA 서비스를 제공하는 단계에서, 상기 BIVA 서비스 중에 생성되는 중간 결과는 상기 제2 빅데이터 저장소에 지속적으로 저장되고 다시 상기 제2 빅데이터 저장소로부터 읽혀져서 상기 BIVA 서비스 제공시 사용된다.A method for a video big data analysis system to intelligently analyze video big data in a cloud, comprising: acquiring external batch data through a first cluster that provides a batch video acquisition service according to a batch layer execution scenario; acquiring processing the batch data to extract batch video data and metadata; storing the batch video data in a first big data repository; storing the metadata in a second big data repository; and batch intelligent video analysis (Batch Intelligent Video Analytics, BIVA) comprising the step of providing a BIVA service for the batch video data stored in the first big data storage by a second cluster using the service, in the step of providing the BIVA service, the BIVA The intermediate result generated during the service is continuously stored in the second big data storage and read from the second big data storage again to be used when providing the BIVA service.

여기서, 상기 BIVA 서비스를 제공하는 단계 전에, 모델 저장 서비스를 제공하는 제3 클러스터를 통해 외부 배치 모델 데이터를 획득하는 단계, 획득되는 배치 모델 데이터를 처리하여 모델 데이터와 파일 메타 데이터를 추출하는 단계, 그리고 상기 모델 데이터를 상기 제1 빅데이터 저장소에 저장하고, 상기 파일 메타 데이터를 상기 제2 빅데이터 저장소에 저장하는 단계를 더 포함하고, 상기 IVA 서비스를 제공하는 단계에서, 상기 제2 클러스터가 상기 제1 빅데이터 저장소에 저장된 배치 비디오 데이터와 모델 데이터에 대해 상기 BIVA 서비스를 제공한다.Here, before the step of providing the BIVA service, obtaining external batch model data through a third cluster providing a model storage service, processing the obtained batch model data to extract model data and file metadata; and storing the model data in the first big data storage and storing the file metadata in the second big data storage, wherein in the step of providing the IVA service, the second cluster The BIVA service is provided for batch video data and model data stored in the first big data storage.

또한, 상기 BIVA 서비스를 제공하는 단계에서, 상기 BIVA 서비스 중에 이상 현상이 발생되는 경우, 발생된 이상 현상을 상기 제2 빅데이터 저장소에 전달하여 저장한다.In addition, in the step of providing the BIVA service, when an abnormal phenomenon occurs during the BIVA service, the generated abnormal phenomenon is transferred to the second big data storage and stored.

본 발명에 따르면, IVA 수명 주기 동안 IR을 효율적으로 관리할 수 있다.According to the present invention, IR can be efficiently managed during the IVA life cycle.

또한, IVA 알고리즘을 쉽게 파이프라인하여 도메인별 IVA 서비스를 생성할 수 있다.In addition, IVA algorithms can be easily pipelined to create domain-specific IVA services.

또한, 데이터 소스 독립적인 시스템으로의 구현으로 더 확장 가능하고, IoT와 호환된다.In addition, the implementation as a data source independent system is more scalable and compatible with IoT.

또한, 도메인 전문가가 IVA 서비스에 정의한 규칙에 따라 비디오 스트림을 모니터링하는 LVSM을 통해 촉진된다.It is also facilitated through LVSM, which monitors video streams according to rules defined by domain experts in the IVA service.

또한, 분산 빅데이터 지속성은 방대한 양의 원시 비디오 데이터 모델 구조화된 데이터 IR을 지원하기 위해 제공되며 이를 통해 시스템은 데이터 기반 지식 생성 기술 및 예측 분석 시각화를 지원할 수 있다.In addition, distributed big data persistence is provided to support large amounts of raw video data model structured data IR, which enables the system to support data-driven knowledge generation techniques and predictive analytics visualization.

도 1은 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 시스템의 개략적인 블록도이다.
도 2는 도 1에 도시된 RVSAS의 구체적인 구성을 도시한 도면이다.
도 3은 도 2에 도시된 VSAS 및 VSP의 작동 예를 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 비디오 스트림 획득과 동기화의 흐름을 도시한 도면이다.
도 5는 도 1에 도시된 ISBDS의 구체적인 구성을 도시한 도면이다.
도 6은 도 1에 도시된 DPBDS의 구체적인 구성을 도시한 도면이다.
도 7은 도 6에 도시된 DPBDS의 사용자 공간의 계층 구조를 도시한 도면이다.
도 8은 도 1에 도시된 비즈니스 로직의 구체적인 구성을 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 사용자 역할 및 사용 사례를 도시한 도면이다.
도 10은 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 방법의 개략적인 흐름도이다.
도 11은 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 시스템의 클러스터 예를 도시한 도면이다.
도 12는 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 시스템의 VSAS 및 VSP의 성능 테스트 결과를 도시한 도면이다.
1 is a schematic block diagram of an intelligent video big data analysis system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a detailed configuration of the RVSAS shown in FIG. 1 .
FIG. 3 is a diagram illustrating an operation example of the VSAS and VSP shown in FIG. 2 .
4 is a diagram illustrating a flow of video stream acquisition and synchronization according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a detailed configuration of the ISBDS shown in FIG. 1 .
FIG. 6 is a diagram illustrating a detailed configuration of the DPBDS shown in FIG. 1 .
FIG. 7 is a diagram illustrating a hierarchical structure of a user space of the DPBDS shown in FIG. 6 .
FIG. 8 is a diagram illustrating a detailed configuration of the business logic shown in FIG. 1 .
9 is a diagram illustrating user roles and use cases according to an embodiment of the present invention.
10 is a schematic flowchart of an intelligent video big data analysis method according to an embodiment of the present invention.
11 is a diagram illustrating a cluster example of an intelligent video big data analysis system according to an embodiment of the present invention.
12 is a diagram illustrating performance test results of VSAS and VSP of an intelligent video big data analysis system according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as “…unit”, “…group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software. have.

명세서 전체에서, "및/또는"이라는 용어는 관련된 객체를 기술하기 위한 연관 관계만을 설명하고 세 가지 관계가 존재할 수 있음을 나타낸다는 것이 이해되어야 한다. 예를 들어, A 및/또는 B는 A만 존재하고, A와 B가 모두 존재하며, B만 존재하는 세 가지 경우를 나타낼 수 있다. 또한, 명세서 전체에서 문자 "/"는 일반적으로 연관된 객체 사이의 "또는" 관계를 지시한다.It should be understood that throughout the specification, the term “and/or” describes only an association relationship for describing a related object and indicates that three relationships may exist. For example, A and/or B may represent three cases in which only A exists, both A and B exist, and only B exists. Also, throughout the specification, the character "/" generally indicates an "or" relationship between related objects.

본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령(instructions)을 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다. The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, and the like, and a program to be executed in combination with the hardware is stored in a designated place. The hardware has the configuration and capability to implement the method of the present invention. The program includes instructions for implementing the method of operation of the present invention described with reference to the drawings, and is combined with hardware such as a processor and a memory device to execute the present invention.

이하, 도면을 참조하여 본 발명의 실시예에 따른 클라우드에서의 지능형 비디오 빅데이터 분석을 위한 시스템에 대해 설명한다.Hereinafter, a system for intelligent video big data analysis in the cloud according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석을 위한 시스템의 개략적인 블록도이다.1 is a schematic block diagram of a system for intelligent video big data analysis according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석을 위한 시스템(10)은 실시간 비디오 스트림 획득 및 동기부(Real-Time Video Stream Acquisition and Synchronization, RVSAS)(100), 즉시 구조화된 빅데이터 저장소(Immediate Structured Big Data Store, ISBDS)(200), 분산 지속 빅데이터 저장소(Distributed Persistent Big Data Storage, DPBDS)(300), 비즈니스 로직(Business Logic)(400) 및 웹 서비스(Web Service)(500)를 포함한다.1, the system 10 for intelligent video big data analysis according to an embodiment of the present invention includes a Real-Time Video Stream Acquisition and Synchronization (RVSAS) 100, Immediate Structured Big Data Store (ISBDS) (200), Distributed Persistent Big Data Storage (DPBDS) (300), Business Logic (400) and Web Services ( Web Service) (500).

RVSAS(100)는 외부, 예를 들어 외부의 실시간 비디오 수집 도구로부터 수집되는 실시간 비디오 스트림을 수집하여 처리한다.The RVSAS 100 collects and processes a real-time video stream collected from an external, for example, an external real-time video collection tool.

RVSAS(100)는, 예를 들어 분산 메시징 시스템(Distributed Messaging System)(101)인 아파치 카프카(Apache Kafka)를 활용하여 생산자의 클러스터에서 미니 배치 형식으로 비디오 스트림을 수집하고, 카프카 브로커(Kafka Broker)에서 버퍼링한 다음 미니 배치를 사용자 클러스터로 라우팅한다. RVSAS 100, for example, utilizes Apache Kafka, a Distributed Messaging System 101, to ingest video streams in a mini-batch format from a cluster of producers, and a Kafka Broker , and then routes the mini-batch to the user cluster.

ISBDS(200)는 분산 환경에서 대규모의 구조화된 데이터를 관리한다. 데이터 집약적인 작업과 다른 계층의 요구사항에 따라 아파치 HBase라는 분산 NoSQL 빅데이터 저장소를 지원한다. The ISBDS 200 manages large-scale structured data in a distributed environment. It supports a distributed NoSQL big data store called Apache HBase according to data-intensive tasks and the requirements of different layers.

DPBDS(300)는 HDFS 위에 구축되며, 영구적이고 분산된 빅데이터 저장소를 제공한다. The DPBDS 300 is built on top of HDFS and provides a persistent and distributed big data storage.

비즈니스 로직(400)은 RVSAS(100), ISBDS(200) 및 DPBDS(300)에 대한 높은 수준의 추상화이며, 본 발명의 시스템(10)의 설계 철학에 따라 데이터 액세스를 사용자가 정의하기 위해 제공된다.Business logic 400 is a high-level abstraction for RVSAS 100 , ISBDS 200 , and DPBDS 300 , and is provided to customize data access according to the design philosophy of system 10 of the present invention. .

웹 서비스(500)는 본 발명의 실시예에 따른 시스템(10) 프레임워크의 기능을 웹을 통해 제공하기 위해 최고의 기능을 단순한 통합 역할 기반 웹 서비스에 통합한다. 이러한 웹 서비스(500)는 전술한 비즈니스 로직(400)을 기반으로 구축된다.The web service 500 integrates the best functions into a simple integrated role-based web service in order to provide the functions of the framework of the system 10 according to an embodiment of the present invention through the web. This web service 500 is built based on the business logic 400 described above.

도 2는 도 1에 도시된 RVSAS(100)의 구체적인 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating a detailed configuration of the RVSAS 100 shown in FIG. 1 .

도 2를 참조하면, RVSAS(100)는 브로커 클라이언트 서비스(Broker Client Services, BCS)(110), 비디오 스트림 획득 서비스(Video Stream Acquisition Service, VSAS)(120), 비디오 스트림 프로듀서(Video Stream Producer, VSP)(130), 중간 결과 관리기(Intermediate Result-Manager, IR-Manager)(140), 및 라이프롱 비디오 스트림 모니터(Lifelong Video Stream Monitor, LVSM)(150)를 포함한다.2, the RVSAS 100 is a broker client service (Broker Client Services, BCS) 110, a video stream acquisition service (Video Stream Acquisition Service, VSAS) 120, a video stream producer (Video Stream Producer, VSP) ) 130 , an Intermediate Result-Manager (IR-Manager) 140 , and a Lifelong Video Stream Monitor (LVSM) 150 .

BCS(110)는 아파치 카프카(Apache Kafka)를 활용하여 생산자의 클러스터에서 미니 배치 형식으로 비디오 스트림을 수집하고, 카프카 브로커(Kafka Broker)에서 버퍼링한 다음 미니 배치를 사용자 클러스터로 라우팅한다. BCS(110)는 대규모 실시간 비디오 스트림 관리를 위한 카프카 브로커를 관리하기 위해 제안된 프레임워크의 비즈니스 로직(400)에 따라 비디오 스트림 수집을 수행한다. BCS 110 utilizes Apache Kafka to ingest video streams in mini-batch format from a producer's cluster, buffers it in a Kafka Broker, and routes the mini-batch to user clusters. The BCS 110 performs video stream collection according to the business logic 400 of the framework proposed to manage a Kafka broker for large-scale real-time video stream management.

이러한 BCS(110)는 토픽 관리기(Topic Manager)(111), 파티션 관리기(Partition Manager)(112) 등을 포함한다. The BCS 110 includes a topic manager (Topic Manager) 111, a partition manager (Partition Manager) 112, and the like.

토픽 관리기(111)는 새로운 RIVA(Real-time IVA) 서비스 생성시 카프카 브로커 클러스터에서 동적으로 새로운 카프카 토픽을 생성하는 데 사용된다. 새로운 RIVA 서비스가 생성되면 카프카 브로커 클러스터에서 RIVA_ID, RIVA_IR_ID, RIVA_A_ID라는 이름 규칙을 사용하여 세 가지 유형의 카프카 토픽이 자동으로 생성된다. 여기서, ID는 서비스의 고유 식별자이다. 이러한 항목은 실제 비디오 스트림 IR 및 IVA 서비스에서 감지한 이상 현상을 감지하는 데 사용된다.The topic manager 111 is used to dynamically create a new Kafka topic in a Kafka broker cluster when a new RIVA (Real-time IVA) service is created. When a new RIVA service is created, three types of Kafka topics are automatically created in the Kafka broker cluster using the naming convention RIVA_ID, RIVA_IR_ID, and RIVA_A_ID. Here, ID is a unique identifier of the service. These items are used to detect anomalies detected by the actual video stream IR and IVA services.

토픽 관리기(111)는 관리자 역할이 모든 토픽을 나열하고 해당 구성을 확인하고 구성을 재정의할 수 있도록 허용한다. 각 토픽은 비디오 스트림 레코드가 배포되는 파티션으로 구성된다. 일반적으로, 병렬 처리 정도와 높이 처리량은 토픽의 파티션 개수에 비례한다. The topic manager 111 allows the administrator role to list all topics, check their configuration, and override the configuration. Each topic consists of partitions where video stream records are distributed. In general, the degree of parallelism and the height throughput are proportional to the number of partitions in the topic.

파티션 관리기(112)는 비디오 스트림 데이터 소스의 비디오 스트림과 소비자 그룹의 스트림 소비에 따라 토픽의 파티션 개수를 자동으로 조정한다.The partition manager 112 automatically adjusts the number of partitions of a topic according to the consumption of a video stream of a video stream data source and a stream of a consumer group.

다음, VSAS(120)는 클라이언트 API(Application Programming Interface)로서, 대규모 비디오 스트림을 취하기 위한 생산자의 클러스터에서 구성될 수 있다.Next, the VSAS 120 is a client application programming interface (API), which can be configured in a cluster of producers to take a large-scale video stream.

이러한 VSAS(120)는 도 3을 참조하면, 비디오 스트림 획득 어댑터(Video Stream Acquistion Adapter)(121), 비디오 스트림 이벤트 프로듀서(Video Stream Event Producer)(122), 프레임 전처리기(Frame Preprocessor)(123) 및 레코드 구성기(Record Composer)(124)를 포함한다.Referring to FIG. 3, the VSAS 120 includes a video stream acquisition adapter 121, a video stream event producer 122, and a frame preprocessor 123. and a Record Composer 124 .

비디오 스트림 획득 어댑터(121)는 장치 독립적인 비디오 스트림 소스를 위한 인터페이스를 제공한다. 특정 비디오 소스가 RIVA 서비스에 대해 구독되는 경우 스트림 획득 서비스는 ISBDS(200)의 비디오 데이터 소스(VDS)에서 구성 메타 데이터를 가져오고 비디오 스트리밍을 위해 소스 장치를 구성한다. The video stream acquisition adapter 121 provides an interface for a device independent video stream source. When a specific video source is subscribed to the RIVA service, the Stream Acquisition service gets the configuration metadata from the Video Data Source (VDS) of the ISBDS 200 and configures the source device for video streaming.

비디오 스트림 이벤트 프로듀서(122)는 비디오 스트림을 디코딩하고 프레임을 감지한 다음 메타 데이터 추출을 수행한다.The video stream event producer 122 decodes the video stream, detects frames, and then performs metadata extraction.

프레임 전처리기(123)는 추출된 메타 데이터에 대해 프레임 크기 조정을 수행한다.The frame preprocessor 123 performs frame size adjustment on the extracted metadata.

레코드 구성기(124)는 메타 데이터에 대해 비디오 스트림 소스와 통신하기 위해 JSON(JavaScript Object Notation) 개체를 정의한다. 이 개체의 내용은 데이터소스 ID, 프레임의 열(column) 개수 및 행(row) 개수, 데이터 소스에서 데이터가 시작된 타임 스탬프 및 페이로드가 5개 필드로 구성된다. 이러한 JSON 객체는 레코드로서, VSP(130)로 전달된다.Record Configurator 124 defines a JavaScript Object Notation (JSON) object to communicate with the video stream source for metadata. The content of this object consists of five fields: the data source ID, the number of columns and rows of the frame, the timestamp where the data started from the data source, and the payload. This JSON object is passed to the VSP 130 as a record.

VSP(130)도 클라이언트 API로서, VSAS(120)에서 레코드를 수신하고 수신된 레코드를 직렬화하고 미니 배치를 구성한 다음 카프카 브로커로 보내는 작동을 수행한다. The VSP 130 is also a client API, which receives records from the VSAS 120, serializes the received records, constructs a mini-batch, and sends them to the Kafka broker.

비디오 스트림 소스가 RIVA 서비스에 등록된 경우 프로듀서 핸들러(170)는 미니 배치를 브로커 클러스터의 토픽 RIVA_1로 라우팅한다. 마찬가지로, 여러 RIVA 서비스에 가입한 경우 스트림은 해당 토픽으로 라우팅된다.When the video stream source is registered with the RIVA service, the producer handler 170 routes the mini-batch to the topic RIVA_1 of the broker cluster. Similarly, if you subscribe to multiple RIVA services, streams are routed to that topic.

VSP(130)에서의 카프카 프로듀서 레코드는 기본 메시지 형식을 가지며 4개의 필드, 즉, 토픽 이름(Topic Name), 파티션 번호(Partition Number), 키(Key) 및 값(Value)으로 구성된다. 여기서, 토픽 이름은 ISBDS(200)에 저장된 가입 데이터 소스에 의해 동적으로 제공된다. 파티션 및 키 필드는 비디오 스트림 소스 ID(ISBDS(200)의 비디오 데이터 소스 메타 스토어에서 제공된 카메라 ID)로 설정된다. 값 필드 입력은 레코드 구성기(124)에 의해 구성되어 제공되는 비디오 스트림 레코드를 나타낸다.The Kafka producer record in the VSP 130 has a basic message format and consists of four fields, namely, a topic name, a partition number, a key, and a value. Here, the topic name is dynamically provided by the subscription data source stored in the ISBDS 200 . The partition and key fields are set to the video stream source ID (camera ID provided in the video data source metastore of the ISBDS 200). The value field input represents a video stream record configured and provided by the record configurator 124 .

VSP(130)는 네트워크를 통해 보낼 수 있도록 프로듀서 레코드를 바이트 배열로 변환하기 위해 프로듀서 핸들러(170)의 직렬 변환기(171)로 보내진다. VSP(130)는 프로듀서 레코드를 수집하여 카프카 브로커로 보내기 위해 레코드 배치에 추가한다.The VSP 130 is sent to the serializer 171 of the producer handler 170 to convert the producer record to a byte array for sending over the network. The VSP 130 collects the producer records and adds them to the batch of records for sending to the Kafka broker.

빠른 압축 알고리즘이 사용되어 이러한 미니 배치가 압축되고, VSP(130)는 새로 형성된 미니 배치를 브로커 서버로 보낸다. 메시지 전달을 보장하기 위해 VSP(130)의 백(BACK)이 활성화된다. A fast compression algorithm is used to compress these mini-batches, and the VSP 130 sends the newly formed mini-batches to the broker server. BACK of the VSP 130 is activated to ensure message delivery.

전술한 VSAS(120) 및 VSP(130)의 서브 모듈들은 아래의 알고리즘과 같이 videoStreamEventProducer 고급 API에 기술적으로 캡슐화될 수 있다.The above-described sub-modules of the VSAS 120 and VSP 130 may be technically encapsulated in the videoStreamEventProducer high-level API as shown in the following algorithm.

Figure pat00001
Figure pat00001

도 4를 참조하면, 획득된 비디오 스트림은 이제 미니 배치의 형태로 다양한 토픽의 카프카 브로커(161)에 상주한다, 비디오 스트림의 이러한 미니 배치를 처리하기 위해 비디오 스트림 분석 소비자 클러스터(Video Stream Analytics Consumer Cluster)(163)라는 다양한 컴퓨터 클러스터가 있다. 각각의 클러스터에는 RIVA 서비스(1631)와 VSCS(Video Stream Consumer Service, VSCS)(1633)의 두 가지 유형의 클라이언트 서비스가 구성된다. 각각의 비디오 스트림 분석 소비자 클러스터(163)에는 서로 다른 도메인별 RIVA 서비스(1631)가 있는 반면, VSCS(1633)는 모두 공통이다. VSCS(1633)는 분석을 위해 카프카 브로커(161)의 각각의 토픽에서 비디오 스트림의 미니 배치를 읽는 RIVA 서비스를 지원한다. 4 , the obtained video stream now resides in Kafka broker 161 of various topics in the form of mini-batch, Video Stream Analytics Consumer Cluster to process this mini-batch of video stream ) (163), there are various computer clusters. Two types of client services are configured in each cluster: a RIVA service 1631 and a Video Stream Consumer Service (VSCS) 1633 . Each video stream analysis consumer cluster 163 has a different domain-specific RIVA service 1631, whereas the VSCS 1633 are all common. VSCS 1633 supports the RIVA service to read mini-batches of video streams in each topic of Kafka broker 161 for analysis.

RIVA 서비스(1631)는 IR을 생성하고 지속되어야 한다. 비디오 분석은 항상 비용이 많이 들고 재계산을 피하기 위해 IR을 ISBDS(200)(IR 미들웨어)로 유지한다.The RIVA service 1631 should generate and persist the IR. Video analytics is always expensive and keep the IR as ISBDS 200 (IR middleware) to avoid recalculation.

IR-manager(140)는 카프카 브로커 클러스터(141)의 토픽 RIVA_IR_ID와 IR을 주고받아서, 분산된 환경에서 적절한 관리를 수행한다. IR-manager(140)는 해당 토픽에서 IR을 읽는 역할도 하며 재컴파일을 피하는 재사용(예를 들어, 비디오 온톨로지에 대한 매핑, 검색을 위한 인덱싱)을 위해 ISBDS(200)의 IR 데이터 저장소에 유지된다.The IR-manager 140 exchanges IR with the topic RIVA_IR_ID of the Kafka broker cluster 141, and performs appropriate management in a distributed environment. The IR-manager 140 also serves to read the IR on the topic and is maintained in the IR data store of the ISBDS 200 for reuse (eg mapping to video ontology, indexing for retrieval) avoiding recompilation. .

도메인별 RIVA 서비스는 이상 또는 비정상적인 활동에 대한 비디오 스트림을 처리한다.The domain-specific RIVA service processes video streams for abnormal or abnormal activity.

LVSM(150)은 이상이 감지되면 동일한 내용을 카프카 브로커 토픽, 즉(RIVA_A_ID)로 보낸다. 알림 기반 응답을 생성하기 위해 LVSM(150)은 표준 관찰자 기반 구현(standard observer-based implementation)을 따른다. 이러한 접근 방식을 기반으로 LVSM(150)은 해당 카프카 브로커 토픽에서 이상 현상을 읽는다. 즉, RIVA_A_ID이며, 거의 실시간으로 클라이언트에게 알리고 동시에 ISBDS에 유지한다. VSAS(1433), IR-Manager)(140) 및 LVSM(150)을 이해하기 위해 템플릿 서비스를 만든다(이하의 알고리즘 참조). When an abnormality is detected, the LVSM 150 sends the same content to the Kafka broker topic, that is, (RIVA_A_ID). To generate an alert-based response, the LVSM 150 follows a standard observer-based implementation. Based on this approach, the LVSM 150 reads anomalies in the corresponding Kafka broker topic. That is, it is RIVA_A_ID, which informs the client in near real time and keeps it in the ISBDS at the same time. Create a template service to understand the VSAS 1433, IR-Manager) 140 and LVSM 150 (refer to the algorithm below).

Figure pat00002
Figure pat00002

이러한 서비스는 아파치 스파크 스트리밍을 기반으로 한다. RIVA 서비스에 대한 입력은 serviceID 및 구독된 cameraID이다. 비디오 스트림 미니 배치는 VSAS 상위 수준 추상화를 사용하여 토픽 RIVA_ID에서 획득하고 4단계에서와 같이 videoDataset(스파크 데이터 세트 추상화의 객체)에 할당된다. RIVA 작업(특별 또는 임시 분석)은 개발자의 논리와 요구사항에 따라 videoData에서 수행된다. IR 및 비정상 형태의 RIVA 출력은 각각 IRM(140) 및 LVSM(150) API로 전달된다.These services are based on Apache Spark Streaming. Inputs to the RIVA service are serviceID and subscribed cameraID. The video stream mini-batch is obtained from the topic RIVA_ID using the VSAS high-level abstraction and assigned to the videoDataset (object of the spark dataset abstraction) as in step 4. RIVA operations (ad hoc or ad hoc analysis) are performed on videoData according to the developer's logic and requirements. The IR and abnormal RIVA outputs are delivered to the IRM 140 and LVSM 150 API, respectively.

도 5는 도 1에 도시된 ISBDS(200)의 구체적인 구성을 도시한 도면이다.FIG. 5 is a diagram illustrating a detailed configuration of the ISBDS 200 shown in FIG. 1 .

도 5를 참조하면, ISBDS(200)는 5가지 유형의 데이터를 호스팅한다. 5가지 유형의 데이터로는 사용자 프로파일 및 로그(User Profile and Logs)(210), 비디오 데이터 소스 메타 스토어(Video Data Source Meta-store)(220), 알고리즘 및 서비스 메타 스토어(Algorithm and Services Meta Store)(230), 중간 결과 미들웨어(Intermediate Result Middleware)(240) 및 구독 메타 스토어(Subscription Meta-store)(250)가 포함된다.Referring to FIG. 5 , the ISBDS 200 hosts five types of data. The five types of data are User Profile and Logs (210), Video Data Source Meta-store (220), and Algorithm and Services Meta Store. 230 , Intermediate Result Middleware 240 , and Subscription Meta-store 250 are included.

첫 번째로, 사용자 프로파일 및 로그(210)는 사용자에게 역할 기반 액세스를 제공한다. 사용자 로그 및 해당 역할 정보는 사용자 카탈로그를 통해 유지된다. 모든 민감한 사용자 정보는 MD5 암호화 체계를 지원하여 안전하게 보호된다.First, user profiles and logs 210 provide role-based access to users. User logs and their role information are maintained through the user catalog. All sensitive user information is safely protected by supporting MD5 encryption scheme.

두 번째로, 비디오 데이터 소스 메타 스토어(220)는 두 가지 유형의 비디오 소스, 즉 비디오 스트림 소스 및 비디오 데이터 세트를 관리한다. 전자는 RIVA 서비스에 가입할 수 있고, 후자는 BIVA(Batch IVA) 서비스에 가입할 수 있다. 비디오 데이터 소스 메타 스토어는 이러한 소스의 메타 정보를 액세스 권한과 함께 관리한다.Second, the video data source meta store 220 manages two types of video sources: video stream sources and video data sets. The former may subscribe to the RIVA service, and the latter may subscribe to the BIVA (Batch IVA) service. The video data source meta store manages meta information of these sources along with access rights.

세 번째로, 알고리즘 및 서비스 메타 스토어(230)는 IVA 알고리즘과 서비스를 관리한다. 특히, IVA 알고리즘의 메타 데이터는 알고리즘 메타 스토어를 통해 관리되며, 데이터 구조는 다음과 같은 8개의 서로 다른 데이터 필드로 구성된다. 즉, AID, UID, algoType, algoName, input, output, requiredResources, sourceCodeAddress, description. IVA 서비스의 메타 데이터는 서비스 메타 스토어를 통해 관리되며, SID, UID, dsTypeID, serviceTypeID, serviceName 및 설명과 같은 속성을 포함한다. 서비스와 알고리즘 메타 스토어 간의 관계는 SERVICE_ALGORITHM이라는 룩업 테이블을 통해 관리된다.Third, the algorithm and service meta store 230 manages the IVA algorithm and service. In particular, the metadata of the IVA algorithm is managed through the algorithm metastore, and the data structure consists of the following 8 different data fields. i.e. AID, UID, algoType, algoName, input, output, requiredResources, sourceCodeAddress, description. The metadata of IVA services is managed through the service metastore, and includes attributes such as SID, UID, dsTypeID, serviceTypeID, serviceName, and description. The relationship between the service and the algorithm metastore is managed through a lookup table called SERVICE_ALGORITHM.

네 번째로, 중간 결과 미들웨어(240)는 중간 결과를 저장하는 데 사용된다.Fourth, the intermediate result middleware 240 is used to store the intermediate result.

다섯 번째로, 구독 메타 스토어(250)는 사용자가 RIVA 서비스에 대한 비디오 스트림 소스를 구독하는 구독 정보를 관리한다.Fifth, the subscription meta store 250 manages subscription information for a user to subscribe to a video stream source for the RIVA service.

ISBDS(200)는 ISBDS 액세스 제어기(Access Controller)(260)를 포함한다. ISBDS 액세스 제어기(260)는 비즈니스 로직(400)에 따라 기본 데이터에 대한 읽기-쓰기 액세스를 안전하게 제공하는 역할을 한다. The ISBDS 200 includes an ISBDS access controller (Access Controller) 260 . The ISBDS access controller 260 serves to securely provide read-write access to the underlying data according to the business logic 400 .

ISBDS 액세스 제어기(260)는 연결 구성기(Connection Configurator)(261), 스키마 핸들러(Schema Handler)(262), CRUD 오퍼레이터(Create, Read, Update, Delete Operator)(263) 및 수동 DRW(Passive Data Reader, Writer)(264)를 포함한다. The ISBDS access controller 260 includes a Connection Configurator 261 , a Schema Handler 262 , a CRUD Operator (Create, Read, Update, Delete Operator) 263 , and a manual Passive Data Reader (DRW). , Writer) 264 .

연결 구성기(261)는 클러스터 구성, 연결 정보, 드라이버 및 보안 프로토콜 파라미터와 같은 구성 파라미터를 유지 관리하는 데 사용된다. 연결 구성기(261)는 데이터 액세스 요청이 있을 때 분산 데이터 저장소(Distributed Big Data Store)(270)와의 연결 세션을 설정하고 유지하는 데 사용된다.The connection configurator 261 is used to maintain configuration parameters such as cluster configuration, connection information, drivers and security protocol parameters. The connection configurator 261 is used to establish and maintain a connection session with the Distributed Big Data Store 270 when there is a data access request.

ISBDS(200)의 기본 스키마 구조는 스키마 핸들러(262)를 통해 유지되며, 이식성을 위해서도 동일하게 사용할 수 있다.The basic schema structure of the ISBDS 200 is maintained through the schema handler 262, and the same can be used for portability.

CRUD 오퍼레이터(263)는 ISBDS(200)에 지속되는 데이터에 대한 CRUD 작업을 위해 설계 및 제공된다. CRUD 오퍼레이터(263)는 주로 분산 데이터 저장소(270)를 통해 대기 시간이 짧은 실시간 대화형 CRUD 작업을 제공하도록 설계된다. CRUD 오퍼레이터(263)의 인스턴스는 분산 RIVA 엔진과 비즈니스 로직(400)에서 사용된다. CRUD 작업에 대해 미리 정의된 일반화된 쿼리가 호스팅된다. 클라이언트에 대한 요청을 받으면 CRUD 오퍼레이터(263)는 요청 파라미터를 사용 가능한 쿼리 세트와 일치시킨다. 파라미터가 일치하는 경우 선택한 쿼리가 클라이언트에 실시간으로 응답하여 실행된다. 또한, 아파치 스파크와 같은 분산인 메모리 처리 엔진을 사용하면서 대량의 비디오에 대한 오프 라인 분석을 지원하도록 설계되었다.The CRUD operator 263 is designed and provided for CRUD operations on data persisted in the ISBDS 200 . The CRUD operator 263 is primarily designed to provide low latency real-time interactive CRUD operations via the distributed data store 270 . An instance of the CRUD operator 263 is used in the distributed RIVA engine and business logic 400 . Predefined generalized queries are hosted for CRUD operations. Upon receiving the request for the client, the CRUD operator 263 matches the request parameters with the available query set. If the parameters match, the selected query is executed in real time in response to the client. It is also designed to support offline analysis of large volumes of video while using a distributed in-memory processing engine such as Apache Spark.

수동 DRW(264)는 아파치 스파크가 대량의 데이터를 RDD(RDD는 스파크 데이터 구조임)로 로드하고 필요에 따라 분산 테이블에 동일하게 유지할 수 있도록 제공된다. 수동 DRW(264)의 실행은 2단계 프로세스이다. 먼저. 클라이언트 응용 프로그램에서 스키마 파라미터를 선택한 다음 수동 DRW(264)에게 제출한다. 수동 DRW(264)는 파라미터 수신시 동적으로 쿼리를 생성한다. 그런 다음, 쿼리가 NoSQL 분산 데이터 저장소(270)를 통해 실행되고 응답이 생성되어 클라이언트 프로그램에 제공된다. 수동 DRW(264)는 오프라인 분석 요구사항을 충족하기 위해 제공되며, 요청된 데이터 크기에 따라 쿼리 실행 시간이 더 오래 걸릴 수 있다. A manual DRW 264 is provided to allow Apache Spark to load large amounts of data into RDDs (RDDs are Spark data structures) and keep them the same in distributed tables as needed. Execution of manual DRW 264 is a two-step process. first. The client application selects the schema parameters and then submits them to the manual DRW 264 . Passive DRW 264 dynamically creates a query upon receiving parameters. The query is then executed through the NoSQL distributed data store 270 and a response is generated and provided to the client program. Manual DRW 264 is provided to meet offline analysis requirements, and query execution time may take longer depending on the requested data size.

도 6은 도 1에 도시된 DPBDS(300)의 구체적인 구성을 도시한 도면이다.FIG. 6 is a diagram illustrating a detailed configuration of the DPBDS 300 shown in FIG. 1 .

도 6을 참조하면, 데이터는 본 발명의 시스템(10)의 비즈니스 로직(400)에 따라 체계적으로 저장되고 매핑된다. DPBDS(300)는 IVA 알고리즘의 수명 주기에서 데이터 워크로드를 효과적이고 동적으로 관리하도록 설계되었다. 본 발명의 시스템(10)에 새로 등록하면 HDFS(또는 하둡)(301) 상단에 정식 사용자 공간(310)이 생성된다. 사용자 공간(310)은 적절한 계층적 디렉토리 구조를 통해 관리되며 소유자에게 특별한 읽기 및 쓰기 액세스 권한이 부여된다. 모든 디렉토리는 사용자 프로필 로그의 사용자 ID에 따라 동기화되고 매핑된다. HDFS에서는 각 사용자 공간(310) 아래에 도 7과 같이 세 가지 유형의 분산 디렉토리가 생성된다. 즉, 원시 비디오 공간(Raw Video Space)(320), 모델 공간(Model Space)(330) 및 프로젝트 공간(Project Space)(340)이 그것이다. DPBDS(300)는 사용자 공간(310)과 DPBDS(300)의 해당 데이터를 관리 및 운용하기 위해 DPB 액세스 제어기(Access Controller)(350)를 포함하며, 이는 HDFS 핸들러(Handler)(351), 능동 DRW(Active DRW)(352) 및 수동 DRW(Passive DRW)(353)를 포함한다. HDFS 핸들러(351)는 비즈니스 로직(400)에 따라 파일 작업 및 권한 제어를 관리하기 위해 HDFS의 저수준 API를 통해 설계되었다. 능동 DRW(352) 및 수동 DRW(353)는 실시간 및 오프라인 읽기-쓰기 작업을 수행한다.6, data is systematically stored and mapped according to the business logic 400 of the system 10 of the present invention. The DPBDS 300 is designed to effectively and dynamically manage data workloads in the life cycle of the IVA algorithm. When newly registered in the system 10 of the present invention, a formal user space 310 is created on top of the HDFS (or Hadoop) 301 . Userspace 310 is managed through an appropriate hierarchical directory structure and the owner is granted special read and write access. All directories are synchronized and mapped according to the user ID in the user profile log. In HDFS, three types of distributed directories are created under each user space 310 as shown in FIG. 7 . That is, the raw video space (Raw Video Space) 320, the model space (Model Space) 330, and the project space (Project Space) 340 are them. The DPBDS 300 includes a DPB access controller 350 to manage and operate the user space 310 and corresponding data of the DPBDS 300, which includes an HDFS handler 351, active DRW. (Active DRW) 352 and passive DRW (Passive DRW) 353 . The HDFS handler 351 is designed through the low-level API of HDFS to manage file operations and permission control according to the business logic 400 . Active DRW 352 and passive DRW 353 perform real-time and offline read-write operations.

전술한 RVSAS(100), ISBDS(200) 및 DPBDS(300)는 고급 IVA 알고리즘을 활용하면서 클라우드에서 대규모 비디오 데이터 수집 및 도메인별 IVA를 지원하도록 설계되었다.The aforementioned RVSAS 100 , ISBDS 200 , and DPBDS 300 are designed to support large-scale video data collection and domain-specific IVA in the cloud while utilizing advanced IVA algorithms.

도 8은 도 1에 도시된 비즈니스 로직(400)의 구체적인 구성을 도시한 도면이다.FIG. 8 is a diagram illustrating a detailed configuration of the business logic 400 shown in FIG. 1 .

도 8을 참조하면, 비즈니스 로직(400)은 향후 요구사항에 따라 확장 가능하지만, 본 발명의 실시예에서는 사용자 관리기(User Manager)(410), 데이터 소스 관리기(Data Source Manager)(420), IVA 알고리즘 및 서비스 관리기(IVA Algorithm and Service Manager)(430), 온톨로지 데이터 관리기(Ontology Data Manager)(440) 및 클러스터 관리기(Cluster Manager)(450)를 포함한다.Referring to FIG. 8 , the business logic 400 is expandable according to future requirements, but in an embodiment of the present invention, a User Manager 410 , a Data Source Manager 420 , and an IVA It includes an algorithm and service manager (IVA Algorithm and Service Manager) 430 , an ontology data manager 440 , and a cluster manager 450 .

사용자 관리기(410)는 새로운 사용자 계정 생성, 액세스 역할 할당 및 세션 관리와 같은 모든 사용자 관련 작업을 캡슐화한다. 본 발명의 실시예에 따른 시스템(10)은 사용자에 대한 역할 기반 액세스를 제공하며 도 9에서와 같이 세 가지 유형의 사용자 계정, 즉 admin, developer, consumer를 제공한다. 사용자 역할 및 액세스 권한은 도 9를 참조하며, 사용자 데이터 액세스 로직이 사용자 관리기(410)에서 구현된다.User manager 410 encapsulates all user related tasks such as creating new user accounts, assigning access roles, and managing sessions. The system 10 according to an embodiment of the present invention provides role-based access to users and provides three types of user accounts, namely, admin, developer, and consumer as shown in FIG. 9 . Referring to FIG. 9 for user roles and access rights, user data access logic is implemented in user manager 410 .

데이터 소스 관리기(420)는 사용자가 본 시스템(10)의 배포 클라우드에서 데이터를 관리할 수 있게 한다. 사용자는 비디오 스트림 소스, 비디오 데이터 세트 및 모델의 세 가지 유형의 데이터 소스를 관리할 수 있다. The data source manager 420 allows a user to manage data in the distribution cloud of the present system 10 . Users can manage three types of data sources: video stream sources, video data sets and models.

IVA 알고리즘 및 서비스 관리기(430)는 스파크를 기반으로 새로운 IVA 알고리즘 및 서비스를 관리, 개발 및 지원한다. IVA 알고리즘은 개발자에게 IVAAaaS(IVA-Algorithm-as-a-Service)와 같은 aaS를 제공하고, 서비스 관리는 소비자에게 IVAaaS(IVA-as-a-Service)를 제공한다. 개발자는 새로운 IVA 알고리즘을 만들고 게시할 수 있다. 이러한 IVA 알고리즘은 다른 개발자가 사용할 수 있도록 IVAAaaS로 제공된다. 관리자/개발자가 IVA 서비스를 만들고 게시하면 사용자는 제공된 IVA 서비스에 대해 비디오 소스를 구독할 수 있다.The IVA algorithm and service manager 430 manages, develops and supports new IVA algorithms and services based on Spark. The IVA algorithm provides developers with a aaS such as IVA-Algorithm-as-a-Service (IVAAaaS), and service management provides IVAaaS (IVA-as-a-Service) to consumers. Developers can create and publish new IVA algorithms. These IVA algorithms are provided as IVAAaaS for other developers to use. When an admin/developer creates and publishes an IVA service, users can subscribe to video sources for the provided IVA service.

온톨로지 데이터 관리기(440)는 개발자가 의사 결정을 위한 중간 결과(IR)를 얻을 수 있게 한다. 온톨로지 데이터 관리기(440)는 IR을 얻는 안전한 방법을 제공하고, 지식 큐레이션 계층(Knowledge Curation Layer, KCL)의 비디오 온톨로지에 따라 매핑한다.The ontology data manager 440 enables developers to obtain intermediate results (IRs) for decision-making. The ontology data manager 440 provides a secure method of obtaining an IR, and maps it according to a video ontology of a knowledge curation layer (KCL).

마찬가지로, 클러스터 관리기(450)는 시스템 관리자가 시스템(10)의 상태와 기능을 모니터링할 수 있도록 한다. Similarly, the cluster manager 450 allows the system administrator to monitor the status and functions of the system 10 .

마지막으로, 웹 서비스(500)는 본 발명의 실시예에 따른 시스템(10) 프레임워크의 기능을 웹을 통해 제공하기 위해 최고의 기능을 단순한 통합 역할 기반 웹 서비스에 통합한다. 이러한 웹 서비스(500)는 전술한 비즈니스 로직(400)을 기반으로 구축된다.Finally, the web service 500 integrates the best functions into a simple integrated role-based web service to provide the functions of the framework of the system 10 according to an embodiment of the present invention through the web. This web service 500 is built based on the business logic 400 described above.

이하, 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 방법에 대해 설명한다. 이러한 방법은 전술한 도 1 내지 도 9를 참조하여 설명한 지능형 비디오 빅데이터 분석 시스템(10)에 의해 수행될 수 있다.Hereinafter, an intelligent video big data analysis method according to an embodiment of the present invention will be described. This method may be performed by the intelligent video big data analysis system 10 described above with reference to FIGS. 1 to 9 .

본 발명의 실시예에 따른 시스템(10)을 사용하면 참여 계층이 분산 RIVA 및 BIVA 서비스를 등록할 수 있다. 본 시스템(10)은 람다 아키텍처 스타일을 따르며 실행 시나리오는 두 가지 유형의 실행 시나리오를 거친다. 여기서, 두 가지 유형의 실행 시나리오는 스피드 계층 실행 시나리오(Speed Layer Execution Scenario)와 배치 계층 실행 시나리오(Batch Layer Execution Scenario)이다. 이러한 두 시나리오의 데이터는 서빙 계층으로도 알려진 ISBDS(200)과 DPBDS(300)를 포함한 BDP(Big Data Persistence)라는 공통 계층을 통해 관리된다. Using the system 10 according to an embodiment of the present invention, participating layers can register for distributed RIVA and BIVA services. The present system 10 follows the lambda architecture style and the execution scenarios go through two types of execution scenarios. Here, the two types of execution scenarios are a speed layer execution scenario and a batch layer execution scenario. Data in these two scenarios is managed through a common layer called Big Data Persistence (BDP) including the ISBDS 200 and the DPBDS 300, also known as the serving layer.

먼저, 도 10을 참조하여 스피드 계층 실행 시나리오에 대해 설명한다.First, a speed layer execution scenario will be described with reference to FIG. 10 .

클러스터 'P'(901)는 VSAS(120)를 호스트하고 외부 비디오 스트림 소스(903)에 대한 인터페이스를 제공한다. 구성시 비디오 스트림은 클러스터 'K'(905)의 해당 RIVA_ID(907)에 로드된다.Cluster 'P' 901 hosts VSAS 120 and provides an interface to external video stream source 903 . Upon configuration, the video stream is loaded into the corresponding RIVA_ID 907 of cluster 'K' 905 .

클러스터 'K'(905)는 획득한 비디오 스트림, IR 및 LVSM(150)에 의해 생성된 이상 현상이 버퍼링되는 분산 메시징 시스템(101)인 카프카를 지원한다. 여기서, 클러스터 'K'(905)는 RIVA_ID(907), RIVA_IR_ID(909) 및 RIVA_A_ID(911)로 구성된다. 이러한 토픽은 높은 처리량을 보장하기 위해 클러스터 'K'(905)에 액세스하도록 복제된다. RF(Replication Factor)는 클러스터 'K'(905)의 작업자 수 보다 작거나 같아야 한다. Cluster 'K' 905 supports Kafka, a distributed messaging system 101 where the acquired video stream, IR and anomalies generated by LVSM 150 are buffered. Here, the cluster 'K' 905 includes RIVA_ID 907 , RIVA_IR_ID 909 , and RIVA_A_ID 911 . These topics are replicated to access cluster 'K' 905 to ensure high throughput. RF (Replication Factor) must be less than or equal to the number of workers in cluster 'K' 905 .

분산 메시징 시스템(101)의 브로커 클러스터(905)의 토픽 RIVA_ID(907)에 있는 비디오 스트림의 미니 배치는 DPBDS(300) 및 ISBDS(200) 데이터 저장소에 유지되어야 한다. 이를 위해 클러스터 'V'(913)는 세 가지 유형의 모듈, 즉 비디오 스트림 소비자(Video Stream Consumer, VCS) 모듈(915), 비디오 전처리기(Video Preprocessor) 모듈(917) 및 지속성(Persistence) 모듈(919)을 전개한다. A mini-batch of video streams in topic RIVA_ID 907 of broker cluster 905 of distributed messaging system 101 should be maintained in DPBDS 300 and ISBDS 200 data stores. To this end, the cluster 'V' 913 has three types of modules: a Video Stream Consumer (VCS) module 915, a Video Preprocessor module 917 and a Persistence module ( 919) is developed.

VCS 모듈(915)을 사용하면, 클러스터 'V'(913)가 클러스터 'K'(905)의 RIVA_ID(907) 토픽에서 비디오 스트림 미니 배치를 읽을 수 있다. 그런 다음, 비디오 전처리기 모듈(917)은 소비된 비디오 데이터에서 메타 데이터를 처리, 인코딩 및 추출한다. 마지막으로, 지속성 모듈(919)은 비디오 데이터와 해당 메타 데이터를 각각 DPBDS(300) 및 ISBDS(200)에 저장한다.Using the VCS module 915 , cluster 'V' 913 can read the video stream mini-batch in the RIVA_ID 907 topic of cluster 'K' 905 . The video preprocessor module 917 then processes, encodes and extracts metadata from the consumed video data. Finally, the persistence module 919 stores video data and corresponding metadata in the DPBDS 300 and the ISBDS 200, respectively.

한편, 클러스터 'S'(921)는 RIVA 서비스를 사용하면서 거의 실시간으로 비디오 스트림을 처리하는 역할을 한다. 아파치 스파크 스트림과 같은 다양한 스트림 처리 엔진을 RIVA 서비스 개발에 사용할 수 있다. 클러스터 'S'(921)는 네 가지 유형, 즉 비디오 스트림 소비자 서비스(Video Stream Consumer Service, VSCS) 모듈(923), RIVA 서비스 모듈(925), IR 생산자/가입자(IR Producer/Subscriber) 모듈(927) 및 LSVM 생산자(LSVM Producer) 모듈(929)을 지원한다.Meanwhile, the cluster 'S' 921 serves to process a video stream in near real time while using the RIVA service. Various stream processing engines, such as Apache Spark Stream, are available for developing RIVA services. Cluster 'S' 921 has four types: Video Stream Consumer Service (VSCS) module 923, RIVA service module 925, IR Producer/Subscriber module 927 ) and an LSVM Producer module 929 .

VSCS 모듈(923)은 클러스터 'K'(905)에서 RIVA_ID 비디오 스트림(907)을 사용하는 데 사용된다. VSCS module 923 is used to use RIVA_ID video stream 907 in cluster 'K' 905 .

RIVA 서비스 모듈(925)는 비디오 스트림을 분석하는 실제 RIVA 서비스이다(S915). 이러한 RIVA 서비스는 사용자가 체결한 RIVA 서비스 가입 계약에 따라 로드된다.The RIVA service module 925 is an actual RIVA service that analyzes a video stream (S915). These RIVA Services are loaded in accordance with the RIVA Services Subscription Agreement entered into by the User.

IR 생산자/가입자 모듈(927)은 클러스터 'K'(905)의 토픽 IR(909)과 애플리케이션 로직에 따라 IR을 송수신하는 데 사용된다. The IR producer/subscriber module 927 is used to send and receive IR according to the application logic with the topic IR 909 of cluster 'K' 905 .

클러스터 'S'(921)에 배치된 RIVA 서비스 인스턴스는 일부 도메인 특정 목표를 가져야 하며 분석할 경우 이상을 생성해야 한다. 본 시스템(10)은 실시간 변칙 전달 시스템을 지원한다. RIVA 서비스는 계속해서 LVSM 생산자(929)를 통해 이상 현상을 클러스터 'K'(905)의 각 이상 항목 토픽 RIVA_A_ID(911)로 보낸다. A RIVA service instance deployed in cluster 'S' 921 should have some domain specific goals and should generate anomalies when analyzed. The system 10 supports a real-time anomaly delivery system. The RIVA service continues to send the anomaly via the LVSM producer 929 to each anomaly topic RIVA_A_ID 911 of cluster 'K' 905 .

클러스터 그룹 'I'(931)는 클러스터 'K'(905)의 토픽 RIVA_A_ID(909)에서 IR을 지속적으로 읽고 인덱싱을 위해 ISBDS(200)의 IR 미들웨어(240)로 전송한다. Cluster group 'I' 931 continuously reads IR from topic RIVA_A_ID 909 of cluster 'K' 905 and transmits it to IR middleware 240 of ISBDS 200 for indexing.

클러스터 'N'(933)은 이상 알림 클러스터이다. 이 클러스터 'N'(933)은 클러스터 'K'(905)의 토픽 RIVA_A_ID(911)에서 이상 현상을 읽고 지속성을 위해 ISBDS(200)에 동일한 내용을 보내고 경고의 비디오 스트림 소스 소유자에게 실시간으로 전달한다.Cluster 'N' 933 is an anomaly notification cluster. This cluster 'N' 933 reads the anomaly from the topic RIVA_A_ID 911 of cluster 'K' 905 and sends the same to the ISBDS 200 for persistence and communicates in real time to the video stream source owner of the alert. .

다음, 다시 도 10을 참조하여 배치 계층 실행 시나리오에 대해 설명한다.Next, a deployment layer execution scenario will be described with reference to FIG. 10 again.

배치 계층 서비스, 즉 BIVA 서비스는 일괄 비디오 분석에 사용할 수 있는 aaS이다. 일괄 비디오 데이터 세트는 오프라인에서 분석되며 실행 시간은 비디오 데이터 세트 크기 및 구독한 BIVA 서비스에 비례한다.The Batch Layer Service, or BIVA Service, is a aaS that can be used for batch video analytics. Batch video data sets are analyzed offline and execution time is proportional to the video data set size and the BIVA service you subscribe to.

본 발명의 실시예에 따른 배치 계층 실행 시나리오는 세 가지 유형의 클러스터, 즉 클러스터 'R'(941), 클러스터 'M'(943) 및 클러스터 'B'(945)를 거친다. A deployment layer execution scenario according to an embodiment of the present invention goes through three types of clusters: cluster 'R' 941 , cluster 'M' 943 , and cluster 'B' 945 .

클러스터'R'(941)을 통해 사용자는 배치 비디오 데이터 세트를 시스템(10)에 업로드하고 3가지 유형의 라이브러리, 즉 배치 비디오 획득 서비스(Batch Video Acquisition Service)(947), 비디오 전처리기(Video Preprocessor)(949) 및 배치 비디오 지속성(Batch Video Persistence)(951)를 구성할 수 있다.Cluster 'R' (941) allows users to upload batch video data sets to system (10) and includes three types of libraries: Batch Video Acquisition Service (947) and Video Preprocessor (Video Preprocessor). ) 949 and Batch Video Persistence 951 can be configured.

배치 비디오 획득 서비스(947)는 배치 비디오 데이터 세트를 획득하는 데 사용된다. Batch video acquisition service 947 is used to acquire a batch video data set.

배치 비디오 획득 서비스(947)에 의해 배치 비디오 데이터 세트가 노드 버퍼에 업로드되면, 활성화된 비디오 전처리기(949)에서 배치 데이터 세트를 처리하여 배치 비디오의 메타 데이터를 추출한다.When the batch video data set is uploaded to the node buffer by the batch video acquisition service 947, the batch data set is processed in the activated video preprocessor 949 to extract the metadata of the batch video.

그런 다음, 배치 비디오 데이터와 추출된 메타 데이터는 각각 DPBDS(300) 및 ISBDS(200)에 유지된다.Then, the batch video data and the extracted metadata are maintained in the DPBDS 300 and the ISBDS 200, respectively.

마찬가지로, 클러스터 'M'(943)은 클러스터 'R'(941)과 동일한 방식으로 작동하지만 클러스터 'M'(943)은 모델 관리를 담당한다. Likewise, cluster 'M' 943 works in the same way as cluster 'R' 941 , but cluster 'M' 943 is responsible for model management.

일괄 비디오 분석에서 지원 계층은 BIVA 서비스를 지원한다. 클러스터 'B'(945)는 사용자 계약에 따라 BIVA 서비스 인스턴스를 로드하고, 비디오를 오프라인으로 처리한다. 일단 구독하면 이 클러스터 'B'(945)는 DPBDS(300)에서 배치 비디오 데이터 세트와 모델을 로드한다. 유사하게, IR 및 이상 현상은 ISBDS(200)에서 유지된다. In batch video analysis, the support layer supports the BIVA service. Cluster 'B' 945 loads the BIVA service instance according to the user contract and processes the video offline. Once subscribed, this cluster 'B' 945 loads the batch video data set and model from the DPBDS 300 . Similarly, IR and anomalies are maintained in ISBDS 200 .

다음, 본 발명의 실시예에 따른 지능형 비디오 빅데이터 분석 시스템(10)을 적용한 예시에 대해 설명한다.Next, an example of applying the intelligent video big data analysis system 10 according to an embodiment of the present invention will be described.

본 발명의 실시예의 적용은 두 가지 RIVA 서비스, 즉 얼굴 감지 및 동작 인식에 대해 수행되었다. 이러한 두 가지 애플리케이션은 aaS로 제공된다. The application of the embodiment of the present invention was performed for two RIVA services, namely, face detection and motion recognition. Both of these applications are delivered as a service.

Hortonworks Data Platform(HDP) 버전 3.1.0을 배포하면서 클러스터라는 실내 분산 클라우드 환경을 구축하였다. 클러스터는 도 11에 도시된 바와 같이, 11개의 노드로 구성된다. 각 노드에는 5개의 파라미터가 있다. 맨 위행의 파라미터는 사용중인 운영체제 버전을 표시한다. 두 번째 줄은 각각 프로세서 모델, 코어 수, RAM 크기(GB) 및 하드 디스크 크기GB)를 보여준다. 네트워킹 목적의 고밀도 구리 연결을 위해 자동 감지 1000Mbps 인터페이스의 24개 및 48개 포트를 제공하는 ProSafe GSM7328S 완전 관리형 스위치가 사용되었다.While deploying Hortonworks Data Platform (HDP) version 3.1.0, an indoor distributed cloud environment called cluster was built. As shown in FIG. 11, the cluster consists of 11 nodes. Each node has 5 parameters. The parameter on the top row indicates the operating system version in use. The second line shows the processor model, number of cores, RAM size in GB and hard disk size in GB, respectively. For high-density copper connections for networking purposes, a ProSafe GSM7328S fully managed switch was used that provides 24 and 48 ports with auto-sensing 1000Mbps interfaces.

사용자는 RIVA에 대한 실시간 비디오 스트림 소스를 노출할 수 있다. 등록시 두 가지 서비스, 세 가지 유형의 토픽은 다음의 [표 1]과 같이 토픽 관리기(Topic Manager)(111)에 의해 자동으로 생성된다. RF를 3으로 설정하고(브로커 서버가 3개 있으므로) 파티션 개수를 토픽당 140으로 설정한다(최대 카메라 스트림 개수 허용). Users can expose real-time video stream sources to RIVA. When registering, two services and three types of topics are automatically created by the topic manager 111 as shown in [Table 1] below. Set RF to 3 (since we have 3 broker servers) and set the number of partitions to 140 per topic (allowing maximum number of camera streams).

[표 1][Table 1]

Figure pat00003
Figure pat00003

또한, 다음의 [표 2]와 같이 BCS(110)의 하위 모듈인 클러스터 구성기(도시되지 않음), ISBDS(200) 및 DPBDS(300)에서 서로 다른 파라미터의 값을 설정한다.In addition, different parameter values are set in the cluster configurator (not shown), the ISBDS 200 and the DPBDS 300, which are sub-modules of the BCS 110 as shown in Table 2 below.

[표 2][Table 2]

Figure pat00004
Figure pat00004

VSAS(120)는 장치 독립적이므로 서로 다른 이기종 장치와 오프라인 비디오 스트림 소스를 등록한다. 이기종 비디오 스트림 소스에는 IP 카메라, 깊이 카메라, RTSP, IPhone6s Plus가 포함된다. 기본적으로, 처음 세 데이터 소스의 프레임 속도는 30이고, 마지막 데이터 소스는 초당 60프레임이다. Since the VSAS 120 is device-independent, it registers different heterogeneous devices and offline video stream sources. Heterogeneous video stream sources include IP cameras, depth cameras, RTSPs, and iPhone6s Plus. By default, the frame rate for the first three data sources is 30, and the last data source is at 60 frames per second.

오프라인 비디오 스트림 소스의 경우 HDD(WDC WD10EZEX)에 있는 비디오 파일도 VSAS(120)의 요소로 구성되었다. VSAS(120)는 획득한 프레임의 해상도를 480 ㅧ 320 픽셀로 설정한다. 결과적으로, 획득한 각 프레임의 크기는 614.495KB가 되었다. For offline video stream sources, the video files on the HDD (WDC WD10EZEX) were also made up of elements of the VSAS 120. The VSAS 120 sets the resolution of the acquired frame to 480 x 320 pixels. As a result, the size of each acquired frame was 614.495 KB.

VSAS(120)는 획득한 프레임을 6MS의 속도로 형식 메시지로 변환한다. 그런 다음, VSAS(120)는 메시지를 VSP(130)로 전달한다. VSP(130)는 메시지 크기를 평균 140.538KB로 압축하고, 12MS의 속도로 브로커 서버로 전달한다. 이 두 모듈은 브로커 서버(Agent-6, Agent-7 및 Agent-8, 도 11 참조)로 스트림을 획득하고 전송하도록 구성된다. 성능 테스트 결과는 도 12에 도시된 바와 같다. 도시된 결과로부터 평균적으로 이기종 비디오 스트림 소스 및 오프라인 비디오 스트림 소스에서 각각 초당 34 및 54 프레임을 획득할 수 있음을 알 수 있다. 달성된 속도는 선호하는것 보다 36% 및 116% 더 높다. 즉 RIVA 분석의 경우 초당 25프레임이다.The VSAS 120 converts the acquired frame into a format message at a rate of 6MS. VSAS 120 then forwards the message to VSP 130 . The VSP 130 compresses the message size to an average of 140.538 KB, and delivers it to the broker server at a speed of 12 MS. These two modules are configured to acquire and transmit streams to the broker server (Agent-6, Agent-7 and Agent-8, see Fig. 11). The performance test result is shown in FIG. 12 . From the results shown, it can be seen that on average, 34 and 54 frames per second can be obtained from heterogeneous video stream sources and offline video stream sources, respectively. The rates achieved are 36% and 116% higher than preferred. That is, in the case of RIVA analysis, it is 25 frames per second.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through the apparatus and method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention as defined in the following claims are also provided. is within the scope of the right.

Claims (19)

클라우드에서 지능적으로 비디오 빅데이터를 분석하는 시스템으로서,
외부의 실시간 비디오 수집 도구로부터 수집되는 실시간 비디오 스트림을 수집하는 실시간 비디오 스트림 획득부,
영구적이고 분산된 빅데이터 저장소를 제공하며, 상기 실시간 비디오 스트림의 원시 비디오 스트림을 저정하는 제1 빅데이터 저장소,
분산 환경에서 대규모의 구조화된 데이터를 관리하며, 상기 실시간 비디오 스트림에서 처리된 메타 데이터와 상기 실시간 비디오 스트림에 기반한 실시간 지능형 비디오 분석(Real-time Intelligent Video Analytics, RIVA) 중에 생성되는 중간 결과(Intermediate Result, IR)를 저장하는 제2 빅데이터 저장소, 그리고
상기 실시간 비디오 스트림 획득부, 상기 제1 빅데이터 저장소 및 상기 제2 빅데이터 저장소의 추상화로서, 웹 서비스를 통한 사용자의 데이터 액세스를 제공하는 비즈니스 로직
을 포함하며,
상기 실시간 비디오 스트림 획득부는 상기 RIVA 중에 생성되는 중간 결과를 읽어서 재컴파일을 피하는 재사용을 위해 상기 제2 빅데이터 저장소에 저장하는 중간 결과 관리기를 포함하는,
지능형 비디오 빅데이터 분석 시스템.
As a system for intelligently analyzing video big data in the cloud,
A real-time video stream acquisition unit that collects a real-time video stream collected from an external real-time video collection tool;
A first big data storage providing a persistent and distributed big data storage, storing a raw video stream of the real-time video stream;
Manage large-scale structured data in a distributed environment, and intermediate results generated during Real-time Intelligent Video Analytics (RIVA) based on metadata processed in the real-time video stream and the real-time video stream , a second big data storage that stores IR), and
As an abstraction of the real-time video stream acquisition unit, the first big data storage, and the second big data storage, a business logic that provides a user's data access through a web service
includes,
The real-time video stream obtaining unit includes an intermediate result manager that reads the intermediate result generated during the RIVA and stores it in the second big data storage for reuse to avoid recompilation,
Intelligent video big data analysis system.
제1항에 있어서,
상기 실시간 비디오 스트림 획득부는,
분산 메시징 시스템을 사용하여 생산자의 클러스터에서 미니 배치 형식으로 상기 실시간 비디오 스트림을 수집하고 사용자 클러스터로 라우팅하는 브로커 클라이언트 서비스 모듈,
클라이언트 어플리케이션 프로그래밍 인터페이스로서, 대규모 비디오 스트림을 처리하기 위해 상기 생산자 클러스터에 구성되는 비디오 스트림 획득 서비스 모듈,
클라이언트 어플리케이션 프로그래밍 인터페이스로서, 상기 비디오 스트림 획득 서비스 모듈에서 레코드를 수신하고 수신된 레코드를 처리하여 미니 배치를 구성하는 비디오 스트림 프로듀서 모듈, 그리고
상기 RIVA 중에 발생되는 이상에 대해 알림을 구성하는 라이프롱(lifelong) 비디오 스트림 모니터
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
According to claim 1,
The real-time video stream obtaining unit,
a broker client service module for collecting and routing said real-time video streams from clusters of producers in mini-batch format to clusters of users using a distributed messaging system;
A client application programming interface comprising: a video stream acquisition service module configured in the producer cluster to process a large video stream;
A client application programming interface, comprising: a video stream producer module for receiving records from the video stream acquisition service module and processing the received records to form a mini batch; and
A lifelong video stream monitor that configures notifications for anomalies that occur during the RIVA
Including, intelligent video big data analysis system.
제2항에 있어서,
상기 브로커 클라이언트 서비스 모듈은,
새로운 RIVA 서비스 생성 시 브로커 클러스터에서 동적으로 새로운 토픽을 생성하는 토픽 관리기, 그리고
비디오 스트림 데이터 소스의 비디오 스트림과 소비자 그룹의 스트림 소비에 따라 토픽의 파티션 개수를 자동으로 조정하는 파티션 관리기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
3. The method of claim 2,
The broker client service module,
A topic manager that dynamically creates a new topic in the broker cluster when a new RIVA service is created, and
A partition manager that automatically adjusts the number of partitions in a topic based on the consumption of a video stream from a video stream data source and a stream from a group of consumers.
Including, intelligent video big data analysis system.
제3항에 있어서,
상기 토픽 관리기는 상기 새로운 RIVA 서비스가 생성되는 경우 상기 브로커 클러스터 내에, 상기 RIVA 서비스를 나타내는 RIVA_ID 토픽, 중간 결과를 나타내는 RIVA_IR_ID 토픽 및 이상 발생을 나타내는 RIVA_A_ID 토픽을 구성하는,
지능형 비디오 빅데이터 분석 시스템.
4. The method of claim 3,
When the new RIVA service is created, the topic manager configures a RIVA_ID topic representing the RIVA service, a RIVA_IR_ID topic representing an intermediate result, and a RIVA_A_ID topic representing an abnormal occurrence in the broker cluster when the new RIVA service is created.
Intelligent video big data analysis system.
제2항에 있어서,
상기 비디오 스트림 획득 서비스 모듈은,
장치 독립적인 비디오 스트림 소스를 위한 인터페이스를 제공하는 비디오 스트림 획득 어댑터,
비디오 스트림을 디코딩하고 프레임을 감지한 다음 메타 데이터 추출을 수행하는 비디오 스트림 이벤트 프로듀서,
추출된 메타 데이터에 대해 프레임 크기 조정을 수행하는 프레임 전처리기, 그리고
상기 메타 데이터에 대해 비디오 스트림 소스와 통신하기 위한 JSON(JavaScript Object Notation) 개체를 정의하는 레코드 구성기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
3. The method of claim 2,
The video stream acquisition service module,
a video stream acquisition adapter that provides an interface for a device-independent video stream source;
a video stream event producer that decodes the video stream, detects frames, and then performs metadata extraction;
a frame preprocessor that performs frame resizing on the extracted metadata; and
A record constructor that defines a JavaScript Object Notation (JSON) object for communicating with the video stream source for said metadata.
Including, intelligent video big data analysis system.
제2항에 있어서,
상기 비디오 스트림 프로듀서 모듈에서의 레코드는 기본 메시지 형식을 가지며, 토픽 이름(Topic Name), 파티션 번호(Partition Number), 키(Key) 및 값(Value)의 필드를 포함하는,
지능형 비디오 빅데이터 분석 시스템.
3. The method of claim 2,
The record in the video stream producer module has a basic message format, and includes fields of a topic name, a partition number, a key, and a value,
Intelligent video big data analysis system.
제2항에 있어서,
상기 중간 결과 관리기는 상기 브로커 클러스터 내의 RIVA_IR_ID 토픽과 중간 결과를 송수신하여 분산된 환경에서의 관리를 수행하는,
지능형 비디오 빅데이터 분석 시스템.
3. The method of claim 2,
The intermediate result manager performs management in a distributed environment by transmitting and receiving intermediate results to and from the RIVA_IR_ID topic in the broker cluster,
Intelligent video big data analysis system.
제2항에 있어서,
상기 라이프롱 비디오 스트림 모니터는 상기 RIVA 중에 이상이 발생되는 경우 상기 브로커 클러스터 내의 RIVA_A_ID로 전달하는,
지능형 비디오 빅데이터 분석 시스템.
3. The method of claim 2,
The lifelong video stream monitor transmits to RIVA_A_ID in the broker cluster when an abnormality occurs during the RIVA,
Intelligent video big data analysis system.
제1항에 있어서,
상기 제1 빅데이터 저장소는,
서비스를 등록한 사용자에 대응하는 사용자 공간, 그리고
상기 사용자 공간과 상기 제1 빅데이터 저장소 내의 데이터를 관리하기 위한 액세스 제어기
를 포함하며,
상기 액세스 제어기는,
상기 비즈니스 로직에 따라 파일 작업 및 관한 제어를 관리하는 파일 시스템 핸들러, 그리고
실시간 및 오프라인 읽기-쓰기 작업을 수행하는 능동 데이터 액세스기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
According to claim 1,
The first big data storage is
A user space corresponding to a user who has registered the service, and
an access controller for managing data in the user space and the first big data repository
includes,
the access controller,
A file system handler for managing file operations and related control according to the business logic, and
Active data accessor performing real-time and offline read-write operations
Including, intelligent video big data analysis system.
제1항에 있어서,
상기 제2 빅데이터 저장소는,
상기 지능형 비디오 빅데이터 분석 시스템에서 사용되는 데이터를 저장하는 복수 유형의 저장소, 그리고
상기 비즈니스 로직에 따라 상기 복수 유형의 저장소에 대한에 대한 읽기-쓰기 액세스를 제공하는 액세스 제어기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
According to claim 1,
The second big data storage,
A plurality of types of storage for storing data used in the intelligent video big data analysis system, and
an access controller providing read-write access to the plurality of types of storage according to the business logic
Including, intelligent video big data analysis system.
제10항에 있어서,
상기 복수 유형의 저장소는,
사용자에게 역할 기반 액세스를 제공하며, 사용자 로그 및 역할 정보가 사용자 카탈로그를 통해 유지되는 사용자 프로파일 및 로그,
RIVA 서비스에 가입할 수 있는 비디오 스트림 소스와 배치 IVA(Batch IVA, BIVA) 서비스에 가입할 수 있는 비디오 데이터 세트를 관리하는 비디오 데이터 소스 메타 스토어,
IVA 알고리즘과 서비스를 관리하는 알고리즘 및 서비스 메타 스토어,
상기 중간 결과 관리기에 의해 전달되는 중간 결과를 관리하는 중간 결과 미들웨어, 그리고
RIVA 서비스에 대한 비디오 스트림 소스를 구독하는 사용자의 구독 정보를 관리하는 구독 메타 스토어
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
11. The method of claim 10,
The plurality of types of storage,
User profiles and logs that provide role-based access to users, and user logs and role information is maintained through a user catalog;
A video data source metastore that manages video stream sources that can subscribe to the RIVA service and video data sets that can subscribe to the Batch IVA (BIVA) service;
Algorithm and service metastore that manages IVA algorithms and services;
an intermediate result middleware for managing intermediate results delivered by the intermediate result manager; and
Subscription metastore managing subscription information of users who subscribe to video stream sources for RIVA service
Including, intelligent video big data analysis system.
제10항에 있어서,
상기 액세스 제어기는,
클러스터 구성, 연결 정보, 드라이버 및 보안 프로토콜 파라미터와 같은 구성 파라미터를 유지 관리하는 연결 구성기,
상기 제2 빅데이터 저장소의 스키마 구조를 유지하는 스키마 핸들러,
상기 제2 빅데이터 저장소에서 지속되는 데이터에 대한 생성, 읽기, 업데이트 및 삭제 작업을 수행하는 CRUD 오퍼레이터(Create, Read, Update, Delete Operator), 그리고
대량의 데이터를 로드하고 분산 테이블에 동일하게 유지하기 위한 읽기-쓰기 작동을 제공하는 수동 액세스기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
11. The method of claim 10,
the access controller,
a connection configurator that maintains configuration parameters such as cluster configuration, connection information, drivers and security protocol parameters;
a schema handler that maintains the schema structure of the second big data storage;
A CRUD operator (Create, Read, Update, Delete Operator) that performs create, read, update, and delete operations on data persisted in the second big data storage, and
A passive accessor that provides read-write operations for loading large amounts of data and keeping them the same in distributed tables.
Including, intelligent video big data analysis system.
제1항에 있어서,
상기 비즈니스 로직은,
새로운 사용자 계정 생성, 액세스 역할 할당 및 세션 관리와 같은 모든 사용자 관련 작업을 캡슐화하는 사용자 관리기,
사용자가 상기 지능형 비디오 빅데이터 분석 시스템의 배포 클라우드에서 데이터를 관리할 수 있게 하는 데이터 소스 관리기,
새로운 IVA 알고리즘 및 서비스의 관리, 개발 및 지원을 수행하는 IVA 알고리즘 및 서비스 관리기,
개발자가 의사 결정을 위한 중간 결과를 얻을 수 있게 하는 온톨로지 데이터 관리기, 그리고
시스템 관리자가 상기 지능형 비디오 빅데이터 분석 시스템의 상태와 기능을 모니터링할 수 있게 하는 클러스터 관리기
를 포함하는, 지능형 비디오 빅데이터 분석 시스템.
According to claim 1,
The business logic is
a user manager that encapsulates all user-related tasks, such as creating new user accounts, assigning access roles, and managing sessions;
a data source manager that allows users to manage data in the distribution cloud of the intelligent video big data analysis system;
IVA Algorithms and Services Manager to perform management, development and support of new IVA Algorithms and Services;
An ontology data manager that enables developers to obtain intermediate results for decision-making, and
A cluster manager that enables system administrators to monitor the status and function of the intelligent video big data analysis system.
Including, intelligent video big data analysis system.
비디오 빅데이터 분석 시스템이 클라우드에서 지능적으로 비디오 빅데이터를 분석하는 방법으로서,
스피드 계층 실행 시나리오에 따라, 외부 비디오 스트림 소스에 대한 인터페이스를 제공하는 제1 클러스터를 통해 비디오 스트림을 획득하는 단계 ,
획득되는 비디오 스트림을 브로커 클러스터인 제2 클러스터의 RIVA_ID 토픽에 로드하는 단계, 그리고
실시간 지능형 비디오 분석(RIVA) 서비스를 사용하면서 실시간으로 비디오 스트림을 처리하는 제3 클러스터가 상기 제2 클러스터의 RIVA_ID 비디오 스트림에 대해 RIVA 서비스를 제공하는 단계
를 포함하며,
상기 RIVA 서비스를 제공하는 단계에서, 상기 RIVA 서비스 중에 생성되는 중간 결과는 상기 제2 클러스터의 RIVA_IR_ID 토픽으로 전달되고, 중간 결과를 저장 관리하는 제4 클러스터가 상기 제2 클러스터의 RIVA_IR_ID 토픽에서 중간 결과를 지속적으로 읽어서 저장 관리하는,
지능형 비디오 빅데이터 분석 방법.
A method for a video big data analysis system to intelligently analyze video big data in the cloud, comprising:
acquiring a video stream through a first cluster that provides an interface to an external video stream source according to a speed layer execution scenario;
loading the obtained video stream into the RIVA_ID topic of the second cluster, which is a broker cluster, and
A third cluster that processes a video stream in real time while using a real-time intelligent video analysis (RIVA) service provides a RIVA service for the RIVA_ID video stream of the second cluster
includes,
In the step of providing the RIVA service, the intermediate result generated during the RIVA service is transferred to the RIVA_IR_ID topic of the second cluster, and the fourth cluster storing and managing the intermediate result receives the intermediate result from the RIVA_IR_ID topic of the second cluster continuously reading, storing and managing,
Intelligent video big data analysis method.
제14항에 있어서,
상기 제2 클러스터의 RIVA_ID 토픽에 로드하는 단계 후에,
비디오 스트림을 저장하는 제5 클러스터가 상기 제2 클러스터의 RIVA_ID 토픽에서 비디오 스트림을 읽는 단계,
상기 비디오 스트림에서 메타 데이터를 처리하는 단계, 그리고
상기 비디오 스트림을 제1 빅데이터 저장소에 저장하고, 상기 메타 데이터를 제2 빅데이터 저장소에 각각 저장하는 단계
를 더 포함하는 지능형 비디오 빅데이터 분석 방법.
15. The method of claim 14,
After loading into the RIVA_ID topic of the second cluster,
The fifth cluster storing the video stream reading the video stream from the RIVA_ID topic of the second cluster;
processing metadata in the video stream; and
Storing the video stream in a first big data storage and storing the metadata in a second big data storage, respectively
An intelligent video big data analysis method further comprising a.
제15항에 있어서,
상기 RIVA 서비스를 제공하는 단계에서, 상기 RIVA 서비스 중에 이상 현상이 발생되는 경우, 발생된 이상 현상을 상기 제2 클러스터의 RIVA_A_ID 토픽으로 전달하고, 이상 발생을 통지하는 제6 클러스터가 상기 제2 클러스터의 RIVA_A_ID 토픽에서 이상 현상을 읽어서 상기 제2 빅데이터 저장소에 저장하고 웹 서비스를 통해 상기 비디오 스트림 소스의 소유자에게 실시간으로 전달하는,
지능형 비디오 빅데이터 분석 방법.
16. The method of claim 15,
In the step of providing the RIVA service, when an abnormality occurs during the RIVA service, the generated abnormality is transferred to the RIVA_A_ID topic of the second cluster, and the sixth cluster notifying the occurrence of the abnormality Reading anomalies from the RIVA_A_ID topic, storing them in the second big data storage, and delivering them in real time to the owner of the video stream source through a web service,
Intelligent video big data analysis method.
비디오 빅데이터 분석 시스템이 클라우드에서 지능적으로 비디오 빅데이터를 분석하는 방법으로서,
배치(batch) 계층 실행 시나리오에 따라, 배치 비디오 획득 서비스를 제공하는 제1 클러스터를 통해 외부 배치 데이터를 획득하는 단계,
획득되는 배치 데이터를 처리하여 배치 비디오 데이터와 메타 데이터를 추출하는 단계,
상기 배치 비디오 데이터를 제1 빅데이터 저장소에 저장하고, 상기 메타 데이터를 제2 빅데이터 저장소에 저장하는 단계, 그리고
배치 지능형 비디오 분석(Batch Intelligent Video Analytics, BIVA) 서비스를 사용하는 제2 클러스터가 상기 제1 빅데이터 저장소에 저장된 배치 비디오 데이터에 대해 BIVA 서비스를 제공하는 단계
를 포함하며,
상기 BIVA 서비스를 제공하는 단계에서, 상기 BIVA 서비스 중에 생성되는 중간 결과는 상기 제2 빅데이터 저장소에 지속적으로 저장되고 다시 상기 제2 빅데이터 저장소로부터 읽혀져서 상기 BIVA 서비스 제공시 사용되는,
지능형 비디오 빅데이터 분석 방법.
A method for a video big data analysis system to intelligently analyze video big data in the cloud, comprising:
According to a batch layer execution scenario, acquiring external batch data through a first cluster providing a batch video acquisition service;
processing the obtained batch data to extract batch video data and metadata;
storing the batch video data in a first big data repository and storing the metadata in a second big data repository; and
providing, by a second cluster using a Batch Intelligent Video Analytics (BIVA) service, a BIVA service for the batch video data stored in the first big data repository;
includes,
In the step of providing the BIVA service, the intermediate result generated during the BIVA service is continuously stored in the second big data storage and read from the second big data storage again to be used when the BIVA service is provided,
Intelligent video big data analysis method.
제17항에 있어서,
상기 BIVA 서비스를 제공하는 단계 전에,
모델 저장 서비스를 제공하는 제3 클러스터를 통해 외부 배치 모델 데이터를 획득하는 단계,
획득되는 배치 모델 데이터를 처리하여 모델 데이터와 파일 메타 데이터를 추출하는 단계, 그리고
상기 모델 데이터를 상기 제1 빅데이터 저장소에 저장하고, 상기 파일 메타 데이터를 상기 제2 빅데이터 저장소에 저장하는 단계
를 더 포함하고,
상기 IVA 서비스를 제공하는 단계에서, 상기 제2 클러스터가 상기 제1 빅데이터 저장소에 저장된 배치 비디오 데이터와 모델 데이터에 대해 상기 BIVA 서비스를 제공하는,
지능형 비디오 빅데이터 분석 방법.
18. The method of claim 17,
Before providing the BIVA service,
acquiring externally deployed model data through a third cluster that provides a model storage service;
processing the obtained batch model data to extract model data and file metadata; and
storing the model data in the first big data storage and storing the file metadata in the second big data storage;
further comprising,
In the step of providing the IVA service, the second cluster provides the BIVA service for batch video data and model data stored in the first big data storage,
Intelligent video big data analysis method.
제17항에 있어서,
상기 BIVA 서비스를 제공하는 단계에서, 상기 BIVA 서비스 중에 이상 현상이 발생되는 경우, 발생된 이상 현상을 상기 제2 빅데이터 저장소에 전달하여 저장하는,
지능형 비디오 빅데이터 분석 방법.
18. The method of claim 17,
In the step of providing the BIVA service, when an abnormality occurs during the BIVA service, the generated abnormality is transferred to the second big data storage and stored,
Intelligent video big data analysis method.
KR1020210176051A 2020-12-10 2021-12-09 Intelligent Video Big Data Analytics System in Cloud and Method thereof KR20220082768A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200172409 2020-12-10
KR20200172409 2020-12-10

Publications (1)

Publication Number Publication Date
KR20220082768A true KR20220082768A (en) 2022-06-17

Family

ID=82268845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210176051A KR20220082768A (en) 2020-12-10 2021-12-09 Intelligent Video Big Data Analytics System in Cloud and Method thereof

Country Status (1)

Country Link
KR (1) KR20220082768A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582352A (en) * 2023-06-13 2023-08-11 国网浙江省电力有限公司宁波供电公司 Intelligent digital supervision method and system for data interaction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582352A (en) * 2023-06-13 2023-08-11 国网浙江省电力有限公司宁波供电公司 Intelligent digital supervision method and system for data interaction
CN116582352B (en) * 2023-06-13 2023-11-14 国网浙江省电力有限公司宁波供电公司 Intelligent digital supervision method and system for data interaction

Similar Documents

Publication Publication Date Title
CN109074377B (en) Managed function execution for real-time processing of data streams
US11711420B2 (en) Automated management of resource attributes across network-based services
US11755390B1 (en) Using keep-alive markers to extend redelivery deadlines
US10169433B2 (en) Systems and methods for an SQL-driven distributed operating system
US10324983B2 (en) Interactive visualizations for a recurrent neural network
US11334589B2 (en) System and platform for computing and analyzing big data
KR20210088737A (en) Method and apparatus for managing network-based media processing functions in a wireless communication system
WO2020154194A1 (en) Transformation configuration in instance data replication with bi-directional replication support
US9898332B2 (en) Generating differences for tuple attributes
US20140082586A1 (en) Application development system and method for object models and datagraphs in client-side and server-side applications
US11537936B2 (en) Data set generation for testing of machine learning pipelines
CN110710153B (en) First node device, readable storage medium, and computer-implemented method
US11563813B1 (en) Presentation of collaboration environments for a networked remote collaboration session
CN113010565A (en) Server cluster-based server real-time data processing method and system
KR102712550B1 (en) Centralized machine learning predictor for remote network management platform
WO2022104612A1 (en) Data distribution flow configuration method and apparatus, electronic device, and storage medium
US10474696B2 (en) Replication groups for content libraries
CN114265680A (en) Mass data processing method and device, electronic equipment and storage medium
Huang et al. A geospatial hybrid cloud platform based on multi-sourced computing and model resources for geosciences
US10951540B1 (en) Capture and execution of provider network tasks
KR20220082768A (en) Intelligent Video Big Data Analytics System in Cloud and Method thereof
Vergadia Visualizing Google Cloud: 101 Illustrated References for Cloud Engineers and Architects
WO2022104611A1 (en) Data distribution system and data distribution method
US11798235B1 (en) Interactions in networked remote collaboration environments
US11924284B1 (en) Automated security, orchestration, automation, and response (SOAR) app generation based on application programming interface specification data

Legal Events

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