A device and method for announcing flash sale advertisements

By introducing flash sale trailer unit and double cache mechanism in the ad playback system, the problem of real-time variation and flexible adjustment of flash sale products is solved, and real-time efficient push and flexible adjustment of flash sale advertisements are achieved.

CN112819490BActive Publication Date: 2025-02-25BEIJING WODONG TIANJUN INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201911120255.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-11-15
Publication Date
2025-02-25
Estimated Expiration
2039-11-15

AI Technical Summary

Technical Problem

When the prior art deals with the real-time variation of flash sale products, the advertising playback system needs to frequently request the product information database to determine whether the product is flash sale product, and the adjustment of flash sale time interval and trailer sessions requires the code to be modified, which is less flexible.

Method used

Provide a device and method for previewing flash sale advertisements. Using the advertisement playback unit and flash sale trailer unit, the flash sale information is stored through local cache and the double cache mechanism is adopted to realize multi-threaded lock-free updates and improve operational efficiency.

Benefits of technology

It realizes real-time and efficient additions to flash sale advertisements to the advertising queue, improves operation efficiency, and improves the flexibility of flash sale time interval and trailer session adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112819490B_ABST
    Figure CN112819490B_ABST
Patent Text Reader

Abstract

The present invention discloses a device and method for announcing flash sale advertisements, and relates to the field of computer technology. A specific implementation of the device includes an advertisement playback unit and a flash sale announcement unit; wherein the advertisement playback unit is used to determine multiple advertisements that match the received user behavior information, generate a flash sale information retrieval request based on the multiple advertisements, and send it to the flash sale announcement unit; the flash sale announcement unit is used to determine whether the multiple advertisements are flash sale advertisements based on the flash sale information stored in the local cache, and feed back the determined flash sale advertisements to the advertisement playback unit, wherein the flash sale information is stored in the local cache in the form of double buffering. This implementation can add the flash sale advertisements to the advertisement queue of the advertisement playback unit in real time and efficiently, and use the double buffering mechanism to save the flash sale information in the local cache of the flash sale announcement unit, which can realize the lock-free update of data in a multi-threaded situation, and improve the operation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a device and method for announcing a flash sale advertisement. Background Art

[0002] At present, all e-commerce platforms will hold flash sales, and the prices of products participating in flash sales will be much lower than normal. Users are more willing to buy low-priced flash sales products. In the Internet era, computational advertising can push advertising products of interest to users through multiple dimensions. These advertising products are pushed after interest-oriented processing through various large-scale advertising playback systems. In order to increase advertising revenue, the advertising playback system can recommend products participating in flash sales in the recent period to users in the form of advertisements. Users can know the status of the products in advance, click and add to shopping cart in advance, and then increase advertising revenue and GMV (Gross Merchandise Volume, the total transaction amount in a certain period of time).

