WO2023106492A1 - Operation method for data serving structure configuration and electronic device for supporting same - Google Patents

Operation method for data serving structure configuration and electronic device for supporting same Download PDF

Info

Publication number
WO2023106492A1
WO2023106492A1 PCT/KR2021/019120 KR2021019120W WO2023106492A1 WO 2023106492 A1 WO2023106492 A1 WO 2023106492A1 KR 2021019120 W KR2021019120 W KR 2021019120W WO 2023106492 A1 WO2023106492 A1 WO 2023106492A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
serving
serving structure
cache
information
Prior art date
Application number
PCT/KR2021/019120
Other languages
French (fr)
Korean (ko)
Inventor
카델프라카쉬
김두형
김기현
김태일
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2023106492A1 publication Critical patent/WO2023106492A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]

Definitions

  • the present invention relates to a method and apparatus for setting a data serving structure, and more particularly, to a method and an electronic device for setting a data serving structure based on a serving structure selectively applicable for data serving. will be.
  • an electronic device setting a data serving structure may selectively set a data serving structure based on an applicable serving structure.
  • Various embodiments may provide an operating method of an electronic device for setting a data serving structure and an electronic device supporting the same.
  • a method for setting a data serving structure by an electronic device providing a service information on a frontend including a plurality of customer page domains for the service and the service verifying information about a backend including a plurality of backend data domains related to a database for a data base; obtaining setting information for setting a data serving structure between the front end and the back end; and setting the data serving structure including a main data serving structure for serving data requested by the front end, based on the setting information.
  • the setting information includes main setting information for setting the main data serving structure
  • the main data serving structure includes: a plurality of data queues corresponding to the plurality of backend data domains; Storage for storing data transmitted through the plurality of data queues; and a serving layer that calls the requested data from the storage and transmits it to the front end.
  • the setting information may include first additional setting information for setting a first additional data serving structure added to the main data serving structure or a second additional data serving structure added to the main data serving structure. It may further include second additional setting information for setting .
  • the first additional data serving structure may include: a cache acquiring and storing at least some data included in data stored in the storage from the storage; an update data queue configured to transmit the updated first data to the cache when updated first data corresponding to the first data included in the at least some data is identified in the storage; and a cache update manager for managing transmission of the updated first data to the cache through the update data queue, wherein the second additional data serving structure determines that real-time update is required among data stored in the database.
  • a real time cache for acquiring and storing real-time updated second data corresponding to the second data through a specific data queue related to the second data among the plurality of data queues; and a real-time cache update manager that manages to transmit the real-time updated second data to the real-time cache through the specific data queue.
  • the setting information may include information for interworking the first supplementary data serving structure and the second supplementary data serving structure with the main data serving structure.
  • the updated first data is a data queue related to the first data among the plurality of data queues based on a first cycle corresponding to an update cycle of the storage when the first data is updated. and when the updated first data is confirmed in the storage and the update data queue according to the first period, the cache update manager operates the updated first data through the update data queue. It may be directed to transfer data to the cache.
  • the setting of the data serving structure may include setting the data serving structure including the main data serving structure and the first additional data serving structure based on the first additional setting information.
  • the serving layer preferentially calls the requested data from the cache and transmits it to the front-end, and when the requested data is not checked in the cache, the serving layer retrieves the requested data from the cache. It can be called from storage and transmitted to the front end.
  • the at least some of the data stored in the cache is selected to be stored in the cache based on a data call priority among data stored in the storage, and the data call priority is selected to be stored in the data call from the serving layer. It can be determined based on the number of times.
  • update request information for the first data is transmitted by the serving layer.
  • the second data updated in real time may be transmitted to the real time cache through the specific data queue based on a second period corresponding to real time when the second data is updated.
  • the setting of the data serving structure may include setting the data serving structure including the main data serving structure and the second additional data serving structure based on the second additional setting information. and, based on whether the requested data corresponds to data requiring real-time updating, the serving layer may call the requested data from the real-time cache and transmit the requested data to the front-end.
  • the setting of the data serving structure may include the main data serving structure, the first additional data serving structure, and the second additional setting information based on the first additional setting information and the second additional setting information. and setting the data serving structure to include an additional data serving structure, wherein when the requested data corresponds to data requiring real-time updating, the serving layer transmits the requested data to both the cache and the real-time cache. The latest data among the data called by the serving layer in the cache and the real-time cache may be transmitted to the front end.
  • the serving layer may call the requested data from the cache and transmit the requested data to the front end.
  • the method may further include acquiring information about whether the requested data corresponds to data requiring real-time updating.
  • the front end when the front end requests a data set including a plurality of data and the requested data is included in the plurality of data, all of the plurality of data is stored in the storage, the cache, or the real-time cache.
  • the requested data may be transmitted to the front end based on a point called by the serving layer in
  • identification information corresponding to the data set is set for the plurality of data, and all of the plurality of data is called from the storage, the cache, or the real-time cache based on the identification information It can be.
  • the obtaining of setting information may include checking information on a first service domain related to the service; checking information on one or more backend data domains related to the first service domain among the plurality of backend data domains; checking first information on whether or not the first additional data serving structure needs to be set and second information about whether or not the second additional data serving structure needs to be set, based on the information on the one or more backend data; and acquiring the setting information determined to include the first additional setting information or the second additional setting information based on the first information and the second information.
  • the requested data may be requested from a first customer page corresponding to a first customer page domain included in the plurality of customer page domains.
  • An electronic device for setting a data serving structure related to a service comprising: a processor; and one or more memories storing one or more instructions, which, when executed, cause the processor to: ) and checking information about a backend including a plurality of backend data domains related to a database for the service; obtaining setting information for setting a data serving structure between the front end and the back end; and setting the data serving structure including the main data serving structure for serving the data requested by the front end based on the setting information.
  • the present invention provides a method for setting a data serving structure based on a serving structure that is selectively applicable to an electronic device that sets a data serving structure, thereby reducing processing delay for data serving and optimizing data serving. have an effect
  • FIG. 1 is a diagram for explaining a data serving structure setting system in which a method of operating an electronic device for setting a data serving structure according to various embodiments may be implemented.
  • FIG. 2 is a diagram illustrating configurations of a server device and a device interlocked with the server device according to various embodiments.
  • FIG. 3 is a diagram illustrating an operating method of the server device 100 for setting a data serving structure according to various embodiments.
  • FIG. 4 is a diagram showing an overview of data flow related to data serving of a front end and a back end related to a service.
  • FIG. 5 is a diagram showing how a main data serving structure is set between a front end and a back end.
  • FIG. 6 is a diagram showing how a first additional data serving structure is added and configured between a front end and a back end.
  • FIG. 7 is a diagram showing how a second additional data serving structure is added and set between a front end and a back end.
  • FIG. 8 is a diagram illustrating how a first additional data serving structure and a second additional data serving structure are added and configured between a front end and a back end.
  • FIG. 9 is a diagram illustrating an operation method of acquiring setting information by the server device 100 for setting a data serving structure according to various embodiments.
  • FIG. 10 is a diagram illustrating an example of setting a data serving structure according to a backend data domain corresponding to a service domain.
  • FIG. 11 is a diagram illustrating a state in which a plurality of data serving structures are set between a front end and a back end.
  • each component or feature may be considered optional unless explicitly stated otherwise.
  • Each component or feature may be implemented in a form not combined with other components or features.
  • various embodiments may be configured by combining some components and features. The order of operations described in various embodiments may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment.
  • FIG. 1 is a diagram for explaining a data serving structure setting system in which a method of operating an electronic device for setting a data serving structure according to various embodiments may be implemented.
  • a data serving structure setting system may be implemented in various types of electronic devices.
  • the data serving structure setting system may be implemented in the server device 100 and the device 200 interlocked with the server device 100 .
  • the server device 100 and the device 200 linked to the server device 100 may perform operations according to various embodiments of the present disclosure based on the data serving structure setting system implemented in each device.
  • the data serving structure setting system according to various embodiments is not limited to that shown in FIG. 1 and may be implemented in more various electronic devices and servers.
  • the server device 100 may be a device that performs wireless and wired communication with the device 200 interlocked with the server device 100 and includes a storage having a large storage capacity.
  • the server device 100 may be a cloud device connected to the device 200 linked to the server device 100 .
  • the device 200 linked to the server device 100 may be a device that can be used by an individual user such as a desktop PC, a tablet PC, or a mobile terminal.
  • other electronic devices performing similar functions may be used as the device 200 linked to the server device 100 .
  • a data serving structure setting system may include various modules for operation.
  • the modules included in the data serving structure setting system are computer codes implemented so that a physical device (eg, the server device 100) in which the data serving structure setting system is implemented (or included in the physical device) can perform a specified operation. or one or more instructions.
  • the physical device in which the data serving structure setting system is implemented stores a plurality of modules in the memory in the form of computer code, and when the plurality of modules stored in the memory are executed, the plurality of modules correspond to the plurality of modules. to perform specified actions.
  • FIG. 2 is a diagram illustrating configurations of a server device and a device interlocked with the server device according to various embodiments.
  • a server device 100 and a device 200 linked to the server device 100 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240.
  • an input/output unit 210 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240.
  • the input/output unit 210 may be various interfaces or connection ports that receive user input or output information to the user.
  • the input/output unit 210 may include an input module and an output module, and the input module receives a user input from a user.
  • User input may be made in various forms including key input, touch input, and voice input.
  • Examples of input modules capable of receiving such user input include a traditional keypad, keyboard, and mouse, as well as a touch sensor that detects a user's touch, a microphone that receives a voice signal, a camera that recognizes gestures through image recognition, A proximity sensor including at least one of an illuminance sensor or an infrared sensor for detecting user approach, a motion sensor for recognizing a user's motion through an acceleration sensor or a gyro sensor, and various other types of sensors that detect or receive user input.
  • the input module may include at least one of the devices listed above.
  • the touch sensor may be implemented as a piezoelectric or capacitive touch sensor that detects a touch through a touch panel attached to a display panel or a touch film, an optical touch sensor that detects a touch by an optical method, and the like.
  • the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) connecting an external input device that receives a user input instead of a device that detects a user input by itself.
  • the output module may output various types of information.
  • the output module may include at least one of a display for outputting an image, a speaker for outputting sound, a haptic device for generating vibration, and other various types of output means.
  • the output module may be implemented in the form of a port type output interface connecting the above-described individual output means.
  • an output module in the form of a display may display text, still images, and moving images.
  • Displays include liquid crystal displays (LCDs), light emitting diodes (LEDs) displays, organic light emitting diodes (OLEDs) displays, flat panel displays (FPDs), and transparent displays.
  • LCDs liquid crystal displays
  • LEDs light emitting diodes
  • OLEDs organic light emitting diodes
  • FPDs flat panel displays
  • display transparent display
  • curved display flexible display
  • 3D display 3D display
  • holographic display projector
  • other various types of devices capable of performing image output functions. may contain at least one.
  • Such a display may be in the form of a touch display integrally formed with the touch sensor of the input module.
  • the communication unit 220 may communicate with other devices. Accordingly, the server device 100 and the device 200 interlocked with the server device 100 may transmit and receive information with other devices through a communication unit. For example, the server device 100 and the device 200 linked to the server device 100 may perform mutual communication using a communication unit or perform communication with other devices.
  • the communication unit includes a wired communication module that accesses the Internet through a LAN (Local Area Network), a mobile communication module that accesses a mobile communication network through a mobile communication base station to transmit and receive data, and a wireless local area network (WLAN) such as Wi-Fi.
  • WLAN Local Area Network
  • Area Network)-based communication method or WPAN (Wireless Personal Area Network)-based communication method such as Bluetooth or Zigbee, a short-distance communication module, or GNSS (Global Navigation Satellite System) such as GPS (Global Positioning System) ), or a combination thereof.
  • LAN Local Area Network
  • WPAN Wireless Personal Area Network
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • the storage 230 may store various types of information. Storage may temporarily or semi-permanently store data.
  • the storage of the server 100 includes an operating system (OS) for driving the server 100, a program for generating data or braille for hosting a website, or an application (eg, a web application). ) may be stored.
  • OS operating system
  • application eg, a web application
  • the storage may store the modules in the form of computer code as described above.
  • Examples of the storage 230 include a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a read-only memory (ROM), a random access memory (RAM), and the like. This can be. Such storage may be provided in a built-in type or a detachable type.
  • HDD hard disk drive
  • SSD solid state drive
  • flash memory a read-only memory
  • RAM random access memory
  • the processor 240 controls overall operations of the server device 100 and the device 200 interlocked with the server device 100 . To this end, the processor 240 may perform calculations and processing of various types of information and control operations of components of the server 100 . For example, the processor 240 may execute a program or application for setting a data serving structure.
  • the processor 240 may be implemented as a computer or a similar device according to hardware, software, or a combination thereof. In terms of hardware, the processor 240 may be implemented in the form of an electronic circuit that performs a control function by processing electrical signals, and in terms of software, it may be implemented in the form of a program that drives the processor 240 in hardware.
  • operations of the server device 100 and the device 200 interlocked with the server device 100 may be interpreted as being performed under the control of the processor 240 . That is, when the modules implemented in the above-described data serving structure setting system are executed, the modules cause the processor 240 to cause the server device 100 and the device 200 linked to the server device 100 to perform the following operations. can be interpreted as controlling.
  • various embodiments may be implemented through various means.
  • various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
  • the method includes one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs. (field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, etc.
  • the method according to various embodiments may be implemented in the form of a module, procedure, or function that performs functions or operations described below.
  • software codes can be stored in memory and run by a processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor by various means known in the art.
  • the server device 100 performs a data serving structure setting operation, and according to various embodiments, the server device 100 provides information related to the data serving structure setting operation. can be transmitted and received with the device 200 linked to the server device 100.
  • FIG. 3 is a diagram illustrating an operating method of the server device 100 for setting a data serving structure according to various embodiments.
  • the server device 100 may set a data serving structure, and in order to perform an operation of setting the data serving structure, a plurality of customer page domains for services provided by the server device 100.
  • the backend associated with the database may be a node that generates information to be provided to the frontend, and data generated at the corresponding node can be effectively provided to the frontend according to a data serving structure according to various embodiments.
  • the server device 100 provides information on a frontend including a plurality of customer page domains for the service and a plurality of backends associated with a database for the service. Information about the backend including the data domain can be checked.
  • FIG. 4 is a diagram showing an overview of data flow related to data serving of a front end and a back end related to a service.
  • the front end may include a plurality of customer page domains for services, and the customer page domains are UI/UX (user interface/user interface/user interfaces) of services provided by the server device 100.
  • experience may mean a domain corresponding to various service pages that a user can access.
  • the user can use an item search page to search for items on the UI/UX of the service, a category page to classify items, and an item detail page including detailed information of a specific item.
  • the server device 100 corresponds to the customer page domain corresponding to the item search page, the customer page domain corresponding to the category page, and the item A front end including a customer page domain corresponding to the detailed page and/or a customer page domain corresponding to My Page may be identified.
  • the front end includes a plurality of customer page domains as described above, and manages data requested from each page and each page domain corresponding to each page according to the user's UI / UX access. It can be understood as a set user-side management stage.
  • the backend may include a plurality of backend data domains related to a database for a service, and each data included in a database that the server device 100 stores and manages data. It may refer to a domain that manages the type or kind of data corresponding to the type or type of data determined for .
  • data for logistics management Frafillment
  • data of a seller selling an item on the service Seller
  • data related to discount information of the item Promotions/Benefits
  • Review Review
  • a backend including a backend data domain, a backend data domain corresponding to data related to item discount information, and/or a backend data domain corresponding to review data may be identified.
  • the backend includes a plurality of backend data domains as described above, and is a database-side management unit configured to provide or check data stored or managed in relation to the service provided by the server device 100.
  • a database-side management unit configured to provide or check data stored or managed in relation to the service provided by the server device 100.
  • a plurality of backend data domains included in the backend may be configured to manage various data managed in the database of 405 according to characteristics of each data domain.
  • the server device 100 may obtain configuration information for configuring a data serving structure between the front end and the back end.
  • a data serving structure between a front end and a back end may refer to a structure for serving data requested by a user side management unit from a database side management unit according to a user's UI/UX connection.
  • service data management in the case where the service provided by the server device 100 corresponds to e-commerce, various data necessary for the customer page are stored in the front-end customer page domain related to the customer page. It can be based on MSA (Micro Service Architecture), which is served by targeting a corresponding data domain in charge of a certain backend side, and for MSA, high throughput and low latency to handle high input/output traffic are guaranteed.
  • MSA Micro Service Architecture
  • the data serving structure which is the target of the setting information acquired by the server device 100 according to operation 303, is different from the customer page domain. It may correspond to a data serving structure configured to prevent fragmentation by having scalability corresponding to a domain or data domain.
  • the data serving structure which is the object of the setting information acquired by the server device 100 according to operation 303, has an additional data serving structure that can correspond to various customer page domains or data domains based on the main data serving structure for data serving. Implemented in an additive manner, it can have extensibility for customer page domains or data domains of different characteristics.
  • the setting information acquired by the server device 100 according to operation 303 is main setting information for setting a main data serving structure corresponding to a basic data serving structure for performing data serving between the front end and the back end.
  • Such a main data serving structure may be implemented in the same manner as in FIG. 5 .
  • FIG. 5 is a diagram showing how a main data serving structure is set between a front end and a back end.
  • the main data serving structure 501 may include various components for data serving.
  • Components for the main data serving structure include a plurality of data queues 503 corresponding to a plurality of backend data domains, A common storage 505 for storing data transmitted through a plurality of data queues, and a common serving layer for calling data requested from the storage and transmitting it to the front end. (Serving Layer) 507 may be included.
  • various data of a database managed in a plurality of backend data domains may be transmitted to data queues corresponding to respective backend data domains.
  • the data queue may refer to a data queue that receives and stores data provided from the transmitting end, waits until the stored data is transmitted to the receiving end, and then transmits the stored data to the receiving end.
  • one data queue corresponds to one back-end data domain or one or more back-end data domains, receives data provided from the corresponding back-end data domain, stores it, waits, and stores the stored data according to the data update cycle of the storage. can be transmitted to the storage side. That is, the data queue of 503 can play a role of waiting for data received from the backend data domain side and then delivering the data to the storage side according to the update cycle of the storage side.
  • the storage may receive and store various data of the database through a plurality of data queues.
  • Storage is data that stores and manages database data identically or similarly so that the serving layer can call the requested data from the front-end only by accessing the storage without accessing the back-end data domain for the convenience of data serving. It can mean storage space.
  • the storage can receive and store the data of the database managed by the backend data domain.
  • a data queue exists between the backend data domain and the storage, and the data queue transfers the data of the database from the data domain.
  • Receive and store, and the storage can receive data stored in the data queue at regular intervals.
  • the serving layer may acquire desired data by calling the desired data for the storage storing the data received in this way. That is, the storage of 505 receives the data of the database managed in the backend data domain through a plurality of data queues, stores the data of the database, and plays a role of enabling the serving layer to obtain desired data. .
  • the serving layer may obtain desired data by accessing the storage.
  • the serving layer may perform a function of calling various data requested from the storage through a plurality of customer page domains included in the front end.
  • the serving layer may receive a request to call certain data from the customer page corresponding to the front end, access the storage, call and acquire the requested data as a call target, and when desired data is obtained, return it to the front end. can be transmitted to the end side.
  • the setting information acquired by the server device 100 according to operation 303 is first additional setting information for setting a first additional data serving structure added to the main data serving structure or added to the main data serving structure. and second additional setting information for setting a second additional data serving structure to be configured.
  • first additional data serving structure is established between the front end and the back end based on the first additional configuration information
  • data requested from the front end is transmitted from the back end in a manner different from that of the main data serving structure.
  • a second additional data serving structure is established between the front end and the back end based on the second additional configuration information, data requested from the front end side is transferred in a manner different from that of the main data serving structure to the back end.
  • first additional data serving structure and the second additional data serving structure are configured between the front end and the back end based on the first additional configuration information and the second additional configuration information.
  • the first additional data serving structure and the second additional data serving structure may be implemented in the same manner as shown in FIGS. 6 to 8 .
  • FIG. 6 is a diagram showing how a first additional data serving structure is added and configured between a front end and a back end.
  • the first supplementary data serving structure 601 may include various components for data serving, and the components for the first supplementary data serving structure obtain at least some data included in data stored in the storage from the storage.
  • the specific data included in the cache 603 at least some of the data stored in the cache, when the specific data is updated and the updated specific data is confirmed in the storage, the updated specific data
  • An update data queue (Notification Queue) 605 for storing and transmitting to the cache, and a cache update manager (Cache invalidator) 607 that manages to transmit specific updated data to the cache through the update data queue may be included. there is.
  • the cache may acquire and store some of data stored in the storage from the storage.
  • the cache promotes easy access to data from the serving layer side for reasons such as the data to be called is frequently called from the serving layer side in the process of the serving layer accessing the storage and calling the desired data, or the cache promotes easy access to data from the serving layer side, or stores multiple data for storage. It may refer to a separate data storage space that stores some data stored in the storage so that the serving layer can easily access it in order to prevent a problem that may occur due to latency in the storage.
  • the cache is located between the storage and the serving layer, and the serving layer can first call desired data from the cache before calling it from the storage and transmit it to the front end. If the serving layer confirms that the desired data is not in the cache because the desired data is not stored in the cache, the serving layer may call the desired data from the storage and transmit it to the front end.
  • a cache configured to acquire and store some of the data stored in the storage, such as 603, is located between the storage and the serving layer, when the specific data stored in the cache is updated in the backend data domain, the storage queues the data. However, if the cache does not immediately check whether the specific data is updated, the storage stores the updated specific data, while the cache stores the specific data that has not been updated. There may be problems with storing data. In order to prevent such a problem, it is necessary to check and manage updates of data commonly stored in storage and cache, and the update notification queue of 605 can perform such a role.
  • the updated data is delivered and stored in a data queue related to the data among a plurality of data queues, and then stored in a specific data queue corresponding to the update cycle of the storage. It is transferred to storage according to the cycle.
  • the data is data stored in both the storage and cache as described above
  • the cache when the storage receives the updated data, the cache must receive the same updated data, so the updated data is stored in the storage and updated It should be designed so that it can also be delivered to the notification queue.
  • the update notification queue can hold the updated data, and when the updated data is checked in the storage and update data queue according to the storage update cycle, the cache update manager of 607 updates through the update data queue. You can instruct the cached data to be transferred to the cache.
  • some of the data in the storage that the cache acquires and stores from the storage has a priority purpose of facilitating data call of the serving layer, it can be selected from data stored in the storage in consideration of the priority of data call by the serving layer. . That is, some of the data stored in the cache may be data selected to be stored in the cache based on a data call priority among data stored in the storage, and the priority of such a data call may be determined by the number of data calls from the serving layer. . For example, data to be stored in the cache may be selected in the order of the number of data calls, and data such as an image of an item with a high number of data calls from a customer page, an item name, and a price may be stored in the cache.
  • the serving layer may access the storage in the background while accessing the cache to call data having a high data call priority. If it is confirmed that updated data is stored in the storage for specific data but not updated data is stored in the cache, update request information for the specific data may be generated and transmitted by the serving layer. .
  • FIG. 7 is a diagram showing how a second additional data serving structure is added and set between a front end and a back end.
  • the second additional data serving structure 701 may include various components for data serving, and in particular, components for serving data requiring real-time update management.
  • the second supplementary data serving structure for data that is determined to require real-time update among data stored in the database, real-time updated data is obtained for the corresponding data through a specific data queue related to the corresponding data among a plurality of data queues.
  • a real time cache 703 for storing, and a real time data update manager 705 for managing transmission of real time updated data to the real time cache through the specific data queue may be included.
  • the real-time cache may acquire and store data identified as requiring real-time update management among data stored in the plurality of data queues from the plurality of data queues based on a period close to real time.
  • data that is important to reflect real-time updates as updated in real time such as inventory of items or promotional discount prices, can be checked in advance, and multiple data corresponding to the backend data domain
  • the real-time updated data can be transmitted to the real-time cache.
  • the data queue related to the data can check the data updated in real time in response to the data, and the data queue can display the updated data in real time. sent to the cache. From the point of view of the data queue, the data stored in the data queue is transmitted to the storage according to the update cycle of the storage, but if there is data that needs to be managed for real-time update, the data updated in real time related to that data can be transmitted to the real-time cache at a period close to real-time that is much faster than the storage update period.
  • a real-time cache such as 703
  • a real-time cache manager is set separately, such as 705. It becomes possible to manage the transmission of real-time update data.
  • the serving layer caches the corresponding data based on whether the desired data corresponds to data requiring real-time updating, if the corresponding data corresponds to data requiring real-time updating. It can be called from and transmitted to the front end.
  • a cache which is a component of the first additional data serving structure, is set in addition to the second additional data serving structure, but this corresponds to a secondary example, and in some cases, the serving layer is directly stored as a storage rather than a cache. You can also access and call the desired data.
  • FIG. 8 is a diagram illustrating how a first additional data serving structure and a second additional data serving structure are added and configured between a front end and a back end.
  • the first additional data serving structure 801 and the second additional data serving structure 803 are set together, which is based on the fact that both the first additional setting information and the second additional setting information are included in the setting information. It could be
  • the data queue, storage, serving layer, cache, update notification queue, cache update manager, real-time cache, and real-time cache update manager included in FIG. 8 may operate as described above with reference to FIGS. 5 to 7 .
  • the serving layer calls the corresponding data from both the real-time cache and the cache based on whether the desired data corresponds to the data requiring real-time update, if the corresponding data corresponds to the data requiring real-time update. Information such as the time staff included in the cache and the data called from the cache is checked, and more recent data among the called data is transmitted to the front end. On the other hand, if the corresponding data does not correspond to data that needs to be updated in real time, the serving layer calls the corresponding data from the cache and transmits it to the front-end. sent to the frontend. To this end, the server device 100 may perform an operation of obtaining information on whether data requested by the front end, that is, data desired by the serving layer corresponds to data requiring real-time updating.
  • the serving layer may request data from both the cache and the real-time cache regardless of the characteristics of the data as described above. Similarly, when data is called from both the cache and the real-time cache, the serving layer can deliver more recent data to the front end based on information such as a timestamp of the called data.
  • Data omission can be prevented by transmitting a plurality of data included in a data set to the front end only when possible. For example, when a data set including data such as real-time inventory for an item, item image, item name, and/or item price is requested from an item detail page, the real-time inventory data identified as requiring real-time update is stored in the real-time cache. It will be called and the remaining data will be called from cache or storage. If the item image data is not checked in cache or storage then the real-time inventory data may not be sent to the front end even if it is correctly called from the real-time cache.
  • data set including data such as real-time inventory for an item, item image, item name, and/or item price
  • identification information corresponding to the data set may be determined and set for a plurality of data included in the data set.
  • a plurality of data included in the data set has one identification information corresponding to the data set in common, and based on this identification information, all of the plurality of data included in the data set is called from storage, cache, or real-time cache. A point can be identified, and omission of data can be prevented.
  • the setting information acquired by the server device 100 in operation 303 may include information for interworking the first additional data serving structure and the second additional data serving structure with the main data serving structure.
  • the first additional data serving structure and the second additional data serving structure correspond to structures serving data in association with the main data serving structure, even if the additional data serving structure is added, seamless data Interworking information for establishing mutual interworking so that serving can be performed may be included in setting information acquired by the server device 100 in operation 303 .
  • step 303 the operation of the server device 100 obtaining setting information is performed by providing a first additional data serving structure or a second additional data serving structure according to a backend data domain corresponding to various types of service domains constituting a service.
  • This may include an operation of obtaining setting information including the first additional setting information or the second additional setting information selectively or adaptively so that the structure can be additionally set, and the specific operation may be performed as shown in FIG. 9 . there is.
  • FIG. 9 is a diagram illustrating an operation method of acquiring setting information by the server device 100 for setting a data serving structure according to various embodiments.
  • FIG. 9 may correspond to an operation method in which an operation of acquiring setting information by the server device 100 in 303 of FIG. 3 is embodied.
  • the server device 100 verifies information on a specific service domain among various types of service domains forming services such as a product service domain, an order service domain, or a review service domain.
  • information on one or more backend data domains corresponding to the specific service domain among a plurality of backend data domains may be checked (operation 903).
  • the server device 100 provides first information on whether a first additional data serving structure needs to be set and second information about whether a second additional data serving structure needs to be set, based on the checked information on one or more backend data domains. is checked (905), and then, according to the first information and the second information, first additional setting information for adding the first additional data serving structure or second additional setting information for adding the second additional data serving structure is obtained. Setting information determined to be included may be acquired (907).
  • a first additional data serving structure or a second supplementary data serving structure is used to serve data for some related backend data domains.
  • setting information determined to include the first additional setting information or the second additional setting information may be obtained from the server device 100 .
  • a data serving structure may be designed to optimize data serving for some backend data domains corresponding to a specific service domain.
  • FIG. 10 is a diagram illustrating an example of setting a data serving structure according to a backend data domain corresponding to a service domain.
  • 1001 is setting information for a data serving structure, indicating selection options related to settings for a main data serving structure, a first additional data serving structure, and/or a second supplementary data serving structure
  • 1003 is information related to each service domain. , information identifying which backend data domain can correspond to each service domain or information related to whether a first additional data serving structure or a second additional data serving structure is required for data serving.
  • each service domain can have different data serving structures based on the main data serving structure, the first supplementary data serving structure, and/or the second supplementary data serving structure. For example, in a product domain corresponding to certain backend data domains (Catalog, Seller, Subscribe Order), a first supplementary data serving structure and a second supplementary data serving structure are both added and configured to the main data serving structure. In the review domain corresponding to the other backend data domain (Member), it can be confirmed that only the first additional data serving structure is added to the main data serving structure.
  • the server device 100 configures each service domain or backend data domain corresponding to each service domain. It is possible to have scalability for data serving for each service domain, and the effectiveness of data serving can be increased by applying an optimal data serving structure for each service domain or a backend data domain corresponding to each service domain.
  • the server device 100 may configure a data serving structure including a main data serving structure for serving data requested by the front end based on the acquired setting information.
  • the data serving structure set by the server device 100 according to operation 305 basically includes the main data serving structure, and the first additional setting information or second setting information included in the setting information obtained in operation 303 described above.
  • a first additional data serving structure or a second additional data serving structure may be further included according to the additional configuration information.
  • the data requested from the front end to be served may be data requested from a first customer page corresponding to a first customer page domain included in a plurality of customer page domains included in the front end.
  • the data serving structure set by the server device 100 according to operation 305 is a circuit for preventing incorrect data from being served from the failed component when a failure occurs in each component included in the data serving structure. It may include application information about circuit breakers. For example, when a failure occurs in the real-time cache storing real-time updated data in the second supplementary data serving structure including the real-time cache, the serving layer serves data containing errors from the failed real-time cache and provides the data to the user. Rather, it may be more appropriate in terms of customer experience to provide the user with previous data that is not updated in real time. Therefore, the server device 100 can isolate the failed real-time cache by blocking an access path to prevent the serving layer from accessing the real-time cache based on the circuit breaker. In this case, the serving layer is not updated from the cache or storage in real time. However, error-free data can be served.
  • the server device 100 provides a real-time It is also possible to directly access a plurality of data queues storing the correct data updated in real time without going through the cache, and call and serve the correct data updated in real time.
  • the data serving structure set by the server device 100 according to operation 305 may correspond to one data serving structure among a plurality of data serving structures existing between the front end and the back end.
  • a plurality of data serving structures set by the server device 100 according to operation 305 may exist between the front end and the back end as shown in FIG. 11, and each data serving structure serves data independently of each other, thereby affecting each other. may not give
  • the server device 100 sets up a plurality of independent data serving structures and corresponds each data serving structure to different customer page domains, so that even if a problem occurs in the data serving structure for a specific customer page domain, other customers Page domains can be designed to serve data correctly.
  • FIG. 11 is a diagram illustrating a state in which a plurality of data serving structures are set between a front end and a back end.
  • Two data serving structures corresponding to 1101 and 1103 are set between the front end and the back end of FIG. 11, and the data serving structure corresponding to 1101 serves data for some customer page domains among a plurality of customer page domains. and the data serving structure corresponding to 1103 is used to serve data for the rest of the customer page domain.
  • a data serving structure of 1101 may be set as a Critical Serving Path (CSP).
  • CSP Critical Serving Path
  • the server device 100 sets the data serving structure 1101 for CSP and the data serving structure 1103 for N-CSP in parallel and independently, so that a problem occurs in the data serving structure for the customer page domain that is not important.
  • the data serving structure for other customer page domains with high importance can still be designed to be utilized for data serving.
  • the server device 100 provides a customer page domain with a high importance to supplement data serving for a customer page domain with a high importance. It can also be designed to serve data by utilizing the data serving structure of 1103.
  • Each information generated or provided by the server device 100 performing the setting operation of the data serving structure based on FIGS. 3 to 11 according to the above-described embodiments is combined in various forms in relation to the setting of the data serving structure. It is self-evident that it can be created or provided.
  • the method according to the system according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • various embodiments of the present invention may be implemented as computer readable codes in a computer readable recording medium from a specific point of view.
  • a computer readable recording medium is any data storage device capable of storing data readable by a computer system. Examples of computer readable recording media include read only memory (ROM), random access memory (RAM), and compact disk-read only memory (CD-ROM). ), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet).
  • the computer readable recording medium may also be distributed across networked computer systems, so that computer readable code is stored and executed in a distributed manner.
  • functional programs, code, and code segments for achieving various embodiments of the present invention can be easily interpreted by programmers skilled in the field to which the present invention is applied.
  • Such software may include, for example, volatile or non-volatile storage devices, such as RAM, memory chips, devices or integrated circuits, whether erasable or rewritable. Or, for example, a compact disk (CD), DVD, magnetic disk or magnetic tape, such as optically or magnetically recordable and at the same time machine (eg, computer) readable storage medium may be stored. .
  • volatile or non-volatile storage devices such as RAM, memory chips, devices or integrated circuits, whether erasable or rewritable.
  • a compact disk (CD), DVD, magnetic disk or magnetic tape such as optically or magnetically recordable and at the same time machine (eg, computer) readable storage medium may be stored.
  • Methods according to various embodiments of the present invention may be implemented by a computer including a control unit and a memory, or a vehicle including such a memory or computer, and the memory may include a program including instructions for implementing the embodiments of the present invention. or an example of a machine-readable storage medium suitable for storing programs.
  • the present invention includes a program including code for implementing the device or method described in the claims of this specification and a storage medium readable by a machine (such as a computer) storing such a program.
  • a program may be transmitted electronically through any medium, such as a communication signal transmitted through a wired or wireless connection, and the present invention appropriately includes equivalents thereto.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed is a method for configuring a data serving structure by an electronic device providing a service, the method including the steps of: identifying information on a frontend including a plurality of customer page domains for the service and information on a backend including a plurality of backend data domains related to a database for the service; acquiring configuration information for configuring a data serving structure between the frontend and the backend; and configuring the data serving structure including a main data serving structure for serving data requested from the frontend, on the basis of the configuration information.

