WO2022065564A1 - 전자 장치 및 이를 이용한 정보 제공 방법 - Google Patents

전자 장치 및 이를 이용한 정보 제공 방법 Download PDF

Info

Publication number
WO2022065564A1
WO2022065564A1 PCT/KR2020/013470 KR2020013470W WO2022065564A1 WO 2022065564 A1 WO2022065564 A1 WO 2022065564A1 KR 2020013470 W KR2020013470 W KR 2020013470W WO 2022065564 A1 WO2022065564 A1 WO 2022065564A1
Authority
WO
WIPO (PCT)
Prior art keywords
counter
information
cache
value
database
Prior art date
Application number
PCT/KR2020/013470
Other languages
English (en)
French (fr)
Inventor
김석현
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2022065564A1 publication Critical patent/WO2022065564A1/ko

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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present disclosure relates to an electronic device and a method for providing information using the same.
  • a system that provides services to users online can be composed of a front-end server and a back-end server, and the back-end server manages the information provided to users, and the front-end service manages the information received from the back-end server. It can be provided adaptively to users.
  • Disclosed embodiments are to provide an electronic device and a method for providing information using the same. More specifically, an object of the present invention is to provide an information providing method capable of reducing access to a main database and transmitting related information to a front-end server within a relatively short time, and an electronic device using the same.
  • the disclosed embodiment provides the user with information approximating the information stored in the actual database while reducing the load on the database, and provides a method of updating information in a separate database for providing information based on changes in the actual information stored in the database.
  • Another object of the present invention is to provide a method capable of providing necessary information to a user in a different way and an electronic device using the same.
  • a method for providing information by an electronic device includes: receiving a counter information request; checking cache counter information corresponding to the counter information request from a cache database related to the counter; and transmitting response information corresponding to the counter information request based on the checked cache counter information.
  • receiving a counter update request updating counter information corresponding to the counter update request in a main database related to the counter in response to the counter update request; and updating the cache counter information based on the counter information stored in the main database.
  • the updating of the cache counter information may include updating the cache counter information based on an update time corresponding to the cache counter information.
  • the method may include checking at least one of a counter value corresponding to the cache counter information, a change rate of the counter value, and information on a residual value of the counter value from the main database.
  • the method may include transmitting the response information corresponding to the counter information request based on the counter information checked in the main database.
  • the updating of the cache counter information includes updating the cache counter information based on a second time after updating the cache counter information based on a first time;
  • the interval between the time and the second time is at least one of a counter value corresponding to the cache counter information identified from the main database at the first time, a rate of change of the counter value, and information on a residual value of the counter value. It may be characterized in that it is determined based on one.
  • the interval between the first time and the second time may be reduced than before when the rate of change of the counter value corresponds to more than a preset rate.
  • the interval between the first time and the second time may be shorter than before when the ratio between the change speed of the counter value and the preset speed corresponds to a specific ratio or more.
  • the interval between the first time and the second time may be shorter than before when the residual value of the counter value checked during the first time corresponds to a reference value or less.
  • the update time may be determined based on a change rate of the counter value.
  • the update time may be determined based on a comparison between a residual value of the counter value and a reference value.
  • An electronic device includes: a communication device that receives a request for counter information and transmits response information corresponding to the request for counter information; a first database; a second database; and a controller configured to check cache counter information corresponding to the counter information request from the first database related to the counter, and check the response information corresponding to the counter information request.
  • the computer-readable recording medium includes a non-transitory recording medium in which a program for executing the above-described method in a computer is recorded.
  • response information in response to a request for counter information from the front-end server, response information is transmitted to the front-end server based on the cache counter information checked using the cache database, thereby reducing access to the main database and reducing the relative waiting time can be reduced.
  • the update time interval of the cache database may be reduced when a specific condition is met, so that cache counter information stored in the cache database may be updated more frequently. For this reason, by providing an approximation using a cache database that is faster than the main database and can process more information, access to the main database can be reduced and requests can be processed relatively quickly.
  • FIG. 1 shows a system for providing a service according to an embodiment.
  • FIG 2 illustrates an embodiment of an information providing method performed by an electronic device.
  • FIG. 3 illustrates a process of determining an update time corresponding to cache counter information according to an embodiment.
  • FIG. 4 is a block diagram of an electronic device according to an embodiment.
  • the "terminal” referred to below may be implemented as a computer or a portable terminal capable of accessing a server or other terminal through a network.
  • the computer includes, for example, a laptop, a desktop, and a laptop equipped with a web browser
  • the portable terminal is, for example, a wireless communication device that ensures portability and mobility.
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wide-Code Division Multiple Access
  • LTE Long Term Evolution
  • It may include a handheld-based wireless communication device.
  • FIG. 1 shows a system for providing a service according to an embodiment.
  • a system for providing a service may include at least one of a front end server 110 and a back end server 120 .
  • a front end server 110 may include at least one of a front end server 110 and a back end server 120 .
  • a back end server 120 may be included in addition to the components shown in FIG. 1 .
  • the front-end server 110 and the back-end server 120 may communicate with each other within a network.
  • Network includes local area network (LAN), wide area network (WAN), value added network (VAN), mobile radio communication network (mobile radio communication network), satellite communication network, and combinations thereof It is a data communication network in a comprehensive sense that enables each of the network constituent entities shown in FIG. 1 to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
  • Wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association) ), NFC (Near Field Communication), etc. may be there, but is not limited thereto.
  • the front-end server 110 may transmit the counter information request 130 to the back-end server 120 based on at least one of a user's request and a request of the server itself.
  • the back-end server 120 may transmit response information 140 corresponding to the counter information request 130 to the front-end server 110 .
  • the front-end server 110 may output the received response information 140 through the output unit 111 .
  • the front-end server 110 transmits an information request related to the page to the back-end server 120
  • the back-end server 120 may transmit a value stored in at least one database among a plurality of databases to the front-end server 110 in response to the information request.
  • the back-end server 120 may include at least one of a first database 121 and a second database 123 .
  • the first database 121 may be a database in which cached information corresponding to the requested information is stored
  • the second database 123 may be a database in which a value corresponding to the actual information is stored.
  • Information stored in the first database 121 may be updated based on the second database 123 according to a specific time interval.
  • the back-end server 120 provides information to the front-end server 110 based on a value stored in the first database 121, and it is necessary to record the change of specific information. If there is, an update corresponding to the change of the specific information may be performed in the second database 123 .
  • the first database 121 may be a cache database storing cache counter information
  • the second database 123 may be a main database storing counter information.
  • the cache database which is distinct from the main database, can store and load cache counter information, and it is faster than the main database and can process more information.
  • the speed at which the main database accesses the counter information may be relatively faster than the speed at which the cache database accesses the cache counter information. Due to this, the cache database can process more operations per unit time.
  • the cache database may be implemented using a local memory of a server related to the main database or memory of another server. Although the cache database is referred to as a concept in contrast to the main database in the embodiment, the two databases may be implemented in different ways.
  • the first database 121 may generate cache counter information based on the counter information of the second database 123 , and according to a specific time interval, the first database 121 converts the cache counter information to the second database 123 . ) can be updated based on the counter information.
  • Response information transmitted in response to the counter information request is determined based on cache counter information stored in the cache database, and the response information may be an approximation of counter information stored in the main database.
  • the cache counter information stored in the cache counter base is updated based on the counter information stored in the main database at times T1 and T2
  • when a counter information request is received from the front-end server between times T1 and T2 back
  • the end server may transmit response information based on cache counter information stored in the updated cache database at time T1.
  • the response information may be an approximation of counter information stored in the main database.
  • the first database 121 may store cache counter information
  • the second database 123 may store counter information.
  • the counter information may include at least one of a counter value, a rate of change of the counter value, and a residual value of the counter value.
  • the cache counter information may include at least one of a cache counter value and a residual value of the cache counter value, and the cache counter information may be determined based on the counter information.
  • the counter may be numerical information that is increased or decreased as numerical information monitored or managed by the back-end server 120 .
  • the residual value of the counter value may be numerical information that decreases corresponding to the counter value, or in the case of numerical information in which the counter value decreases, the residual value of the counter value corresponds to the counter value Therefore, it may be numerical information that increases.
  • the back-end server 120 may perform inventory management or budget management related to a specific event using the counter.
  • the counter value for product A is 500 pieces
  • the residual value of the counter value is 9500 pieces
  • the rate of change of the counter value is V A
  • time T2 At time T3, the counter value for product A is 2000
  • the residual value of the counter value is 8000
  • the rate of change of the counter value is V B.
  • the counter value for product A is 7000
  • the residual value of the counter value is 3000
  • the rate of change of the counter value may be V C .
  • the back-end server 120 may use a counter to perform budget management.
  • the counter value is 10 million won, the remaining value of the counter value is 90 million won, the rate of change of the counter value is V 1 , and at time T2, the counter value is 30 million won, the counter The residual value of the value may be 70 million won, the rate of change of the counter value may be V 2 , the counter value may be 60 million won at time T3, the residual value of the counter value may be 40 million won, and the rate of change of the counter value may be V 3 .
  • the counter is not limited to inventory management and budget management, and can be applied even when numerical information management is required.
  • the back-end server 120 may monitor or manage numerical information using a counter, and the front-end server 110 may display information received from the back-end server 120 . In this case, the back-end server 120 may transmit response information to the front-end server 110 based on the information obtained through the first database 121 . In this case, the first database 121 may update the stored cache counter information based on the counter information stored in the second database 123 .
  • the second database 123 which is the main database, may update related information whenever counter information changes.
  • the second database 123 serving as the main database may update related information in real time. For example, when counter information is changed in inventory management, the second database 123 may update related information.
  • the first database 121 which is a cache database, may be updated based on information obtained from the second database 123 .
  • a waiting time and throughput may increase.
  • the information output to the user is not an actual value but an approximate value of the actual value, so that the second database 123 is frequently accessed to update the first database 121 .
  • the waiting time can be reduced and the throughput can be reduced.
  • the cache counter information if the counter information approaches a threshold value and the information displayed to the user is different from the actual information, the information displayed to the user and the information the user can respond to may be different.
  • counter information can be requested in the same way, and the back-end server can decide which database to return information stored in based on the change or current state of the counter information, and based on the above status information, You can also adjust the frequency of updating the cache database.
  • FIG 2 illustrates an embodiment of an information providing method performed by an electronic device.
  • the electronic device may receive a counter information request.
  • the electronic device may receive a counter information request from the front-end server.
  • the front-end server may manage a target requiring monitoring of numerical information based on the counter information. For example, when selling a product with a limited quantity, the back-end server may manage quantity information of the product, and the front-end server may receive and output related information from the back-end server.
  • the electronic device may check cache counter information corresponding to the counter information request from the cache database related to the counter.
  • the electronic device corresponding to the back-end server may include a cache database that stores cache counter information and a main database that stores counter information.
  • the cache counter information may be updated based on counter information stored in the main database.
  • the main database may update related information whenever counter information changes or in real time.
  • the cache counter base may update cache counter information based on counter information stored in the main database.
  • the electronic device may receive a counter update request, and the electronic device may update counter information stored in a main database related to a counter in response to the counter update request.
  • the counter update request may be a request received whenever counter information changes or in real time.
  • the electronic device may update cache counter information based on counter information stored in the main database.
  • the cache counter information may include at least one of a cache counter value and a residual value of the cache counter value.
  • the cache counter value may correspond to the counter value of the main database
  • the residual value of the cache counter value may correspond to the residual value of the main database.
  • the electronic device may update the cache counter information based on an update time corresponding to the cache counter information. That is, the cache counter information stored in the cache database may be determined based on the counter information stored in the main database at the moment of update.
  • the cache counter values stored in the cache database updated at time T1 will also be 1000 pieces; The remaining value of the cache counter value may also be 9000.
  • 1020 counter values and 8980 counter values are stored in the main database at time T2
  • 1020 cache counter values and 8980 residual values of cache counter values stored in the cache database updated at time T2 may also be numbered.
  • the update time of the cache database may be changed based on counter information.
  • the cache database may update the cache counter information based on the second time.
  • the interval between the first time and the second time is based on at least one of a counter value corresponding to the cache counter information identified from the main database at the first time, a rate of change of the counter value, and information on the residual value of the counter value can be determined by More specifically, after the cache counter information is updated at the time T1, after the cache counter information is updated at the time T2, the cache counter information may be updated at the time T3.
  • the interval between T2 and T1 may be determined based on counter information confirmed from the main database at T1
  • the interval between T3 and T2 may be determined based on counter information confirmed from the main database at T2.
  • the update time interval may be reduced.
  • the rate of change of the counter value may be determined using the counter value at the previous time (e.g. T0) and the counter value at the current time (e.g. T1), and the preset rate may be determined in advance based on statistics.
  • the rate of change of the counter value confirmed from the main database at T1 is smaller than the preset rate, and the rate of change of the counter value confirmed from the main database at T2 is greater than or equal to the preset rate, the time interval between T2 and T1 is T3
  • the time interval between and T2 may be reduced. This is to monitor the counter value more frequently when it is determined that the rate of change of the counter value is relatively fast.
  • the update time interval may be reduced.
  • the rate of change of the counter value may be determined using the counter value at the previous time (eg T0) and the counter value at the current time (eg T1), and the preset rate and specific ratio are to be determined in advance based on statistics.
  • the time interval between T3 and T2 may be smaller than the time interval between T2 and T1. This is to monitor the counter value more frequently when it is determined that the rate of change of the counter value is relatively fast.
  • the update time interval may be reduced.
  • the reference value may be determined in advance based on statistics. For example, if the reference value is preset to 500, if the residual value of the counter value confirmed from the main database at T1 is 530, the time interval between T2 and T1 remains as before, but the counter value confirmed from the main database at T2 When the residual value of the value is 495, the time interval between T3 and T2 may be shorter than the time interval between T2 and T1. This is to monitor counter information more frequently. More specifically, the reference value may be subdivided into a plurality of reference values such as reference value 1 (e.g.
  • the update time interval may be further reduced.
  • the time interval between T2 and T1 remains as before, but the time interval between T3 and T2 is between T2 and T1. may be shorter than the time interval of
  • the time interval between T3 and T2 may be maintained. If the residual value of the counter value corresponds to the reference value 2 or less, the time interval may be reduced than before.
  • the time interval between T11 and T12 and the time interval between T13 and T12 is equal to T3 and It may correspond to the time interval between T2. However, the time interval between T13 and T14 may be shorter than the time interval between T13 and T12. This is to monitor more frequently as the residual value of the counter value approaches '0'. If the residual value of the counter value corresponds to the reference value 3 or less, the time interval may be further reduced than before.
  • the cache database may update related information in near real time. Accordingly, the cache database may update related information in near real time with reference to counter information stored in the main database.
  • the electronic device may determine response information based on counter information checked in the main database. That is, the response information may not be determined based on information identified in the cache database, but may be determined based on information identified in the main database. This is because, when the residual value of the counter value is less than or equal to the reference value 3, the residual value is approaching '0' and it is necessary to monitor more frequently.
  • the cache database may update cache counter information in consideration of the counter value, the rate of change of the counter value, and the residual value of the counter value.
  • the electronic device may transmit response information corresponding to the counter information request based on the checked cache counter information. Specifically, when the cache database updates cache counter information based on the counter information, the electronic device may check the cache counter information. In this case, the electronic device may transmit response information corresponding to the request for counter information received from the front-end server to the front-end server.
  • the response information may be determined based on the checked cache counter information. For example, if the quantity is limited to 10000 items sold, the electronic device may determine response information based on 8240 cache counter values and 1760 remaining cache counter values at time T1, and transmit the response information to the front-end server. can By accessing the cache database without accessing the main database in response to the counter information request to determine response information and transmitting it to the front-end server, the waiting time can be reduced and the load on the main database can be reduced.
  • FIG. 3 illustrates a process of determining an update time corresponding to cache counter information according to an embodiment.
  • the electronic device may receive a counter information request from the front end server in step S301 .
  • the counter may be numerical information that is increased or decreased as numerical information monitored by the electronic device.
  • the electronic device may manage numerical information, and the front-end server may receive related information from the electronic device.
  • the main database storing counter information may update related information whenever counter information changes or may update related information in real time.
  • the cache database storing the cache counter information may update the cache counter information based on the update time.
  • the cache counter information stored in the cache database may be determined in consideration of counter information stored in the main database at the moment of update. When the cache counter information is updated at time T1, the cache counter information may be updated based on the counter information stored in the main database.
  • the electronic device may determine response information based on the cache counter information and transmit it to the front-end server.
  • the update time for the cache counter information is a non-fixed value and may be determined in consideration of a specific condition. For example, the update time may be determined based on a rate of change of the counter value, or may be determined based on a comparison between a residual value of the counter value and a reference value.
  • the electronic device may check whether it corresponds to a specific condition in step S303. Specifically, the electronic device may monitor the related information the moment the cache database is updated, and check whether the related information corresponds to a specific condition. In step S305, the electronic device may adjust the update time interval when it corresponds to the specific condition, and in step S307, the electronic device maintains the update time interval when it does not correspond to the specific condition. For example, when the rate of change of the counter value is smaller than the preset rate, since the accuracy of the counter value and the cache counter value may be maintained at a certain level, an update time interval of the cache counter information may be maintained.
  • the update time interval of the cache counter information may be reduced in order to maintain the accuracy of the counter value and the cache counter value at a constant level. That is, by updating the cache counter information more frequently, the accuracy between the cache counter information and the counter information may be maintained at a certain level.
  • an update time interval of cache counter information may be maintained.
  • the update time interval of the cache counter information may be reduced.
  • the reference value may be subdivided into a plurality, and when the residual value of the counter value corresponds to each reference value, different update time intervals may be applied.
  • a counter value in which the residual value of the counter value becomes '0' may be set as a threshold value. When the counter value reaches the threshold value, the information displayed to the user and the action that can be taken based on the information may be different. Therefore, it is necessary to display the counter value corresponding to the actual counter value to the user.
  • the time interval for updating the cache database is adjusted based on the degree to which the counter value reaches the threshold value, or when the counter value approaches the threshold value, the counter value of the main database is returned to the front-end server or the user by returning the actual counter value. Information corresponding to the value may be provided to the user.
  • the standard of directly returning the counter value of the main database can be performed similarly to the method of determining the time interval for updating the cache database, but the reference value can be determined in consideration of the load of the main database and user experience.
  • the load of the main database due to the cache counter value update may increase.
  • the information update time for the cache counter with the remaining counter value remaining above a specific value can be adjusted. For example, the update for one cycle is omitted, and the update can be performed. In this way, the period at which the cache counter value is updated can be changed according to the load level of the main database.
  • FIG. 4 is a block diagram of an electronic device according to an embodiment.
  • the electronic device 400 may include a communication device 410 , a first database 420 , a second database 430 , and a controller 440 , according to an embodiment.
  • a communication device 410 may include a communication device 410 , a first database 420 , a second database 430 , and a controller 440 , according to an embodiment.
  • FIG. 4 only components related to the present embodiment are illustrated. Accordingly, it can be understood by those of ordinary skill in the art related to the present embodiment that other general-purpose components may be further included in addition to the components shown in FIG. 4 . Since the electronic device 400 may include the above-described content related to the electronic device, a description of overlapping content will be omitted.
  • the communication device 410 is an apparatus for performing wired/wireless communication and may communicate with a front-end server.
  • Communication technologies used by the communication device 410 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), Wireless-Fidelity (Wi-Fi). , BluetoothTM, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), ZigBee, Near Field Communication (NFC), and the like.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • BluetoothTM Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the communication device 410 may be referred to as a transceiver, and the electronic device 400 may exchange information with an external node through the transceiver.
  • the first database 420 may correspond to a cache database storing cache counter information
  • the second database 430 may correspond to a main database storing counter information.
  • the cache counter information may be determined based on the counter information.
  • the controller 440 may control the overall operation of the electronic device 400 and process data and signals.
  • the controller 440 may be configured with at least one hardware unit.
  • the controller 440 may operate by one or more software modules generated by executing program codes stored in a memory.
  • the controller 440 may include a processor and a memory, and the processor may execute a program code stored in the memory to control the overall operation of the electronic device 400 and process data and signals.
  • the controller 440 may include at least one processor.
  • control unit 440 Since the control unit 440 transmits response information to the front-end server using the cache counter information, access to the main database can be reduced, and a waiting time can also be reduced.
  • the service providing system has been described by dividing the service providing system into a front end and a back end throughout the embodiment, this is a conceptual matter, and in actual implementation, the service having a server that provides information stored in a database in response to a user request includes, in this specification It is obvious that the embodiment of
  • the electronic device or terminal includes a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key (key) ), user interface devices such as buttons, and the like.
  • Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
  • the computer-readable recording medium includes a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optically readable medium (eg, CD-ROM). ), and DVD (Digital Versatile Disc)).
  • the computer-readable recording medium may be distributed among network-connected computer systems, so that the computer-readable code may be stored and executed in a distributed manner.
  • the medium may be readable by a computer, stored in a memory, and executed on a processor.
  • This embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in any number of hardware and/or software configurations that perform specific functions.
  • an embodiment may be an integrated circuit configuration, such as memory, processing, logic, look-up table, etc., capable of executing various functions by the control of one or more microprocessors or other control devices.
  • this embodiment includes various algorithms implemented in a combination of data structures, processes, routines or other programming constructs, including C, C++, Java ( Java), assembler, etc. may be implemented in a programming or scripting language.
  • Functional aspects may be implemented in an algorithm running on one or more processors.
  • the present embodiment may employ the prior art for electronic environment setting, signal processing, and/or data processing.
  • Terms such as “mechanism”, “element”, “means” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in connection with a processor or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치의 정보 제공 방법이 개시된다. 정보 제공 방법은, 카운터 정보 요청을 수신하는 단계; 카운터와 관련된 캐시 데이터베이스로부터 상기 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인하는 단계; 및 상기 확인된 캐시 카운터 정보에 기초하여, 상기 카운터 정보 요청에 대응하는 응답 정보를 전송하는 단계를 포함할 수 있다.