[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art: due to the real-time variability of flash sale products, the advertisement playback system cannot be sure whether the product requested from the advertisement library each time is a flash sale product, and it is necessary to request the product information library again to determine whether it is a flash sale product; currently, the time and venue of the flash sale preview are directly written into the code. If it is necessary to adjust the time interval of the flash sale and the venue that needs to be previewed, it needs to be done by modifying the code, which has poor flexibility. Summary of the invention

[0004] In view of this, an embodiment of the present invention provides a device and method for announcing flash sale advertisements, which can effectively add flash sale advertisements to the advertisement queue of an advertisement playback unit in real time, and save the flash sale information in the local cache of the flash sale preview unit using a double cache mechanism, which can realize lock-free update of data in a multi-threaded situation and improve operating efficiency.

[0005] To achieve the above object, according to one aspect of an embodiment of the present invention, a device for announcing a flash sale advertisement is provided, the device comprising an advertisement playing unit and a flash sale announcing unit;

[0006] The advertisement playing unit is used to determine, based on the received user behavior information, a plurality of advertisements matching the user behavior information, generate a flash sale information retrieval request based on the plurality of advertisements, and send the flash sale information retrieval request to the advertisement playing unit;

[0007] The flash sale preview unit is used to receive the flash sale information retrieval request, determine whether the multiple advertisements are flash sale advertisements based on the flash sale information stored in the local cache, and feed back the determined flash sale advertisements to the advertisement playing unit, wherein the flash sale information is stored in the local cache in the form of double buffering.

[0008] In an optional embodiment, the flash sale announcement unit double-caches the acquired flash sale information in a local cache, including:

[0009] The flash sale information is saved in a local cache as two copies of data, and the two copies of data are recorded as a first copy of data and a second copy of data. When the flash sale preview unit determines whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second data is updated, the first copy of data is synchronized based on the updated second copy of data.

[0010] In an optional embodiment, the advertisement playing unit is further used to: score the received flash sale advertisements, sort them in descending order of the scores, and play the flash sale advertisements ranked first.

[0011] In an optional embodiment, the device further comprises a flash sale information library for storing flash sale information of flash sale products;

[0012] The flash sale announcement unit is also used to: regularly access the flash sale information database to obtain the flash sale information of the flash sale products.

[0013] In an optional embodiment, the flash sale preview unit periodically accesses the flash sale information library to obtain the flash sale information of the flash sale products, including: determining the current time, accessing the flash sale information library at the current time, and obtaining the flash sale information of the flash sale products; double-caching the obtained flash sale information in the local cache; calculating the time for the next update of the flash sale information based on the current time and a preset update cycle; starting a data update thread, and accessing the flash sale information library according to the calculated time for the next update of the flash sale information.

[0014] To achieve the above objective, according to another aspect of an embodiment of the present invention, a method for announcing a flash sale advertisement is provided, the method comprising:

[0015] Determining, based on the received user behavior information, a plurality of advertisements matching the user behavior information;

[0016] Obtain the flash sale information of the flash sale products, and double cache the obtained flash sale information in the local cache;

[0017] Based on the flash sale information in the local cache, determining whether the multiple advertisements matching the user behavior information are flash sale advertisements;

[0018] If so, the confirmed flash sale advertisement will be played.

[0019] In an optional embodiment, double caching the acquired flash sale information in a local cache includes:

[0020] The acquired flash sale information is saved in the local cache as two copies of data, and the two copies of data are recorded as the first copy of data and the second copy of data. When the flash sale preview unit determines whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second copy of data is updated, the first copy of data is synchronized based on the updated second copy of data.

[0021] In an optional embodiment, the method further includes: scoring the determined flash sale advertisements, sorting them in descending order of the scores, and playing the flash sale advertisements ranked first.

[0022] In an optional embodiment, the method further comprises:

[0023] The flash sale information of the flash sale products is stored in the flash sale information database;

[0024] Acquiring the flash sale information of the flash sale products includes: regularly accessing the flash sale information database to acquire the flash sale information of the flash sale products.

[0025] In an optional embodiment, periodically accessing the flash sale information library to obtain the flash sale information of the flash sale products includes: determining the current time, accessing the flash sale information library at the current time, and obtaining the flash sale information of the flash sale products; double-caching the obtained flash sale information in a local cache; calculating the time for the next update of the flash sale information based on the current time and a preset update cycle; starting a data update thread, and accessing the flash sale information library according to the calculated time for the next update of the flash sale information.

[0026] To achieve the above-mentioned purpose, according to another aspect of an embodiment of the present invention, there is provided an electronic device, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method for predicting flash sale advertisements according to an embodiment of the present invention.

[0027] To achieve the above objective, according to one aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method for predicting flash sale advertisements according to an embodiment of the present invention is implemented.

[0028] An embodiment of the above invention has the following advantages or beneficial effects: because the flash sale information stored in the local cache of the flash sale preview unit is used to determine whether the advertisement matching the user behavior information is a flash sale advertisement, the flash sale advertisement can be added to the advertisement queue of the advertisement playback unit in real time and efficiently, and the flash sale information in the local cache of the flash sale preview unit is saved using a double cache mechanism, which can realize lock-free data update in a multi-threaded situation, thereby improving operating efficiency.

[0029] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.

[0031] Figure 1 Schematic diagram of main modules of the device for announcing flash sale advertisements according to an embodiment of the present invention;

[0032] Figure 2 It is a schematic diagram of main modules of a device for announcing flash sale advertisements according to another embodiment of the present invention;

[0033] Figure 3 It is a schematic diagram of the main process of updating data by the flash sale notice unit according to an embodiment of the present invention;

[0034] Figure 4 It is a schematic diagram of the main process of the method for announcing a flash sale advertisement according to an embodiment of the present invention;

[0035] Figure 5 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;

[0036] Figure 6 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0037] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0038] Figure 1 is a device 100 for announcing a flash sale advertisement according to an embodiment of the present invention, such as Figure 1As shown, the device 100 for announcing a flash sale advertisement includes an advertisement playing unit 101 and a flash sale announcing unit 102 .

