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

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

Info

Publication number
WO2022196853A1
WO2022196853A1 PCT/KR2021/003575 KR2021003575W WO2022196853A1 WO 2022196853 A1 WO2022196853 A1 WO 2022196853A1 KR 2021003575 W KR2021003575 W KR 2021003575W WO 2022196853 A1 WO2022196853 A1 WO 2022196853A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
client
field
server
storage
Prior art date
Application number
PCT/KR2021/003575
Other languages
English (en)
French (fr)
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 WO2022196853A1 publication Critical patent/WO2022196853A1/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

Definitions

  • the present disclosure relates to a data processing method of a distributed system and an electronic device therefor.
  • a distributed system refers to a system in which a complex process performed by one high-performance device is divided into small units and divided and processed by a plurality of devices connected through a network.
  • the throughput of the system is improved by processing one task in parallel on multiple devices.
  • the distributed system has the advantage of being able to easily expand the system by adding new devices to the network.
  • the distributed coordinator performs a role of maintaining important state information or configuration information in the distributed system.
  • ZooKeeper may be an example of a distributed coordinator, and may perform information sharing between devices in a distributed system, event processing, device monitoring, failure status determination, and the like.
  • resource consumption may be relatively large.
  • resource consumption can be reduced when the distributed coordinator is used, there is a need for a data processing method using the distributed coordinator in the field of producing and managing large-capacity data.
  • the disclosed embodiments are intended to disclose a data processing method of a distributed system and an electronic device therefor.
  • the technical problems to be achieved by the present embodiment are not limited to the technical problems as described above, and other technical problems may be inferred from the following embodiments.
  • a method for an application server of a distributed system to provide data includes: performing event watching for a Zookeeper server; according to a result of the event watching, the first data included in the first data Receiving field change related information from the ZooKeeper server, reading the first data from a first storage when a request signal for the first data is input from a client, and information received from the ZooKeeper server based on , changing the value of the first field included in the read first data, and providing the first data in which the value of the first field is changed to the client.
  • an electronic device for providing data in a distributed system includes a memory that stores at least one instruction and executes the at least one instruction to watch an event on a Zookeeper server. , and according to the event watching result, information related to the change of the first field included in the first data is received from the Zookeeper server, and when a request signal for the first data is input from the client, from the first storage First data in which the first data is read, the value of the first field included in the read first data is changed based on the information received from the Zookeeper server, and the value of the first field is changed It may include a processor that provides the to the client.
  • the computer-readable recording medium includes a non-transitory recording medium in which a program for executing the above-described method is recorded in a computer.
  • the method and apparatus according to the present disclosure are effective in reducing resource consumption when changing a specific field in a database for an application that uses a large amount of data.
  • 1 and 2 are diagrams for explaining a distributed system according to an embodiment.
  • FIG. 3 is a diagram for explaining a distributed system according to another embodiment.
  • FIG. 4 is a diagram for explaining an embodiment of a method for providing data by an application server of a distributed system according to an embodiment.
  • FIG. 5 is a diagram for describing data input by an updater UI according to an exemplary embodiment.
  • FIG. 6 is a diagram for explaining information provided to a client according to an exemplary embodiment.
  • FIG. 7 is a flowchart illustrating a method for providing data by an application server of a distributed system according to an embodiment.
  • FIG. 8 is a block diagram of an electronic device according to an exemplary embodiment.
  • the "terminal” referred to below may be implemented as a computer or a portable terminal capable of accessing a server or other terminal through a network.
  • the computer includes, for example, a laptop, a desktop, and a laptop equipped with a web browser (WEB Browser), and the portable terminal is, for example, a wireless communication device that ensures portability and mobility.
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wide-Code Division Multiple Access
  • LTE Long Term Evolution
  • It may include a handheld-based wireless communication device.
  • 1 and 2 are diagrams for explaining a distributed system according to an embodiment.
  • the distributed system 100 of the present disclosure may include an application server 110 , a distributed coordinator 120 , and a database 130 .
  • the distributed system 100 of FIG. 1 is illustrated as including one application server 110 , one distributed coordinator 120 , and one database 130 , the number of each component is not limited thereto.
  • the application server 110 refers to a server that provides a specific service to the client 150 connected through a network.
  • the application server 110 may not only provide a screen displayed on the client 150 but also process various business logic.
  • the application server 110 may be a server operating an online store, and the client 150 may be a terminal of a user purchasing a product, but the operating purpose of the application server 110 is not limited thereto. does not Meanwhile, in the case of the distributed system 100 , the application server 110 may perform event watching for the distributed coordinator 120 .
  • the distributed coordinator 120 may check the status of components included in the distributed system 100 , and may share data or perform synchronization between components. Since the distributed coordinator 120 is a component for coordinating the distributed system 100 , the data access speed is relatively fast, and it can have the ability to respond to failures that may occur on its own.
  • the database 130 may store and manage data used in the distributed system 100 . Meanwhile, the application server 110 may read data from the database 130 according to a request signal received from the client 150 and provide the read data to the client 150 .
  • the database 130 may store data related to products sold in the online store.
  • the application server 110 may read the inventory quantity of the corresponding product from the database 130 and then deliver it to the client 150 . .
  • the distribution center of the online store operated as the application server 110 may be temporarily closed due to a heavy snowfall or the like.
  • the method of the present disclosure may temporarily change the key value of the data related to the stock quantity of the corresponding product to “out of stock” and provide it to the application server 110 through the distributed coordinator 120 . After that, even if the application server 110 receives the data on the stock quantity of the product from the database 130, according to the key value received from the distribution coordinator 120, the client 150 provides information that the product is out of stock. be able to do
  • updated data can be provided to the client 150 according to the temporary state of the service provided by the distributed system 100 without changing the data stored in the database 130 . Accordingly, resource consumption for changing data in the database 130 can be reduced, and the changed data can be provided to the client 150 more quickly.
  • the method of the present disclosure may further include storage for storing the updated data instead of directly storing the updated data in the distributed coordinator.
  • the distributed system 200 may include an application server 210 , a distributed coordinator 220 , a first storage 240 , and a second storage 230 .
  • the application server 210, the distributed coordinator 220, and the second storage 230 of FIG. 2 correspond to the application server 110, the distributed coordinator 120, and the database 130 of FIG. 1, a detailed description is given below. to be omitted.
  • the storage is a storage space capable of storing files of various formats, and the database may be an example of the storage.
  • the first storage 240 may receive temporary status information of the service. If the distributed system 200 is a system for operating an online store, the temporary status information of the service may include information about the temporary closure of the distribution center of the online store, information about products that are difficult to sell in the online store, etc. However, the temporary status information of the service is not limited thereto.
  • the distributed coordinator 220 may directly receive temporary state information.
  • the first storage 240 receives and stores temporary state information, and the distributed coordinator 220 stores or updates access path information of the state information stored in the first storage 240 .
  • the application server 210 receives the changed state information from the first storage 240 . can receive
  • the first storage 240 has been described as receiving and storing temporary status information, the temporary status information may be replaced with service-related data.
  • FIG. 3 is a diagram for explaining a distributed system according to another embodiment.
  • the distributed system 300 may include an application server 310 , a Zookeeper server 320 , a database 330 , a web storage 340 , and an updater UI 360 . Since the application server 310 and the database 330 of FIG. 3 correspond to the application server 110 and the database 130 of FIG. 1 , a detailed description thereof will be omitted. Meanwhile, the web storage 340 may be an example of the first storage 240 of FIG. 2 .
  • the Zookeeper server 320 is an example of a distributed system serving as a distributed coordinator.
  • Zookeeper server 320 is a data storage for data sharing between components in the distributed system 300, data change notification (Watch) through component membership management in the distributed system 300, master and distributed lock (lock), etc.
  • a sequence node to be utilized may be provided. It is apparent to those skilled in the art that the method of the present disclosure may include a configuration other than the Zookeeper server 320 as a distributed coordinator.
  • the system administrator may upload a mapping file through the updater UI 360 and input setting data.
  • the setting data may be defined as information about actions to be performed when a temporary state is changed.
  • the mapping file and setting data may be files containing temporary status information, for example, a distribution center identifier, a camp identifier, an identifier of an item sold by a specific seller (ie, seller-item), Information regarding time and the like may be included. Specific details regarding the mapping file and setting data will be described with reference to FIG. 5 .
  • the updater UI 360 may parse data included in the uploaded mapping file and setting data. For example, when the mapping file in the Excel file format is uploaded, the updater UI 360 parses the data related to the logistics center identifier included in the mapping file and the setting data and the setting data related to the action due to the temporary status information change. to the web storage 340 . Also, the updater UI 360 may transmit information about an access path of data stored in the web storage 340 to the Zookeeper server 320 .
  • the application server 310 may include an updater SDK (Software Development Kit) for data transmission/reception with the Zookeeper server 320 . Also, the application server 310 may perform event watching for the Zookeeper server 320 . If the ZooKeeper server 320 receives information about the access path of data stored in the web storage 340 from the updater UI 360 , the application server 310 calls back from the ZooKeeper server 320 . can receive Also, the uploaded data may be read from the web storage 340 .
  • updater SDK Software Development Kit
  • the application server 310 may receive a request for information regarding the inventory quantity of a specific product from the client 350 .
  • the application server 310 may request and receive information on the inventory quantity of the corresponding product from the database 330, and reflect the data read from the web storage 340 through the serving layer to the client ( 350) can be transmitted.
  • the client 350 can receive data in which the status information for the service is temporarily reflected.
  • FIG. 4 is a diagram for explaining an embodiment of a method for providing data by an application server of a distributed system according to an embodiment.
  • step S410 the updater UI 360 may upload a mapping file.
  • step S420 the updater UI 360 may parse the mapping file and the setting data input through the UI, and upload it to the web storage 340 . And in step S425 , the updater UI 360 may transmit update information of a path related to the data uploaded to the web storage 340 to the Zookeeper server 320 .
  • the application server 310 may perform event watching on the Zookeeper server 320 in step S430 . Accordingly, when the ZooKeeper server 320 receives the access path information regarding the updated data, the application server 310 may read the updated data from the web storage 340 in step S440 .
  • step S450 when the client 350 requests data from the application server 310 , the application server 310 may transmit the data request to the database 330 in step S460 . Then, in step S465 , the database 330 may transmit the requested data to the application server 310 .
  • the application server 310 performs the data update in step S470, and provides the updated data to the client 350 in step S480.
  • the distributed system is to operate an online store, the number of inventory in the distribution center that is difficult to deliver due to temporary reasons from the inventory quantity of a specific product provided to the client through the above-mentioned procedure is subtracted, or the related product is collectively declared out of stock.
  • data update can be performed and provided to the client.
  • change information on some fields of large data can be provided to the client while the service is being provided. And through such a data management structure, the method of the present disclosure has the effect of being able to easily update a large amount of data.
  • FIG. 5 is a diagram for describing data input by an updater UI according to an exemplary embodiment.
  • a mapping file may be uploaded using the updater UI, and setting data may be input.
  • a key value (Key: debadging.7) means an identifier of a process that can be operated independently. For example, information on actions to be performed when a temporary closure of a distribution center occurs may be stored as a single key value. Meanwhile, the number of key values may be, for example, 10, but is not limited thereto.
  • the value (Value: debadging/2021/01/12/3100_SG57%28ICH8%29%20D.xlsx) is defined as information about the mapping file uploaded from the system administrator. Referring to FIG. 5 , it can be seen that the mapping file can be uploaded in an Excel file format. On the other hand, the mapping file may be a distribution center (FC), camp, and seller-item data is input to each sheet.
  • FC distribution center
  • the behavior item of FIG. 5 may be an item for receiving a selection for a processing method when it is confirmed that an action input by the system administrator is required. For example, if OOS is selected, you can make the product appear out of stock to the client, and if 3rd Party Like (3PL) is selected, you can make the product appear to the client as being delivered by an affiliate carrier, even if it is a retail product. can do.
  • 3PL 3rd Party Like
  • the system administrator may determine whether to execute the corresponding action.
  • the fourth area 540 lists actions that can be performed in the updater UI, and may mean mapping file upload, download, and rollback functions to a previous version, respectively, from the left.
  • the input (input in FIG. 5 ) selection may be an area for selecting which rule to apply in the conditions of the uploaded mapping file. Among the data included in the uploaded mapping file, whether the corresponding action is executed according to which combination of status information may be input.
  • the combination may be one of a camp and seller-identifier combination (CAMP+VI), a camp unit (CAMP unit), a distribution center and a seller-identifier combination (CAMP+VI), and a distribution center unit (FC unit).
  • the second area 520 is an area in which a time range in which the corresponding action is to be performed can be selected or input. On the other hand, even if the time range for performing the corresponding action is not input to the second area 520 or is out of the input time range, if the first area 510 is switched to the time range for which the corresponding action is to be executed, The switching result may have priority.
  • the set content may be saved and applied, and time information at which the corresponding setting content was updated and an identifier regarding the system manager who performed the corresponding setting may be displayed through the third area 530 .
  • updater UI item may have some components deleted or added according to system implementation details.
  • FIG. 6 is a diagram for explaining information provided to a client according to an exemplary embodiment.
  • distribution center A may be temporarily closed.
  • the client provides inventory information of the sneakers ID2 that are in stock in the distribution center A and can be sold
  • the corresponding sneakers ID2 of the distribution center A may be displayed as out of stock.
  • the sneakers ID2 may be displayed as out of stock.
  • the UI provided by the client may be changed so that the purchase button 610 of the sneaker ID2 cannot be selected instead of displaying that the sneaker ID2 is out of stock.
  • the client may recover the data on the inventory of the corresponding sneakers (ID2).
  • FIG. 7 is a flowchart illustrating a method for providing data by an application server of a distributed system according to an embodiment.
  • step S710 the method of the present disclosure may perform event watching for the Zookeeper server.
  • the method of the present disclosure may receive, according to the event watching result, change related information of the first field included in the first data from the Zookeeper server.
  • the change related information of the first field received from the ZooKeeper server may be access path information about the change of the first field stored in the second storage.
  • the first storage may be a database
  • the second storage may be a web storage.
  • the Zookeeper server and the second storage may receive access path information for the change content of the first field and the change content of the first field from the updater UI, respectively.
  • the updater UI may receive at least one of a mapping file and setting data, parse a change in the first field from at least one of the received mapping file and setting data, and transmit it to the second storage .
  • the application server may include an updater SDK for data transmission/reception with the Zookeeper server.
  • step S730 the method of the present disclosure may read the first data from the first storage when a request signal for the first data is input from the client.
  • step S740 the method of the present disclosure changes the value of the first field included in the read first data based on the information received from the Zookeeper server, and changes the value of the first field in which the value of the first field is changed.
  • Data may be provided to the client.
  • step S740 when the application server is for an online store, the first field is whether the distribution center can be operated, and the changed value of the first field is a value indicating the closure of the distribution center, the location of the client
  • the step of checking information and, as a result of the check, when the client is located within a predetermined area with the distribution center, may include the step of providing to the client that the product to be shipped from the distribution center is out of stock.
  • the method of the present disclosure determines that the value of the first field from the ZooKeeper server is the value of the distribution center as a result of event watching for the ZooKeeper server. It may further include the steps of receiving information that the value has been changed to a value indicating the release of the closure and providing information about the inventory quantity of goods to be shipped from the distribution center to the client.
  • FIG. 8 is a block diagram of an electronic device according to an exemplary embodiment.
  • the electronic device 800 of the present disclosure may be an example of an application server of a distributed system. Also, according to an embodiment, the electronic device 800 may include a memory 810 and a processor 820 . In the electronic device 800 illustrated in FIG. 8 , only components related to the present embodiment are illustrated. Accordingly, it can be understood by those of ordinary skill in the art related to the present embodiment that other general-purpose components may be further included in addition to the components shown in FIG. 8 .
  • the memory 810 is hardware for storing various types of data processed in the electronic device 800 , and for example, the memory 810 may store data processed by the electronic device 800 and data to be processed.
  • the memory 810 may store at least one instruction for an operation of the processor 820 .
  • the memory 810 may store a program or an application to be driven by the electronic device 800 .
  • the memory 810 is a random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • CD- It may include ROM, Blu-ray or other optical disk storage,
  • the processor 820 may control the overall operation of the electronic device 800 and process data and signals.
  • the processor 820 may control the electronic device 800 as a whole by executing at least one instruction or at least one program stored in the memory 810 .
  • the processor 820 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), or the like, but is not limited thereto.
  • the processor 820 performs event watching on the Zookeeper server, receives change related information of a first field included in first data according to the event watching result from the Zookeeper server, and receives the first field from the client
  • the first data is read from the first storage, and the value of the first field included in the read first data is changed based on the information received from the Zookeeper server; , the first data in which the value of the first field is changed may be provided to the client.
  • the change related information of the first field received from the ZooKeeper server may be access path information for the change content of the first field stored in a second storage
  • the first storage is a database
  • the second storage may be web storage.
  • the Zookeeper server and the second storage may receive access path information for the change content of the first field and the change content of the first field from the updater UI, respectively.
  • the updater UI may receive at least one of a mapping file and setting data, parse a change in the first field from at least one of the received mapping file and setting data, and transmit it to the second storage.
  • the processor 820 may include an updater SDK for data transmission/reception with the Zookeeper server.
  • the processor 820 when the processor 820 provides the first data in which the value of the first field is changed to the client, the application server is for an online store, the first field is whether the logistics center can be operated, and the changed When the value of the first field is a value indicating the closure of the distribution center, the location information of the client is checked, and as a result of the check, if the client is located within a predetermined area with the distribution center, it should be shipped from the distribution center It is possible to provide to the client that the product to be delivered is out of stock or a product to be delivered by an affiliated shipping company.
  • the processor 820 provides the client that the product to be shipped from the distribution center is out of stock or a product to be delivered from an affiliated delivery company, and then, as a result of event watching for the ZooKeeper server, is sent from the ZooKeeper server. It is possible to receive information that the value of the first field has been changed to a value indicating the release of the closure of the distribution center, and provide information about the inventory quantity of goods to be shipped from the distribution center to the client.
  • the electronic device or terminal includes a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key (key). ), user interface devices such as buttons, and the like.
  • Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
  • the computer-readable recording medium includes a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optically readable medium (eg, CD-ROM). ), DVD (Digital Versatile Disc), and the like.
  • the computer-readable recording medium is distributed among network-connected computer systems, so that the computer-readable code can be stored and executed in a distributed manner.
  • the medium may be readable by a computer, stored in a memory, and executed on a processor.
  • This embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in any number of hardware and/or software configurations that perform specific functions.
  • an embodiment may be an integrated circuit configuration, such as memory, processing, logic, look-up table, etc., capable of executing various functions by means of the control of one or more microprocessors or other control devices.
  • this embodiment includes various algorithms implemented in a combination of data structures, processes, routines or other programming constructs, including Python, C , C++, Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects may be implemented in an algorithm running on one or more processors.
  • the present embodiment may employ the prior art for electronic environment setting, signal processing, and/or data processing, and the like.
  • Terms such as “mechanism”, “element”, “means” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in connection with a processor or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