Description

전자 장치 및 이를 이용한 정보 제공 방법
본 개시는 전자 장치 및 이를 이용한 정보 제공 방법에 관한 것이다.
통상적으로 온라인에서 사용자에게 서비스를 제공하는 시스템은 프론트 엔드 서버와 백 엔드 서버로 구성될 수 있고, 백 엔드 서버에서 사용자에게 제공하는 정보를 관리하고, 프론트 엔드 서비는 백 엔드 서버로부터 수신한 정보를 사용자에게 적응적으로 제공할 수 있다.
이와 같은 서비스를 이용하는 사용자가 늘어나게 될 경우, 사용자에게 정보를 제공하기 위해서 프론트 엔드 서버의 데이터베이스에 접근이 늘어나게 되고, 정보를 제공하는 동안에 데이터베이스의 업데이트가 제한될 수 있으므로 사용자 증가에 따라 백 엔드 측의 데이터베이스의 부하가 늘어나게 될 수 있다.
이와 같은 환경에서 사용자에게 효과적으로 정보를 제공하면서, 데이터베이스의 부하를 줄일 수 있는 기술이 필요하다.
개시된 실시 예들은 전자 장치 및 이를 이용한 정보 제공 방법을 제공하고자 한다. 보다 구체적으로 메인 데이터베이스에 대한 액세스를 줄이고 상대적으로 빠른 시간 내에 프론트 엔드 서버로 관련 정보를 전송할 수 있는 정보 제공 방법 및 이를 이용한 전자 장치를 제공하는 것을 목적으로 한다.
또한 개시된 실시 예는 사용자에게 실제 데이터베이스에 저장된 정보에 근사하는 정보를 데이터베이스의 부하를 줄이면서 제공하고, 데이터베이스에 저장된 실제 정보의 변화를 기반으로 정보 제공을 위한 별도의 데이터베이스의 정보를 업데이트 하는 방식을 다르게 하여 사용자에게 필요한 정보를 제공할 수 있는 방법 및 이를 이용한 전자 장치를 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제1 실시 예에 따라, 전자 장치의 정보 제공 방법은 카운터 정보 요청을 수신하는 단계; 카운터와 관련된 캐시 데이터베이스로부터 상기 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인하는 단계; 및 상기 확인된 캐시 카운터 정보에 기초하여, 상기 카운터 정보 요청에 대응하는 응답 정보를 전송하는 단계를 포함할 수 있다.
실시 예에 따르면, 카운터 업데이트 요청을 수신하는 단계; 상기 카운터 업데이트 요청에 대응하여 상기 카운터와 관련된 메인 데이터베이스에 상기 카운터 업데이트 요청에 대응하는 카운터 정보를 업데이트 하는 단계; 및 상기 메인 데이터베이스에 저장된 카운터 정보를 기초로 상기 캐시 카운터 정보를 업데이트 하는 단계를 포함할 수 있다.
실시 예에 따르면, 상기 캐시 카운터 정보를 업데이트 하는 단계는, 상기 캐시 카운터 정보에 대응하는 업데이트 시간에 기초하여 상기 캐시 카운터 정보를 업데이트하는 단계를 포함할 수 있다.
실시 예에 따르면, 상기 메인 데이터베이스로부터 상기 캐시 카운터 정보에 대응하는 카운터 값 및 상기 카운터 값의 변화 속도 및 상기 카운터 값의 잔여값에 대한 정보 중 적어도 하나를 확인하는 단계를 포함할 수 있다.
실시 예에 따르면, 상기 카운터 값의 상기 잔여값이 기준값 이하인 경우, 상기 메인 데이터베이스에서 확인된 상기 카운터 정보에 기초하여 상기 카운터 정보 요청에 대응하는 상기 응답 정보를 전송하는 단계를 포함할 수 있다.
실시 예에 따르면, 상기 캐시 카운터 정보를 업데이트 하는 단계는 제1 시간에 기초하여 상기 캐시 카운터 정보를 업데이트한 이후, 제2 시간에 기초하여 상기 캐시 카운터 정보를 업데이트하는 단계를 포함하고, 상기 제1 시간과 상기 제2 시간 사이의 간격은, 상기 제1 시간에 상기 메인 데이터베이스로부터 확인된 상기 캐시 카운터 정보에 대응하는 카운터 값 및 상기 카운터 값의 변화 속도 및 상기 카운터 값의 잔여값에 대한 정보 중 적어도 하나에 기초하여 결정되는 것을 특징으로 할 수 있다.
실시 예에 따르면, 상기 제1 시간과 상기 제2 시간 사이의 간격은, 상기 카운터 값의 변화 속도가 기 설정된 속도 이상에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 할 수 있다.
실시 예에 따르면, 상기 제1 시간과 상기 제2 시간 사이의 간격은, 상기 카운터 값의 변화 속도와 기 설정된 속도 간의 비율이 특정 비율 이상에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 할 수 있다.
실시 예에 따르면, 상기 제1 시간과 상기 제2 시간 사이의 간격은, 상기 제1 시간 동안 확인된 상기 카운터 값의 잔여 값이 기준값 이하에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 할 수 있다.
실시 예에 따르면, 상기 업데이트 시간은, 상기 카운터 값의 변화 속도에 기초하여 결정되는 것을 특징으로 할 수 있다.
실시 예에 따르면, 상기 업데이트 시간은, 상기 카운터 값의 잔여값과 기준값의 비교에 기초하여 결정되는 것을 특징으로 할 수 있다.
제2 실시 예에 따르는 전자 장치는, 카운터 정보 요청을 수신하고, 상기 카운터 정보 요청에 대응하는 응답 정보를 전송하는 통신 디바이스; 제1 데이터베이스; 제2 데이터베이스; 및 카운터와 관련된 상기 제1 데이터베이스로부터 상기 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인하여, 상기 카운터 정보 요청에 대응하는 상기 응답 정보를 확인하는 제어부를 포함할 수 있다.
제3 실시 예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함한다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다.
본 명세서의 실시 예에 의할 경우, 프론트 엔드 서버의 카운터 정보 요청에 대응하여 캐시 데이터베이스를 이용하여 확인된 캐시 카운터 정보에 기초하여 응답 정보를 프론트 엔드 서버로 전송함으로써 메인 데이터베이스에 대한 액세스를 줄이고 상대적으로 대기시간이 감소될 수 있다. 이때, 메인 데이터베이스와 달리 캐시 데이터베이스는 특정 조건에 대응하는 경우 업데이트 시간 간격이 줄어들 수 있어, 캐시 데이터베이스에 저장된 캐시 카운터 정보가 보다 빈번하게 업데이트될 수 있다. 이로 인해, 메인 데이터베이스 보다 속도가 빠르고 더 많은 정보를 처리할 수 있는 캐시 데이터베이스를 이용하여 근사값을 제공함으로써, 메인 데이터베이스에 대한 액세스를 줄이고 요청에 대응하여 상대적으로 빠르게 처리할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 실시 예에 따른 서비스 제공을 위한 시스템을 나타낸다.
도 2는 전자 장치에서 수행하는 정보 제공 방법의 일 실시 예를 나타낸다.
도 3은 실시 예에 따른 캐시 카운터 정보에 대응하는 업데이트 시간을 결정하는 과정을 나타낸다.
도 4는 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "~부", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a,b,c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 서비스 제공을 위한 시스템을 나타낸다.
도 1을 참조하면, 서비스 제공을 위한 시스템은 프론트 엔드 서버(front end server)(110) 및 백 엔드 서버(back end server)(120) 중에서 적어도 하나를 포함할 수 있다. 도 1에 도시된 시스템은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
프론트 엔드 서버(110)와 백 엔드 서버(120)는 네트워크 내에서 서로 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
프론트 엔드 서버(110)는 사용자의 요청 및 서버 자체의 요청 중 적어도 하나를 기반으로 백 엔드 서버(120)로 카운터 정보 요청(130)을 전송할 수 있다. 백 엔드 서버(120)는 카운터 정보 요청(130)에 대응하는 응답 정보(140)를 프론트 엔드 서버(110)로 전송할 수 있다. 프론트 엔드 서버(110)는 수신한 응답 정보(140)를 출력부(111)를 통해 출력할 수 있다. 일 예에 따르면 사용자가 특정 페이지에 대한 정보 요청을 프론트 엔드 서버(110)에 할 경우, 프론트 엔드 서버(110)는 해당 페이지와 관련된 정보 요청을 백 엔드 서버(120)에 전송하고, 백 엔드 서버(120)는 정보 요청에 대응하여 복수의 데이터베이스 중 적어도 하나의 데이터베이스에 저장된 값을 프론트 엔드 서버(110)로 전송할 수 있다.
백 엔드 서버(120)는 제1 데이터베이스(121) 및 제2 데이터베이스(123) 중에서 적어도 하나를 포함할 수 있다. 여기서, 제1 데이터베이스(121)는 요청된 정보에 대응하는 캐싱된 정보가 저장되는 데이터베이스 일 수 있으며, 제2 데이터베이스(123)는 실제 정보에 대응하는 값이 저장되는 데이터베이스 일수 있다. 제1 데이터베이스(121)에 저장된 정보는 특정 시간 간격에 따라 제2 데이터베이스(123)를 기반으로 업데이트 될 수 있다. 일 예에 따르면 사용자 접근이 빈번한 정보에 대해서 백 엔드 서버(120)는 제1 데이터베이스(121)에 저장된 값을 기반으로 프론트 엔드 서버(110)에 정보를 제공하고, 특정 정보의 변경을 기록할 필요가 있을 경우 제2 데이터베이스(123)에서 상기 특정 정보의 변경에 대응하는 업데이트를 수행할 수 있다.
일 예에 따르면 제1 데이터베이스(121)는 캐시 카운터 정보를 저장하는 캐시 데이터베이스일 수 있고, 제2 데이터베이스(123)는 카운터 정보를 저장하는 메인 데이터베이스일 수 있다. 메인 데이터베이스와 구별되는 캐시 데이터베이스는 캐시 카운터 정보를 저장 및 로딩할 수 있으며, 메인 데이터베이스보다 속도가 빠르고 보다 많은 정보를 처리할 수 있다. 메인 데이터베이스가 카운터 정보에 접근하는 속도 보다 캐시 데이터베이스가 캐시 카운터 정보에 접근하는 속도가 상대적으로 더 빠를 수 있다. 이로 인해, 캐시 데이터베이스는 단위 시간당 더 많은 연산을 처리할 수 있다. 또한 실시 예에서 캐시 데이터베이스는 메인 데이터베이스와 관련된 서버의 로컬 메모리 또는 다른 서버의 메모리를 사용하여 구현될 수 있다. 실시 예에서 메인 데이터베이스와 대비되는 개념으로 캐시 데이터베이스를 언급하였으나 두 데이터 베이스는 다른 방식으로 구현될 수 있다.
이때 제1 데이터베이스(121)는 제2 데이터베이스(123)의 카운터 정보를 기반으로 캐시 카운터 정보를 생성할 수 있으며, 특정 시간 간격에 따라 제1 데이터베이스(121)는 캐시 카운터 정보를 제2 데이터베이스(123)의 카운터 정보를 기반으로 업데이트 할 수 있다. 카운터 정보 요청에 대응하여 전송되는 응답 정보는 캐시 데이터베이스에 저장된 캐시 카운터 정보에 기반하여 결정되는 것으로, 응답 정보는 메인 데이터베이스에 저장된 카운터 정보의 근사값일 수 있다. 구체적으로, 시간 T1과 시간 T2일 때 메인 데이터베이스에 저장된 카운터 정보에 기초하여 캐시 카운터베이스에 저장된 캐시 카운터 정보가 업데이트된 경우, 시간 T1과 T2 사이 프론트 엔드 서버로부터 카운터 정보 요청을 수신한 경우, 백 엔드 서버는 시간 T1에 업데이트된 캐시 데이터베이스에 저장된 캐시 카운터 정보에 기초하여 응답 정보를 전송할 수 있다. 이때, 응답 정보는 메인 데이터베이스에 저장된 카운터 정보에 대한 근사값일 수 있다.
제1 데이터베이스(121)는 캐시 카운터 정보를 저장할 수 있고, 제2 데이터베이스(123)는 카운터 정보를 저장할 수 있다. 카운터 정보는 카운터 값, 카운터 값의 변화 속도 및 카운터 값의 잔여값 중에서 적어도 하나를 포함할 수 있다. 캐시 카운터 정보는 캐시 카운터 값 및 캐시 카운터 값의 잔여값 중에서 적어도 하나를 포함할 수 있고, 캐시 카운터 정보는 카운터 정보를 기초로 결정될 수 있다.
이때, 카운터는 백 엔드 서버(120)에서 모니터링 또는 관리하는 수치 정보로서 증가하거나 감소하는 수치 정보일 수 있다. 이때, 카운터 값이 증가하는 수치 정보인 경우 카운터 값의 잔여값은 카운터 값에 대응하여 감소하는 수치 정보일 수 있고, 또는 카운터 값이 감소하는 수치 정보인 경우 카운터 값의 잔여값은 카운터 값에 대응하여 증가하는 수치 정보일 수 있다. 예를 들면, 백 엔드 서버(120)는 카운터를 이용하여 재고 관리나, 특정 이벤트와 관련된 예산 관리를 수행할 수 있다.
구체적으로, 시간 T0에서 제품 A에 대한 재고 10000개가 있는 경우, 시간 T1에서 제품 A에 대한 카운터 값은 500개, 카운터 값의 잔여값은 9500개, 카운터 값의 변화 속도는 VA이고, 시간 T2에서 제품 A에 대한 카운터 값은 2000개, 카운터 값의 잔여값은 8000개, 카운터 값의 변화 속도는 VB이고, 시간 T3에서 제품 A에 대한 카운터 값은 7000개, 카운터 값의 잔여값은 3000개, 카운터 값의 변화 속도는 VC일 수 있다. 다른 예를 들면, 백 엔드 서버(120)는 카운터를 이용하여 예산 관리를 수행할 수 있다. 또는, 시간 T0에서 예산 1억원이 있는 경우, 시간 T1에서 카운터 값은 1000만원, 카운터 값의 잔여값은 9000만원, 카운터 값의 변화 속도는 V1이고, 시간 T2에서 카운터 값은 3000만원, 카운터 값의 잔여값은 7000만원, 카운터 값의 변화 속도는 V2이고, 시간 T3에서 카운터 값은 6000만원, 카운터 값의 잔여값은 4000만원, 카운터 값의 변화 속도는 V3일 수 있다. 카운터는 재고 관리, 예산 관리에 한정되지 않으며, 수치 정보의 관리가 필요한 경우에도 적용될 수 있다.
백 엔드 서버(120)는 카운터를 이용하여 수치 정보를 모니터링 또는 관리할 수 있고, 프론트 엔드 서버(110)는 백 엔드 서버(120)에서 수신한 정보를 표시할 수 있다. 이때, 백 엔드 서버(120)는 제1 데이터베이스(121)를 통해 획득한 정보에 기초하여 응답 정보를 프론트 엔드 서버(110)로 전송할 수 있다. 이때, 제2 데이터베이스(123)에 저장된 카운터 정보에 기초하여 제1 데이터베이스(121)은 저장된 캐시 카운터 정보를 업데이트할 수 있다.
이때, 메인 데이터베이스인 제2 데이터베이스(123)는 카운터 정보가 변화할 때마다 관련 정보를 업데이트할 수 있다. 또는, 메인 데이터베이스인 제2 데이터베이스(123)는 실시간으로 관련 정보를 업데이트할 수 있다. 예를 들면, 재고 관리에서 카운터 정보가 변화한 경우 제2 데이터베이스(123)는 관련 정보를 업데이트할 수 있다.
또한, 캐시 데이터베이스인 제1 데이터베이스(121)는 제2 데이터베이스(123)로부터 획득한 정보에 기초하여 업데이트할 수 있다. 제1 데이터베이스(121)의 업데이트를 위해 제2 데이터베이스(123)에 빈번하게 액세스할 경우, 대기시간의 증가 및 처리량이 증가할 수 있다. 일정한 조건에서 재고 관리 또는 예산 관리의 경우 사용자에게 출력되는 정보는 실제 값이 아니라 실제 값의 근사 값이어도 충분하므로, 제1 데이터베이스(121)의 업데이트를 위해 제2 데이터베이스(123)에 빈번하게 액세스할 필요가 없고, 이에 대기시간의 감소 및 처리량이 감소할 수 있다. 다만 캐시 카운터 정보를 사용할 때 카운터 정보가 임계 값에 임박한 경우, 사용자에게 표시된 정보와 실제 정보가 상이하게 되면, 사용자에게 표시되는 정보와 사용자가 대응할 수 있는 정보가 달라질 수 있는바, 이 경우 실제 값에 대응하는 카운터 정보를 출력할 필요성이 발생한다. 사용자나 프론트 엔드 서버의 경우 동일 방식으로 카운터 정보를 요청할 수 있고, 백엔드 서버는 카운터 정보의 변화 상태나 현재 상태를 기반으로 어떤 데이터베이스에 저장된 정보를 리턴할지를 결정할 수 있으며, 위의 상태 정보를 기반으로 캐시 데이터베이스를 업데이트 하는 주기를 조절할 수도 있다.
이하, 제1 데이터베이스(121) 및 제2 데이터베이스(123)를 포함하는 백 엔드 서버(120)에서 수행하는 구체적인 동작을 기재한다.
도 2는 전자 장치에서 수행하는 정보 제공 방법의 일 실시 예를 나타낸다.
도 2를 참조하면, 단계 S210에서 전자 장치는 카운터 정보 요청을 수신할 수 있다. 이때, 전자 장치는 백 엔드 서버에 대응하는 기기로서, 프론트 엔드 서버로부터 카운터 정보 요청을 수신할 수 있다. 프론트 엔드 서버는 카운터 정보에 기초하여 수치 정보의 모니터링이 필요한 대상을 관리할 수 있다. 예를 들면, 수량이 제한된 제품을 판매할 경우, 백 엔드 서버는 제품의 수량 정보를 관리할 수 있고, 프론트 엔드 서버는 백 엔드 서버로부터 관련 정보를 수신하여 출력할 수 있다.
단계 S220에서, 전자 장치는 카운터와 관련된 캐시 데이터베이스로부터 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인할 수 있다. 백 엔드 서버에 대응하는 전자 장치는 캐시 카운터 정보를 저장하는 캐시 데이터베이스와 카운터 정보를 저장하는 메인 데이터베이스를 포함할 수 있다.
이때, 캐시 카운터 정보는 메인 데이터베이스에 저장된 카운터 정보를 기초로 업데이트될 수 있다. 구체적으로, 메인 데이터베이스는 카운터 정보가 변화할 때마다 또는 실시간으로 관련 정보를 업데이트할 수 있다. 메인 데이터베이스와 달리, 캐시 카운터베이스는 메인 데이터베이스에 저장된 카운터 정보를 기초로 캐시 카운터 정보를 업데이트할 수 있다. 보다 구체적으로, 전자 장치는 카운터 업데이트 요청을 수신할 수 있고, 전자 장치는 카운터 업데이트 요청에 대응하여 카운터와 관련된 메인 데이터베이스에 저장된 카운터 정보를 업데이트할 수 있다. 이때, 카운터 업데이트 요청은 카운터 정보가 변화할 때마다 또는 실시간으로 수신하는 요청일 수 있다.
또한, 전자 장치는 메인 데이터베이스에 저장된 카운터 정보를 기초로 캐시 카운터 정보를 업데이트할 수 있다. 이때, 캐시 카운터 정보는 캐시 카운터 값 및 캐시 카운터 값의 잔여값 중 적어도 하나를 포함할 수 있다. 여기서, 캐시 카운터 값은 메인 데이터베이스의 카운터 값에 대응할 수 있고, 캐시 카운터 값의 잔여값은 메인 데이터베이스의 잔여값에 대응할 수 있다. 이때, 카운터 정보와 달리, 전자 장치는 캐시 카운터 정보에 대응하는 업데이트 시간에 기초하여 캐시 카운터 정보를 업데이트할 수 있다. 즉, 캐시 데이터베이스에 저장된 캐시 카운터 정보는 업데이트 순간 메인 데이터베이스에 저장된 카운터 정보에 기초하여 결정될 수 있다. 예를 들면, 수량이 10000개로 제한된 제품을 판매할 경우, 시간 T1에서 메인 데이터베이스에 저장된 카운터 값 1000개, 카운터 잔여값 9000개인 경우, 시간 T1에 업데이트하는 캐시 데이터베이스에 저장된 캐시 카운터 값도 1000개, 캐시 카운터 값의 잔여값도 9000개일 수 있다. 또한, 시간 T2에서 메인 데이터베이스에 저장된 카운터 값 1020개, 카운터 잔여값 8980개인 경우, 시간 T2에 업데이트하는 캐시 데이터베이스에 저장된 캐시 카운터 값도 1020개, 캐시 카운터 값의 잔여값도 8980개일 수 있다.
여기서, 캐시 데이터베이스의 업데이트 시간은 카운터 정보에 기초하여 변할 수 있다. 구체적으로, 캐시 데이터베이스는 제1 시간에 기초하여 캐시 카운터 정보를 업데이트한 이후, 제2 시간에 기초하여 캐시 카운터 정보를 업데이트할 수 있다. 이때, 제1 시간과 제2 시간 사이의 간격은 제1 시간에 메인 데이터베이스로부터 확인된 캐시 카운터 정보에 대응하는 카운터 값 및 카운터 값의 변화 속도 및 카운터 값의 잔여값에 대한 정보 중 적어도 하나에 기초하여 결정될 수 있다. 보다 구체적으로, 시간 T1에 캐시 카운터 정보를 업데이트한 이후, 시간 T2에 캐시 카운터 정보를 업데이트한 이후, 시간 T3에 캐시 카운터 정보를 업데이트할 수 있다. 이때, T2와 T1 사이의 간격은 T1에 메인 데이터베이스로부터 확인된 카운터 정보에 기초하여 결정될 수 있고, T3와 T2 사이의 간격은 T2에 메인 데이터베이스로부터 확인된 카운터 정보에 기초하여 결정될 수 있다.
실시 예에 따르면, 현재 시간에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도가 기 설정된 속도 이상에 대응하는 경우, 업데이트하는 시간 간격은 줄어들 수 있다. 이때, 카운터 값의 변화 속도는 이전 시간(e.g. T0)일 때 카운터 값과 현재 시간(e.g. T1)일 때 카운터 값을 이용하여 결정될 수 있고, 기 설정된 속도는 통계에 기초하여 사전에 결정될 수 있다. 구체적으로, T1에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도가 기 설정된 속도 보다 작고, T2에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도가 기 설정된 속도 이상인 경우, T2와 T1 사이의 시간 간격 보다 T3와 T2 사이의 시간 간격은 줄어들 수 있다. 이는, 카운터 값의 변화 속도가 상대적으로 빠르다고 판단된 경우, 카운터 값을 보다 빈번하게 모니터링하기 위함이다.
실시 예에 따르면, 현재 시간에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도와 기 설정된 속도 간의 비율이 특정 비율 이상에 대응하는 경우, 업데이트하는 시간 간격은 줄어들 수 있다. 이때, 카운터 값의 변화 속도는 이전 시간(e.g. T0)일 때 카운터 값과 현재 시간(e.g. T1)일 때 카운터 값을 이용하여 결정될 수 있고, 기 설정된 속도와 특정 비율은 통계에 기초하여 사전에 결정될 수 있다. 구체적으로, T1에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도와 기 설정된 속도 간의 비율이 특정 비율 보다 작고, T2에 메인 데이터베이스로부터 확인된 카운터 값의 변화 속도와 기 설정된 속도 간의 비율이 특정 비율 이상인 경우, T2와 T1 사이의 시간 간격 보다 T3와 T2 사이의 시간 간격은 줄어들 수 있다. 이는, 카운터 값의 변화 속도가 상대적으로 빠르다고 판단된 경우, 카운터 값을 보다 빈번하게 모니터링하기 위함이다.
실시 예에 따르면, 현재 시간에 메인 데이터베이스로부터 확인된 카운터 값의 잔여값이 기준값 이하에 대응하는 경우, 업데이트하는 시간 간격은 줄어들 수 있다. 이때, 기준값은 통계에 기초하여 사전에 결정될 수 있다. 예를 들면, 기준값이 500으로 사전에 설정된 경우, T1에 메인 데이터베이스로부터 확인된 카운터 값의 잔여값이 530인 경우 T2와 T1 사이의 시간 간격은 이전처럼 유지되지만, T2에 메인 데이터베이스로부터 확인된 카운터 값의 잔여값이 495인 경우 T3와 T2 사이의 시간 간격은 T2와 T1 사이의 시간 간격 보다 줄어들 수 있다. 이는, 카운터 정보를 보다 빈번하게 모니터링하기 위함이다. 보다 구체적으로, 기준값은 기준값 1(e.g. 500), 기준값 2(e.g. 300), 기준값 3(e.g. 100)과 같이 복수로 세분화될 수 있다. 이때, 카운터 값의 잔여값이 각각의 기준값 이하에 대응할 때 업데이트하는 시간 간격은 보다 줄어들 수 있다. 예를 들면, T1에 카운터 값의 잔여값이 530이고 T2에 카운터 값의 잔여값이 495인 경우, T2와 T1 사이의 시간 간격은 이전처럼 유지되지만 T3와 T2 사이의 시간 간격은 T2와 T1 사이의 시간 간격보다 줄어들 수 있다. 이때, 카운터 값의 잔여값이 기준값 1과 기준값 2 사이에 대응하는 경우, T3와 T2 사이의 시간 간격이 유지될 수 있다. 만약, 카운터 값의 잔여값이 기준값 2 이하에 대응하는 경우, 시간 간격은 이전 보다 줄어들 수 있다. T11에 카운터 값의 잔여값이 317이고 T12에 카운터 값의 잔여값이 303이고 T13에 카운터 값의 잔여값이 294인 경우, T11과 T12 사이의 시간 간격과 T13과 T12 사이의 시간 간격은 T3와 T2 사이의 시간 간격에 대응할 수 있다. 다만, T13과 T14 사이의 시간 간격은 T13과 T12 사이의 시간 간격 보다 줄어들 수 있다. 이는 카운터 값의 잔여값이 '0'에 가까워질수록 보다 빈번하게 모니터링하기 위함이다. 만약, 카운터 값의 잔여값이 기준값 3 이하에 대응하는 경우, 시간 간격은 이전 보다 더 줄어들 수 있다. T25에 카운터 값의 잔여값이 111이고 T26에 카운터 값의 잔여값이 102이고 T27에 카운터 값의 잔여값이 98인 경우, T25와 T26 사이의 시간 간격과 T27과 T26 사이의 시간 간격은 T13과 T14 사이의 시간 간격에 대응할 수 있다. 다만, T27과 T28 사이의 시간 간격은 T27과 T26 사이의 시간 간격 보다 줄어들 수 있다. 만약, 카운터 값의 잔여값이 기준값 3 이하에 대응하는 경우, 캐시 데이터베이스는 거의 실시간으로 관련 정보를 업데이트할 수 있다. 따라서, 캐시 데이터베이스는 메인 데이터베이스에 저장된 카운터 정보를 참조하여 거의 실시간으로 관련 정보를 업데이트할 수 있다. 또는, 카운터 값의 잔여값이 기준값 3 이하에 대응하는 경우, 전자 장치는 메인 데이터베이스에서 확인된 카운터 정보에 기초하여 응답 정보를 결정할 수 있다. 즉, 응답 정보가 캐시 데이터베이스에서 확인된 정보에 기초하여 결정되지 않고 메인 데이터베이스에서 확인된 정보에 기초하여 결정될 수 있다. 카운터의 값의 잔여값이 기준값 3 이하인 경우, 잔여값이 '0'에 임박한 경우로서 보다 빈번하게 모니터링할 필요가 있기 때문이다.
또한, 실시 예에 따르면, 카운터 값, 카운터 값의 변화 속도 및 카운터 값의 잔여값을 모두 고려하여 캐시 데이터베이스는 캐시 카운터 정보를 업데이트할 수 있다.
단계 S230에서, 전자 장치는 확인된 캐시 카운터 정보에 기초하여, 카운터 정보 요청에 대응하는 응답 정보를 전송할 수 있다. 구체적으로, 캐시 데이터베이스가 카운터 정보에 기초하여 캐시 카운터 정보를 업데이트한 경우, 전자 장치는 캐시 카운터 정보를 확인할 수 있다. 이때, 전자 장치는 프론트 엔드 서버로부터 수신한 카운터 정보 요청에 대응하는 응답 정보를 프론트 엔드 서버로 전송할 수 있다. 여기서, 응답 정보는 확인된 캐시 카운터 정보에 기초하여 결정될 수 있다. 예를 들면, 수량이 10000개로 제한된 물품 판매인 경우, 전자 장치는 시간 T1에서 캐시 카운터 값 8240개, 캐시 카운터 값의 잔여값 1760개에 기초하여 응답 정보를 결정할 수 있고, 이를 프론트 엔드 서버로 전송할 수 있다. 카운터 정보 요청에 대응하여 메인 데이터베이스에 액세스하지 않고 캐시 데이터베이스에 액세스하여 응답 정보를 결정하고 이를 프론트 엔드 서버로 전송함으로써, 대기시간이 감소할 수 있으며, 메인 데이터베이스의 부하를 줄일 수 있다.
도 3은 실시 예에 따른 캐시 카운터 정보에 대응하는 업데이트 시간을 결정하는 과정을 나타낸다.
도 3을 참조하면, 전자 장치는 단계 S301에서 프론트 엔드 서버로부터 카운터 정보 요청을 수신할 수 있다. 카운터는 전자 장치에서 모니터링하는 수치 정보로서 증가하거나 감소하는 수치 정보일 수 있다. 전자 장치는 수치 정보를 관리할 수 있고, 프론트 엔드 서버는 전자 장치로부터 관련 정보를 수신할 수 있다. 이때, 카운터 정보를 저장하는 메인 데이터베이스는 카운터 정보가 변화할 때마다 관련 정보를 업데이트하거나 또는 실시간으로 관련 정보를 업데이트할 수 있다. 캐시 카운터 정보를 저장하는 캐시 데이터베이스는 업데이트 시간에 기초하여 캐시 카운터 정보를 업데이트할 수 있다. 캐시 데이터베이스에 저장된 캐시 카운터 정보는 업데이트 순간 메인 데이터베이스에 저장된 카운터 정보를 고려하여 결정될 수 있다. 시간 T1에 캐시 카운터 정보가 업데이트하는 경우, 메인 데이터베이스에 저장된 카운터 정보에 기초하여 캐시 카운터 정보를 업데이트할 수 있다. 이때, 전자 장치는 캐시 카운터 정보에 기초하여 응답 정보를 결정하고, 이를 프론트 엔드 서버로 전송할 수 있다. 이때, 캐시 카운터 정보에 대한 업데이트 시간은 고정되지 않은 값으로서, 특정 조건을 고려하여 결정될 수 있다. 예를 들면, 업데이트 시간은 카운터 값의 변화 속도에 기초하여 결정되거나 또는 카운터 값의 잔여값과 기준값의 비교에 기초하여 결정될 수 있다.
전자 장치는 단계 S303에서 특정 조건에 대응하는지 여부를 확인할 수 있다. 구체적으로, 전자 장치는 캐시 데이터베이스를 업데이트하는 순간 관련 정보를 모니터링할 수 있고, 관련 정보가 특정 조건에 대응하는지 여부를 확인할 수 있다. 단계 S305에서 전자 장치는 특정 조건에 대응하는 경우 업데이트 시간 간격을 조절할 수 있고, 단계 S307에서 전자 장치는 특정 조건에 대응하지 않는 경우 업데이트 시간 간격을 유지할 수 있다. 예를 들면, 카운터 값의 변화 속도가 기 설정된 속도 보다 작은 경우, 카운터 값과 캐시 카운터 값의 정확성이 일정 수준으로 유지될 수 있으므로 캐시 카운터 정보의 업데이트 시간 간격은 유지될 수 있다. 다만, 카운터 값의 변화 속도가 기 설정된 속도 이상인 경우, 카운터 값과 캐시 카운터 값의 정확성이 일정 수준으로 유지하기 위해 캐시 카운터 정보의 업데이트 시간 간격이 줄어들 수 있다. 즉, 캐시 카운터 정보를 보다 빈번하게 업데이트함으로써 캐시 카운터 정보와 카운터 정보 간의 정확성이 일정 수준으로 유지될 수 있다. 다른 예를 들면, 카운터 값의 잔여값이 기준값 이상인 경우, 일정 시간 내에 카운터 값의 잔여값이 '0'이 될 확률이 상대적으로 적으므로 캐시 카운터 정보의 업데이트 시간 간격은 유지될 수 있다. 다만, 카운터 값의 잔여값이 기준값 보다 작은 경우, 일정 시간 내에 카운터 값의 잔여값이 '0'이 될 확률이 상대적으로 높으므로 캐시 카운터 정보의 업데이트 시간 간격이 줄어들 수 있다. 이때, 기준값은 복수로 세분화될 수 있으며, 카운터 값의 잔여값이 각각의 기준값에 대응할 때 서로 다른 업데이트 시간 간격이 적용될 수 있다. 실시 예에서 카운터 값의 잔여 값이'0'이 되는 카운터 값을 임계 값으로 설정할 수 있다. 카운터 값이 임계 값에 도달할 경우, 사용자에게 표시되는 정보와 해당 정보를 기반으로 취할 수 있는 동작이 달라질 수 있는 바, 실제 카운터 값에 해당하는 카운터 값을 사용자에게 표시해줄 필요성이 있다. 이 경우 카운터 값이 임계 값에 도달하는 정도를 기반으로 캐시 데이터베이스를 업데이트 하는 시간 간격을 조절하거나, 카운터 값이 임계 값에 임박한 경우, 메인 데이터베이스의 카운터 값을 프론트 엔드 서버나 사용자에게 리턴함으로써 실제 카운터 값에 대응하는 정보를 사용자에게 제공할 수 있다. 메인 데이터베이스의 카운터 값을 직접 리턴하는 기준은 위의 캐시 데이터베이스를 업데이트 하는 시간 간격을 결정하는 방법과 유사하게 수행될 수 있으나, 메인 데이터베이스의 부하와 사용자 경험을 고려하여 그 기준 값을 결정할 수 있다.
또한 실시 예에서 캐시 데이터베이스의 캐시 카운터 값을 업데이트 할 때 복수개의 카운터 값에 대응하는 값을 메인 데이터베이스로부터 업데이트 하게 되면 캐시 카운터 값 업데이트로 인한 메인 데이터베이스의 부하가 증가할 수 있다. 현재 메인 데이터베이스의 부하 정도를 판단하여, 부하 정도가 높을 경우, 카운터 잔여 값이 특정 값 이상 남은 캐시 카운터에 대한 정보 업데이트 시기를 조절할 수 있으며, 일 예로 한 주기 동안의 업데이트를 생략하고, 다음 주기에 업데이트를 수행할 수 있다. 이와 같이 메인 데이터베이스의 부하 정도에 따라 캐시 카운터 값을 업데이트 하는 주기를 변경할 수 있다.
도 4는 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
전자 장치(400)는 일 실시예에 따라, 통신 디바이스(communication device)(410), 제1 데이터베이스(420), 제2 데이터베이스(430) 및 제어부(controller)(440)를 포함할 수 있다. 도 4에 도시된 전자 장치(400)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 4에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(400)는 전술한 전자 장치에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다.
통신 디바이스(410)는 유/무선 통신을 수행하기 위한 장치로서, 프론트 엔드 서버와 통신할 수 있다. 통신 디바이스(410)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있다. 실시 예에서 통신 디바이스(410)는 트랜시버로 언급될 수 있으며, 트랜시버를 통해 전자 장치(400)는 외부 노드와 정보를 교환할 수 있다.
제1 데이터베이스(420)는 캐시 카운터 정보를 저장하는 캐시 데이터베이스에 대응하며, 제2 데이터베이스(430)는 카운터 정보를 저장하는 메인 데이터베이스에 대응할 수 있다. 캐시 카운터 정보는 카운터 정보에 기초하여 결정될 수 있다.
제어부(440)는 전자 장치(400)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 제어부(440)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 제어부(440)는 메모리에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 제어부(440)는 프로세서 및 메모리를 포함할 수 있는 바, 프로세서는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(400)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 또한 실시 예에서 제어부(440)는 적어도 하나의 프로세서를 포함할 수 있다.
제어부(440)는 캐시 카운터 정보를 이용하여 프론트 엔드 서버로 응답 정보를 전송하므로, 메인 데이터베이스에 대한 액세스를 줄일 수 있을 뿐만 아니라 대기시간도 감소될 수 있다.
한편 실시 예 전반에서 서비스 제공 시스템을 프론트 엔드와 백 엔드로 나누어서 설명하였으나, 이는 개념적인 사항에 해당하고, 실제 구현에서 사용자 요청에 대응하여 데이터베이스에 저장된 정보를 제공하는 서버를 구비하는 서비스에는 본 명세서의 실시 예가 적용될 수 있음은 자명하다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (14)

  1. 전자 장치의 정보 제공 방법으로서,
    카운터 정보 요청을 수신하는 단계;
    카운터와 관련된 캐시 데이터베이스로부터 상기 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인하는 단계; 및
    상기 확인된 캐시 카운터 정보에 기초하여, 상기 카운터 정보 요청에 대응하는 응답 정보를 전송하는 단계를 포함하는,
    정보 제공 방법.
  2. 제1항에 있어서,
    카운터 업데이트 요청을 수신하는 단계;
    상기 카운터 업데이트 요청에 대응하여 상기 카운터와 관련된 메인 데이터베이스에 상기 카운터 업데이트 요청에 대응하는 카운터 정보를 업데이트 하는 단계; 및
    상기 메인 데이터베이스에 저장된 카운터 정보를 기초로 상기 캐시 카운터 정보를 업데이트 하는 단계를 포함하는,
    정보 제공 방법.
  3. 제2항에 있어서,
    상기 캐시 카운터 정보를 업데이트 하는 단계는,
    상기 캐시 카운터 정보에 대응하는 업데이트 시간에 기초하여 상기 캐시 카운터 정보를 업데이트하는 단계를 포함하는,
    정보 제공 방법.
  4. 제2항에 있어서,
    상기 메인 데이터베이스로부터 상기 캐시 카운터 정보에 대응하는 카운터 값 및 상기 카운터 값의 변화 속도 및 상기 카운터 값의 잔여값에 대한 정보 중 적어도 하나를 확인하는 단계를 포함하는,
    정보 제공 방법.
  5. 제4항에 있어서,
    상기 카운터 값의 상기 잔여값이 기준값 이하인 경우, 상기 메인 데이터베이스에서 확인된 상기 카운터 정보에 기초하여 상기 카운터 정보 요청에 대응하는 상기 응답 정보를 전송하는 단계를 포함하는,
    정보 제공 방법.
  6. 제2항에 있어서,
    상기 캐시 카운터 정보를 업데이트 하는 단계는
    제1 시간에 기초하여 상기 캐시 카운터 정보를 업데이트한 이후, 제2 시간에 기초하여 상기 캐시 카운터 정보를 업데이트하는 단계를 포함하고,
    상기 제1 시간과 상기 제2 시간 사이의 간격은, 상기 제1 시간에 상기 메인 데이터베이스로부터 확인된 상기 캐시 카운터 정보에 대응하는 카운터 값 및 상기 카운터 값의 변화 속도 및 상기 카운터 값의 잔여값에 대한 정보 중 적어도 하나에 기초하여 결정되는 것을 특징으로 하는,
    정보 제공 방법.
  7. 제6항에 있어서,
    상기 제1 시간과 상기 제2 시간 사이의 간격은,
    상기 카운터 값의 변화 속도가 기 설정된 속도 이상에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 하는,
    정보 제공 방법.
  8. 제6항에 있어서,
    상기 제1 시간과 상기 제2 시간 사이의 간격은,
    상기 카운터 값의 변화 속도와 기 설정된 속도 간의 비율이 특정 비율 이상에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 하는,
    정보 제공 방법.
  9. 제6항에 있어서,
    상기 제1 시간과 상기 제2 시간 사이의 간격은,
    상기 제1 시간 동안 확인된 상기 카운터 값의 잔여 값이 기준값 이하에 대응하는 경우, 이전 보다 줄어드는 것을 특징으로 하는,
    정보 제공 방법.
  10. 제3항에 있어서,
    상기 업데이트 시간은, 상기 카운터 값의 변화 속도에 기초하여 결정되는 것을 특징으로 하는,
    정보 제공 방법.
  11. 제3항에 있어서,
    상기 업데이트 시간은, 상기 카운터 값의 잔여값과 기준값의 비교에 기초하여 결정되는 것을 특징으로 하는,
    정보 제공 방법.
  12. 제2항에 있어서,
    상기 메인 데이터베이스에 저장된 카운터 정보를 기초로 상기 캐시 카운터 정보를 업데이트 하는 단계는
    상기 메인 데이터베이스의 부하 정도에 따라 상기 캐시 카운터 정보를 업데이트 하는 시기를 결정하는 단계를 포함하는,
    정보 제공 방법.
  13. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  14. 전자 장치로서,
    카운터 정보 요청을 수신하고, 상기 카운터 정보 요청에 대응하는 응답 정보를 전송하는 통신 디바이스;
    제1 데이터베이스;
    제2 데이터베이스; 및
    카운터와 관련된 상기 제1 데이터베이스로부터 상기 카운터 정보 요청에 대응하는 캐시 카운터 정보를 확인하여, 상기 카운터 정보 요청에 대응하는 상기 응답 정보를 확인하는 제어부를 포함하는,
    전자 장치.
