Pop-up pushing method, device and equipment and medium
Patent Information
- Application Number
- CN202310331187.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-30
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-03-30
AI Technical Summary
[0004]然而,相关技术的弹窗推送方法仅考虑到与显示弹窗相关的部分设计,未提供完整的弹窗推送方案
[0026] The first pop-up is determined by its attributes and the state data of the first pop-up at the time of entry; the first pop-up is pushed to the user terminal at the time of entry. The second pop-up is determined by its attributes and the state data of the first pop-up at the time of exit; the second pop-up is pushed to the user terminal at the time of exit. This solution considers the timing of pop-up display, namely the entry and exit times, and solves the problem of arbitrary pop-up display in related technologies.
Smart Images

Figure CN118733152B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of pop-up push notifications, and particularly to a pop-up push notification method, apparatus, device, and medium. Background Technology
[0002] A pop-up window is a window that automatically appears when a webpage (or client, mini-program, etc.) is opened, displaying the pop-up content. After the window is opened, the user can choose to close the window or jump to the link.
[0003] The pop-up push methods used in related technologies all involve backend technical staff developing pop-up content based on the individual needs of the webpage / user / advertiser, and then pushing the developed pop-up content to the user's terminal. For some well-designed pop-ups, the technical staff also added some pop-up rules, such as limiting the number of pop-ups and the time interval between pop-ups.
[0004] However, the pop-up push methods of related technologies only take into account the design of the parts related to displaying pop-ups, and do not provide a complete pop-up push solution. Summary of the Invention
[0005] This application provides a pop-up window push method, apparatus, device, and medium, and provides a pop-up window push scheme that takes into account the timing of pop-up window display. The technical solution is as follows:
[0006] According to one aspect of this application, a pop-up push method is provided, the method comprising:
[0007] Receive the first pop-up push request sent by the user terminal at the entry time, where the entry time represents the timing of pop-up display when the webpage is opened;
[0008] Obtain the first pop-up window attributes and the first pop-up window state data in terms of entry timing for at least one pop-up window;
[0009] Based on the first pop-up attribute of at least one pop-up window and the first pop-up state data of the entry timing dimension, determine the first pop-up window from at least one pop-up window; push the first pop-up window to the user terminal;
[0010] Receive a second pop-up push request sent by the user terminal at the exit time, where the exit time indicates when the pop-up is displayed when leaving the webpage;
[0011] Obtain the first pop-up attribute and the first pop-up state data of the exit timing dimension of at least one pop-up window. The first pop-up state data of the entry timing dimension and the first pop-up state data of the exit timing dimension are independent of each other.
[0012] Based on the first pop-up attributes of at least one pop-up and the first pop-up state data of the exit timing dimension, determine the second pop-up from at least one pop-up; push the second pop-up to the user terminal.
[0013] According to another aspect of this application, a pop-up push device is provided, the device comprising:
[0014] The receiving module is used to receive the first pop-up push request sent by the user terminal at the entry time. The entry time represents the time when the pop-up is displayed when the webpage is opened, and the exit time represents the time when the pop-up is displayed when the user leaves the webpage.
[0015] The acquisition module is used to acquire at least one pop-up window's first pop-up window attribute and the first pop-up window's first pop-up window status data in the entry timing dimension. The first pop-up window status data in the entry timing dimension and the first pop-up window status data in the exit timing dimension are independent of each other.
[0016] The determination module is used to determine the first pop-up window from at least one pop-up window based on the first pop-up window attributes of at least one pop-up window and the first pop-up window state data of the entry timing dimension;
[0017] The push module is used to push the first pop-up window to the user's terminal;
[0018] The receiving module is also used to receive a second pop-up push request sent by the user terminal when exiting;
[0019] The acquisition module is used to acquire the first pop-up window attributes and the first pop-up window status data in terms of exit timing of at least one pop-up window;
[0020] The determination module is also used to determine a second pop-up window from at least one pop-up window based on the first pop-up window attributes of at least one pop-up window and the first pop-up window state data of the exit timing dimension;
[0021] The push module is also used to push a second pop-up window to the user's terminal.
[0022] According to one aspect of this application, a computer device is provided, the computer device comprising: a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the pop-up push method as described above.
[0023] According to another aspect of this application, a computer-readable storage medium is provided, the storage medium storing a computer program, the computer program being loaded and executed by a processor to implement the pop-up push method as described above.
[0024] According to another aspect of this application, a computer program product is provided, the computer program product including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and executes the computer instructions, causing the computer device to perform the pop-up push method provided in the above aspect.
[0025] The beneficial effects of the technical solutions provided in this application include at least the following:
[0026] The first pop-up is determined by its attributes and the state data of the first pop-up at the time of entry; the first pop-up is pushed to the user terminal at the time of entry. The second pop-up is determined by its attributes and the state data of the first pop-up at the time of exit; the second pop-up is pushed to the user terminal at the time of exit. This solution considers the timing of pop-up display, namely the entry and exit times, and solves the problem of arbitrary pop-up display in related technologies.
[0027] Furthermore, the first pop-up status data under the entry timing dimension and the first pop-up status data under the exit timing dimension are independent of each other. This not only ensures the orderly distribution of pop-up status data stored in the background and reduces the possibility of data errors, but also facilitates technical personnel in storing, querying, and updating pop-up status data. Attached Figure Description
[0028] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 A schematic diagram of a principle provided by an exemplary embodiment is shown;
[0030] Figure 2 A flowchart of a pop-up push method provided by an exemplary embodiment is shown;
[0031] Figure 3 A schematic diagram of a pop-up push method provided in an exemplary embodiment is shown;
[0032] Figure 4 A flowchart of a pop-up push method provided by another exemplary embodiment is shown;
[0033] Figure 5 A schematic diagram of a pop-up push method provided by another exemplary embodiment is shown;
[0034] Figure 6A flowchart of a pop-up push method provided by another exemplary embodiment is shown;
[0035] Figure 7 A schematic diagram of a pop-up push method provided by another exemplary embodiment is shown;
[0036] Figure 8 A flowchart of a pop-up push method provided by another exemplary embodiment is shown;
[0037] Figure 9 A schematic diagram of a pop-up configuration interface provided in an exemplary embodiment is shown;
[0038] Figure 10 A flowchart of a pop-up push method provided by an exemplary embodiment is shown;
[0039] Figure 11 A schematic diagram of a pop-up push method provided in an exemplary embodiment is shown;
[0040] Figure 12 A schematic diagram of a pop-up content acquisition method provided by an exemplary embodiment is shown;
[0041] Figure 13 A schematic diagram of a pop-up state maintenance method provided by an exemplary embodiment is shown;
[0042] Figure 14 A schematic diagram illustrating a method for storing pop-up configuration data provided in an exemplary embodiment is shown.
[0043] Figure 15 A structural block diagram of a pop-up push device provided in an exemplary embodiment is shown;
[0044] Figure 16 A structural block diagram of a computer device provided in an exemplary embodiment is shown. Detailed Implementation
[0045] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0046] It should be understood that "several" in this article refers to one or more, and "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0047] First, a brief introduction to the terms used in the embodiments of this application:
[0048] Pop-ups: These are windows that appear on the user's page, displaying information such as permission prompts, advertisements, chat requests, or confirmations. Users can close pop-ups or click the link indicated by the pop-up.
[0049] Redis: A distributed storage caching system. Redis is an open-source, optional persistent key-value store database that provides interfaces for multiple languages.
[0050] DB (Data Base): A document-based database storage system.
[0051] Figure 1 A schematic diagram illustrating the principle of an exemplary embodiment of this application is shown. Figure 1 The diagram illustrates a user terminal 110, a server cluster 120, and a pop-up management terminal 130. The server cluster 120 includes a pop-up push server 121, a pop-up status maintenance server 122, and a database 123. The user terminal 110 is the terminal for displaying pop-ups. The pop-up management terminal 130 is used to configure pop-up attributes. The server cluster 120 includes at least one server that performs operations such as pop-up push, data storage, and data updates. In practice, this application does not limit the number of servers in the server cluster 120; the server cluster 120 may include one or more servers. Figure 1 The server cluster 120 shown includes three servers for illustrative purposes only.
[0052] Figure 1 It also illustrates two sets of data interaction processes: a pop-up window displayed upon entry and a pop-up window displayed upon exit. Entry timing refers to the timing of the pop-up window when the webpage is opened, while exit timing refers to the timing of the pop-up window when the webpage is left. Figure 1 The data interaction processes at the two display times shown do not interfere with each other.
[0053] Regarding the data interaction process for entry timing, user terminal 110 sends an entry timing pop-up push request to pop-up push server 121. After receiving the pop-up push request, pop-up push server 121 retrieves pop-up attributes and entry timing dimension pop-up status data of at least one pop-up from database 123. Pop-up push server 121 identifies the first pop-up among the at least one pop-up and pushes the first pop-up to user terminal 110. After user terminal 110 successfully displays the first pop-up, it sends a pop-up status data update request to pop-up status maintenance server 122. After receiving the pop-up status data update request, pop-up status maintenance server 122 updates the entry timing dimension pop-up status data stored in database 123.
[0054] Regarding the data interaction process for exit timing, user terminal 110 sends an exit timing pop-up push request to pop-up push server 121. After receiving the pop-up push request, pop-up push server 121 retrieves pop-up attributes and exit timing dimension pop-up status data of at least one pop-up from database 123. Pop-up push server 121 identifies a second pop-up among the at least one pop-up and pushes the second pop-up to user terminal 110. After user terminal 110 successfully displays the second pop-up, it sends a pop-up status data update request to pop-up status maintenance server 122. After receiving the pop-up status data update request, pop-up status maintenance server 122 updates the exit timing dimension pop-up status data stored in database 123.
[0055] Pop-up management terminal 130 is used to configure the pop-up attributes of at least one pop-up and send the configured pop-up attributes to database 123 for storage. Optionally, pop-up management terminal 130 displays a pop-up configuration interface that supports configuring various pop-up attributes. Optionally, the pop-up configuration interface is configured by operations staff for web pages (one or more web pages). For example, when operations staff activate the pop-up configuration plugin for a web page, the pop-up configuration interface will be displayed on pop-up management terminal 130. The pop-up configuration interface displays configuration options for various pop-up attributes, such as pop-up start time, pop-up end time, and duration of each pop-up.
[0056] Figure 1 The pop-up push system shown is designed with two display times: entry and exit. Database 123 supports storing and updating pop-up status data under the entry and exit time dimensions separately, avoiding the data storage and update chaos caused by using only a single set of pop-up status data.
[0057] Optionally, the device types of the aforementioned terminals include at least one of the following: smartphones, smartwatches, in-vehicle terminals, wearable devices, smart TVs, tablets, e-book readers, MP3 players, MP4 players, laptops, and desktop computers. Servers include at least one of the following: a single server, multiple servers, a cloud computing platform, and a virtualization center.
[0058] Figure 2 A flowchart illustrating a pop-up push method provided in an exemplary embodiment of this application is shown, in which the method is... Figure 1 The server cluster shown (which includes one or more servers) is used as an example to illustrate the method, which includes:
[0059] Step 210: Receive the first pop-up push request sent by the user terminal upon entry;
[0060] The entry timing indicates when a pop-up window is displayed when a webpage is opened. The first pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when a user terminal opens a webpage, the user terminal automatically sends the first pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display a pop-up window upon entry.
[0061] Step 220: Obtain the first pop-up attribute and the first pop-up state data in the entry timing dimension of at least one pop-up window;
[0062] The first pop-up attribute refers to at least one pre-configured attribute of the pop-up. Optionally, the first pop-up attribute is a pop-up attribute under a combined dimension of user dimension and pop-up dimension. The user dimension refers to a dimension only related to the user; illustratively, pop-up attributes under the user dimension include the threshold for the total number of pop-ups per user per day and the threshold for the user's pop-up interval. The pop-up dimension refers to a dimension only related to the pop-up; illustratively, pop-up attributes under the pop-up dimension include the pop-up lifecycle (validity period), which is derived from the pop-up start time and pop-up end time. A combined dimension refers to a dimension that is related to both the user and the pop-up.
[0063] For illustrative purposes, the first pop-up attribute includes a threshold for the number of pop-ups a user can see in a single day under the same pop-up (for example, pop-up A can only pop up 5 times for the same user in a single day, and pop-up B can only pop up 2 times for the same user in a single day). For illustrative purposes, the first pop-up attribute includes a threshold for the total number of pop-ups a user can see within the validity period of the same pop-up (for example, pop-up A can only pop up 10 times for the same user within the validity period of the same pop-up (March 1, 2023 to June 1, 2023), and pop-up B can only pop up 10 times for the same user within the validity period of the same pop-up (January 1, 2022 to January 1, 2023).
[0064] The first pop-up state data refers to the pop-up state data corresponding to the attributes of the first pop-up. Optionally, the first pop-up state data is updated in real time. Optionally, the first pop-up state data is pop-up state data under a combined dimension of user dimension and pop-up dimension.
[0065] For illustrative purposes, the first pop-up status data includes the number of times a user sees a pop-up within the same pop-up window on a single day (e.g., pop-up A has appeared twice for the same user on a single day, and pop-up B has appeared once for the same user on a single day). For illustrative purposes, the first pop-up status data also includes the number of times a user sees a pop-up within the validity period of the same pop-up window (e.g., pop-up A has appeared 5 times for the same user within its validity period (March 1, 2023 to June 1, 2023), and pop-up B has appeared once for the same user within its validity period (January 1, 2022 to January 1, 2023).
[0066] Step 230: Based on the first pop-up attribute of at least one pop-up window and the first pop-up state data of the entry timing dimension, determine the first pop-up window from at least one pop-up window; push the first pop-up window to the user terminal;
[0067] In one embodiment, at least one pop-up window is configured for the webpage that the user terminal will open. The first pop-up window to be displayed upon entry is determined from the at least one pop-up window. When the at least one pop-up window includes multiple pop-ups, the pop-up window status data of each pop-up window is determined separately. The multiple pop-ups that meet the push conditions are sorted, and the pop-up window with the highest push priority is determined. Optionally, the sorting rule can be in the form of a score. For example, if the remaining validity period of pop-up A is only 1 / 2 of the full validity period, pop-up A is given a score of 5; if the remaining validity period of pop-up B is 3 / 4 of the full validity period, pop-up B is given a score of 2.5, and the pop-up window with the smaller remaining validity period percentage is prioritized. Another example is that pop-up A is a coupon pop-up, and pop-up A is given a score of 8; pop-up B is a regular pop-up, and pop-up B is given a score of 2. Optionally, the sorting rule can be weighted for each scoring dimension. For example, the weight of the remaining validity period percentage is set to 0.3, and the weight of the pop-up type is set to 0.7.
[0068] When at least one pop-up window contains only one pop-up window, the pop-up window status data will be determined. If the pop-up window meets the push conditions, the pop-up window will be pushed; otherwise, the pop-up window will not be pushed.
[0069] Step 240: Receive the second pop-up push request sent by the user terminal at the exit time;
[0070] The exit timing indicates when the pop-up window is displayed upon leaving the webpage. The second pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when the user terminal leaves the webpage, the user terminal automatically sends a second pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display the pop-up window upon exit.
[0071] Step 250: Obtain the first pop-up window attributes and the first pop-up window status data in terms of exit timing for at least one pop-up window;
[0072] The first pop-up attribute refers to at least one pre-configured attribute of the pop-up. Optionally, the first pop-up attribute is a pop-up attribute under a combined dimension of user dimension and pop-up dimension. User dimension refers to a dimension that is only related to the user, pop-up dimension refers to a dimension that is only related to the pop-up, and combined dimension refers to a dimension that is related to both the user and the pop-up.
[0073] Step 260: Based on the first pop-up attribute and the first pop-up state data of the exit timing dimension of at least one pop-up window, determine the second pop-up window from at least one pop-up window; push the second pop-up window to the user terminal.
[0074] In one embodiment, at least one pop-up window is configured for a webpage that the user terminal will leave. A second pop-up window to be displayed upon exit is determined from the at least one pop-up window. When the at least one pop-up window includes multiple pop-ups, the pop-up status data of each pop-up window is determined separately, and the multiple pop-ups that meet the push conditions are sorted to determine the pop-up window that appears first in the push order. Optionally, the sorting rule can be in the form of a score. For example, if pop-up C has only 1 / 2 of its full validity period remaining, its score is set to 5; if pop-up D has 3 / 4 of its full validity period remaining, its score is set to 2.5, prioritizing the pop-up window with the smaller percentage of remaining validity. Another example: if pop-up C is a coupon pop-up, its score is set to 8; if pop-up D is a regular pop-up, its score is set to 2. Optionally, the sorting rule can be weighted for each scoring dimension; for example, the weight of the percentage of remaining validity can be set to 0.3, and the weight of the pop-up type can be set to 0.7.
[0075] When at least one pop-up window contains only one pop-up window, the pop-up window status data will be determined. If the pop-up window meets the push conditions, the pop-up window will be pushed; otherwise, the pop-up window will not be pushed.
[0076] In this application, the first pop-up state data of the entry timing dimension in steps 210 to 230 and the first pop-up state data of the exit timing dimension in steps 240 to 260 are independent of each other, that is, the pop-up push logic of the entry timing and the pop-up push logic of the exit timing do not interfere with each other.
[0077] In summary, the first pop-up is determined based on its attributes and the state data of the first pop-up at the time of entry; the first pop-up is then pushed to the user's terminal at the time of entry. Similarly, the second pop-up is determined based on its attributes and the state data of the first pop-up at the time of exit; the second pop-up is then pushed to the user's terminal at the time of exit. This solution considers the timing of pop-up display, namely the entry and exit times, thus resolving the problem of arbitrary pop-up display in related technologies.
[0078] Furthermore, the first pop-up status data under the entry timing dimension and the first pop-up status data under the exit timing dimension are independent of each other. This not only ensures the orderly distribution of pop-up status data stored in the background and reduces the possibility of data errors, but also facilitates technical personnel in storing, querying, and updating pop-up status data.
[0079] Furthermore, the coexistence of entry-time pop-ups and exit-time pop-ups, with the pop-ups and rule configurations triggered at the two times not interfering with each other, can effectively guide users to stay or jump to relevant pages to continue consuming content, thereby improving operational efficiency, strengthening churn retention, and promoting the secondary distribution of page traffic.
[0080] Figure 3 A schematic diagram illustrating the principle of an exemplary embodiment of this application is shown. Figure 3 The pop-up push system includes a user terminal 310, a server cluster 320, and a pop-up management terminal 330. The server cluster 320 includes a pop-up push server 321, a pop-up status maintenance server 322, a document-oriented database 323, and a distributed caching architecture 324. The user terminal 310 is the terminal for displaying pop-ups. The pop-up management terminal 330 is used to configure pop-up attributes. The server cluster 320 includes at least one server that performs operations such as pop-up push, data storage, and data updates. In fact, this application does not limit the number of servers in the server cluster 320; the server cluster 320 may include one or more servers. Figure 3 The server cluster 320 shown includes four servers for illustrative purposes only.
[0081] Figure 3 It also illustrates two sets of data interaction processes: a pop-up window displayed upon entry and a pop-up window displayed upon exit. Entry timing refers to the timing of the pop-up window when the webpage is opened, while exit timing refers to the timing of the pop-up window when the webpage is left. Figure 3 The data interaction processes at the two display times shown do not interfere with each other.
[0082] For the data interaction process related to entry timing, user terminal 310 sends an entry timing pop-up push request to pop-up push server 321. Upon receiving the pop-up push request, pop-up push server 321 retrieves at least one pop-up attribute corresponding to a combined dimension and pop-up status data corresponding to a combined dimension under the entry timing dimension from the distributed caching architecture 324. Pop-up push server 321 identifies the first pop-up among at least one pop-ups and pushes it to user terminal 310. After successfully displaying the first pop-up, user terminal 310 sends a pop-up status data update request to pop-up status maintenance server 322. Upon receiving the pop-up status data update request, pop-up status maintenance server 322 updates the pop-up status data for the entry timing dimension stored in the distributed caching architecture 324. The distributed caching architecture 324 synchronizes the updated data to document database 323.
[0083] Regarding the data interaction process for exit timing, user terminal 310 sends an exit timing pop-up push request to pop-up push server 321. Upon receiving the pop-up push request, pop-up push server 321 retrieves at least one pop-up attribute corresponding to a combined dimension and pop-up status data corresponding to the combined dimension under the exit timing dimension from the distributed caching architecture database 324. Pop-up push server 321 identifies a second pop-up among at least one pop-ups and pushes the second pop-up to user terminal 310. After successfully displaying the second pop-up, user terminal 310 sends a pop-up status data update request to pop-up status maintenance server 322. Upon receiving the pop-up status data update request, pop-up status maintenance server 322 updates the pop-up status data for the exit timing dimension stored in the distributed caching architecture 324. The distributed caching architecture 324 synchronizes the updated data to document-oriented database 323.
[0084] Pop-up management terminal 330 is used to configure the pop-up attributes of at least one pop-up and send the configured pop-up attributes to document-oriented database 323 for storage. After receiving the configuration data, document-oriented database 323 synchronizes it to the distributed cache architecture 324. Optionally, pop-up management terminal 330 displays a pop-up configuration interface that supports configuring various pop-up attributes. Optionally, the pop-up configuration interface is used by operations staff to configure web pages (one or more web pages). For example, when an operations staff member activates the pop-up configuration plugin for a web page, the pop-up configuration interface will be displayed on pop-up management terminal 330. The pop-up configuration interface displays configuration options for various pop-up attributes, such as pop-up start time, pop-up end time, and duration of each pop-up.
[0085] Figure 4 A flowchart illustrating a pop-up push method provided in an exemplary embodiment of this application is shown, in which the method is... Figure 3The server cluster shown (including one or more servers) is used as an example to illustrate the method, which includes:
[0086] Step 401: Store at least one pop-up window's attributes, entry timing dimension pop-up state data, and exit timing dimension pop-up state data in a document-based database.
[0087] In this embodiment, the document-oriented database (DB) supports data querying, and optionally, it supports real-time, visualized data querying. Optionally, the document-oriented database provides an interface for passing in at least one pop-up attribute from the pop-up configuration terminal. In this embodiment, the document-oriented database also stores pop-up state data at the entry and exit times dimensions, respectively.
[0088] Step 402: Synchronize the document-oriented database and the distributed caching architecture;
[0089] Optionally, Redis can be used as the distributed caching architecture. Since the number of pop-ups, their attributes, status data, and user terminals involved in the entire general-purpose pop-up system is enormous, a distributed caching system can support high-performance data reading. Optionally, asynchronous synchronization can be used to synchronize data between the document-oriented database and the distributed caching architecture.
[0090] Step 403: Cache at least one pop-up window attribute, pop-up window status data in the entry timing dimension, and pop-up window status data in the exit timing dimension through a distributed caching architecture.
[0091] In this embodiment, the distributed caching system supports data reading; illustratively, the distributed caching system reads data at a speed of 120,000-150,000 QPS.
[0092] Step 404: Receive the first pop-up push request sent by the user terminal upon entry;
[0093] The entry timing indicates when a pop-up window is displayed when a webpage is opened. The first pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when a user terminal opens a webpage, the user terminal automatically sends the first pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display a pop-up window upon entry.
[0094] Step 405: Obtain the pop-up attributes corresponding to the combined dimension of at least one pop-up and the pop-up status data corresponding to the combined dimension under the entry timing dimension;
[0095] The combined dimension refers to a dimension that is related to both the user and the pop-up. The user dimension refers to a dimension that is only related to the user. The pop-up dimension refers to a dimension that is only related to the pop-up. For illustrative purposes, the pop-up attributes corresponding to the combined dimension include the threshold for the number of pop-ups per user per day under the same pop-up. For illustrative purposes, the pop-up attributes corresponding to the combined dimension include the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0096] The data is illustrative, including the number of times a user sees a pop-up within a single day under the same pop-up, and also illustrative, including the number of times a user sees a pop-up within the validity period of the same pop-up.
[0097] Step 406: Based on the pop-up attributes corresponding to the combination dimension and the pop-up status data corresponding to the combination dimension under the entry timing dimension, determine the first pop-up from at least one pop-up; push the first pop-up to the user terminal;
[0098] In one embodiment, at least one pop-up window is configured for the webpage that the user terminal will open. The first pop-up window to be displayed upon entry is determined from the at least one pop-up window. Optionally, the pop-up window to be pushed to the user terminal is determined based on the pop-up window attributes and pop-up window state data corresponding to the combined dimension of the first pop-up window.
[0099] In one embodiment, based on the entry timing dimension, if the number of current pop-ups corresponding to the first pop-up in at least one pop-up window is less than the threshold for the number of pop-ups in the same pop-up window per user per day, the first pop-up window is determined from at least one pop-up window. For example, if the threshold for the number of pop-ups in the first pop-up window per user per day is 5, and the current number of times the first pop-up window appears on the user's terminal per day is 3, it is determined that the threshold has not been reached, and the first pop-up window is pushed to the user's terminal.
[0100] In one embodiment, based on the entry timing dimension, the first pop-up is determined from at least one pop-up window if the number of current pop-ups displayed by the user within the validity period of the first pop-up window is less than a threshold for the total number of pop-ups displayed by the user within the validity period of the same pop-up window. For example, if the threshold for the total number of pop-ups displayed by the user within the validity period of the first pop-up window is 20, and the current number of times the first pop-up window has been displayed by the user terminal within the validity period of the first pop-up window is 10, it is determined that the threshold has not been reached, and the first pop-up window is pushed to the user terminal.
[0101] Step 407: Obtain the pop-up update request for entry timing sent by the user terminal;
[0102] After the user terminal successfully displays the first pop-up window upon entry, it sends a pop-up update request to the server cluster.
[0103] Step 408: Update the pop-up status data for the entry timing dimension;
[0104] The server cluster updates the status data in a pop-up window based on the timing of the update. Optionally, after a successful update, the server cluster also returns a success status to the user's terminal.
[0105] Step 409: Receive the second pop-up push request sent by the user terminal at the exit time;
[0106] The exit timing indicates when the pop-up window is displayed upon leaving the webpage. The second pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when the user terminal leaves the webpage, the user terminal automatically sends a second pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display the pop-up window upon exit.
[0107] Step 410: Obtain the pop-up attributes corresponding to the combined dimension of at least one pop-up and the pop-up status data corresponding to the combined dimension under the exit timing dimension;
[0108] The combined dimension refers to a dimension that is related to both the user and the pop-up. The user dimension refers to a dimension that is only related to the user. The pop-up dimension refers to a dimension that is only related to the pop-up. For illustrative purposes, the pop-up attributes corresponding to the combined dimension include the threshold for the number of pop-ups per user per day under the same pop-up. For illustrative purposes, the pop-up attributes corresponding to the combined dimension include the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0109] The data is illustrative, including the number of times a user sees a pop-up within a single day under the same pop-up, and also illustrative, including the number of times a user sees a pop-up within the validity period of the same pop-up.
[0110] Step 411: Based on the pop-up attributes corresponding to the combined dimension and the pop-up status data corresponding to the combined dimension under the exit timing dimension, determine the second pop-up from at least one pop-up; push the second pop-up to the user terminal;
[0111] In one embodiment, at least one pop-up window is configured for a webpage that the user terminal will leave. A second pop-up window that will be displayed upon exit is determined from the at least one pop-up window. Optionally, the pop-up window to be pushed to the user terminal is determined based on the pop-up window attributes and pop-up window state data corresponding to the combined dimension of the second pop-up window.
[0112] In one embodiment, based on the exit timing dimension, if the number of current pop-ups corresponding to the second pop-up in at least one pop-up window is less than the threshold for the number of pop-ups in the same pop-up window per user per day, the second pop-up window is determined from at least one pop-up window. For example, if the threshold for the number of pop-ups in the second pop-up window per user per day is 5, and the current number of times the second pop-up window has appeared on the user's terminal per day is 3, it is determined that the threshold has not been reached, and the second pop-up window is pushed to the user's terminal.
[0113] In one embodiment, based on the exit timing dimension, if the number of current user pop-ups within the validity period of the second pop-up in at least one pop-up window is less than the threshold for the total number of user pop-ups within the validity period of the same pop-up window, the second pop-up window is determined from at least one pop-up window. For example, if the threshold for the total number of user pop-ups within the validity period of the second pop-up window is 20, and the user terminal has displayed the second pop-up window 10 times within its validity period, it is determined that the threshold has not been reached, and the second pop-up window is pushed to the user terminal.
[0114] Step 412: Obtain the pop-up update request for the exit timing sent by the user terminal;
[0115] After the user terminal successfully displays the second pop-up window upon exiting, it sends a pop-up update request to the server cluster.
[0116] Step 413: Update the pop-up status data for the exit timing dimension.
[0117] The server cluster updates and exits via pop-up status data. Optionally, after a successful update, the server cluster also returns a success status to the user terminal.
[0118] It should be noted that in this application, the pop-up status data corresponding to the combined dimension under the entry timing dimension in steps 404 to 408, and the pop-up status data corresponding to the combined dimension under the exit timing dimension in steps 409 to 413 are independent of each other, that is, the pop-up push logic for the entry timing and the pop-up push logic for the exit timing do not interfere with each other.
[0119] In summary, by designing the first pop-up status data under the entry timing dimension, including the threshold for the number of pop-ups per user per day under the same pop-up and the threshold for the total number of pop-ups per user within the validity period of the same pop-up, and by designing the first pop-up status data under the exit timing dimension, including the threshold for the number of pop-ups per user per day under the same pop-up and the threshold for the total number of pop-ups per user within the validity period of the same pop-up, a specific implementation scheme for a pop-up push method with dual display timing is provided.
[0120] Figure 5 A schematic diagram illustrating an exemplary embodiment of this application is shown. Figure 5 The pop-up push system includes a user terminal 510, a server cluster 520, and a pop-up management terminal 530. The server cluster 520 includes a pop-up push server 521, a pop-up status maintenance server 522, a document-oriented database 523, and a distributed caching architecture 524. The user terminal 510 is the terminal for displaying pop-ups. The pop-up management terminal 530 is used to configure pop-up attributes. The server cluster 520 includes at least one server that performs operations such as pop-up push, data storage, and data updates. In fact, this application does not limit the number of servers in the server cluster 520; the server cluster 520 may include one or more servers. Figure 5 The server cluster 520 shown includes four servers for illustrative purposes only.
[0121] Figure 5 It also illustrates two sets of data interaction processes: a pop-up window displayed upon entry and a pop-up window displayed upon exit. Entry timing refers to the timing of the pop-up window when the webpage is opened, while exit timing refers to the timing of the pop-up window when the webpage is left. Figure 5 The data interaction processes at the two display times shown do not interfere with each other.
[0122] For the data interaction process related to entry timing, user terminal 510 sends an entry timing pop-up push request to pop-up push server 521. Upon receiving the pop-up push request, pop-up push server 521 retrieves at least one pop-up's first and second pop-up attributes, as well as first and second pop-up state data under the entry timing dimension, from the distributed caching architecture 524. Pop-up push server 521 identifies the first pop-up among at least one pop-up and pushes it to user terminal 510. After successfully displaying the first pop-up, user terminal 510 sends a pop-up state data update request to pop-up state maintenance server 522. Upon receiving the pop-up state data update request, pop-up state maintenance server 522 updates the first and second pop-up state data under the entry timing dimension stored in the distributed caching architecture 524. The distributed caching architecture 524 synchronizes the updated data to document database 523.
[0123] Regarding the data interaction process for exit timing, user terminal 510 sends an exit timing pop-up push request to pop-up push server 521. Upon receiving the pop-up push request, pop-up push server 521 retrieves at least one pop-up's first pop-up attribute, second pop-up attribute, first pop-up status data under the exit timing dimension, and second pop-up status data from the distributed caching architecture database 524. Pop-up push server 521 identifies the second pop-up among at least one pop-up and pushes the second pop-up to user terminal 510. After successfully displaying the second pop-up, user terminal 510 sends a pop-up status data update request to pop-up status maintenance server 522. Upon receiving the pop-up status data update request, pop-up status maintenance server 522 updates the first and second pop-up status data under the exit timing dimension stored in the distributed caching architecture 524. The distributed caching architecture 524 synchronizes the updated data to document-oriented database 523.
[0124] Pop-up management terminal 530 is used to configure the pop-up attributes of at least one pop-up and send the configured pop-up attributes to document-oriented database 523 for storage. After receiving the configuration data, document-oriented database 523 synchronizes it to distributed caching architecture 524. Optionally, pop-up management terminal 530 displays a pop-up configuration interface that supports configuring various pop-up attributes. Optionally, the pop-up configuration interface is configured by operations staff for web pages (one or more web pages). Illustratively, when an operations staff member invokes the pop-up configuration plugin for a web page, the pop-up management terminal 530 displays the pop-up configuration interface. The pop-up configuration interface displays configuration options for various pop-up attributes, such as pop-up start time, pop-up end time, and duration of each pop-up.
[0125] Figure 6 A flowchart illustrating a pop-up push method provided in an exemplary embodiment of this application is shown, in which the method is... Figure 5 The server cluster shown (including one or more servers) is used as an example to illustrate the method, which includes:
[0126] Step 601: Store at least one pop-up window's pop-up window attributes, pop-up window status data in the entry timing dimension, and pop-up window status data in the exit timing dimension through a document-type database.
[0127] In this embodiment, the document-oriented database (DB) supports data querying, and optionally, it supports real-time, visualized data querying. Optionally, the document-oriented database provides an interface for passing in at least one pop-up attribute from the pop-up configuration terminal. In this embodiment, the document-oriented database also stores pop-up state data at the entry and exit times dimensions, respectively.
[0128] Step 602: Synchronize the document-oriented database and the distributed caching architecture;
[0129] Optionally, Redis can be used as the distributed caching architecture. Since the number of pop-ups, their attributes, status data, and user terminals involved in the entire general-purpose pop-up system is enormous, a distributed caching system can support high-performance data reading. Optionally, asynchronous synchronization can be used to synchronize data between the document-oriented database and the distributed caching architecture.
[0130] Step 603: Cache at least one pop-up window's attributes, entry timing dimension pop-up state data, and exit timing dimension pop-up state data through a distributed caching architecture.
[0131] In this embodiment, the distributed caching system supports data reading; illustratively, the distributed caching system reads data at a speed of 120,000-150,000 QPS.
[0132] Step 604: Receive the first pop-up push request sent by the user terminal upon entry;
[0133] The entry timing indicates when a pop-up window is displayed when a webpage is opened. The first pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when a user terminal opens a webpage, the user terminal automatically sends the first pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display a pop-up window upon entry.
[0134] Step 605: Obtain the first pop-up attribute, the second pop-up attribute, and the first and second pop-up state data under the entry timing dimension of at least one pop-up window;
[0135] The first pop-up attribute is a pop-up attribute that combines the user dimension and the pop-up dimension. The combined dimension refers to a dimension that is related to both the user and the pop-up. For illustration, the first pop-up attribute includes at least one of the following: the threshold for the number of pop-ups per user per day under the same pop-up, and the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0136] The second pop-up attribute is a user-centric pop-up attribute. The user dimension refers to dimensions only related to the user. The pop-up dimension refers to dimensions only related to the pop-up itself. For illustration purposes, the second pop-up attribute includes at least one of the following: a threshold for the total number of pop-ups per user per day, and a threshold for the interval between pop-ups per user.
[0137] Step 606: Based on the first pop-up attribute of at least one pop-up window and the first pop-up state data of the entry timing dimension, determine the first pop-up window from at least one pop-up window; based on the second pop-up window attribute of at least one pop-up window and the second pop-up state data of the entry timing dimension, determine the pop-up window to be pushed to the user terminal; push the first pop-up window to the user terminal.
[0138] For a webpage that will be opened on the user's terminal, at least one pop-up window has been configured. The first pop-up window to be displayed upon entry will be determined from among the at least one pop-up window, and the pop-up window to be pushed to the user's terminal will also be determined.
[0139] In one embodiment, the first pop-up is determined from at least one pop-up based on the fact that the number of current pop-ups for a user in a single day is less than the threshold for the number of pop-ups for a user in a single day under the same pop-up dimension.
[0140] In one embodiment, the first pop-up is determined from at least one pop-up based on the fact that the number of current pop-ups of the user within the validity period of the first pop-up in at least one pop-up under the entry timing dimension is less than the threshold of the total number of pop-ups of the user within the validity period of the same pop-up.
[0141] In one embodiment, a user terminal is identified as a terminal to be pushed to based on the fact that the number of pop-up windows corresponding to the user terminal in a single day does not reach the threshold for the total number of pop-up windows in a single day under the entry timing dimension. For example, five pop-up windows are pre-configured, and the threshold for the total number of pop-up windows in a single day for the user terminal is 6, meaning the user terminal can display a maximum of 6 pop-up windows in a day. If the number of pop-up windows corresponding to the user terminal in a single day under the entry timing dimension is 3, the user terminal is identified as a terminal to be pushed to.
[0142] In one embodiment, the current pop-up interval for the user is calculated based on the most recent pop-up time and the current time corresponding to the user terminal under the entry timing dimension. If the current pop-up interval for the user reaches the user pop-up interval threshold, it is determined that a pop-up will be pushed to the user terminal. For example, the most recent pop-up time for the user terminal is 12:00 on March 15, 2023, and the current time is 12:00 on March 17, 2023. The calculated current pop-up interval is 48 hours, reaching the user pop-up interval threshold of 24 hours, thus the user terminal is determined to be the terminal to be pushed to.
[0143] Step 607: Obtain the pop-up update request for the entry timing sent by the user terminal;
[0144] After the user terminal successfully displays the first pop-up window upon entry, it sends a pop-up update request to the server cluster.
[0145] Step 608: Update the pop-up status data for the entry timing dimension;
[0146] The server cluster updates the status data in a pop-up window based on the timing of the update. Optionally, after a successful update, the server cluster also returns a success status to the user's terminal.
[0147] Step 609: Receive the second pop-up push request sent by the user terminal at the exit time;
[0148] The exit timing indicates when the pop-up window is displayed upon leaving the webpage. The second pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when the user terminal leaves the webpage, the user terminal automatically sends a second pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display the pop-up window upon exit.
[0149] Step 610: Obtain the first pop-up window attribute, the second pop-up window attribute, and the first pop-up window state data and the second pop-up window state data under the exit timing dimension of at least one pop-up window;
[0150] The first pop-up attribute is a pop-up attribute that combines the user dimension and the pop-up dimension. The combined dimension refers to a dimension that is related to both the user and the pop-up. For illustration, the first pop-up attribute includes at least one of the following: the threshold for the number of pop-ups per user per day under the same pop-up, and the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0151] The second pop-up attribute is a user-centric pop-up attribute. The user dimension refers to dimensions only related to the user. The pop-up dimension refers to dimensions only related to the pop-up itself. For illustration purposes, the second pop-up attribute includes at least one of the following: a threshold for the total number of pop-ups per user per day, and a threshold for the interval between pop-ups per user.
[0152] Step 611: Based on the first pop-up attributes of at least one pop-up window and the first pop-up state data of the exit timing dimension, determine the second pop-up window from at least one pop-up window; based on the second pop-up attributes of at least one pop-up window and the second pop-up state data of the entry timing dimension, determine the pop-up window to be pushed to the user terminal; push the second pop-up window to the user terminal.
[0153] For web pages that a user's terminal will be leaving, at least one pop-up window has been configured. From these at least one pop-up window, a second pop-up window that will be displayed upon exit will be determined, and a pop-up window that will be pushed to the user's terminal will also be determined.
[0154] In one embodiment, based on the exit timing dimension, if the number of current pop-ups corresponding to the second pop-up in at least one pop-up window is less than the threshold for the number of pop-ups in the same pop-up window, the second pop-up window is determined from at least one pop-up window.
[0155] In one embodiment, based on the exit timing dimension, if the number of current user pop-ups within the validity period of the second pop-up in at least one pop-up is less than the threshold of the total number of user pop-ups within the validity period of the same pop-up, the second pop-up is determined from at least one pop-up.
[0156] In one embodiment, based on the user terminal's daily pop-up count not reaching the user's daily total pop-up count threshold under the exit timing dimension, the user terminal is identified as a terminal to be pushed. For example, five pop-ups are pre-configured, and the user terminal's daily total pop-up count threshold for these five pop-ups is 6, meaning the user terminal can display a maximum of 6 pop-ups per day. If the user terminal's daily pop-up count under the exit timing dimension is 3, the user terminal is identified as a terminal to be pushed.
[0157] In one embodiment, the current pop-up interval for the user's terminal under the exit timing dimension is calculated based on the most recent pop-up time and the current time. If the current pop-up interval for the user's terminal under the exit timing dimension reaches a user pop-up interval threshold, it is determined that a pop-up will be pushed to the user's terminal. For example, the most recent pop-up time for the user's terminal is 12:00 on March 15, 2023, and the current time is 12:00 on March 17, 2023. The calculated current pop-up interval is 48 hours, reaching the user pop-up interval threshold of 24 hours, thus the user's terminal is determined to be the terminal to be pushed to.
[0158] Step 612: Obtain the pop-up update request for the exit timing sent by the user terminal;
[0159] After the user terminal successfully displays the second pop-up window upon exiting, it sends a pop-up update request to the server cluster.
[0160] Step 613: Update the pop-up status data for the exit timing dimension.
[0161] The server cluster updates and exits via pop-up status data. Optionally, after a successful update, the server cluster also returns a success status to the user terminal.
[0162] It should be noted that in this application, the pop-up status data corresponding to the combined dimension under the entry timing dimension in steps 604 to 608, and the pop-up status data corresponding to the combined dimension under the exit timing dimension in steps 609 to 613 are independent of each other, that is, the pop-up push logic for the entry timing and the pop-up push logic for the exit timing do not interfere with each other.
[0163] In summary, by designing the second pop-up status data under the entry timing dimension, including the user's current pop-up count and the time of the most recent pop-up, and by designing the second pop-up status data under the exit timing dimension, including the user's current pop-up count and the time of the most recent pop-up, and also considering the user dimension, it is possible to determine again whether to push a pop-up to the user's terminal based solely on the user's perspective. The above scheme further provides a specific implementation scheme for a pop-up push method with dual display timing.
[0164] Figure 7 A schematic diagram illustrating the principle of an exemplary embodiment of this application is shown. Figure 7The pop-up push system includes a user terminal 710, a server cluster 720, and a pop-up management terminal 730. The server cluster 720 includes a pop-up push server 721, a pop-up status maintenance server 722, a document-oriented database 723, and a distributed caching architecture 724. The user terminal 710 is the terminal for displaying pop-ups. The pop-up management terminal 730 is used to configure pop-up attributes. The server cluster 720 includes at least one server that performs operations such as pop-up push, data storage, and data updates. In fact, this application does not limit the number of servers in the server cluster 720; the server cluster 720 may include one or more servers. Figure 7 The server cluster 720 shown includes four servers for illustrative purposes only.
[0165] Figure 7 It also illustrates two sets of data interaction processes: a pop-up window displayed upon entry and a pop-up window displayed upon exit. Entry timing refers to the timing of the pop-up window when the webpage is opened, while exit timing refers to the timing of the pop-up window when the webpage is left. Figure 7 The data interaction processes at the two display times shown do not interfere with each other.
[0166] For the data interaction process related to entry timing, user terminal 710 sends an entry timing pop-up push request to pop-up push server 721. Upon receiving the pop-up push request, pop-up push server 721 retrieves at least one pop-up's first and third pop-up attributes, as well as the first pop-up's state data under the entry timing dimension, from the distributed caching architecture 724. Pop-up push server 721 identifies the first pop-up among at least one pop-up and pushes it to user terminal 710. After successfully displaying the first pop-up, user terminal 710 sends a pop-up state data update request to pop-up state maintenance server 722. Upon receiving the pop-up state data update request, pop-up state maintenance server 722 updates the first pop-up state data under the entry timing dimension stored in the distributed caching architecture 724. The distributed caching architecture 724 synchronizes the updated data to document database 723.
[0167] Regarding the data interaction process for exit timing, user terminal 710 sends an exit timing pop-up push request to pop-up push server 721. Upon receiving the pop-up push request, pop-up push server 721 retrieves at least one pop-up's first pop-up attribute, third pop-up attribute, and first pop-up status data under the exit timing dimension from the distributed caching architecture database 724. Pop-up push server 721 identifies a second pop-up among at least one pop-ups and pushes the second pop-up to user terminal 710. After successfully displaying the second pop-up, user terminal 710 sends a pop-up status data update request to pop-up status maintenance server 722. Upon receiving the pop-up status data update request, pop-up status maintenance server 722 updates the first pop-up status data under the exit timing dimension stored in the distributed caching architecture 724. The distributed caching architecture 724 synchronizes the updated data to document-oriented database 723.
[0168] Pop-up management terminal 730 is used to configure the pop-up attributes of at least one pop-up and send the configured pop-up attributes to document-oriented database 723 for storage. After receiving the configuration data, document-oriented database 723 synchronizes it to distributed cache architecture 724. Optionally, pop-up management terminal 730 displays a pop-up configuration interface that supports configuring various pop-up attributes. Optionally, the pop-up configuration interface is used by operations staff to configure web pages (one or more web pages). Illustratively, when an operations staff member invokes the pop-up configuration plugin for a web page, the pop-up management terminal 730 displays the pop-up configuration interface. The pop-up configuration interface displays configuration options for various pop-up attributes, such as pop-up start time, pop-up end time, and duration of each pop-up.
[0169] Figure 8 A flowchart illustrating a pop-up push method provided in an exemplary embodiment of this application is shown, in which the method is... Figure 7 The server cluster shown (including one or more servers) is used as an example to illustrate the method, which includes:
[0170] Step 801: Store at least one pop-up window's pop-up window attributes, pop-up window status data in the entry timing dimension, and pop-up window status data in the exit timing dimension through a document-type database.
[0171] In this embodiment, the document-oriented database (DB) supports data querying, and optionally, it supports real-time, visualized data querying. Optionally, the document-oriented database provides an interface for passing in at least one pop-up attribute from the pop-up configuration terminal. In this embodiment, the document-oriented database also stores pop-up state data at the entry and exit times dimensions, respectively.
[0172] Step 802: Synchronize the document-oriented database and the distributed caching architecture;
[0173] Optionally, Redis can be used as the distributed caching architecture. Since the number of pop-ups, their attributes, status data, and user terminals involved in the entire general-purpose pop-up system is enormous, a distributed caching system can support high-performance data reading. Optionally, asynchronous synchronization can be used to synchronize data between the document-oriented database and the distributed caching architecture.
[0174] Step 803: Cache at least one pop-up window's attributes, entry timing dimension pop-up state data, and exit timing dimension pop-up state data through a distributed caching architecture.
[0175] In this embodiment, the distributed caching system supports data reading; illustratively, the distributed caching system reads data at a speed of 120,000-150,000 QPS.
[0176] Step 804: Receive the first pop-up push request sent by the user terminal upon entry;
[0177] The entry timing indicates when a pop-up window is displayed when a webpage is opened. The first pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when a user terminal opens a webpage, the user terminal automatically sends the first pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display a pop-up window upon entry.
[0178] Step 805: Obtain the first pop-up window attribute, the third pop-up window attribute, and the first pop-up window state data under the entry timing dimension of at least one pop-up window;
[0179] The first pop-up attribute is a pop-up attribute that combines the user dimension and the pop-up dimension. The combined dimension refers to a dimension that is related to both the user and the pop-up. For illustration, the first pop-up attribute includes at least one of the following: the threshold for the number of pop-ups per user per day under the same pop-up, and the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0180] The third pop-up attribute is a pop-up attribute within the pop-up dimension. The pop-up dimension refers to dimensions only related to the pop-up. For illustration purposes, the third pop-up attribute includes the pop-up start time and pop-up end time.
[0181] Step 806: Based on the first pop-up attribute of at least one pop-up window and the first pop-up state data of the entry timing dimension, determine the first pop-up window from at least one pop-up window; determine that the first pop-up window meets the push conditions based on the third pop-up attribute of at least one pop-up window; push the first pop-up window to the user terminal;
[0182] For the webpage that the user's terminal will open, at least one pop-up window has been configured. The first pop-up window that will be displayed upon entry will be determined from the at least one pop-up window, and it will be determined that the first pop-up window meets the push notification conditions.
[0183] In one embodiment, the first pop-up is determined from at least one pop-up based on the fact that the number of current pop-ups for a user in a single day is less than the threshold for the number of pop-ups for a user in a single day under the same pop-up dimension.
[0184] In one embodiment, the first pop-up is determined from at least one pop-up based on the fact that the number of current pop-ups of the user within the validity period of the first pop-up in at least one pop-up under the entry timing dimension is less than the threshold of the total number of pop-ups of the user within the validity period of the same pop-up.
[0185] In one embodiment, based on the lifecycle of the first pop-up that falls within at least one pop-up window at the current time, it is determined that the first pop-up meets the push conditions. The pop-up lifecycle is obtained based on the pop-up start time and pop-up end time. For example, the first pop-up is pre-configured with a start time of March 1, 2023, and an end time of April 1, 2023, meaning its lifecycle is from March 1, 2023 to April 1, 2023. The current time is March 15, 2023, and the first pop-up is determined to meet the push conditions.
[0186] Step 807: Obtain the pop-up update request for entry timing sent by the user terminal;
[0187] After the user terminal successfully displays the first pop-up window upon entry, it sends a pop-up update request to the server cluster.
[0188] Step 808: Update the pop-up status data for the entry timing dimension;
[0189] The server cluster updates the status data in a pop-up window based on the timing of the update. Optionally, after a successful update, the server cluster also returns a success status to the user's terminal.
[0190] Step 809: Receive the second pop-up push request sent by the user terminal at the exit time;
[0191] The exit timing indicates when the pop-up window is displayed upon leaving the webpage. The second pop-up push request is used to request the server cluster to push the pop-up window. Optionally, when the user terminal leaves the webpage, the user terminal automatically sends a second pop-up push request to the server cluster. Optionally, the user terminal provides a pop-up function settings entry, allowing the user terminal to configure whether to display the pop-up window upon exit.
[0192] Step 810: Obtain the first pop-up window attribute, the third pop-up window attribute, and the first pop-up window state data under the exit timing dimension of at least one pop-up window;
[0193] The first pop-up attribute is a pop-up attribute that combines the user dimension and the pop-up dimension. The combined dimension refers to a dimension that is related to both the user and the pop-up. For illustration, the first pop-up attribute includes at least one of the following: the threshold for the number of pop-ups per user per day under the same pop-up, and the threshold for the total number of pop-ups per user within the validity period of the same pop-up.
[0194] The third pop-up attribute is a user-centric pop-up attribute. The pop-up dimension refers to dimensions only related to the pop-up. For illustrative purposes, the third pop-up attribute includes the pop-up start time and pop-up end time.
[0195] Step 811: Based on the first pop-up attributes of at least one pop-up window and the first pop-up state data of the exit timing dimension, determine the second pop-up window from at least one pop-up window; based on the second pop-up attributes of at least one pop-up window and the second pop-up state data of the entry timing dimension, determine the pop-up window to be pushed to the user terminal; push the second pop-up window to the user terminal.
[0196] For web pages that a user's terminal is about to leave, at least one pop-up window has been configured. A second pop-up window that will be displayed upon exit will be determined from the at least one pop-up window, and it will be determined whether the second pop-up window meets the push notification conditions.
[0197] In one embodiment, based on the exit timing dimension, if the number of current pop-ups corresponding to the second pop-up in at least one pop-up window is less than the threshold for the number of pop-ups in the same pop-up window, the second pop-up window is determined from at least one pop-up window.
[0198] In one embodiment, based on the exit timing dimension, if the number of current user pop-ups within the validity period of the second pop-up in at least one pop-up is less than the threshold of the total number of user pop-ups within the validity period of the same pop-up, the second pop-up is determined from at least one pop-up.
[0199] In one embodiment, based on the lifecycle of the second pop-up that falls within at least one pop-up window at the current time, it is determined that the second pop-up meets the push conditions. The pop-up lifecycle is obtained based on the pop-up start time and pop-up end time. For example, the pop-up start time of the second pop-up is pre-configured as 2023.03.01, and the pop-up end time of the first pop-up is 2023.04.01, meaning the pop-up lifecycle of the second pop-up is from 2023.03.01 to 2023.04.01. The current time is 2023.03.15, and the second pop-up is determined to meet the push conditions.
[0200] Step 812: Obtain the pop-up update request for the exit timing sent by the user terminal;
[0201] After the user terminal successfully displays the second pop-up window upon exiting, it sends a pop-up update request to the server cluster.
[0202] Step 813: Update the pop-up status data for the exit timing dimension.
[0203] The server cluster updates and exits via pop-up status data. Optionally, after a successful update, the server cluster also returns a success status to the user terminal.
[0204] It should be noted that in this application, the pop-up status data corresponding to the combined dimension under the entry timing dimension in steps 804 to 808, and the pop-up status data corresponding to the combined dimension under the exit timing dimension in steps 809 to 813 are independent of each other, that is, the pop-up push logic for the entry timing and the pop-up push logic for the exit timing do not interfere with each other.
[0205] In summary, by designing third pop-up attributes under both the entry and exit timing dimensions (including pop-up start and end times) and considering the pop-up dimension itself, it's possible to further determine whether a pop-up meets the push conditions based solely on this dimension. This solution further provides a concrete implementation of a dual-display-timing pop-up push method. For a single pop-up, a new pop-up can be obtained by modifying a previously configured pop-up. That is, a basic pop-up can be applied to multiple application scenarios, significantly improving operational conversion rates. Furthermore, a generalized implementation of this solution can be applied to various business scenarios, thereby improving technology reusability and reducing repetitive work for developers.
[0206] It should be noted that the above text Figure 4 , Figure 6 , Figure 8 The illustrated method embodiments can be freely combined, and further, a complete embodiment can be obtained, which determines the first pop-up (or second pop-up) from at least one pop-up based on the first pop-up attribute, the second pop-up attribute, the third pop-up attribute, the first pop-up state data, and the second pop-up state data, and determines the push of the first pop-up (or second pop-up) to the user terminal. A detailed description of this embodiment can be found in the relevant introductions of the three embodiments described above. This complete embodiment provides a generalized pop-up push method, comprehensively considering pop-up push rules from three dimensions: pop-up dimension, user dimension, and a combined dimension obtained by combining the pop-up dimension and the user dimension. That is, the complete embodiment provides a generalized pop-up push scheme for any pop-up (any number of pop-ups, any pop-up attributes) and any user group.
[0207] It should also be noted that parallel computing will be used for the data related to the combined dimension (first pop-up attributes and first pop-up status data), the user dimension (second pop-up attributes and second pop-up status data), and the pop-up dimension (third pop-up attributes) to speed up the calculation.
[0208] Figure 9 A schematic diagram of the interface of a pop-up management terminal provided by an exemplary embodiment is shown. This interface is the pop-up configuration interface, and the pop-up attributes of at least one pop-up are configured through the pop-up configuration interface.
[0209] Reference Figure 9 The pop-up configuration interface includes a configuration area 901 for the first pop-up attribute. The configuration area 901 for the first pop-up attribute supports configuring the threshold for the total number of pop-ups for a user within the validity period of the same pop-up, and the threshold for the number of pop-ups for a user per day under the same pop-up.
[0210] The pop-up configuration interface includes a configuration area 902 for the second pop-up attributes. This configuration area 902 supports configuring the user pop-up interval threshold and the user's total daily pop-up count threshold.
[0211] The pop-up configuration interface includes a configuration area 903 for the third pop-up attributes. This configuration area 903 supports configuring the pop-up start time and end time.
[0212] As an illustration, the pop-up configuration interface also includes a pop-up quantity configuration area 904. Pop-up quantity configuration area 904 supports configuring the number of pop-ups.
[0213] As an illustration, the pop-up configuration interface also includes a pop-up style configuration area 905. Pop-up style configuration area 905 supports configuring pop-up styles; optional pop-up styles include regular pop-ups and coupon pop-ups.
[0214] As an illustration, the pop-up configuration interface also includes pop-up delivery type configuration area 906. Pop-up delivery type configuration area 906 supports configuring the pop-up delivery type; targeted delivery refers to delivery to existing users or new users.
[0215] As an illustration, the pop-up configuration interface also includes a pop-up display scene configuration area 907. Pop-up display scene configuration area 907 supports configuring pop-up display scenes.
[0216] As an illustration, the pop-up configuration interface also includes a pop-up image configuration area 908. Pop-up image configuration area 908 supports configuring the image carried by the pop-up. Pop-up image configuration area 908 can receive uploaded images.
[0217] As an illustration, the pop-up configuration interface also includes a link jump type configuration area 909. This area supports configuring the link jump type for the pop-up, which can be either no link or a link. The area also supports configuring the jump link for the pop-up.
[0218] Optionally, the pop-up configuration interface also supports configuring the pop-up title ( Figure 9 (Not shown).
[0219] In summary, the pop-up configuration interface enables universal configuration of pop-ups. Each pop-up can be configured through this interface. The interface considers multiple dimensions of pop-up attributes (user dimension, pop-up dimension, and a combination of user and pop-up dimensions), thus providing a comprehensive, complete, and universally applicable configuration solution.
[0220] Figure 10 A schematic diagram of a pop-up push method provided in an exemplary embodiment of this application is shown. Figure 10 The process shown, from top to bottom, is as follows: frequency control 1001, task arrangement 1002, priority verification 1003, deployment logic 1004, pop-up window format 1005, and general pop-up window component 1006.
[0221] Frequency control 1001 is used to control the frequency of some configured pop-up attributes (such as time interval, number of displays, etc.). Task arrangement 1002 is used to sort multiple configured pop-ups. Priority verification 1003 is used to prioritize and sort multiple pop-ups according to the configured pop-up order. Deployment logic 1004 is used to perform rule judgment on multiple pop-ups according to the configured deployment logic. Pop-up form 1005 refers to the different forms of various pop-ups, such as ordinary pop-ups, coupon pop-ups, etc. General pop-up component 1006 refers to the overall technical design as a general component system, based on which the above pop-up push function is completed.
[0222] Figure 11 The diagram shows a schematic of a pop-up push system provided in an exemplary embodiment of this application. The pop-up push system includes a pop-up management terminal 1101, a user terminal 1102, a pop-up content acquisition module 1103, a pop-up status maintenance module 1104, and a pop-up storage module 1105.
[0223] The pop-up content acquisition module 1103 includes a configuration content acquisition module, a frequency control module, a validity filtering module, and an optimal selection module. The pop-up status maintenance module 1104 includes modules for processing the total number of pop-ups by user and pop-up content, processing the number of pop-ups for the current day by user and pop-up content, processing the time of the most recent pop-up by user, and processing the total number of pop-ups for the current day by user. The pop-up storage module 1105 includes a database (DB) and Redis.
[0224] For module 1103, which retrieves pop-up content, refer to the reference. Figure 12 The flowchart shown illustrates the technical implementation process. The pop-up content acquisition module includes a module for acquiring all pop-up configurations 1201, a legality filtering module 1202, a rule sorting module 1203, a frequency control module 1204, and a selection module 1205.
[0225] The module 1201 retrieves all pop-up configurations. It reads the pop-up configuration data stored in the pop-up management terminal via Redis (a distributed cache). The retrieved pop-up configuration data is in array form. Because this pop-up push system supports diverse pop-up configurations, meaning multiple configurations can be configured simultaneously, the corresponding backend data structure is an array list.
[0226] The validity filtering module 1202 is used to verify the validity period of pop-ups. Because pop-ups are configured with a lifecycle, they have corresponding business scenarios; for example, the pop-up might be an active pop-up with an expiration date. Therefore, to filter pop-up configurations outside their validity period, the filtering is implemented by determining whether the pop-up's start and end times are within the current time range. Furthermore, to support both entry and exit timing, which are independent and do not interfere with each other, all valid configurations are processed into two separate array lists based on their entry and exit timings.
[0227] The rule sorting module 1203 is used to sort according to the configured order.
[0228] The frequency control module 1204 is used for frequency control at both the user and user + pop-up dimensions. First, it filters user-level frequency control. This controls the maximum number of pop-ups a user can see per day, as well as the time interval between consecutive pop-ups, to prevent a user from experiencing endless pop-ups and improve user experience. If the user limit is exceeded, no pop-ups are displayed to that user's terminal. Specifically, it stores the user's most recent pop-up time and the number of pop-ups in Redis, queries these two data points, and then checks if the time interval and the number of pop-ups exceed a specified limit. If either exceeds the limit, the user is filtered out. It's important to note that to improve efficiency, the checks for the two logics (the user's most recent pop-up time and the number of pop-ups) need to be performed concurrently to speed up the process.
[0229] Secondly, frequency control based on the user + pop-up dimension should be implemented. Similarly, for a given user, the same pop-up content should not be displayed repeatedly. Therefore, the number of pop-ups for the user + pop-up dimension on a given day and the total number of times the pop-up is valid within its validity period should be calculated. The data should then be used to make a judgment, and if the count exceeds the limit, the pop-up should be filtered out. Similarly, to improve the judgment efficiency, the two logics here (the number of pop-ups for the user + pop-up dimension on a given day and the total number of times the pop-up is valid within its validity period) need to be performed concurrently to speed up the judgment process.
[0230] After the previous modules have been executed, the optimal selection module 1205 will return one pop-up window from each of the pop-up window lists for entry and exit timing. Since the entire list has been scored and sorted by the rule sorting module 1203, the first element in the returned list is the optimal pop-up window.
[0231] For the pop-up status maintenance module 1104. Refer to the reference. Figure 13 The technical implementation flowchart is shown. The pop-up state maintenance module 1104 is used to perform state maintenance 1301 for entry timing and state maintenance 1302 for exit timing. State maintenance 1301 for entry timing requires maintaining four types of data under the entry timing: total number of pop-ups in the user + pop-up content dimension, number of pop-ups for the day in the user + pop-up content dimension, the most recent pop-up time in the user dimension, and the total number of pop-ups for the day in the user dimension.
[0232] The status maintenance for exit timing 1302 requires maintaining four types of data under the exit timing: total number of pop-ups in the user + pop-up content dimension, number of pop-ups on the same day in the user + pop-up content dimension, the most recent pop-up time in the user dimension, and the total number of pop-ups on the same day in the user dimension.
[0233] The following explanation uses four types of data related to maintaining entry timing as examples. The logic of the entry timing status data and the exit timing status data is the same, only the timing is different, that is, a different field is stored.
[0234] 1. Total number of pop-ups based on the "user + pop-up content" dimension.
[0235] The Redis INCR command is used to implement this. The specific design rules include: (1) Redis key = vuid + uniqueKey, where vuid represents the user's unique identifier and uniqueKey represents the pop-up's unique identifier. (2) The expiration time is the end time of the pop-up's validity period, meaning that the data will always exist within the validity period of the pop-up. (3) The value of Redis INCR is 1, which means adding 1, so the final result is the total number of times. (4) After storing the "total number of pop-ups by user + pop-up content dimension", the total number of times can be queried through the pop-up content acquisition module 1103, which can determine whether the total number of times exceeds the threshold.
[0236] 2. The number of pop-ups per day based on the "user + pop-up content" dimension.
[0237] The Redis INCR command is used to implement this. The specific design rules include: (1) Redis key = vuid + uniqueKey, where vuid represents the user's unique identifier and uniqueKey represents the pop-up's unique identifier. (2) The expiration time is midnight of the same day, that is, the data is automatically cleared at midnight. (3) The value of Redis INCR is 1, which means incrementing by 1. Since the data is automatically cleared at midnight, this value represents the number of times on that day. (4) After storing the "number of pop-ups on that day in terms of user + pop-up content", the number of times on that day can be queried through the pop-up content acquisition module 1103, and it can be determined whether the number of times on that day exceeds the threshold.
[0238] 3. Regarding "total number of pop-ups per day at the user level".
[0239] The Redis INCR command is used to implement this. The specific design rules include: (1) Redis key = vuid, where vuid represents the user's unique identifier. (2) The expiration time is midnight of the same day, which means that the data is automatically cleared at midnight. (3) The value of RedisINCR is 1, which means incrementing by 1. Since the data is automatically cleared at midnight, this represents the number of times on that day. (4) After storing the "number of pop-ups on the same day in the user dimension", the total number can be queried through the pop-up content acquisition module 1103, which can determine whether the total number exceeds the threshold. The difference between "total number of pop-ups on the same day in the user dimension" and "total number of pop-ups in the user + pop-up content dimension" is that "total number of pop-ups on the same day in the user dimension" only applies to users and not to pop-up content.
[0240] 4. Regarding "the most recent pop-up time at the user level".
[0241] The Redis SET command is used for implementation. Specific design rules include: (1) Redis key = vuid, where vuid represents the user's unique identifier. (2) The expiration time is fixed at one week, which is sufficient to determine the time interval between two consecutive pop-ups. (3) The value of Redis SET is the timestamp of the current time. (4) After storing the "most recent pop-up time at the user level," the pop-up content acquisition module 1103 can query the user's most recent pop-up time and compare it with the current time to determine whether the current pop-up time interval has reached the pop-up interval threshold. It should be noted that the "most recent pop-up time at the user level" only applies to the user, not the pop-up content.
[0242] For pop-up window storage module 1105. Refer to the reference. Figure 14 The flowchart shown illustrates the technical implementation process. The pop-up window storage module 1105 provides an interface for the front-end to request configuration data for the pop-up window. Upon receiving the request from the interface, the data is stored in the database via the storage engine.
[0243] When data stored in the database (DB) changes, it is asynchronously synchronized to the distributed cache Redis. Redis is chosen because a universally applicable pop-up window requires very high performance to meet most business needs, while the database itself lacks sufficient performance. Therefore, to handle high concurrency during reads, a Redis distributed cache is used. Redis offers very high read performance, typically achieving 120,000-150,000 QPS. The configuration data isn't directly stored in Redis because it needs to be queried and visualized in real-time and continuously. Therefore, a copy must first be stored in the database to ensure data integrity and enable visual querying.
[0244] Figure 15 The structure of a pop-up push device provided in an exemplary embodiment of this application is shown. The device includes:
[0245] The receiving module 1501 is used to receive the first pop-up push request sent by the user terminal upon entry;
[0246] The acquisition module 1502 is used to acquire the first pop-up attribute and the first pop-up state data of the entry timing dimension of at least one pop-up window;
[0247] The determination module 1503 is used to determine the first pop-up window from at least one pop-up window based on the first pop-up window attributes of at least one pop-up window and the first pop-up window state data of the entry timing dimension.
[0248] Push module 1504 is used to push the first pop-up window to the user terminal;
[0249] The receiving module 1501 is also used to receive a second pop-up push request sent by the user terminal when exiting;
[0250] The acquisition module 1502 is also used to acquire the first pop-up window attribute and the first pop-up window status data of the exit timing dimension of at least one pop-up window;
[0251] The determining module 1503 is further configured to determine a second pop-up window from at least one pop-up window based on the first pop-up window attributes of at least one pop-up window and the first pop-up window state data of the exit timing dimension;
[0252] The push module 1504 is also used to push a second pop-up window to the user terminal;
[0253] Among them, the entry timing represents the timing when the pop-up window is displayed when the webpage is opened, and the exit timing represents the timing when the pop-up window is displayed when the webpage is left; the first pop-up window state data in the entry timing dimension and the first pop-up window state data in the exit timing dimension are independent of each other.
[0254] In an optional embodiment, the determining module 1503 is further configured to determine a first pop-up window from at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window state data corresponding to the combined dimension under the entry timing dimension; the combined dimension indicates the dimension obtained by combining the user dimension and the pop-up window dimension. The determining module 1503 is further configured to determine a second pop-up window from at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window state data corresponding to the combined dimension under the exit timing dimension.
[0255] In an optional embodiment, the determining module 1503 is further configured to determine the first pop-up from at least one pop-up based on the fact that the number of current pop-ups for a user in a single day corresponding to the first pop-up in at least one pop-up under the entry timing dimension is less than the threshold for the number of pop-ups for a user in a single day under the same pop-up. The determining module 1503 is further configured to determine the second pop-up from at least one pop-up based on the fact that the number of current pop-ups for a user in a single day corresponding to the second pop-up in at least one pop-up under the exit timing dimension is less than the threshold for the number of pop-ups for a user in a single day under the same pop-up.
[0256] In an optional embodiment, the determining module 1503 is further configured to determine the first pop-up from at least one pop-up based on the fact that the number of current user pop-ups within the validity period of the first pop-up in at least one pop-up under the entry timing dimension is less than a threshold for the total number of user pop-ups within the validity period of the same pop-up. The determining module 1503 is further configured to determine the second pop-up from at least one pop-up based on the fact that the number of current user pop-ups within the validity period of the second pop-up in at least one pop-up under the exit timing dimension is less than a threshold for the total number of user pop-ups within the validity period of the same pop-up.
[0257] In an optional embodiment, the determining module 1503 is further configured to acquire second pop-up window attributes and second pop-up window state data in the dimension of entry timing of at least one pop-up window; and determine to push a pop-up window to the user terminal based on the second pop-up window attributes and second pop-up window state data in the dimension of entry timing of at least one pop-up window. The determining module 1503 is further configured to acquire second pop-up window attributes and second pop-up window state data in the dimension of exit timing of at least one pop-up window; and determine to push a pop-up window to the user terminal based on the second pop-up window attributes and second pop-up window state data in the dimension of exit timing of at least one pop-up window.
[0258] In an optional embodiment, the determining module 1503 is further configured to determine whether to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the entry timing dimension. The determining module 1503 is also configured to determine whether to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the exit timing dimension.
[0259] In an optional embodiment, the determining module 1503 is further configured to determine to push a pop-up to the user terminal based on the fact that the number of current pop-ups for the user terminal in a single day under the entry timing dimension has not reached the threshold for the total number of pop-ups for the user in a single day. The determining module 1503 is also configured to determine to push a pop-up to the user terminal based on the fact that the number of current pop-ups for the user terminal in a single day under the exit timing dimension has not reached the threshold for the total number of pop-ups for the user in a single day.
[0260] In an optional embodiment, the determining module 1503 is further configured to calculate the current pop-up interval of the user in the entry timing dimension based on the most recent pop-up time and the current time corresponding to the user terminal; and determine to push a pop-up to the user terminal if the current pop-up interval of the user in the entry timing dimension reaches a user pop-up interval threshold. The determining module 1503 is also configured to calculate the current pop-up interval of the user in the exit timing dimension based on the most recent pop-up time and the current time corresponding to the user terminal; and determine to push a pop-up to the user terminal if the current pop-up interval of the user in the exit timing dimension reaches a user pop-up interval threshold.
[0261] In an optional embodiment, the determining module 1503 is further configured to obtain a third pop-up attribute of at least one pop-up window; and determine that the first pop-up window meets the push conditions based on the third pop-up attribute of the first pop-up window among the at least one pop-up window. The determining module 1503 is further configured to obtain a third pop-up attribute of at least one pop-up window; and determine that the second pop-up window meets the push conditions based on the third pop-up attribute of the second pop-up window among the at least one pop-up window.
[0262] In an optional embodiment, the determining module 1503 is further configured to determine that the first pop-up window meets the push conditions based on the pop-up window lifecycle of the first pop-up window that falls into at least one pop-up window at the current time, wherein the pop-up window lifecycle is obtained based on the pop-up window start time and pop-up window end time. The determining module 1503 is further configured to determine that the second pop-up window meets the push conditions based on the pop-up window lifecycle of the second pop-up window that falls into at least one pop-up window at the current time.
[0263] In an optional embodiment, the apparatus further includes a storage module 1505. The storage module 1505 is used to store at least one pop-up's pop-up attributes, pop-up state data in the entry timing dimension, and pop-up state data in the exit timing dimension through a document-type database; the document-type database supports data querying; it synchronizes data between the document-type database and a distributed caching architecture; it caches at least one pop-up's pop-up attributes, pop-up state data in the entry timing dimension, and pop-up state data in the exit timing dimension through the distributed caching architecture; the distributed caching system supports data reading.
[0264] In an optional embodiment, the apparatus further includes an update module 1506. The update module 1506 is configured to acquire a pop-up update request for entry timing sent by the user terminal; and update the pop-up status data for the entry timing dimension. The update module 1506 is also configured to acquire a pop-up update request for exit timing sent by the user terminal; and update the pop-up status data for the exit timing dimension.
[0265] In an optional embodiment, the pop-up attributes of at least one pop-up are configured through the pop-up configuration interface of the pop-up management terminal; the pop-up configuration interface supports configuring at least one of the following: pop-up start time, pop-up end time, user's daily total number of pop-ups threshold, user's pop-up interval threshold, user's daily number of pop-ups under the same pop-up, user's total number of pop-ups within the same pop-up validity period threshold, number of pop-ups, pop-up form, pop-up delivery type, pop-up display scenario, pop-up image, pop-up title, pop-up link jump type, and pop-up jump link.
[0266] In summary, the first pop-up is determined based on its attributes and the state data of the first pop-up at the time of entry; the first pop-up is then pushed to the user terminal at the time of entry. Similarly, the second pop-up is determined based on its attributes and the state data of the first pop-up at the time of exit; the second pop-up is then pushed to the user terminal at the time of exit. This device takes into account the timing of pop-up display, namely the entry and exit times, thus solving the problem of arbitrary pop-up display in related technologies.
[0267] Furthermore, the first pop-up status data under the entry timing dimension and the first pop-up status data under the exit timing dimension are independent of each other. This not only ensures the orderly distribution of pop-up status data stored in the background and reduces the possibility of data errors, but also facilitates the storage, querying, and updating of pop-up status data by technical personnel.
[0268] Furthermore, the coexistence of entry-time pop-ups and exit-time pop-ups, with the pop-ups and rule configurations triggered at the two times not interfering with each other, can effectively guide users to stay or jump to relevant pages to continue consuming content, thereby improving operational efficiency, strengthening churn retention, and promoting the secondary distribution of page traffic.
[0269] Figure 16 This is a schematic diagram illustrating the structure of a computer device according to an exemplary embodiment. The computer device 1600 includes a Central Processing Unit (CPU) 1601, a system memory 1604 including Random Access Memory (RAM) 1602 and Read-Only Memory (ROM) 1603, and a system bus 1605 connecting the system memory 1604 and the CPU 1601. The computer device 1600 also includes a basic input / output system (I / O system) 1606 to facilitate information transfer between various devices within the computer device, and a mass storage device 1607 for storing an operating system 1613, application programs 1614, and other program modules 1615.
[0270] The basic input / output system 1606 includes a display 1608 for displaying information and an input device 1609 for user input, such as a mouse or keyboard. Both the display 1608 and the input device 1609 are connected to the central processing unit 1601 via an input / output controller 1610 connected to the system bus 1605. The basic input / output system 1606 may also include the input / output controller 1610 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1610 also provides output to a display screen, printer, or other types of output devices.
[0271] The mass storage device 1607 is connected to the central processing unit 1601 via a mass storage controller (not shown) connected to the system bus 1605. The mass storage device 1607 and its associated computer device-readable media provide non-volatile storage for the computer device 1600. That is, the mass storage device 1607 may include computer device-readable media (not shown), such as a hard disk or a compact disc read-only memory (CD-ROM) drive.
[0272] Without loss of generality, the computer device readable medium may include computer device storage media and communication media. Computer device storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer device readable instructions, data structures, program modules, or other data. Computer device storage media include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM, digital video disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer device storage media are not limited to the above-mentioned types. The system memory 1604 and mass storage device 1607 described above can be collectively referred to as memory.
[0273] According to various embodiments of this disclosure, the computer device 1600 can also be connected to a remote computer device on a network, such as the Internet. That is, the computer device 1600 can be connected to the network 1611 via a network interface unit 1612 connected to the system bus 1605, or it can use the network interface unit 1612 to connect to other types of networks or remote computer device systems (not shown).
[0274] The memory also includes one or more programs, which are stored in the memory. The central processing unit 1601 executes the one or more programs to implement all or part of the steps of the pop-up push method described above.
[0275] This application also provides a computer-readable storage medium storing a computer program, which is executed by a database gateway to implement the above-described pop-up push method.
[0276] Optionally, the computer-readable storage medium may include: read-only memory (ROM), random-access memory (RAM), solid-state drives (SSDs), or optical discs, etc. The random-access memory may include resistive random-access memory (ReRAM) and dynamic random-access memory (DRAM). This application also provides a computer-readable storage medium storing at least one instruction, at least one program, a code set, or an instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the pop-up push method provided in the above method embodiments.
[0277] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the pop-up push method provided in the above-described method embodiments.
[0278] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0279] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0280] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A pop-up push method, characterized in that, The method includes: Receive a first pop-up push request sent by the user terminal at the entry time, wherein the entry time represents the time when the pop-up is displayed when the webpage is opened; Obtain the first pop-up window attributes and the first pop-up window state data in terms of entry timing for at least one pop-up window; The first pop-up window is determined from the at least one pop-up window based on the first pop-up window attribute of the at least one pop-up window and the first pop-up window state data of the entry timing dimension; The first pop-up window is pushed to the user terminal; Receive a second pop-up push request sent by the user terminal at the exit timing, wherein the exit timing represents the timing of pop-up display when leaving the webpage; Obtain the first pop-up window attribute and the first pop-up window state data in the exit timing dimension of the at least one pop-up window; the first pop-up window state data in the entry timing dimension and the first pop-up window state data in the exit timing dimension are independent of each other; A second pop-up is determined from the at least one pop-up based on the first pop-up attribute of the at least one pop-up and the first pop-up state data of the exit timing dimension; The second pop-up window is pushed to the user terminal.
2. The method according to claim 1, characterized in that, The step of determining the first pop-up window from the at least one pop-up window based on the first pop-up window attributes of the at least one pop-up window and the first pop-up window state data of the entry timing dimension includes: Based on the pop-up attributes corresponding to the combined dimension and the pop-up status data corresponding to the combined dimension under the entry timing dimension, a first pop-up is determined from the at least one pop-up; the combined dimension indicates the dimension obtained by combining the user dimension and the pop-up dimension; The step of determining the second pop-up window from the at least one pop-up window based on the first pop-up window attributes and the first pop-up window state data of the exit timing dimension includes: Based on the pop-up attributes corresponding to the combined dimension and the pop-up status data corresponding to the combined dimension under the exit timing dimension, a second pop-up is determined from the at least one pop-up.
3. The method according to claim 2, characterized in that, The step of determining the first pop-up window from the at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window status data corresponding to the combined dimension under the entry timing dimension includes: Based on the fact that the number of current pop-ups for the user in a single day corresponding to the first pop-up in the at least one pop-ups under the entry timing dimension is less than the threshold for the number of pop-ups for the user in a single day under the same pop-up, the first pop-up is determined from the at least one pop-ups; The step of determining a second pop-up window from the at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window status data corresponding to the combined dimension under the exit timing dimension includes: The second pop-up is determined from the at least one pop-up based on the fact that the number of current pop-ups for the user in a single day is less than the threshold for the number of pop-ups for the user in a single day under the same pop-up.
4. The method according to claim 2, characterized in that, The step of determining the first pop-up window from the at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window status data corresponding to the combined dimension under the entry timing dimension includes: Based on the fact that the number of current pop-ups of the user within the validity period of the first pop-up in the at least one pop-up window under the entry timing dimension is less than the threshold of the total number of pop-ups of the user within the validity period of the same pop-up window, the first pop-up window is determined from the at least one pop-up window; The step of determining a second pop-up window from the at least one pop-up window based on the pop-up window attributes corresponding to the combined dimension and the pop-up window status data corresponding to the combined dimension under the exit timing dimension includes: Based on the fact that the number of current user pop-ups within the validity period of the second pop-up in the at least one pop-up window under the exit timing dimension is less than the threshold of the total number of user pop-ups within the validity period of the same pop-up window, the second pop-up window is determined from the at least one pop-up window.
5. The method according to any one of claims 1 to 4, characterized in that, Before pushing the first pop-up window to the user terminal, the method further includes: Obtain the second pop-up attributes of the at least one pop-up window and the second pop-up state data of the entry timing dimension; determine to push the pop-up window to the user terminal based on the second pop-up attributes of the at least one pop-up window and the second pop-up state data of the entry timing dimension; Before pushing the second pop-up window to the user terminal, the method further includes: Obtain the second pop-up attributes of the at least one pop-up window and the second pop-up status data of the exit timing dimension; determine to push the pop-up window to the user terminal based on the second pop-up attributes of the at least one pop-up window and the second pop-up status data of the exit timing dimension.
6. The method according to claim 5, characterized in that, The step of determining to push a pop-up window to the user terminal based on the second pop-up window attributes of the at least one pop-up window and the second pop-up window state data of the entry timing dimension includes: Based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the entry timing dimension, determine the pop-up to be pushed to the user terminal; The step of determining to push a pop-up window to the user terminal based on the second pop-up window attributes of the at least one pop-up window and the second pop-up window state data of the exit timing dimension includes: Based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the exit timing dimension, it is determined whether to push a pop-up to the user terminal.
7. The method according to claim 6, characterized in that, The step of determining to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the entry timing dimension includes: Based on the fact that the number of pop-up windows for the user terminal in the day under the entry timing dimension has not reached the threshold of the total number of pop-up windows for the user in a single day, it is determined to push a pop-up window to the user terminal. The step of determining to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the exit timing dimension includes: Based on the fact that the number of pop-up windows for the user terminal in a single day does not reach the threshold of the total number of pop-up windows for the user in a single day under the exit timing dimension, it is determined to push a pop-up window to the user terminal.
8. The method according to claim 6, characterized in that, The step of determining to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the entry timing dimension includes: Based on the most recent pop-up time and the current time corresponding to the user terminal under the entry timing dimension, the current pop-up interval of the user under the entry timing dimension is calculated; if the current pop-up interval of the user under the entry timing dimension reaches the user pop-up interval threshold, it is determined to push a pop-up to the user terminal. The step of determining to push a pop-up to the user terminal based on the pop-up attributes corresponding to the user dimension and the pop-up status data corresponding to the user dimension under the exit timing dimension includes: Based on the most recent pop-up time and the current time corresponding to the user terminal under the exit timing dimension, the current pop-up interval of the user under the exit timing dimension is calculated; if the current pop-up interval of the user under the exit timing dimension reaches the user pop-up interval threshold, it is determined to push a pop-up to the user terminal.
9. The method according to any one of claims 1 to 4, characterized in that, Before pushing the first pop-up window to the user terminal, the method further includes: Obtain the third pop-up attribute of the at least one pop-up window; based on the third pop-up attribute of the first pop-up window among the at least one pop-up windows, determine that the first pop-up window meets the push conditions; Before pushing the second pop-up window to the user terminal, the method further includes: Obtain the third pop-up attribute of the at least one pop-up window; based on the third pop-up attribute of the second pop-up window in the at least one pop-up window, determine that the second pop-up window meets the push conditions.
10. The method according to claim 9, characterized in that, The step of determining that the first pop-up meets the push condition based on the third pop-up attribute of the first pop-up in the at least one pop-up includes: Based on the pop-up lifecycle of the first pop-up that falls into the at least one pop-up at the current time, it is determined that the first pop-up meets the push conditions. The pop-up lifecycle is obtained based on the pop-up start time and pop-up end time. The step of determining that the second pop-up meets the push condition based on the third pop-up attribute of the second pop-up in the at least one pop-up includes: Based on the pop-up lifecycle of the second pop-up that falls into the at least one pop-up at the current time, it is determined that the second pop-up meets the push conditions.
11. The method according to any one of claims 1 to 4, characterized in that, The method further includes: The document-based database stores the pop-up attributes of the at least one pop-up window, the pop-up status data in terms of the entry timing dimension, and the pop-up status data in terms of the exit timing dimension; the document-based database supports data querying. Synchronize the data between the document-based database and the distributed caching architecture; The distributed caching architecture caches the pop-up attributes of the at least one pop-up window, the pop-up status data at the entry time dimension, and the pop-up status data at the exit time dimension; the distributed caching architecture supports data reading.
12. The method according to any one of claims 1 to 4, characterized in that, After pushing the first pop-up window to the user terminal, the method further includes: Obtain the pop-up update request for the entry timing sent by the user terminal; update the pop-up status data for the entry timing dimension; After pushing the second pop-up window to the user terminal, the method further includes: Obtain the pop-up update request for the exit timing sent by the user terminal; update the pop-up status data for the exit timing dimension.
13. A pop-up push device, characterized in that, The device includes: The receiving module is used to receive the first pop-up push request sent by the user terminal at the entry time, wherein the entry time represents the time when the pop-up is displayed when the webpage is opened; The acquisition module is used to acquire the first pop-up attribute and the first pop-up state data in terms of the entry timing dimension of at least one pop-up window; The determining module is used to determine the first pop-up window from the at least one pop-up window based on the first pop-up window attribute of the at least one pop-up window and the first pop-up window state data of the entry timing dimension; The push module is used to push the first pop-up window to the user terminal; The receiving module is further configured to receive a second pop-up push request sent by the user terminal at the exit timing, wherein the exit timing represents the timing of pop-up display when leaving the webpage; The acquisition module is used to acquire the first pop-up attribute and the first pop-up state data of the exit timing dimension of the at least one pop-up window, wherein the first pop-up state data of the entry timing dimension and the first pop-up state data of the exit timing dimension are independent of each other. The determining module is further configured to determine a second pop-up window from the at least one pop-up window based on the first pop-up window attribute of the at least one pop-up window and the first pop-up window state data of the exit timing dimension; The push module is also used to push the second pop-up window to the user terminal.
14. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the pop-up push method as described in any one of claims 1 to 12.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which is loaded and executed by a processor to implement the pop-up push method as described in any one of claims 1 to 12.
16. A computer program product, characterized in that, The computer program product stores a computer program, which is loaded and executed by a processor to implement the pop-up push method as described in any one of claims 1 to 12.
Citation Information
Patent Citations
Popup window management method and device, electronic equipment and storage medium
CN110941468A
Popup window display method and device, computer equipment and storage medium
CN112947830A