Description

데이터 서빙 구조 설정을 위한 동작 방법 및 이를 지원하는 전자 장치Operation method for setting data serving structure and electronic device supporting the same
본 발명은 데이터 서빙 구조를 설정하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 데이터의 서빙(serving)을 위해 선택적으로 적용 가능한 서빙 구조에 기반하여 데이터 서빙 구조를 설정하는 방법 및 이의 전자 장치에 관한 것이다.The present invention relates to a method and apparatus for setting a data serving structure, and more particularly, to a method and an electronic device for setting a data serving structure based on a serving structure selectively applicable for data serving. will be.
전자기술의 발달에 따라 전자상거래는 쇼핑의 한 분야로 자리잡았다. 고객은 직접 쇼핑몰이나 시장에 가지 않고도 온라인 상에서 물품을 구매할 수 있으며, 온라인 상에서 구매한 물품은 고객이 요청한 배송지로 배송된다. With the development of electronic technology, e-commerce has become a part of shopping. Customers can purchase products online without going directly to a shopping mall or market, and the products purchased online are delivered to the delivery address requested by the customer.
전자상거래의 경우 상품에 대한 자세하고 정확한 정보의 제공이 서비스 만족도에 상당한 영향을 미치기 때문에 보다 자세하고 정확한 정보를 제공하기 위한 다양한 방안에 대한 논의가 이루어지고 있다.In the case of e-commerce, since the provision of detailed and accurate information about products has a significant impact on service satisfaction, various methods for providing more detailed and accurate information are being discussed.
관련하여, KR101756594B1 건 또는 KR101500849B1 건 등의 선행문헌들을 참조할 수 있다.In this regard, reference may be made to prior literature such as KR101756594B1 or KR101500849B1.
본 발명의 방법에 따르면, 데이터 서빙 구조를 설정하는 전자 장치가 선택적으로 적용 가능한 서빙 구조에 기반하여 데이터 서빙 구조를 설정할 수 있다.According to the method of the present invention, an electronic device setting a data serving structure may selectively set a data serving structure based on an applicable serving structure.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.
다양한 실시예들은, 데이터 서빙 구조 설정을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.Various embodiments may provide an operating method of an electronic device for setting a data serving structure and an electronic device supporting the same.
다양한 실시예들에 따른 서비스를 제공하는 전자 장치가 데이터 서빙(serving) 구조를 설정하는 방법에 있어서, 상기 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 상기 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인하는 단계; 상기 프론트엔드와 상기 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득하는 단계; 및 상기 설정 정보에 기반하여, 상기 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함할 수 있다. In a method for setting a data serving structure by an electronic device providing a service according to various embodiments, information on a frontend including a plurality of customer page domains for the service and the service verifying information about a backend including a plurality of backend data domains related to a database for a data base; obtaining setting information for setting a data serving structure between the front end and the back end; and setting the data serving structure including a main data serving structure for serving data requested by the front end, based on the setting information.
예시적 실시예에서, 상기 설정 정보는 상기 메인 데이터 서빙 구조를 설정하기 위한 메인 설정 정보를 포함하고, 상기 메인 데이터 서빙 구조는, 상기 복수의 백엔드 데이터 도메인에 대응하는 복수의 데이터 큐(Queue); 상기 복수의 데이터 큐를 통해 전송된 데이터를 저장하는 스토리지(Storage); 및 상기 요청된 데이터를 상기 스토리지에서 호출하여 상기 프론트엔드로 전송하는 서빙 레이어(Layer)를 포함할 수 있다. In an exemplary embodiment, the setting information includes main setting information for setting the main data serving structure, and the main data serving structure includes: a plurality of data queues corresponding to the plurality of backend data domains; Storage for storing data transmitted through the plurality of data queues; and a serving layer that calls the requested data from the storage and transmits it to the front end.
예시적 실시예에서, 상기 설정 정보는, 상기 메인 데이터 서빙 구조에 추가되는 제1 부가 데이터 서빙 구조를 설정하기 위한 제1 부가 설정 정보, 또는 상기 메인 데이터 서빙 구조에 추가되는 제2 부가 데이터 서빙 구조를 설정하기 위한 제2 부가 설정 정보를 더 포함할 수 있다.In an exemplary embodiment, the setting information may include first additional setting information for setting a first additional data serving structure added to the main data serving structure or a second additional data serving structure added to the main data serving structure. It may further include second additional setting information for setting .
예시적 실시예에서, 상기 제1 부가 데이터 서빙 구조는, 상기 스토리지에 저장된 데이터에 포함된 적어도 일부의 데이터를 상기 스토리지로부터 획득하여 저장하는 캐시(Cache); 상기 적어도 일부의 데이터에 포함된 제1 데이터에 대응하는 업데이트 된 제1 데이터가 상기 스토리지에서 확인되는 경우, 상기 업데이트 된 제1 데이터를 상기 캐시로 전송하기 위한 업데이트 데이터 큐; 및 상기 업데이트 된 제1 데이터를 상기 업데이트 데이터 큐를 통해 상기 캐시로 전송하도록 관리하는 캐시 업데이트 관리자를 포함하고, 상기 제2 부가 데이터 서빙 구조는, 상기 데이터 베이스에 저장된 데이터 중 실시간 업데이트가 필요한 것으로 판단된 제2 데이터에 대하여, 상기 복수의 데이터 큐 중에서 상기 제2 데이터와 관련된 특정 데이터 큐를 통해 상기 제2 데이터에 대응하는 실시간 업데이트 된 제2 데이터를 획득하여 저장하는 실시간 캐시(Real time Cache); 및 상기 실시간 업데이트 된 제2 데이터를 상기 특정 데이터 큐를 통해 상기 실시간 캐시로 전송하도록 관리하는 실시간 캐시 업데이트 관리자를 포함할 수 있다.In an exemplary embodiment, the first additional data serving structure may include: a cache acquiring and storing at least some data included in data stored in the storage from the storage; an update data queue configured to transmit the updated first data to the cache when updated first data corresponding to the first data included in the at least some data is identified in the storage; and a cache update manager for managing transmission of the updated first data to the cache through the update data queue, wherein the second additional data serving structure determines that real-time update is required among data stored in the database. A real time cache for acquiring and storing real-time updated second data corresponding to the second data through a specific data queue related to the second data among the plurality of data queues; and a real-time cache update manager that manages to transmit the real-time updated second data to the real-time cache through the specific data queue.
예시적 실시예에서, 상기 설정 정보는, 상기 제1 부가 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조가 상기 메인 데이터 서빙 구조와 연동되기 위한 정보를 포함할 수 있다.In an exemplary embodiment, the setting information may include information for interworking the first supplementary data serving structure and the second supplementary data serving structure with the main data serving structure.
예시적 실시예에서, 상기 업데이트 된 제1 데이터는, 상기 제1 데이터가 업데이트 되는 경우 상기 스토리지의 업데이트 주기에 대응하는 제1 주기에 기반하여 상기 복수의 데이터 큐 중에서 상기 제1 데이터와 관련된 데이터 큐를 통해 상기 스토리지로 전송된 것이고, 상기 제1 주기에 따라 상기 스토리지 및 상기 업데이트 데이터 큐에서 상기 업데이트 된 제1 데이터가 확인되는 경우, 상기 캐시 업데이트 관리자가 상기 업데이트 데이터 큐를 통해 상기 업데이트 된 제1 데이터를 상기 캐시로 전송하도록 지시할 수 있다.In an exemplary embodiment, the updated first data is a data queue related to the first data among the plurality of data queues based on a first cycle corresponding to an update cycle of the storage when the first data is updated. and when the updated first data is confirmed in the storage and the update data queue according to the first period, the cache update manager operates the updated first data through the update data queue. It may be directed to transfer data to the cache.
예시적 실시예에서, 상기 데이터 서빙 구조를 설정하는 단계는, 상기 제1 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조 및 상기 제1 부가 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함하고, 상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시에서 우선적으로 호출하여 상기 프론트엔드로 전송하며, 상기 캐시에서 상기 요청된 데이터가 확인되지 않는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 스토리지에서 호출하여 상기 프론트엔드로 전송할 수 있다.In an exemplary embodiment, the setting of the data serving structure may include setting the data serving structure including the main data serving structure and the first additional data serving structure based on the first additional setting information. Including, the serving layer preferentially calls the requested data from the cache and transmits it to the front-end, and when the requested data is not checked in the cache, the serving layer retrieves the requested data from the cache. It can be called from storage and transmitted to the front end.
예시적 실시예에서, 상기 캐시에 저장된 상기 적어도 일부의 데이터는 상기 스토리지에 저장된 데이터 중 데이터 호출 우선순위에 기반하여 상기 캐시에 저장되도록 선택되고, 상기 데이터 호출 우선순위는 상기 서빙 레이어로부터의 데이터 호출 횟수에 기반하여 결정될 수 있다.In an exemplary embodiment, the at least some of the data stored in the cache is selected to be stored in the cache based on a data call priority among data stored in the storage, and the data call priority is selected to be stored in the data call from the serving layer. It can be determined based on the number of times.
예시적 실시예에서, 상기 스토리지에서 상기 업데이트 된 제1 데이터가 확인되고 상기 캐시에서 업데이트 되지 않은 상기 제1 데이터가 확인된 경우, 상기 제1 데이터에 대한 업데이트 요청 정보가 상기 서빙 레이어에 의해 전송될 수 있다.In an exemplary embodiment, when the updated first data is identified in the storage and the first data not updated in the cache is identified, update request information for the first data is transmitted by the serving layer. can
예시적 실시예에서, 상기 실시간 업데이트 된 제2 데이터는, 상기 제2 데이터가 업데이트 되는 경우 실시간에 대응하는 제2 주기에 기반하여 상기 특정 데이터 큐를 통해 상기 실시간 캐시로 전송된 것일 수 있다.In an exemplary embodiment, the second data updated in real time may be transmitted to the real time cache through the specific data queue based on a second period corresponding to real time when the second data is updated.
예시적 실시예에서, 상기 데이터 서빙 구조를 설정하는 단계는, 상기 제2 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함하고, 상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부에 기반하여, 상기 서빙 레이어는 상기 요청된 데이터를 상기 실시간 캐시로부터 호출하여 상기 프론트엔드로 전송할 수 있다.In an exemplary embodiment, the setting of the data serving structure may include setting the data serving structure including the main data serving structure and the second additional data serving structure based on the second additional setting information. and, based on whether the requested data corresponds to data requiring real-time updating, the serving layer may call the requested data from the real-time cache and transmit the requested data to the front-end.
예시적 실시예에서, 상기 데이터 서빙 구조를 설정하는 단계는, 상기 제1 부가 설정 정보 및 상기 제2 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조, 상기 제1 부가 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조를 포함하도록 상기 데이터 서빙 구조를 설정하는 단계를 포함하고, 상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시 및 상기 실시간 캐시 모두로부터 호출하며, 상기 캐시 및 상기 실시간 캐시에서 상기 서빙 레이어에 의해 호출된 데이터 중 최신의 데이터가 상기 프론트엔드로 전송될 수 있다.In an exemplary embodiment, the setting of the data serving structure may include the main data serving structure, the first additional data serving structure, and the second additional setting information based on the first additional setting information and the second additional setting information. and setting the data serving structure to include an additional data serving structure, wherein when the requested data corresponds to data requiring real-time updating, the serving layer transmits the requested data to both the cache and the real-time cache. The latest data among the data called by the serving layer in the cache and the real-time cache may be transmitted to the front end.
예시적 실시예에서, 상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하지 않는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시에서 호출하여 상기 프론트엔드로 전송할 수 있다. In an exemplary embodiment, when the requested data does not correspond to data requiring real-time update, the serving layer may call the requested data from the cache and transmit the requested data to the front end.
예시적 실시예에서, 상기 방법은, 상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부에 대한 정보를 획득하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method may further include acquiring information about whether the requested data corresponds to data requiring real-time updating.
예시적 실시예에서, 상기 프론트엔드에서 복수의 데이터를 포함하는 데이터 셋을 요청하고 상기 요청된 데이터가 상기 복수의 데이터에 포함된 경우, 상기 복수의 데이터 모두가 상기 스토리지, 상기 캐시 또는 상기 실시간 캐시에서 상기 서빙 레이어에 의해 호출되는 점에 기반하여 상기 요청된 데이터가 상기 프론트엔드로 전송될 수 있다.In an exemplary embodiment, when the front end requests a data set including a plurality of data and the requested data is included in the plurality of data, all of the plurality of data is stored in the storage, the cache, or the real-time cache. The requested data may be transmitted to the front end based on a point called by the serving layer in
예시적 실시예에서, 상기 데이터 셋에 대응하는 식별 정보가 상기 복수의 데이터에 대해 설정되고, 상기 식별 정보에 기반하여 상기 복수의 데이터 모두가 상기 스토리지, 상기 캐시 또는 상기 실시간 캐시에서 호출되는 점이 확인될 수 있다.In an exemplary embodiment, it is confirmed that identification information corresponding to the data set is set for the plurality of data, and all of the plurality of data is called from the storage, the cache, or the real-time cache based on the identification information It can be.
예시적 실시예에서, 상기 설정 정보를 획득하는 단계는, 상기 서비스와 관련된 제1 서비스 도메인에 대한 정보를 확인하는 단계; 상기 복수의 백엔드 데이터 도메인 중 상기 제1 서비스 도메인과 관련된 하나 이상의 백엔드 데이터 도메인에 대한 정보를 확인하는 단계; 상기 하나 이상의 백엔드 데이터에 대한 정보에 기반하여, 상기 제1 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제1 정보 및 상기 제2 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제2 정보를 확인하는 단계; 및 상기 제1 정보 및 상기 제2 정보에 기반하여, 상기 제1 부가 설정 정보 또는 상기 제2 부가 설정 정보를 포함하도록 결정된 상기 설정 정보를 획득하는 단계를 포함할 수 있다.In an exemplary embodiment, the obtaining of setting information may include checking information on a first service domain related to the service; checking information on one or more backend data domains related to the first service domain among the plurality of backend data domains; checking first information on whether or not the first additional data serving structure needs to be set and second information about whether or not the second additional data serving structure needs to be set, based on the information on the one or more backend data; and acquiring the setting information determined to include the first additional setting information or the second additional setting information based on the first information and the second information.
예시적 실시예에서, 상기 요청된 데이터는 상기 복수의 고객 페이지 도메인에 포함된 제1 고객 페이지 도메인에 대응하는 제1 고객 페이지에서 요청된 것일 수 있다.In an exemplary embodiment, the requested data may be requested from a first customer page corresponding to a first customer page domain included in the plurality of customer page domains.
다양한 실시예들에 따른 서비스와 관련된 데이터 서빙(serving) 구조를 설정하는 전자 장치에 있어서, 프로세서 (processor); 및 하나 이상의 인스트럭션 (instruction) 을 저장하는 하나 이상의 메모리 (memory) 를 포함하고, 상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가: 상기 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 상기 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인하는 단계; 상기 프론트엔드와 상기 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득하는 단계; 및 상기 설정 정보에 기반하여, 상기 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 수행하도록 상기 프로세서를 제어할 수 있다.An electronic device for setting a data serving structure related to a service according to various embodiments, comprising: a processor; and one or more memories storing one or more instructions, which, when executed, cause the processor to: ) and checking information about a backend including a plurality of backend data domains related to a database for the service; obtaining setting information for setting a data serving structure between the front end and the back end; and setting the data serving structure including the main data serving structure for serving the data requested by the front end based on the setting information.
상술한 본 개시의 다양한 실시예들은 본 개시의 바람직한 실시예들 중 일부에 불과하며, 본 개시의 다양한 실시예들의 기술적 특징들이 반영된 여러 가지 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 상세한 설명을 기반으로 도출되고 이해될 수 있다.The various embodiments of the present disclosure described above are only some of the preferred embodiments of the present disclosure, and various embodiments reflecting the technical features of the various embodiments of the present disclosure can be made by those skilled in the art. It can be derived and understood based on the detailed description to be described below.
본 발명은 데이터 서빙 구조를 설정하는 전자 장치가 선택적으로 적용 가능한 서빙 구조에 기반하여 데이터 서빙 구조를 설정하는 방법을 제시하여, 데이터 서빙에 대한 처리 지연을 감소시키고 데이터 서빙을 최적화하는 측면에서 기술적인 효과를 갖는다.The present invention provides a method for setting a data serving structure based on a serving structure that is selectively applicable to an electronic device that sets a data serving structure, thereby reducing processing delay for data serving and optimizing data serving. have an effect
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도 1은 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 전자 장치의 동작 방법이 구현될 수 있는 데이터 서빙 구조 설정 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a data serving structure setting system in which a method of operating an electronic device for setting a data serving structure according to various embodiments may be implemented.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 서버 디바이스에 연동된 디바이스의 구성을 도시한 도면이다.2 is a diagram illustrating configurations of a server device and a device interlocked with the server device according to various embodiments.
도 3은 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.3 is a diagram illustrating an operating method of the server device 100 for setting a data serving structure according to various embodiments.
도 4는 서비스와 관련된 프론트엔드 및 백엔드의 데이터 서빙과 관련된 데이터 흐름의 개요를 도시한 도면이다.FIG. 4 is a diagram showing an overview of data flow related to data serving of a front end and a back end related to a service.
도 5는 프론트엔드와 백엔드 사이에 메인 데이터 서빙 구조가 설정된 모습을 도시한 도면이다.5 is a diagram showing how a main data serving structure is set between a front end and a back end.
도 6은 프론트엔드와 백엔드 사이에 제1 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.6 is a diagram showing how a first additional data serving structure is added and configured between a front end and a back end.
도 7은 프론트엔드와 백엔드 사이에 제2 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.FIG. 7 is a diagram showing how a second additional data serving structure is added and set between a front end and a back end.
도 8은 프론트엔드와 백엔드 사이에 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.FIG. 8 is a diagram illustrating how a first additional data serving structure and a second additional data serving structure are added and configured between a front end and a back end.
도 9는 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 서버 디바이스(100)가 설정 정보를 획득하는 동작 방법을 도시한 도면이다.FIG. 9 is a diagram illustrating an operation method of acquiring setting information by the server device 100 for setting a data serving structure according to various embodiments.
도 10은 서비스 도메인에 대응하는 백엔드 데이터 도메인에 따라 데이터 서빙 구조를 설정하는 예시를 나타낸 도면이다.10 is a diagram illustrating an example of setting a data serving structure according to a backend data domain corresponding to a service domain.
도 11은 프론트엔드와 백엔드 사이에 복수 개의 데이터 서빙 구조가 설정된 모습을 도시한 도면이다.11 is a diagram illustrating a state in which a plurality of data serving structures are set between a front end and a back end.
이하의 실시예들은 다양한 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments combine elements and features of various embodiments in a predetermined form. Each component or feature may be considered optional unless explicitly stated otherwise. Each component or feature may be implemented in a form not combined with other components or features. In addition, various embodiments may be configured by combining some components and features. The order of operations described in various embodiments may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.In the description of the drawings, procedures or steps that may obscure the gist of various embodiments are not described, and procedures or steps that can be understood by those skilled in the art are not described. did
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part is said to "comprising" or "including" a certain element, it means that it may further include other elements, not excluding other elements, unless otherwise stated. do. In addition, terms such as “… unit”, “… unit”, and “module” described in the specification mean a unit that processes at least one function or operation, which is hardware or software or a combination of hardware and software. can be implemented as Also, “a or an”, “one”, “the” and like terms are used herein in the context of describing various embodiments (particularly in the context of the claims below). Unless otherwise indicated or clearly contradicted by context, both the singular and the plural can be used.
이하, 다양한 실시예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.Hereinafter, preferred embodiments according to various embodiments will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description set forth below in conjunction with the accompanying drawings is intended to describe exemplary embodiments of various embodiments, and is not intended to represent a single embodiment.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.In addition, specific terms used in various embodiments are provided to help understanding of various embodiments, and the use of these specific terms may be changed into other forms without departing from the technical spirit of various embodiments. .
도 1은 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 전자 장치의 동작 방법이 구현될 수 있는 데이터 서빙 구조 설정 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a data serving structure setting system in which a method of operating an electronic device for setting a data serving structure according to various embodiments may be implemented.
도 1을 참조하면, 다양한 실시예들에 따른 데이터 서빙 구조 설정 시스템은 다양한 종류의 전자 장치들에 구현될 수 있다. 예를 들어, 데이터 서빙 구조 설정 시스템은 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)에 구현될 수 있다. 달리 말해, 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)는 각각의 장치에 구현된 데이터 서빙 구조 설정 시스템을 기반으로, 본 개시의 다양한 실시예들에 따른 동작을 수행할 수 있다. 한편, 다양한 실시예들에 따른 데이터 서빙 구조 설정 시스템은, 상기 도 1에 도시된 바에 국한되지 않고, 더 다양한 전자 장치와 서버들에 구현될 수도 있을 것이다.Referring to FIG. 1 , a data serving structure setting system according to various embodiments may be implemented in various types of electronic devices. For example, the data serving structure setting system may be implemented in the server device 100 and the device 200 interlocked with the server device 100 . In other words, the server device 100 and the device 200 linked to the server device 100 may perform operations according to various embodiments of the present disclosure based on the data serving structure setting system implemented in each device. can Meanwhile, the data serving structure setting system according to various embodiments is not limited to that shown in FIG. 1 and may be implemented in more various electronic devices and servers.
다양한 실시예들에 따른 서버 디바이스(100)는, 서버 디바이스(100)에 연동된 디바이스(200)와 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 서버 디바이스(100)는 서버 디바이스(100)에 연동된 디바이스(200)와 연결된 클라우드 디바이스(Cloud device)일 수 있다.The server device 100 according to various embodiments may be a device that performs wireless and wired communication with the device 200 interlocked with the server device 100 and includes a storage having a large storage capacity. For example, the server device 100 may be a cloud device connected to the device 200 linked to the server device 100 .
다양한 실시예들에 따른 서버 디바이스(100)에 연동된 디바이스(200)는, 데스크탑 피시, 태블릿 피시, 모바일 단말 등의 개인 사용자에 의해 이용될 수 있는 장치일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 서버 디바이스(100)에 연동된 디바이스(200)로 이용될 수 있다.The device 200 linked to the server device 100 according to various embodiments may be a device that can be used by an individual user such as a desktop PC, a tablet PC, or a mobile terminal. In addition, other electronic devices performing similar functions may be used as the device 200 linked to the server device 100 .
다양한 실시예들에 따른 데이터 서빙 구조 설정 시스템은 동작을 위한 다양한 모듈들을 포함할 수 있다. 데이터 서빙 구조 설정 시스템에 포함된 모듈들은 데이터 서빙 구조 설정 시스템이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예: 서버 디바이스(100))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 인스트럭션 (instruction) 일 수 있다. 다시 말해, 데이터 서빙 구조 설정 시스템이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.A data serving structure setting system according to various embodiments may include various modules for operation. The modules included in the data serving structure setting system are computer codes implemented so that a physical device (eg, the server device 100) in which the data serving structure setting system is implemented (or included in the physical device) can perform a specified operation. or one or more instructions. In other words, the physical device in which the data serving structure setting system is implemented stores a plurality of modules in the memory in the form of computer code, and when the plurality of modules stored in the memory are executed, the plurality of modules correspond to the plurality of modules. to perform specified actions.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 서버 디바이스에 연동된 디바이스의 구성을 도시한 도면이다.2 is a diagram illustrating configurations of a server device and a device interlocked with the server device according to various embodiments.
도 2를 참조하면, 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)는 입/출력부(210), 통신부(220), 스토리지(230) 및 프로세서(240)를 포함할 수 있다. Referring to FIG. 2 , a server device 100 and a device 200 linked to the server device 100 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240. can
입/출력부(210)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입/출력부(210)는 입력 모듈과 출력 모듈을 포함할 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 중 적어도 하나를 포함하는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단이 있으며, 본 개시의 실시예에 따른 입력 모듈은 위에 나열한 장치 중 적어도 하나를 포함할 수 있다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. 또 출력 모듈은 각종 정보를 출력할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단 중 적어도 하나를 포함할 수 있다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다.The input/output unit 210 may be various interfaces or connection ports that receive user input or output information to the user. The input/output unit 210 may include an input module and an output module, and the input module receives a user input from a user. User input may be made in various forms including key input, touch input, and voice input. Examples of input modules capable of receiving such user input include a traditional keypad, keyboard, and mouse, as well as a touch sensor that detects a user's touch, a microphone that receives a voice signal, a camera that recognizes gestures through image recognition, A proximity sensor including at least one of an illuminance sensor or an infrared sensor for detecting user approach, a motion sensor for recognizing a user's motion through an acceleration sensor or a gyro sensor, and various other types of sensors that detect or receive user input. There is an input means, and the input module according to the embodiment of the present disclosure may include at least one of the devices listed above. Here, the touch sensor may be implemented as a piezoelectric or capacitive touch sensor that detects a touch through a touch panel attached to a display panel or a touch film, an optical touch sensor that detects a touch by an optical method, and the like. In addition, the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) connecting an external input device that receives a user input instead of a device that detects a user input by itself. Also, the output module may output various types of information. The output module may include at least one of a display for outputting an image, a speaker for outputting sound, a haptic device for generating vibration, and other various types of output means. In addition, the output module may be implemented in the form of a port type output interface connecting the above-described individual output means.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.For example, an output module in the form of a display may display text, still images, and moving images. Displays include liquid crystal displays (LCDs), light emitting diodes (LEDs) displays, organic light emitting diodes (OLEDs) displays, flat panel displays (FPDs), and transparent displays. display), curved display, flexible display, 3D display, holographic display, projector, and other various types of devices capable of performing image output functions. may contain at least one. Such a display may be in the form of a touch display integrally formed with the touch sensor of the input module.
통신부(220)는 다른 장치와 통신할 수 있다. 따라서, 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)는 통신부를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)는 통신부를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.The communication unit 220 may communicate with other devices. Accordingly, the server device 100 and the device 200 interlocked with the server device 100 may transmit and receive information with other devices through a communication unit. For example, the server device 100 and the device 200 linked to the server device 100 may perform mutual communication using a communication unit or perform communication with other devices.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합으로 구성될 수 있다.Here, communication, that is, transmission and reception of data may be performed by wire or wireless. To this end, the communication unit includes a wired communication module that accesses the Internet through a LAN (Local Area Network), a mobile communication module that accesses a mobile communication network through a mobile communication base station to transmit and receive data, and a wireless local area network (WLAN) such as Wi-Fi. Area Network)-based communication method or WPAN (Wireless Personal Area Network)-based communication method such as Bluetooth or Zigbee, a short-distance communication module, or GNSS (Global Navigation Satellite System) such as GPS (Global Positioning System) ), or a combination thereof.
스토리지(230)는 각종 정보를 저장할 수 있다. 스토리지는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 서버(100)의 스토리지에는 서버(100)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 스토리지는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다. The storage 230 may store various types of information. Storage may temporarily or semi-permanently store data. For example, the storage of the server 100 includes an operating system (OS) for driving the server 100, a program for generating data or braille for hosting a website, or an application (eg, a web application). ) may be stored. In addition, the storage may store the modules in the form of computer code as described above.
스토리지(230)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 스토리지는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.Examples of the storage 230 include a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a read-only memory (ROM), a random access memory (RAM), and the like. This can be. Such storage may be provided in a built-in type or a detachable type.
프로세서(240)는 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)의 전반적인 동작을 제어한다. 이를 위해 프로세서(240)는 각종 정보의 연산 및 처리를 수행하고 서버(100)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(240)는 데이터 서빙 구조 설정을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(240)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(240)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)의 동작은 프로세서(240)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 데이터 서빙 구조 설정 시스템에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(240)가 서버 디바이스(100) 및 서버 디바이스(100)에 연동된 디바이스(200)를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.The processor 240 controls overall operations of the server device 100 and the device 200 interlocked with the server device 100 . To this end, the processor 240 may perform calculations and processing of various types of information and control operations of components of the server 100 . For example, the processor 240 may execute a program or application for setting a data serving structure. The processor 240 may be implemented as a computer or a similar device according to hardware, software, or a combination thereof. In terms of hardware, the processor 240 may be implemented in the form of an electronic circuit that performs a control function by processing electrical signals, and in terms of software, it may be implemented in the form of a program that drives the processor 240 in hardware. Meanwhile, in the following description, unless otherwise noted, operations of the server device 100 and the device 200 interlocked with the server device 100 may be interpreted as being performed under the control of the processor 240 . That is, when the modules implemented in the above-described data serving structure setting system are executed, the modules cause the processor 240 to cause the server device 100 and the device 200 linked to the server device 100 to perform the following operations. can be interpreted as controlling.
요약하면, 다양한 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.In summary, various embodiments may be implemented through various means. For example, various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
하드웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, the method according to various embodiments includes one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs. (field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, the method according to various embodiments may be implemented in the form of a module, procedure, or function that performs functions or operations described below. For example, software codes can be stored in memory and run by a processor. The memory may be located inside or outside the processor, and may exchange data with the processor by various means known in the art.
이하에서는, 상기와 같은 기술적 사상에 기반하여 다양한 실시예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.Hereinafter, various embodiments will be described in more detail based on the above technical idea. The above-described contents may be applied to various embodiments described below. For example, operations, functions, and terms that are not defined in various embodiments described below may be performed and described based on the contents described above.
이하의 설명에서는 서버 디바이스(100)가 데이터 서빙 구조 설정 동작을 수행함을 전제로 다양한 실시예들에 대하여 설명하며, 다양한 실시예들에 따르면, 서버 디바이스(100)는 데이터 서빙 구조 설정 동작과 관련된 정보를 서버 디바이스(100)에 연동된 디바이스(200)와 송수신할 수 있다. In the following description, various embodiments will be described on the premise that the server device 100 performs a data serving structure setting operation, and according to various embodiments, the server device 100 provides information related to the data serving structure setting operation. can be transmitted and received with the device 200 linked to the server device 100.
도 3은 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.3 is a diagram illustrating an operating method of the server device 100 for setting a data serving structure according to various embodiments.
도 3에 따를 때 서버 디바이스(100)는 데이터 서빙(serving) 구조를 설정할 수 있으며, 데이터 서빙 구조를 설정하는 동작을 수행하기 위해, 서버 디바이스(100)가 제공하는 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인하고(301), 프론트엔드와 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득하며(303), 획득한 설정 정보에 기반하여, 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 데이터 서빙 구조를 설정할 수 있다(305). 도 3에서 데이터 베이스와 관련된 백엔드는 프론트에 제공하기 위한 정보를 생성하는 노드일 수 있으며, 해당 노드에서 생성된 데이터를 다양한 실시예들에 따른 데이터 서빙 구조에 따라 프론트엔드로 효과적으로 제공할 수 있다.According to FIG. 3, the server device 100 may set a data serving structure, and in order to perform an operation of setting the data serving structure, a plurality of customer page domains for services provided by the server device 100. Checking information about the frontend including a plurality of backend data domains related to information about the frontend and a database for services (301), and a data serving structure between the frontend and the backend Setting information for setting is obtained (303), and based on the acquired setting information, a data serving structure including a main data serving structure for serving data requested by the front end may be set (305). In FIG. 3 , the backend associated with the database may be a node that generates information to be provided to the frontend, and data generated at the corresponding node can be effectively provided to the frontend according to a data serving structure according to various embodiments.
다양한 실시예들에 따르면, 동작 301에서, 서버 디바이스(100)는 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인할 수 있다. According to various embodiments, in operation 301, the server device 100 provides information on a frontend including a plurality of customer page domains for the service and a plurality of backends associated with a database for the service. Information about the backend including the data domain can be checked.
도 4는 서비스와 관련된 프론트엔드 및 백엔드의 데이터 서빙과 관련된 데이터 흐름의 개요를 도시한 도면이다.FIG. 4 is a diagram showing an overview of data flow related to data serving of a front end and a back end related to a service.
식별번호 401을 참고하면, 프론트엔드는 서비스를 위한 복수의 고객 페이지(Customer Page) 도메인을 포함할 수 있으며, 고객 페이지 도메인은 서버 디바이스(100)가 제공하는 서비스의 UI/UX (user interface/user experience) 상에서 사용자가 접할 수 있는 다양한 서비스 페이지에 대응하는 도메인을 의미할 수 있다. 일 예로, 사용자는 서비스의 UI/UX 상에서 아이템을 검색하기 위한 아이템 검색 페이지(Search Page), 아이템을 분류하는 카테고리 페이지(Category Page), 특정 아이템의 상세 정보를 포함하는 아이템 상세 페이지(Detail Page) 및/또는 사용자의 개인 정보를 포함하는 마이 페이지(My Page) 등에 접속할 수 있으며, 서버 디바이스(100)는 이에 대응하여 아이템 검색 페이지에 대응하는 고객 페이지 도메인, 카테고리 페이지에 대응하는 고객 페이지 도메인, 아이템 상세 페이지에 대응하는 고객 페이지 도메인 및/또는 마이 페이지에 대응하는 고객 페이지 도메인 등을 포함하는 프론트엔드를 확인할 수 있다.Referring to identification number 401, the front end may include a plurality of customer page domains for services, and the customer page domains are UI/UX (user interface/user interface/user interfaces) of services provided by the server device 100. experience) may mean a domain corresponding to various service pages that a user can access. As an example, the user can use an item search page to search for items on the UI/UX of the service, a category page to classify items, and an item detail page including detailed information of a specific item. and/or My Page including the user's personal information, etc., and the server device 100 corresponds to the customer page domain corresponding to the item search page, the customer page domain corresponding to the category page, and the item A front end including a customer page domain corresponding to the detailed page and/or a customer page domain corresponding to My Page may be identified.
식별번호 401을 참고하면, 프론트엔드는 상기와 같은 복수의 고객 페이지 도메인을 포함하여, 사용자의 UI/UX 접속 등에 따라 각 페이지 및 각 페이지에 대응하는 각 페이지 도메인에서 요청되는 데이터를 관리할 수 있도록 설정된 사용자 측 관리 단으로 이해될 수 있다. Referring to identification number 401, the front end includes a plurality of customer page domains as described above, and manages data requested from each page and each page domain corresponding to each page according to the user's UI / UX access. It can be understood as a set user-side management stage.
식별번호 403을 참고하면, 백엔드는 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드 데이터 도메인을 포함할 수 있으며, 백엔드 데이터 도메인은 서버 디바이스(100)가 데이터를 저장하여 관리하는 데이터 베이스에 포함된 각 데이터에 대하여 판단된 데이터의 타입 또는 종류에 대응하여 해당 타입 또는 종류의 데이터를 관리하는 도메인을 의미할 수 있다. 일 예로, 서버 디바이스(100)가 제공하는 서비스의 특성에 따라, 물류 관리를 위한 데이터(Fulfillment), 서비스 상에서 아이템을 판매하는 판매자의 데이터(Seller), 아이템의 할인 정보와 관련된 데이터(Promotions/Benefits) 및/또는 아이템에 대해 작성된 리뷰 데이터(Product Review) 등이 생성되어 저장될 수 있으며, 서버 디바이스(100)는 이에 대응하여 물류 관리를 위한 데이터에 대응하는 백엔드 데이터 도메인, 판매자의 데이터에 대응하는 백엔드 데이터 도메인, 아이템의 할인 정보와 관련된 데이터에 대응하는 백엔드 데이터 도메인 및/또는 리뷰 데이터에 대응하는 백엔드 데이터 도메인 등을 포함하는 백엔드를 확인할 수 있다.Referring to identification number 403, the backend may include a plurality of backend data domains related to a database for a service, and each data included in a database that the server device 100 stores and manages data. It may refer to a domain that manages the type or kind of data corresponding to the type or type of data determined for . For example, according to the characteristics of the service provided by the server device 100, data for logistics management (Fulfillment), data of a seller selling an item on the service (Seller), and data related to discount information of the item (Promotions/Benefits ) and/or review data (Product Review) written for the item may be generated and stored, and the server device 100 corresponds to the backend data domain corresponding to the data for logistics management and the seller's data. A backend including a backend data domain, a backend data domain corresponding to data related to item discount information, and/or a backend data domain corresponding to review data may be identified.
식별번호 403을 참고하면, 백엔드는 상기와 같은 복수의 백엔드 데이터 도메인을 포함하여, 서버 디바이스(100)가 제공하는 서비스와 관련하여 저장되거나 관리되는 데이터를 제공 또는 확인할 수 있도록 설정된 데이터 베이스 측 관리 단으로 이해될 수 있다. Referring to identification number 403, the backend includes a plurality of backend data domains as described above, and is a database-side management unit configured to provide or check data stored or managed in relation to the service provided by the server device 100. can be understood as
이 때 벡엔드에 포함된 복수의 백엔드 데이터 도메인은, 405의 데이터 베이스에서 관리하는 다양한 데이터들을 각 데이터 도메인의 특성에 맞춰 관리하도록 설정될 수 있다.In this case, a plurality of backend data domains included in the backend may be configured to manage various data managed in the database of 405 according to characteristics of each data domain.
다양한 실시예들에 따르면, 동작 303에서, 서버 디바이스(100)는 프론트엔드와 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득할 수 있다.According to various embodiments, in operation 303, the server device 100 may obtain configuration information for configuring a data serving structure between the front end and the back end.
예를 들어, 프론트엔드와 백엔드 사이의 데이터 서빙 구조는, 사용자의 UI/UX 접속 등에 따라 사용자 측 관리 단에서 요청되는 데이터를 데이터 베이스 측 관리 단으로부터 서빙(serving)하기 위한 구조를 의미할 수 있다. 특히, 서버 디바이스(100)가 제공하는 서비스가 e-커머스(e-commverce)에 해당하는 경우에서의 서비스 상 데이터 관리는, 고객 페이지에서 필요한 다양한 데이터가 고객 페이지와 관련된 프론트엔드 측 고객 페이지 도메인에 대응하는 일정한 백엔드 측 담당 데이터 도메인을 대상으로 하여 서빙되는 MSA (Micro Service Architecture)에 기반할 수 있으며, MSA를 위해서는 높은 입출력 트래픽을 소화하는 고 처리율(high throughput) 및 저 지연(low latency)가 보장되고, 데이터의 일관성, 최신성 또는 시스템의 가용성이 확보될 수 있는 핵심 논리(logic) 구조가 제공될 필요가 있다. For example, a data serving structure between a front end and a back end may refer to a structure for serving data requested by a user side management unit from a database side management unit according to a user's UI/UX connection. . In particular, in service data management in the case where the service provided by the server device 100 corresponds to e-commerce, various data necessary for the customer page are stored in the front-end customer page domain related to the customer page. It can be based on MSA (Micro Service Architecture), which is served by targeting a corresponding data domain in charge of a certain backend side, and for MSA, high throughput and low latency to handle high input/output traffic are guaranteed. In addition, it is necessary to provide a core logic structure that can secure data consistency, freshness, or system availability.
그러나 핵심 논리 구조가 설계되어도, 고객 페이지 도메인 또는 데이터 도메인에서 처리되는 데이터의 특성이 상이하고 서로 다른 코드 베이스에 기반하여 동작할 시 핵심 논리 구조가 활용되어도 중복되는 코드가 증가하고 관리가 어려워지는 문제가 발생할 수 있다. 따라서 각 고객 페이지 도메인 또는 데이터 도메인에 따라 핵심 논리 구조가 파편화 되는 것을 방지하여야 할 필요가 있으며, 이를 위해, 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보의 대상인 데이터 서빙 구조는 상이한 고객 페이지 도메인 또는 데이터 도메인에 대응하는 확장성을 가져 파편화를 방지할 수 있도록 설정된 데이터 서빙 구조에 해당할 수 있다. However, even if the core logical structure is designed, when the characteristics of the data processed in the customer page domain or data domain are different and operate based on different code bases, even if the core logical structure is used, duplicate codes increase and management becomes difficult. may occur. Therefore, it is necessary to prevent the core logical structure from being fragmented according to each customer page domain or data domain. To this end, the data serving structure, which is the target of the setting information acquired by the server device 100 according to operation 303, is different from the customer page domain. It may correspond to a data serving structure configured to prevent fragmentation by having scalability corresponding to a domain or data domain.
즉 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보의 대상인 데이터 서빙 구조는, 데이터 서빙을 위한 메인 데이터 서빙 구조를 기반으로, 다양한 고객 페이지 도메인 또는 데이터 도메인에 대응할 수 있는 부가 데이터 서빙 구조가 추가되는 방식으로 구현되어, 상이한 특성의 고객 페이지 도메인 또는 데이터 도메인을 위한 확장성을 가질 수 있다.That is, the data serving structure, which is the object of the setting information acquired by the server device 100 according to operation 303, has an additional data serving structure that can correspond to various customer page domains or data domains based on the main data serving structure for data serving. Implemented in an additive manner, it can have extensibility for customer page domains or data domains of different characteristics.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보는, 프론트엔드와 백엔드 사이의 데이터 서빙을 수행하기 위한 기본적인 데이터 서빙 구조에 해당하는 메인 데이터 서빙 구조를 설정하기 위한 메인 설정 정보를 포함할 수 있다. 일 예로, 메인 설정 정보에 기반하여 메인 데이터 서빙 구조가 프론트엔드와 백엔드 사이에 설정될 경우, 프론트엔드 측에서 요청되는 데이터가 백엔드 측으로부터 서빙될 수 있다. 이와 같은 메인 데이터 서빙 구조는, 도 5와 같은 방식으로 구현될 수 있다.For example, the setting information acquired by the server device 100 according to operation 303 is main setting information for setting a main data serving structure corresponding to a basic data serving structure for performing data serving between the front end and the back end. can include For example, when a main data serving structure is established between the front end and the back end based on the main configuration information, data requested by the front end may be served from the back end. Such a main data serving structure may be implemented in the same manner as in FIG. 5 .
도 5는 프론트엔드와 백엔드 사이에 메인 데이터 서빙 구조가 설정된 모습을 도시한 도면이다.5 is a diagram showing how a main data serving structure is set between a front end and a back end.
메인 데이터 서빙 구조(501)는 데이터 서빙을 위한 다양한 구성 요소를 포함할 수 있으며, 메인 데이터 서빙 구조를 위한 구성 요소로는 복수의 백엔드 데이터 도메인에 대응하는 복수의 데이터 큐(Queue)(503), 복수의 데이터 큐를 통해 전송된 데이터를 저장하는 공통의(common) 스토리지(storage)(505), 및 프론트엔드 측에서 요청된 데이터를 스토리지에서 호출하여 프론트엔드로 전송하는 공통의(common) 서빙 레이어(Serving Layer)(507)가 포함될 수 있다.The main data serving structure 501 may include various components for data serving. Components for the main data serving structure include a plurality of data queues 503 corresponding to a plurality of backend data domains, A common storage 505 for storing data transmitted through a plurality of data queues, and a common serving layer for calling data requested from the storage and transmitting it to the front end. (Serving Layer) 507 may be included.
501의 메인 데이터 서빙 구조에서, 복수의 벡엔드 데이터 도메인에서 관리되는 데이터 베이스의 다양한 데이터가 각각의 백엔드 데이터 도메인에 대응하는 데이터 큐로 전송될 수 있다. 여기서, 데이터 큐는 송신단 측으로부터 제공되는 데이터를 수신하여 보관하고, 보관한 데이터를 수신단 측으로 전송하기 전까지 대기시킬 수 있으며, 이후 보관한 데이터를 수신단 측으로 전송하는 기능을 수행하는 데이터 대기열을 의미할 수 있다. 503에서 하나의 데이터 큐는 하나의 백엔드 데이터 도메인 또는 하나 이상의 백엔드 데이터 도메인에 대응하여, 대응하는 백엔드 데이터 도메인에서 제공되는 데이터를 수신하여 보관한 뒤 대기시키고, 스토리지의 데이터 업데이트 주기에 맞춰 보관한 데이터를 스토리지 측으로 전송할 수 있다. 즉 503의 데이터 큐는 백엔드 데이터 도메인 측으로부터 전달 받은 데이터를 대기시켰다가, 스토리지 측의 업데이트 주기에 맞춰 스토리지 측으로 데이터를 전달하는 역할을 수행할 수 있다.In the main data serving structure of 501, various data of a database managed in a plurality of backend data domains may be transmitted to data queues corresponding to respective backend data domains. Here, the data queue may refer to a data queue that receives and stores data provided from the transmitting end, waits until the stored data is transmitted to the receiving end, and then transmits the stored data to the receiving end. there is. In 503, one data queue corresponds to one back-end data domain or one or more back-end data domains, receives data provided from the corresponding back-end data domain, stores it, waits, and stores the stored data according to the data update cycle of the storage. can be transmitted to the storage side. That is, the data queue of 503 can play a role of waiting for data received from the backend data domain side and then delivering the data to the storage side according to the update cycle of the storage side.
또한 501의 메인 데이터 서빙 구조에서, 스토리지는 데이터 베이스의 다양한 데이터를 복수의 데이터 큐를 통해 수신하여 저장할 수 있다. 스토리지는, 데이터 서빙의 편의를 위해 서빙 레이어가 백엔드 데이터 도메인까지 접근하지 않고 스토리지에 대한 접근 만으로 프론트엔드에서 요청된 데이터를 호출할 수 있도록, 데이터 베이스의 데이터를 동일 또는 유사하게 저장하여 관리하는 데이터 저장 공간을 의미할 수 있다. 505에서 스토리지는 벡엔드 데이터 도메인에서 관리하는 데이터 베이스의 데이터를 전송 받아 저장할 수 있으며, 특히, 벡엔드 데이터 도메인과 스토리지 사이에 데이터 큐가 존재하여, 데이터 큐가 데이터 도메인으로부터 데이터 베이스의 데이터를 전달 받아 보관하고, 스토리지는 일정한 주기에 따라 데이터 큐에 보관된 데이터를 전달받을 수 있다. 이와 같이 전달 받은 데이터를 저장하는 스토리지에 대해 서빙 레이어가 원하는 데이터를 호출하여 원하는 데이터를 획득할 수 있다. 즉, 505의 스토리지는 백엔드 데이터 도메인에서 관리되는 데이터 베이스의 데이터를 복수의 데이터 큐를 통해 제공 받아 데이터 베이스의 데이터를 저장하며, 서빙 레이어가 원하는 데이터를 획득할 수 있도록 하는 역할을 수행할 수 있다.Also, in the main data serving structure of 501, the storage may receive and store various data of the database through a plurality of data queues. Storage is data that stores and manages database data identically or similarly so that the serving layer can call the requested data from the front-end only by accessing the storage without accessing the back-end data domain for the convenience of data serving. It can mean storage space. In 505, the storage can receive and store the data of the database managed by the backend data domain. In particular, a data queue exists between the backend data domain and the storage, and the data queue transfers the data of the database from the data domain. Receive and store, and the storage can receive data stored in the data queue at regular intervals. The serving layer may acquire desired data by calling the desired data for the storage storing the data received in this way. That is, the storage of 505 receives the data of the database managed in the backend data domain through a plurality of data queues, stores the data of the database, and plays a role of enabling the serving layer to obtain desired data. .
501의 메인 데이터 서빙 구조에서, 서빙 레이어는 스토리지에 접근하여 원하는 데이터를 호출해 획득할 수 있다. 서빙 레이어는, 프론트엔드에 포함된 복수의 고객 페이지 도메인을 통해 요청되는 다양한 데이터를 스토리지로부터 호출하기 위한 기능을 수행할 수 있다. 507에서 서빙 레이어는 프론트엔드에 대응하는 고객 페이지로부터 일정한 데이터를 호출해 줄 것을 요청 받을 수 있으며, 스토리지에 접근하여 호출 대상으로 요청된 데이터를 호출하여 획득하고, 원하는 데이터를 획득하는 경우 이를 다시 프론트엔드 측에 전송할 수 있다. In the main data serving structure of 501, the serving layer may obtain desired data by accessing the storage. The serving layer may perform a function of calling various data requested from the storage through a plurality of customer page domains included in the front end. In 507, the serving layer may receive a request to call certain data from the customer page corresponding to the front end, access the storage, call and acquire the requested data as a call target, and when desired data is obtained, return it to the front end. can be transmitted to the end side.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보는, 메인 데이터 서빙 구조에 추가되는 제1 부가 데이터 서빙 구조를 설정하기 위한 제1 부가 설정 정보, 또는 메인 데이터 서빙 구조에 추가되는 제2 부가 데이터 서빙 구조를 설정하기 위한 제2 부가 설정 정보를 포함할 수 있다. 일 예로, 1) 제1 부가 설정 정보에 기반하여 제1 부가 데이터 서빙 구조가 프론트엔드와 백엔드 사이에 설정될 경우, 메인 데이터 서빙 구조와는 달라진 방식으로 프론트엔드 측에서 요청되는 데이터가 백엔드 측으로부터 서빙될 수 있고, 2) 제2 부가 설정 정보에 기반하여 제2 부가 데이터 서빙 구조가 프론트엔드와 백엔드 사이에 설정될 경우, 메인 데이터 서빙 구조와는 달라진 방식으로 프론트엔드 측에서 요청되는 데이터가 백엔드 측으로부터 서빙될 수 있으며, 3) 이는 제1 부가 설정 정보 및 제2 부가 설정 정보에 기반하여 제1 부가 데이터 서빙 구조와 제2 부가 데이터 서빙 구조가 모두 프론트엔드와 백엔드 사이에 설정될 경우에도 마찬가지일 수 있다. 이와 같은 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조는, 도 6 내지 8과 같은 방식으로 구현될 수 있다.For example, the setting information acquired by the server device 100 according to operation 303 is first additional setting information for setting a first additional data serving structure added to the main data serving structure or added to the main data serving structure. and second additional setting information for setting a second additional data serving structure to be configured. For example, 1) When a first additional data serving structure is established between the front end and the back end based on the first additional configuration information, data requested from the front end is transmitted from the back end in a manner different from that of the main data serving structure. 2) When a second additional data serving structure is established between the front end and the back end based on the second additional configuration information, data requested from the front end side is transferred in a manner different from that of the main data serving structure to the back end. 3) This is the same even if both the first additional data serving structure and the second additional data serving structure are configured between the front end and the back end based on the first additional configuration information and the second additional configuration information. can be The first additional data serving structure and the second additional data serving structure may be implemented in the same manner as shown in FIGS. 6 to 8 .
도 6은 프론트엔드와 백엔드 사이에 제1 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.6 is a diagram showing how a first additional data serving structure is added and configured between a front end and a back end.
제1 부가 데이터 서빙 구조(601)는 데이터 서빙을 위한 다양한 구성 요소를 포함할 수 있으며, 제1 부가 데이터 서빙 구조를 위한 구성 요소로는 스토리지에 저장된 데이터에 포함된 적어도 일부의 데이터를 스토리지로부터 획득하여 저장하는 캐시(Cache)(603), 캐시에 저장되는 적어도 일부의 데이터에 포함된 특정의 데이터에 대하여, 특정의 데이터가 업데이트 되어 업데이트 된 특정의 데이터가 스토리지에서 확인되는 경우 업데이트 된 특정의 데이터를 보관하여 캐시로 전송하기 위한 업데이트 데이터 큐(Notification Queue)(605), 및 업데이트 된 특정의 데이터를 업데이트 데이터 큐를 통해 캐시로 전송하도록 관리하는 캐시 업데이트 관리자(Cache invalidator)(607)가 포함될 수 있다. The first supplementary data serving structure 601 may include various components for data serving, and the components for the first supplementary data serving structure obtain at least some data included in data stored in the storage from the storage. For the specific data included in the cache 603, at least some of the data stored in the cache, when the specific data is updated and the updated specific data is confirmed in the storage, the updated specific data An update data queue (Notification Queue) 605 for storing and transmitting to the cache, and a cache update manager (Cache invalidator) 607 that manages to transmit specific updated data to the cache through the update data queue may be included. there is.
601의 제1 부가 데이터 서빙 구조에서, 캐시는 스토리지에 저장된 데이터 중 일부의 데이터를 스토리지로부터 획득하여 저장할 수 있다. 캐시는 서빙 레이어가 스토리지에 접근하여 원하는 데이터를 호출하는 과정에서, 호출 대상인 데이터가 서빙 레이어 측에서 자주 호출하는 등의 이유로 서빙 레이어 측의 용이한 데이터 접근을 도모하거나, 다수의 데이터를 스토리지에 대해 호출하여 스토리지에서의 레이턴시가 발생할 수 있는 문제를 방지하기 위해, 스토리지에 저장된 일부의 데이터를 서빙 레이어가 용이하게 접근할 수 있도록 저장하는 별도의 데이터 저장 공간을 의미할 수 있다. 603에서 캐시는 스토리지와 서빙 레이어 사이에 위치하게 되며, 서빙 레이어는 원하는 데이터를 스토리지에서 호출하기 전에 캐시에서 우선적으로 호출하여 프론트엔드로 전송할 수 있게 된다. 만약 원하는 데이터가 캐시에 저장되어 있지 않아 원하는 데이터가 캐시에 없는 것을 서빙 레이어가 확인한 경우, 서빙 레이어는 원하는 데이터를 스토리지에서 호출하여 프론트엔드로 전송할 수 있다.In the first additional data serving structure of 601 , the cache may acquire and store some of data stored in the storage from the storage. The cache promotes easy access to data from the serving layer side for reasons such as the data to be called is frequently called from the serving layer side in the process of the serving layer accessing the storage and calling the desired data, or the cache promotes easy access to data from the serving layer side, or stores multiple data for storage. It may refer to a separate data storage space that stores some data stored in the storage so that the serving layer can easily access it in order to prevent a problem that may occur due to latency in the storage. In 603, the cache is located between the storage and the serving layer, and the serving layer can first call desired data from the cache before calling it from the storage and transmit it to the front end. If the serving layer confirms that the desired data is not in the cache because the desired data is not stored in the cache, the serving layer may call the desired data from the storage and transmit it to the front end.
603과 같이 스토리지에 저장된 데이터 중 일부의 데이터를 획득하여 저장하도록 설정되는 캐시가 스토리지와 서빙 레이어 사이에 위치하게 될 경우, 캐시에 저장된 특정의 데이터가 백엔드 데이터 도메인 쪽에서 업데이트 되었을 때 스토리지는 데이터 큐를 통해 특정의 데이터에 대응하여 업데이트된 특정의 데이터를 획득하여 저장할 수 있으나, 캐시가 특정의 데이터의 업데이트 여부를 바로 확인하지 못한다면 스토리지는 업데이트 된 특정의 데이터를 저장하는 반면 캐시는 업데이트 되지 않은 특정의 데이터를 저장하게 되는 문제가 발생할 수 있다. 이와 같은 문제를 방지하기 위해서는 스토리지와 캐시에 공통으로 저장된 데이터의 업데이트에 대한 확인 및 관리가 필요하며, 605의 업데이트 알림 큐는 이와 같은 역할을 수행할 수 있다.If a cache configured to acquire and store some of the data stored in the storage, such as 603, is located between the storage and the serving layer, when the specific data stored in the cache is updated in the backend data domain, the storage queues the data. However, if the cache does not immediately check whether the specific data is updated, the storage stores the updated specific data, while the cache stores the specific data that has not been updated. There may be problems with storing data. In order to prevent such a problem, it is necessary to check and manage updates of data commonly stored in storage and cache, and the update notification queue of 605 can perform such a role.
스토리지에 저장된 데이터에 대해 백엔드 데이터 도메인 쪽에서 업데이트 된 데이터가 확인 및 관리되는 경우, 업데이트 된 데이터는 복수의 데이터 큐 중에서 해당 데이터와 관련된 데이터 큐에 전달 및 보관되었다가, 스토리지의 업데이트 주기에 대응하는 특정 주기에 따라 스토리지로 전송되게 된다. 이 때 해당 데이터가 전술한 것과 같이 스토리지와 캐시 모두에 저장되어 있는 데이터라면, 스토리지가 업데이트 된 데이터를 전송 받을 때 캐시 역시 동일하게 업데이트 된 데이터를 수신하여야 하므로, 업데이트 된 데이터가 스토리지에 저장되면서 업데이트 알림 큐에도 전달될 수 있도록 설계되어야 한다. 이와 같은 설계에 기반하여 업데이트 알림 큐는 업데이트 된 데이터를 보관할 수 있으며, 스토리지의 업데이트 주기에 맞춰 업데이트 된 데이터가 스토리지 및 업데이트 데이터 큐에서 확인되는 경우, 607의 캐시 업데이트 관리자가 업데이트 데이터 큐를 통해 업데이트 된 데이터를 캐시로 전송하도록 지시할 수 있다.When updated data is checked and managed on the backend data domain side for data stored in storage, the updated data is delivered and stored in a data queue related to the data among a plurality of data queues, and then stored in a specific data queue corresponding to the update cycle of the storage. It is transferred to storage according to the cycle. At this time, if the data is data stored in both the storage and cache as described above, when the storage receives the updated data, the cache must receive the same updated data, so the updated data is stored in the storage and updated It should be designed so that it can also be delivered to the notification queue. Based on this design, the update notification queue can hold the updated data, and when the updated data is checked in the storage and update data queue according to the storage update cycle, the cache update manager of 607 updates through the update data queue. You can instruct the cached data to be transferred to the cache.
캐시가 스토리지로부터 획득하여 저장하는 스토리지 내 일부의 데이터는, 서빙 레이어의 데이터 호출을 용이하게 하는데 우선적인 목적이 있으므로, 서빙 레이어에 의한 데이터 호출 우선순위를 고려하여 스토리지에 저장된 데이터 중에서 선별될 수 있다. 즉, 캐시에 저장된 일부의 데이터는 스토리지에 저장된 데이터 중 데이터 호출 우선순위에 기반하여 캐시에 저장되도록 선택된 데이터일 수 있으며, 이와 같은 데이터 호출의 우선순위는 서빙 레이어로부터의 데이터 호출 횟수로 결정될 수 있다. 일 예로, 데이터 호출 횟수가 많은 순으로 캐시에 저장될 데이터가 선택될 수 있으며, 고객 페이지로부터의 데이터 호출 횟수가 많은 아이템 이미지, 아이템 명칭, 가격 등의 데이터 등이 캐시에 저장될 수 있다.Since some of the data in the storage that the cache acquires and stores from the storage has a priority purpose of facilitating data call of the serving layer, it can be selected from data stored in the storage in consideration of the priority of data call by the serving layer. . That is, some of the data stored in the cache may be data selected to be stored in the cache based on a data call priority among data stored in the storage, and the priority of such a data call may be determined by the number of data calls from the serving layer. . For example, data to be stored in the cache may be selected in the order of the number of data calls, and data such as an image of an item with a high number of data calls from a customer page, an item name, and a price may be stored in the cache.
이 때 601의 제1 부가 데이터 서빙 구조에서, 서빙 레이어는 데이터 호출 우선순위가 높은 데이터를 호출하기 위해 캐시에 접근하면서도, 백그라운드로 스토리지에 접근할 수 있다. 만약 특정의 데이터에 대해 스토리지에는 업데이트 된 데이터가 저장되어 있으나 캐시에는 업데이트 되지 않은 데이터가 저장되어 있는 것을 확인하는 경우, 해당 특정의 데이터에 대한 업데이트 요청 정보가 서빙 레이어에 의해 생성되어 전송될 수 있다.At this time, in the first additional data serving structure of 601, the serving layer may access the storage in the background while accessing the cache to call data having a high data call priority. If it is confirmed that updated data is stored in the storage for specific data but not updated data is stored in the cache, update request information for the specific data may be generated and transmitted by the serving layer. .
도 7은 프론트엔드와 백엔드 사이에 제2 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.FIG. 7 is a diagram showing how a second additional data serving structure is added and set between a front end and a back end.
제2 부가 데이터 서빙 구조(701)는 데이터 서빙을 위한 다양한 구성 요소를 포함할 수 있으며, 특히, 실시간 업데이트의 관리 필요성이 있는 데이터들을 서빙하기 위한 구성 요소를 포함할 수 있다. 제2 부가 데이터 서빙 구조에는, 데이터 베이스에 저장된 데이터 중 실시간 업데이트가 필요한 것으로 판단되는 데이터에 대하여, 복수의 데이터 큐 중에서 해당 데이터와 관련된 특정 데이터 큐를 통해 해당 데이터에 대해 실시간 업데이트 된 데이터를 획득하여 저장하는 실시간 캐시(Real time Cache)(703), 및 실시간 업데이트 된 데이터를 상기 특정 데이터 큐를 통해 실시간 캐시로 전송하도록 관리하는 실시간 캐시 업데이트 관리자(Real time Data Updater)(705)가 포함될 수 있다.The second additional data serving structure 701 may include various components for data serving, and in particular, components for serving data requiring real-time update management. In the second supplementary data serving structure, for data that is determined to require real-time update among data stored in the database, real-time updated data is obtained for the corresponding data through a specific data queue related to the corresponding data among a plurality of data queues. A real time cache 703 for storing, and a real time data update manager 705 for managing transmission of real time updated data to the real time cache through the specific data queue may be included.
701의 제2 부가 데이터 서빙 구조에서, 실시간 캐시는 복수의 데이터 큐에 보관 중인 데이터 중 실시간 업데이트에 대한 관리가 필요한 것으로 확인된 데이터를 실시간에 가까운 주기에 기반하여 복수의 데이터 큐로부터 획득하여 저장할 수 있다. 데이터 베이스에 저장되어 백엔드 데이터 도메인에 의해 관리되는 데이터 중, 아이템의 재고 또는 프로모션 할인 가격 등 실시간으로 업데이트가 이루어져 실시간 업데이트를 반영하는 것이 중요한 데이터가 미리 확인될 수 있으며, 백엔드 데이터 도메인에 대응하는 복수의 데이터 큐에서는 이와 같이 확인된 데이터에 대해 실시간으로 업데이트 된 데이터가 확인되는 경우 실시간 업데이트 된 데이터를 실시간 캐시로 전송할 수 있다. In the second additional data serving structure of 701, the real-time cache may acquire and store data identified as requiring real-time update management among data stored in the plurality of data queues from the plurality of data queues based on a period close to real time. there is. Among the data stored in the database and managed by the backend data domain, data that is important to reflect real-time updates as updated in real time, such as inventory of items or promotional discount prices, can be checked in advance, and multiple data corresponding to the backend data domain In the data queue of , when data updated in real time for the confirmed data is confirmed, the real-time updated data can be transmitted to the real-time cache.
즉, 어느 데이터가 실시간 업데이트에 대한 관리 필요성이 있는 것으로 확인된 데이터라면, 해당 데이터에 관련된 데이터 큐에서는 해당 데이터에 대응하여 실시간으로 업데이트 된 데이터를 확인할 수 있으며, 데이터 큐는 실시간 업데이트 된 데이터를 실시간 캐시로 전송하게 된다. 데이터 큐의 관점에서, 데이터 큐가 보관 중인 데이터는 스토리지의 업데이트 주기에 맞춰 스토리지로 전송되나, 이 중 실시간 업데이트에 대한 관리 필요성이 있는 것으로 확인된 데이터가 있는 경우, 해당 데이터와 관련해 실시간 업데이트 된 데이터가 스토리지의 업데이트 주기 보다 훨씬 빠른 실시간에 가까운 주기에 맞춰 실시간 캐시로 전송될 수 있다. 따라서 703과 같은 실시간 캐시의 설정을 통해, 스토리지 또는 캐시가 실시간 업데이트 되는 데이터를 실시간으로 저장하게 되지 못하는 문제를 방지할 수 있으며, 705와 같이 실시간 캐시 관리자가 별도로 설정되어 데이터 큐로부터 실시간 캐시로의 실시간 업데이트 데이터의 전송을 관리할 수 있게 된다.That is, if any data is identified as requiring management of real-time update, the data queue related to the data can check the data updated in real time in response to the data, and the data queue can display the updated data in real time. sent to the cache. From the point of view of the data queue, the data stored in the data queue is transmitted to the storage according to the update cycle of the storage, but if there is data that needs to be managed for real-time update, the data updated in real time related to that data can be transmitted to the real-time cache at a period close to real-time that is much faster than the storage update period. Therefore, by setting a real-time cache such as 703, it is possible to prevent a problem in which storage or cache cannot store data updated in real time in real time, and a real-time cache manager is set separately, such as 705. It becomes possible to manage the transmission of real-time update data.
701과 같은 제2 부가 데이터 서빙 구조가 설정되는 경우, 서빙 레이어는 원하는 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부를 기반으로, 만약 해당 데이터가 실시간 업데이트가 필요한 데이터에 대응한다면 해당 데이터를 실시간 캐시에서 호출하여 프론트엔트로 전송할 수 있게 된다.When the second additional data serving structure such as 701 is set, the serving layer caches the corresponding data based on whether the desired data corresponds to data requiring real-time updating, if the corresponding data corresponds to data requiring real-time updating. It can be called from and transmitted to the front end.
이 때 도 7에서는 편의상 제2 부가 데이터 서빙 구조 외에 제1 부가 데이터 서빙 구조의 구성 요소인 캐시가 설정된 것으로 도시되었으나 이는 부차적인 일 예시에 해당하며, 경우에 따라서 서빙 레이어는 캐시가 아닌 스토리지로 바로 접근하여 원하는 데이터를 호출할 수도 있다. At this time, in FIG. 7, for convenience, it is shown that a cache, which is a component of the first additional data serving structure, is set in addition to the second additional data serving structure, but this corresponds to a secondary example, and in some cases, the serving layer is directly stored as a storage rather than a cache. You can also access and call the desired data.
도 8은 프론트엔드와 백엔드 사이에 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조가 추가되어 설정된 모습을 도시한 도면이다.FIG. 8 is a diagram illustrating how a first additional data serving structure and a second additional data serving structure are added and configured between a front end and a back end.
도 8에서는 제1 부가 데이터 서빙 구조(801)와 제2 부가 데이터 서빙 구조(803)가 함께 설정되어 있으며, 이는 설정 정보에 제1 부가 설정 정보 및 제2 부가 설정 정보가 모두 포함된 점에 기반한 것일 수 있다. 도 8에 포함된 데이터 큐, 스토리지, 서빙 레이어, 캐시, 업데이트 알림 큐, 캐시 업데이트 관리자, 실시간 캐시 및 실시간 캐시 업데이트 관리자는 도 5 내지 7에서 전술한 것과 같이 동작할 수 있다.8, the first additional data serving structure 801 and the second additional data serving structure 803 are set together, which is based on the fact that both the first additional setting information and the second additional setting information are included in the setting information. it could be The data queue, storage, serving layer, cache, update notification queue, cache update manager, real-time cache, and real-time cache update manager included in FIG. 8 may operate as described above with reference to FIGS. 5 to 7 .
도 8과 같은 경우, 서빙 레이어는 원하는 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부를 기반으로, 만약 해당 데이터가 실시간 업데이트가 필요한 데이터에 대응한다면 해당 데이터를 실시간 캐시 및 캐시 모두에서 호출하며, 실시간 캐시 및 캐시에서 호출된 데이터에 포함된 타임 스태프 등의 정보를 확인하여 호출된 데이터 중 보다 최신의 데이터를 프론트엔트로 전송하게 된다. 반면, 해당 데이터가 실시간 업데이트가 필요한 데이터에 대응하지 않는다면 서빙 레이어는 해당 데이터를 캐시에서 호출하여 프론트엔드로 전송하게 되며, 만약 해당 데이터가 캐시에서 호출되지 않는 경우 스토리지에 접근해 해당 데이터를 호출하고 프론트엔드로 전송하게 된다. 이를 위해, 서버 디바이스(100)는 프론트엔드에서 요청된 데이터, 즉 서빙 레이어가 원하는 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부에 대한 정보를 획득하는 동작을 수행할 수도 있다.In the case of FIG. 8 , the serving layer calls the corresponding data from both the real-time cache and the cache based on whether the desired data corresponds to the data requiring real-time update, if the corresponding data corresponds to the data requiring real-time update. Information such as the time staff included in the cache and the data called from the cache is checked, and more recent data among the called data is transmitted to the front end. On the other hand, if the corresponding data does not correspond to data that needs to be updated in real time, the serving layer calls the corresponding data from the cache and transmits it to the front-end. sent to the frontend. To this end, the server device 100 may perform an operation of obtaining information on whether data requested by the front end, that is, data desired by the serving layer corresponds to data requiring real-time updating.
한편 서빙 레이어는, 상기와 같은 데이터의 특성과 무관하게 캐시 및 실시간 캐시에 모두 데이터 요청을 할 수도 있다. 마찬가지로, 캐시 및 실시간 캐시 모두로부터 데이터를 호출한 경우 서빙 레이어는 호출된 데이터의 타임 스탬프 등의 정보를 기반으로 보다 최신의 데이터를 프론트엔드로 전달할 수 있다.Meanwhile, the serving layer may request data from both the cache and the real-time cache regardless of the characteristics of the data as described above. Similarly, when data is called from both the cache and the real-time cache, the serving layer can deliver more recent data to the front end based on information such as a timestamp of the called data.
예를 들어, 프론트엔드에서 요청된 특정의 데이터가, 단일 데이터 형태로 프론트엔드에서 요청된 것이 아닌, 특정의 데이터가 포함된 복수의 데이터를 포함하는 데이터 셋 형태로 프론트엔드에서 요청되는 경우가 발생할 수 있다. 만약, 프론트엔드에서 복수의 데이터를 포함하는 데이터 셋을 요청하여 복수의 데이터에 포함된 특정의 데이터가 요청된 것으로 확인된다면, 복수의 데이터 모두가 스토리지, 캐시 또는 실시간 캐시에서 서빙 레이어에 의해 호출될 수 있을 때에 한하여 상기 특정의 데이터가 서빙 레이어에 의해 프론트엔드로 전송되도록 설정할 수 있다.For example, there may be cases in which specific data requested from the front end is requested from the front end in the form of a data set including a plurality of data including specific data, rather than being requested from the front end in a single data form. can If a data set including a plurality of data is requested from the front end and it is confirmed that specific data included in the plurality of data is requested, all of the plurality of data will be called by the serving layer from the storage, cache, or real-time cache. Only when possible, the specific data can be configured to be transmitted to the front end by the serving layer.
즉, 프론트엔드에서 복수의 데이터를 포함하는 데이터 셋을 요청하는 것은 고객 페이지 또는 고객 페이지의 일정 영역에서 상기 복수의 데이터 모두를 활용하기 위함인 경우가 많으므로, 데이터 셋에 포함된 모든 데이터가 호출 가능할 때에 한하여 데이터 셋에 포함된 복수의 데이터가 프론트엔드로 전송되도록 함으로써 데이터 누락을 방지할 수 있다. 일 예로, 아이템에 대한 실시간 재고, 아이템 이미지, 아이템 명칭 및/또는 아이템 가격 등의 데이터를 포함하는 데이터 셋이 아이템 상세 페이지로부터 요청될 때, 실시간 업데이트가 필요한 것으로 확인되는 실시간 재고 데이터는 실시간 캐시에서 호출될 것이며 나머지 데이터는 캐시 또는 스토리지에서 호출되게 되는데, 만약 아이템 이미지 데이터가 캐시 또는 스토리지에서 확인되지 않는 경우 실시간 재고 데이터가 실시간 캐시에서 올바르게 호출되더라도 프론트엔트로 전송되지 않을 수 있다.That is, requesting a data set including multiple data from the front end is often to utilize all of the plurality of data in a customer page or a certain area of the customer page, so all data included in the data set is called Data omission can be prevented by transmitting a plurality of data included in a data set to the front end only when possible. For example, when a data set including data such as real-time inventory for an item, item image, item name, and/or item price is requested from an item detail page, the real-time inventory data identified as requiring real-time update is stored in the real-time cache. It will be called and the remaining data will be called from cache or storage. If the item image data is not checked in cache or storage then the real-time inventory data may not be sent to the front end even if it is correctly called from the real-time cache.
위와 같은 데이터 셋 형태의 요청을 관리하기 위해, 데이터 셋에 대응하는 식별 정보가 결정되어 데이터 셋에 포함된 복수의 데이터에 대해 설정될 수 있다. 데이터 셋에 포함된 복수의 데이터는 데이터 셋에 대응하는 하나의 식별 정보를 공통으로 가지게 되며, 이와 같은 식별 정보에 기반하여 데이터 셋에 포함된 복수의 데이터 모두가 스토리지, 캐시 또는 실시간 캐시에서 호출되는 점이 확인될 수 있고, 데이터의 누락이 방지될 수 있다.In order to manage the data set type request as described above, identification information corresponding to the data set may be determined and set for a plurality of data included in the data set. A plurality of data included in the data set has one identification information corresponding to the data set in common, and based on this identification information, all of the plurality of data included in the data set is called from storage, cache, or real-time cache. A point can be identified, and omission of data can be prevented.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보는, 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조가 메인 데이터 서빙 구조와 연동되기 위한 정보를 포함할 수 있다. 도 5 내지 8을 통해 전술한 것과 같이, 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조는 메인 데이터 서빙 구조와 연동되어 데이터를 서빙하는 구조에 해당하므로, 부가 데이터 서빙 구조가 추가되더라도 원활한 데이터 서빙이 수행될 수 있도록 상호 간의 연동을 설정하는 연동 정보가 동작 303에 따라 서버 디바이스(100)가 획득하는 설정 정보에 포함될 수 있다. For example, the setting information acquired by the server device 100 in operation 303 may include information for interworking the first additional data serving structure and the second additional data serving structure with the main data serving structure. As described above with reference to FIGS. 5 to 8 , since the first additional data serving structure and the second additional data serving structure correspond to structures serving data in association with the main data serving structure, even if the additional data serving structure is added, seamless data Interworking information for establishing mutual interworking so that serving can be performed may be included in setting information acquired by the server device 100 in operation 303 .
예를 들어, 303과 같이 서버 디바이스(100)가 설정 정보를 획득하는 동작은, 서비스를 형성하는 다양한 타입의 서비스 도메인에 대응하는 백엔드 데이터 도메인에 맞춰 제1 부가 데이터 서빙 구조 또는 제2 부가 데이터 서빙 구조가 추가로 설정될 수 있도록, 제1 부가 설정 정보 또는 제2 부가 설정 정보가 선택적 또는 적응적으로 포함된 설정 정보를 획득하는 동작을 포함할 수 있으며, 구체적인 동작은 도 9와 같이 수행될 수 있다.For example, in step 303, the operation of the server device 100 obtaining setting information is performed by providing a first additional data serving structure or a second additional data serving structure according to a backend data domain corresponding to various types of service domains constituting a service. This may include an operation of obtaining setting information including the first additional setting information or the second additional setting information selectively or adaptively so that the structure can be additionally set, and the specific operation may be performed as shown in FIG. 9 . there is.
도 9는 다양한 실시예들에 따른 데이터 서빙 구조 설정을 위한 서버 디바이스(100)가 설정 정보를 획득하는 동작 방법을 도시한 도면이다. 도 9는 도3의 303에서 서버 디바이스(100)가 설정 정보를 획득하는 동작을 구체화한 동작 방법에 해당할 수 있다.FIG. 9 is a diagram illustrating an operation method of acquiring setting information by the server device 100 for setting a data serving structure according to various embodiments. FIG. 9 may correspond to an operation method in which an operation of acquiring setting information by the server device 100 in 303 of FIG. 3 is embodied.
서버 디바이스(100)가 제공하는 서비스에 대하여, 서버 디바이스(100)는 상품 서비스 도메인, 주문 서비스 도메인, 또는 리뷰 서비스 도메인 등 서비스를 형성하는 다양한 타입의 서비스 도메인 중 특정의 서비스 도메인에 대한 정보를 확인할 수 있으며(901), 복수의 백엔드 데이터 도메인 중 상기 특정의 서비스 도메인에 대응하는 하나 이상의 백엔드 데이터 도메인에 대한 정보를 확인할 수 있다(903).Regarding the service provided by the server device 100, the server device 100 verifies information on a specific service domain among various types of service domains forming services such as a product service domain, an order service domain, or a review service domain. In operation 901, information on one or more backend data domains corresponding to the specific service domain among a plurality of backend data domains may be checked (operation 903).
서버 디바이스(100)는 확인한 하나 이상의 백엔드 데이터 도메인에 대한 정보에 기반하여, 제1 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제1 정보 및 제2 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제2 정보를 확인하게 되며(905), 이후 제1 정보 및 제2 정보에 따라 제1 부가 데이터 서빙 구조를 추가하기 위한 제1 부가 설정 정보 또는 제2 부가 데이터 서빙 구조를 추가하기 위한 제2 부가 설정 정보를 포함하도록 결정된 설정 정보를 획득할 수 있다(907).The server device 100 provides first information on whether a first additional data serving structure needs to be set and second information about whether a second additional data serving structure needs to be set, based on the checked information on one or more backend data domains. is checked (905), and then, according to the first information and the second information, first additional setting information for adding the first additional data serving structure or second additional setting information for adding the second additional data serving structure is obtained. Setting information determined to be included may be acquired (907).
특정의 서비스 도메인에서 요청되는 데이터와 관련된 백엔드 데이터 도메인은 전체 백엔드 데이터 도메인 중 일부일 가능성이 높으므로, 관련된 일부의 백엔드 데이터 도메인에 대한 데이터 서빙을 위해 제1 부가 데이터 서빙 구조 또는 제2 부가 데이터 서빙 구조가 필요한지를 판단하여, 제1 부가 설정 정보 또는 제2 부가 설정 정보가 포함되도록 결정된 설정 정보가 서버 디바이스(100)에게 획득될 수 있다. 이와 같은 서버 디바이스(100)의 설정 정보 획득 동작을 통해, 특정의 서비스 도메인에 대응하는 일부의 백엔드 데이터 도메인에 대한 데이터 서빙을 최적화 할 수 있도록 데이터 서빙 구조를 설계할 수 있다.Since a backend data domain related to data requested in a specific service domain is highly likely to be a part of all backend data domains, a first additional data serving structure or a second supplementary data serving structure is used to serve data for some related backend data domains. By determining whether or not is necessary, setting information determined to include the first additional setting information or the second additional setting information may be obtained from the server device 100 . Through such an operation of obtaining setting information of the server device 100, a data serving structure may be designed to optimize data serving for some backend data domains corresponding to a specific service domain.
도 10은 서비스 도메인에 대응하는 백엔드 데이터 도메인에 따라 데이터 서빙 구조를 설정하는 예시를 나타낸 도면이다.10 is a diagram illustrating an example of setting a data serving structure according to a backend data domain corresponding to a service domain.
1001은 데이터 서빙 구조를 위한 설정 정보로서, 메인 데이터 서빙 구조, 제1 부가 데이터 서빙 구조 및/또는 제2 부가 데이터 서빙 구조에 대한 설정과 관련된 선택 옵션을 나타내고 있으며, 1003은 각 서비스 도메인과 관련된 정보로서, 각 서비스 도메인에 대하여 어떠한 백엔드 데이터 도메인이 대응될 수 있는지를 확인하는 정보 또는 데이터 서빙을 위해 제1 부가 데이터 서빙 구조 또는 제2 부가 데이터 서빙 구조가 필요한지와 관련된 정보 등을 포함할 수 있다.1001 is setting information for a data serving structure, indicating selection options related to settings for a main data serving structure, a first additional data serving structure, and/or a second supplementary data serving structure, and 1003 is information related to each service domain. , information identifying which backend data domain can correspond to each service domain or information related to whether a first additional data serving structure or a second additional data serving structure is required for data serving.
1003에서 나타내는 정보에 따라, 1005와 같이 각 서비스 도메인 별로 대응하는 백엔드 데이터 도메인이 상이하게 결정될 수 있으며, 이와 같이 대응하는 백엔드 데이터 도메인이 달라지는 경우 1007처럼 각 서비스 도메인을 위한 데이터 서빙 구조가 달라질 수 있다. 즉, 각 서비스 도메인은 메인 데이터 서빙 구조, 제1 부가 데이터 서빙 구조 및/또는 제2 부가 데이터 서빙 구조에 기반하여 서로 다른 데이터 서빙 구조를 가질 수 있게 된다. 일 예로, 일정한 백엔드 데이터 도메인들(Catalog, Seller, Subscribe Order)에 대응하는 상품 도메인(product domain)에서는 메인 데이터 서빙 구조에 제1 부가 데이터 서빙 구조 및 제2 부가 데이터 서빙 구조가 모두 추가되어 설정된 것을 확인할 수 있으며, 이와는 다른 백엔드 데이터 도메인(Member)에 대응하는 리뷰 도메인(review domain)에서는 메인 데이터 서빙 구조에 제1 부가 데이터 서빙 구조만이 추가되어 설정된 것을 확인할 수 있다.Depending on the information indicated in 1003, a corresponding backend data domain may be determined differently for each service domain as in 1005, and when the corresponding backend data domain is changed in this way, a data serving structure for each service domain may be changed as in 1007. . That is, each service domain can have different data serving structures based on the main data serving structure, the first supplementary data serving structure, and/or the second supplementary data serving structure. For example, in a product domain corresponding to certain backend data domains (Catalog, Seller, Subscribe Order), a first supplementary data serving structure and a second supplementary data serving structure are both added and configured to the main data serving structure. In the review domain corresponding to the other backend data domain (Member), it can be confirmed that only the first additional data serving structure is added to the main data serving structure.
도 10과 같이 각 서비스 도메인 또는 각 서비스 도메인에 대응하는 백엔드 데이터 도메인에 따라 서로 다른 데이터 서빙 구조를 적용 가능하도록 함으로써, 서버 디바이스(100)는 각 서비스 도메인 또는 각 서비스 도메인에 대응하는 백엔드 데이터 도메인을 위한 데이터 서빙에 대한 확장성을 가질 수 있으며, 각 서비스 도메인 또는 각 서비스 도메인에 대응하는 백엔드 데이터 도메인을 위한 최적의 데이터 서빙 구조를 적용함으로써 데이터 서빙의 효용성을 높일 수 있다.As shown in FIG. 10, by applying different data serving structures according to each service domain or backend data domain corresponding to each service domain, the server device 100 configures each service domain or backend data domain corresponding to each service domain. It is possible to have scalability for data serving for each service domain, and the effectiveness of data serving can be increased by applying an optimal data serving structure for each service domain or a backend data domain corresponding to each service domain.
다양한 실시예들에 따르면, 동작 305에서, 서버 디바이스(100)는 획득한 설정 정보에 기반하여, 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 데이터 서빙 구조를 설정할 수 있다.According to various embodiments, in operation 305, the server device 100 may configure a data serving structure including a main data serving structure for serving data requested by the front end based on the acquired setting information.
예를 들어, 동작 305에 따라 서버 디바이스(100)가 설정하는 데이터 서빙 구조는 메인 데이터 서빙 구조를 기본으로 포함하며, 전술한 동작 303에서 획득되는 설정 정보에 포함된 제1 부가 설정 정보 또는 제2 부가 설정 정보에 따라 제1 부가 데이터 서빙 구조 또는 제2 부가 데이터 서빙 구조를 추가로 포함할 수 있다.For example, the data serving structure set by the server device 100 according to operation 305 basically includes the main data serving structure, and the first additional setting information or second setting information included in the setting information obtained in operation 303 described above. A first additional data serving structure or a second additional data serving structure may be further included according to the additional configuration information.
예를 들어, 동작 305에서 서빙의 대상이 되는 프론트엔드에서 요청된 데이터는, 프론트엔드에 포함된 복수의 고객 페이지 도메인에 포함된 제1 고객 페이지 도메인에 대응하는 제1 고객 페이지에서 요청된 데이터일 수 있다.For example, in operation 305, the data requested from the front end to be served may be data requested from a first customer page corresponding to a first customer page domain included in a plurality of customer page domains included in the front end. can
예를 들어, 동작 305에 따라 서버 디바이스(100)가 설정하는 데이터 서빙 구조는, 데이터 서빙 구조에 포함된 각 구성 요소에 장애가 발생할 경우 장애가 발생한 구성 요소로부터 올바르지 않은 데이터가 서빙되는 것을 방지하기 위한 서킷 브레이커(circuit breaker)에 대한 적용 정보를 포함할 수 있다. 일 예로, 실시간 캐시가 포함된 제2 부가 데이터 서빙 구조에서 실시간 업데이트 된 데이터를 저장하는 실시간 캐시에 장애가 발생한 경우, 서빙 레이어가 장애가 발생한 실시간 캐시로부터 오류가 포함된 데이터를 서빙하여 사용자에게 제공하는 것보다, 실시간 업데이트가 되지 않은 이전의 데이터를 사용자에게 제공하는 것이 고객 경험 상 더 적절할 수 있다. 따라서, 서버 디바이스(100)는 서킷 브레이커에 기반하여 서빙 레이어가 실시간 캐시로 접근하지 못하도록 접근 경로를 차단시켜 장애가 발생한 실시간 캐시를 고립시킬 수 있으며, 이 경우 서빙 레이어는 캐시 또는 스토리지로부터 실시간으로 업데이트 되지는 않았으나 오류가 없는 데이터를 서빙할 수 있게 된다. For example, the data serving structure set by the server device 100 according to operation 305 is a circuit for preventing incorrect data from being served from the failed component when a failure occurs in each component included in the data serving structure. It may include application information about circuit breakers. For example, when a failure occurs in the real-time cache storing real-time updated data in the second supplementary data serving structure including the real-time cache, the serving layer serves data containing errors from the failed real-time cache and provides the data to the user. Rather, it may be more appropriate in terms of customer experience to provide the user with previous data that is not updated in real time. Therefore, the server device 100 can isolate the failed real-time cache by blocking an access path to prevent the serving layer from accessing the real-time cache based on the circuit breaker. In this case, the serving layer is not updated from the cache or storage in real time. However, error-free data can be served.
또한, 위와 같은 서킷 브레이커의 적용에 더하여, 만약 실시간 캐시에 장애가 발생했음에도 데이터의 중요도 또는 필요성 상 실시간 업데이트 된 데이터를 서빙해야 하는 상황이 발생하는 경우, 서버 디바이스(100)는 서빙 레이어가 장애가 발생한 실시간 캐시를 거치지 않고 실시간 업데이트 된 올바른 데이터를 보관하고 있는 복수의 데이터 큐로 바로 접근하여, 실시간 업데이트 된 올바른 데이터를 호출하여 서빙할 수 있도록 설정할 수도 있다.In addition, in addition to the application of the circuit breaker as described above, if a situation arises in which real-time updated data must be served due to the importance or necessity of data even though a failure occurs in the real-time cache, the server device 100 provides a real-time It is also possible to directly access a plurality of data queues storing the correct data updated in real time without going through the cache, and call and serve the correct data updated in real time.
예를 들어, 동작 305에 따라 서버 디바이스(100)가 설정하는 데이터 서빙 구조는 프론트엔드와 백엔드 사이에 존재하는 복수의 데이터 서빙 구조 중 하나의 데이터 서빙 구조에 해당할 수 있다. 달리 말해, 동작 305에 따라 서버 디바이스(100)가 설정하는 데이터 서빙 구조는 프론트엔드와 백엔드 사이에 도 11과 같이 복수 개가 존재할 수 있으며, 각 데이터 서빙 구조는 서로 독립적으로 데이터를 서빙함으로써 상호 간에 영향을 주지 않을 수 있다. 서버 디바이스(100)는 이와 같이 복수 개의 독립적인 데이터 서빙 구조를 설정하고 각 데이터 서빙 구조를 서로 다른 고객 페이지 도메인에 대응시킴으로써, 특정의 고객 페이지 도메인을 위한 데이터 서빙 구조에 문제가 발생하여도 다른 고객 페이지 도메인에 대해서는 올바르게 데이터를 서빙할 수 있도록 설계할 수 있다.For example, the data serving structure set by the server device 100 according to operation 305 may correspond to one data serving structure among a plurality of data serving structures existing between the front end and the back end. In other words, a plurality of data serving structures set by the server device 100 according to operation 305 may exist between the front end and the back end as shown in FIG. 11, and each data serving structure serves data independently of each other, thereby affecting each other. may not give The server device 100 sets up a plurality of independent data serving structures and corresponds each data serving structure to different customer page domains, so that even if a problem occurs in the data serving structure for a specific customer page domain, other customers Page domains can be designed to serve data correctly.
도 11은 프론트엔드와 백엔드 사이에 복수 개의 데이터 서빙 구조가 설정된 모습을 도시한 도면이다.11 is a diagram illustrating a state in which a plurality of data serving structures are set between a front end and a back end.
도 11의 프론트엔드와 백엔드 사이에는 1101 및 1103에 해당하는 2개의 데이터 서빙 구조가 설정되어 있으며, 1101에 해당하는 데이터 서빙 구조는 복수의 고객 페이지 도메인 중 일부의 고객 페이지 도메인을 위해 데이터를 서빙하는데 활용되고, 1103에 해당하는 데이터 서빙 구조는 나머지 고객 페이지 도메인을 위해 데이터를 서빙하는데 활용되게 된다. 도 11과 같이 복수 개의 데이터 서빙 구조를 설정함으로써, 하나의 데이터 서빙 구조에 문제가 발생하여 어느 고객 페이지 도메인을 위한 데이터 서빙이 불가능해져도, 다른 데이터 서빙 구조에 의해 다른 고객 페이지 도메인을 위한 데이터 서빙이 가능할 수 있다. Two data serving structures corresponding to 1101 and 1103 are set between the front end and the back end of FIG. 11, and the data serving structure corresponding to 1101 serves data for some customer page domains among a plurality of customer page domains. and the data serving structure corresponding to 1103 is used to serve data for the rest of the customer page domain. By setting a plurality of data serving structures as shown in FIG. 11, even if a problem occurs in one data serving structure and data serving for one customer page domain becomes impossible, data serving for another customer page domain is performed by another data serving structure. this could be possible
특히 복수의 고객 페이지 도메인 중에서, 아이템 검색 페이지를 위한 고객 페이지 도메인, 아이템 상세 페이지를 위한 고객 페이지 도메인 등 사용자 경험을 위해 중요도가 높은 일부의 고객 페이지 도메인이 존재할 수 있으며, 이와 같이 중요도가 높은 일부의 고객 페이지 도메인에 대해서는 주요 서빙 경로(Critical Serving Path; CSP)로서 1101의 데이터 서빙 구조가 설정될 수 있다. 반대로 아이템 카테고리 페이지를 위한 고객 페이지 도메인, 사용자 정보와 관련된 마이 페이지를 위한 고객 페이지 도메인 등 사용자 경험과 관련해 중요도가 높지 않은 나머지 고객 페이지 도메인에 대해서는 non-CSP(N-CSP)로서 1103의 데이터 서빙 구조가 설정될 수 있다. In particular, among a plurality of customer page domains, there may be some customer page domains with high importance for user experience, such as a customer page domain for an item search page and a customer page domain for an item detail page. For the customer page domain, a data serving structure of 1101 may be set as a Critical Serving Path (CSP). Conversely, for the rest of the customer page domains that are not of high importance in relation to user experience, such as customer page domains for item category pages and customer page domains for my pages related to user information, the data serving structure of 1103 as non-CSP (N-CSP) can be set.
서버 디바이스(100)는 CSP를 위한 1101의 데이터 서빙 구조와 N-CSP를 위한 1103의 데이터 서빙 구조를 병렬적, 독립적으로 설정하여, 중요도가 높지 않은 고객 페이지 도메인을 위한 데이터 서빙 구조에 문제가 발생하여도 중요도가 높은 다른 고객 페이지 도메인을 위한 데이터 서빙 구조는 여전히 데이터 서빙을 위해 활용될 수 있도록 설계할 수 있다. 또한, 서버 디바이스(100)는 중요도가 높은 고객 페이지 도메인을 위한 1101의 데이터 서빙 구조에 문제가 발생할 경우, 중요도가 높은 고객 페이지 도메인을 위한 데이터 서빙을 보완할 수 있도록, 중요도가 높은 고객 페이지 도메인이 1103의 데이터 서빙 구조를 활용하여 데이터를 서빙할 수 있게끔 설계할 수도 있다.The server device 100 sets the data serving structure 1101 for CSP and the data serving structure 1103 for N-CSP in parallel and independently, so that a problem occurs in the data serving structure for the customer page domain that is not important. However, the data serving structure for other customer page domains with high importance can still be designed to be utilized for data serving. In addition, when a problem occurs in the data serving structure of 1101 for a customer page domain with a high importance, the server device 100 provides a customer page domain with a high importance to supplement data serving for a customer page domain with a high importance. It can also be designed to serve data by utilizing the data serving structure of 1103.
전술한 실시예들에 따라 도 3 내지 도 11에 기반하여 데이터 서빙 구조의 설정 동작을 수행하는 서버 디바이스(100)가 데이터 서빙 구조의 설정과 관련하여 생성하거나 제공하는 각 정보들이 다양한 형태로 결합되어 생성되거나 제공될 수 있음은 자명하다.Each information generated or provided by the server device 100 performing the setting operation of the data serving structure based on FIGS. 3 to 11 according to the above-described embodiments is combined in various forms in relation to the setting of the data serving structure. It is self-evident that it can be created or provided.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시 예는 일부분들이 서로 조합되어 시스템에 의해 구현될 수 있다.Embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to easily explain the technical content of the present invention and help understanding of the present invention, and are not intended to limit the scope of the present invention. That is, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented. In addition, each of the above embodiments can be operated in combination with each other as needed. For example, all embodiments of the present invention may be implemented by a system in which parts are combined with each other.
또한, 본 발명에 따른 시스템 등에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.In addition, the method according to the system according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.As such, various embodiments of the present invention may be implemented as computer readable codes in a computer readable recording medium from a specific point of view. A computer readable recording medium is any data storage device capable of storing data readable by a computer system. Examples of computer readable recording media include read only memory (ROM), random access memory (RAM), and compact disk-read only memory (CD-ROM). ), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet). The computer readable recording medium may also be distributed across networked computer systems, so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, code, and code segments for achieving various embodiments of the present invention can be easily interpreted by programmers skilled in the field to which the present invention is applied.
또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재 기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비 휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 이와 같은 메모리 또는 컴퓨터를 포함한 차량 등에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. It will also be appreciated that the apparatus and method according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software. Such software may include, for example, volatile or non-volatile storage devices, such as RAM, memory chips, devices or integrated circuits, whether erasable or rewritable. Or, for example, a compact disk (CD), DVD, magnetic disk or magnetic tape, such as optically or magnetically recordable and at the same time machine (eg, computer) readable storage medium may be stored. . Methods according to various embodiments of the present invention may be implemented by a computer including a control unit and a memory, or a vehicle including such a memory or computer, and the memory may include a program including instructions for implementing the embodiments of the present invention. or an example of a machine-readable storage medium suitable for storing programs.
따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the present invention includes a program including code for implementing the device or method described in the claims of this specification and a storage medium readable by a machine (such as a computer) storing such a program. In addition, such a program may be transmitted electronically through any medium, such as a communication signal transmitted through a wired or wireless connection, and the present invention appropriately includes equivalents thereto.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.Although the above has been described with reference to the embodiments of the present invention, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to easily explain the technical content of the present invention and help understanding of the present invention. It is not intended to limit the scope of In addition, the embodiments according to the present invention described above are merely illustrative, and those skilled in the art will understand that various modifications and embodiments of equivalent scope are possible therefrom. Therefore, the true technical protection scope of the present invention should be defined by the following claims.