PCT/KR2020/013470 2020-09-22 2020-10-05 전자 장치 및 이를 이용한 정보 제공 방법 WO2022065564A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0122601 2020-09-22
KR1020200122601A KR102253362B1 (ko) 2020-09-22 2020-09-22 전자 장치 및 이를 이용한 정보 제공 방법

Publications (1)

Publication Number Publication Date
WO2022065564A1 true WO2022065564A1 (ko) 2022-03-31

Family

ID=76142842

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/013470 WO2022065564A1 (ko) 2020-09-22 2020-10-05 전자 장치 및 이를 이용한 정보 제공 방법

Country Status (5)

Country Link
US (2) US11182297B1 (ko)
JP (1) JP7043116B1 (ko)
KR (2) KR102253362B1 (ko)
TW (1) TW202213120A (ko)
WO (1) WO2022065564A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155509A (ja) * 1998-11-20 2000-06-06 Ricoh Co Ltd 画像形成装置管理システム
JP2008146631A (ja) * 2006-12-08 2008-06-26 Sharp Corp カウンタ情報を有する使用量レポートを作成するためのシステムおよび方法
US20140201458A1 (en) * 2013-01-17 2014-07-17 Spirent Communications, Inc. Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
US20190324922A1 (en) * 2012-06-05 2019-10-24 Vmware, Inc. Process for maintaining data write ordering through a cache
US20200250086A1 (en) * 2019-01-31 2020-08-06 Salesforce.Com, Inc. Counter tracker service

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182567B1 (en) * 2000-08-21 2012-03-07 Texas Instruments France Software controlled cache configuration
US7805710B2 (en) * 2003-07-15 2010-09-28 International Business Machines Corporation Shared code caching for program code conversion
JP2005157605A (ja) 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
JP4218511B2 (ja) 2003-11-27 2009-02-04 Jfeエンジニアリング株式会社 風力発電制御方法及び装置、風力発電装置並びに風力発電制御方法のプログラム
JP2007128371A (ja) * 2005-11-04 2007-05-24 Fujitsu Ltd コンテンツ検索システム
KR20080030213A (ko) 2006-09-29 2008-04-04 주식회사 하이닉스반도체 캐시 읽기 방법
US7340378B1 (en) 2006-11-30 2008-03-04 International Business Machines Corporation Weighted event counting system and method for processor performance measurements
JP4999008B2 (ja) 2008-07-15 2012-08-15 楽天株式会社 情報送信装置、情報送信方法、情報送信処理プログラム及び情報送信システム
KR20110005945A (ko) 2009-07-13 2011-01-20 주식회사 케이아이티지 에이전트를 사용하지 않는 퍼포먼스 카운터와 캐시를 이용한 실시간 서버 성능 모니터링 방법
CN104615548B (zh) * 2010-03-29 2018-08-31 威盛电子股份有限公司 数据预取方法以及微处理器
US8762649B2 (en) 2010-03-29 2014-06-24 Via Technologies, Inc. Bounding box prefetcher
US9645944B2 (en) * 2012-05-07 2017-05-09 International Business Machines Corporation Enhancing data caching performance
US9300716B2 (en) * 2012-09-20 2016-03-29 Arm Limited Modelling dependencies in data traffic
CN102929983B (zh) 2012-10-18 2016-11-16 京信通信系统(中国)有限公司 嵌入式数据库同步到flash数据库的方法和装置
US9183048B2 (en) 2012-12-20 2015-11-10 Oracle International Corporation System and method for implementing scalable contention-adaptive statistics counters
CN105247532B (zh) * 2013-03-18 2019-05-31 纽约市哥伦比亚大学理事会 使用硬件特征的对异常进程的无监督的检测
JP5484643B1 (ja) 2013-03-29 2014-05-07 楽天株式会社 データキャッシュシステム、プログラム、記録媒体、及び方法
CN103955357B (zh) * 2014-04-29 2017-03-15 北京控制工程研究所 一种动态二进制翻译指令集模拟器计时方法
US9673998B2 (en) 2014-05-15 2017-06-06 Futurewei Technologies, Inc. Differential cache for representational state transfer (REST) API
US10044729B1 (en) * 2015-12-01 2018-08-07 Microsoft Technology Licensing, Llc Analyzing requests to an online service
JP6230085B1 (ja) 2017-06-01 2017-11-15 株式会社ReTech 動画再生システム
CN109857764A (zh) 2017-08-17 2019-06-07 天津数观科技有限公司 一种更新数据库对应的缓存的方法、装置及系统
CN108134817B (zh) 2017-11-30 2019-04-05 北京白山耘科技有限公司 一种自动调整缓存时长的方法及装置
US10719248B2 (en) * 2018-04-20 2020-07-21 Micron Technology, Inc. Apparatuses and methods for counter update operations
CN111221469B (zh) 2018-11-27 2021-05-11 杭州海康威视数字技术股份有限公司 同步缓存数据的方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155509A (ja) * 1998-11-20 2000-06-06 Ricoh Co Ltd 画像形成装置管理システム
JP2008146631A (ja) * 2006-12-08 2008-06-26 Sharp Corp カウンタ情報を有する使用量レポートを作成するためのシステムおよび方法
US20190324922A1 (en) * 2012-06-05 2019-10-24 Vmware, Inc. Process for maintaining data write ordering through a cache
US20140201458A1 (en) * 2013-01-17 2014-07-17 Spirent Communications, Inc. Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
US20200250086A1 (en) * 2019-01-31 2020-08-06 Salesforce.Com, Inc. Counter tracker service