[0039] The advertisement playing unit 101 is used to determine a plurality of advertisements matching the user behavior information according to the received user behavior information, generate a flash sale information retrieval request based on the plurality of advertisements, and send the flash sale information retrieval request to the flash sale announcement unit 102 .

[0040] In this embodiment, the advertisement playback unit 101 is used to receive the traffic of advertisements requested by the external system, in order to obtain advertisements that match the request information. Parsing the received advertisement request can obtain user behavior information, user PIN (user personal identification number), device type and ID information, location, IP, time, etc., wherein the user behavior information includes the user's browsing information, purchase information, etc. User behavior information is a basic trigger type information. In this embodiment, advertisements that match the user behavior information can be determined with the help of an item-based collaborative filtering algorithm. The main process of the algorithm includes: calculating the similarity between products, calculating the ratings of products that the user has browsed or purchased, and recommending products similar to products with higher ratings to users.

[0041] The purpose of the advertisement playing unit 101 sending the flash sale information search request to the flash sale announcement unit 102 is to determine whether the multiple advertisements matched with the user behavior information are flash sale advertisements.

[0042] In an optional embodiment, the advertisement playing unit 101 is also responsible for playing online advertisements.

[0043] The flash sale preview unit 102 is used to receive the flash sale information retrieval request, determine whether the multiple advertisements are flash sale advertisements based on the flash sale information stored in the local cache, and feed back the determined flash sale advertisements to the advertisement playing unit, wherein the flash sale information is stored in the local cache in the form of double buffering.

[0044] Among them, the flash sale information may include the flash sale event, the flash sale start time and end time, the flash sale amount and other sku information of the flash sale products. Among them, sku (stock keeping unit) is the abbreviation of the unified product number, and each product has a unique sku number. For a product, when any of its attributes such as brand, model, configuration, grade, color, packaging capacity, unit, production date, shelf life, use, price, origin, etc. is different from other products, it can be called a single product.

[0045] In this step, the flash sale announcement unit 102 may double cache the flash sale information in the local cache by:

[0046] The acquired flash sale information is saved in the local cache as two copies of data, and the two copies of data are recorded as the first copy of data and the second copy of data. When the flash sale preview unit determines whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second copy of data is updated, the first copy of data is synchronized based on the updated second copy of data.

[0047] More specifically, the flash sale information in the local cache is stored in the form of a key-value pair. The key can be the unique identifier of the flash sale product (such as sku-id), and the value can be the hash value of the product's unique identifier. The hash value is used to calculate the storage location of the flash sale information of the flash sale product. That is, the flash sale notice unit 102 of the embodiment of the present invention implements a double-cached unordered_map internally, using the hash table characteristics to achieve efficient retrieval, and using a double-cached update mechanism to ensure lock-free update of data. Among them, unordered_map is storage<key,value> An associative container of key-value pairs that allows quick indexing of the corresponding value through the key. The implementation method of efficient retrieval based on the characteristics of hash tables is based on hash buckets. The overall idea is to use space in exchange for time and maintain O(1) retrieval efficiency. A hash value is calculated for each element, and the storage location of the element is directly calculated through this hash value.

[0048] The flash sale announcement unit 102 may determine whether the multiple advertisements matching the user behavior information are flash sale advertisements based on the flash sale information in the local cache, including:

[0049] Query the flash sale information in the local cache to determine whether the products in multiple advertisements that match the user behavior information are flash sale products;

[0050] If so, it is determined that the advertisement is a flash sale advertisement.

[0051] The device for announcing flash sale advertisements in an embodiment of the present invention uses the flash sale information stored in the local cache of the flash sale preview unit to determine whether an advertisement matching the user behavior information is a flash sale advertisement. The flash sale advertisement can be added to the advertisement queue of the advertisement playback unit in real time and efficiently. The flash sale information in the local cache of the flash sale preview unit is saved using a double cache mechanism, which can realize lock-free update of data in a multi-threaded situation, thereby improving operating efficiency.

[0052] In an optional embodiment, the advertisement playing unit 101 is further configured to:

[0053] The confirmed flash sale ads are scored, sorted in descending order of the scores, and the flash sale ads ranked first are played.

[0054] As a specific example, obtain pGmv (Click-Through-Rate, estimated click-through rate), pCtr (Gross Merchandise Volume, estimated transaction volume), and pCvr (Conversion Rate, estimated conversion rate) of the product in the flash sale advertisement, and calculate the score of the flash sale advertisement using the above parameters. More specifically, multiply the above parameters by different weights and add them up, and the sum obtained is the score of the flash sale advertisement.

[0055] In an optional embodiment, playing the top ranked flash sale ads may be playing the first N flash sale ads (N is an integer greater than or equal to 1), or playing the first M% of flash sale ads (M is an integer greater than or equal to 1).

[0056] Figure 2 This is another embodiment of the present invention, the device 200 for announcing a flash sale advertisement. Figure 2 As shown, the device 200 for announcing a flash sale advertisement includes an advertisement playing unit 201 , a flash sale announcement unit 202 and a flash sale information library 203 .

[0057] The advertisement playing unit 201 is mainly responsible for playing online advertisements, receiving advertisement requests sent by the front end, parsing the advertisement requests to obtain user behavior information, and requesting the advertisement library to recall advertisements according to the user behavior information.

[0058] The flash sale notice unit 202 is provided as a high-performance service to the advertisement playing unit, and can provide a real-time flash sale information query service.

[0059] The flash sale information database is used to store the current flash sale information and update it in real time. The flash sale information may include: flash sale event, flash sale start and end time, flash sale amount and other sku information of various flash sale products.

[0060] The advertisement playing unit 201 is also used to determine whether the recalled advertisement is a flash sale advertisement according to the real-time flash sale information query service provided by the flash sale preview unit, and then score and sort the confirmed flash sale advertisements, and finally return the top-ranked advertisements to a series of front-end advertisement units.

[0061] like Figure 2 As shown, the flash sale announcement unit 202 includes a data communication module 2021 , a flash sale information synchronization module 2022 and an information retrieval module 2023 .

[0062] The data communication module 2021 is used to provide a flash sale real-time query interface to the advertisement playing unit 201. As an example, the data communication module 2021 can be implemented using RPC (Remote Procedure Call).

[0063] The flash sale information synchronization module 2022 is used to access the flash sale information database at a regular interval, obtain the flash sale information of the flash sale products, and double cache the obtained flash sale information in the local cache.

[0064] Information retrieval module 2023: Stores the information obtained from the flash sale information library, implements a double-cached unordered_map internally, uses the characteristics of hash tables to achieve efficient retrieval, and uses a double-cached update mechanism to ensure lock-free data updates. The double-cached mechanism refers to saving two copies of data in the system at the same time, saving a currently used data index, which represents which copy of the data is currently in use. When there is a data write operation, the data that is not currently in use is modified. After the modification is completed, the index is switched to use the modified data and synchronize the original version of the data to the latest. Through the above method, data can be updated without locks in a multi-threaded situation, which improves the operating efficiency.