Claims (19)

  1. 서비스를 제공하는 전자 장치가 데이터 서빙(serving) 구조를 설정하는 방법에 있어서,A method for setting a data serving structure by an electronic device providing a service,
    상기 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 상기 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인하는 단계;Checking information on a frontend including a plurality of customer page domains for the service and information on a backend including a plurality of backend data domains related to a database for the service;
    상기 프론트엔드와 상기 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득하는 단계; 및obtaining setting information for setting a data serving structure between the front end and the back end; and
    상기 설정 정보에 기반하여, 상기 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함하는,Based on the setting information, setting the data serving structure including a main data serving structure for serving data requested by the front end,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  2. 제 1 항에 있어서,According to claim 1,
    상기 설정 정보는 상기 메인 데이터 서빙 구조를 설정하기 위한 메인 설정 정보를 포함하고,The setting information includes main setting information for setting the main data serving structure;
    상기 메인 데이터 서빙 구조는,The main data serving structure,
    상기 복수의 백엔드 데이터 도메인에 대응하는 복수의 데이터 큐(Queue); 상기 복수의 데이터 큐를 통해 전송된 데이터를 저장하는 스토리지(Storage); 및 상기 요청된 데이터를 상기 스토리지에서 호출하여 상기 프론트엔드로 전송하는 서빙 레이어(Layer)를 포함하는,a plurality of data queues corresponding to the plurality of backend data domains; Storage for storing data transmitted through the plurality of data queues; And a serving layer that calls the requested data from the storage and transmits it to the front-end.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  3. 제 2 항에 있어서,According to claim 2,
    상기 설정 정보는, The setting information,
    상기 메인 데이터 서빙 구조에 추가되는 제1 부가 데이터 서빙 구조를 설정하기 위한 제1 부가 설정 정보, 또는First additional setting information for setting a first additional data serving structure added to the main data serving structure; or
    상기 메인 데이터 서빙 구조에 추가되는 제2 부가 데이터 서빙 구조를 설정하기 위한 제2 부가 설정 정보를 더 포함하는,Further comprising second additional setting information for setting a second additional data serving structure added to the main data serving structure,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  4. 제 3 항에 있어서,According to claim 3,
    상기 제1 부가 데이터 서빙 구조는, The first additional data serving structure,
    상기 스토리지에 저장된 데이터에 포함된 적어도 일부의 데이터를 상기 스토리지로부터 획득하여 저장하는 캐시(Cache); 상기 적어도 일부의 데이터에 포함된 제1 데이터에 대응하는 업데이트 된 제1 데이터가 상기 스토리지에서 확인되는 경우, 상기 업데이트 된 제1 데이터를 상기 캐시로 전송하기 위한 업데이트 데이터 큐; 및 상기 업데이트 된 제1 데이터를 상기 업데이트 데이터 큐를 통해 상기 캐시로 전송하도록 관리하는 캐시 업데이트 관리자를 포함하고,a cache acquiring and storing at least some data included in the data stored in the storage from the storage; an update data queue configured to transmit the updated first data to the cache when updated first data corresponding to the first data included in the at least some data is identified in the storage; and a cache update manager managing to transmit the updated first data to the cache through the update data queue;
    상기 제2 부가 데이터 서빙 구조는,The second additional data serving structure,
    상기 데이터 베이스에 저장된 데이터 중 실시간 업데이트가 필요한 것으로 판단된 제2 데이터에 대하여, 상기 복수의 데이터 큐 중에서 상기 제2 데이터와 관련된 특정 데이터 큐를 통해 상기 제2 데이터에 대응하는 실시간 업데이트 된 제2 데이터를 획득하여 저장하는 실시간 캐시(Real time Cache); 및 상기 실시간 업데이트 된 제2 데이터를 상기 특정 데이터 큐를 통해 상기 실시간 캐시로 전송하도록 관리하는 실시간 캐시 업데이트 관리자를 포함하는,Second data corresponding to the second data through a specific data queue related to the second data among the plurality of data queues, with respect to second data determined to require real-time update among data stored in the database. Real time cache for acquiring and storing (Real time Cache); and a real-time cache update manager managing to transmit the real-time updated second data to the real-time cache through the specific data queue.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  5. 제 4 항에 있어서, According to claim 4,
    상기 설정 정보는,The setting information,
    상기 제1 부가 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조가 상기 메인 데이터 서빙 구조와 연동되기 위한 정보를 포함하는,The first additional data serving structure and the second additional data serving structure include information for interworking with the main data serving structure.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  6. 제 4 항에 있어서,According to claim 4,
    상기 업데이트 된 제1 데이터는, 상기 제1 데이터가 업데이트 되는 경우 상기 스토리지의 업데이트 주기에 대응하는 제1 주기에 기반하여 상기 복수의 데이터 큐 중에서 상기 제1 데이터와 관련된 데이터 큐를 통해 상기 스토리지로 전송된 것이고,The updated first data is transmitted to the storage through a data queue related to the first data among the plurality of data queues based on a first cycle corresponding to an update cycle of the storage when the first data is updated. it has been,
    상기 제1 주기에 따라 상기 스토리지 및 상기 업데이트 데이터 큐에서 상기 업데이트 된 제1 데이터가 확인되는 경우, 상기 캐시 업데이트 관리자가 상기 업데이트 데이터 큐를 통해 상기 업데이트 된 제1 데이터를 상기 캐시로 전송하도록 지시하는,Instructing the cache update manager to transmit the updated first data to the cache through the update data queue when the updated first data is identified in the storage and the update data queue according to the first cycle ,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  7. 제 4 항에 있어서,According to claim 4,
    상기 데이터 서빙 구조를 설정하는 단계는,The step of setting the data serving structure,
    상기 제1 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조 및 상기 제1 부가 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함하고, Based on the first additional setting information, setting the data serving structure including the main data serving structure and the first additional data serving structure;
    상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시에서 우선적으로 호출하여 상기 프론트엔드로 전송하며,The serving layer preferentially calls the requested data from the cache and transmits it to the front end;
    상기 캐시에서 상기 요청된 데이터가 확인되지 않는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 스토리지에서 호출하여 상기 프론트엔드로 전송하는,When the requested data is not confirmed in the cache, the serving layer calls the requested data from the storage and transmits it to the front end.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  8. 제 4 항에 있어서,According to claim 4,
    상기 캐시에 저장된 상기 적어도 일부의 데이터는 상기 스토리지에 저장된 데이터 중 데이터 호출 우선순위에 기반하여 상기 캐시에 저장되도록 선택되고,The at least some data stored in the cache is selected to be stored in the cache based on a data call priority among data stored in the storage;
    상기 데이터 호출 우선순위는 상기 서빙 레이어로부터의 데이터 호출 횟수에 기반하여 결정되는,The data call priority is determined based on the number of data calls from the serving layer.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  9. 제 4 항에 있어서, According to claim 4,
    상기 스토리지에서 상기 업데이트 된 제1 데이터가 확인되고 상기 캐시에서 업데이트 되지 않은 상기 제1 데이터가 확인된 경우, 상기 제1 데이터에 대한 업데이트 요청 정보가 상기 서빙 레이어에 의해 전송되는,When the updated first data is identified in the storage and the first data that is not updated in the cache is identified, update request information for the first data is transmitted by the serving layer,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  10. 제 4 항에 있어서,According to claim 4,
    상기 실시간 업데이트 된 제2 데이터는, 상기 제2 데이터가 업데이트 되는 경우 실시간에 대응하는 제2 주기에 기반하여 상기 특정 데이터 큐를 통해 상기 실시간 캐시로 전송된 것인,The real-time updated second data is transmitted to the real-time cache through the specific data queue based on a second period corresponding to real time when the second data is updated.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  11. 제 4 항에 있어서,According to claim 4,
    상기 데이터 서빙 구조를 설정하는 단계는,The step of setting the data serving structure,
    상기 제2 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 포함하고,Based on the second additional setting information, setting the data serving structure including the main data serving structure and the second additional data serving structure;
    상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부에 기반하여, 상기 서빙 레이어는 상기 요청된 데이터를 상기 실시간 캐시로부터 호출하여 상기 프론트엔드로 전송하는,Based on whether the requested data corresponds to data requiring real-time updating, the serving layer calls the requested data from the real-time cache and transmits it to the front-end.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  12. 제 4 항에 있어서,According to claim 4,
    상기 데이터 서빙 구조를 설정하는 단계는,The step of setting the data serving structure,
    상기 제1 부가 설정 정보 및 상기 제2 부가 설정 정보에 기반하여, 상기 메인 데이터 서빙 구조, 상기 제1 부가 데이터 서빙 구조 및 상기 제2 부가 데이터 서빙 구조를 포함하도록 상기 데이터 서빙 구조를 설정하는 단계를 포함하고,Setting the data serving structure to include the main data serving structure, the first additional data serving structure, and the second additional data serving structure based on the first additional setting information and the second additional setting information. include,
    상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시 및 상기 실시간 캐시 모두로부터 호출하며,If the requested data corresponds to data requiring real-time updating, the serving layer calls the requested data from both the cache and the real-time cache;
    상기 캐시 및 상기 실시간 캐시에서 상기 서빙 레이어에 의해 호출된 데이터 중 최신의 데이터가 상기 프론트엔드로 전송되는,In the cache and the real-time cache, the latest data among the data called by the serving layer is transmitted to the front end.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  13. 제 12 항에 있어서,According to claim 12,
    상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하지 않는 경우, 상기 서빙 레이어는 상기 요청된 데이터를 상기 캐시에서 호출하여 상기 프론트엔드로 전송하는,When the requested data does not correspond to data requiring real-time update, the serving layer calls the requested data from the cache and transmits it to the front end.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  14. 제 12 항에 있어서,According to claim 12,
    상기 방법은,The method,
    상기 요청된 데이터가 실시간 업데이트가 필요한 데이터에 대응하는지 여부에 대한 정보를 획득하는 단계를 더 포함하는,Further comprising obtaining information on whether the requested data corresponds to data requiring real-time update,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  15. 제 12 항에 있어서,According to claim 12,
    상기 프론트엔드에서 복수의 데이터를 포함하는 데이터 셋을 요청하고 상기 요청된 데이터가 상기 복수의 데이터에 포함된 경우, When the front end requests a data set including a plurality of data and the requested data is included in the plurality of data,
    상기 복수의 데이터 모두가 상기 스토리지, 상기 캐시 또는 상기 실시간 캐시에서 상기 서빙 레이어에 의해 호출되는 점에 기반하여 상기 요청된 데이터가 상기 프론트엔드로 전송되는,The requested data is transmitted to the front end based on the fact that all of the plurality of data are called by the serving layer in the storage, the cache, or the real-time cache.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  16. 제 15 항에 있어서,According to claim 15,
    상기 데이터 셋에 대응하는 식별 정보가 상기 복수의 데이터에 대해 설정되고,Identification information corresponding to the data set is set for the plurality of data,
    상기 식별 정보에 기반하여 상기 복수의 데이터 모두가 상기 스토리지, 상기 캐시 또는 상기 실시간 캐시에서 호출되는 점이 확인되는,Based on the identification information, it is confirmed that all of the plurality of data are called from the storage, the cache, or the real-time cache.
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  17. 제 4 항에 있어서, According to claim 4,
    상기 설정 정보를 획득하는 단계는,The step of obtaining the setting information is,
    상기 서비스와 관련된 제1 서비스 도메인에 대한 정보를 확인하는 단계;checking information about a first service domain related to the service;
    상기 복수의 백엔드 데이터 도메인 중 상기 제1 서비스 도메인과 관련된 하나 이상의 백엔드 데이터 도메인에 대한 정보를 확인하는 단계;checking information on one or more backend data domains related to the first service domain among the plurality of backend data domains;
    상기 하나 이상의 백엔드 데이터에 대한 정보에 기반하여, 상기 제1 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제1 정보 및 상기 제2 부가 데이터 서빙 구조의 설정 필요 여부에 대한 제2 정보를 확인하는 단계; 및checking first information on whether or not the first additional data serving structure needs to be set and second information about whether or not the second additional data serving structure needs to be set, based on the information on the one or more backend data; and
    상기 제1 정보 및 상기 제2 정보에 기반하여, 상기 제1 부가 설정 정보 또는 상기 제2 부가 설정 정보를 포함하도록 결정된 상기 설정 정보를 획득하는 단계를 포함하는,Acquiring the setting information determined to include the first additional setting information or the second additional setting information based on the first information and the second information,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  18. 제 1 항에 있어서,According to claim 1,
    상기 요청된 데이터는 상기 복수의 고객 페이지 도메인에 포함된 제1 고객 페이지 도메인에 대응하는 제1 고객 페이지에서 요청된 것인,The requested data is requested from a first customer page corresponding to a first customer page domain included in the plurality of customer page domains,
    데이터 서빙 구조 설정 방법.How to set up a data serving structure.
  19. 서비스와 관련된 데이터 서빙(serving) 구조를 설정하는 전자 장치에 있어서,In an electronic device for setting a data serving structure related to a service,
    프로세서 (processor); 및processor; and
    하나 이상의 인스트럭션 (instruction) 을 저장하는 하나 이상의 메모리 (memory) 를 포함하고, comprising one or more memories for storing one or more instructions;
    상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가:The one or more instructions, when executed, cause the processor to:
    상기 서비스를 위한 복수의 고객 페이지 도메인을 포함하는 프론트엔드(Frontend)에 대한 정보 및 상기 서비스를 위한 데이터 베이스와 관련된 복수의 백엔드(Backend) 데이터 도메인을 포함하는 백엔드에 대한 정보를 확인하는 단계;Checking information on a frontend including a plurality of customer page domains for the service and information on a backend including a plurality of backend data domains related to a database for the service;
    상기 프론트엔드와 상기 백엔드 사이의 데이터 서빙 구조를 설정하기 위한 설정 정보를 획득하는 단계; 및obtaining setting information for setting a data serving structure between the front end and the back end; and
    상기 설정 정보에 기반하여, 상기 프론트엔드에서 요청된 데이터를 서빙하기 위한 메인 데이터 서빙 구조가 포함된 상기 데이터 서빙 구조를 설정하는 단계를 수행하도록 상기 프로세서를 제어하는,Controlling the processor to perform the step of setting the data serving structure including the main data serving structure for serving data requested by the front end based on the setting information;
    전자 장치.electronic device.