Also Published As

Publication number Publication date
JP2022054378A (ja) 2022-04-06
TW202213120A (zh) 2022-04-01
US11182297B1 (en) 2021-11-23
KR102253362B1 (ko) 2021-05-20
US20220091985A1 (en) 2022-03-24
JP7043116B1 (ja) 2022-03-29
US11544195B2 (en) 2023-01-03
KR102366011B1 (ko) 2022-02-23

Similar Documents

Publication Publication Date Title
EP3595355A1 (en) Resource obtaining method, apparatus and system
EP3058481B1 (en) Acceleration based on cached flows
KR20130142961A (ko) 자동 애플리케이션 업데이트
CN109948090B (zh) 网页加载方法及装置
WO2012036449A2 (en) Method and apparatus for managing data
WO2020096282A1 (en) Service-aware serverless cloud computing system
WO2022059830A1 (ko) 전자 장치 및 그의 동작 방법
CN111078556A (zh) 应用测试方法及装置
CN107911450B (zh) 一种安全的数据流通方法及系统
WO2022065564A1 (ko) 전자 장치 및 이를 이용한 정보 제공 방법
WO2018182065A1 (ko) M2m 시스템에서 다중 리소스 구독 연관 방법
CN113778565A (zh) 一种接口数据处理方法和装置
CN116701191A (zh) 量化回测的优化方法、装置、设备、存储介质及程序产品
US9854035B2 (en) Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
EP2497062A2 (en) Method and apparatus for intelligence-oriented service using context information estimation in mobile terminal
WO2022196853A1 (ko) 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
CN107347024A (zh) 一种存储操作日志的方法和装置
CN106068506B (zh) 用于提高电子装置中的加载时间的设备和方法
US9853691B2 (en) Near field communication technology-based terminal application control method, apparatus, and system
CN108259187B (zh) 计费网络的监控方法及装置
WO2022244911A1 (ko) 전자 장치 및 그의 데이터 관리 방법
WO2017200586A1 (en) Prioritizing topics of interest determined from product evaluations
WO2013151371A1 (ko) Pc방의 서비스 등록 ip 판별 시스템 및 방법
CN116737405B (zh) 一种快应用卡片的数据通信的方法及相关设备
CN117097635B (zh) 调用链路采样方法、装置、存储介质及设备

Legal Events

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

Ref document number: 20955362

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20955362

Country of ref document: EP

Kind code of ref document: A1