[0065] The internal implementation of the information retrieval module mainly consists of two members: 1. Two hash maps (the content stored in the map is the key-value pair mentioned above). Both hash maps have a garbage collection function (the garbage collection function is delayed collection) and are used to hot update system information. 2. Index value (the index value is an atomic variable, hereinafter referred to as index_no), which indicates which data content is exposed by the current service. Externally, the external service caller does not know which data is used. Internally, only the information retrieval module can update the value of index_no.

[0066] The flash sale information synchronization module 2022 of this embodiment has a thread inside that pulls the flash sale information from the flash sale information database at a fixed time (for example, every 2 hours).

[0067] For example, assuming that the current index_no is 0, the data currently used by the information retrieval module is the 0th copy of data. At this time, the advertisement playback unit has 3 threads to access the flash sale preview unit, and the data read by these three threads is the 0th copy of data. If the data update happens to be in time at this time, the flash sale information synchronization module accesses the flash sale information library and writes the new flash sale information into the 1st copy of data. After all the flash sale information is synchronized, index_no is updated to 1, and the subsequent information retrieval module will use the 1st copy of data for retrieval. During the data update process, the information retrieval module uses the 0th copy of data for retrieval. Since the 0th copy of data will not be cleaned up, the device 200 for announcing flash sale advertisements can operate normally. When the retrieval is completed, the 0th copy of data is synchronized using the 1st copy of data.

[0068] It is worth noting that the use of a double-buffer update mechanism is not suitable for systems that are updated quickly and frequently. When the time for using data exceeds the interval for data update, the system will crash. As an example, the maximum time threshold for a request to access a flash sale preview unit is 10ms, and the interval for updating flash sale information is 2h, so the device 200 for previewing flash sale advertisements in the embodiment of the present invention will not have the problem of rewriting data after updating.

[0069] like Figure 3 FIG. 1 is a schematic diagram of a process of updating data by a flash sale notice unit according to an embodiment of the present invention. Figure 3 As shown, the process includes:

[0070] Step S301: determining the current time, accessing the flash sale information database at the current time, and obtaining the flash sale information of the flash sale product;

[0071] Step S302: updating the acquired flash sale information to the local cache and performing double caching on the acquired flash sale information in the local cache;

[0072] Step S303: Calculate the time for the next update of the flash sale information according to the current time and the preset update cycle;

[0073] Step S304: Start a data update thread and access the flash sale information database according to the calculated time for the next flash sale information update.

[0074] The data update process configures the time interval for synchronization of flash sale information through the configuration file, and the default is to update once every two hours. When the program is initialized, the current time is read and the next update time is calculated, and the flash sale information library is accessed once to obtain the current flash sale product information. The current flash sale product information is traversed and added to the local cache of the flash sale notice system for real-time query by the ad player. After the program is initialized, the data update thread is started, and the flash sale information library is accessed regularly according to the previously calculated time interval, and the results are updated to the local cache. The local cache update uses a double cache update mechanism to achieve multi-threaded safe and lock-free updates.

[0075] In the device for announcing flash sale ads in an embodiment of the present invention, after the ad playback unit obtains the ad request sent from the front end, it accesses the ad library and recalls the ads that match the user behavior information (e.g., browsing and purchasing information) in the ad request to generate an ad set. Afterwards, the ad playback unit accesses the flash sale preview unit to determine whether the products in the ads in the ad set are flash sale products, that is, to determine whether the ads in the ad set are flash sale ads. If so, the ad is marked as a flash sale ad and the corresponding flash sale information is added. Afterwards, the flash sale ads are scored and ranked, and finally the top-ranked flash sale ads are returned to the front end.

[0076] Figure 4 Schematic diagram of the main process of the method for announcing flash sale advertisements according to an embodiment of the present invention. Figure 4 As shown, the method includes:

[0077] Step S401: determining, based on the received user behavior information, a plurality of advertisements matching the user behavior information;

[0078] Step S402: Obtain the flash sale information of the flash sale product, and double-cache the obtained flash sale information in the local cache;

[0079] Step S403: Based on the flash sale information in the local cache, determining whether the multiple advertisements matching the user behavior information are flash sale advertisements;

[0080] Step S404: If yes, then play the determined flash sale advertisement.

[0081] Optionally, double caching the acquired flash sale information in a local cache includes:

[0082] The acquired flash sale information is saved in the local cache as two copies of data, and the two copies of data are recorded as the first copy of data and the second copy of data. When the flash sale preview unit determines whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second copy of data is updated, the first copy of data is synchronized based on the updated second copy of data.

[0083] Optionally, the method further includes: scoring the determined flash sale ads, sorting them in descending order of scores, and playing the flash sale ads ranked first.

[0084] Optionally, the method further includes: storing the flash sale information of the flash sale products in a flash sale information library; and periodically accessing the flash sale information library to obtain the flash sale information of the flash sale products.

[0085] Optionally, periodically accessing the flash sale information database to obtain the flash sale information of the flash sale products includes:

[0086] Determine the current time, access the flash sale information database at the current time, and obtain the flash sale information of the flash sale products;

[0087] Double-buffer the acquired flash sale information in the local cache;

[0088] Calculate the time for the next update of the flash sale information according to the current time and the preset update cycle;

[0089] The data update thread is started, and the flash sale information database is accessed according to the calculated time for the next flash sale information update. The method provided has the functional modules and beneficial effects corresponding to the execution method. For technical details not described in detail in this embodiment, please refer to the method provided in the embodiment of the present invention.

[0090] The method for previewing flash sale advertisements in an embodiment of the present invention utilizes the flash sale information stored in the local cache of the flash sale preview unit to determine whether an advertisement matching the user behavior information is a flash sale advertisement. The flash sale advertisement can be added to the advertisement queue of the advertisement playback unit in real time and efficiently, and the flash sale information in the local cache of the flash sale preview unit is saved using a double cache mechanism, which can realize lock-free update of data in a multi-threaded situation, thereby improving operating efficiency.

[0091] Figure 5 An exemplary system architecture 500 is shown to which the method for announcing a flash sale advertisement or the apparatus for announcing a flash sale advertisement according to the embodiments of the present invention can be applied.

[0092] like Figure 5 As shown, system architecture 500 may include terminal devices 501, 502, 503, a network 504 and a server 505. Network 504 is used to provide a medium for communication links between terminal devices 501, 502, 503 and server 505. Network 504 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0093] Users can use terminal devices 501, 502, 503 to interact with server 505 through network 504 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 501, 502, 503, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0094] The terminal devices 501 , 502 , and 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0095] The server 505 may be a server that provides various services, such as a backend management server that provides support for shopping websites browsed by users using the terminal devices 501, 502, and 503. The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as target push information and product information) to the terminal device.

[0096] It should be noted that the method for announcing a flash sale advertisement provided in the embodiment of the present invention is generally executed by the server 505 , and accordingly, the device for announcing a flash sale advertisement is generally disposed in the server 505 .

[0097] It should be understood that Figure 5 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0098] Reference below Figure 6 , which shows a schematic diagram of the structure of a computer system 600 of a terminal device suitable for implementing an embodiment of the present invention. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0099] like Figure 6 As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the system 600 are also stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0100] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0101] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present invention are executed.

[0102] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0103] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0104] The modules involved in the embodiments of the present invention may be implemented in software or hardware. The modules described may also be set in a processor. For example, they may be described as: a processor includes a sending module, an acquisition module, a determination module, and a first processing module. The names of these modules do not, in some cases, constitute a limitation on the unit itself. For example, the sending module may also be described as a "module for sending a picture acquisition request to the connected server."

[0105] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes:

[0106] Determining, based on the received user behavior information, a plurality of advertisements matching the user behavior information;

[0107] Obtain the flash sale information of the flash sale products, and double cache the obtained flash sale information in the local cache;

[0108] Based on the flash sale information in the local cache, determining whether the multiple advertisements matching the user behavior information are flash sale advertisements;

[0109] If so, the confirmed flash sale advertisement will be played.