PCT/KR2021/019120 2021-12-08 2021-12-15 Operation method for data serving structure configuration and electronic device for supporting same WO2023106492A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210174746A KR102403609B1 (en) 2021-12-08 2021-12-08 Operating method for configuring data serving structure and electronic apparatus supporting thereof
KR10-2021-0174746 2021-12-08

Publications (1)

Publication Number Publication Date
WO2023106492A1 true WO2023106492A1 (en) 2023-06-15

Family

ID=81780942

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/019120 WO2023106492A1 (en) 2021-12-08 2021-12-15 Operation method for data serving structure configuration and electronic device for supporting same

Country Status (3)

Country Link
KR (2) KR102403609B1 (en)
TW (1) TW202324093A (en)
WO (1) WO2023106492A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102609583B1 (en) * 2023-05-15 2023-12-05 쿠팡 주식회사 Operating method for electronic apparatus for configuring information and electronic apparatus supporting thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003224A (en) * 2003-06-30 2005-01-10 디지쎌 엔터테인먼트 컴파니 리미티드 Architecture of Community Platform and the Service System thereof
KR20060076779A (en) * 2003-09-19 2006-07-04 야후! 인크. Command center and interface for web based business merchandising and service
KR20080106194A (en) * 2006-02-28 2008-12-04 마이크로소프트 코포레이션 Serving cached query results based on a query portion
KR20180046266A (en) * 2016-10-27 2018-05-08 에스케이플래닛 주식회사 System and method for providing marketing service of new customer
US20190122283A1 (en) * 2015-04-01 2019-04-25 Ebay Inc. Structured item organizing mechanism in e-commerce

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003224A (en) * 2003-06-30 2005-01-10 디지쎌 엔터테인먼트 컴파니 리미티드 Architecture of Community Platform and the Service System thereof
KR20060076779A (en) * 2003-09-19 2006-07-04 야후! 인크. Command center and interface for web based business merchandising and service
KR20080106194A (en) * 2006-02-28 2008-12-04 마이크로소프트 코포레이션 Serving cached query results based on a query portion
US20190122283A1 (en) * 2015-04-01 2019-04-25 Ebay Inc. Structured item organizing mechanism in e-commerce
KR20180046266A (en) * 2016-10-27 2018-05-08 에스케이플래닛 주식회사 System and method for providing marketing service of new customer