본 개시는 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치에 관한 것이다.
대용량의 데이터를 서로 다른 어플리케이션에서 활용해야 하는 수요가 증가함에 따라 최근 분산 시스템에 대한 수요가 증가하고 있다. 분산 시스템이란 하나의 고성능 디바이스에서 수행하던 복잡한 프로세스를 작은 단위로 나누어 네트워크를 통해 연결된 복수의 디바이스에서 나누어 처리하는 시스템을 말한다. 분산 시스템에서는 하나의 작업을 복수의 디바이스에서 병렬로 처리함으로써 시스템의 처리율이 향상된다. 또한, 분산 시스템은 새로운 디바이스를 네트워크에 추가함으로써 용이하게 시스템을 확장할 수 있다는 장점을 갖는다.
선행문헌 : 한국 등록특허공보 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 (10)

  1. 분산 시스템의 어플리케이션 서버가 데이터를 제공하는 방법으로서,
    주키퍼 서버에 대해 이벤트 워칭(watching)을 수행하는 단계;
    상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하는 단계;
    클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하는 단계; 및
    상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 단계를 포함하는, 어플리케이션 서버가 데이터를 관리하는 방법.
  2. 제1항에 있어서,
    상기 주키퍼 서버로부터 수신된 상기 제1 필드의 변경 관련 정보는
    제2 스토리지에 저장된 상기 제1 필드의 변경 내용에 대한 접근 경로 정보인, 어플리케이션 서버가 데이터를 관리하는 방법.
  3. 제2항에 있어서,
    상기 제1 스토리지는 데이터베이스이고, 상기 제2 스토리지는 웹 스토리지인, 어플리케이션 서버가 데이터를 관리하는 방법.
  4. 제2항에 있어서,
    상기 주키퍼 서버 및 상기 제2 스토리지는 업데이터 UI로부터 상기 제1 필드의 변경 내용에 대한 접근 경로 정보 및 상기 제1 필드의 변경 내용를 각각 수신하는 것인, 어플리케이션 서버가 데이터를 관리하는 방법.
  5. 제4항에 있어서,
    상기 업데이터 UI는 매핑 파일 및 설정 데이터 중 적어도 하나를 수신하고,
    상기 수신된 매핑 파일 및 설정 데이터 중 적어도 하나로부터 상기 제1 필드의 변경 내용을 파싱하여 상기 제2 스토리지에 전송하는 것인, 어플리케이션 서버가 데이터를 관리하는 방법.
  6. 제1항에 있어서,
    상기 어플리케이션 서버는 상기 주키퍼 서버와 데이터 송수신을 위해 업데이터 SDK를 구비하는 것인, 어플리케이션 서버가 데이터를 관리하는 방법.
  7. 제1항에 있어서,
    상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 단계는
    상기 어플리케이션 서버가 온라인 상점을 위한 것이고, 상기 제1 필드가 물류센터의 운영 가능 여부이고, 변경된 상기 제1 필드의 값은 상기 물류센터의 폐쇄를 나타내는 값인 경우, 상기 클라이언트의 위치 정보를 확인하는 단계; 및
    상기 확인 결과, 상기 클라이언트가 상기 물류센터와 소정의 영역 내에 위치하는 경우 상기 물류센터로부터 출고되어야 하는 상품이 품절 또는 제휴 배송사에서 배송되어야 하는 상품임을 상기 클라이언트에 제공하는 단계를 포함하는, 어플리케이션 서버가 데이터를 관리하는 방법.
  8. 제7항에 있어서,
    상기 물류센터로부터 출고되어야 하는 상품은 품절 또는 제휴 배송사에서 배송되어야 하는 상품임을 상기 클라이언트에 제공한 이후,
    상기 주키퍼 서버에 대한 이벤트 워칭 결과, 상기 주키퍼 서버로부터 상기 제1 필드의 값이 상기 물류센터의 폐쇄의 해제를 나타내는 값으로 변경되었다는 정보를 수신하는 단계; 및
    상기 물류센터로부터 출고되어야 하는 상품의 재고 수량에 관한 정보를 상기 클라이언트에 제공하는 단계를 더 포함하는, 어플리케이션 서버가 데이터를 관리하는 방법.
  9. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  10. 분산 시스템에서 데이터를 제공하기 위한 전자 장치로서,
    적어도 하나의 명령어(instruction)를 저장하는 메모리(memory); 및
    상기 적어도 하나의 명령어를 실행하여,
    주키퍼 서버에 대해 이벤트 워칭을 수행하고,
    상기 이벤트 워칭 결과에 따라, 제1 데이터에 포함된 제1 필드의 변경 관련 정보를 상기 주키퍼 서버로부터 수신하고,
    클라이언트로부터 상기 제1 데이터의 요청 신호가 입력되면, 제1 스토리지로부터 상기 제1 데이터를 독출하고,
    상기 주키퍼 서버로부터 수신된 정보에 기초하여, 상기 독출된 제1 데이터가 포함하는 상기 제1 필드의 값을 변경하고, 상기 제1 필드의 값이 변경된 제1 데이터를 상기 클라이언트로 제공하는 프로세서(processor)를 포함하는, 전자 장치.
