KR101883671B1 - Method and management server for dtitributing node - Google Patents
Method and management server for dtitributing node Download PDFInfo
- Publication number
- KR101883671B1 KR101883671B1 KR1020170125537A KR20170125537A KR101883671B1 KR 101883671 B1 KR101883671 B1 KR 101883671B1 KR 1020170125537 A KR1020170125537 A KR 1020170125537A KR 20170125537 A KR20170125537 A KR 20170125537A KR 101883671 B1 KR101883671 B1 KR 101883671B1
- Authority
- KR
- South Korea
- Prior art keywords
- streaming
- server
- streaming server
- nodes
- servers
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명은 노드 분산 방법 및 이를 수행하는 관리 서버에 관한 것으로서, 보다 자세하게는 복수의 노드로부터 영상을 수신하여 클라이언트 단말로 전송하는 복수의 스트리밍 서버가 복수의 노드와 분산 연결되도록 노드를 분산하는 기술에 관한 것이다.The present invention relates to a node distributing method and a management server for performing the node distributing method. More particularly, the present invention relates to a technique of distributing nodes so that a plurality of streaming servers, which receive images from a plurality of nodes and transmit them to client terminals, .
이동통신망의 발달과 단말기 사양의 발전에 따라 종래의 단순한 통신장치 또는 정보 제공 장치의 범주를 벗어나 이동통신 단말기는 현대인의 필수 소지품이 되었고, 토탈 엔터테인먼트 기기로 진화해 가고 있는 추세에 있다. With the development of the mobile communication network and the development of the terminal specification, the mobile communication terminal has become a necessity of modern people and has evolved into a total entertainment device beyond the conventional category of simple communication apparatus or information providing apparatus.
특히, 컴퓨터 네트워크의 기술 발전에 따라, 각 단말기의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다. 이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말기를 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다. 그리고, 클라우드 스트리밍 서비스에 따르면, 스트리밍 서버에서 실시간 동영상을 엔코딩하여 단말기에 전달하고 단말기는 이 동영상을 디코딩하여 디스플레이한다.Particularly, according to the development of the computer network, the existing computing environment which relies on the independent hardware performance of each terminal is a cloud computing type that provides the service according to the request of the terminal utilizing all the computing resources on the network . According to such cloud computing, a user accesses a cloud network through a terminal that performs only network connection and basic computation functions, performs tasks requiring a large-capacity storage device, a high-performance computing resource, and receives various services. According to the cloud streaming service, a streaming server encodes a real-time moving image and transmits the real-time moving image to the terminal, and the terminal decodes and displays the moving image.
한편, 최근 들어, 정보 통신 기술의 발달로 인하여 영상을 촬영하여 전송하는 기술이 나날이 발전하고 있다. 현재 카메라에서 촬영한 영상을 부호화하여 IP 패킷으로 변환한 후, 네트워크를 통해 전송하여 저장하는 IP 카메라 기반의 영상 모니터링 시스템이 대세를 이루고 있다. 이러한 시스템은 감시 영역의 카메라로부터 촬영된 비디오 데이터를 관리하여 사용자에게 제공한다. On the other hand, in recent years, due to the development of information and communication technology, techniques for capturing and transmitting images are being developed day by day. An IP camera-based video monitoring system that encodes an image captured by a camera and converts it into an IP packet and transmits the IP packet through a network and stores the IP packet is becoming popular. Such a system manages the video data photographed from the camera in the surveillance area and provides it to the user.
카메라에서 촬영된 영상을 전송하는 복수의 노드는 자신에게 할당된 스트리밍 서버로 영상을 전송한다. 스트리밍 서버는 수신된 영상을 클라이언트 단말로 실시간 전송하면서, 저장할 수도 있다. A plurality of nodes that transmit images photographed by a camera transmit images to a streaming server assigned to them. The streaming server may store the received image while transmitting it to the client terminal in real time.
이때, 종래에는 노드에 연결된 스트리밍 서버를 변경하고자할 경우, 일단 노드의 전원을 오프시킨 후, 관리자가 구성 파일(Config)을 직접 편집(editing) 한후, 이러한 구성 파일을 스트리밍 서버에 전달해야 한다. In this case, when the streaming server connected to the node is changed, the administrator must directly edit the configuration file (Config) after turning off the power of the node, and then transmit the configuration file to the streaming server.
이와 같이, 종래에 노드와 스트리밍 서버 간의 연결 관리는 수작업으로 이루어져야 했다. As described above, conventionally, the connection management between the node and the streaming server has to be performed manually.
본 발명이 이루고자 하는 기술적 과제는 영상을 전송하는 복수의 노드와 복수의 스트리밍 서버 간의 분산 연결을 분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여 자동으로 수행하는 노드 분산 방법 및 이를 수행하는 관리 서버를 제공하는 것이다.According to an aspect of the present invention, there is provided a node distribution method for automatically performing distributed connections between a plurality of nodes for transmitting images and a plurality of streaming servers using Distributed Hash Tables (DHTs or DHTs) Management server.
따라서 상기한 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 노드 분산 방법은 적어도 하나의 프로세서에 의해 동작하는 관리 서버에서 수행되는 노드 분산 방법으로서, 영상을 전송하는 복수의 노드와 상기 영상을 수신하여 클라이언트 단말로 전송하는 복수의 스트리밍 서버가 분산 연결되도록, 분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여 상기 복수의 스트리밍 서버에 상기 복수의 노드를 할당하는 단계, 상기 복수의 스트리밍 서버 각각의 상태를 모니터링하는 단계, 모니터링한 상태가 기 정의된 조건을 충족하는 제1 스트리밍 서버와 연결된 복수의 노드와 상기 제1 스트리밍 서버 간의 연결을 해제시키는 단계, 그리고 연결이 해제된 복수의 노드를 상기 제1 스트리밍 서버를 제외한 나머지 스트리밍 서버들 중 적어도 하나의 제2 스트리밍 서버에 상기 분산 해시 테이블을 이용하여 재할당하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for distributing a node, which is performed in a management server operated by at least one processor, Allocating the plurality of nodes to the plurality of streaming servers using distributed Hash Tables (DHTs or DHTs) so that a plurality of streaming servers transmitting to a client terminal are distributedly connected, The method comprising the steps of: monitoring each state; disconnecting a connection between a first streaming server and a plurality of nodes connected to a first streaming server whose monitored state satisfies a predefined condition; At least one of the remaining streaming servers except for the first streaming server And reassigning to the second streaming server using the distributed hash table.
또한, 본 발명의 실시예에 따른 관리서버는 영상을 전송하는 복수의 노드 및, 상기 영상을 수신하여 클라이언트 단말로 전송하는 복수의 스트리밍 서버와 각각 연결되어 데이터를 송수신하는 통신 장치, 상기 복수의 노드를 상기 복수의 스트리밍 서버에 분산 할당하는 프로그램을 저장하는 메모리 장치, 그리고 상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 프로그램은, 분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여 상기 복수의 스트리밍 서버에 상기 복수의 노드를 할당하고, 상기 복수의 스트리밍 서버 각각의 상태를 모니터링하여, 모니터링한 상태가 기 정의된 조건을 충족하는 제1 스트리밍 서버와 복수의 노드 간의 연결을 해제시키고, 연결이 해제된 복수의 노드를 상기 제1 스트리밍 서버를 제외한 나머지 스트리밍 서버들 중 적어도 하나의 제2 스트리밍 서버에 상기 분산 해시 테이블을 이용하여 재할당하는 명령어들(Instructions)을 포함한다.A management server according to an embodiment of the present invention includes a plurality of nodes for transmitting images and a plurality of streaming servers for receiving the images and transmitting the images to client terminals, And distributing the program to a plurality of streaming servers, and at least one processor for executing the program, wherein the program uses distributed Hash Tables (DHTs or DHTs) Allocating the plurality of nodes to the plurality of streaming servers and monitoring the status of each of the plurality of streaming servers to release connection between the first streaming server and the plurality of nodes, , A plurality of nodes that are disconnected from the first streaming server And instructions for reassigning at least one of the streaming servers to the second streaming server using the distributed hash table.
본 발명의 실시예에 따르면, 사용자가 서버 구성을 자유롭게 할 수 있고, 갑작스런 서버 실패(Fail)에도 데이터의 손실없이 정상적으로 보안 관제 시스템을 운영할 수 있다. According to the embodiment of the present invention, the user can freely configure the server, and can normally operate the security control system without a sudden server failure or data loss.
또한, 스트리밍 서버의 부하가 큰 경우나 저장 공간이 부족한 경우에는 분산해시 테이블을 이용해 자동적으로 노드를 서버에 재분배함으로써 사전에 문제가 발생하지 않도록 조정할 수 있다.Also, when the load of the streaming server is large or when the storage space is insufficient, the node can be automatically redistributed to the server by using the distributed Hash table to prevent the problem from occurring in advance.
또한, 새롭게 노드(또는 카메라)를 추가하는 경우에도 어떤 스트리밍 서버에 분배할지 사용자는 고민할 필요가 없으며, 스트리밍 서버에 자동으로 노드 분배가 이루어진다. In addition, even when a node (or a camera) is newly added, the user does not need to worry about which streaming server to distribute, and node distribution is automatically performed to the streaming server.
또한, 영상이 스트리밍 서버1에서 저장되다가 스트리밍 서버1에 장애가 발생하는 경우, 영상은 자동으로 스트리밍 서버2로 전달되어 저장이 되므로, 끊김없이 재생하는 것이 가능하다.In addition, when a video is stored in the streaming server 1 and a fault occurs in the streaming server 1, the video is automatically transferred to the streaming server 2 and stored, so that it is possible to play back the video without interruption.
도 1은 본 발명의 실시예에 따른 클라우드 컴퓨팅 보안 관제 시스템의 구성도이다.
도 2는 본 발명의 한 실시예에 따른 노드 분산 방법의 일련의 과정을 나타낸 순서도이다.
도 3은 본 발명의 다른 실시예에 따른 관리 서버에서 수행되는 노드 분산 동작을 나타낸 순서도이다.
도 4는 본 발명의 실시예에 따른 영상의 끊김없는 전송을 설명하는 개념도이다.
도 5는 본 발명의 실시예에 따른 관리 서버의 하드웨어 구성을 개략적으로 나타낸 블록도이다.1 is a configuration diagram of a cloud computing security control system according to an embodiment of the present invention.
2 is a flowchart illustrating a series of processes of a node distribution method according to an embodiment of the present invention.
3 is a flowchart illustrating a node distribution operation performed in a management server according to another embodiment of the present invention.
4 is a conceptual diagram illustrating seamless transmission of an image according to an embodiment of the present invention.
5 is a block diagram schematically showing a hardware configuration of a management server according to an embodiment of the present invention.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise. Also, the terms " part, "" ... "," module ", and the like described in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software .
이제, 도면을 참조하여 본 발명의 실시예에 따른 노드 분산 방법 및 이를 수행하는 관리 서버에 대하여 자세히 설명한다.Now, a node distribution method according to an embodiment of the present invention and a management server for performing the method will be described in detail with reference to the drawings.
도 1은 본 발명의 실시예에 따른 클라우드 컴퓨팅 보안 관제 시스템의 구성도이다.1 is a configuration diagram of a cloud computing security control system according to an embodiment of the present invention.
도 1을 참조하면, 관리 서버(100)는 서버 컴퓨터 장치로서, 복수의 노드(200) 또는 복수의 스트리밍 서버(300)와 연결된다.Referring to FIG. 1, a
관리 서버(100)는 복수의 노드(200)와 복수의 스트리밍 서버(300)가 분산 연결되도록, 분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여 복수의 스트리밍 서버(300)에 복수의 노드(200)를 분산 할당한다. The
여기서, 분산 해시 테이블(DHT)은 해시 테이블을 분산하여 관리하는 기술이다. 분산 해시 테이블(DHT) 알고리즘은, 크게 Keyspace Partitioning, Overlay Network의 두 부분으로 이루어져 해시의 키 집합들을 분산 시스템 내부의 각 노드, 즉, 스트리밍 서버(300)에 분산시키고 키의 위치를 찾아갈 수 있도록 라우팅하는 알고리즘을 통해 분산 시스템 내부의 네트워크를 떠돌며 목적지를 찾아가는 것이다.Here, the distributed hash table (DHT) is a technique for managing and managing hash tables in a distributed manner. The distributed hash table (DHT) algorithm is divided into two parts: Keyspace Partitioning and Overlay Network, so that the key sets of the hash are distributed to each node in the distributed system, that is, the
분산 해시 테이블(DHT)은 해싱을 통하여 생성된 키 값과 ID 짝들을 분산 시스템을 구성하는 모든 노드들, 즉, 본 발명의 실시예에서는 스트리밍 서버(300)들에 균일하게 분산한다. 이때, ID는 서버 순번 또는 서버명이 될 수 있다. 이러한 분산 해시 테이블(DHT) 알고리즘의 예로, Chord, Pastry, CAN 등이 있다. The distributed hash table DHT uniformly distributes key values and ID pairs generated by hashing to all the nodes constituting the distributed system, that is, the
관리 서버(100)는 이러한 분산 해시 테이블(DHT) 알고리즘을 이용하여 복수의 스트리밍 서버(300)에 복수의 노드(200)를 분산 할당한다. The
이때, 관리 서버(100)는 주기적으로 복수의 스트리밍 서버(300)의 상태를 모니터링하여, 모니터링한 상태가 기 정의된 조건을 충족하는 적어도 하나의 제1 스트리밍 서버(300)와 연결된 복수의 노드(200)에 대해 재할당을 수행한다. 즉, 기 정의된 조건을 충족하는 적어도 하나의 제1 스트리밍 서버(300)와 복수의 노드(200) 간의 연결을 해제시킨다. 그리고 제1 스트리밍을 제외한 나머지 스트리밍 서버들을 연결이 해제된 복수의 노드(200)에 대한 재할당 대상으로 설정하여, 분산 해시 테이블(DHT) 알고리즘을 재수행한다. At this time, the
이때, 재할당을 수행하게 하는 기 정의된 조건은 스트리밍 서버의 과부하 여부, 저장 공간의 부족 상태, 서버 장애 등을 포함한다. At this time, predefined conditions for performing the reallocation include whether the streaming server is overloaded, insufficient storage space, or a server failure.
노드(200)는 자신과 연결된 스트리밍 서버(300)로 영상을 전송하는 노드로 정의된다. 노드(200)는 개인의 영상 정보 또는 관제 하고자 하는 관제 지점을 촬영하고, 촬영한 영상 정보를 자신이 할당받은 스트리밍 서버(300)에게 전송한다. 이러한 노드(200)는 IP 카메라, CCTV 등이 될 수 있으나, 이에 국한되는 것은 아니다.The
스트리밍 서버(300)는 자신과 연결된 노드(200)로부터 수신되는 영상을 클라이언트 단말(미도시)로 실시간 전송한다. 스트리밍 서버(300)는 노드(200)로부터 수신되는 영상을 내부의 메모리에 저장하거나, 저장 기능을 수행하는 별도의 물리장치 또는 가상화 자원에 설치된 저장 장치(DB)에 저장할 수 있다. The
그런데, 노드(200)가 신규로 추가되거나, 또는 스트리밍 서버(300)가 추가되는 경우, 노드(200)와 스트리밍 서버(300) 간의 재할당이 필요하다. 또한, 스트리밍 서버(300) 중에 과부하, 저장공간 부족, 장애 등의 서버 동작이 저하되거나 불가한 경우가 발생하는 경우에도, 노드(200)와 스트리밍 서버(300) 간의 재할당이 필요하다. 본 발명의 실시예에서는 다음과 같은 일련의 과정을 통해 노드(200)와 스트리밍 서버(300) 간의 자동화된 재할당이 이루어진다. If the
도 2는 본 발명의 한 실시예에 따른 노드 분산 방법의 일련의 과정을 나타낸 순서도로서, 관리 서버에서 수행되는 동작을 나타낸다.FIG. 2 is a flowchart illustrating a series of processes of a node distribution method according to an embodiment of the present invention, and shows operations performed in a management server.
도 2를 참조하면, 관리 서버(100)는 분산 해시 테이블(DHT)을 기초로 복수의 노드(200)를 복수의 스트리밍 서버(300)에 분산 할당한다(S101). 이때, 관리 서버(100)는 노드(200)에 할당된 노드 번호로부터 분산 해시 테이블(DHT)에 할당된 해시값을 획득한다. 그리고 획득한 해시값으로부터 스트리밍 서버(300)에 할당된 서버 번호를 획득한 후, 그 스트리밍 서버(300)에 노드(200)를 분배한다. 만약, 오류 등으로 그 스트리밍 서버(300)가 분배가 불가능하다면, 서버 랜덤값을 해시값에 추가하여 새로운 서버 번호를 획득하고, 그 서버 번호에 해당하는 스트리밍 서버(300)에 노드(200)를 분배한다. 이때, 서버 랜덤값은 이전에 설정된 서버 번호를 제외하거나 오류 등이 발생된 서버 번호를 제외하도록 하여 서버 번호의 중복을 방지할 수도 있다.Referring to FIG. 2, the
이후, 관리 서버(100)는 주기적으로 복수의 스트리밍 서버(300) 각각의 상태를 모니터링한다(S103).Thereafter, the
관리 서버(100)는 모니터링한 결과를 토대로 복수의 스트리밍 서버(300) 중에서 임의의 제1 스트리밍 서버(300)의 CPU(central processing unit) 점유율이 CPU 임계치(A)를 초과하는지, 또는 네트워크 송신(Rx) 부하가 송신 임계치(B)를 초과하는지, 또는 네트워크 수신(Rx) 부하가 수신 임계치(C)를 초과하는지 판단한다(S105). 이 중에서 적어도 하나라도 해당되면, 관리 서버(100)는 임의의 제1 스트리밍 서버(300)를 과부하 상태로 판단하여, 복수의 노드(200)와의 연결 해제를 결정한다(S107).The
관리 서버(100)는 과부하 상태로 판단된 제1 스트리밍 서버(300)를 제외한 나머지 복수의 스트리밍 서버 중에서 적어도 하나의 제2 스트리밍 서버(300)의 상태를 확인한다(S109).The
이때, 적어도 하나의 제2 스트리밍 서버(300)는 S101 단계에서 할당이 이미 이루어진 스트리밍 서버(300)와, 새로 추가되는 스트리밍 서버(300)를 포함할 수 있다. At this time, at least one
관리 서버(100)는 적어도 하나의 제2 스트리밍 서버(300)의 CPU 점유율이 CPU 임계치(A) 미만이고, 네트워크 송신 부하가 송신 임계치(B) 미만이며, 네트워크 수신 부하가 수신 임계치(C) 미만에 모두 해당하는지 판단한다(S111). The
이때, A, B, C는 운영자가 설정한 값이다. At this time, A, B, and C are values set by the operator.
관리 서버(100)는 S111 단계에서 모두 해당된다고 판단된 적어도 하나의 제2 스트리밍 서버(300)의 부하 상태가 양호하다고 판단하여, 분산 해시 테이블(DHT)을 이용한 재할당을 수행한다(S113). 이때, 재할당 대상인 노드(200)는 S101 단계에서 할당이 이미 이루어진 복수의 노드(200)와, 새로 추가되는 적어도 하나의 노드(200)를 포함할 수 있다.In step S113, the
관리 서버(100)는 재할당 대상인 노드(200)의 개수가 50을 초과하는지 판단(S115)하여, 초과하면, 대기 상태로 돌입한다(S117).The
한편, S105 단계에서 조건을 충족하지 못하거나, S111 단계에서 조건을 충족하지 못하는 경우에도, 관리 서버(100)는 대기 상태로 돌입한다(S117).On the other hand, even if the condition is not satisfied in step S105 or the condition is not satisfied in step S111, the
또한, S105 단계와 S111 단계에서는 스트리밍 서버(300)의 과부하 상태만을 판단하였으나, 저장공간의 잔여공간이 부족한 상태인지를 확인한 후, 잔여공간이 충분한 스트리밍 서버(300)로 재할당을 수행할 수도 있다.In steps S105 and S111, after determining only the overload state of the
도 3은 본 발명의 다른 실시예에 따른 관리 서버에서 수행되는 노드 분산 동작을 나타낸 순서도로서, 도 2의 S103 단계 이후 추가될 수 있다. FIG. 3 is a flowchart illustrating a node distribution operation performed in the management server according to another embodiment of the present invention, and may be added after step S103 of FIG.
도 3을 참조하면, 관리 서버(100)는 스트리밍 서버(300)의 상태 모니터링 결과, 복수의 스트리밍 서버(300) 중에서 장애가 발생한 스트리밍 서버(300)가 감지되면(S201), 장애가 발생한 스트리밍 서버(300)를 복수의 노드(200)의 재할당 대상 서버에서 제외시킨다(S203). Referring to FIG. 3, when the
이상 기술한 바에 따르면, 관리 서버(100)는 유동적으로 어떤 스트리밍 서버(300)가 어떤 노드(200)를 관리하고 저장할 것인지를 결정해서 분배하는데, 이때, 분산 해시 테이블(DHT)을 이용한다. 따라서, 특정 스트리밍 서버(300)에 노드(200)가 과도하게 분배될 수 있는 가능성을 방지할 수 있다.According to the above description, the
또한, 분산 해시 테이블(DHT)을 이용할 경우 노드(200)가 스트리밍 서버(300)에 고르게 분산된다는 장점과 더불어 동일한 노드가 재분배될 때, 예를들면, 전체 시스템 다운 후 재부팅하는 경우, 이전에 연결된 스트리밍 서버(300)로 재분배 될 가능성이 높다. 따라서, 동일한 노드(200)의 데이터는 여러 스트리밍 서버(300)로 분산되지 않도록 함으로써, 관리 효율을 높일 수 있다.In addition, with the advantage that the
전체 노드(200)는 스트리밍 서버(300)에 고르게 분산될수록 효율이 좋아지지만, 개별 노드(200)의 데이터는 하나의 스트리밍 서버(300)로 전달되어 유지될 수록 효율이 높다. 클라우드 보안 관제 시스템의 특성상 개별 노드(200)의 스트리밍 이터가 하나의 스트리밍 서버(300)에만 저장되는 것을 보장할 수 없는데 분산 해시 테이블(DHT)을 이용할 경우, 이러한 보장이 가능하게 된다. Efficiency is improved as the
도 4는 본 발명의 실시예에 따른 영상의 끊김없는 전송을 설명하는 개념도이다.4 is a conceptual diagram illustrating seamless transmission of an image according to an embodiment of the present invention.
도 4를 참조하면, 영상이 스트리밍 서버(300)에 저장되는 경우, 임의의 노드1로부터 수신되는 영상이 제1 스트리밍 서버(300)에 저장되다가, 제1 스트리밍 서버(300)의 동작이 멈추는 경우, 노드 재할당 과정을 통해 제2 스트리밍 서버(300)로 자동으로 전송되어 저장된다. 이후, 제1 스트리밍 서버(300)의 동작이 재개하는 경우, 저장 영상의 재생은 각각 다른 스트리밍 서버(300)를 통해 이어져 끊김없이 재생하는 것이 가능하다. 4, when an image is stored in the
한편, 도 5는 본 발명의 실시예에 따른 관리 서버의 하드웨어 구성을 개략적으로 나타낸 블록도이다. Meanwhile, FIG. 5 is a block diagram schematically showing a hardware configuration of a management server according to an embodiment of the present invention.
도 5를 참조하면, 관리 서버(400)는 통신 장치(401), 메모리 장치(403) 및 적어도 하나의 프로세서(405)를 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장되며, 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다.5, the
통신 장치(401)는 복수의 노드(도 1의 200) 및, 복수의 스트리밍 서버(도 1의 300)와 각각 연결되어 데이터를 송수신한다. 메모리 장치(403)는 복수의 노드(200)를 복수의 스트리밍 서버(300)에 분산 할당하는 프로그램을 저장한다. 이러한 프로그램은 도 1부터 도 4를 참고로 설명한 본 발명의 동작 방법을 프로그램 언어에 의해 작성한 소프트웨어 프로그램으로서, 도 1부터 도 3을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어들(Instructions)을 포함하고, 메모리(403)와 적어도 하나의 프로세서(405) 등의 하드웨어와 결합하여 본 발명을 구현한다.The
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다. The embodiments of the present invention described above are not implemented only by the apparatus and method, but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.
Claims (11)
영상을 전송하는 복수의 노드와 상기 영상을 수신하여 클라이언트 단말로 전송하는 복수의 스트리밍 서버가 분산 연결되도록, 분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여, 서버 순번 또는 서버명이 키 값으로 설정된 키의 위치를 찾아갈 수 있도록 라우팅하는 알고리즘을 통해 상기 복수의 스트리밍 서버에 상기 복수의 노드를 할당하는 단계,
상기 복수의 스트리밍 서버 각각의 상태를 모니터링하는 단계,
모니터링한 상태가 기 정의된 조건을 충족하는 제1 스트리밍 서버와 연결된 복수의 노드와 상기 제1 스트리밍 서버 간의 연결을 해제시키는 단계, 그리고
연결이 해제된 복수의 노드를 상기 제1 스트리밍 서버를 제외한 나머지 스트리밍 서버들 중 적어도 하나의 제2 스트리밍 서버에 상기 분산 해시 테이블을 이용하여 재할당하는 단계,
상기 해제시키는 단계는,
과부하 상태, 저장 공간의 부족 상태 및 서버 장애로 판단된 제1 스트리밍 서버와 상기 제1 스트리밍 서버에 연결된 복수의 노드 간의 연결을 해제시키고,
상기 재할당하는 단계는,
연결이 해제된 복수의 노드를 부하 상태가 양호하다고 판단되는 적어도 하나의 제2 스트리밍 서버에 재할당하고,
상기 모니터링하는 단계는,
상기 제1 스트리밍 서버의 CPU(central processing unit) 점유율, 네트워크 송신 부하 및 네트워크 수신 부하 중 적어도 하나를 모니터링하고,
상기 해제시키는 단계는,
상기 CPU 점유율이 CPU 임계치를 초과하는 경우, 상기 네트워크 송신 부하가 송신 임계치를 초과하는 경우 및 상기 네트워크 수신 부하가 수신 임계치를 초과하는 경우 중 적어도 하나의 경우에 해당하면, 상기 제1 스트리밍 서버를 과부하 상태로 판단하고,
상기 재할당하는 단계는,
상기 제2 스트리밍 서버의 CPU(central processing unit) 점유율이 CPU 임계치 미만이고, 네트워크 송신 부하가 송신 임계치 미만이며, 네트워크 수신 부하가 수신 임계치 미만인 경우, 상기 제2 스트리밍 서버의 부하 상태가 양호하다고 판단하고,
상기 모니터링하는 단계는,
상기 복수의 스트리밍 서버 각각의 저장공간의 잔여공간이 부족한 상태인지 모니터링하고,
상기 재할당하는 단계는,
연결이 해제된 복수의 노드를 상기 잔여공간이 충분하다고 판단되는 적어도 하나의 제2 스트리밍 서버에 재할당하고,
상기 모니터링하는 단계 이후,
상기 복수의 스트리밍 서버 중에서 장애가 발생한 스트리밍 서버를 상기 복수의 노드의 재할당 대상 서버에서 제외시키는 단계를 더 포함하는, 노드 분산 방법.CLAIMS 1. A node distribution method performed on a management server operated by at least one processor,
A server sequential number or a server name is set using a distributed hash table (DHT or DHTs) so that a plurality of nodes transmitting the video and a plurality of streaming servers receiving the video and transmitting the video to the client terminal are distributedly connected. Allocating the plurality of nodes to the plurality of streaming servers through an algorithm for routing to locate a key set to the streaming server,
Monitoring the status of each of the plurality of streaming servers,
Releasing a connection between the first streaming server and a plurality of nodes connected to the first streaming server whose monitored state meets a predefined condition, and
Reallocating a plurality of disconnected nodes to at least one second streaming server among the remaining streaming servers except for the first streaming server using the distributed hash table;
Wherein the step of releasing comprises:
Disconnects a first streaming server determined as an overload state, a storage space shortage state, and a server failure, and a plurality of nodes connected to the first streaming server,
Wherein the reallocating comprises:
Reassigning the plurality of disconnected nodes to at least one second streaming server judged to be in good load condition,
Wherein the monitoring comprises:
Monitoring at least one of a central processing unit (CPU) occupancy of the first streaming server, a network transmission load, and a network reception load,
Wherein the step of releasing comprises:
If the CPU occupation rate exceeds a CPU threshold, if the network transmission load exceeds a transmission threshold, and if the network reception load exceeds a reception threshold, if the first streaming server is overloaded State,
Wherein the reallocating comprises:
When the occupancy rate of the central processing unit (CPU) of the second streaming server is less than the CPU threshold, the network transmission load is less than the transmission threshold, and the network reception load is less than the reception threshold, the load state of the second streaming server is determined to be good ,
Wherein the monitoring comprises:
Monitoring whether the remaining space of the storage space of each of the plurality of streaming servers is insufficient,
Wherein the reallocating comprises:
Reassigning a plurality of disconnected nodes to at least one second streaming server determined to have sufficient remaining space,
After the monitoring step,
And excluding the failed streaming server from among the plurality of streaming servers from the reallocation target server of the plurality of nodes.
상기 복수의 노드를 상기 복수의 스트리밍 서버에 분산 할당하는 프로그램을 저장하는 메모리 장치, 그리고
상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 프로그램은,
분산 해시 테이블(Distributed Hash Tables, DHT 또는 DHTs)을 이용하여 상기 복수의 스트리밍 서버에 상기 복수의 노드를 할당하되,
상기 프로그램은, 해싱을 통하여 생성된 키 값과 서버 순번 또는 서버명이 되는 ID 짝들을 분산 시스템을 모든 상기 스트리밍 서버에 균일하게 분산하고,
상기 복수의 스트리밍 서버 각각의 상태를 모니터링하여, 모니터링한 상태가 기 정의된 조건을 충족하는 제1 스트리밍 서버와 복수의 노드 간의 연결을 해제시키고,
연결이 해제된 복수의 노드를 상기 제1 스트리밍 서버를 제외한 나머지 스트리밍 서버들 중 적어도 하나의 제2 스트리밍 서버에 상기 분산 해시 테이블을 이용하여 재할당하는 명령어들(Instructions)을 포함하고,
상기 프로그램은,
상기 복수의 스트리밍 서버 각각의 부하 상태, 저장공간의 잔여공간 및 장애 발생 여부 중 적어도 하나를 모니터링하고,
과부하 상태, 상기 잔여공간이 부족한 상태 및 장애 발생 중 적어도 하나에 해당하는 제1 스트리밍 서버와 연결된 복수의 노드를 상기 제1 스트리밍 서버와 연결 해제시킨 후, 상기 적어도 하나의 제2 스트리밍 서버에 재할당하는 명령어들을 포함하고,
상기 프로그램은,
상기 제1 스트리밍 서버의 CPU(central processing unit) 점유율이 CPU 임계치를 초과하는 상태, 상기 제1 스트리밍 서버의 네트워크 송신 부하가 송신 임계치를 초과하는 상태 및 상기 제1 스트리밍 서버의 네트워크 수신 부하가 수신 임계치를 초과하는 상태 중 적어도 하나의 상태에 해당되면, 상기 제1 스트리밍 서버를 과부하 상태로 판단하고,
상기 CPU 점유율이 CPU 임계치 미만이고, 상기 네트워크 송신 부하가 송신 임계치 미만이며, 상기 네트워크 수신 부하가 수신 임계치 미만인 적어도 하나의 제2 스트리밍 서버에 상기 연결이 해제된 복수의 노드를 재할당하는 명령어들을 포함하고,
상기 프로그램은,
상기 잔여공간이 부족한 상태인 제1 스트리밍 서버와 복수의 노드 간의 연결을 해제시키고,
상기 잔여공간이 충분하다고 판단되는 적어도 하나의 제2 스트리밍 서버에 연결이 해제된 복수의 노드를 재할당하는 명령어들을 포함하고,
상기 프로그램은,
상기 복수의 스트리밍 서버 중 장애가 발생한 스트리밍 서버를 상기 복수의 노드의 재할당 서버에서 제외시키는 명령어들을 포함하는, 관리 서버.
A communication device connected to each of a plurality of nodes for transmitting images and a plurality of streaming servers for receiving the images and transmitting the images to client terminals,
A memory device for storing a program for distributedly assigning the plurality of nodes to the plurality of streaming servers, and
And at least one processor for executing the program,
The program includes:
Allocating the plurality of nodes to the plurality of streaming servers using distributed Hash Tables (DHTs or DHTs)
Wherein the program distributes a key value generated by hashing and ID pairs of a server number or a server name uniformly to all the streaming servers,
Monitoring a state of each of the plurality of streaming servers, releasing a connection between a first streaming server and a plurality of nodes whose monitored state satisfies a predefined condition,
Instructions for reallocating a plurality of disconnected nodes to at least one second streaming server among the remaining streaming servers except for the first streaming server using the distributed hash table,
The program includes:
Monitoring at least one of a load state of each of the plurality of streaming servers, a remaining space of the storage space,
Disconnection of a plurality of nodes connected to a first streaming server corresponding to at least one of an overload state, a shortage of the remaining space, and a failure occurrence to the first streaming server and reassignment to the at least one second streaming server , ≪ / RTI >
The program includes:
A state in which a CPU (central processing unit) occupancy rate of the first streaming server exceeds a CPU threshold, a state in which a network transmission load of the first streaming server exceeds a transmission threshold, and a state in which a network reception load of the first streaming server exceeds a reception threshold The first streaming server is determined to be in an overloaded state, and if it is determined that the first streaming server is overloaded,
Includes instructions for reassigning the disconnected nodes to at least one second streaming server where the CPU occupancy is below a CPU threshold, the network transmission load is below a transmission threshold, and the network reception load is below a reception threshold and,
The program includes:
Disconnecting a connection between a first streaming server and a plurality of nodes in a state where the remaining space is insufficient,
Instructions for reallocating a plurality of nodes that have been disconnected to at least one second streaming server for which the remaining space is deemed sufficient,
The program includes:
And excluding the failed streaming server among the plurality of streaming servers from the reallocation server of the plurality of nodes.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170125537A KR101883671B1 (en) | 2017-09-27 | 2017-09-27 | Method and management server for dtitributing node |
PCT/KR2017/010795 WO2019066101A1 (en) | 2017-09-27 | 2017-09-28 | Node distribution method and management server for performing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170125537A KR101883671B1 (en) | 2017-09-27 | 2017-09-27 | Method and management server for dtitributing node |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101883671B1 true KR101883671B1 (en) | 2018-07-31 |
Family
ID=63078126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170125537A KR101883671B1 (en) | 2017-09-27 | 2017-09-27 | Method and management server for dtitributing node |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101883671B1 (en) |
WO (1) | WO2019066101A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019292A (en) * | 2018-08-09 | 2020-02-24 | 주식회사 앤다스 | Video Storage System |
CN110868617A (en) * | 2019-11-27 | 2020-03-06 | 烟台职业学院 | Synchronous display method based on distributed system |
CN114448850B (en) * | 2021-12-21 | 2023-11-03 | 天翼云科技有限公司 | Dialing control method, electronic equipment and dialing control system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233832A1 (en) * | 2006-03-30 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | Method of distributed hash table node ID collision detection |
KR20130093717A (en) * | 2011-12-23 | 2013-08-23 | 주식회사 케이티 | System and method for network resources dynamic allocation for content service |
KR101594555B1 (en) * | 2015-01-20 | 2016-02-16 | 네이버 주식회사 | Method for processing distributed prosonalized data and cloud server |
KR101656038B1 (en) * | 2015-03-11 | 2016-09-09 | (주)넷비젼텔레콤 | Method and System for providing Duplication and Load-Balancing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101712542B1 (en) * | 2015-06-03 | 2017-03-06 | 주식회사 에스원 | Data Backup QoS System on Failover and Method thereof |
-
2017
- 2017-09-27 KR KR1020170125537A patent/KR101883671B1/en active IP Right Grant
- 2017-09-28 WO PCT/KR2017/010795 patent/WO2019066101A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233832A1 (en) * | 2006-03-30 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | Method of distributed hash table node ID collision detection |
KR20130093717A (en) * | 2011-12-23 | 2013-08-23 | 주식회사 케이티 | System and method for network resources dynamic allocation for content service |
KR101594555B1 (en) * | 2015-01-20 | 2016-02-16 | 네이버 주식회사 | Method for processing distributed prosonalized data and cloud server |
KR101656038B1 (en) * | 2015-03-11 | 2016-09-09 | (주)넷비젼텔레콤 | Method and System for providing Duplication and Load-Balancing |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019292A (en) * | 2018-08-09 | 2020-02-24 | 주식회사 앤다스 | Video Storage System |
KR102107770B1 (en) | 2018-08-09 | 2020-05-07 | 주식회사 앤다스 | Video Storage System |
CN110868617A (en) * | 2019-11-27 | 2020-03-06 | 烟台职业学院 | Synchronous display method based on distributed system |
CN110868617B (en) * | 2019-11-27 | 2022-03-22 | 烟台职业学院 | Synchronous display method based on distributed system |
CN114448850B (en) * | 2021-12-21 | 2023-11-03 | 天翼云科技有限公司 | Dialing control method, electronic equipment and dialing control system |
Also Published As
Publication number | Publication date |
---|---|
WO2019066101A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200260125A1 (en) | Method and system for streaming media live broadcast | |
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
US10318550B2 (en) | Systems and methods for autonomous resource discovery, management, and stitching | |
CN107251533B (en) | Co-located peer device for peer-to-peer matching | |
CN107278365B (en) | Apparatus for scalable peer matching | |
US10205775B2 (en) | Server selection in a highly available network | |
CN108023812B (en) | Content distribution method and device of cloud computing system, computing node and system | |
CN110069210B (en) | Storage system, and method and device for allocating storage resources | |
CN109802986B (en) | Equipment management method, system, device and server | |
US10652100B2 (en) | Computer system and method for dynamically adapting a software-defined network | |
US9363199B1 (en) | Bandwidth management for data services operating on a local network | |
KR101883671B1 (en) | Method and management server for dtitributing node | |
CN114844912B (en) | Data link distribution method and device and distributed block storage system | |
CN115280288A (en) | Server system and method of managing server system | |
CN112468310B (en) | Streaming media cluster node management method and device and storage medium | |
JP4309321B2 (en) | Network system operation management method and storage apparatus | |
JP2016177324A (en) | Information processing apparatus, information processing system, information processing method, and program | |
EP3435615B1 (en) | Network service implementation method, service controller, and communication system | |
CN113190347A (en) | Edge cloud system and task management method | |
WO2015196769A1 (en) | Method for processing data in iptv system, and network element device | |
US20200341968A1 (en) | Differential Update of Local Cache from Central Database | |
US20140164608A1 (en) | Content transmission system | |
US10122588B2 (en) | Ring network uplink designation | |
CN110958182B (en) | Communication method and related equipment | |
US11985072B2 (en) | Multimedia data stream processing method, electronic device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |