KR102620994B1 - 라이브 커머스에서의 데이터 처리 시스템 - Google Patents

라이브 커머스에서의 데이터 처리 시스템 Download PDF

Info

Publication number
KR102620994B1
KR102620994B1 KR1020220051130A KR20220051130A KR102620994B1 KR 102620994 B1 KR102620994 B1 KR 102620994B1 KR 1020220051130 A KR1020220051130 A KR 1020220051130A KR 20220051130 A KR20220051130 A KR 20220051130A KR 102620994 B1 KR102620994 B1 KR 102620994B1
Authority
KR
South Korea
Prior art keywords
server
master node
general nodes
spare
information
Prior art date
Application number
KR1020220051130A
Other languages
English (en)
Other versions
KR20230065131A (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 KR20230065131A publication Critical patent/KR20230065131A/ko
Application granted granted Critical
Publication of KR102620994B1 publication Critical patent/KR102620994B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • 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/2187Live feed
    • 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/238Interfacing 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/2385Channel allocation; Bandwidth allocation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/241Operating system [OS] processes, e.g. server setup
    • 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/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2542Management at additional data server, e.g. shopping server, rights management server for selling goods, e.g. TV shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

데이터 처리 시스템이 개시된다. 일 실시 예에 따른 데이터 처리 시스템은 제1 서버; 복수의 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹; 복수의 제2 일반 노드들 및 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹; 상기 제1 일반 노드들과 상기 제2 일반 노드들로부터 정보를 수신하여 저장하는 제2 서버; 및 상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하는 워커 노드를 포함한다.

Description

라이브 커머스에서의 데이터 처리 시스템{DATA PROCESSING SYSTEM IN LIVE COMMERCE}
아래 실시예들은 라이브 커머스에서의 데이터 처리 시스템에 관한 것이다.
모바일 기기를 이용한 라이브 e-커머스 시장은 일반적인 커머스 시장과 다르게 대량의 데이터가 순간적으로 유입될 수 있고, 마케팅이나 사용자 분석을 위해 수집되는 항목들이 순간적으로 유입될 수 있다. 이로 인해, 순간적으로 대량 유입되는 데이터와 항목들을 감당하는 서버 인프라는 데이터 유실 또는 상태 이상에 빠질 수 있다. 이를 방지하기 위해 서버 인프라를 증가시키는 것이 능사는 아닐 수 있다. 효과적으로 부하 분산이 발생하고 대량 데이터를 처리하는 방법이 요구될 수 있다.
전술한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
일 측에 따른 데이터 처리 시스템은 제1 서버; 복수의 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹(상기 제1 일반 노드들과 상기 마스터 노드는 라이브커머스 방송에 참여하는 제1 시청자들에 대응되고 상기 마스터 노드에 대응되는 제1 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 마스터 노드의 마스터 지위는 상실됨); 복수의 제2 일반 노드들 및 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹(상기 제2 일반 노드들과 상기 예비 마스터 노드는 상기 라이브커머스 방송에 참여하는 제2 시청자들에 대응되고 상기 예비 마스터 노드에 대응되는 제2 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 예비 마스터 노드의 예비 마스터 지위는 상실됨); 상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그(log) 정보와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보를 수집하여 저장하는 제2 서버; 및 상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하는 워커 노드를 포함한다.
상기 마스터 노드는 상기 제1 서버로부터 특정 지시를 수신하는 경우 상기 제1 서버로부터 수신한 특정 지시를 상기 제1 일반 노드들과 상기 예비 마스터 노드에 전달하고, 상기 예비 마스터 노드는 상기 마스터 노드로부터 전달받은 지시를 상기 제2 일반 노드들에 전달할 수 있다.
상기 마스터 노드가 마스터 지위를 잃는 경우, 상기 예비 마스터 노드가 상기 마스터 지위를 획득하고, 상기 제1 일반 노드들 중 어느 하나가 예비 마스터 지위를 획득할 수 있다.
상기 예비 마스터 노드는 상기 제2 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 수신된 특정 요청을 상기 마스터 노드로 전송하며, 상기 마스터 노드는 상기 제1 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 예비 마스터 노드로부터 수신한 특정 요청과 상기 제1 일반 노드들 각각으로부터 수신한 특정 요청을 상기 제1 서버에 전송할 수 있다.
상기 제1 일반 노드들, 상기 제2 일반 노드들, 및 상기 예비 마스터 노드는 상기 제1 서버와 직접 통신 하지 못할 수 있다.
상기 제1 서버는 API(Application Programming Interface) 서버에 해당할 수 있다.
일 측에 따른 데이터 처리 시스템은 제1 서버; 상기 제1 서버와 직접 통신하지 못하는 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹(상기 제1 일반 노드들과 상기 마스터 노드는 라이브커머스 방송에 참여하는 제1 시청자들에 대응되고 상기 마스터 노드에 대응되는 제1 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 마스터 노드의 마스터 지위는 상실됨); 상기 제1 서버와 직접 통신하지 못하는 제2 일반 노드들 및 상기 제1 서버와 직접 통신하지 못하고 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹(상기 제2 일반 노드들과 상기 예비 마스터 노드는 상기 라이브커머스 방송에 참여하는 제2 시청자들에 대응되고 상기 예비 마스터 노드에 대응되는 제2 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 예비 마스터 노드의 예비 마스터 지위는 상실됨); 상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그(log) 정보와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보를 수집하여 저장하는 제2 서버; 및 상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하며, 상기 가져온 정보를 상기 제1 서버에 저장하는 것을 성공한 경우 상기 가져온 정보를 상기 제2 서버에서 삭제하는 워커 노드를 포함한다.
실시예들은 서버에 대량의 요청이 발생하여도 서버 부하가 발생하지 않을 수 있고, 서버 지연과 서버 다운 현상을 방지할 수 있다.
도 1은 일 실시 예에 따른 데이터 처리 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 API 서버, 제1 사용자 그룹, 및 제2 사용자 그룹의 동작을 설명하기 위한 도면이다.
도 3은 일 실시 예에 따른, 제1 사용자 그룹, 제2 사용자 그룹, 메시지 큐 처리 서버, 워커 노드, 및 API 서버의 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 데이터 처리 시스템의 동작의 일례를 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 데이터 처리 시스템의 동작의 다른 일례를 설명하기 위한 흐름도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시 예에 따른 데이터 처리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시 예에 따른 데이터 처리 시스템(100)은 API 서버(110), 메시지 큐 처리 서버(120), 워커 그룹(130), 복수의 제1 사용자 그룹들(140-1, 140-2), 및 복수의 제2 사용자 그룹들(150-1, 150-3)을 포함할 수 있다.
도 1에는 2개의 제1 사용자 그룹들(140-1, 140-2)과 2개의 제2 사용자 그룹들(150-1, 150-2)이 도시되어 있으나 이는 예시적인 사항일 뿐, 데이터 처리 시스템(100)은 3 이상의 제1 사용자 그룹들과 3 이상의 제2 사용자 그룹들을 포함할 수 있다. 또는, 데이터 처리 시스템(100)은 하나의 제1 사용자 그룹과 하나의 제2 사용자 그룹을 포함할 수 있다.
도 1에 도시된 예에서, 워커 그룹(130)은 하나 이상의 워커 노드(131)를 포함할 수 있다.
API 서버(110)는 제1 서버로 표현될 수 있고, 메시지 큐 처리 서버(120)는 제2 서버로 표현될 수 있다.
일 실시 예에 있어서, 제1 사용자 그룹들(140-1, 140-2) 각각은 마스터 노드와 하나 이상의 일반 노드를 포함할 수 있고, 제2 사용자 그룹들(150-1, 150-2) 각각은 예비 마스터 노드와 하나 이상의 일반 노드를 포함할 수 있다. 일반 노드는 사용자 클라이언트로 달리 표현될 수 있다.
제1 사용자 그룹들(140-1, 140-2) 각각의 마스터 노드가 API 서버(110)와 통신을 수행할 수 있고, 제1 사용자 그룹들(140-1, 140-2) 각각의 일반 노드, 제2 사용자 그룹들(150-1, 150-2) 각각의 예비 마스터 노드와 일반 노드는 API 서버(110)와 직접적으로 통신을 수행할 수 없다. 제1 사용자 그룹들(140-1, 140-2) 각각의 일반 노드, 제2 사용자 그룹들(150-1, 150-2) 각각의 예비 마스터 노드와 일반 노드는 제1 사용자 그룹들(140-1, 140-2) 각각의 마스터 노드와 통신을 수행할 수 있다. 기존의 서버-클라이언트 구조에서, 각 클라이언트는 서버에 데이터 처리 요청을 전송할 수 있는데, 서버가 대용량의 데이터 처리 요청을 수신하면, 서버에 부하를 야기할 수 있다. 일 실시 예에 따르면, 제1 사용자 그룹들(140-1, 140-2) 각각의 마스터 노드는 제1 사용자 그룹들(140-1, 140-2) 각각의 일반 노드의 데이터 처리 요청과 제2 사용자 그룹들(150-1, 150-2) 각각의 일반 노드의 데이터 처리 요청을 API 서버(110)에 전송할 수 있어, 라이브 커머스 방송과 같은 실시간 시스템에서 순간적으로 사용자 접속이 많아져도 서버 부하를 야기하지 않을 수 있고, 서버 다운 현상과 서비스 지연을 방지할 수 있다.
일 실시 예에 있어서, 제1 사용자 그룹들(140-1, 140-2) 각각의 일반 노드와 제2 사용자 그룹들(150-1, 150-2) 각각의 일반 노드는 쓰기 및 업데이트를 위해 데이터를 메시지 큐 처리 서버(120)에 전송할 수 있다. 제1 사용자 그룹들(140-1, 140-2) 각각의 일반 노드와 제2 사용자 그룹들(150-1, 150-2) 각각의 일반 노드는 정보를 메시지 큐 처리 서버(120)에 입력 또는 전송할 수 있다. 워커 노드(131)는 메시지 큐 처리 서버(120)에 저장된 데이터의 일부를 가져올 수 있고, API 서버(110)에 여유 자원이 있는 경우, 가져온 데이터를 API 서버(110)에 전송 또는 입력할 수 있다. 이에 따라, 쓰기 및 업데이트가 완료될 수 있다.
도 2는 일 실시 예에 따른 API 서버, 제1 사용자 그룹, 및 제2 사용자 그룹의 동작을 설명하기 위한 도면이다.
제1 사용자 그룹(140-1)은 복수의 노드들을 포함할 수 있다. 제1 사용자 그룹(140-1) 내의 노드들 중 제1 사용자 그룹(140-1) 내에서 가장 높은 권한을 가진 노드가 마스터 노드(210)로 선정될 수 있고, 나머지 노드들이 일반 노드들(211-1 내지 211-n)에 해당할 수 있다. 마스터 노드(210)의 선정은, 예를 들어, API 서버(110)에 의해 수행되거나 제1 사용자 그룹(140-1) 내의 노드들의 협의를 통해 수행되거나 별도 서버(예: 라이브 커머스 방송을 관리하기 위한 서버)에 의해 수행될 수 있다.
제1 사용자 그룹(140-2)은 복수의 노드들을 포함할 수 있다. 제1 사용자 그룹(140-2) 내의 노드들 중 제1 사용자 그룹(140-2) 내에서 가장 높은 권한을 가진 노드가 마스터 노드(220)로 선정될 수 있고, 나머지 노드들이 일반 노드들(221-1 내지 221-m)에 해당할 수 있다. 마스터 노드(220)의 선정은, 예를 들어, API 서버(110)에 의해 수행되거나 제1 사용자 그룹(140-2) 내의 노드들의 협의를 통해 수행되거나 별도 서버(예: 라이브 커머스 방송을 관리하기 위한 서버)에 의해 수행될 수 있다.
제2 사용자 그룹(150-1)은 복수의 노드들을 포함할 수 있고, 제2 사용자 그룹(150-1) 내의 노드들 중 제2 사용자 그룹(150-1) 내에서 가장 높은 권한을 가진 노드가 예비 마스터 노드(230)로 선정될 수 있다. 이러한 선정은, 예를 들어, API 서버(110)에 의해 수행되거나 제2 사용자 그룹(150-1) 내의 노드들의 협의를 통해 수행되거나 별도 서버(예: 라이브 커머스 방송을 관리하기 위한 서버)에 의해 수행될 수 있다. 제2 사용자 그룹(150-1)에서 예비 마스터 노드(230)로 선정된 노드를 제외한 나머지가 도 2의 일반 노드들(231-1 내지 231-a)에 해당할 수 있다.
제2 사용자 그룹(150-2)은 복수의 노드들을 포함할 수 있고, 제2 사용자 그룹(150-2) 내의 노드들 중 제2 사용자 그룹(150-2) 내에서 가장 높은 권한을 가진 노드가 예비 마스터 노드(240)로 선정될 수 있다. 이러한 선정은, 예를 들어, API 서버(110)에 의해 수행되거나 제2 사용자 그룹(150-2) 내의 노드들의 협의를 통해 수행되거나 별도 서버(예: 라이브 커머스 방송을 관리하기 위한 서버)에 의해 수행될 수 있다. 제2 사용자 그룹(150-2)에서 예비 마스터 노드(240)로 선정된 노드를 제외한 나머지가 도 2의 일반 노드들(241-1 내지 241-b)에 해당할 수 있다.
일 실시 예에 있어서, 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n)은 요청(예: 정보 제공 요청)을 API 서버(110)로 직접 전송할 수 없고 대신에 해당 요청을 마스터 노드(210)에 전송할 수 있다. 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a)은 요청(예: 정보 제공 요청)을 API 서버(110)에 직접 전송할 수 없고 대신에 해당 요청을 예비 마스터 노드(230)에 전송할 수 있다. 예비 마스터 노드(230) 역시 일반 노드들(231-1 내지 231-a)로부터 수신한 요청(예: 정보 제공 요청)을 APIT 서버(110)로 직접 전송할 수 없으므로, 해당 요청을 마스터 노드(210)로 전송할 수 있다. 마스터 노드(210)는 수신한 요청(예: 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n)의 정보 제공 요청과 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a)의 정보 제공 요청)을 API 서버(110)에 전송할 수 있다. API 서버(110)는 예를 들어 마스터 노드(210)로부터 전송된 요청에 따른 정보를 데이터베이스에서 가져올 수 있고, 가져온 정보를 응답으로 마스터 노드(210)에 전송할 수 있다. 마스터 노드(210)는 서버(110)로부터 수신한 응답(예: 정보 제공 요청에 따른 정보)을 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n)과 예비 마스터 노드(230)에게 전달할 수 있다. 예비 마스터 노드(230)는 전달받은 응답(예: 정보 제공 요청에 따른 정보)을 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a)에게 전달할 수 있다.
일 실시 예에 있어서, API 서버(110)는 제1 사용자 그룹(140-1)의 마스터 노드(210)에 사용자 정보(또는 회원 정보) 갱신에 대한 지시를 전달할 수 있고, 마스터 노드(210)는 수신한 지시를 일반 노드들(211-1 내지 211-n)에게 전달할 수 있다. 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n) 각각은 사용자 정보 갱신을 API 서버(110)에 직접 수행할 수 없다. 이에 따라, 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n) 각각은 예를 들어 사용자 정보 갱신 요청을 마스터 노드(210)에 전송할 수 있다. 마스터 노드(210)는 일반 노드들(211-1 내지 211-n)은 각각의 사용자 정보 갱신 요청을 API 서버(110)에 전송할 수 있다. API 서버(110)는 일반 노드들(211-1 내지 211-n) 각각의 사용자 정보 갱신 요청에 따라 일반 노드들(211-1 내지 211-n) 각각의 사용자 정보를 갱신할 수 있다.
마스터 노드(210)는 API 서버(110)로부터 수신한 지시를 제2 사용자 그룹(150-1)의 예비 마스터 노드(230)에 전달할 수 있고, 예비 마스터 노드(230)는 전달받은 지시를 일반 노드들(231-1 내지 231-a)에게 전달할 수 있다. 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a) 각각은 사용자 정보 갱신을 API 서버(110)에 직접 수행할 수 없다. 이에 따라, 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a) 각각은 예를 들어 사용자 정보 갱신 요청을 예비 마스터 노드(230) 및 마스터 노드(210)를 거쳐 API 서버(110)에 전송할 수 있다. API 서버(110)는 일반 노드들(231-1 내지 231-a) 각각의 사용자 정보 갱신 요청에 따라 일반 노드들(231-1 내지 231-a) 각각의 사용자 정보를 갱신할 수 있다.
일 실시 예에 있어서, 마스터 노드(210) 및/또는 마스터 노드(220)의 네트워크 연결이 끊어지는 경우 예비 마스터 노드(230) 및/또는 예비 마스터 노드(240)가 마스터 지위를 획득할 수 있다. 예를 들어, 마스터 노드(210)의 네트워크 연결이 끊어지는 경우, 예비 마스터 노드(230)가 마스터 지위를 획득할 수 있고, 마스터 노드(220)의 네트워크 연결이 끊어지는 경우, 예비 마스터 노드(240)가 마스터 지위를 획득할 수 있다. 마스터 노드(210)의 네트워크 연결이 끊어지는 경우, 제1 사용자 그룹(140-1) 내의 일반 노드들(211-1 내지 211-n) 중 어느 하나가 예비 마스터 지위를 획득하거나 예비 마스터 노드로 선정될 수 있다. 마스터 노드(220)의 네트워크 연결이 끊어지는 경우, 제1 사용자 그룹(140-2) 내의 일반 노드들(221-1 내지 221-m) 중 어느 하나가 예비 마스터 지위를 획득하거나 예비 마스터 노드로 선정될 수 있다.
일례로, 어떤 라이브 커머스 방송에 참여하는 클라이언트들(또는 시청자들)은 제1 사용자 그룹(140-1), 제1 사용자 그룹(140-2), 제2 사용자 그룹(150-1), 및 제2 사용자 그룹(150-2)으로 나뉠 수 있다. 제1 사용자 그룹(140-1)의 마스터 노드(210)가 라이브 커머스 방송에서 나갈 수 있고 이로 인해 마스터 노드(210)는 마스터 지위를 상실할 수 있다. 이 경우, 제2 사용자 그룹(150-1)의 예비 마스터 노드(230)는 마스터 지위를 획득할 수 있고, 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n) 중 어느 하나가 예비 마스터 지위를 획득할 수 있다.
도 3은 일 실시 예에 따른, 제1 사용자 그룹, 제2 사용자 그룹, 메시지 큐 처리 서버, 워커 노드, 및 API 서버의 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 메시지 큐 처리 서버(120)는 사용자 그룹들(140-1 내지 150-2) 각각의 일반 노드들의 정보(예: 사용자 프로파일 정보, 기기 정보, 사용자 행위 정보, 및/또는 방송 정보)를 수집할 수 있다. 사용자 프로파일 정보는, 예를 들어, 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각의 사용자의 나이, 성별을 포함할 수 있으나 이에 제한되지 않는다. 기기 정보는, 예를 들어, 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각의 모델명, 어플리케이션 정보(예: 어플리케이션 이름 등), 브라우저 정보(예: 브라우저 이름, 브라우저 버전), 및 IP(internet protocol) 주소 정보 중 적어도 하나를 포함할 수 있으나 이에 제한되지 않는다. 사용자 행위 정보는 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각이 라이브 커머스 방송에 대해 수행한 행위에 대한 정보를 나타낼 수 있다. 사용자 행위 정보는, 예를 들어, 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각의 라이브 커머스 방송 입장/퇴장 정보, 라이브 커머스 방송에서 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각의 액션(예: 쿠폰 조회, 쿠폰 발급, 상품 조회, 좋아요 클릭, 공유하기 클릭, 채팅 입력, 문의하기 입력 등)를 포함할 수 있으나 이에 제한되지 않는다.
메시지 큐 처리 서버(120)는 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b) 각각의 정보(예: 사용자 프로파일 정보, 기기 정보, 사용자 행위 정보, 및/또는 방송 정보)를 저장할 수 있다.
워커 노드(131)는 메시지 큐 처리 서버(120)에 저장된 정보를 일정 크기만큼 가져올 수 있고, API 서버(110)에 여유 자원이 있는지 확인할 수 있다. 설명의 편의 상 워커 노드(131)가 메시지 큐 처리 서버(120)에서 가져온 정보를 "정보 A"라 표현한다. 일례로, 워커 노드(131)는 정보 A를 저장할 정도의 여유 자원이 API 서버(110)에 있는지 문의할 수 있다. 워커 노드(131)는 API 서버(110)에 정보 A를 저장할 정도의 여유 자원이 있는 경우, 정보 A를 API 서버(110)에 전송할 수 있다. API 서버(110)는 워커 노드(131)로부터 수신한 정보 A를 저장할 수 있다. 정보 A의 저장이 성공하면 워커 노드(131)는 정보 A를 메시지 큐 처리 서버(120)에서 삭제할 수 있다.
도 4는 일 실시 예에 따른 데이터 처리 시스템의 동작의 일례를 설명하기 위한 흐름도이다.
도 4를 참조하면, 단계 410에서, API 서버(110)는 마스터 노드(예: 도 2의 마스터 노드(210) 및/또는 마스터 노드(220))로부터 요청을 수신할 수 있다.
일 실시 예에 있어서, API 서버(110)가 마스터 노드(210)로부터 수신한 요청은, 예를 들어, 마스터 노드(210)가 속한 제1 사용자 그룹(140-1)의 일반 노드들(211-1 내지 211-n) 중 하나 이상의 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등) 제공 요청을 포함할 수 있다. 또한, API 서버(110)가 마스터 노드(210)로부터 수신한 요청은 예를 들어 마스터 노드(210)의 예비 마스터 노드(230)가 속한 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a) 중 하나 이상의 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등) 제공 요청을 포함할 수 있다.
API 서버(110)는 마스터 노드(220)로부터 요청을 수신할 수 있고, API 서버(110)가 마스터 노드(220)로부터 수신한 요청은, 예를 들어, 마스터 노드(220)가 속한 제1 사용자 그룹(140-2)의 일반 노드들(221-1 내지 221-m) 중 하나 이상의 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등) 제공 요청을 포함할 수 있다. 또한, API 서버(110)가 마스터 노드(220)로부터 수신한 요청은, 예를 들어, 마스터 노드(220)의 예비 마스터 노드(240)가 속한 제2 사용자 그룹(150-2)의 일반 노드들(241-1 내지 241-b) 중 하나 이상의 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등) 제공 요청을 포함할 수 있다.
단계 420에서, API 서버(110)는 마스터 노드로부터 수신한 요청에 따라 처리 동작을 수행할 수 있다. 일례로, API 서버(110)는 마스터 노드(210)로부터 라이브 커머스 방송 정보 제공 요청을 수신한 경우, 수신한 라이브 커머스 방송 정보 제공 요청에 따라 데이터베이스에서 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등)를 읽거나 가져올 수 있다. API 서버(110)는 마스터 노드(220)로부터 라이브 커머스 방송 정보 제공 요청을 수신한 경우, 수신한 라이브 커머스 방송 정보 제공 요청에 따라 데이터베이스에서 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등)를 읽을 수 있다.
단계 430에서, API 서버(110)는 처리 동작의 결과를 마스터 노드에 전송할 수 있다. 일례로, API 서버(110)는 마스터 노드(210)로부터 수신한 라이브 커머스 방송 정보 제공 요청에 따라 데이터베이스에서 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등)를 읽은 경우 읽은 라이브 커머스 방송 정보를 마스터 노드(210)에 전송할 수 있다. 마스터 노드(210)는 수신한 라이브 커머스 방송 정보를 일반 노드들(211-1 내지 211-n) 중 커머스 방송 정보 제공 요청한 일반 노드에 전송할 수 있다. 마스터 노드(210)는 수신한 라이브 커머스 방송 정보를 예비 마스터 노드(230)에 전송할 수 있고, 예비 마스터 노드(230)는 제2 사용자 그룹(150-1)의 일반 노드들(231-1 내지 231-a) 중 커머스 방송 정보 제공 요청한 일반 노드에 라이브 커머스 방송 정보를 전송할 수 있다. API 서버(110)는 마스터 노드(220)로부터 수신한 라이브 커머스 방송 정보 제공 요청에 따라 데이터베이스에서 라이브 커머스 방송 정보(예: 판매 상품 정보, 방송 시작 시간 등)를 읽은 경우 읽은 라이브 커머스 방송 정보를 마스터 노드(220)에 전송할 수 있다. 마스터 노드(220)는 수신한 라이브 커머스 방송 정보를 일반 노드들(221-1 내지 221-m) 중 커머스 방송 정보 제공 요청한 일반 노드에 전송할 수 있다. 마스터 노드(220)는 수신한 라이브 커머스 방송 정보를 예비 마스터 노드(240)에 전송할 수 있고, 예비 마스터 노드(240)는 제2 사용자 그룹(150-2)의 일반 노드들(241-1 내지 241-b) 중 커머스 방송 정보 제공 요청한 일반 노드에 라이브 커머스 방송 정보를 전송할 수 있다.
도 1 내지 도 3을 통해 기술된 사항들은 도 4를 통해 기술된 사항들에 적용될 수 있어, 상세한 설명을 생략한다.
도 5는 일 실시 예에 따른 데이터 처리 시스템의 동작의 다른 일례를 설명하기 위한 흐름도이다.
도 5를 참조하면, 단계 510에서, 메시지 큐 처리 서버(120)는 일반 노드들(예: 일반 노드들(211-1 내지 211-n, 221-1 내지 221-m, 231-1 내지 231-a, 241-1 내지 241-b)) 각각의 정보(예: 사용자 프로파일 정보, 기기 정보, 사용자 행위 정보 등)를 수집할 수 있다. 사용자 프로파일 정보, 기기 정보, 및 사용자 행위 정보는 앞서 도 3을 통해 설명하였으므로, 상세한 설명을 생략한다.
일 실시 예에 있어서, 일반 노드들 각각은 특별한 쿼리없이 자신의 정보를 메시지 큐 처리 서버(120)에 전송할 수 있다.
단계 520에서, 워커 노드(131)는 메시지 큐 처리 서버(120)에 의해 수집된 정보 중 일부 정보를 가져올 수 있다. 일례로, 워커 노드(131)는 메시지 큐 처리 서버(120)에 의해 수집된 정보 중 일정 크기만큼의 정보를 가져올 수 있다.
단계 530에서, 워커 노드(131)는 API 서버(110)에 여유 자원이 있으면(또는 가져온 정보가 API 서버(110)에 의해 처리 가능하다는 판단이 있으면) 가져온 정보를 API 서버(110)에 전송할 수 있다.
단계 540에서, API 서버(110)는 워커 노드(131)로부터 수신한 정보를 데이터베이스에 기록할 수 있다. 이에 따라, 라이브 커머스 방송의 시청자들(또는 접속자들) 각각의 로그(log)(예: 상술한 사용자 행위 정보 등)가 기록될 수 있다. 기록된 로그는 각 시청자(또는 각 접속자)의 라이브 커머스 방송의 시청 패턴 등을 분석하는데 이용될 수 있다.
도 1 내지 도 4를 통해 기술된 사항들은 도 5를 통해 기술된 사항들에 적용될 수 있어, 상세한 설명을 생략한다.
일 실시 예에 따르면, 데이터 처리 시스템(100)은 제1 서버(예: 도 1 내지 도 3의 API 서버(110)), 복수의 제1 일반 노드들(예: 도 2 내지 도 3의 일반 노드들(211-1 내지 211-n)) 및 상기 제1 서버와 통신 가능한 마스터 노드(예: 도 2 내지 도 3의 마스터 노드(210))를 포함하는 제1 사용자 그룹(예: 도 1 내지 도 3의 제1 사용자 그룹(140-1))(여기서, 상기 제1 일반 노드들과 상기 마스터 노드는 라이브커머스 방송에 참여하는 제1 시청자들에 대응되고 상기 마스터 노드에 대응되는 제1 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 마스터 노드의 마스터 지위는 상실됨), 복수의 제2 일반 노드들(예: 도 2 내지 도 3의 일반 노드들(231-1 내지 231-a)) 및 상기 마스터 노드와 통신 가능한 예비 마스터 노드(예: 도 2 내지 도 3의 예비 마스터 노드(230))를 포함하는 제2 사용자 그룹(예: 도 1 내지 도 3의 제2 사용자 그룹(150-1))(여기서, 상기 제2 일반 노드들과 상기 예비 마스터 노드는 상기 라이브커머스 방송에 참여하는 제2 시청자들에 대응되고 상기 예비 마스터 노드에 대응되는 제2 시청자가 상기 라이브커머스 방송의 시청을 중단하는 경우 상기 예비 마스터 노드의 예비 마스터 지위는 상실됨), 상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보(예: 상술한 사용자 행위 정보 등)와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보(예: 상술한 사용자 행위 정보 등)를 수집하여 저장하는 제2 서버(예: 도 1 및 도 3의 메시지 큐 처리 서버(120)), 및 상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하는 워커 노드(예: 도 1 및 도 3의 워커 노드(131))를 포함한다.
일 실시 예에 따르면, 상기 마스터 노드는 상기 제1 서버로부터 특정 지시를 수신하는 경우 상기 제1 서버로부터 수신한 특정 지시를 상기 제1 일반 노드들과 상기 예비 마스터 노드에 전달할 수 있고, 상기 예비 마스터 노드는 상기 마스터 노드로부터 전달받은 지시를 상기 제2 일반 노드들에 전달할 수 있다.
일 실시 예에 따르면, 상기 마스터 노드가 마스터 지위를 잃는 경우, 상기 예비 마스터 노드가 상기 마스터 지위를 획득하고, 상기 제1 일반 노드들 중 어느 하나가 예비 마스터 지위를 획득할 수 있다.
일 실시 예에 따르면, 상기 예비 마스터 노드는 상기 제2 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 수신된 특정 요청을 상기 마스터 노드로 전송할 수 있으며, 상기 마스터 노드는 상기 제1 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 예비 마스터 노드로부터 수신한 특정 요청과 상기 제1 일반 노드들 각각으로부터 수신한 특정 요청을 상기 제1 서버에 전송할 수 있다.
일 실시 예에 따르면, 상기 제1 일반 노드들, 상기 제2 일반 노드들, 및 상기 예비 마스터 노드는 상기 제1 서버와 직접 통신 하지 못할 수 있다.
일 실시 예에 따르면, 상기 제1 서버는 API 서버에 해당할 수 있다.
일 실시 예에 따르면, 데이터 처리 시스템은 제1 서버, 상기 제1 서버와 직접 통신하지 못하는 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹, 상기 제1 서버와 직접 통신하지 못하는 제2 일반 노드들 및 상기 제1 서버와 직접 통신하지 못하고 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹, 상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보를 수집하여 저장하는 제2 서버, 및 상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하며, 상기 가져온 정보를 상기 제1 서버에 저장하는 것을 성공한 경우 상기 가져온 정보를 상기 제2 서버에서 삭제하는 워커 노드를 포함한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (7)

  1. 데이터 처리 시스템에 있어서,
    제1 서버;
    복수의 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹 -상기 제1 일반 노드들과 상기 마스터 노드는 라이브 커머스 방송에 참여하는 제1 시청자들에 대응되고 상기 마스터 노드에 대응되는 제1 시청자가 상기 라이브 커머스 방송의 시청을 중단하는 경우 상기 마스터 노드의 마스터 지위는 상실됨-;
    복수의 제2 일반 노드들 및 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹 -상기 제2 일반 노드들과 상기 예비 마스터 노드는 상기 라이브 커머스 방송에 참여하는 제2 시청자들에 대응되고 상기 예비 마스터 노드에 대응되는 제2 시청자가 상기 라이브 커머스 방송의 시청을 중단하는 경우 상기 예비 마스터 노드의 예비 마스터 지위는 상실됨-;
    상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그(log) 정보와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보를 수집하여 저장하는 제2 서버; 및
    상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하는 워커 노드
    를 포함하는,
    데이터 처리 시스템.
  2. 제1항에 있어서,
    상기 마스터 노드는 상기 제1 서버로부터 특정 지시를 수신하는 경우 상기 제1 서버로부터 수신한 특정 지시를 상기 제1 일반 노드들과 상기 예비 마스터 노드에 전달하고,
    상기 예비 마스터 노드는 상기 마스터 노드로부터 전달받은 지시를 상기 제2 일반 노드들에 전달하는,
    데이터 처리 시스템.
  3. 제1항에 있어서,
    상기 마스터 노드가 상기 마스터 지위를 잃는 경우, 상기 예비 마스터 노드가 상기 마스터 지위를 획득하고, 상기 제1 일반 노드들 중 어느 하나가 예비 마스터 지위를 획득하는,
    데이터 처리 시스템.
  4. 제1항에 있어서,
    상기 예비 마스터 노드는 상기 제2 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 수신된 특정 요청을 상기 마스터 노드로 전송하며,
    상기 마스터 노드는 상기 제1 일반 노드들 각각으로부터 특정 요청을 수신하고, 상기 예비 마스터 노드로부터 수신한 특정 요청과 상기 제1 일반 노드들 각각으로부터 수신한 특정 요청을 상기 제1 서버에 전송하는,
    데이터 처리 시스템.
  5. 제1항에 있어서,
    상기 제1 일반 노드들, 상기 제2 일반 노드들, 및 상기 예비 마스터 노드는 상기 제1 서버와 직접 통신 하지 못하는,
    데이터 처리 시스템.
  6. 제1항에 있어서,
    상기 제1 서버는 API(Application Programming Interface) 서버에 해당하는,
    데이터 처리 시스템.
  7. 데이터 처리 시스템에 있어서,
    제1 서버;
    상기 제1 서버와 직접 통신하지 못하는 제1 일반 노드들 및 상기 제1 서버와 통신 가능한 마스터 노드를 포함하는 제1 사용자 그룹 -상기 제1 일반 노드들과 상기 마스터 노드는 라이브 커머스 방송에 참여하는 제1 시청자들에 대응되고 상기 마스터 노드에 대응되는 제1 시청자가 상기 라이브 커머스 방송의 시청을 중단하는 경우 상기 마스터 노드의 마스터 지위는 상실됨-;
    상기 제1 서버와 직접 통신하지 못하는 제2 일반 노드들 및 상기 제1 서버와 직접 통신하지 못하고 상기 마스터 노드와 통신 가능한 예비 마스터 노드를 포함하는 제2 사용자 그룹 -상기 제2 일반 노드들과 상기 예비 마스터 노드는 상기 라이브 커머스 방송에 참여하는 제2 시청자들에 대응되고 상기 예비 마스터 노드에 대응되는 제2 시청자가 상기 라이브 커머스 방송의 시청을 중단하는 경우 상기 예비 마스터 노드의 예비 마스터 지위는 상실됨-;
    상기 제1 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그(log) 정보와 상기 제2 일반 노드들 각각의 상기 라이브 커머스 방송에 대한 로그 정보를 수집하여 저장하는 제2 서버; 및
    상기 제2 서버에 저장된 정보 중 일부를 가져오고, 상기 제1 서버에 여유 자원이 있으면 상기 가져온 정보를 상기 제1 서버에 전송하며, 상기 가져온 정보를 상기 제1 서버에 저장하는 것을 성공한 경우 상기 가져온 정보를 상기 제2 서버에서 삭제하는 워커 노드
    를 포함하는,
    데이터 처리 시스템.