PCT/KR2021/003575 2021-03-19 2021-03-23 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치 WO2022196853A1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2022196853A1 true WO2022196853A1 (ko) 2022-09-22

Family

ID=78933728

Family Applications (1)

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

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 (4)

* 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 分散構成管理データベースシステム及び分散構成データ管理方法
KR20180010733A (ko) * 2016-07-22 2018-01-31 주식회사 아이티빌리지 빅 데이터 기반의 상품 판매 허브 시스템
KR20200072128A (ko) * 2018-12-12 2020-06-22 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법
US20200327113A1 (en) * 2012-08-08 2020-10-15 Amazon Technologies, Inc. Data storage application programming interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9754004B2 (en) * 2013-12-23 2017-09-05 Emc Corporation Asynchronous notification method for data storage systems
KR101645163B1 (ko) 2014-11-14 2016-08-03 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
CN107431664B (zh) 2015-01-23 2021-03-12 电子湾有限公司 消息传递系统和方法
CN105391755B (zh) 2015-09-30 2018-10-19 华为技术有限公司 一种分布式系统中数据处理方法、装置及系统
CN105653406B (zh) 2015-12-31 2019-05-24 华为技术有限公司 一种管理分布式存储系统的方法及分布式存储系统
KR102032813B1 (ko) * 2017-12-11 2019-11-08 엔에이치엔 주식회사 캐시 서버에서의 파일 동기화 방법 및 시스템
CN110392025B (zh) 2018-04-20 2022-03-25 伊姆西Ip控股有限责任公司 管理分布式系统的方法、设备和计算机可读介质
CN111884834A (zh) 2020-07-07 2020-11-03 杭州安恒信息技术股份有限公司 基于zookeeper的分布式系统升级方法、系统和计算机设备

Patent Citations (4)

* 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
KR20180010733A (ko) * 2016-07-22 2018-01-31 주식회사 아이티빌리지 빅 데이터 기반의 상품 판매 허브 시스템
KR20200072128A (ko) * 2018-12-12 2020-06-22 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GANG HO-YEONG, LEE, SEOK-CHAN; SIN, YONG HAK: "Shared Data Synchronization and Change Notification between A-SMGCS System Node", 2015 FALL CONFERENCE OF THE KOREAN SOCIETY FOR AVIATION NAVIGATION, KOREAN SOCIETY FOR AVIATION NAVIGATION, KOREA, 13 November 2015 (2015-11-13) - 13 November 2015 (2015-11-13), Korea, pages 154 - 157, XP055967103 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US10244058B2 (en) Extending functionality of applications
CN106489251B (zh) 应用拓扑关系发现的方法、装置和系统
CN101589574B (zh) 用于为多个设备预算功率的数据结构
CN111800462B (zh) 微服务实例处理方法、装置、计算机设备及存储介质
EP2551770B1 (en) Data share system, data process apparatus, and computer-readable recording medium
US11327816B2 (en) Monitoring components in a service framework
JP2010218049A (ja) 情報処理装置、情報処理方法及びプログラム
CN109445841B (zh) 接口文档管理方法、装置、服务器及存储介质
WO2022196853A1 (ko) 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
WO2023042949A1 (ko) 아이템의 정보를 제공하는 전자 장치 및 그 방법
WO2019190095A1 (ko) 네트워크 기능 가상화 환경에서 네트워크 자원 관리를 위한 장치 및 방법
WO2022139055A1 (ko) 분산 메시징 시스템을 이용한 데이터 처리 시스템 및 그 정보 처리 방법
US20150074167A1 (en) Information processing device, information processing method, server device, retrieval method, and information processing system
US10659320B2 (en) Device management system
WO2021006574A1 (en) Method and apparatus for managing application
WO2014107003A1 (ko) 단말기의 어플리케이션 관리 방법, 이를 위한 시스템 및 장치
CN110275701B (zh) 数据处理方法、装置、介质和计算设备
US9442746B2 (en) Common system services for managing configuration and other runtime settings of applications
WO2019160323A1 (ko) 어플리케이션과 관련된 데이터를 관리하기 위한 방법 및 그 전자 장치
JP2006277204A (ja) 携帯通信端末装置
CN114449040A (zh) 基于云平台的配置下发方法及装置
WO2016159484A1 (ko) 모바일 단말의 사용자 정보를 이용한 맞춤형 콘텐츠 공유 방법 및 장치
WO2013151371A1 (ko) Pc방의 서비스 등록 ip 판별 시스템 및 방법
WO2013183833A1 (ko) 게임 아이템 강화 방법 및 그 서버, 및 기록매체
CN111258810A (zh) 一种切换数据源的实现方法、系统、终端设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21931797

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21931797

Country of ref document: EP

Kind code of ref document: A1