Also Published As

Publication number Publication date
KR20230086558A (en) 2023-06-15
KR102403609B1 (en) 2022-05-31
TW202324093A (en) 2023-06-16

Similar Documents

Publication Publication Date Title
WO2023106492A1 (en) Operation method for data serving structure configuration and electronic device for supporting same
WO2023068424A1 (en) Operation method for providing page information, and electronic device supporting same
WO2023008630A1 (en) Operation method for providing service-related information and electronic device supporting same
WO2023106489A1 (en) Operation method for providing page information and electronic device supporting same
WO2022215781A1 (en) Method for operating electronic device for managing order information, and electronic device supporting same
WO2023022275A1 (en) Operation method for providing information related to item, and electronic device supporting same
WO2023249150A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2023033218A1 (en) Operation method for providing service-related information and electronic device supporting same
WO2022265145A1 (en) Electronic device operating method for providing advertisement message, and electronic device supporting same
WO2022260204A1 (en) Method for operating electronic device for providing keyword advertisement information, and electronic device supporting same
WO2023191156A1 (en) Electronic device operation method for providing item information, and electronic device for supporting same
WO2023033219A1 (en) Operating method for providing service-related information, and electronic device supporting same
WO2023191153A1 (en) Operating method of electronic device for configuring information, and electronic device supporting same
WO2024025022A1 (en) Method for operating electronic device for providing information, and electronic device supporting same
WO2023136391A1 (en) Operation method for providing item category page and electronic device supporting same
WO2023033217A1 (en) Operation method for providing payment process inforamtion, and electronic device supporting same
WO2015174610A1 (en) Method for providing advertising service by means of advertising medium, and apparatus and system therefor
WO2024058294A1 (en) Electronic device operation method for processing information, and electronic device for supporting same
WO2023191157A1 (en) Operation method of electronic device for providing page, and electronic device supporting same
WO2023068425A1 (en) Operation method for providing item information, and electronic device supporting same
WO2023249151A1 (en) Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same
WO2023022276A1 (en) Operation method for providing page information, and electronic device supporting same
WO2024010116A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2023017878A1 (en) Operation method for providing item group information and electronic device for supporting same
WO2023136527A1 (en) Operation method for store information provision and electronic device for supporting same

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: 21967365

Country of ref document: EP

Kind code of ref document: A1