KR1020220051130A 2021-11-04 2022-04-26 라이브 커머스에서의 데이터 처리 시스템 KR102620994B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210150497 2021-11-04
KR1020210150497 2021-11-04

Publications (2)

Publication Number Publication Date
KR20230065131A KR20230065131A (ko) 2023-05-11
KR102620994B1 true KR102620994B1 (ko) 2024-01-05

Family

ID=86379125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220051130A KR102620994B1 (ko) 2021-11-04 2022-04-26 라이브 커머스에서의 데이터 처리 시스템

Country Status (1)

Country Link
KR (1) KR102620994B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139928B1 (ko) 2020-05-26 2020-07-31 농업회사법인 상상텃밭 주식회사 데이터 처리 서버 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20160069191A (ko) * 2014-12-08 2016-06-16 김현일 라이브 방송 스트리밍 및 방법
CN110445619B (zh) * 2017-03-30 2020-10-16 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139928B1 (ko) 2020-05-26 2020-07-31 농업회사법인 상상텃밭 주식회사 데이터 처리 서버 및 방법

Also Published As

Publication number Publication date
KR20230065131A (ko) 2023-05-11

Similar Documents

Publication Publication Date Title
US20190068690A1 (en) Automated management of resource attributes across network-based services
US20190205154A1 (en) Systems and methods of discovering and traversing coexisting topologies
JP2022529967A (ja) ブロックチェーン・ネットワークからのデータの抽出
TWI473029B (zh) 可延伸及可程式化之多租戶服務結構
CN103392170B (zh) 系统之间的数据同步
US11620166B2 (en) Communications framework for multi-cluster management systems
US9955444B1 (en) Data synchronization across multiple devices connecting to multiple data centers
CN109949135A (zh) 高并发交易请求处理方法、系统、设备及存储介质
US11797431B2 (en) REST API parser for test automation
US10169465B2 (en) Dynamic runtime environment configuration for query applications
US11775358B2 (en) Tenant copy operation in a microservice architecture
US11126610B1 (en) Conflict resolution in a data proxy
US10262046B2 (en) Profile-enabled dynamic runtime environment for web application servers
KR101914347B1 (ko) 대용량 이벤트 로그 재생 방법 및 대용량 이벤트 로그 재생 시스템
CN106716400B (zh) 一种数据表的分区管理方法及装置
KR102620994B1 (ko) 라이브 커머스에서의 데이터 처리 시스템
JP5255697B2 (ja) ノード間でのデバイス・エラー情報の同期化
US11113287B1 (en) Data stream management system
US20210065258A1 (en) Feedback service in cloud application
US10728323B2 (en) Method and apparatus for operating infrastructure layer in cloud computing architecture
US11526621B2 (en) Method and system for capturing asset protection metadata pertinent to analytics
US20200145296A1 (en) Systems and methods for hub and spoke cross topology traversal
US20160232251A1 (en) Continuously blocking query result data for a remote query
US8738864B2 (en) Automated data interface generation
US10977138B1 (en) Method and system for efficiently handling backup discovery operations

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right