KR20220131142A - 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치 - Google Patents

분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치 Download PDF

Info

Publication number
KR20220131142A
KR20220131142A KR1020210162197A KR20210162197A KR20220131142A KR 20220131142 A KR20220131142 A KR 20220131142A KR 1020210162197 A KR1020210162197 A KR 1020210162197A KR 20210162197 A KR20210162197 A KR 20210162197A KR 20220131142 A KR20220131142 A KR 20220131142A
Authority
KR
South Korea
Prior art keywords
data
distributed system
information
item
storage
Prior art date
Application number
KR1020210162197A
Other languages
English (en)
Other versions
KR102553162B1 (ko
Inventor
프라카쉬 카델
김두형
장기웅
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020210162197A priority Critical patent/KR102553162B1/ko
Publication of KR20220131142A publication Critical patent/KR20220131142A/ko
Application granted granted Critical
Publication of KR102553162B1 publication Critical patent/KR102553162B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Abstract

본 개시는 주키퍼 서버에 대해 이벤트 워칭을 수행하는 단계, 상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하는 단계, 클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하는 단계 및 상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 단계를 포함하는 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법에 관한 것이다.

Description

분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치{METHOD FOR PROCESSING DATA OF DISTRIBUTED COORDINATION SYSTEM AND ELECTRONIC APPARATUS THEREFOR}
본 개시는 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치에 관한 것이다.
대용량의 데이터를 서로 다른 어플리케이션에서 활용해야 하는 수요가 증가함에 따라 최근 분산 시스템에 대한 수요가 증가하고 있다. 분산 시스템이란 하나의 고성능 디바이스에서 수행하던 복잡한 프로세스를 작은 단위로 나누어 네트워크를 통해 연결된 복수의 디바이스에서 나누어 처리하는 시스템을 말한다. 분산 시스템에서는 하나의 작업을 복수의 디바이스에서 병렬로 처리함으로써 시스템의 처리율이 향상된다. 또한, 분산 시스템은 새로운 디바이스를 네트워크에 추가함으로써 용이하게 시스템을 확장할 수 있다는 장점을 갖는다.
선행문헌 : 한국 등록특허공보 10-2082355
한편, 분산 코디네이터는 분산 시스템 내에서 중요한 상태 정보나 설정 정보 등을 유지하는 역할을 수행한다. 주키퍼(ZooKeeper)는 분산 코디네이터의 일 예일 수 있으며, 분산 시스템 내 디바이스 간의 정보 공유, 이벤트 처리, 디바이스 모니터링, 장애 상황 판단 등을 수행할 수 있다. 또한, 대용량 데이터를 사용하는 어플리케이션을 위해 대용량 데이터의 상태를 일시적으로 변경하는 것이 필요한 경우, 분산 코디네이터가 없다면 데이터베이스로부터 대용량 데이터를 독출하여 특정 필드를 변경해야 하기 때문에, 자원 소모가 비교적 클 수 있다. 그러나, 분산 코디네이터를 이용하는 경우 자원 소모량을 감소시킬 수 있으므로, 대용량 데이터를 생산 및 관리하는 분야에서 분산 코디네이터를 활용한 데이터 처리 방법의 필요성이 존재한다.
개시된 실시예들은 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치를 개시하고자 한다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제1 실시예에 따라, 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법은, 주키퍼 서버에 대해 이벤트 워칭(watching)을 수행하는 단계, 상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하는 단계, 클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하는 단계 및 상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 단계를 포함할 수 있다.
제2 실시예에 따라, 분산 시스템에서 데이터를 제공하기 위한 전자 장치는, 적어도 하나의 명령어(instruction)를 저장하는 메모리(memory) 및 상기 적어도 하나의 명령어를 실행하여, 주키퍼 서버에 대해 이벤트 워칭을 수행하고, 상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하고, 클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하고, 상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 프로세서를 포함할 수 있다.
제3 실시예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따른 방법 및 장치는 대용량 데이터를 사용하는 어플리케이션을 위해 데이터베이스에서 특정 필드를 변경할 때 자원 소모량을 감소시킬 수 있는 효과가 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는 일 실시예에 따른 분산 시스템을 설명하기 위한 도면이다.
도 3은 다른 일 실시예에 따른 분산 시스템을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법의 일 실시예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 업데이터 UI에 의해 입력되는 데이터를 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 클라이언트에 제공되는 정보를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
실시예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다.
도 1 및 도 2는 일 실시예에 따른 분산 시스템을 설명하기 위한 도면이다.
도 1을 참고하면, 본 개시의 분산 시스템(100)은 어플리케이션 서버(110), 분산 코디네이터(120), 데이터베이스(130)를 포함할 수 있다. 한편 도 1의 분산 시스템(100)은 어플리케이션 서버(110), 분산 코디네이터(120) 및 데이터베이스(130)를 각각 하나씩 포함하는 것으로 도시되었으나, 각 구성요소의 수는 이에 제한되지 않는다.
어플리케이션 서버(110)는 네트워크로 연결된 클라이언트(150)에 특정 서비스를 제공하는 서버를 의미한다. 어플리케이션 서버(110)는 단순히 클라이언트(150)에 표시되는 화면을 제공하는 것 뿐만 아니라, 다양한 비즈니스 로직을 처리할 수 있다. 일 실시예에 따르면, 어플리케이션 서버(110)는 온라인 상점을 운용하는 서버일 수 있고, 클라이언트(150)는 상품을 구매하는 사용자의 단말일 수 있으나, 어플리케이션 서버(110)의 운용 목적은 이에 제한되지 않는다. 한편, 분산 시스템(100)의 경우, 어플리케이션 서버(110)는 분산 코디네이터(120)에 대한 이벤트 워칭을 수행할 수 있다.
분산 코디네이터(120)는 분산 시스템(100)에 포함된 구성요소의 상태를 확인하고, 구성요소 간에 데이터를 공유하거나 동기화를 수행할 수 있다. 분산 코디네이터(120)는 분산 시스템(100)을 코디네이션 하는 용도의 구성요소이므로, 데이터 엑세스 속도가 비교적 빠르고, 자체적으로 발생할 수 있는 장애에 대한 대응 능력을 가질 수 있다.
데이터베이스(130)는 분산 시스템(100)에 이용되는 데이터를 저장 및 관리할 수 있다. 한편, 어플리케이션 서버(110)는 클라이언트(150)로부터 수신된 요청 신호에 따라, 데이터베이스(130)로부터 데이터를 독출하여 클라이언트(150)에 독출된 데이터를 제공할 수 있다.
예를 들어, 어플리케이션 서버(110)가 온라인 상점에 관한 서비스를 제공하는 서버인 경우, 데이터베이스(130)는 온라인 상점에서 판매하는 상품에 관한 데이터를 저장하고 있을 수 있다. 이러한 경우, 클라이언트(150)로부터 특정 상품의 재고 수량 정보에 관한 요청을 수신하면, 어플리케이션 서버(110)는 데이터베이스(130)로부터 해당 상품의 재고 수량을 독출한 후, 클라이언트(150)에 전달할 수 있다.
한편, 어플리케이션 서버(110)로 운영되는 온라인 상점의 물류 센터가 폭설 등과 같은 사유로 일시적으로 폐쇄되는 경우가 발생할 수 있다. 또는 물류 센터 내의 직원의 일신상의 문제로 해당 물류 센터에 있는 상품들의 출고가 어려운 경우가 발생할 수 있다. 이렇게 되면 데이터베이스(130)에 저장된 해당 상품의 재고 수량에 관한 데이터와 무관하게 일정 시간 동안 해당 물류 센터로부터 상품의 출고가 어려워질 수 있다.
이러한 경우 본 개시의 방법은 분산 코디네이터(120)를 통해 일시적으로 해당 상품의 재고 수량에 관한 데이터의 키 값을 "품절" 등으로 변경하여 어플리케이션 서버(110)에 제공할 수 있다. 이후 어플리케이션 서버(110)는 데이터베이스(130)로부터 해당 상품의 재고 수량에 관한 데이터를 수신하더라도, 분산 코디네이터(120)로부터 수신된 키 값에 따라, 클라이언트(150)에는 해당 상품이 품절되었다는 정보를 제공할 수 있게 된다.
본 개시의 방법에 의하면 데이터베이스(130)에 저장된 데이터를 변경하지 않고 분산 시스템(100)이 제공하는 서비스의 일시적인 상태에 따라, 업데이트된 데이터를 클라이언트(150)에 제공할 수 있다. 따라서, 데이터베이스(130)의 데이터를 변경하기 위한 자원 소모를 줄일 수 있고, 변경된 데이터를 더 빨리 클라이언트(150)에 제공할 수 있는 효과가 있다.
한편, 본 개시의 방법은 분산 코디네이터에서 직접 업데이트된 데이터를 저장하는 대신, 업데이트된 데이터를 저장하는 스토리지를 더 포함할 수 있다.
도 2를 참고하면, 분산 시스템(200)은 어플리케이션 서버(210), 분산 코디네이터(220), 제1 스토리지(240) 및 제2 스토리지(230)를 포함할 수 있다. 한편, 도 2의 어플리케이션 서버(210), 분산 코디네이터(220), 제2 스토리지(230)는 도 1의 어플리케이션 서버(110), 분산 코디네이터(120), 데이터베이스(130)와 대응되므로, 자세한 설명은 생략하기로 한다.
스토리지는 다양한 포맷의 파일을 저장할 수 있는 저장공간으로, 데이터베이스는 스토리지의 일 예일 수 있다. 한편, 제1 스토리지(240)는 서비스의 일시적인 상태정보를 수신할 수 있다. 만약 분산 시스템(200)이 온라인 상점을 운영하기 위한 시스템인 경우, 서비스의 일시적인 상태정보는, 온라인 상점의 물류센터의 일시적인 폐쇄에 관한 정보, 온라인 상점에서 판매가 어려운 상품에 관한 정보 등을 포함할 수 있으나, 서비스의 일시적인 상태정보는 이에 제한되지 않는다.
한편, 도 1을 참고하면 분산 코디네이터(220)는 직접 일시적인 상태정보를 수신할 수 있다. 그리고, 다른 일 실시예에 따르면, 제1 스토리지(240)가 일시적인 상태정보를 수신 및 저장하고, 분산 코디네이터(220)가 제1 스토리지(240) 내 저장된 상태정보의 접근 경로 정보를 저장 또는 업데이트할 수 있다.
이러한 경우, 어플리케이션 서버(210)는 분산 코디네이터(220)에 대한 이벤트 워칭 결과, 제1 스토리지(240) 내 저장된 상태정보의 접근 경로 정보가 변경된 것이 확인되면 제1 스토리지(240)로부터 변경된 상태정보를 수신할 수 있다.
한편, 제1 스토리지(240)는 일시적인 상태정보를 수신 및 저장하는 것으로 설명되었으나, 일시적인 상태정보는 서비스에 관한 데이터로 대체될 수 있다.
도 3은 다른 일 실시예에 따른 분산 시스템을 설명하기 위한 도면이다.
도 3을 참고하면, 분산 시스템(300)은 어플리케이션 서버(310), 주키퍼 서버(320), 데이터베이스(330), 웹 스토리지(340), 업데이터 UI(360)를 포함할 수 있다. 도 3의 어플리케이션 서버(310) 및 데이터베이스(330)는 도 1의 어플리케이션 서버(110) 및 데이터베이스(130)와 대응되므로, 자세한 설명은 생략하기로 한다. 한편 웹 스토리지(340)는 도 2의 제1 스토리지(240)의 일 예일 수 있다.
주키퍼 서버(320)는 분산 코디네이터 역할을 수행하는 분산 시스템의 일 예이다. 주키퍼 서버(320)는 분산 시스템(300) 내 구성요소 간의 데이터 공유를 위한 데이터 스토리지, 분산 시스템(300) 내 구성요소 멤버십 관리를 통한 데이터 변경 통지(Watch), 마스터 및 분산 락(lock) 등에 활용되는 시퀀스 노드 등을 제공할 수 있다. 본 개시의 방법은 분산 코디네이터로서 주키퍼 서버(320)가 아닌, 다른 구성을 포함할 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.
도 3을 참고하면, 시스템 관리자는 업데이터 UI(360)를 통해 매핑 파일을 업로드하고, 설정 데이터를 입력할 수 있다. 여기서 설정 데이터는 일시적인 상태 변경시 수행될 조치 사항에 관한 정보로 정의될 수 있다. 매핑 파일 및 설정 데이터는 일시적인 상태정보가 포함된 파일일 수 있으며, 예를 들어, 물류센터 식별자, 캠프 식별자, 특정 판매자가 판매하는 아이템(즉, 판매자-아이템)의 식별자, 일시적인 상태변경이 지속되는 시간 등에 관한 정보가 포함될 수 있다. 매핑 파일 및 설정 데이터에 관한 구체적인 내용은 도 5를 통해 설명하기로 한다.
한편, 업데이터 UI(360)는 업로드된 매핑 파일 및 설정 데이터에 포함된 데이터를 파싱할 수 있다. 예를 들어, 엑셀 파일 형식의 매핑 파일이 업로드되는 경우, 업데이터 UI(360)는 매핑 파일 및 설정 데이터에 포함된 물류센터 식별자에 관한 데이터 및 일시적인 상태정보 변경으로 인한 조치 사항에 관한 설정 데이터를 파싱하여 웹 스토리지(340)에 전달할 수 있다. 또한, 업데이터 UI(360)는 웹 스토리지(340)에 저장된 데이터의 접근 경로에 관한 정보를 주키퍼 서버(320)에 전달할 수 있다.
한편, 어플리케이션 서버(310)는 주키퍼 서버(320)와의 데이터 송수신을 위해 업데이터 SDK(Software Development Kit)를 포함할 수 있다. 또한, 어플리케이션 서버(310)는 주키퍼 서버(320)에 대해 이벤트 워칭을 수행할 수 있다. 만약 주키퍼 서버(320)가 업데이터 UI(360)로부터 웹 스토리지(340)에 저장된 데이터의 접근경로에 관한 정보를 수신하는 경우, 어플리케이션 서버(310)는 주키퍼 서버(320)로부터 콜백(callback)을 수신할 수 있다. 또한, 업로드된 데이터를 웹 스토리지(340)로부터 독출할 수 있다.
이후 어플리케이션 서버(310)는 클라이언트(350)로부터 특정 상품의 재고 수량에 관한 정보 요청을 수신할 수 있다. 이때 어플리케이션 서버(310)는 데이터베이스(330)에서 해당 상품의 재고 수량에 관한 정보를 요청하여 수신할 수 있고, 웹 스토리지(340)로부터 독출된 데이터를 반영하여 서빙 레이어(serving layer)를 통해 클라이언트(350)로 전송할 수 있다.
이에 따라, 클라이언트(350)는 서비스에 대한 일시적으로 상태정보가 반영된 데이터를 수신할 수 있게 된다.
도 4는 일 실시예에 따른 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법의 일 실시예를 설명하기 위한 도면이다.
도 4를 참고하면, 단계 S410에서, 업데이터 UI(360)는 매핑 파일을 업로드할 수 있다.
단계 S420에서, 업데이터 UI(360)는 매핑 파일 및 UI를 통해 입력된 설정 데이터를 파싱하고, 웹 스토리지(340)에 업로드할 수 있다. 그리고 단계 S425에서, 업데이터 UI(360)는 웹 스토리지(340)에 업로드된 데이터에 관한 경로의 업데이트 정보를 주키퍼 서버(320)에 전송할 수 있다.
한편 어플리케이션 서버(310)는 단계 S430에서, 주키퍼 서버(320)에 대해 이벤트 워칭을 수행할 수 있다. 따라서, 주키퍼 서버(320)가 업데이트된 데이터에 관한 접근 경로 정보를 수신하면, 어플리케이션 서버(310)는 단계 S440에서, 웹 스토리지(340)로부터 업데이트된 데이터를 독출할 수 있다.
단계 S450에서, 클라이언트(350)가 어플리케이션 서버(310)에 데이터를 요청하면, 어플리케이션 서버(310)는 단계 S460에서, 데이터베이스(330)로 데이터 요청을 전달할 수 있다. 그러고 나서 단계 S465에서, 데이터베이스(330)는 어플리케이션 서버(310)로 요청된 데이터를 전송할 수 있다.
이때 어플리케이션 서버(310)이 수신한 데이터에 대한 업데이트된 데이터가 존재하는 경우 어플리케이션 서버(310)는 단계 S470에서, 데이터 업데이트를 수행하고, 단계 S480에서, 클라이언트(350)에 업데이트된 데이터를 제공할 수 있다.
분산 시스템이 온라인 상점을 운영하기 위한 것이면, 상술된 절차를 통해 클라이언트에 제공되는 특정 상품의 재고 수량 중 일시적인 사유로 배송이 어려운 물류 센터의 재고의 숫자를 차감하거나, 관련 상품이 품절 인 것으로 일괄적으로 데이터 업데이트를 수행하여, 클라이언트에 제공할 수 있다. 또한 본 개시의 방법에 의하면 서비스가 제공되는 중에도 대용량 데이터의 일부 필드에 대한 변경 정보를 클라이언트에 제공할 수 있는 효과가 있다. 그리고 이와 같은 데이터 관리 구조를 통해 본 개시의 방법은 대용량의 데이터를 용이하게 업데이트 할 수 있는 효과가 있다.
도 5는 일 실시예에 따른 업데이터 UI에 의해 입력되는 데이터를 설명하기 위한 도면이다.
일 실시예에 따르면, 업데이터 UI을 이용하여 매핑 파일을 업로드할 수 있고, 설정 데이터를 입력할 수 있다.
도 5를 참고하면, 키 값(Key: debadging.7)은 독립적으로 운용될 수 있는 프로세스의 식별자를 의미한다. 예를 들어, 물류센터의 일시적인 폐쇄가 발생하였을 때 수행되는 조치 사항에 관한 정보가 하나의 키 값으로 저장될 수 있다. 한편, 키 값의 개수는 예를 들어, 10개일 수 있으나 이에 제한되지 않는다.
값(Value: debadging/2021/01/12/3100_SG57%28ICH8%29%20D.xlsx)은 시스템 관리자로부터 업로드된 매핑 파일에 관한 정보로 정의된다. 도 5를 참조하면, 엑셀 파일 형식으로 매핑 파일이 업로드될 수 있음을 알 수 있다. 한편, 매핑 파일은 물류센터(FC), 캠프 및 판매자-아이템에 관한 데이터가 각각의 시트로 입력된 것일 수 있다.
도 5의 행동(behavior) 항목은 시스템 관리자에 의해 입력된 조치가 필요한 상태임이 확인된 때, 처리 방법에 대한 선택을 수신하는 항목일 수 있다. 예를 들어, OOS가 선택되면 클라이언트에 해당 상품이 품절된 것으로 표시되도록 할 수 있고, 3PL(3rd Party Like)가 선택되면 클라이언트에서, 해당 상품이 리테일 제품이더라도 제휴 배송사가 배송하는 상품인 것으로 표시되도록 할 수 있다.
한편, 제1 영역(switch)(510)을 통해 시스템 관리자는 해당 조치 사항의 실행 여부를 결정할 수 있다.
제4 영역(540)은 업데이터 UI에서 수행할 수 있는 행동을 나열한 것으로, 좌측부터 각각 매핑 파일 업로드, 다운로드 및 이전 버전으로의 롤백 기능을 의미하는 것일 수 있다.
입력(도 5의 input) 선택은 업로드된 매핑 파일의 조건에서 어떤 룰을 적용할지 선택하는 영역일 수 있다. 업로드된 매핑 파일에 포함된 데이터 중에서, 어느 조합의 상태정보에 따라 해당 조치 사항을 실행하는지 여부가 입력될 수 있다. 여기서 조합은 캠프 및 판매자-식별자 조합(CAMP+VI), 캠프 단위(CAMP 단위), 물류센터 및 판매자-식별자 조합(CAMP+VI) 및 물류센터 단위(FC 단위) 중 하나일 수 있다.
제2 영역(520)은 해당 조치 사항이 수행될 시간 범위를 선택하거나 입력할 수 있는 영역이다. 한편, 제2 영역(520)에 해당 조치 사항이 수행될 시간 범위가 입력되지 않았거나, 입력된 시간 범위를 벗어났더라도, 제1 영역(510)에서 해당 조치 사항이 실행되어야 하는 것으로 스위칭되었다면, 스위칭 결과가 우선일 수 있다.
한편, 저장 버튼을 클릭함으로써, 설정된 내용이 저장 및 적용될 수 있고, 제3 영역(530)을 통해 해당 설정 내용이 업데이트된 시간 정보 및 해당 설정을 수행한 시스템 관리자에 관한 식별자를 표시할 수 있다.
한편, 상술된 업데이터 UI 항목은 시스템 구현 사항에 따라 일부 구성이 삭제되거나 추가될 수 있음은 해당 기술분야의 통상의 기술자에게 자명하다.
도 6은 일 실시예에 따라 클라이언트에 제공되는 정보를 설명하기 위한 도면이다.
일 실시예에 따르면, A 물류 센터(ID1)의 근로자 중 일부의 코로나 확진과 같은 일신상의 사유로 인해 A 물류 센터(ID1)가 일시적으로 폐쇄될 수 있다. 이러한 경우, A 물류 센터에 재고가 있어 판매가 가능한 운동화(ID2)의 재고 정보를 클라이언트에서 제공할 때에는, A 물류 센터의 해당 운동화(ID2)를 전체 품절로 표시할 수 있다. 또한, A 물류 센터와 소정의 영역 내에 위치한 클라이언트가 운동화(ID2)를 검색한 경우에만 운동화(ID2)가 품절 인것으로 표시할 수 있다.
도 6의 (a)를 참고하면, 운동화(ID2)가 품절 인것으로 표시하는 것을 대신하여 운동화(ID2)의 구입 버튼(610)이 선택될 수 없도록 클라이언트에 의해 제공되는 UI가 변경될 수 있다. 한편 A 물류 센터(ID1)의 업무가 정상화된 이후, 클라이언트는 해당 운동화(ID2)의 재고에 대한 데이터를 복구할 수 있다.
또한, 도 6의 (b)를 참고하면, 물류 센터의 문제가 발생하였을 때뿐만 아니라, 판매자가 판매하려는 상품이 혐오 상품 또는 불법 상품(620)인 경우, 본 개시의 방법은 빠르게 해당 상품을 품절인 것으로 표시할 수 있다.
도 7은 일 실시예에 따른 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법을 설명하기 위한 흐름도이다.
단계 S710에서, 본 개시의 방법은 주키퍼 서버에 대해 이벤트 워칭(watching)을 수행할 수 있다.
단계 S720에서, 본 개시의 방법은 상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신할 수 있다. 여기서 주키퍼 서버로부터 수신된 상기 제1 필드의 변경 관련 정보는 제2 스토리지에 저장된 상기 제1 필드의 변경 내용에 대한 접근 경로 정보일 수 있다. 한편, 상기 제1 스토리지는 데이터베이스이고, 상기 제2 스토리지는 웹 스토리지일 수 있다. 또한, 상기 주키퍼 서버 및 상기 제2 스토리지는 업데이터 UI로부터 상기 제1 필드의 변경 내용에 대한 접근 경로 정보 및 상기 제1 필드의 변경 내용를 각각 수신하는 것일 수 있다.
한편, 상기 업데이터 UI는 매핑 파일 및 설정 데이터 중 적어도 하나를 수신하고, 상기 수신된 매핑 파일 및 설정 데이터 중 적어도 하나로부터 상기 제1 필드의 변경 내용을 파싱하여 상기 제2 스토리지에 전송하는 것일 수 있다.
그리고 상기 어플리케이션 서버는 상기 주키퍼 서버와 데이터 송수신을 위해 업데이터 SDK를 구비하는 것일 수 있다.
단계 S730에서, 본 개시의 방법은 클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출할 수 있다.
단계 S740에서, 본 개시의 방법은 상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공할 수 있다.
한편, 단계 S740는 상기 어플리케이션 서버가 온라인 상점을 위한 것이고, 상기 제1 필드가 물류센터의 운영 가능 여부이고, 변경된 상기 제1 필드의 값은 상기 물류센터의 폐쇄를 나타내는 값인 경우, 상기 클라이언트의 위치 정보를 확인하는 단계 및 상기 확인 결과, 상기 클라이언트가 상기 물류센터와 소정의 영역 내에 위치하는 경우 상기 물류센터로부터 출고되어야 하는 상품은 품절 임을 상기 클라이언트에 제공하는 단계를 포함할 수 있다.
만약 상기 물류센터로부터 출고되어야 하는 상품은 품절 임을 상기 클라이언트에 제공한 이후이면, 본 개시의 방법은 상기 주키퍼 서버에 대한 이벤트 워칭 결과, 상기 주키퍼 서버로부터 상기 제1 필드의 값이 상기 물류센터의 폐쇄의 해제를 나타내는 값으로 변경되었다는 정보를 수신하는 단계 및 상기 물류센터로부터 출고되어야 하는 상품의 재고 수량에 관한 정보를 상기 클라이언트에 제공하는 단계를 더 포함할 수 있다.
도 8은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
본 개시의 전자 장치(800)는 분산 시스템의 어플리케이션 서버의 일 예일 수 있다. 또한 전자 장치(800)는 일 실시예에 따라, 메모리(memory)(810) 및 프로세서(processor)(820)를 포함할 수 있다. 도 8에 도시된 전자 장치(800)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 8에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
메모리(810)는 전자 장치(800) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(810)는 전자 장치(800)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 메모리(810)는 프로세서(820)의 동작을 위한 적어도 하나의 명령어(instruction)를 저장할 수 있다. 또한, 메모리(810)는 전자 장치(800)에 의해 구동될 프로그램 또는 애플리케이션 등을 저장할 수 있다. 메모리(810)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(820)는 전자 장치(800)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(820)는 메모리(810)에 저장된 적어도 하나의 명령어 또는 적어도 하나의 프로그램을 실행함으로써, 전자 장치(800)를 전반적으로 제어할 수 있다. 프로세서(820)는 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
프로세서(820)는 주키퍼 서버에 대해 이벤트 워칭을 수행하고, 상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하고, 클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하고, 상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공할 수 있다.
여기서 상기 주키퍼 서버로부터 수신된 상기 제1 필드의 변경 관련 정보는 제2 스토리지에 저장된 상기 제1 필드의 변경 내용에 대한 접근 경로 정보일 수 있고, 상기 제1 스토리지는 데이터베이스이고, 상기 제2 스토리지는 웹 스토리지일 수 있다.
한편, 상기 주키퍼 서버 및 상기 제2 스토리지는 업데이터 UI로부터 상기 제1 필드의 변경 내용에 대한 접근 경로 정보 및 상기 제1 필드의 변경 내용를 각각 수신하는 것일 수 있다. 또한, 상기 업데이터 UI는 매핑 파일 및 설정 데이터 중 적어도 하나를 수신하고 상기 수신된 매핑 파일 및 설정 데이터 중 적어도 하나로부터 상기 제1 필드의 변경 내용을 파싱하여 상기 제2 스토리지에 전송할 수 있다.
또한, 프로세서(820)는 상기 주키퍼 서버와 데이터 송수신을 위해 업데이터 SDK를 구비할 수 있다.
한편, 프로세서(820)는 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공할 때, 상기 어플리케이션 서버가 온라인 상점을 위한 것이고, 상기 제1 필드가 물류센터의 운영 가능 여부이고, 변경된 상기 제1 필드의 값은 상기 물류센터의 폐쇄를 나타내는 값인 경우, 상기 클라이언트의 위치 정보를 확인하고, 상기 확인 결과, 상기 클라이언트가 상기 물류센터와 소정의 영역 내에 위치하는 경우 상기 물류센터로부터 출고되어야 하는 상품이 품절 또는 제휴 배송사에서 배송되어야 하는 상품임을 상기 클라이언트에 제공할 수 있다.
또한, 프로세서(820)는 상기 물류센터로부터 출고되어야 하는 상품은 품절 또는 제휴 배송사에서 배송되어야 하는 상품임을 상기 클라이언트에 제공한 이후, 상기 주키퍼 서버에 대한 이벤트 워칭 결과, 상기 주키퍼 서버로부터 상기 제1 필드의 값이 상기 물류센터의 폐쇄의 해제를 나타내는 값으로 변경되었다는 정보를 수신하고, 상기 물류센터로부터 출고되어야 하는 상품의 재고 수량에 관한 정보를 상기 클라이언트에 제공할 수 있다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, 파이썬(python), C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (13)

  1. 어플리케이션 서버가 분산 시스템의 데이터 처리하는 방법으로서,
    제1서버로부터 제1스토리지에 업로드된 업데이트 데이터의 경로 정보를 확인하는 단계;
    상기 경로 정보에 기초하여 상기 제1스토리지로부터 상기 업데이트 데이터를 확인하는 단계;
    사용자의 단말로부터 수신한 아이템에 관한 요청 신호에 대응하여, 제2스토리지로부터 상기 아이템에 대한 제1데이터를 확인하는 단계; 및
    상기 업데이트 데이터에 기반하여 상기 제1데이터를 업데이트하는 단계; 를 포함하는,
    분산 시스템의 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 업데이트 데이터는 관리자의 단말로부터 업로드된 매핑 파일로부터 파싱되는,
    분산 시스템 데이터 처리 방법.
  3. 제2항에 있어서,
    상기 매핑 파일은 상기 아이템에 대한 물류 센터에 관한 제1업데이트 정보, 및 상기 아이템의 판매자에 관한 제2업데이트 정보, 상기 아이템에 대한 제3업데이트 정보 중 적어도 하나를 포함하는,
    분산 시스템의 데이터 처리 방법.
  4. 제2항에 있어서, 상기 분산 시스템의 데이터 처리 방법은,
    상기 관리자의 단말로 상기 매핑 파일을 업로드하기 위한 제1인터페이스, 및 상기 매핑 파일에 포함된 하나 이상의 아이템에 대한 조치 사항을 설정하기 위한 제2인터페이스를 포함하는 제1페이지를 제공하는 단계를 포함하고,
    상기 조치 사항은 상기 아이템의 배송 또는 재고와 관련된 정보를 설정하는 항목 및 상기 제1데이터가 적용되는 시간의 범위를 설정하는 항목 중 적어도 하나를 포함하는,
    분산 시스템의 데이터 처리 방법.
  5. 제1항에 있어서,
    상기 경로 정보는 상기 제1스토리지에 저장된 상기 업데이트 데이터에 대한 접근 경로를 나타내는,
    분산 시스템의 데이터 처리 방법.
  6. 제4항에 있어서,
    상기 업데이트된 제1데이터를 상기 사용자의 단말로 전송하는 단계; 를 더 포함하고,
    분산 시스템의 데이터 처리 방법.
  7. 제1항에 있어서,
    상기 어플리케이션 서버는 코디네이션 서버와 데이터 송수신을 위한 업데이터 SDK를 구비하는,
    분산 시스템의 데이터 처리 방법.
  8. 제6항에 있어서, 상기 어플리케이션 서버는 전자상거래와 관련된 서비스를 운용하고,
    상기 업데이트 데이터는 상기 조치 사항에 대한 관리자의 설정에 의해 물류센터의 운영 가능 여부를 나타내는 제1정보를 포함하는,
    분산 시스템의 데이터 처리 방법.
  9. 제8항에 있어서, 상기 사용자의 단말로 상기 업데이트된 제1데이터를 전송하는 단계는:
    상기 제1정보의 값이 물류센터의 폐쇄를 나타내는 값인 경우, 상기 사용자의 단말의 위치 정보를 확인하는 단계; 및
    상기 사용자의 단말이 상기 물류센터와 특정 영역 내에 위치하는 경우 상기 물류센터로부터 출고되어야 하는 아이템이 품절임 또는 제휴 배송사에서 배송되어야 하는 상품임을 상기 제공하는 단계; 를 포함하는,
    분산 시스템의 데이터 처리 방법.
  10. 제8항에 있어서, 상기 사용자의 단말로 상기 업데이트된 제1데이터를 전송하는 단계는:
    상기 제1데이터는 상기 조치 사항에 대한 관리자의 설정에 의해 배송 상태를 나타내는 제2정보를 포함하고,
    상기 제2정보에 기초하여 차감된 상기 아이템의 재고량 또는 상기 아이템이 품절임을 상기 사용자의 단말로 제공하는 단계; 를 포함하는,
    분산 시스템의 데이터 처리 방법.
  11. 제4항에 있어서, 상기 제1페이지는 상기 업로드된 매핑 파일 내에 포함된 업데이트 정보에 우선적으로 적용되는 상기 관리자에 의해 입력되는 업데이트 정보를 설정하기 위한 제3인터페이스를 포함하는,
    분산 시스템의 데이터 처리 방법.
  12. 비일시적 컴퓨터 판독 가능 저장 매체로서,
    컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고,
    상기 컴퓨터 판독 가능 명령어들이 프로세서에 의해 실행되는 경우 상기 프로세서는:
    제1서버로부터 제1스토리지에 업로드된 업데이트 데이터의 경로 정보를 확인하는 단계;
    상기 경로 정보에 기초하여 상기 제1스토리지로부터 상기 업데이트 데이터를 확인하는 단계;
    사용자의 단말로부터 수신한 아이템에 관한 요청 신호에 대응하여, 제2스토리지로부터 상기 아이템에 대한 제1데이터를 확인하는 단계; 및
    상기 업데이트 데이터에 기반하여 상기 제1데이터를 업데이트하는 단계; 를 수행하는,
    비일시적 컴퓨터 판독 가능 저장 매체.
  13. 분산 시스템에서 데이터를 제공하기 위한 전자 장치로서,
    적어도 하나의 명령어(instruction)를 저장하는 메모리(memory); 및
    상기 적어도 하나의 명령어를 실행하여,
    제1서버로부터 제1스토리지에 업로드된 업데이트 데이터의 경로 정보를 확인하는 단계;
    상기 경로 정보에 기초하여 상기 제1스토리지로부터 상기 업데이트 데이터를 확인하는 단계;
    사용자의 단말로부터 수신한 아이템에 관한 요청 신호에 대응하여, 제2스토리지로부터 상기 아이템에 대한 제1데이터를 확인하는 단계; 및
    상기 업데이트 데이터에 기반하여 상기 제1데이터를 업데이트하는 단계; 를 수행하는 프로세서(processor)를 포함하는,
    전자 장치.
KR1020210162197A 2021-03-19 2021-11-23 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치 KR102553162B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210162197A KR102553162B1 (ko) 2021-03-19 2021-11-23 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210036127A KR102331734B1 (ko) 2021-03-19 2021-03-19 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
KR1020210162197A KR102553162B1 (ko) 2021-03-19 2021-11-23 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210036127A Division KR102331734B1 (ko) 2021-03-19 2021-03-19 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치

Publications (2)

Publication Number Publication Date
KR20220131142A true KR20220131142A (ko) 2022-09-27
KR102553162B1 KR102553162B1 (ko) 2023-07-10

Family

ID=78933728

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210036127A KR102331734B1 (ko) 2021-03-19 2021-03-19 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
KR1020210162197A KR102553162B1 (ko) 2021-03-19 2021-11-23 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020210036127A KR102331734B1 (ko) 2021-03-19 2021-03-19 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치

Country Status (5)

Country Link
US (1) US11436562B1 (ko)
JP (1) JP2022145365A (ko)
KR (2) KR102331734B1 (ko)
TW (1) TW202238410A (ko)
WO (1) WO2022196853A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661742A (zh) * 2022-03-28 2022-06-24 浪潮卓数大数据产业发展有限公司 基于Zookeeper的分布式锁的获取方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053534A (ja) * 2010-08-31 2012-03-15 Hitachi Information Systems Ltd 分散構成管理データベースシステム及び分散構成データ管理方法
KR20160057944A (ko) * 2014-11-14 2016-05-24 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
KR20180010733A (ko) * 2016-07-22 2018-01-31 주식회사 아이티빌리지 빅 데이터 기반의 상품 판매 허브 시스템
KR20190068859A (ko) * 2017-12-11 2019-06-19 엔에이치엔 주식회사 캐시 서버에서의 파일 동기화 방법 및 시스템
US20200327113A1 (en) * 2012-08-08 2020-10-15 Amazon Technologies, Inc. Data storage application programming interface

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015099554A1 (en) * 2013-12-23 2015-07-02 Emc Corporation Asynchronous notification method for data storage systems
KR102082355B1 (ko) 2015-01-23 2020-02-27 이베이 인크. 대용량 네트워크 데이터의 처리 기법
CN105391755B (zh) 2015-09-30 2018-10-19 华为技术有限公司 一种分布式系统中数据处理方法、装置及系统
CN105653406B (zh) 2015-12-31 2019-05-24 华为技术有限公司 一种管理分布式存储系统的方法及分布式存储系统
CN110392025B (zh) 2018-04-20 2022-03-25 伊姆西Ip控股有限责任公司 管理分布式系统的方法、设备和计算机可读介质
KR20200072128A (ko) * 2018-12-12 2020-06-22 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법
CN111884834A (zh) 2020-07-07 2020-11-03 杭州安恒信息技术股份有限公司 基于zookeeper的分布式系统升级方法、系统和计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053534A (ja) * 2010-08-31 2012-03-15 Hitachi Information Systems Ltd 分散構成管理データベースシステム及び分散構成データ管理方法
US20200327113A1 (en) * 2012-08-08 2020-10-15 Amazon Technologies, Inc. Data storage application programming interface
KR20160057944A (ko) * 2014-11-14 2016-05-24 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
KR20180010733A (ko) * 2016-07-22 2018-01-31 주식회사 아이티빌리지 빅 데이터 기반의 상품 판매 허브 시스템
KR20190068859A (ko) * 2017-12-11 2019-06-19 엔에이치엔 주식회사 캐시 서버에서의 파일 동기화 방법 및 시스템

Also Published As

Publication number Publication date
JP2022145365A (ja) 2022-10-04
US11436562B1 (en) 2022-09-06
KR102553162B1 (ko) 2023-07-10
US20220300891A1 (en) 2022-09-22
WO2022196853A1 (ko) 2022-09-22
TW202238410A (zh) 2022-10-01
KR102331734B1 (ko) 2021-12-01

Similar Documents

Publication Publication Date Title
CN109976667B (zh) 一种镜像管理方法、装置及系统
US8606889B2 (en) Roaming application settings across multiple computing devices
JP6077562B2 (ja) 分散型アプリケーション・オブジェクトに関するアップデート通知の提供
US9836346B2 (en) Error troubleshooting using a correlated knowledge base
CA2831381C (en) Recovery of tenant data across tenant moves
US8832648B2 (en) Managing dynamic configuration data for a set of components
CN102349062A (zh) 用于跨设备和web服务使浏览器缓存同步的编程模型
US8756254B2 (en) Integration of CRM applications to ECS application user interface
US8886933B1 (en) Streamlined provisioning and configuration of computing devices
CN109445841B (zh) 接口文档管理方法、装置、服务器及存储介质
US10764122B2 (en) Managing computing infrastructure events having different event notification formats
US9519600B2 (en) Driver shimming
US20190043101A1 (en) Data driven rules engine to dynamically change product business rules
US20130238673A1 (en) Information processing apparatus, image file creation method, and storage medium
KR102331734B1 (ko) 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
US11526337B2 (en) Systems and methods for consistent feature flag evaluation
US8650533B2 (en) Management of variants of an enterprise process
US10956413B2 (en) Action set translation
JP2014123360A (ja) 仮想マシンのタグ分類システム及び方法
US20130290830A1 (en) System and method for managing a viewstate of a web application
KR102300938B1 (ko) 데이터 적재 방법 및 이를 위한 전자 장치
US20200120183A1 (en) Method, device and program product for accessing backup server through office software
US9628335B2 (en) Building and transporting centrally modified software systems
WO2023229569A1 (en) Method and apparatus for a report connector
WO2014096937A1 (en) Systems and methods for building a centralized app store

Legal Events

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