WO2023249151A1 - Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same - Google Patents

Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same Download PDF

Info

Publication number
WO2023249151A1
WO2023249151A1 PCT/KR2022/009226 KR2022009226W WO2023249151A1 WO 2023249151 A1 WO2023249151 A1 WO 2023249151A1 KR 2022009226 W KR2022009226 W KR 2022009226W WO 2023249151 A1 WO2023249151 A1 WO 2023249151A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
cache
time
confirmation request
data confirmation
Prior art date
Application number
PCT/KR2022/009226
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 WO2023249151A1 publication Critical patent/WO2023249151A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Definitions

  • the present invention relates to a method and device for performing a cache update, and more specifically, to a method and an electronic device for dynamically performing a cache update according to a time set by a user.
  • the cache can be flexibly updated according to the time point set by the user.
  • Various embodiments may provide a method of operating an electronic device to perform a cache update and an electronic device that supports the same.
  • a method of performing an update on a cache by an electronic device comprising: obtaining information about an update completion setting point set by a user for updating the cache; Checking the time required to update the cache; determining an update start setting time for the cache based on the update completion setting time and the update time required; And it may include performing a first update on the cache based on the update start setting time.
  • the update time may correspond to an average time of a plurality of updates corresponding to the update history performed on the cache.
  • the first update is triggered based on a data confirmation request received for the cache after the update start setting time, and the first update is performed at a certain time phrase including the update completion setting time. It can be set to be completed within the liver.
  • the method of performing the cache update may further include setting the first update to be triggered based on a first data confirmation request received for the cache after the update start setting point. You can.
  • the method of performing a cache update includes setting flag information to check whether an update to the cache is in progress; And it may further include setting a value of the flag information based on the fact that the first data confirmation request is received.
  • an update to the cache may not be triggered by another data confirmation request received for the cache after the first data confirmation request.
  • the first update may not be triggered.
  • the method of performing a cache update includes setting a cache expiration time corresponding to the first update after the update completion setting time; And it may further include setting a new update to the cache to be performed after the cache expiration point.
  • the cache expiration time may be set to have a certain time interval set by the user from the update completion setting time.
  • the cache expiration time may be set to have a random time interval determined based on a random function from the update completion setting time.
  • the method of performing a cache update further includes performing a second update on the cache based on a second data confirmation request received for the first time with respect to the cache after the cache expiration time point. can do.
  • the method of performing the cache update includes, based on the fact that the second data confirmation request is received, confirming data corresponding to the data confirmation request received for the cache until the second update is completed. It may further include a step of setting to stop.
  • the method of performing the cache update includes, when the second data confirmation request is received and the number of other data confirmation requests received for the cache for a certain period of time after the second data confirmation request is more than a threshold number, The method may further include setting the cache to stop checking data corresponding to a data checking request received until the second update is completed.
  • the method of performing a cache update includes receiving a third data confirmation request for the cache; Confirming when the third data confirmation request is received; And it may further include setting the cache to check data corresponding to the third data confirmation request by comparing the received time point and the update completion setting time point.
  • existing data stored in the cache before the first update is performed may be set to be confirmed in response to the third data confirmation request.
  • the updated data stored in the cache after the first update is performed may be set to be confirmed in response to the third data confirmation request.
  • An electronic device that performs an update to a cache includes: a processor; and one or more memories storing one or more instructions, wherein the one or more instructions, when executed, cause the processor to: Obtaining information; Checking the time required to update the cache; determining an update start setting time for the cache based on the update completion setting time and the update time required; And based on the update start setting time, the processor may be controlled to perform a first update on the cache.
  • the present invention has a technical effect in that it provides a method of flexibly updating the cache according to a time set by the user, thereby facilitating management of the update of the cache.
  • FIG. 1 is a diagram illustrating a cache update performing system in which a method of operating an electronic device for performing a cache update according to various embodiments can be implemented.
  • FIG. 2 is a diagram illustrating the configuration of a server device and a manager device according to various embodiments.
  • FIG. 3 is a diagram illustrating a method of operating the server device 100 to perform a cache update according to various embodiments.
  • FIG. 4 is a diagram illustrating an operation method in which the server device 100 confirms data by comparing the time when a data confirmation request is received and the time when update completion is set, according to various embodiments.
  • FIG. 5 is a diagram illustrating an operation method in which the server device 100 manages a cache by setting an expected cache expiration time according to various embodiments.
  • Figure 6 is a diagram showing how a cache update is performed according to the present invention.
  • each component or feature may be considered optional unless explicitly stated otherwise.
  • Each component or feature may be implemented in a form that is 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 change. Some features or features of one embodiment may be included in other embodiments or may be replaced with corresponding features or features of other embodiments.
  • FIG. 1 is a diagram illustrating a cache update performing system in which a method of operating an electronic device for performing a cache update according to various embodiments can be implemented.
  • a cache update performance system may be implemented in various types of electronic devices.
  • the cache update performance system may be implemented in the server device 100 and the manager device 200.
  • the server device 100 and the manager device 200 may perform operations according to various embodiments of the present disclosure based on the cache update performance system implemented in each device.
  • the cache update performance system according to various embodiments is not limited to that shown in FIG. 1, and may be implemented in a wider variety of electronic devices and servers.
  • the server device 100 may be a device that performs wireless and wired communication with a plurality of manager devices 200 and includes storage with a large storage capacity.
  • the server device 100 may be a cloud device that is linked to a plurality of manager devices 200.
  • the manager device 200 may be a device that can be used by an individual user, such as a desktop PC, tablet PC, or mobile terminal.
  • other electronic devices that perform similar functions can be used as the manager device 200, and in the present invention, in particular, the terminal used by the manager or user to manage the data structure and system in which data is served or processed is the manager device ( 200).
  • a cache update performance system may include various modules for its operation.
  • the modules included in the cache update performance system allow the physical device (e.g., server device 100 and manager device 200) on which the cache update performance system is implemented (or included in the physical device) to perform specified operations. It may be implemented computer code or one or more instructions.
  • the physical device in which the cache update performance 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 are generated by the physical device corresponding to the plurality of modules. You can have it perform specified actions.
  • FIG. 2 is a diagram illustrating the configuration of a server device and a manager device according to various embodiments.
  • the server device 100 and the manager device 200 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 user input from the user.
  • User input can take various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include traditional keypads, keyboards, and mice, as well as touch sensors that detect the user's touch, microphones that receive voice signals, cameras that recognize gestures through image recognition, etc.
  • a proximity sensor including at least one of an illumination sensor or an infrared sensor that detects user approach, a motion sensor that recognizes user movement through an acceleration sensor or 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 touch through a touch panel or touch film attached to the display panel, or an optical touch sensor that detects touch by an optical method.
  • the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) that connects an external input device that receives user input instead of a device that detects user input itself.
  • the output module can output various information.
  • the output module may include at least one of a display that outputs an image, a speaker that outputs sound, a haptic device that generates vibration, and various other types of output means.
  • the output module may be implemented in the form of a port-type output interface that connects the individual output means described above.
  • a display-type output module can display text, still images, and moving images.
  • Displays include liquid crystal display (LCD), light emitting diode (LED) display, organic light emitting diode (OLED) display, flat panel display (FPD), and transparent display.
  • LCD liquid crystal display
  • LED light emitting diode
  • OLED organic light emitting diode
  • FPD flat panel display
  • transparent display Among various types of devices that can perform image output functions such as display, curved display, flexible display, 3D display, holographic display, projector, and other It can contain at least one.
  • This display may be in the form of a touch display integrated with the touch sensor of the input module.
  • the communication unit 220 can communicate with other devices. Accordingly, the server device 100 and the manager device 200 can transmit and receive information with other devices through the communication unit. For example, the server device 100 and the manager device 200 may communicate with each other or with other devices using a communication unit.
  • the communication department includes a wired communication module that connects to the Internet, etc. through a LAN (Local Area Network), a mobile communication module that transmits and receives data by connecting to a mobile communication network through a mobile communication base station, and a WLAN (Wireless Local Area Network) such as Wi-Fi.
  • a short-distance communication module using an Area Network-type communication method or a WPAN (Wireless Personal Area Network)-type communication method such as Bluetooth or Zigbee, and a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System) ) may include a satellite communication module using a satellite communication module or a combination thereof.
  • Storage 230 can store various types of information. Storage 230 may store data temporarily or semi-permanently.
  • the storage 230 of the server device 100 contains an operating program (OS: Operating System) for running the server device 100, a program for generating data or Braille for hosting a website, or an application (e.g. For example, data related to a web application) may be stored.
  • OS Operating System
  • the storage may store modules in the form of computer code as described above.
  • Examples of storage 230 include hard disk drive (HDD), solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. This can be. This storage can be provided as a built-in or detachable type.
  • HDD hard disk drive
  • SSD solid state drive
  • flash memory read-only memory
  • RAM random access memory
  • the processor 240 controls the overall operation of the server device 100 and the manager device 200. To this end, the processor 240 can perform calculations and processing of various information and control the operation of components of the server device 100. For example, the processor 240 may execute a program or application for performing a cache update.
  • the processor 240 may be implemented as a computer or similar device using hardware, software, or a combination thereof. In hardware, the processor 240 may be implemented in the form of an electronic circuit that processes electrical signals to perform a control function, and in software, it may be implemented in the form of a program that drives the hardware processor 240. Meanwhile, unless otherwise specified in the following description, the operations of the server device 100 and the manager device 200 may be interpreted as being performed under the control of the processor 240. That is, when the modules implemented in the above-described cache update performance system are executed, the modules can be interpreted as the processor 240 controlling the server device 100 and the manager device 200 to perform the following operations.
  • various embodiments may be implemented through various means.
  • various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
  • methods include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs. It can be implemented by (field programmable gate arrays), processor, controller, microcontroller, microprocessor, etc.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processor controller, microcontroller, microprocessor, etc.
  • firmware or software methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described below.
  • software code 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 through various known means.
  • the manager device 200 performs the cache update of the server device 100.
  • Various information related to the performed operation may be transmitted and received with the server device 100.
  • FIG. 3 is a diagram illustrating a method of operating the server device 100 to perform a cache update according to various embodiments.
  • the server device 100 performs an update on the cache, and as an operation for this, obtains information about the update completion time set by the user for updating the cache ( 301), check the update time for the cache (303), and based on the update completion setting time and the update time, determine the update start setting time for the cache (305), and based on the update start setting time, A first update to the cache may be performed (307).
  • the operation of the server device 100 to update the cache may be to update the cache associated with storage where various data to be processed in the service provided by the server device 100 are stored.
  • the service may correspond to a service that allows multiple users using the service to order and purchase multiple items sold in the service.
  • the plurality of items sold in the service are not limited to the type or type of the item and may include various types or types of items registered by the seller to sell the item.
  • the cache receives and stores data from storage, and when a data call is confirmed from a device such as the server device 100, the cache transmits the stored data to the device.
  • the cache can be updated by receiving data from storage at a certain point in time according to a certain update cycle, and separately from the time according to a preset update cycle, it receives new data from storage at a time according to the settings of the administrator or user, as in the present invention. It can be set to be updated.
  • the server device 100 may obtain information about the update completion setting time point set by the user to update the cache.
  • the user who sets the update completion setting time point in operation 301 may be an administrator or user corresponding to the manager device 200, and the update completion setting time point includes an update or cache already set for the cache. Separate from the updates managed in the data processing system, this may correspond to the time when the user settings update is scheduled to be completed for updating user settings that the user sets on his or her own or separately. Accordingly, operation 301 of the server device 100 may correspond to an operation in which the server device 100 obtains information about the expected update completion time set by the user from the manager device 200. Additionally, the first update that the server device 100 performs on the cache according to operation 307 may correspond to an update of user settings.
  • the update completion setting point in operation 301 is the time when the user wants the update of the cache to be completed, and when the server device 100 obtains the typical time required to update the cache, the server device 100 It is possible to manage the update to be completed at the time of setting the update completion by starting the update of the cache at a point in time prior to the time required for the update completion setting.
  • the data stored in the cache may vary before/after the update completion setting time, and a request to confirm data to the cache is made according to the update completion setting time.
  • the data confirmed in the cache may vary depending on whether it is received before or after the update completion point.
  • the server device 100 may perform an operation to check data by comparing the time when the data confirmation request is received and the time when the update completion is set, as shown in FIG. 4.
  • FIG. 4 is a diagram illustrating an operation method in which the server device 100 confirms data by comparing the time when a data confirmation request is received and the time when update completion is set, according to various embodiments.
  • server device 100 may receive a request to confirm specific data for the cache (401).
  • a specific data confirmation request may be a request obtained from a user, administrator, and/or other entity wishing to check data stored in the storage, and may be a request obtained from a user, administrator, and/or other entity wishing to check data stored in the storage, and the data stored in the storage may also be stored in the cache. In this case, it may correspond to a request to check the data in the cache.
  • the server device 100 may check when the specific data confirmation request was received (403), and when the specific data confirmation request was received and when the user Data corresponding to the specific data confirmation request can be confirmed by comparing the set update completion setting time point (405).
  • the server device 100 can confirm when the specific data confirmation request was received, and the specific data confirmation request is received. It can be set to check the data corresponding to the specific data confirmation request by comparing the received time and the update completion setting time.
  • the server device 100 determines that a data confirmation request has been received for the cache before the update, and determines that the data confirmation request is received at the update completion setting time. Existing data stored in the cache before the update is performed can be set to be confirmed in response to the specific data confirmation request.
  • the server device 100 determines that a data confirmation request has been received for the cache after the update, and the server device 100 determines that a data confirmation request has been received for the cache after the update, and the server device 100 determines that the data confirmation request is received at the update completion setting time.
  • the updated data stored in the cache after the update is performed can be set to be confirmed in response to the specific data confirmation request.
  • the server device 100 may check the time required to update the cache.
  • the time required to update the cache checked by the server device 100 in operation 303 may be obtained based on the time typically taken to update the cache.
  • the update time may be obtained as a value corresponding to the update time required for the last update of the cache.
  • the update time may be obtained as a value corresponding to the average time required for a plurality of updates corresponding to the update history performed on the cache.
  • the server device 100 may determine an update start setting time for the cache based on the update completion setting time and the update required time.
  • the update start setting time for the cache determined by the server device 100 in operation 305 is the update completion setting time obtained by the server device 100 in operation 301 and the server device 100 in operation 303. It may correspond to a point in time as old as the update time confirmed by. That is, when the server device 100 starts the first update at the update start setting time determined according to operation 305, the first update takes as much time as the update time, so that the first update is completed at the update completion setting time. You can.
  • the first update managed to be completed at the update completion setting point may be triggered by a data confirmation request received for the cache after the update start setting point determined by the server device 100 in accordance with operation 305.
  • the first update may be managed and set to be completed within a certain time period including the update completion setting point. there is.
  • the first update set by the user for the cache may be triggered by the first data confirmation request received for the cache after the update start setting time.
  • a plurality of data confirmation requests may be received for the cache, but the update for the cache can be set to be started by the first data confirmation request received for the cache after the update start setting time.
  • the server device 100 may utilize flag information.
  • the server device 100 sets flag information for checking whether the cache is being updated, and when a data confirmation request is received for the first time for the cache after the update start setting point, the server device 100 flags the cache. By setting the value of the information to '1', you can indicate a flag that the cache update is currently in progress. On the other hand, if the cache update is not in progress because no data confirmation request has been received, the server device 100 may set the value of the flag information to '0' to indicate a flag that the cache update is not currently in progress. there is. If the value of the flag information is set to '1' according to the above method, the server device 100 responds to another data confirmation request additionally received for the cache after the first data confirmation request for the cache after the update start setting time. You can set it so that updates to the cache are not triggered.
  • the first update corresponding to the user setting update may not be triggered.
  • the cache is not updated by the first update corresponding to the user-set update, but can be updated by an update preset for the cache or an update managed on the data processing system.
  • the server device 100 may perform a first update on the cache based on the update start setting time.
  • operations 301 to 305 may be used when the server device 100 performs a first update to the cache in operation 307.
  • the server device 100 when the server device 100 performs the first update according to operation 307, the server device 100 updates the cache so that it can be newly updated after the first update expires, corresponding to the first update.
  • the operation of newly managing updates to the cache by setting an expected cache expiration time can also be performed as shown in FIG. 5.
  • FIG. 5 is a diagram illustrating an operation method in which the server device 100 manages a cache by setting an expected cache expiration time according to various embodiments.
  • the server device 100 can confirm that the first update according to operation 307 is set to be performed at the time when the update completion according to operation 301 is set (501). After confirming that the first update is set to be performed, the server device 100 needs to set a valid period for the first update and manage a new update to the cache thereafter, so it responds to the first update after the update completion setting point. You can set the expected cache expiration point (503). When the cache expiration time is set, the validity period of the first update can be confirmed as until the cache expiration time, and the server device 100 sets a new update to the cache to be performed after the cache expiration time (505), After the first update is performed, the cache can be managed to be newly updated after a certain period of time has passed.
  • the scheduled cache expiration time set by the server device 100 in response to the first update according to operation 503 may be set to have a certain time interval from the update completion setting time that is managed so that the first update is completed.
  • the constant time interval may be a time interval set by the manager or user corresponding to the manager device 200. That is, an administrator or user who sets an update completion setting time point that manages the first update to be completed can set a cache expiration time point that allows a new update to be performed after a certain time interval after the first update is completed.
  • the cache expiration time may be set to have a time interval of 1 minute, 2 minutes, 3 minutes, etc. from the time the update completion is set.
  • the scheduled cache expiration time may be set to have a time interval corresponding to the time interval from the update completion setting time to the current update completion setting time.
  • the scheduled cache expiration time set by the server device 100 in response to the first update according to operation 503 may be set to have a random time interval from the update completion setting time that is managed so that the first update is completed.
  • the arbitrary time interval may be a time interval randomly determined based on a random function.
  • the administrator or user who sets the update completion setting time point managed so that the first update is completed can set the cache expiration time point so that a new update can be performed after the first update is completed and a randomly set time interval.
  • the cache expiration time is set to a random time interval from the update completion setting point, the time interval set between the update completion setting point and the cache expiration point is set too short, causing the update to be repeated unnecessarily.
  • the server device 100 sets a minimum time interval value and a maximum time interval value that can set the time interval between the update completion setting point and the cache expiration point, and sets the minimum time interval value and the maximum time interval value between the minimum time interval value and the maximum time interval value. It can also be set to determine a random time interval according to a random function.
  • the time interval between the update completion setting point and the cache expiration point may be set based on the number of data requests confirmed for the cache.
  • the number of data requests confirmed for the cache in the time interval between the update completion setting point and the scheduled cache expiration point is large, it may be appropriate to update the cache after completing the data confirmation corresponding to the data request, so the cache You can also set the time interval between the update completion point and the cache expiration point according to the number of data requests confirmed. For example, if the number of data requests confirmed for the cache is N, the time interval is set to 1 minute, and if the number of data requests confirmed for the cache is 2N, the time interval is set to 2 minutes, etc.
  • the number of data requests is constant.
  • the time interval can also be set to increase at regular intervals whenever it increases.
  • the time interval between the update completion point and the cache expiration point can be set in consideration of the characteristics of the data stored in the cache. If the data stored in the storage associated with the cache corresponds to data that is judged to need to be updated in real time, and the cache is managed to store such data, the time between the update completion setting and the scheduled cache expiration The interval is set short, so the cache is updated more frequently, allowing more real-time data to be stored. On the other hand, if the data stored in storage linked to the cache corresponds to data that is judged not to need to be updated in real time and the cache is managed to store such data, the time between the update completion setting point and the scheduled cache expiration time The time interval is set long to reduce the load due to cache updates.
  • a second update that is different from the previous first update is managed to be performed after the cache expiration point.
  • a second update is performed by a data confirmation request received for the cache after the cache expiration point. It can be triggered and performed.
  • the server device 100 may perform a second update if there is a request to confirm data received for the cache after the cache expiration time. At this time, similar to the first update described above, the server device 100 may perform a second update on the cache after the cache expiration time. The second update may be triggered by the first received data confirmation request.
  • a plurality of data confirmation requests may be received for the cache, but the second update for the cache is set to be started by the first data confirmation request received for the cache after the cache expiration time, so that the server device 100 A second update may be performed based on the first data confirmation request received for the cache after the scheduled cache expiration time.
  • the server device 100 may Data verification can be set to stop even if there is a data verification request for the cache until the second update is completed. That is, in a situation where the first data confirmation request is received after the scheduled cache expiration time and the second update is in progress, the server device 100 responds to other data confirmation requests received for the cache until the second update is completed. You can set it to stop checking data.
  • the server device 100 may be set so that the interruption of data confirmation as described above is conditional. That is, the server device 100 can be set to stop data confirmation when there are many data confirmation requests or when latency is expected to occur in data confirmation processing. For example, if data confirmation is set to stop in all cases where the second update is performed, a situation may occur where data is not confirmed unnecessarily, so the server device 100 may make the first data confirmation request after the cache expiration point.
  • FIG. 6 An operation in which the server device 100 performs an update on the cache according to FIGS. 3 to 5 may appear as shown in FIG. 6 .
  • Figure 6 is a diagram showing how a cache update is performed according to the present invention.
  • the server device 100 sets the update time required for the last update of the cache, or Based on the cache's past update history, the update start point (start refresh) can be determined considering the normal update time (last execution time) found to be necessary for the cache update.
  • start refresh when a data confirmation request for the cache is received after the update start setting point (start refresh), the update of the user settings for the cache may begin, and the time period that includes the update completion setting point (user setting) set by the user ( The update of user settings can be completed in the refreshed range.
  • the server device 100 may set a cache expiration point (redis cache expire) as shown in 603. . If a request to confirm data about the cache is received after the cache expiration point, the cache may be newly updated. In 603, you can see that the cache expiration time (redis cache expire) is set 3 minutes after the update completion time (user setting).
  • each piece of information provided by the server device 100 may be combined and provided in various forms.
  • 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 code on a computer readable recording medium in certain respects.
  • a computer-readable recording medium is any data storage device capable of storing data that can be read 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 (data transmission over the Internet, etc.). Computer-readable recording media may also be distributed across networked computer systems, such that computer-readable code is stored and executed in a distributed manner. Additionally, functional programs, codes, 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.
  • the devices and methods according to various embodiments of the present invention can be implemented in the form of hardware, software, or a combination of hardware and software.
  • Such software may, for example, use any storage device, volatile or non-volatile, such as ROM, whether erasable or rewritable, or memory such as, for example, RAM, memory chips, devices or integrated circuits; Alternatively, it may be stored on a storage medium that is optically or magnetically recordable and readable by a machine (e.g., a computer), for example, a compact disk (CD), DVD, magnetic disk, or magnetic tape. .
  • a machine e.g., a computer
  • 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 memory or a computer, and such memory is a program containing instructions that implement the embodiments of the present invention.
  • a computer including a control unit and a memory
  • a vehicle including such memory or a computer
  • such memory is a program containing instructions that implement the embodiments of the present invention.
  • the present invention includes a program containing code for implementing the device or method described in the claims of this specification and a machine-readable storage medium (such as a computer) storing such a program. Additionally, such programs may be transmitted electronically through any medium, such as communication signals transmitted over a wired or wireless connection, and the present invention includes equivalents thereof as appropriate.

Abstract

According to the present disclosure, disclosed is a method by which an electronic apparatus performs an update on a cache, the method comprising the steps of: acquiring information regarding an update completion setup time point set by a user for updating the cache; identifying a required update time for the cache; on the basis of the update completion setup time point and the required update time, determining an update start setup time point for the cache; and on the basis of the update start setup time point, performing a first update on the cache.

Description

캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치Method of operating an electronic device that performs a cache update and an electronic device that supports the same
본 발명은 캐시 업데이트를 수행하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행하는 방법 및 이의 전자 장치에 관한 것이다.The present invention relates to a method and device for performing a cache update, and more specifically, to a method and an electronic device for dynamically performing a cache update according to a time set by a user.
전자기술의 발달에 따라 전자상거래는 쇼핑의 한 분야로 자리잡았다. 고객은 직접 쇼핑몰이나 시장에 가지 않고도 온라인 상에서 물품을 구매할 수 있으며, 온라인 상에서 구매한 물품은 고객이 요청한 배송지로 배송된다. With the development of electronic technology, e-commerce has become a field of shopping. Customers can purchase items online without having to go to a shopping mall or market in person, and items purchased online are delivered to the delivery address requested by the customer.
전자상거래의 경우 상품에 대한 자세하고 정확한 정보의 제공이 서비스 만족도에 상당한 영향을 미치기 때문에 보다 자세하고 정확한 정보를 제공하기 위한 다양한 방안에 대한 논의가 이루어지고 있으며, 여기에는 정보를 관리하는 차원에서 캐시를 포함한 데이터 구조에 대한 논의 또한 포함될 수 있다.In the case of e-commerce, the provision of detailed and accurate information about products has a significant impact on service satisfaction, so various methods to provide more detailed and accurate information are being discussed, including cash management at the level of information management. A discussion of data structures, including , may also be included.
관련하여, KR101756594B1 건 또는 KR101500849B1 건 등의 선행문헌들을 참조할 수 있다.In relation to this, prior literature such as KR101756594B1 or KR101500849B1 may be referred to.
본 발명의 방법에 따르면, 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행할 수 있다.According to the method of the present invention, the cache can be flexibly updated according to the time point set by the user.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.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 a method of operating an electronic device to perform a cache update and an electronic device that supports the same.
다양한 실시예들에 따른 전자 장치가 캐시(cache)에 대한 업데이트(update)를 수행하는 방법에 있어서, 상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계; 상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계; 상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및 상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 포함할 수 있다.A method of performing an update on a cache by an electronic device according to various embodiments, the method comprising: obtaining information about an update completion setting point set by a user for updating the cache; Checking the time required to update the cache; determining an update start setting time for the cache based on the update completion setting time and the update time required; And it may include performing a first update on the cache based on the update start setting time.
예시적 실시예에서, 상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응할 수 있다.In an example embodiment, the update time may correspond to an average time of a plurality of updates corresponding to the update history performed on the cache.
예시적 실시예에서, 상기 제1 업데이트는 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 수신되는 데이터 확인 요청에 기반하여 트리거링(triggering) 되고, 상기 제1 업데이트는 상기 업데이트 완료 설정 시점이 포함된 일정한 시구간 내에서 완료되도록 설정될 수 있다. In an exemplary embodiment, the first update is triggered based on a data confirmation request received for the cache after the update start setting time, and the first update is performed at a certain time phrase including the update completion setting time. It can be set to be completed within the liver.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제1 데이터 확인 요청에 기반하여, 상기 제1 업데이트가 트리거링 되도록 설정하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method of performing the cache update may further include setting the first update to be triggered based on a first data confirmation request received for the cache after the update start setting point. You can.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시에 대한 업데이트 진행 여부를 확인하는 플래그(flag) 정보를 설정하는 단계; 및 상기 제1 데이터 확인 요청이 수신된 점에 기반하여, 상기 플래그 정보의 값을 설정하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method of performing a cache update includes setting flag information to check whether an update to the cache is in progress; And it may further include setting a value of the flag information based on the fact that the first data confirmation request is received.
예시적 실시예에서, 상기 플래그 정보의 상기 설정된 값에 기반하여, 상기 제1 데이터 확인 요청 이후 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청에 의해 상기 캐시에 대한 업데이트가 트리거링 되지 않도록 설정될 수 있다.In an exemplary embodiment, based on the set value of the flag information, an update to the cache may not be triggered by another data confirmation request received for the cache after the first data confirmation request.
예시적 실시예에서, 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대한 데이터 확인 요청이 수신되지 않는 경우, 상기 제1 업데이트가 트리거링 되지 않을 수 있다.In an exemplary embodiment, if a data confirmation request for the cache is not received after the update start setting time, the first update may not be triggered.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 업데이트 완료 설정 시점 이후 상기 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하는 단계; 및 상기 캐시 만료 예정 시점 이후 상기 캐시에 대한 새로운 업데이트가 수행되도록 설정하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method of performing a cache update includes setting a cache expiration time corresponding to the first update after the update completion setting time; And it may further include setting a new update to the cache to be performed after the cache expiration point.
예시적 실시예에서, 상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 상기 사용자가 설정한 일정한 시간 간격을 가지도록 설정될 수 있다.In an exemplary embodiment, the cache expiration time may be set to have a certain time interval set by the user from the update completion setting time.
예시적 실시예에서, 상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 랜덤(random) 함수에 기반하여 결정되는 임의의 시간 간격을 가지도록 설정될 수 있다.In an exemplary embodiment, the cache expiration time may be set to have a random time interval determined based on a random function from the update completion setting time.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시 만료 예정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제2 데이터 확인 요청에 기반하여, 상기 캐시에 대한 제2 업데이트를 수행하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method of performing a cache update further includes performing a second update on the cache based on a second data confirmation request received for the first time with respect to the cache after the cache expiration time point. can do.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 제2 데이터 확인 요청이 수신된 점에 기반하여, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함할 수 있다. In an exemplary embodiment, the method of performing the cache update includes, based on the fact that the second data confirmation request is received, confirming data corresponding to the data confirmation request received for the cache until the second update is completed. It may further include a step of setting to stop.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 제2 데이터 확인 요청이 수신되고 상기 제2 데이터 확인 요청 이후 일정 시간 동안 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the method of performing the cache update includes, when the second data confirmation request is received and the number of other data confirmation requests received for the cache for a certain period of time after the second data confirmation request is more than a threshold number, The method may further include setting the cache to stop checking data corresponding to a data checking request received until the second update is completed.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시에 대한 제3 데이터 확인 요청을 수신하는 단계; 상기 제3 데이터 확인 요청이 수신된 시점을 확인하는 단계; 및 상기 수신된 시점 및 상기 업데이트 완료 설정 시점을 비교하여, 상기 캐시에서 상기 제3 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정하는 단계를 더 포함할 수 있다.In an example embodiment, the method of performing a cache update includes receiving a third data confirmation request for the cache; Confirming when the third data confirmation request is received; And it may further include setting the cache to check data corresponding to the third data confirmation request by comparing the received time point and the update completion setting time point.
예시적 실시예에서, 상기 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 상기 제1 업데이트가 수행되기 전 상기 캐시에 저장된 기존 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정될 수 있다.In an exemplary embodiment, when the received time is before the update completion setting time, existing data stored in the cache before the first update is performed may be set to be confirmed in response to the third data confirmation request. .
예시적 실시예에서, 상기 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 상기 제1 업데이트가 수행된 이후 상기 캐시에 저장된 업데이트 된 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정될 수 있다.In an exemplary embodiment, when the received time is after the update completion setting time, the updated data stored in the cache after the first update is performed may be set to be confirmed in response to the third data confirmation request. there is.
다양한 실시예들에 따른 캐시(cache)에 대한 업데이트(update)를 수행하는 전자 장치에 있어서, 프로세서(processor); 및 하나 이상의 인스트럭션(instruction)을 저장하는 하나 이상의 메모리(memory)를 포함하고, 상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가: 상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계; 상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계; 상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및 상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 수행하도록 상기 프로세서를 제어할 수 있다.An electronic device that performs an update to a cache according to various embodiments includes: a processor; and one or more memories storing one or more instructions, wherein the one or more instructions, when executed, cause the processor to: Obtaining information; Checking the time required to update the cache; determining an update start setting time for the cache based on the update completion setting time and the update time required; And based on the update start setting time, the processor may be controlled to perform a first update on the cache.
상술한 본 개시의 다양한 실시예들은 본 개시의 바람직한 실시예들 중 일부에 불과하며, 본 개시의 다양한 실시예들의 기술적 특징들이 반영된 여러 가지 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 상세한 설명을 기반으로 도출되고 이해될 수 있다.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 understood by those skilled in the art. It can be derived and understood based on the detailed description described below.
본 발명은 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행하는 방법을 제시하여, 캐시의 업데이트에 대한 관리 편의를 도모할 수 있는 측면에서 기술적인 효과를 갖는다.The present invention has a technical effect in that it provides a method of flexibly updating the cache according to a time set by the user, thereby facilitating management of the update of the cache.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from 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은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 전자 장치의 동작 방법이 구현될 수 있는 캐시 업데이트 수행 시스템을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a cache update performing system in which a method of operating an electronic device for performing a cache update according to various embodiments can be implemented.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 관리자 디바이스의 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating the configuration of a server device and a manager device according to various embodiments.
도 3은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.FIG. 3 is a diagram illustrating a method of operating the server device 100 to perform a cache update according to various embodiments.
도 4는 다양한 실시예들에 따른 서버 디바이스(100)가 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작 방법을 도시한 도면이다.FIG. 4 is a diagram illustrating an operation method in which the server device 100 confirms data by comparing the time when a data confirmation request is received and the time when update completion is set, according to various embodiments.
도 5는 다양한 실시예들에 따른 서버 디바이스(100)가 캐시 만료 예정 시점을 설정하여 캐시를 관리하는 동작 방법을 도시한 도면이다.FIG. 5 is a diagram illustrating an operation method in which the server device 100 manages a cache by setting an expected cache expiration time according to various embodiments.
도 6은 본 발명에 따른 캐시의 업데이트가 수행되는 모습을 도시한 도면이다.Figure 6 is a diagram showing how a cache update is performed according to the present invention.
이하의 실시예들은 다양한 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments combine components 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 that is not combined with other components or features. Additionally, various embodiments may be configured by combining some components and features. The order of operations described in various embodiments may change. Some features or features of one embodiment may be included in other embodiments or may be replaced with corresponding features or features of other embodiments.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.In the description of the drawings, procedures or steps that may obscure the gist of the various embodiments are not described, and procedures or steps that can be understood at the level of a person with ordinary knowledge in the relevant technical field are not described. did.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part is said to “comprise or include” a certain element, this means that it does not exclude other elements but may further include other elements, unless specifically stated to the contrary. do. In addition, terms such as "... unit", "... unit", and "module" used in the specification refer to a unit that processes at least one function or operation, which refers to hardware, software, or a combination of hardware and software. It can be implemented as: Additionally, the terms “a or an,” “one,” “the,” and similar related 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, it may be used in both singular and plural terms.
이하, 다양한 실시예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.Hereinafter, preferred embodiments according to various embodiments will be described in detail with reference to the attached drawings. The detailed description set forth below in conjunction with the accompanying drawings is intended to illustrate exemplary embodiments of various embodiments and is not intended to represent the only embodiment.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.In addition, specific terms used in various embodiments are provided to aid understanding of the various embodiments, and the use of such specific terms may be changed to other forms without departing from the technical spirit of the various embodiments. .
도 1은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 전자 장치의 동작 방법이 구현될 수 있는 캐시 업데이트 수행 시스템을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a cache update performing system in which a method of operating an electronic device for performing a cache update according to various embodiments can be implemented.
도 1을 참조하면, 다양한 실시예들에 따른 캐시 업데이트 수행 시스템은 다양한 종류의 전자 장치들에 구현될 수 있다. 예를 들어, 캐시 업데이트 수행 시스템은 서버 디바이스(100) 및 관리자 디바이스(200)에 구현될 수 있다. 달리 말해, 서버 디바이스(100) 및 관리자 디바이스(200)는 각각의 장치에 구현된 캐시 업데이트 수행 시스템을 기반으로, 본 개시의 다양한 실시예들에 따른 동작을 수행할 수 있다. 한편, 다양한 실시예들에 따른 캐시 업데이트 수행 시스템은, 상기 도 1에 도시된 바에 국한되지 않고, 더 다양한 전자 장치와 서버들에 구현될 수도 있을 것이다.Referring to FIG. 1, a cache update performance system according to various embodiments may be implemented in various types of electronic devices. For example, the cache update performance system may be implemented in the server device 100 and the manager device 200. In other words, the server device 100 and the manager device 200 may perform operations according to various embodiments of the present disclosure based on the cache update performance system implemented in each device. Meanwhile, the cache update performance system according to various embodiments is not limited to that shown in FIG. 1, and may be implemented in a wider variety of electronic devices and servers.
다양한 실시예들에 따른 서버 디바이스(100)는, 복수 개의 관리자 디바이스(200)들과 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 서버 디바이스(100)는 복수 개의 관리자 디바이스(200)들과 연동되는 클라우드 디바이스(Cloud device)일 수 있다.The server device 100 according to various embodiments may be a device that performs wireless and wired communication with a plurality of manager devices 200 and includes storage with a large storage capacity. For example, the server device 100 may be a cloud device that is linked to a plurality of manager devices 200.
다양한 실시예들에 따른 관리자 디바이스(200)는, 데스크탑 피시, 태블릿 피시, 모바일 단말 등의 개인 사용자에 의해 이용될 수 있는 장치일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 관리자 디바이스(200)로 이용될 수 있으며, 본 발명에서는 특히 데이터가 서빙 또는 처리되는 데이터 구조 및 시스템을 관리하기 위해 관리자 혹은 사용자가 이용하는 단말이 상기 관리자 디바이스(200)에 대응할 수 있다.The manager device 200 according to various embodiments may be a device that can be used by an individual user, such as a desktop PC, tablet PC, or mobile terminal. In addition, other electronic devices that perform similar functions can be used as the manager device 200, and in the present invention, in particular, the terminal used by the manager or user to manage the data structure and system in which data is served or processed is the manager device ( 200).
다양한 실시예들에 따른 캐시 업데이트 수행 시스템은 그 동작을 위한 다양한 모듈들을 포함할 수 있다. 캐시 업데이트 수행 시스템에 포함된 모듈들은 캐시 업데이트 수행 시스템이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예: 서버 디바이스(100) 및 관리자 디바이스(200))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 인스트럭션 (instruction) 일 수 있다. 다시 말해, 캐시 업데이트 수행 시스템이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.A cache update performance system according to various embodiments may include various modules for its operation. The modules included in the cache update performance system allow the physical device (e.g., server device 100 and manager device 200) on which the cache update performance system is implemented (or included in the physical device) to perform specified operations. It may be implemented computer code or one or more instructions. In other words, the physical device in which the cache update performance 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 are generated by the physical device corresponding to the plurality of modules. You can have it perform specified actions.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 관리자 디바이스의 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating the configuration of a server device and a manager device according to various embodiments.
도 2를 참조하면, 서버 디바이스(100) 및 관리자 디바이스(200)는 입/출력부(210), 통신부(220), 스토리지(230) 및 프로세서(240)를 포함할 수 있다. Referring to FIG. 2 , the server device 100 and the manager device 200 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240.
입/출력부(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 user input from the user. User input can take various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include traditional keypads, keyboards, and mice, as well as touch sensors that detect the user's touch, microphones that receive voice signals, cameras that recognize gestures through image recognition, etc. A proximity sensor including at least one of an illumination sensor or an infrared sensor that detects user approach, a motion sensor that recognizes user movement through an acceleration sensor or 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 an 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 touch through a touch panel or touch film attached to the display panel, or an optical touch sensor that detects touch by an optical method. In addition, the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) that connects an external input device that receives user input instead of a device that detects user input itself. Additionally, the output module can output various information. The output module may include at least one of a display that outputs an image, a speaker that outputs sound, a haptic device that generates vibration, and various other types of output means. In addition, the output module may be implemented in the form of a port-type output interface that connects the individual output means described above.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(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), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.As an example, a display-type output module can display text, still images, and moving images. Displays include liquid crystal display (LCD), light emitting diode (LED) display, organic light emitting diode (OLED) display, flat panel display (FPD), and transparent display. Among various types of devices that can perform image output functions such as display, curved display, flexible display, 3D display, holographic display, projector, and other It can contain at least one. This display may be in the form of a touch display integrated with the touch sensor of the input module.
통신부(220)는 다른 장치와 통신할 수 있다. 따라서, 서버 디바이스(100) 및 관리자 디바이스(200)는 통신부를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 서버 디바이스(100) 및 관리자 디바이스(200)는 통신부를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.The communication unit 220 can communicate with other devices. Accordingly, the server device 100 and the manager device 200 can transmit and receive information with other devices through the communication unit. For example, the server device 100 and the manager device 200 may communicate with each other or with other devices using a communication unit.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부는 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, can be accomplished wired or wirelessly. To this end, the communication department includes a wired communication module that connects to the Internet, etc. through a LAN (Local Area Network), a mobile communication module that transmits and receives data by connecting to a mobile communication network through a mobile communication base station, and a WLAN (Wireless Local Area Network) such as Wi-Fi. A short-distance communication module using an Area Network-type communication method or a WPAN (Wireless Personal Area Network)-type communication method such as Bluetooth or Zigbee, and a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System) ) may include a satellite communication module using a satellite communication module or a combination thereof.
스토리지(230)는 각종 정보를 저장할 수 있다. 스토리지(230)는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 서버 디바이스(100)의 스토리지(230)에는 서버 디바이스(100)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 스토리지는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다. Storage 230 can store various types of information. Storage 230 may store data temporarily or semi-permanently. For example, the storage 230 of the server device 100 contains an operating program (OS: Operating System) for running the server device 100, a program for generating data or Braille for hosting a website, or an application (e.g. For example, data related to a web application) may be stored. Additionally, the storage may store 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 storage 230 include hard disk drive (HDD), solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. This can be. This storage can be provided as a built-in or detachable type.
프로세서(240)는 서버 디바이스(100) 및 관리자 디바이스(200)의 전반적인 동작을 제어한다. 이를 위해 프로세서(240)는 각종 정보의 연산 및 처리를 수행하고 서버 디바이스(100)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(240)는 캐시 업데이트 수행을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(240)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(240)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 서버 디바이스(100) 및 관리자 디바이스(200)의 동작은 프로세서(240)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 캐시 업데이트 수행 시스템에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(240)가 서버 디바이스(100) 및 관리자 디바이스(200)를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.The processor 240 controls the overall operation of the server device 100 and the manager device 200. To this end, the processor 240 can perform calculations and processing of various information and control the operation of components of the server device 100. For example, the processor 240 may execute a program or application for performing a cache update. The processor 240 may be implemented as a computer or similar device using hardware, software, or a combination thereof. In hardware, the processor 240 may be implemented in the form of an electronic circuit that processes electrical signals to perform a control function, and in software, it may be implemented in the form of a program that drives the hardware processor 240. Meanwhile, unless otherwise specified in the following description, the operations of the server device 100 and the manager device 200 may be interpreted as being performed under the control of the processor 240. That is, when the modules implemented in the above-described cache update performance system are executed, the modules can be interpreted as the processor 240 controlling the server device 100 and the manager device 200 to perform the following operations.
요약하면, 다양한 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시예들은 하드웨어, 펌웨어(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, methods according to various embodiments include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs. It can be implemented by (field programmable gate arrays), processor, controller, microcontroller, microprocessor, etc.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described below. For example, software code 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 through various known means.
이하에서는, 상기와 같은 기술적 사상에 기반하여 다양한 실시예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.Below, various embodiments will be described in more detail based on the above technical idea. The contents described above may be applied to various embodiments described below. For example, operations, functions, terms, etc. that are not defined in various embodiments described below may be performed and explained based on the contents described above.
이하의 설명에서는 서버 디바이스(100)가 캐시 업데이트 수행 동작을 처리함을 전제로 다양한 실시예들에 대하여 설명하며, 다양한 실시예들에 따르면, 관리자 디바이스(200)는 서버 디바이스(100)의 캐시 업데이트 수행 동작과 관련된 다양한 정보를 서버 디바이스(100)와 송수신할 수 있다. In the following description, various embodiments are described on the premise that the server device 100 processes the cache update operation. According to various embodiments, the manager device 200 performs the cache update of the server device 100. Various information related to the performed operation may be transmitted and received with the server device 100.
도 3은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.FIG. 3 is a diagram illustrating a method of operating the server device 100 to perform a cache update according to various embodiments.
도 3에 따를 때 서버 디바이스(100)는 캐시(cache)에 대한 업데이트(update)를 수행하며, 이를 위한 동작으로써, 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하고(301), 캐시에 대한 업데이트 소요 시간을 확인하며(303), 업데이트 완료 설정 시점 및 업데이트 소요 시간에 기반하여, 캐시를 위한 업데이트 시작 설정 시점을 결정하고(305), 업데이트 시작 설정 시점에 기반하여, 캐시에 대한 제1 업데이트를 수행할 수 있다(307).According to FIG. 3, the server device 100 performs an update on the cache, and as an operation for this, obtains information about the update completion time set by the user for updating the cache ( 301), check the update time for the cache (303), and based on the update completion setting time and the update time, determine the update start setting time for the cache (305), and based on the update start setting time, A first update to the cache may be performed (307).
도 3에 따라 서버 디바이스(100)가 캐시에 대한 업데이트를 수행하는 동작은 서버 디바이스(100)가 제공하는 서비스에서 처리되어야 할 다양한 데이터가 저장된 스토리지(storage)에 연계된 캐시를 업데이트 하는 것일 수 있으며, 이 때 상기 서비스는 서비스에서 판매되는 복수의 아이템들을 서비스를 이용하는 복수의 사용자가 주문 및 구매할 수 있는 서비스에 해당할 수 있다. 서비스에서 판매되는 복수의 아이템들은 아이템의 종류 또는 타입 등에 제한되지 않고 판매자가 아이템을 판매하기 위해 등록하는 다양한 종류 또는 타입의 아이템을 포함할 수 있다.According to FIG. 3, the operation of the server device 100 to update the cache may be to update the cache associated with storage where various data to be processed in the service provided by the server device 100 are stored. , In this case, the service may correspond to a service that allows multiple users using the service to order and purchase multiple items sold in the service. The plurality of items sold in the service are not limited to the type or type of the item and may include various types or types of items registered by the seller to sell the item.
캐시는 스토리지로부터 데이터를 전달 받아 저장하고 서버 디바이스(100) 등의 장치로부터 데이터 호출이 확인되면 저장한 데이터를 상기 장치로 전송하게 된다. 캐시는 일정한 업데이트 주기에 따른 시점 마다 스토리지로부터 데이터를 전달 받아 업데이트 될 수 있고, 기 설정된 업데이트 주기에 따른 시점과 별개로 본 발명과 같이 관리자 또는 사용자의 설정에 따른 시점에서 스토리지로부터 데이터를 새롭게 전달 받아 업데이트 되도록 설정될 수 있다.The cache receives and stores data from storage, and when a data call is confirmed from a device such as the server device 100, the cache transmits the stored data to the device. The cache can be updated by receiving data from storage at a certain point in time according to a certain update cycle, and separately from the time according to a preset update cycle, it receives new data from storage at a time according to the settings of the administrator or user, as in the present invention. It can be set to be updated.
다양한 실시예들에 따르면, 동작 301에서, 서버 디바이스(100)는 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득할 수 있다.According to various embodiments, in operation 301, the server device 100 may obtain information about the update completion setting time point set by the user to update the cache.
예를 들어, 동작 301에서 업데이트 완료 설정 시점을 설정하는 사용자는 관리자 디바이스(200)에 대응하는 관리자 또는 사용자일 수 있으며, 상기 업데이트 완료 설정 시점은 캐시에 대하여 이미 설정되어 있는 업데이트나 캐시가 포함된 데이터 처리 시스템 상으로 관리되는 업데이트와는 별개로, 사용자가 자체적으로 또는 별도로 설정하는 사용자 설정(user setting) 업데이트를 위한 사용자 설정 업데이트 완료 예정 시점에 해당할 수 있다. 따라서, 서버 디바이스(100)의 동작 301은 사용자가 원하여 설정한 업데이트 완료 예정 시점에 대한 정보를 서버 디바이스(100)가 관리자 디바이스(200)로부터 획득하는 동작에 해당할 수 있다. 또한, 동작 307에 따라 서버 디바이스(100)가 캐시에 대하여 수행하는 제1 업데이트는 사용자 설정의 업데이트에 해당할 수 있다.For example, the user who sets the update completion setting time point in operation 301 may be an administrator or user corresponding to the manager device 200, and the update completion setting time point includes an update or cache already set for the cache. Separate from the updates managed in the data processing system, this may correspond to the time when the user settings update is scheduled to be completed for updating user settings that the user sets on his or her own or separately. Accordingly, operation 301 of the server device 100 may correspond to an operation in which the server device 100 obtains information about the expected update completion time set by the user from the manager device 200. Additionally, the first update that the server device 100 performs on the cache according to operation 307 may correspond to an update of user settings.
예를 들어, 동작 301에서의 업데이트 완료 설정 시점은 사용자가 캐시의 업데이트가 완료되기 원하는 시점으로, 서버 디바이스(100)가 캐시의 업데이트에 필요한 통상적인 소요 시간을 획득할 경우, 서버 디바이스(100)는 업데이트 완료 설정 시점에서 상기 업데이트에 필요한 통상적인 소요 시간만큼의 이전 시점에서 캐시의 업데이트를 시작하여 업데이트 완료 설정 시점에 업데이트가 완료되도록 관리할 수 있다.For example, the update completion setting point in operation 301 is the time when the user wants the update of the cache to be completed, and when the server device 100 obtains the typical time required to update the cache, the server device 100 It is possible to manage the update to be completed at the time of setting the update completion by starting the update of the cache at a point in time prior to the time required for the update completion setting.
예를 들어, 동작 301에서의 업데이트 완료 설정 시점에 맞춰 캐시의 업데이트가 완료되도록 설정되는 경우 캐시에 저장된 데이터는 업데이트 완료 설정 시점의 전/후로 달라질 수 있으며, 캐시에 대한 데이터 확인 요청이 업데이트 완료 설정 시점 이전에 수신되는지 혹은 업데이트 완료 설정 시점 이후에 수신되는지에 따라 캐시에서 확인되는 데이터가 달라질 수 있다. 이와 관련, 서버 디바이스(100)는 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작을 도 4와 같이 수행할 수 있다.For example, if the update of the cache is set to be completed according to the update completion setting point in operation 301, the data stored in the cache may vary before/after the update completion setting time, and a request to confirm data to the cache is made according to the update completion setting time. The data confirmed in the cache may vary depending on whether it is received before or after the update completion point. In this regard, the server device 100 may perform an operation to check data by comparing the time when the data confirmation request is received and the time when the update completion is set, as shown in FIG. 4.
도 4는 다양한 실시예들에 따른 서버 디바이스(100)가 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작 방법을 도시한 도면이다.FIG. 4 is a diagram illustrating an operation method in which the server device 100 confirms data by comparing the time when a data confirmation request is received and the time when update completion is set, according to various embodiments.
도 4에서, 서버 디바이스(100)는 캐시에 대한 특정의 데이터 확인 요청을 수신할 수 있다(401). 이 때 이와 같은 특정의 데이터 확인 요청은, 스토리지에 저장된 데이터를 확인하기 위한 사용자, 관리자 및/또는 기타 데이터를 확인하고자 하는 존재로부터 획득되는 요청일 수 있으며, 스토리지에 저장된 데이터가 캐시에도 저장되어 있는 경우 캐시에서 해당 데이터를 확인하기 위한 요청에 해당할 수도 있다.In Figure 4, server device 100 may receive a request to confirm specific data for the cache (401). At this time, such a specific data confirmation request may be a request obtained from a user, administrator, and/or other entity wishing to check data stored in the storage, and may be a request obtained from a user, administrator, and/or other entity wishing to check data stored in the storage, and the data stored in the storage may also be stored in the cache. In this case, it may correspond to a request to check the data in the cache.
캐시에 대한 특정의 데이터 확인 요청을 수신한 경우 서버 디바이스(100)는, 상기 특정의 데이터 확인 요청이 수신된 시점을 확인할 수 있으며(403), 상기 특정의 데이터 확인 요청이 수신된 시점과 사용자가 설정한 상기 업데이트 완료 설정 시점을 비교하여 상기 특정의 데이터 확인 요청에 대응하는 데이터를 확인할 수 있다(405).When receiving a specific data confirmation request for the cache, the server device 100 may check when the specific data confirmation request was received (403), and when the specific data confirmation request was received and when the user Data corresponding to the specific data confirmation request can be confirmed by comparing the set update completion setting time point (405).
정리하면, 서버 디바이스(100)가 캐시에 대한 특정의 데이터 확인 요청을 수신하는 경우, 서버 디바이스(100)는 상기 특정의 데이터 확인 요청이 수신된 시점을 확인할 수 있으며, 상기 특정의 데이터 확인 요청이 수신된 시점과 상기 업데이트 완료 설정 시점을 비교하여 상기 특정의 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정할 수 있다.In summary, when the server device 100 receives a specific data confirmation request for the cache, the server device 100 can confirm when the specific data confirmation request was received, and the specific data confirmation request is received. It can be set to check the data corresponding to the specific data confirmation request by comparing the received time and the update completion setting time.
만약 상기 특정의 데이터 확인 요청이 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 서버 디바이스(100)는 업데이트 전의 캐시에 대해 데이터 확인 요청이 수신된 것으로 판단하고, 상기 업데이트 완료 설정 시점에서 완료되는 업데이트가 수행되기 이전의 캐시에 저장된 기존 데이터를 상기 특정의 데이터 확인 요청에 대응하여 확인하도록 설정할 수 있다.If the time at which the specific data confirmation request is received is before the update completion setting time, the server device 100 determines that a data confirmation request has been received for the cache before the update, and determines that the data confirmation request is received at the update completion setting time. Existing data stored in the cache before the update is performed can be set to be confirmed in response to the specific data confirmation request.
반면 상기 특정의 데이터 확인 요청이 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 서버 디바이스(100)는 업데이트 후의 캐시에 대해 데이터 확인 요청이 수신된 것으로 판단하고, 상기 업데이트 완료 설정 시점에서 완료되는 업데이트가 수행된 이후의 캐시에 저장된 업데이트 된 데이터를 상기 특정의 데이터 확인 요청에 대응하여 확인하도록 설정할 수 있다.On the other hand, if the time at which the specific data confirmation request is received is after the update completion setting time, the server device 100 determines that a data confirmation request has been received for the cache after the update, and the server device 100 determines that a data confirmation request has been received for the cache after the update, and the server device 100 determines that the data confirmation request is received at the update completion setting time. The updated data stored in the cache after the update is performed can be set to be confirmed in response to the specific data confirmation request.
다양한 실시예들에 따르면, 동작 303에서, 서버 디바이스(100)는 캐시에 대한 업데이트 소요 시간을 확인할 수 있다.According to various embodiments, in operation 303, the server device 100 may check the time required to update the cache.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 확인하는 캐시에 대한 업데이트 소요 시간은, 상기 캐시의 업데이트에 대하여 통상적으로 소요되었던 시간에 기반하여 획득될 수 있다. 일 예로, 상기 업데이트 소요 시간은, 캐시의 지난 업데이트에 소요된 업데이트 소요 시간에 해당하는 값으로써 획득될 수 있다. 다른 일 예로, 상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응하는 값으로써 획득될 수 있다.For example, the time required to update the cache checked by the server device 100 in operation 303 may be obtained based on the time typically taken to update the cache. As an example, the update time may be obtained as a value corresponding to the update time required for the last update of the cache. As another example, the update time may be obtained as a value corresponding to the average time required for a plurality of updates corresponding to the update history performed on the cache.
다양한 실시예들에 따르면, 동작 305에서, 서버 디바이스(100)는 업데이트 완료 설정 시점 및 업데이트 소요 시간에 기반하여, 캐시를 위한 업데이트 시작 설정 시점을 결정할 수 있다.According to various embodiments, in operation 305, the server device 100 may determine an update start setting time for the cache based on the update completion setting time and the update required time.
예를 들어, 동작 305에서 서버 디바이스(100)가 결정하는 캐시를 위한 업데이트 시작 설정 시점은, 동작 301에 따라 서버 디바이스(100)가 획득한 업데이트 완료 설정 시점에서 동작 303에 따라 서버 디바이스(100)가 확인한 업데이트 소요 시간만큼의 이전 시점에 해당할 수 있다. 즉, 서버 디바이스(100)가 동작 305에 따라 결정하는 업데이트 시작 설정 시점에서 제1 업데이트를 시작할 경우, 제1 업데이트에 업데이트 소요 시간만큼의 시간이 소요되어 업데이트 완료 설정 시점에서 제1 업데이트가 완료될 수 있다.For example, the update start setting time for the cache determined by the server device 100 in operation 305 is the update completion setting time obtained by the server device 100 in operation 301 and the server device 100 in operation 303. It may correspond to a point in time as old as the update time confirmed by. That is, when the server device 100 starts the first update at the update start setting time determined according to operation 305, the first update takes as much time as the update time, so that the first update is completed at the update completion setting time. You can.
예를 들어, 업데이트 완료 설정 시점에서 완료되도록 관리되는 제1 업데이트는, 동작 305에 따라 서버 디바이스(100)에 의해 결정된 업데이트 시작 설정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청에 의해 트리거링(triggering) 될 수 있다. 즉, 캐시에 대하여 수신되는 데이터 확인 요청이 있으면 캐시에 대하여 사용자가 설정하는 제1 업데이트가 시작되도록 트리거링 될 수 있다. 또한, 제1 업데이트를 트리거링 하기 위한 데이터 확인 요청이 수신되는 과정에서 시간이 소요될 수 있는 점을 고려하여, 업데이트 완료 설정 시점을 포함하는 일정한 시구간 내에서 제1 업데이트가 완료되도록 관리 및 설정될 수도 있다.For example, the first update managed to be completed at the update completion setting point may be triggered by a data confirmation request received for the cache after the update start setting point determined by the server device 100 in accordance with operation 305. You can. That is, if there is a request to check data received for the cache, the first update set by the user for the cache may be triggered to start. In addition, considering that it may take time to receive a data confirmation request for triggering the first update, the first update may be managed and set to be completed within a certain time period including the update completion setting point. there is.
예를 들어, 캐시에 대하여 사용자가 설정하는 제1 업데이트는, 업데이트 시작 설정 시점 이후 캐시에 대하여 최초로 수신되는 데이터 확인 요청에 의해 트리거링 될 수 있다. 즉, 캐시에 대해서는 복수의 데이터 확인 요청이 수신될 수 있으나, 캐시에 대한 업데이트는 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 의해 시작되도록 설정할 수 있다. 이와 같은 설정을 위해, 서버 디바이스(100)는 플래그(flag) 정보를 활용할 수도 있다.For example, the first update set by the user for the cache may be triggered by the first data confirmation request received for the cache after the update start setting time. In other words, a plurality of data confirmation requests may be received for the cache, but the update for the cache can be set to be started by the first data confirmation request received for the cache after the update start setting time. For such settings, the server device 100 may utilize flag information.
일 예로, 서버 디바이스(100)는 캐시에 대하여, 상기 캐시의 업데이트 진행 여부를 확인하기 위한 플래그(flag) 정보를 설정하고, 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 데이터 확인 요청이 수신되면, 플래그 정보의 값을 '1'로 설정하여 현재 캐시의 업데이트가 진행 중이라는 플래그를 지시할 수 있다. 반면 데이터 확인 요청이 수신된 게 없어 캐시의 업데이트가 진행되지 않은 상태라면, 서버 디바이스(100)는 플래그 정보의 값을 '0'으로 설정하여 현재 캐시의 업데이트가 진행 중이지 않다는 플래그를 지시할 수 있다. 만약 위와 같은 방식에 따라 플래그 정보의 값이 '1'로 설정된 경우, 서버 디바이스(100)는 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 데이터 확인 요청 이후 상기 캐시에 대해 추가적으로 수신되는 다른 데이터 확인 요청에 의해서는 캐시에 대한 업데이트가 트리거링되지 않도록 설정할 수 있다.As an example, the server device 100 sets flag information for checking whether the cache is being updated, and when a data confirmation request is received for the first time for the cache after the update start setting point, the server device 100 flags the cache. By setting the value of the information to '1', you can indicate a flag that the cache update is currently in progress. On the other hand, if the cache update is not in progress because no data confirmation request has been received, the server device 100 may set the value of the flag information to '0' to indicate a flag that the cache update is not currently in progress. there is. If the value of the flag information is set to '1' according to the above method, the server device 100 responds to another data confirmation request additionally received for the cache after the first data confirmation request for the cache after the update start setting time. You can set it so that updates to the cache are not triggered.
예를 들어, 서버 디바이스(100)가 동작 305에 따라 결정한 업데이트 시작 설정 시점 이후 캐시에 대하여 아무런 데이터 확인 요청이 수신되지 않는다면, 사용자 설정 업데이트에 해당하는 제1 업데이트는 트리거링 되지 않을 수 있다. 이 경우 캐시는 사용자 설정 업데이트에 해당하는 제1 업데이트에 의해 업데이트 되지는 않으나, 캐시에 대하여 기 설정되어 있는 업데이트 또는 데이터 처리 시스템 상으로 관리되는 업데이트에 의해 업데이트 될 수 있다.For example, if no data confirmation request is received for the cache after the update start setting point determined by the server device 100 in operation 305, the first update corresponding to the user setting update may not be triggered. In this case, the cache is not updated by the first update corresponding to the user-set update, but can be updated by an update preset for the cache or an update managed on the data processing system.
다양한 실시예들에 따르면, 동작 307에서, 서버 디바이스(100)는 업데이트 시작 설정 시점에 기반하여, 캐시에 대한 제1 업데이트를 수행할 수 있다.According to various embodiments, in operation 307, the server device 100 may perform a first update on the cache based on the update start setting time.
예를 들어, 동작 307에 따라 서버 디바이스(100)가 캐시에 대한 제1 업데이트를 수행하는데 동작 301 내지 동작 305에서 전술한 다양한 실시예가 활용될 수 있다.For example, the various embodiments described above in operations 301 to 305 may be used when the server device 100 performs a first update to the cache in operation 307.
한편, 서버 디바이스(100)가 동작 307에 따라 제1 업데이트를 수행하는 경우에 있어서, 서버 디바이스(100)는 제1 업데이트가 만료되고 이후 캐시가 새롭게 업데이트 될 수 있도록 갱신하는, 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하여 캐시에 대한 업데이트를 새롭게 관리하는 동작을 도 5와 같이 수행할 수도 있다. Meanwhile, when the server device 100 performs the first update according to operation 307, the server device 100 updates the cache so that it can be newly updated after the first update expires, corresponding to the first update. The operation of newly managing updates to the cache by setting an expected cache expiration time can also be performed as shown in FIG. 5.
도 5는 다양한 실시예들에 따른 서버 디바이스(100)가 캐시 만료 예정 시점을 설정하여 캐시를 관리하는 동작 방법을 도시한 도면이다.FIG. 5 is a diagram illustrating an operation method in which the server device 100 manages a cache by setting an expected cache expiration time according to various embodiments.
도 5에서 서버 디바이스(100)는, 동작 301에 따른 업데이트 완료 설정 시점에서 동작 307에 따른 제1 업데이트가 수행되도록 설정된 점을 확인할 수 있다(501). 제1 업데이트가 수행되도록 설정된 점을 확인한 서버 디바이스(100)는 제1 업데이트가 유효한 기간을 설정하고 이후 캐시에 대한 새로운 업데이트가 수행되도록 관리할 필요가 있으므로, 업데이트 완료 설정 시점 이후 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정할 수 있다(503). 캐시 만료 예정 시점이 설정되면 제1 업데이트의 유효 기간은 캐시 만료 예정 시점까지로 확인될 수 있으며, 서버 디바이스(100)는 캐시 만료 예정 시점 이후 캐시에 대한 새로운 업데이트가 수행되도록 설정하여(505), 제1 업데이트가 수행되고 일정한 시간이 지난 후 캐시에 새롭게 갱신되도록 관리할 수 있다.In FIG. 5 , the server device 100 can confirm that the first update according to operation 307 is set to be performed at the time when the update completion according to operation 301 is set (501). After confirming that the first update is set to be performed, the server device 100 needs to set a valid period for the first update and manage a new update to the cache thereafter, so it responds to the first update after the update completion setting point. You can set the expected cache expiration point (503). When the cache expiration time is set, the validity period of the first update can be confirmed as until the cache expiration time, and the server device 100 sets a new update to the cache to be performed after the cache expiration time (505), After the first update is performed, the cache can be managed to be newly updated after a certain period of time has passed.
예를 들어, 동작 503에 따라 서버 디바이스(100)가 제1 업데이트에 대응하여 설정한 캐시 만료 예정 시점은, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점으로부터 일정한 시간 간격을 가지도록 설정될 수 있으며, 이 때 상기 일정한 시간 간격은 관리자 디바이스(200)에 대응하는 관리자 또는 사용자가 설정한 시간 간격일 수 있다. 즉, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점을 설정한 관리자 또는 사용자는, 제1 업데이트가 완료되고 일정한 시간 간격 이후 새로운 업데이트가 수행될 수 있도록 하는 캐시 만료 예정 시점을 설정할 수 있다. 일 예로, 업데이트 완료 설정 시점으로부터 1분, 2분, 3분, ... 등의 시간 간격을 가지도록 캐시 만료 예정 시점이 설정될 수 있다. 다른 일 예로, 업데이트 완료 설정 시점으로부터, 현재 시점에서 업데이트 완료 설정 시점까지에 해당하는 시간 간격을 가지도록 캐시 만료 예정 시점이 설정될 수도 있다.For example, the scheduled cache expiration time set by the server device 100 in response to the first update according to operation 503 may be set to have a certain time interval from the update completion setting time that is managed so that the first update is completed. In this case, the constant time interval may be a time interval set by the manager or user corresponding to the manager device 200. That is, an administrator or user who sets an update completion setting time point that manages the first update to be completed can set a cache expiration time point that allows a new update to be performed after a certain time interval after the first update is completed. As an example, the cache expiration time may be set to have a time interval of 1 minute, 2 minutes, 3 minutes, etc. from the time the update completion is set. As another example, the scheduled cache expiration time may be set to have a time interval corresponding to the time interval from the update completion setting time to the current update completion setting time.
예를 들어, 동작 503에 따라 서버 디바이스(100)가 제1 업데이트에 대응하여 설정한 캐시 만료 예정 시점은, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점으로부터 임의의 시간 간격을 가지도록 설정될 수 있으며, 이 때 상기 임의의 시간 간격은 랜덤(random) 함수에 기반하여 무작위로 결정되는 시간 간격일 수 있다. 즉, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점을 설정한 관리자 또는 사용자는, 제1 업데이트가 완료되고 임의로 설정되는 시간 간격 이후 새로운 업데이트가 수행될 수 있도록 하는 캐시 만료 예정 시점을 설정할 수 있다. 업데이트 완료 설정 시점으로부터 임의의 시간 간격을 가지도록 캐시 만료 예정 시점을 설정하는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이에 설정되는 시간 간격이 지나치게 짧게 설정되어 업데이트가 불필요하게 반복되도록 관리되는 문제가 발생하거나, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이에 설정되는 시간 간격이 지나치게 길게 설정되어 업데이트가 제 때 수행되지 않는 문제가 발생할 수 있다. 이를 위해, 서버 디바이스(100)는 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격을 설정할 수 있는 최소 시간 간격 값 및 최대 시간 간격 값을 설정하여, 최소 시간 간격 값부터 최대 시간 간격 값 사이에서 랜덤 함수에 따른 임의의 시간 간격이 결정되도록 설정할 수도 있다.For example, the scheduled cache expiration time set by the server device 100 in response to the first update according to operation 503 may be set to have a random time interval from the update completion setting time that is managed so that the first update is completed. In this case, the arbitrary time interval may be a time interval randomly determined based on a random function. In other words, the administrator or user who sets the update completion setting time point managed so that the first update is completed can set the cache expiration time point so that a new update can be performed after the first update is completed and a randomly set time interval. . When the cache expiration time is set to a random time interval from the update completion setting point, the time interval set between the update completion setting point and the cache expiration point is set too short, causing the update to be repeated unnecessarily. may occur, or the time interval between the update completion point and the scheduled cache expiration point may be set too long, causing a problem in which the update is not performed on time. To this end, the server device 100 sets a minimum time interval value and a maximum time interval value that can set the time interval between the update completion setting point and the cache expiration point, and sets the minimum time interval value and the maximum time interval value between the minimum time interval value and the maximum time interval value. It can also be set to determine a random time interval according to a random function.
예를 들어, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격은, 캐시에 대하여 확인되는 데이터 요청의 수에 기반하여 설정될 수도 있다. 즉, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격에서 캐시에 대하여 확인되는 데이터 요청의 수가 많다면, 해당 데이터 요청에 대응하는 데이터 확인을 완료한 뒤 캐시를 갱신하는 것이 적절할 수 있으므로, 캐시에 대하여 확인되는 데이터 요청의 수에 맞춰 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격을 설정할 수도 있다. 일 예로, 캐시에 대하여 확인되는 데이터 요청의 수가 N개라면 상기 시간 간격을 1분으로, 캐시에 대하여 확인되는 데이터 요청의 수가 2N개라면 상기 시간 간격을 2분으로 설정하는 등 데이터 요청의 수가 일정하게 증가할 때마다 상기 시간 간격도 일정한 간격으로 늘어나도록 설정할 수 있다.For example, the time interval between the update completion setting point and the cache expiration point may be set based on the number of data requests confirmed for the cache. In other words, if the number of data requests confirmed for the cache in the time interval between the update completion setting point and the scheduled cache expiration point is large, it may be appropriate to update the cache after completing the data confirmation corresponding to the data request, so the cache You can also set the time interval between the update completion point and the cache expiration point according to the number of data requests confirmed. For example, if the number of data requests confirmed for the cache is N, the time interval is set to 1 minute, and if the number of data requests confirmed for the cache is 2N, the time interval is set to 2 minutes, etc. The number of data requests is constant. The time interval can also be set to increase at regular intervals whenever it increases.
예를 들어, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격은, 캐시가 저장하는 데이터의 특성을 고려하여 설정될 수 있다. 캐시에 연계된 스토리지에 저장되는 데이터가, 실시간으로 업데이트 되어야 할 필요성이 있는 것으로 판단되는 데이터에 해당하고 캐시가 이와 같은 데이터를 저장하도록 관리되는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격이 짧게 설정되어 캐시가 보다 자주 업데이트 되어 보다 실시간의 데이터를 저장할 수 있다. 반면 캐시에 연계된 스토리지에 저장되는 데이터가, 실시간으로 업데이트 되어야 할 필요성이 없는 것으로 판단되는 데이터에 해당하고 캐시가 이와 같은 데이터를 저장하도록 관리되는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격이 길게 설정되어 캐시의 업데이트에 따른 부하를 경감할 수 있다. For example, the time interval between the update completion point and the cache expiration point can be set in consideration of the characteristics of the data stored in the cache. If the data stored in the storage associated with the cache corresponds to data that is judged to need to be updated in real time, and the cache is managed to store such data, the time between the update completion setting and the scheduled cache expiration The interval is set short, so the cache is updated more frequently, allowing more real-time data to be stored. On the other hand, if the data stored in storage linked to the cache corresponds to data that is judged not to need to be updated in real time and the cache is managed to store such data, the time between the update completion setting point and the scheduled cache expiration time The time interval is set long to reduce the load due to cache updates.
예를 들어, 캐시 만료 예정 시점 이후 이전의 제1 업데이트와는 다른 제2 업데이트가 수행되도록 관리되는 경우에 있어서, 이와 같은 제2 업데이트는 캐시 만료 예정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청에 의해 트리거링 되어 수행될 수 있다. 서버 디바이스(100)는 캐시 만료 예정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청이 있으면 제2 업데이트를 수행할 수 있으며, 이 때, 전술한 제1 업데이트와 유사하게, 캐시 만료 예정 시점 이후 캐시에 대하여 최초로 수신되는 데이터 확인 요청에 의해 제2 업데이트가 트리거링 될 수 있다. 즉, 캐시에 대해서는 복수의 데이터 확인 요청이 수신될 수 있으나, 캐시에 대한 제2 업데이트는 캐시 만료 예정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 의해 시작되도록 설정되어, 서버 디바이스(100)가 캐시 만료 예정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 기반하여 제2 업데이트를 수행할 수 있다.For example, in the case where a second update that is different from the previous first update is managed to be performed after the cache expiration point, such a second update is performed by a data confirmation request received for the cache after the cache expiration point. It can be triggered and performed. The server device 100 may perform a second update if there is a request to confirm data received for the cache after the cache expiration time. At this time, similar to the first update described above, the server device 100 may perform a second update on the cache after the cache expiration time. The second update may be triggered by the first received data confirmation request. That is, a plurality of data confirmation requests may be received for the cache, but the second update for the cache is set to be started by the first data confirmation request received for the cache after the cache expiration time, so that the server device 100 A second update may be performed based on the first data confirmation request received for the cache after the scheduled cache expiration time.
예를 들어, 캐시 만료 예정 시점은 사용자가 설정한 사용자 설정 업데이트에 해당하는 제1 업데이트가 유효한 시점에 해당함을 고려해, 서버 디바이스(100)는 이와 같은 캐시 만료 예정 시점 이후 수행되는 제2 업데이트에 대해서는 제2 업데이트가 완료될 때까지 캐시에 대해 데이터 확인 요청이 있더라도 데이터 확인을 중단하도록 설정할 수 있다. 즉, 캐시 만료 예정 시점 이후 최초의 데이터 확인 요청이 수신되어 제2 업데이트가 진행되는 상황에서, 서버 디바이스(100)는 제2 업데이트가 완료될 때까지 캐시에 대하여 수신되는 다른 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정할 수 있다.For example, considering that the cache expiration time corresponds to the time when the first update corresponding to the user settings update set by the user is valid, the server device 100 may Data verification can be set to stop even if there is a data verification request for the cache until the second update is completed. That is, in a situation where the first data confirmation request is received after the scheduled cache expiration time and the second update is in progress, the server device 100 responds to other data confirmation requests received for the cache until the second update is completed. You can set it to stop checking data.
또는, 서버 디바이스(100)는 상기와 같은 데이터 확인의 중단이 조건부로 이루어지도록 설정할 수도 있다. 즉, 서버 디바이스(100)는 데이터 확인 요청이 많은 경우 또는 데이터 확인 처리에 지연(latency)이 발생할 것으로 예상되는 경우 데이터 확인이 중단되도록 설정할 수 있다. 일 예로, 제2 업데이트가 수행되는 모든 경우에 대해서 데이터 확인이 중단되도록 설정한다면 불필요하게 데이터 확인이 되지 않는 상황이 발생할 수 있으므로, 서버 디바이스(100)는 캐시 만료 예정 시점 이후 최초의 데이터 확인 요청이 수신되어 제2 업데이트가 진행되는 상황에서, 상기 최초의 데이터 확인 요청 이후 일정 시간 동안 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 제2 업데이트가 완료될 때까지 캐시에 대하여 수신되는 다른 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정할 수 있다.Alternatively, the server device 100 may be set so that the interruption of data confirmation as described above is conditional. That is, the server device 100 can be set to stop data confirmation when there are many data confirmation requests or when latency is expected to occur in data confirmation processing. For example, if data confirmation is set to stop in all cases where the second update is performed, a situation may occur where data is not confirmed unnecessarily, so the server device 100 may make the first data confirmation request after the cache expiration point. In a situation where a second update is received and in progress, if the number of other data confirmation requests received for the cache for a certain period of time after the first data confirmation request is more than a threshold number, the number of requests received for the cache until the second update is completed You can set it to stop data verification in response to other data verification requests.
서버 디바이스(100)가 도 3 내지 도 5에 따라 캐시에 대한 업데이트를 수행하는 동작은, 도 6과 같은 모습으로 나타날 수 있다.An operation in which the server device 100 performs an update on the cache according to FIGS. 3 to 5 may appear as shown in FIG. 6 .
도 6은 본 발명에 따른 캐시의 업데이트가 수행되는 모습을 도시한 도면이다.Figure 6 is a diagram showing how a cache update is performed according to the present invention.
601에서 서버 디바이스(100)는 사용자가 설정한 업데이트 완료 설정 시점(user setting)이 포함된 시구간(refreshed range)에서 업데이트가 완료되도록 관리하기 위해, 캐시의 지난 업데이트에 소요된 업데이트 소요 시간 또는, 캐시의 지난 업데이트 이력을 기반으로 캐시의 업데이트에 필요한 것으로 확인된 통상의 업데이트 소요 시간(last execution time)을 고려한 업데이트 시작 설정 시점(start refresh)을 결정할 수 있다. 즉, 업데이트 시작 설정 시점(start refresh) 이후 캐시에 대한 데이터 확인 요청이 수신되면 캐시에 대한 사용자 설정의 업데이트가 시작될 수 있으며, 사용자가 설정한 업데이트 완료 설정 시점(user setting)이 포함된 시구간(refreshed range)에서 사용자 설정의 업데이트가 완료될 수 있다.At 601, the server device 100 sets the update time required for the last update of the cache, or Based on the cache's past update history, the update start point (start refresh) can be determined considering the normal update time (last execution time) found to be necessary for the cache update. In other words, when a data confirmation request for the cache is received after the update start setting point (start refresh), the update of the user settings for the cache may begin, and the time period that includes the update completion setting point (user setting) set by the user ( The update of user settings can be completed in the refreshed range.
또한, 이와 같은 사용자 설정의 업데이트가 유효한 기간을 설정하고 캐시에 대한 새로운 업데이트가 수행될 수 있도록 관리하기 위해, 서버 디바이스(100)는 603과 같이 캐시 만료 예정 시점(redis cache expire)을 설정할 수도 있다. 캐시 만료 예정 시점 이후 캐시에 대한 데이터 확인 요청이 수신되면 캐시는 새롭게 업데이트 될 수 있다. 603에서는, 업데이트 완료 설정 시점(user setting)으로부터 3분 이후 캐시 만료 예정 시점(redis cache expire)이 설정된 것을 확인할 수 있다.Additionally, in order to set a valid period for such updates of user settings and manage new updates to the cache, the server device 100 may set a cache expiration point (redis cache expire) as shown in 603. . If a request to confirm data about the cache is received after the cache expiration point, the cache may be newly updated. In 603, you can see that the cache expiration time (redis cache expire) is set 3 minutes after the update completion time (user setting).
도 3 내지 도 6에 따른 동작 방법을 수행하는 과정에서 서버 디바이스(100)가 제공하는 각 정보들이 다양한 형태로 결합되어 제공될 수 있음은 자명하다.It is obvious that in the process of performing the operation method according to FIGS. 3 to 6, each piece of information provided by the server device 100 may be combined and provided in various forms.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시 예는 일부분들이 서로 조합되어 시스템에 의해 구현될 수 있다.The embodiments of the present invention disclosed in the specification and drawings are merely provided as specific examples to easily explain the technical content of the present invention and to facilitate understanding of the present invention, and are not intended to limit the scope of the present invention. In other words, it is obvious to those skilled in the art that other modifications based on the technical idea of the present invention can be implemented. Additionally, each of the above embodiments can be operated in combination with each other as needed. For example, all embodiments of the present invention can be implemented by a system by combining parts of each other.
또한, 본 발명에 따른 시스템 등에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.Additionally, 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 code on a computer readable recording medium in certain respects. A computer-readable recording medium is any data storage device capable of storing data that can be read 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 (data transmission over the Internet, etc.). Computer-readable recording media may also be distributed across networked computer systems, such that computer-readable code is stored and executed in a distributed manner. Additionally, functional programs, codes, 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, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 이와 같은 메모리 또는 컴퓨터를 포함한 차량 등에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. Additionally, it will be appreciated that the devices and methods according to various embodiments of the present invention can be implemented in the form of hardware, software, or a combination of hardware and software. Such software may, for example, use any storage device, volatile or non-volatile, such as ROM, whether erasable or rewritable, or memory such as, for example, RAM, memory chips, devices or integrated circuits; Alternatively, it may be stored on a storage medium that is optically or magnetically recordable and readable by a machine (e.g., a computer), for example, a compact disk (CD), DVD, magnetic disk, or magnetic tape. . 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 memory or a computer, and such memory is a program containing instructions that implement the embodiments of the present invention. Alternatively, you can see that it is an example of a machine-readable storage medium suitable for storing programs.
따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the present invention includes a program containing code for implementing the device or method described in the claims of this specification and a machine-readable storage medium (such as a computer) storing such a program. Additionally, such programs may be transmitted electronically through any medium, such as communication signals transmitted over a wired or wireless connection, and the present invention includes equivalents thereof as appropriate.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.Although the present invention has been described above with reference to embodiments of the present invention, the embodiments of the present invention disclosed in the specification and drawings are merely presented as specific examples to easily explain the technical content of the present invention and to aid understanding of the present invention. It is not intended to limit the scope. 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 equivalent scope of embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the following patent claims.

Claims (17)

  1. 전자 장치가 캐시(cache)에 대한 업데이트(update)를 수행하는 방법에 있어서,In a method for an electronic device to update a cache,
    상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계;Obtaining information about an update completion time set by a user to update the cache;
    상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계;Checking the time required to update the cache;
    상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및determining an update start setting time for the cache based on the update completion setting time and the update time required; and
    상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 포함하는,Comprising the step of performing a first update on the cache based on the update start setting time,
    캐시 업데이트 수행 방법.How to perform a cache update.
  2. 제 1 항에 있어서,According to claim 1,
    상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응하는,The update time corresponds to the average time required for a plurality of updates corresponding to the update history performed on the cache.
    캐시 업데이트 수행 방법.How to perform a cache update.
  3. 제 1 항에 있어서,According to claim 1,
    상기 제1 업데이트는 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 수신되는 데이터 확인 요청에 기반하여 트리거링(triggering) 되고,The first update is triggered based on a data confirmation request received for the cache after the update start setting time,
    상기 제1 업데이트는 상기 업데이트 완료 설정 시점이 포함된 일정한 시구간 내에서 완료되도록 설정되는,The first update is set to be completed within a certain time period including the update completion setting point,
    캐시 업데이트 수행 방법.How to perform a cache update.
  4. 제 3 항에 있어서,According to claim 3,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제1 데이터 확인 요청에 기반하여, 상기 제1 업데이트가 트리거링 되도록 설정하는 단계를 더 포함하는,Further comprising setting the first update to be triggered based on the first data confirmation request received for the cache after the update start setting time,
    캐시 업데이트 수행 방법.How to perform a cache update.
  5. 제 4 항에 있어서, According to claim 4,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 캐시에 대한 업데이트 진행 여부를 확인하는 플래그(flag) 정보를 설정하는 단계; 및Setting flag information to check whether an update to the cache is in progress; and
    상기 제1 데이터 확인 요청이 수신된 점에 기반하여, 상기 플래그 정보의 값을 설정하는 단계를 더 포함하는,Further comprising setting a value of the flag information based on the fact that the first data confirmation request is received,
    캐시 업데이트 수행 방법.How to perform a cache update.
  6. 제 5 항에 있어서,According to claim 5,
    상기 플래그 정보의 상기 설정된 값에 기반하여, 상기 제1 데이터 확인 요청 이후 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청에 의해 상기 캐시에 대한 업데이트가 트리거링 되지 않도록 설정되는, Based on the set value of the flag information, the update to the cache is not triggered by another data confirmation request received for the cache after the first data confirmation request,
    캐시 업데이트 수행 방법.How to perform a cache update.
  7. 제 3 항에 있어서,According to claim 3,
    상기 업데이트 시작 설정 시점 이후 상기 캐시에 대한 데이터 확인 요청이 수신되지 않는 경우, 상기 제1 업데이트가 트리거링 되지 않는,If a data confirmation request for the cache is not received after the update start setting point, the first update is not triggered,
    캐시 업데이트 수행 방법.How to perform a cache update.
  8. 제 1 항에 있어서,According to claim 1,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 업데이트 완료 설정 시점 이후 상기 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하는 단계; 및Setting a cache expiration time corresponding to the first update after the update completion setting time point; and
    상기 캐시 만료 예정 시점 이후 상기 캐시에 대한 새로운 업데이트가 수행되도록 설정하는 단계를 더 포함하는,Further comprising setting a new update to the cache to be performed after the cache expiration time,
    캐시 업데이트 수행 방법.How to perform a cache update.
  9. 제 8 항에 있어서,According to claim 8,
    상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 상기 사용자가 설정한 일정한 시간 간격을 가지도록 설정되는,The cache expiration time is set to have a certain time interval set by the user from the update completion point.
    캐시 업데이트 수행 방법.How to perform a cache update.
  10. 제 8 항에 있어서,According to claim 8,
    상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 랜덤(random) 함수에 기반하여 결정되는 임의의 시간 간격을 가지도록 설정되는, The cache expiration time is set to have a random time interval determined based on a random function from the update completion setting point.
    캐시 업데이트 수행 방법.How to perform a cache update.
  11. 제 8 항에 있어서,According to claim 8,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 캐시 만료 예정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제2 데이터 확인 요청에 기반하여, 상기 캐시에 대한 제2 업데이트를 수행하는 단계를 더 포함하는,Further comprising performing a second update on the cache based on a second data confirmation request received for the first time for the cache after the cache expiration time point,
    캐시 업데이트 수행 방법.How to perform a cache update.
  12. 제 11 항에 있어서,According to claim 11,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 제2 데이터 확인 요청이 수신된 점에 기반하여, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함하는,Based on the second data confirmation request being received, configuring the cache to suspend data confirmation corresponding to the received data confirmation request until the second update is completed,
    캐시 업데이트 수행 방법.How to perform a cache update.
  13. 제 12 항에 있어서,According to claim 12,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 제2 데이터 확인 요청이 수신되고 상기 제2 데이터 확인 요청 이후 일정 시간 동안 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함하는,When the second data confirmation request is received and the number of other data confirmation requests received for the cache for a certain period of time after the second data confirmation request is more than a threshold number, reception for the cache is performed until the second update is completed. Further comprising setting to stop data verification in response to a data verification request,
    캐시 업데이트 수행 방법.How to perform a cache update.
  14. 제 1 항에 있어서,According to claim 1,
    상기 캐시 업데이트 수행 방법은,The method of performing the cache update is:
    상기 캐시에 대한 제3 데이터 확인 요청을 수신하는 단계;Receiving a third data confirmation request for the cache;
    상기 제3 데이터 확인 요청이 수신된 시점을 확인하는 단계; 및Confirming when the third data confirmation request is received; and
    상기 수신된 시점 및 상기 업데이트 완료 설정 시점을 비교하여, 상기 캐시에서 상기 제3 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정하는 단계를 더 포함하는,Comparing the received time point and the update completion setting time point, further comprising setting the cache to check data corresponding to the third data confirmation request,
    캐시 업데이트 수행 방법.How to perform a cache update.
  15. 제 14 항에 있어서,According to claim 14,
    상기 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 상기 제1 업데이트가 수행되기 전 상기 캐시에 저장된 기존 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정되는,If the received time is before the update completion setting time, the existing data stored in the cache before the first update is performed is set to be confirmed in response to the third data confirmation request,
    캐시 업데이트 수행 방법.How to perform a cache update.
  16. 제 14 항에 있어서,According to claim 14,
    상기 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 상기 제1 업데이트가 수행된 이후 상기 캐시에 저장된 업데이트 된 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정되는,If the received time is after the update completion setting time, the updated data stored in the cache after the first update is performed is set to be confirmed in response to the third data confirmation request,
    캐시 업데이트 수행 방법.How to perform a cache update.
  17. 캐시(cache)에 대한 업데이트(update)를 수행하는 전자 장치에 있어서,In an electronic device that performs an update to a cache,
    프로세서 (processor); 및processor; and
    하나 이상의 인스트럭션 (instruction) 을 저장하는 하나 이상의 메모리 (memory) 를 포함하고, Contains one or more memories that store one or more instructions,
    상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가:The one or more instructions, when executed, cause the processor to:
    상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계;Obtaining information about an update completion time set by a user to update the cache;
    상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계;Checking the time required to update the cache;
    상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및determining an update start setting time for the cache based on the update completion setting time and the update time required; and
    상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 수행하도록 상기 프로세서를 제어하는,Controlling the processor to perform a step of performing a first update to the cache based on the update start setting time,
    전자 장치.Electronic devices.
PCT/KR2022/009226 2022-06-24 2022-06-28 Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same WO2023249151A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220077367A KR20240000768A (en) 2022-06-24 2022-06-24 Operating method for electronic apparatus for performing cashe update and electronic apparatus supporting thereof
KR10-2022-0077367 2022-06-24

Publications (1)

Publication Number Publication Date
WO2023249151A1 true WO2023249151A1 (en) 2023-12-28

Family

ID=89380164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/009226 WO2023249151A1 (en) 2022-06-24 2022-06-28 Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same

Country Status (3)

Country Link
KR (1) KR20240000768A (en)
TW (1) TW202403534A (en)
WO (1) WO2023249151A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054854A1 (en) * 2002-09-17 2004-03-18 Pirasenna Thiyagaranjan Hybrid system and method for updating remote cache memory
US20060041633A1 (en) * 2002-02-22 2006-02-23 Microsoft Corporation Opportunistic directory cache
US20060136669A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Cache refresh algorithm and method
KR102175618B1 (en) * 2016-06-06 2020-12-16 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Information processing method and apparatus, and method and apparatus for displaying dynamic information
KR102352257B1 (en) * 2015-11-03 2022-01-17 삼성전자주식회사 Coodinated garbage collection of flash drives in a distributed storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041633A1 (en) * 2002-02-22 2006-02-23 Microsoft Corporation Opportunistic directory cache
US20040054854A1 (en) * 2002-09-17 2004-03-18 Pirasenna Thiyagaranjan Hybrid system and method for updating remote cache memory
US20060136669A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Cache refresh algorithm and method
KR102352257B1 (en) * 2015-11-03 2022-01-17 삼성전자주식회사 Coodinated garbage collection of flash drives in a distributed storage system
KR102175618B1 (en) * 2016-06-06 2020-12-16 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Information processing method and apparatus, and method and apparatus for displaying dynamic information

Also Published As

Publication number Publication date
TW202403534A (en) 2024-01-16
KR20240000768A (en) 2024-01-03

Similar Documents

Publication Publication Date Title
WO2018143673A1 (en) Electronic device and fingerprint recognition method of electronic device
WO2017191889A1 (en) Electronic device and method for controlling same
WO2016137297A1 (en) Method and device for controlling payment function
WO2017010772A1 (en) Apparatus and method for providing memo function
WO2017030303A1 (en) Electronic device and user authentication method thereof
WO2018105996A1 (en) Electronic device and card registration method thereof
WO2018038504A1 (en) Electronic device and system for providing content and method of providing content
WO2023249151A1 (en) Operation method of electronic apparatus for performing cache update and electronic apparatus supporting same
WO2023106492A1 (en) Operation method for data serving structure configuration and electronic device for supporting same
WO2019160323A1 (en) Method for managing data associated with application and electronic device therefor
WO2018182227A1 (en) Electronic device and operating method thereof
WO2019147029A1 (en) Method for receiving merchant information and electronic device using same
WO2018110916A1 (en) Server, electronic device and data management method
WO2023214604A1 (en) Operating method of electronic device for setting information, and electronic device supporting same
WO2023249150A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2024058294A1 (en) Electronic device operation method for processing information, and electronic device for supporting same
WO2024090639A1 (en) Operation method of electronic device for providing information and electronic device supporting same
WO2023191157A1 (en) Operation method of electronic device for providing page, and electronic device supporting same
WO2023191154A1 (en) Operation method of electronic device for providing page, and electronic device supporting same
WO2024025022A1 (en) Method for operating electronic device for providing information, and electronic device supporting same
WO2023191153A1 (en) Operating method of electronic device for configuring information, and electronic device supporting same
WO2024010116A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2024085319A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2023204350A1 (en) Operation method of electronic device for providing information for delivery demand control and electronic device supporting same
WO2023017878A1 (en) Operation method for providing item group information 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: 22948085

Country of ref document: EP

Kind code of ref document: A1