[0110] The technical solution of the embodiment of the present invention uses the flash sale information stored in the local cache of the flash sale preview unit to determine whether the advertisement matching the user behavior information is a flash sale advertisement. The flash sale advertisement can be added to the advertisement queue of the advertisement playback unit in real time and efficiently. The flash sale information in the local cache of the flash sale preview unit is saved using a double cache mechanism, which can realize lock-free update of data in a multi-threaded situation, thereby improving operating efficiency.

[0111] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A device for announcing flash sale advertisements, characterized in that: The device comprises an advertisement playing unit and a flash sale notice unit; The advertisement playing unit is used to determine, based on the received user behavior information and the collaborative filtering algorithm of items, a plurality of advertisements matching the user behavior information, generate a flash sale information retrieval request based on the plurality of advertisements, and send the flash sale information retrieval request to the flash sale announcement unit; The flash sale preview unit is used to receive the flash sale information retrieval request, determine whether the multiple advertisements are flash sale advertisements based on the flash sale information stored in the local cache, and feed back the determined flash sale advertisements to the advertisement playing unit, wherein the flash sale information is stored in the local cache in the form of double buffering.

2. The device according to claim 1, characterized in that The flash sale information is stored in the local cache in the form of double cache, including: The flash sale information is saved in a local cache as two copies of data, and the two copies of data are recorded as a first copy of data and a second copy of data. When the flash sale preview unit determines whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second data is updated, the first copy of data is synchronized based on the updated second copy of data.

3. The device according to claim 1, characterized in that The advertisement playing unit is also used for: The received flash sale ads are scored, sorted in descending order according to the scores, and the flash sale ads ranked first are played.

4. The device according to claim 1, characterized in that The device also includes a flash sale information library for storing flash sale information of flash sale products; The flash sale notice unit is also used for: The flash sale information database is accessed periodically to obtain the flash sale information of the flash sale products, and the obtained flash sale information is double-cached in the local cache.

5. The device according to claim 1, characterized in that The flash sale announcement unit periodically accesses the flash sale information database to obtain the flash sale information of the flash sale products, including: Determine the current time, access the flash sale information database at the current time, and obtain the flash sale information of the flash sale products; Double-buffer the acquired flash sale information in the local cache; Calculate the time for the next update of the flash sale information according to the current time and the preset update cycle; Start the data update thread and access the flash sale information database according to the calculated time for the next flash sale information update.

6. A method for announcing a flash sale advertisement, characterized in that: The method comprises: Determine, based on the received user behavior information, a plurality of advertisements matching the user behavior information using an item-based collaborative filtering algorithm; Obtain the flash sale information of the flash sale products, and double cache the obtained flash sale information in the local cache; Based on the flash sale information in the local cache, determining whether the multiple advertisements matching the user behavior information are flash sale advertisements; If so, the confirmed flash sale advertisement will be played.

7. According to the method of claim 6, double caching the acquired flash sale information in the local cache comprises: The acquired flash sale information is saved in the local cache as two copies of data, and the two copies of data are recorded as the first copy of data and the second copy of data. When determining whether the multiple advertisements are flash sale advertisements based on the first copy of data, the second copy of data is used for data update. When the second copy of data is updated, the first copy of data is synchronized based on the updated second copy of data.

8. The method according to claim 6, characterized in that The method further comprises: The confirmed flash sale ads are scored, sorted in descending order of the scores, and the flash sale ads ranked first are played.

9. The method according to claim 6, characterized in that The method further comprises: The flash sale information of the flash sale products is stored in the flash sale information database; Acquiring the flash sale information of the flash sale products includes: regularly accessing the flash sale information database to acquire the flash sale information of the flash sale products.

10. The method according to claim 6, characterized in that Regularly access the flash sale information database to obtain flash sale information of flash sale products, including: Determine the current time, access the flash sale information database at the current time, and obtain the flash sale information of the flash sale products; Double-buffer the acquired flash sale information in the local cache; Calculate the time for the next update of the flash sale information according to the current time and the preset update cycle; Start the data update thread and access the flash sale information database according to the calculated time for the next flash sale information update.

11. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 6 to 10.

12. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 6 to 10 is implemented.

Citation Information

Patent Citations

  • System and method for prefetching and caching query results

    US20060161541A1