Information recommendation methods, devices, electronic devices, and computer-readable storage media

By optimizing the collaboration between terminal devices and servers, the problem of duplicate recommendations in information recommendation systems has been solved, achieving diversity and resource conservation in information recommendations and improving user experience.

CN114625981BActive Publication Date: 2025-10-31TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011442209.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-08
Publication Date
2025-10-31
Estimated Expiration
2040-12-08

AI Technical Summary

Technical Problem

Existing information recommendation systems based on freshness strategies suffer from duplicate recommendations, leading to wasted server resources and a poor user experience.

Method used

The terminal device identifies the set of information that has not been displayed and sends it to the server to delete duplicate information. After suppression processing, it sends a new set of information. The terminal device adjusts the receiving queue and request queue when switching scenes or refreshing, thus optimizing the information recommendation process.

Benefits of technology

It has enabled diverse information recommendations, saved server resources, and improved the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114625981B_ABST
    Figure CN114625981B_ABST
Patent Text Reader

Abstract

This application provides an information recommendation method, apparatus, electronic device, and computer-readable storage medium. The method includes: determining a first information set in a terminal device; wherein the first information set includes information not displayed in the terminal device; sending the first information set to a server, causing the server to perform the following operations: deleting information included in the first information set from a second information set already sent to the terminal device, obtaining a third information set; suppressing information in a fourth information set to be recommended that is identical to the third information set; and sending at least a portion of the suppressed information in the fourth information set to the terminal device. This application enables diverse information recommendations and saves server resources used for information recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to an information recommendation method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] The widespread adoption of the internet, especially mobile internet, has made information recommendation a crucial means of obtaining information. Accurate information recommendations can save users time and help them find information of interest from a vast amount of data. Among these, information recommendation based on freshness strategies is an important branch of information recommendation systems, enabling the timely display of timely information (such as the latest trending news) on user devices.

[0003] However, the freshness-based strategies provided by related technologies have the problem of duplicate recommendations. For example, the information recommendation system may send information that has already been exposed on the user's terminal again, resulting in invalid recommendations and wasting the resources on the server used for information recommendation. Summary of the Invention

[0004] This application provides an information recommendation method, apparatus, electronic device, and computer-readable storage medium, which can achieve diversity in information recommendation and save resources in the server used for information recommendation.

[0005] The technical solution of this application embodiment is implemented as follows:

[0006] This application provides an information recommendation method applied to a terminal device, including:

[0007] A first set of information in the terminal device is determined; wherein, the first set of information includes information not displayed in the terminal device;

[0008] Send the first set of information to the server so that the server performs the following operations:

[0009] The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set;

[0010] Suppress information in the fourth set of information to be recommended that is identical to the third set of information;

[0011] At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

[0012] In the above scheme, the method further includes: when there is information already displayed in the first scene in the receiving queue corresponding to the first scene, deleting the already displayed information from the receiving queue and the request queue corresponding to the first scene.

[0013] In the above scheme, the method further includes: determining that a second information request needs to be sent to the server when the terminal device is in the following situations: before the terminal device enters the first scene; after the terminal device displays the information issued by the server for display in the first scene; or when the first scene in the terminal device is refreshed.

[0014] This application provides an information recommendation device applied to a terminal device, including:

[0015] A determining module is configured to determine a first information set in the terminal device; wherein the first information set includes information not displayed in the terminal device;

[0016] The sending module is configured to send the first information set to the server, so that the server performs the following operations:

[0017] The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set;

[0018] Suppress information in the fourth set of information to be recommended that is identical to the third set of information;

[0019] At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

[0020] In the above scheme, the device further includes a request module, used to send a first information request to the server to obtain information for display in the first scene from the server; the determination module is further used to store the information for display in the first scene in a receiving queue corresponding to the first scene; when the first scene is refreshed or switched from the first scene to the second scene, the information in the receiving queue corresponding to the first scene that was not displayed in the first scene is added to the request queue corresponding to the first scene, and the receiving queue corresponding to the first scene is cleared; a first information set is constructed based on the information in the request queue corresponding to the first scene.

[0021] In the above scheme, the device further includes a deletion module, which is used to delete the information that has already been displayed from the receiving queue and the request queue corresponding to the first scene when there is information that has already been displayed in the first scene in the receiving queue corresponding to the first scene.

[0022] In the above scheme, the type of the first scenario includes at least one of the following: main information stream scenario, overlay video scenario, and article details page scenario; the determining module is further configured to: when the type of the first scenario is a main information stream scenario and the main information stream scenario is refreshed, determine the information included in the page before refresh as information not displayed in the main information stream scenario in the receiving queue corresponding to the main information stream scenario, and add it to the request queue corresponding to the main information stream scenario; and when the type of the first scenario is an overlay video scenario and the switch is made back to the main information stream scenario, determine the information included in the overlay video scenario as information not displayed in the overlay video scenario in the receiving queue corresponding to the overlay video scenario, and add it to the request queue corresponding to the overlay video scenario; and when the type of the first scenario is an article details page scenario and the switch is made back to the main information stream scenario, determine the information included in the article details page scenario as information not displayed in the article details page scenario in the receiving queue corresponding to the article details page scenario, and add it to the request queue corresponding to the article details page scenario.

[0023] In the above scheme, the deletion module is further configured to, when it is determined that a second information request needs to be sent to the server, perform at least one of the following operations on the information in the request queue corresponding to the first scenario: delete information whose duration of being added to the request queue corresponding to the first scenario exceeds a duration threshold; delete information common to all scenarios in the receiving queues of the terminal device; wherein the second information request is used to request information displayed in the first scenario.

[0024] In the above scheme, the determining module is further configured to determine the number of information included in the request queue corresponding to the first scenario after the deletion process; the deletion module is further configured to, when the number of information is greater than the number threshold, sequentially delete the information with the longest addition time in the request queue corresponding to the first scenario, until the number of information included in the request queue corresponding to the first scenario is less than or equal to the number threshold.

[0025] In the above scheme, the determining module is further configured to determine that the second information request needs to be sent to the server when the terminal device is in the following situations: before the terminal device enters the first scene; after the terminal device displays the information issued by the server for display in the first scene; or when the first scene in the terminal device is refreshed.

[0026] This application provides an information recommendation method applied to a server, including:

[0027] A first set of information sent by a receiving terminal device; wherein the first set of information includes information not displayed on the terminal device;

[0028] The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set;

[0029] Suppress information in the fourth set of information to be recommended that is identical to the third set of information;

[0030] At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

[0031] This application provides an information recommendation device applied to a server, comprising:

[0032] A receiving module is configured to receive a first set of information sent by a terminal device; wherein the first set of information includes information not displayed in the terminal device;

[0033] The deletion module is used to delete information included in the first information set from the second information set that has been sent to the terminal device, so as to obtain a third information set.

[0034] The suppression processing module is used to suppress information in the fourth information set to be recommended that is the same as the third information set;

[0035] The sending module is used to send at least a portion of the information in the fourth information set after the suppression processing to the terminal device.

[0036] In the above scheme, the receiving module is further configured to receive a first set of information forwarded by the traffic-side server; wherein, the first set of information is determined by the terminal device and sent to the traffic-side server, and the traffic-side server is the backend server of the client in the terminal device used to display information.

[0037] In the above scheme, the first information set carries a user identifier corresponding to the terminal device; the device further includes a query module, used to query a database for sending records that match the user identifier; wherein, the database stores sending records generated for each information request sent by the terminal device, and the sending records include information sent by the server in response to the information request sent by the terminal device; the deletion module is further used to integrate the queried sending records to form a second information set, and delete the information included in the first information set from the second information set.

[0038] In the above scheme, the device further includes a generation module, which is used to generate a transmission record corresponding to the at least part of the transmitted information after the suppression processing of at least part of the information in the fourth information set is sent to the terminal device; and to synchronize the generated transmission record to the database.

[0039] In the above scheme, the suppression processing module is further used to reduce the weight of information in the fourth information set to be recommended that is the same as that in the third information set; or to delete information in the fourth information set to be recommended that is the same as that in the third information set.

[0040] In the above scheme, the sending module is further configured to obtain a user profile of the user corresponding to the terminal device; and to determine the similarity between the user profile and multiple pieces of information in the fourth information set, and to sort them in descending order based on the similarity of the multiple pieces of information, or to sort them in descending order based on the product of the similarity and weight of the multiple pieces of information; and to select the top-ranked information from the descending sorting results and send the selected information to the terminal device.

[0041] This application provides an electronic device, including:

[0042] Memory, used to store executable instructions;

[0043] The processor, when executing executable instructions stored in the memory, implements the information recommendation method provided in the embodiments of this application.

[0044] This application provides a computer-readable storage medium storing executable instructions for inducing a processor to execute and implement the information recommendation method provided in this application.

[0045] The embodiments of this application have the following beneficial effects:

[0046] By deleting information from the second set of information that has been sent to the terminal device but not displayed on the terminal device, and not participating in subsequent suppression processing, while suppressing the remaining information in the second set (i.e., information that has already been displayed on the terminal device), on the one hand, information that has not been displayed on the terminal device can have the opportunity to be displayed again, avoiding waste of information and saving server resources used for information recommendation; on the other hand, it can also achieve diversity in information recommendation and improve user experience. Attached Figure Description

[0047] Figure 1 This is a schematic diagram of the architecture of the information recommendation system 100 provided in an embodiment of this application;

[0048] Figure 2This is a schematic diagram of the structure of the server 200 provided in the embodiments of this application;

[0049] Figure 3 This is a schematic diagram of the structure of the terminal device 400 provided in the embodiments of this application;

[0050] Figure 4 This is a flowchart illustrating the information recommendation method provided in an embodiment of this application;

[0051] Figure 5 This is a flowchart illustrating the information recommendation method provided in an embodiment of this application;

[0052] Figure 6 This is a flowchart illustrating the information recommendation method provided in an embodiment of this application;

[0053] Figure 7 This is a schematic diagram of the framework of the information recommendation method provided in the embodiments of this application;

[0054] Figure 8 This is a schematic diagram of the architecture of an advertising delivery system based on a request freshness strategy provided in an embodiment of this application;

[0055] Figure 9 This is a schematic diagram of the architecture of the improved advertising delivery system provided in the embodiments of this application;

[0056] Figure 10 This is a schematic diagram of the in-scene advertising caching logic provided in the embodiments of this application;

[0057] Figure 11 This is a schematic diagram illustrating the timing of adding advertisements with no exposure opportunities to the request queue, as provided in an embodiment of this application.

[0058] Figure 12 This is a schematic diagram illustrating the process of cleaning up cached advertisements in the request queue, provided in an embodiment of this application.

[0059] Figure 13 This is a schematic diagram illustrating the process of controlling the exposure of advertisements using the advertising system provided in this application embodiment;

[0060] Figure 14 This is a schematic diagram comparing the consumption results before and after the improvement provided in the embodiments of this application. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0062] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0063] In the following description, the terms "first, second, third, fourth" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third, fourth" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0064] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0065] In the implementation of this application, the collection and processing of relevant data should be strictly in accordance with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0066] Freshness strategy is a control strategy to prevent users from repeatedly exposing the same or similar information in a short period of time, thereby protecting user experience. Currently, information recommendation systems generally adopt a freshness strategy based on the user's exposure history. Specifically, when a terminal device requests information, the information recommendation system returns the corresponding information. The terminal device displays the information (also called exposure information) and generates an exposure record. The terminal device sends the exposure record to the information recommendation system, thus obtaining the user's exposure history. When delivering information to the same user again, the system can avoid repeatedly delivering information that has already been exposed to that user based on the user's exposure history.

[0067] However, there is a certain delay in the process from requesting information to user exposure, and then to the feedback of exposure records to the information recommendation system. If the terminal device initiates a new information request during this period, but the information recommendation system cannot yet obtain the latest exposure records, it may return the same information, resulting in abnormal freshness. For example, the following exposure process may exist in the terminal device: Request Information 1 → Request Information 2 → Expose Information 1 → Expose Information 2. Since the information recommendation system cannot obtain the latest exposure record corresponding to Information 1 when it receives Request Information 2 (the terminal device has not yet exposed Information 1, so no corresponding exposure record will be generated), for Request Information 2, the information recommendation system may return the same information as Request Information 1 (i.e., Information 1 and Information 2 are the same information), causing the user to see the same information in a short period of time, resulting in a poor user experience. In addition, the information recommendation system cannot guarantee that every piece of information returned to the terminal device has been exposed. If unexposed information is also filtered or downgraded, some high-value information will be wasted.

[0068] To address the aforementioned technical problems, embodiments of this application provide an information recommendation method, apparatus, electronic device, and computer-readable storage medium, which can achieve diverse information recommendations while also saving resources on servers used for information recommendation.

[0069] The information recommendation method provided in the embodiments of this application will be described below. See also Figure 1 , Figure 1 This is a schematic diagram of the architecture of the information recommendation system 100 provided in this application embodiment, which aims to achieve efficient information recommendation in a resource-efficient manner while protecting user experience. The information recommendation system 100 includes: a server 200, a traffic-side server 300, a terminal device 400, and a database 500, which will be described below.

[0070] Server 200 is the backend server of the information recommendation system. For example, when the information recommendation system is an advertising system, server 200 can be the backend server of the advertising system. Server 200 is used to receive a first set of information (i.e., a set of information not displayed on terminal device 400) sent by terminal device 400 through traffic-side server 300; wherein, the first set of information carries the user identifier corresponding to terminal device 400. Next, server 200 queries database 500 for sending records that match the user identifier (i.e., information records sent by server 200 to terminal device 400 within a preset historical time period (e.g., the past week or the past month) based on the received user identifier. Subsequently, server 200 integrates the queried sending records to form a second set of information, and deletes the information included in the first set of information sent by terminal device 400 from the second set of information, thereby obtaining a third set of information. Finally, server 200 suppresses information in the fourth set of information to be recommended that is identical to information in the third set of information, and sends at least a portion of the suppressed information in the fourth set of information to terminal device 400 through traffic server 300, so that terminal device 400 can call application 410 to display it.

[0071] The traffic-side server 300 corresponds to the computer program 410 running on the terminal device 400, and is a server that provides background services for the computer program 410. For example, when the computer program 410 is an information application, the traffic-side server 300 can be a server providing background services for that information application; when the computer program 410 is an instant messaging application, the traffic-side server 300 can be a server providing background services for that instant messaging application; when the computer program 410 is a shopping application, the traffic-side server 300 can be a server providing background services for that shopping application. It is understood that... Figure 1 Only one traffic-side server 300 is shown in the diagram. In actual applications, the number of traffic-side servers 300 connected to and communicating with the terminal device 400 is related to the number of applications actually running on the terminal device 400. When multiple computer programs 410 are running on the terminal device 400, multiple traffic-side servers 300 corresponding to the multiple computer programs 410 can be connected to and communicate with the terminal device 400. The traffic-side server 300 is used to receive a first set of information sent by the terminal device 400 and forward the received first set of information to the server 200, and to receive at least a portion of the information selected from a fourth set of information after suppression processing sent by the server 200 and forward the received at least a portion of the information to the terminal device 400, thereby achieving decoupling between the server 200 and the terminal device 400.

[0072] Terminal device 400 is a user-associated terminal device on which application program 410 runs. The implementation of computer program 410 may include operating system modules, dedicated clients, and client plugins. Computer program 410 can be various types of applications, including instant messaging applications, video playback applications, and shopping applications. Computer program 410 is used to display information sent by server 200 and record information not displayed on terminal device 400.

[0073] Database 500 can be a distributed key-value storage type database used to store the correspondence between user identifiers and sending records. Database 500 stores sending records generated for each information request sent by terminal device 400. The sending records include information sent by server 200 when sending an information request to terminal device 400, such as original information or information identifiers (e.g., information ID).

[0074] In some embodiments, server 200 and traffic-side server 300 can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Terminal device 400 can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. Terminal device 400 and traffic-side server 300, as well as traffic-side server 300 and server 200, can be directly or indirectly connected via wired or wireless communication; this embodiment does not impose limitations.

[0075] In other embodiments, server 200, traffic-side server 300, terminal device 400, and database 500 can all be node devices in the blockchain network, capable of sharing the acquired and generated information with other node devices in the blockchain network, thereby realizing information sharing among multiple node devices.

[0076] The following is about Figure 1 The structure of server 200 in the document will be explained. See [link / reference]. Figure 2 , Figure 2 This is a schematic diagram of the structure of the server 200 provided in the embodiments of this application. Figure 2The server 200 shown includes at least one processor 210, memory 240, and at least one network interface 220. The various components of server 200 are coupled together via a bus system 230. It is understood that the bus system 230 is used to implement communication between these components. In addition to a data bus, the bus system 230 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 230.

[0077] Processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0078] The memory 240 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 240 may optionally include one or more storage devices physically located away from the processor 210.

[0079] The memory 240 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 240 described in this application embodiment is intended to include any suitable type of memory.

[0080] In some embodiments, memory 240 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0081] Operating system 241 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;

[0082] The network communication module 242 is used to reach other computing devices via one or more (wired or wireless) network interfaces 220, such as Bluetooth, WiFi, and Universal Serial Bus (USB).

[0083] In some embodiments, the information recommendation device provided in this application can be implemented in software. Figure 2 An information recommendation device 243 stored in memory 240 is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: a receiving module 2431, a deletion module 2432, a suppression processing module 2433, a sending module 2434, a query module 2435, and a generation module 2436. These modules are logically connected and can therefore be arbitrarily combined or further divided according to their implemented functions. The functions of each module will be described below.

[0084] In other embodiments, the information recommendation device provided in this application can be implemented in hardware. As an example, the information recommendation device provided in this application can be a processor in the form of a hardware decoding processor, which is programmed to execute the information recommendation method provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0085] The following is about Figure 1 The structure of the terminal device 400 in the document will be described. See [link / reference]. Figure 3 , Figure 3 This is a schematic diagram of the structure of the terminal device 400 provided in an embodiment of this application. Figure 3As shown, terminal device 400 includes: a network interface 420, a user interface 430, a system bus 440, a memory 450, and a processor 460. The user interface 430 includes one or more output devices 431 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. The user interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touchscreen display, camera, other input buttons, and controls. The memory 450 includes: an operating system 451, a network communication module 452, a presentation module 453 for enabling the display of information (e.g., for operating peripheral devices and displaying content and information) via one or more output devices 431 associated with the user interface 430 (e.g., displays, speakers, etc.), an input processing module 454 for detecting and translating one or more user inputs or interactions from one or more input devices 432, and an information recommendation device 455. In addition, the information recommendation device 455 stored in the memory 450 includes: a determination module 4551, a sending module 4552, a request module 4553, and a deletion module 4554. These modules are logically related and can therefore be arbitrarily combined or further split according to the functions they implement. The functions of each module will be described below.

[0086] The information recommendation method provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings. It is understood that the steps executed by the terminal device can be executed by various computer programs running on the terminal device as described above. For the sake of convenience, no specific distinction will be made between the terminal device and the computer program running on the terminal device in the following text.

[0087] See Figure 4 , Figure 4 This is a flowchart illustrating the information recommendation method provided in the embodiments of this application, which will be combined with... Figure 4 The steps shown are explained.

[0088] In step S101, the terminal device determines the first information set.

[0089] In some embodiments, the terminal device may use a set of information consisting of multiple pieces of information recorded in a recent period that have not been displayed on the terminal device (also referred to as multiple pieces of information not exposed on the terminal device; the terms "exposure" and "display" will not be specifically distinguished in the following text) as a first information set. For example, the terminal device may use a set of information consisting of multiple pieces of information recorded in the last 10 minutes that have not been displayed on the terminal device as the first information set, and send the determined first information set to the server. The types of information in the first information set may include various types of information such as advertisements, news, and videos.

[0090] For example, when the type of information is an advertisement, the terminal device can record advertisements that have not been displayed on the terminal device in the last 10 minutes. Assuming that the terminal device records advertisements 1, 2 and 3, the terminal device will take the set of advertisements consisting of advertisements 1, 2 and 3 as the first set of advertisements and send the determined first set of advertisements to the backend server of the advertising system.

[0091] For example, when the type of information is short video, the terminal device records short videos that have not been displayed on the terminal device in the last 10 minutes. Assuming that the short videos not displayed recorded by the terminal device include short video 1, short video 2 and short video 3, the terminal device can take the set of short videos consisting of short video 1, short video 2 and short video 3 as the first short video set and send the determined first short video set to the backend server of the video platform.

[0092] It should be noted that the first set of information may include the content of the information itself or the identifier of the information (such as the information ID). For example, when the storage space required by the content of the information is relatively small, the terminal device can directly send the content of the information itself to the server; while when the storage space required by the content of the information is relatively large, the terminal device can only send the identifier of the information, such as the information ID, to the server so that the server can determine the corresponding information content based on the information ID.

[0093] In other embodiments, the terminal device may first execute the following before performing step S101: Figure 5 Steps S201 to S204 shown will combine Figure 5 The steps shown are explained.

[0094] In step S201, the terminal device sends a first information request to the server to obtain information from the server for display in the first scenario.

[0095] In some embodiments, before determining the first information set, the terminal device first needs to send a first information request to the server to obtain information from the server for display in the first scenario. Subsequently, the terminal device records information from multiple messages sent by the server that is not displayed in the first scenario, and determines the information set composed of the recorded multiple undisplayed messages as the first information set. The type of the first scenario may include a main feed scenario, a floating video scenario, and an article details page scenario, etc.

[0096] For example, when the type of information is advertising, before determining the first set of advertisements, the terminal device first sends a first advertisement request to the backend server of the advertising system to obtain the advertisements to be displayed in the first scenario, such as the main feed scenario. Subsequently, the terminal device records the advertisements not displayed in the main feed scenario from the multiple advertisements distributed by the backend server of the advertising system to determine the first set of advertisements.

[0097] In other embodiments, when the first information request is the first request corresponding to a certain scenario in the terminal device, the first information request may carry the user's historical operation data (such as the user's historical access records, historical browsing records, and historical viewing records, etc.) corresponding to the terminal device. Thus, the server can determine the user profile corresponding to the user based on the user's historical operation data. Then, the server selects the part of the information with a high similarity to the determined user profile from multiple pieces of information with timeliness and sends it out.

[0098] For example, taking advertising as the type of information, when the first advertising request is the first request corresponding to the main feed scenario in the terminal device, the first advertising request can carry the historical behavior data of the user (let's say user A) corresponding to the terminal device, such as user A's video viewing records, shopping records, and search records in the past week. After receiving the historical behavior data of user A sent by the terminal device, the backend server of the advertising system can determine the user profile of user A based on the historical behavior data. Then, it calculates the similarity between user A's user profile and multiple advertising features with timeliness, and selects the ads with the highest similarity to be sent.

[0099] In step S202, the terminal device stores the information to be displayed in the first scenario in the receiving queue corresponding to the first scenario.

[0100] In some embodiments, before storing the information to be displayed in the first scenario in the receiving queue corresponding to the first scenario, the terminal device may first perform the following operations: generate a receiving queue and a request queue corresponding to the first scenario in the terminal device, and store the information received from the server for display in the first scenario in the receiving queue corresponding to the first scenario.

[0101] For example, assuming there is only one scenario in the terminal device, such as the main feed scenario, the terminal device first generates a receive queue and a request queue corresponding to the main feed scenario. Then, after receiving the information sent by the server, the terminal device stores the received information in the receive queue corresponding to the main feed scenario.

[0102] For example, when there are multiple scenarios in a terminal device, such as a main feed scenario and a floating video scenario, the terminal device can generate corresponding receive queues and request queues for the main feed scenario and the floating video scenario respectively. Then, when the terminal device receives information from the server, it divides the received information. For example, it stores a portion of the information in the receive queue corresponding to the main feed scenario (i.e., this portion of the information is used for display in the main feed scenario), and stores the remaining information in the receive queue corresponding to the floating video scenario (i.e., this portion of the information is used for display in the floating video scenario).

[0103] In other embodiments, when there are multiple scenarios in the terminal device, corresponding receiving queues can be set up for different scenarios, but there can only be one request queue. For example, when there are two scenarios in the terminal device, namely the main feed scenario and the article details page scenario, corresponding receiving queues can be set up for the main feed scenario and the article details page scenario respectively, so as to store the information to be displayed in the corresponding scenario. As for the request queue, the terminal device can set up only one, and add the information that is not displayed in the main feed scenario and the article details page scenario to the same request queue.

[0104] In step S203, when the first scene is refreshed or switched from the first scene to the second scene, the terminal device adds the information in the receiving queue corresponding to the first scene that was not displayed in the first scene to the request queue corresponding to the first scene, and clears the receiving queue corresponding to the first scene.

[0105] In some embodiments, when the type of the first scenario is a main feed scenario and the main feed scenario is refreshed, the terminal device will determine the information included in the page before the refresh, identify the information that is not displayed in the main feed scenario in the receiving queue corresponding to the main feed scenario, and add this information to the request queue corresponding to the main feed scenario.

[0106] For example, taking advertising as the type of information, when a user first enters the application, it is generally in a message stream (i.e., the main feed scenario). At this time, the terminal device can load the advertisements obtained from the advertising system's server into the corresponding positions on the page. If the user does not continue browsing down but quickly scrolls to the top to refresh, the advertisement content loaded on the page will be reset along with the refresh. That is to say, the advertisements before the reset are not displayed in the main feed scenario. The terminal device records these advertisements that were not displayed due to the refresh operation and adds the recorded undisplayed advertisements to the request queue corresponding to the main feed scenario. At the same time, these advertisements are cleared from the receiving queue corresponding to the main feed scenario. For example, suppose the current page of the application contains Ad 1 and Ad 2, but the user does not continue browsing and instead refreshes the page by quickly swiping to the top or pulling down. As the page refreshes, the content loaded in the application will be reset. The terminal device will then record Ad 1 and Ad 2 as ads that are not displayed in the main feed scenario and add Ad 1 and Ad 2 to the request queue corresponding to the main feed scenario. At the same time, the terminal device will delete Ad 1 and Ad 2 from the receiving queue corresponding to the main feed scenario.

[0107] In other embodiments, when the type of the first scene is a floating video scene, and the device switches back to the main feeds scene from the floating video scene, the terminal device will determine the information included in the floating video scene as information that is not displayed in the floating video scene in the receiving queue corresponding to the floating video scene, and add the determined information to the request queue corresponding to the floating video scene.

[0108] For example, still taking the type of information as an advertisement, suppose a user clicks on a video in the main feed scene. The terminal device then enters the overlay video scene, where the video advertisement content is automatically played. Suppose that after entering the overlay video scene, the user does not continue watching but directly clicks the exit button. Then the terminal device will switch back to the main feed scene. At this time, the advertisements included in the overlay video scene are not exposed to the user. Therefore, the terminal device records the advertisements included in the overlay video scene (let's say Ad 1), adds Ad 1 to the request queue corresponding to the overlay video scene, and deletes Ad 1 from the receive queue corresponding to the overlay video scene.

[0109] In some embodiments, when the type of the first scenario is an article details page scenario, and the device switches back to the main feeds scenario from the article details page scenario, the terminal device will determine the information included in the article details page scenario as information that is not displayed in the article details page scenario in the receiving queue corresponding to the article details page scenario, and add this information to the request queue corresponding to the article details page scenario.

[0110] For example, continuing from the previous example, suppose a user clicks on an article in the main feed scenario. The terminal device then enters the article details page scenario and loads an advertisement in the corresponding position on the article details page. If the user does not continue browsing after entering the article details page but directly clicks the exit button, the terminal device will switch back to the main feed scenario. At this time, the advertisement loaded on the article details page is not exposed to the user. The terminal device records the advertisements loaded on the article details page (let's say Ad 1 and Ad 2), adds Ad 1 and Ad 2 to the request queue corresponding to the article details page scenario, and deletes Ad 1 and Ad 2 from the receiving queue corresponding to the article details page scenario.

[0111] In other embodiments, in order to save storage space of the terminal device, when there is information that has already been displayed in the first scene in the receiving queue corresponding to the first scene, the terminal device can delete the information that has already been displayed from the receiving queue and the request queue corresponding to the first scene.

[0112] For example, when a terminal device detects whether information has been displayed, it can first set a display ratio. When the proportion of information displayed exceeds the preset display ratio, it is determined that the information has been displayed. For instance, in the main feed scenario, assuming that ad 1 is loaded on the current page, when the user scrolls down and 80% of the content of ad 1 has been displayed on the current page, ad 1 can be considered to have been exposed. In this case, the terminal device will delete ad 1 from the corresponding receive queue and request queue of the main feed scenario.

[0113] In step S204, the terminal device constructs a first information set based on the information in the request queue corresponding to the first scenario.

[0114] In some embodiments, the terminal device can implement the above-mentioned construction of the first information set based on the information in the request queue corresponding to the first scenario in the following ways: when it is determined that a second information request needs to be sent to the server, for the information in the request queue corresponding to the first scenario, perform at least one of the following operations: delete information whose duration of being added to the request queue corresponding to the first scenario exceeds the duration threshold; delete information common to all scenarios in the terminal device's respective receiving queues; wherein, the second information request is used to request information displayed in the first scenario.

[0115] For example, taking an advertisement as the type of information, when a terminal device needs to send a second advertisement request to the backend server of the advertising system, the terminal device performs the following operations on the advertisements in the request queue (when there are multiple scenarios on the terminal device, the terminal device can first integrate the advertisements in the request queues corresponding to the multiple scenarios into one request queue, and then perform the following operations): Delete advertisements whose duration in the request queue exceeds the duration threshold. For example, a user can pre-set a cache duration in the request queue, say 20 minutes. When an unexposed advertisement (say, advertisement A) exceeds the cache duration set by the user in the request queue, for example, when the terminal device needs to send a second advertisement request to the backend server of the advertising system, and the duration of advertisement A in the request queue has exceeded 20 minutes, the terminal device deletes advertisement A from the request queue.

[0116] For example, continuing from the previous point, the terminal device can also delete ads that exist simultaneously in the request queue across all the corresponding receive queues for different scenarios. For instance, consider ad A. Suppose ad A exists simultaneously in the receive queues for the main feed scenario, the overlay video scenario, and the article details page scenario. Also, suppose ad A was added to the request queue because it wasn't exposed in the main feed scenario. However, since ad A also exists in the receive queues for other scenarios, meaning ad A still has exposure opportunities, the terminal device can delete ad A from the request queue when sending a second ad request to the ad system's backend server.

[0117] In other embodiments, a second information request is determined to be sent to the server when the terminal device is in the following situations: before entering the first scene; after the terminal device displays information that the server has already issued for display in the first scene; or when the first scene in the terminal device is refreshed.

[0118] For example, continuing from the previous text, taking the first scenario (main feeds scenario) as an example, the terminal device typically sends an ad request to the ad system's backend server before the user even views the ad, and then loads the ad into the corresponding position on the page after obtaining it. Furthermore, after the user views the ad in that position, the terminal device will also send another ad request to the ad system's backend server in advance. However, if, after the ad is loaded into the corresponding position, the user doesn't continue browsing but quickly scrolls to the top to refresh the page, the ad content loaded on the page will be reset upon refresh. In this case, the terminal device needs to resend a request to the ad system's backend server and load the newly obtained ad into the corresponding position.

[0119] In other embodiments, to further prevent the number of cached information in the request queue from becoming too large, which could put pressure on the storage and advertising system bandwidth of the terminal device, the terminal device may further perform the following operations after performing the above-mentioned deletion processing on the information in the request queue: determine the number of information included in the request queue corresponding to the first scenario after the deletion processing; when the determined number of information is greater than the number threshold, delete the information with the longest addition time in the request queue corresponding to the first scenario in turn, until the number of information included in the request queue corresponding to the first scenario is less than or equal to the number threshold.

[0120] For example, taking the first scenario as the main feed scenario, assuming that after the terminal device deletes ads from the request queue corresponding to the main feed scenario whose cache duration exceeds the threshold and ads common to all scenarios' receiving queues, the request queue corresponding to the main feed scenario still contains the following ads: Ad 1, Ad 2, Ad 3, ..., Ad 10. However, the user has pre-set the number of ads to be 8. That is, the number of ads in the request queue corresponding to the main feed scenario now exceeds the user-set ad number threshold. Therefore, the terminal device sequentially deletes the two ads with the longest cache duration from Ad 1 to Ad 10 (assuming Ad 2 and Ad 4 are the second longest cache duration ads, respectively), and sends the remaining ads in the request queue corresponding to the main feed scenario as the first ad set to the backend server of the advertising system.

[0121] In step S102, the terminal device sends a first set of information to the server.

[0122] In some embodiments, the terminal device may send a first information set to the server in the following manner: after determining the first information set, the terminal device sends the first information set to the traffic-side server, so that the traffic-side server forwards the received first information set to the server; wherein, the traffic-side server is the backend server of the client in the terminal device used to display information.

[0123] For example, taking advertising as an example, assuming the client running on the user's terminal device is an instant messaging client, after the terminal device determines the first set of advertisements through the instant messaging client, it sends the first set of advertisements to the server (i.e., the traffic server) that provides backend services for the instant messaging client. This allows the traffic server to forward the received first set of advertisements to the backend server of the advertising system. In this way, the advertising system and the traffic server are decoupled, and each party only needs to focus on its own internal logic. For example, the traffic server does not need to understand the logic of requesting freshness, while the advertising system only needs to filter the advertisements included in the first set of advertisements forwarded by the traffic server from the set of advertisements that need to be filtered for requesting freshness. It does not need to consider whether the returned advertisements are actually exposed on the terminal device, thus reducing the development difficulty.

[0124] In step S103, the server deletes the information included in the first information set from the second information set that has been sent to the terminal device, and obtains the third information set.

[0125] In some embodiments, Figure 4 The illustrated step S103 can be achieved through Figure 6 The steps S1031 to S1033 shown are implemented, and will be combined with Figure 6 The steps shown are explained.

[0126] In step S1031, the server receives the user identifier corresponding to the terminal device.

[0127] In some embodiments, the first set of information sent by the terminal device may also carry a user identifier corresponding to the terminal device. The user identifier may be a user account used to log in to a client running on the terminal device. For example, a user can log in to a client running on the terminal device using a pre-registered user account and password, and then browse the information displayed on the page when using the client, for example, to access a specific page. In other words, when the terminal device sends the first set of information to the server, it may also send the user identifier to the server so that the server can perform subsequent steps.

[0128] In step S1032, the server queries the database for sending records that match the user identifier.

[0129] In some embodiments, the database stores a sending record generated for each information request sent by the terminal device. The sending record includes information sent by the server in response to the information request sent by the terminal device, such as the original information or the information identifier (e.g., information ID).

[0130] For example, taking advertising as the type of information, the database (such as a distributed cloud storage system, including CKV, Memcached, and Redis KV storage service systems) stores the correspondence between user identifiers and sending records. This correspondence can be stored in the distributed cloud storage system in the form of key-value pairs. For instance, the user identifier can be stored as the key, and the corresponding sending record as the value. The correspondence between user identifiers and sending records can then be represented as: user1 → [ad1, ad2, ad3], where user1 is the user identifier, which can be user 1's account; [ad1, ad2, ad3] are the sending records corresponding to user1; and ad1, ad2, and ad3 are the sets of advertisements issued by the advertising system's backend server in response to an advertising request sent by the terminal device associated with user 1 within a preset historical time period. For example, ad1 could be the ID of ad set 1 sent by the backend server of the advertising system in response to an ad request sent by the terminal device associated with user 1 half an hour ago; ad2 could be the ID of ad set 2 sent by the backend server of the advertising system in response to an ad request sent by the terminal device associated with user 1 15 minutes ago; and ad3 could be the ID of ad set 3 sent by the backend server of the advertising system in response to an ad request sent by the terminal device associated with user 1 5 minutes ago. In this way, after receiving the user identifier, the backend server of the advertising system can query the corresponding sending records based on the user identifier and retrieve the ads that have been sent to the terminal device within a preset historical time period based on the sending records.

[0131] For example, to facilitate subsequent updates to the sending records, in one possible implementation, a timestamp indicating when the advertising system's backend server sends an advertisement in response to each advertisement request from the terminal device can be added to the sending records. This timestamp represents the time when the advertising system's backend server sends the advertisement. In other words, the correspondence between the user identifier and the sending records can be further represented as: user1 → [(time1, ad1), (time2, ad2), (time3, ad3)], where (time1, ad1) indicates that the advertising system's backend server sent advertisements from advertisement set 1 to the terminal device at time time1, and ad1 is the number corresponding to advertisement set 1; (time2, ad2) indicates that the advertising system's backend server sent advertisements from advertisement set 2 to the terminal device at time time2, and ad2 is the number corresponding to advertisement set 2; (time3, ad3) indicates that the advertising system's backend server sent advertisements from advertisement set 3 to the terminal device at time time3, and ad3 is the number corresponding to advertisement set 3. Understandably, in a distributed cloud storage system, advertisements can be sorted according to the order in which they are delivered.

[0132] In step S1033, the server integrates the queried sending records to form a second information set, and deletes the information included in the first information set from the second information set.

[0133] In some embodiments, when the sending record includes original information, after the server finds a sending record that matches the user identifier, it can directly obtain multiple pieces of information that the server has sent to the terminal device within a preset historical time period based on the sending record, and integrate the multiple pieces of information, such as deleting duplicate information or deleting some information that does not meet the timeliness requirement, thereby obtaining a second information set. Subsequently, the server deletes the information included in the first information set from the second information set to obtain a third information set.

[0134] For example, taking the type of information as advertising, suppose the backend server of the advertising system finds the sending records [ad1, ad2, ad3] matching user1's account. Here, ad1 includes advertisements {ad A, ad B, and ad C}, ad2 includes advertisements {ad B, ad D, and ad E}, and ad3 includes advertisements {ad C, ad F, and ad G}. Then, the backend server of the advertising system performs deduplication on the multiple advertisements included in ad1 to ad3, resulting in {ad A, ad B, ad C, ad D, ad E, ad F, and ad G}. Subsequently, the backend server of the advertising system deletes advertisements that do not meet the timeliness requirement. For example, suppose ad A and ad D do not meet the timeliness requirement, then the backend server of the advertising system deletes ad A and ad D from the above ad set, thus obtaining the following second ad set, including {ad B, ad C, ad E, ad F, and ad G}. Finally, the backend server of the advertising system removes the advertisements included in the first advertisement set sent by the terminal device from the second advertisement set. Assuming that the first advertisement set includes advertisements {B and E}, the final third advertisement set is {C, F and G}.

[0135] In step S104, the server suppresses information in the fourth set of information to be recommended that is identical to information in the third set of information.

[0136] In some embodiments, the server may implement the above-mentioned suppression processing of information in the fourth information set to be recommended that is the same as the third information set in the third information set by reducing the weight of the information in the fourth information set to be recommended that is the same as the third information set in the third information set; or, deleting the information in the fourth information set to be recommended that is the same as the third information set in the third information set.

[0137] For example, the server can use a preset weighting strategy to reduce the weight of information in the fourth set of information to be recommended that is identical to information in the third set of information. The preset weighting strategy can be determined by the percentage reduction in weight based on the actual situation; for example, it can be set to reduce the weight by 50%. Because the weight of information in the fourth set of information to be recommended that is identical to information in the third set of information is reduced, the similarity of information in the third set will also decrease during subsequent similarity ranking. Since the similarity ranking process takes weight into account, for example, if the similarity of a piece of information in the third set is 98%, but its corresponding weight is only 50%, the overall similarity will be only 49%. This means that when ranking based on similarity, the probability of information in the third set appearing first can be greatly reduced, thus significantly reducing the probability of information in the third set being selected as recommended information. This greatly reduces the probability of repeatedly sending the same information to users in the short term, protecting the user experience.

[0138] For example, the server can also directly delete information from the fourth set of information to be recommended that is identical to information from the third set of information. For instance, suppose the fourth set of information to be recommended includes {information 1, information 2, information 3, and information 4}, while the third set of information includes {information 2, information 3, and information 5}. The server would then delete information 2 and information 3 from the fourth set of information, resulting in a fourth set of information containing only {information 1 and information 4}. This avoids repeatedly displaying already shown information 2 and information 3 to the terminal device within a short period, thus protecting the user experience.

[0139] In step S105, the server sends at least a portion of the information in the suppressed fourth information set to the terminal device.

[0140] In some embodiments, the server may send at least a portion of the suppressed fourth information set to the terminal device in the following manner: obtain a user profile of the user corresponding to the terminal device; determine the similarity between the user profile and multiple pieces of information in the suppressed fourth information set, and sort them in descending order based on the similarity of the multiple pieces of information, or sort them in descending order based on the product of the similarity and weight of the multiple pieces of information; select the top-ranked pieces of information from the descending sorting results, and send the selected pieces of information to the terminal device.

[0141] For example, see Figure 7 , Figure 7 This is a schematic diagram of the framework of the information recommendation method provided in the embodiments of this application, which will be combined with Figure 7 The framework shown provides a detailed explanation of step S105 above.

[0142] like Figure 7The overall framework of the information recommendation method mainly includes an offline part and an online part. The offline part mainly includes three parts: user behavior collection, user profile calculation, and click-through rate (CTR) prediction model training. User behavior collection mainly includes clicks, impressions, likes, and viewing time. User profile calculation calculates users' interests in different dimensions such as tags and categories based on the collected user behavior data. For example, user profiles can be tag interests, video categories, etc. Tag interests can be "games" or "beauty". Each user profile data represents the influence weight or importance of different user profiles in the overall information features. The CTR prediction model mainly extracts features and trains the model based on user behavior and user profiles. The online portion of the framework mainly consists of three parts: candidate recall, ranking and scoring, and diversity display. Candidate recall primarily retrieves information based on user behavior and user profiles, and integrates the recalled information into the aforementioned fourth information set to be recommended. Subsequently, information in the fourth information set that is identical to the third information set is suppressed. The ranking and scoring part uses an offline-trained model to extract features and predict click-through rates to rank the information in the suppressed fourth information set. Diversity display combines the ranking and scoring with a diversity model to present the final information, thereby avoiding sending multiple pieces of information of the same type to the terminal device and ensuring information diversity.

[0143] In other embodiments, after the server sends at least a portion of the information in the suppressed fourth information set to the terminal device, it may also perform the following operations: generate a transmission record corresponding to the at least portion of the information sent, and synchronize the generated transmission record to the database.

[0144] For example, taking advertising as the information type, after the advertising system's backend server sends at least a portion of the suppressed fourth advertising set to the terminal device through the traffic-side server, it generates a current sending record corresponding to this sending operation. The content of the current sending record matches the content of the historical sending records stored in the database. For instance, when a record in the historical sending record is the identifier of the sent advertising set, the current sending record includes the identifier of the advertising set corresponding to the current sending operation (i.e., the advertising set consisting of only a portion of the aforementioned advertisements); when a record in the historical sending record includes the identifier of the sent advertising set and the corresponding sending timestamp, the current sending record includes the identifier of the advertising set corresponding to the current sending operation and the corresponding sending timestamp. In practice, the sending record can be a small piece of text data (i.e., a cookie) not exceeding 4KB.

[0145] In some embodiments, to reduce excessive storage, an expiration date can be set for each sending record stored in the database. This expiration date characterizes the effective storage duration of the sending record; that is, each sending record stored in the database has a corresponding expiration date. The database can monitor the expiration date of each sending record. When a sending record exceeds its expiration date, it is determined to be expired data and deleted. The expiration date of the sending record can be set and adjusted according to the actual storage capacity of the database; for example, it can be set to one month or three months.

[0146] In other embodiments, to improve data storage efficiency and ensure timely updates of sending records in the database, a data channel can be added between the server and the database to isolate the database and the write service. This data channel can be a distributed message middleware (e.g., TDbank, Kafka). The server can write the current sending record to the distributed message middleware using the user identifier as the key, and then consume the data in the distributed message middleware in real time through a streaming computing service. Based on the key in the consumed data, the server reads historical sending records from the database, updates the read historical sending records based on the current sending record corresponding to the key in the consumed data, and rewrites the updated sending records back into the database.

[0147] This application embodiment receives a first information set consisting of information not displayed on the terminal device sent by the terminal device. The server then deletes information included in the first information set from a second information set already sent to the terminal device, obtaining a third information set. Next, the server suppresses information in a fourth information set that is identical to the third information set. Subsequently, it determines information that meets timeliness requirements from the suppressed fourth information set and sends it to the terminal device. Thus, on the one hand, by deleting information not displayed on the terminal device from the second information set, which is not involved in subsequent suppression processing, information not displayed on the terminal device can have a chance to be displayed again, avoiding information waste. On the other hand, suppressing the remaining information in the second information set (i.e., information already displayed on the terminal device) can prevent users from repeatedly exposing the same information within a short period, protecting user experience.

[0148] The following uses internet advertising as an example to illustrate an exemplary application of the embodiments of this application in a real-world application scenario.

[0149] Currently, with the rapid development of internet technology and the continuous growth of the number of internet users, internet advertising has become an important channel for advertisers to place ads to promote their products or services. The forms of internet advertising are also diverse. For example, ads can be placed on internet users through traffic provided by traffic owners. Traffic owners provide various forms of applications based on user needs, and ads are placed in the application's ad slots during user interaction, thereby achieving the purpose of promotion.

[0150] To prevent users from repeatedly exposing the same or similar ads within a short period and to protect user experience, the backend server of the advertising system (hereinafter referred to as the advertising system) generally adopts a freshness strategy when delivering ads. For example, the advertising system may filter or downgrade ads that a user has already seen based on their exposure history to prevent users from frequently seeing the same ads in a short period. However, there is actually a certain delay between requesting an ad, the user's exposure, and the exposure record being fed back to the advertising system. If the user makes a new request during this period, and the advertising system has not yet obtained the latest exposure record, it may return the same ad, resulting in an abnormal freshness.

[0151] Simply sending back ads from the client cannot completely solve the above-mentioned technical problems. This is because the client typically sends back a list of ads that have already been displayed to the advertising system. After recalling the ads, the advertising system removes the ads sent back from the client, thus preventing users from seeing the same ads for a short period. However, if the client performs ad pre-fetching, and the previously returned ads have not yet been displayed, then the returned ad list will not contain the previously returned ads. In this case, the client may retrieve duplicate ads during subsequent pre-fetching, affecting the user experience.

[0152] Exposure freshness cannot completely solve the above-mentioned technical problems. This is because exposure freshness can only reduce the latency from user exposure to exposure record feedback. However, if a user's second request occurs before the first ad exposure, the advertising system cannot obtain the latest exposure record. For example, assuming the terminal device's exposure process is: request ad 1 → request ad 2 → expose ad 1 → expose ad 2, since the advertising system cannot obtain the latest exposure record corresponding to ad 1 when it receives request ad 2 (the terminal device has not yet exposed ad 1, so no corresponding exposure record will be generated), when it receives request ad 2, the advertising system may return the same ad as ad 1 (i.e., ad 1 and ad 2 are the same ad), causing the user to see the same ad in a short period of time, which is an abnormality in freshness. This results in poor effectiveness of the freshness strategy and affects the user experience.

[0153] For example, see Figure 8 , Figure 8This is a schematic diagram of the architecture of an advertising delivery system based on a request freshness strategy provided in an embodiment of this application, such as... Figure 8 As shown, the advertising system uniformly manages user request data and writes the record cookie1 corresponding to the requested advertisement into a distributed data storage system (such as the CKV system). When the advertising system receives the next advertisement request, it first reads the cookie1 stored in the CKV system and applies it to the freshness strategy. Its advantages are that it does not require each traffic party to support it separately, it can access the default traffic, and it can flexibly configure different traffic through the configuration center, which reduces the access cost. Furthermore, there is no loss of request freshness data due to client exit or other behaviors, thus reducing the loss rate.

[0154] However, in the process of implementing the embodiments of this application, it was found that the above-mentioned advertising delivery method based on the request freshness strategy still has the following problems:

[0155] 1. To ensure the freshness of advertisements, the advertising system will filter or reduce the number of advertisements returned to the client within a certain period of time. However, the advertising system cannot guarantee that every advertisement returned to the client will be exposed. If advertisements that have not been exposed are also filtered or downgraded, the advertising system may lose the revenue generated by a batch of advertisements with high revenue per thousand impressions (ECPM, Effective Cost Per Mile).

[0156] 2. The advertising system lacks interaction with the client. Sometimes, when the client request logic is complex, such as when the client redirects to other scenarios to request ads, the previously requested but unexposed ads could actually be exposed, but they are filtered out due to the freshness limitation of the request.

[0157] To address the aforementioned technical issues, this application provides an information recommendation method. By improving the client-side feedback method and combining it with request freshness, request freshness can be adapted to scenarios involving pre-fetching of advertisements, thereby increasing the revenue of the advertising system. Specifically, the method of client-side feedback of exposed advertisements is changed to feedback of advertisements that have lost exposure opportunities. Each time the advertising system returns an advertisement request, the returned advertisement data is recorded synchronously. Simultaneously, the client caches the advertisement data returned by the advertising system for a period of time according to different scenarios, and clears the cached advertisement data after the advertisement is actually exposed. Then, when the user requests the advertising system again, the cached unexposed advertisement data is sent back to the advertising system. The request freshness module in the advertising system requests the online storage service to obtain the user's request records within a short period, removes the client-side feedback advertisement data from the request records, and then filters or downgrades the advertisements included in the remaining request records. This ensures user experience while increasing the revenue of the advertising system.

[0158] For example, see Figure 9 , Figure 9 This is a schematic diagram of the architecture of the improved advertising delivery system provided in the embodiments of this application, such as... Figure 9 As shown, the client stores the ad data returned by the advertising system in a cache. This cached data is updated based on ad requests and exposure in different scenarios. On the next ad request, ads destined for no exposure are sent back to the advertising system via the traffic provider's server, allowing the advertising system to filter these ads from the freshness request data. Furthermore, because of this decoupling between the traffic provider and the advertising system, the traffic provider only needs to focus on its internal request logic, sending back ads destined for no exposure to the advertising system without needing to understand the freshness request logic, thus ensuring efficient traffic access. The advertising system, on the other hand, only needs to filter ads sent by the client via the traffic provider's server that have no exposure from the set of ads to be filtered for freshness requests, without needing to consider whether the ads sent back by the client have actually been exposed, reducing development complexity.

[0159] The information recommendation method provided in this application embodiment will be described in detail from the client side and the advertising system side, respectively.

[0160] In some embodiments, the client needs to determine which ads will never be exposed again before each request to the advertising system, and send these ads back to the advertising system so that the advertising system can filter them out of the request freshness. Furthermore, since there may be many scenarios on the client side, including main feed scenarios, overlay video scenarios, and article detail page scenarios, relatively complex request logic is involved. For example, the client typically sends a request to the advertising system before the user has viewed the ad, retrieves the ad, and loads it into the corresponding position on the page. When the user views the ad in that position, it will also send another request in advance. However, if after the ad is loaded into the corresponding position, the user does not continue scrolling down but instead quickly scrolls to the top to refresh, the information content loaded on the page will be reset upon refresh. In this case, the client needs to send a new request to the advertising system and load the newly retrieved ad into the corresponding position. Thus, the previously loaded ad will be wasted due to the advertising system's request freshness. Similar problems exist when switching between different scenarios. After abstracting the client-side issues, the following two situations mainly need to be addressed:

[0161] 1. When performing top refresh in the main feed scene, the previously loaded ads need to be re-uploaded to the advertising system;

[0162] 2. When switching between different scenarios, the ads loaded in the previous scenario need to be re-uploaded to the advertising system.

[0163] The following will explain in detail how to solve the above problems.

[0164] For example, the client can use two mutually exclusive queues to implement the caching logic of ads in the client, including a receive queue and a request queue. The receive queue refers to the queue of ads that may be exposed in the current scenario (i.e., ads returned from the ad system in this scenario), and different scenarios correspond to different receive queues. The request queue refers to the queue of ads that will definitely not be exposed (i.e., ads that need to be sent back to the ad system when requesting the ad system again), and it is globally unique.

[0165] For example, see Figure 10 , Figure 10 This is a schematic diagram of the in-scene advertising caching logic provided in the embodiments of this application, which will be combined with Figure 10 The steps shown are explained.

[0166] In step S301, the client receives a response packet sent by the advertising system.

[0167] For example, after receiving a request from the client, the advertising system responds by retrieving advertising data that matches the user profile from the advertising database and sending the corresponding response packet back to the client.

[0168] In step S302, the client adds the return packet to the receiving queue of the corresponding scenario.

[0169] For example, after receiving the response packet sent by the advertising system, the client divides the advertising data in the response packet and adds the data in the response packet to the receiving queue of the corresponding scenario.

[0170] In step S303, the client determines whether there is an advertisement in the receiving queue with an exposure ratio greater than the exposure ratio threshold during exposure detection. If there is, step S304 is executed; otherwise, step S305 is executed.

[0171] In step S304, the client deletes all ads that exceed the exposure ratio threshold from the scene receiving queue and request queue.

[0172] For example, continuing from the previous section, after receiving the response packet from the advertising system, the client adds the advertisement in the packet to the receiving queue for the corresponding scenario. Then, for each scenario's receiving queue, the client checks if there are any advertisements with an exposure ratio greater than the exposure ratio threshold (E). If so, the client removes the advertisements with exposure ratios exceeding E% from all scenario-related receiving and request queues. The specific process for detecting whether an advertisement has been exposed in a certain scenario is as follows: An exposure ratio threshold E% is set. When an advertisement's exposure ratio exceeds this threshold, it will affect the user. In this case, the advertisement or its corresponding identifier, such as the advertisement's ID, needs to be removed from the cache. For example, the exposure ratio threshold E% can be set to 60%. Taking advertisement A as an example, when advertisement A's display ratio exceeds 60% in a certain scenario—for example, when a user scrolls down and advertisement A has already displayed 60% of the content on the page—the client determines that advertisement A has been exposed and removes advertisement A from all scenario-related receiving and request queues.

[0173] In step S305, the client terminates the entire logic processing procedure.

[0174] For example, see Figure 11 , Figure 11 This is a schematic diagram illustrating the timing of adding advertisements with no exposure opportunities to the request queue, as provided in an embodiment of this application. Figure 11 As shown, when refreshing the main feed scene, returning to the main feed scene from the overlay video, or returning to the main feed scene from the article details page, the unexposed ad data needs to be added to the request queue, and the request queue for the corresponding scene needs to be cleared at the same time.

[0175] In addition, to prevent the number of cached ads in the request queue from becoming too large and putting pressure on the client's storage and the bandwidth of the advertising system, the client can also add a cleanup mechanism for the cached ads in the request queue before initiating a request. For example, it can add time or number limits based on the request freshness threshold.

[0176] For example, see Figure 12 , Figure 12 This is a schematic diagram illustrating the process of cleaning up cached advertisements in the request queue, provided in an embodiment of this application. Figure 12 The steps shown are explained.

[0177] In step S401, the client determines the timing for sending a request to the advertising system for each scenario.

[0178] For example, in the main feed scenario, when the user does not continue browsing downwards but instead quickly scrolls to the top to refresh, the client determines that a request needs to be sent to the advertising system.

[0179] For example, in the case of an overlay video, if a user enters the overlay video by clicking on a video loaded in the main feed scene, but does not watch the content loaded in the overlay video and instead clicks the exit button directly, then the client determines that a request needs to be sent to the advertising system.

[0180] In step S402, the client retrieves the cached advertisements from the request queue.

[0181] For example, when there are multiple scenarios in the client, the client can integrate the ads in the request queues corresponding to the multiple scenarios. For instance, it can add the cached ads in the request queues corresponding to different scenarios to the same request queue.

[0182] In step S403, the client determines whether there are advertisements in the request queue that exceed the duration threshold T. If there are, step S404 is executed; if not, step S405 is executed.

[0183] In step S404, the client deletes advertisements from the request queue that have exceeded the cache duration threshold T.

[0184] For example, continuing from the previous text, when the client determines that it needs to send a request to the advertising system, it first retrieves the cached advertising data from the request queue and checks whether there are any ads in the cached queue that have exceeded the cache duration threshold (T, time limit; if an ad is cached in the request queue for more than T seconds, it is considered expired and needs to be deleted from the cache). If so, the client deletes the ad whose cache duration exceeds the cache duration threshold T from the request queue. For example, suppose the cache duration of ad A exceeds the cache duration threshold T, then the client deletes the ID of ad A from the request queue.

[0185] In step S405, the client removes the advertisements that exist in all scene receiving queues from the request queue.

[0186] For example, after deleting ads from the request queue whose cache duration exceeds the cache duration threshold T, the client further deletes ads from the request queue that exist in the receive queues corresponding to all scenarios. For instance, suppose ad A exists in the client's receive queues corresponding to all scenarios, and ad A was added to the request queue because it was not exposed in the main feeds scenario. However, since ad A also exists in the receive queues corresponding to other scenarios, meaning ad A still has a chance to be exposed, the client can delete ad A from the request queue.

[0187] In step S406, the client determines whether the size of the request queue is greater than the number of entries limit (C, Capacity). If the size of the request queue is greater than the number of entries limit C, then step S407 is executed; otherwise, step S408 is executed.

[0188] In step S407, the client sequentially deletes the advertisements with the longest retention time in the request queue until the size of the request queue equals the limit C for the number of advertisements.

[0189] For example, the ad limit C, which is the maximum number of ads that can be stored in the cache, can be set and adjusted based on both the terminal's storage space and the ad system's request bandwidth. For instance, when the terminal has ample storage space, the ad limit C can be set to a larger value; conversely, when the terminal has limited storage space, the ad limit C can be set to a smaller value. When the size of the request queue exceeds the ad limit C, the client can sequentially delete the ads with the longest cache duration in the request queue until the number of cached ads in the request queue meets the ad limit C.

[0190] In step S408, the client retrieves the advertisement from the request queue and sends it back to the advertising system.

[0191] For example, after the client completes the entire cleanup process by executing steps S403 to S407, it retrieves the remaining advertisements from the request queue after the above cleanup process and sends them to the advertising system.

[0192] In some embodiments, after receiving a set of ads with no exposure opportunities from the client, the advertising system first needs to retrieve the user's most recent request records from a distributed data storage system, such as the CKV system, remove the ad data returned by the client, and filter or downgrade the remaining ads.

[0193] For example, see Figure 13 , Figure 13 This is a schematic diagram illustrating the process of controlling ad exposure in the advertising system provided in this application embodiment. For example... Figure 13 As shown, after receiving a request from a client via a traffic-side server, the advertising system responds by sending an ad to the client and simultaneously generating a current sending record. This record is then written to a distributed message middleware (e.g., Tdbank). The system then consumes data from the distributed message middleware in real-time via a transfer service (i.e., a streaming computing service). Based on the key in the consumed data, it reads the corresponding historical sending record from a distributed data storage system (e.g., a CKV system) and updates the corresponding historical sending record with the current sending record for that key. The updated historical sending record is then rewritten into the CKV system's mapping, thus updating the sending record. Subsequently, the advertising system reads the user's most recent request record (i.e., the advertising system's most recent sending record) from the distributed data storage system and removes the client-returned ads from the ad set corresponding to the read request record. The remaining ads are then filtered or downgraded. Finally, the advertising system sorts the filtered ads based on the client's user profile and sends the top-ranked ads to the client.

[0194] The information recommendation method provided in this application decouples the advertising system and the traffic provider. The advertising system no longer needs to focus on ad exposure; it only needs to remove ads sent back by the client through the traffic provider's server from the request freshness list. Simultaneously, the traffic provider only needs to focus on its internal request logic and scenario switching, and send back ads that have lost exposure to the advertising system. Furthermore, by improving the client's feedback method, this application enables ads that previously lost exposure to regain exposure, increasing the overall revenue of the advertising system. The information recommendation method provided in this application is also portable across different clients.

[0195] The following continues to describe the exemplary structure of the information recommendation device 243 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the information recommendation device 243 of the memory 240 may include: a receiving module 2431, a deletion module 2432, a suppression processing module 2433, a sending module 2434, a query module 2435, and a generation module 2436.

[0196] The receiving module 2431 is used to receive a first information set sent by the terminal device; wherein the first information set includes information not displayed in the terminal device; the deleting module 2432 is used to delete the information included in the first information set from the second information set that has been sent to the terminal device to obtain a third information set; the suppression processing module 2433 is used to suppress information in the fourth information set to be recommended that is the same as the third information set; and the sending module 2434 is used to send at least a portion of the information in the suppressed fourth information set to the terminal device.

[0197] In some embodiments, the receiving module 2431 is further configured to receive a first set of information forwarded by the traffic-side server; wherein the first set of information is determined by the terminal device and sent to the traffic-side server, and the traffic-side server is the backend server of the client in the terminal device used to display information.

[0198] In some embodiments, the first information set carries a user identifier corresponding to the terminal device; the information recommendation device 243 further includes a query module 2435, which is used to query a sending record that matches the user identifier in the database according to the user identifier; wherein, the database stores sending records generated for each information request sent by the terminal device, and the sending records include information sent by the server in response to the information request sent by the terminal device; the deletion module 2432 is further used to integrate the queried sending records to form a second information set, and delete the information included in the first information set from the second information set.

[0199] In some embodiments, the information recommendation device 243 further includes a generation module 2436, which is used to generate a transmission record corresponding to the at least part of the transmitted information after at least part of the information in the suppressed fourth information set is transmitted to the terminal device; and to synchronize the generated transmission record to the database.

[0200] In some embodiments, the suppression processing module 2433 is further configured to reduce the weight of information in the fourth information set to be recommended that is the same as that in the third information set; or to delete information in the fourth information set to be recommended that is the same as that in the third information set.

[0201] In some embodiments, the sending module 2434 is further configured to obtain a user profile of the user corresponding to the terminal device; and to determine the similarity between the user profile and multiple pieces of information in the fourth information set, and to sort them in descending order based on the similarity of the multiple pieces of information, or to sort them in descending order based on the product of the similarity of the multiple pieces of information and the weight; to select the top-ranked information from the descending sorting results, and to send the selected information to the terminal device.

[0202] The following continues to describe an exemplary structure of the information recommendation device 455 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 3 As shown, the information recommendation device 455 stored in the memory 450 includes: a determination module 4551, a sending module 4552, a request module 4553, and a deletion module 4554.

[0203] The determining module 4551 is used to determine a first information set in the terminal device; wherein the first information set includes information not displayed in the terminal device; the sending module 4552 is used to send the first information set to the server so that the server performs the following operations: deleting the information included in the first information set from the second information set that has been sent to the terminal device to obtain a third information set; suppressing the information in the fourth information set to be recommended that is the same as the third information set; and sending at least a portion of the information in the suppressed fourth information set to the terminal device.

[0204] In some embodiments, the information recommendation device 455 further includes a request module 4553, configured to send a first information request to the server to obtain information for display in the first scenario; and a determination module 4551, configured to store the information for display in the first scenario in a receiving queue corresponding to the first scenario; when the first scenario is refreshed or switched from the first scenario to the second scenario, to add the information in the receiving queue corresponding to the first scenario that was not displayed in the first scenario to the request queue corresponding to the first scenario, and to clear the receiving queue corresponding to the first scenario; and to construct a first information set based on the information in the request queue corresponding to the first scenario.

[0205] In some embodiments, the information recommendation device 455 further includes a deletion module 4554, which is used to delete the information that has already been displayed from the receiving queue and the request queue corresponding to the first scene when there is information that has already been displayed in the first scene in the receiving queue corresponding to the first scene.

[0206] In some embodiments, the type of the first scenario includes at least one of the following: main information stream scenario, overlay video scenario, and article details page scenario; the determining module 4551 is further configured to: when the type of the first scenario is a main information stream scenario and the main information stream scenario is refreshed, determine the information included in the page before the refresh as information not displayed in the main information stream scenario in the receiving queue corresponding to the main information stream scenario, and add it to the request queue corresponding to the main information stream scenario; and when the type of the first scenario is an overlay video scenario and the user switches back from the overlay video scenario to the main information stream scenario, determine the information included in the overlay video scenario as information not displayed in the overlay video scenario in the receiving queue corresponding to the overlay video scenario, and add it to the request queue corresponding to the overlay video scenario; and when the type of the first scenario is an article details page scenario and the user switches back from the article details page scenario to the main information stream scenario, determine the information included in the article details page scenario as information not displayed in the article details page scenario in the receiving queue corresponding to the article details page scenario, and add it to the request queue corresponding to the article details page scenario.

[0207] In some embodiments, the deletion module 4554 is further configured to, when it is determined that a second information request needs to be sent to the server, perform at least one of the following operations on the information in the request queue corresponding to the first scenario: delete information whose duration of being added to the request queue corresponding to the first scenario exceeds a duration threshold; delete information common to all scenarios in the receiving queues of the terminal device; wherein the second information request is used to request information displayed in the first scenario.

[0208] In some embodiments, the determining module 4551 is further configured to determine the number of information included in the request queue corresponding to the first scenario after deletion processing; the deleting module 4554 is further configured to, when the number of information is greater than the number threshold, sequentially delete the information with the longest addition time in the request queue corresponding to the first scenario until the number of information included in the request queue corresponding to the first scenario is less than or equal to the number threshold.

[0209] In some embodiments, the determining module 4551 is further configured to determine that a second information request needs to be sent to the server when the terminal device is in the following situations: before the terminal device enters the first scene; after the terminal device displays information sent by the server for display in the first scene; or when the first scene in the terminal device is refreshed.

[0210] It should be noted that the description of the apparatus in this application embodiment is similar to the description of the method embodiment above, and has similar beneficial effects as the method embodiment; therefore, it will not be repeated. For technical details not covered in the information recommendation apparatus provided in this application embodiment, please refer to... Figure 4-6 The meaning is understood in accordance with the description of any of the accompanying drawings.

[0211] 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 information recommendation method described in this application.

[0212] This application provides a computer-readable storage medium storing executable instructions. When these executable instructions are executed by a processor, they cause the processor to perform the method provided in this application, for example... Figure 4-6 The information in any of the attached figures represents the recommended method.

[0213] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0214] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0215] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).

[0216] As an example, executable instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.

[0217] The effectiveness of the information recommendation method provided in the embodiments of this application is further illustrated below with experimental data.

[0218] Combination Figure 14As shown in Table 1, there was no significant change in the freshness anomaly rate of the ads before and after the improvement. However, compared to before the improvement, the exposure rate increased by 0.48%, and the spend increased by 1.3%. The increase in exposure rate was due to the addition of client postbacks, which allowed ads that were previously not postbacks to now have postback opportunities. The increase in spend was due to the increase in cost per mille (CPM). This is because the client would postback ads that had lost exposure opportunities. These ads were high ECPM ads that had previously won in the competition. Previously, due to the lack of client postbacks, these ads were filtered or downgraded because of the need for freshness requests. Now, with the client postbacks, they have regained exposure opportunities, leading to an increase in CPM and thus an increase in spend.

[0219] Table 1 Comparison of Exposure Rate and Consumption Before and After Improvement

[0220]

[0221]

[0222] In summary, this embodiment of the application receives a first information set consisting of information not displayed on the terminal device, sent by the terminal device. This allows the server to delete information included in the first information set from a second information set already sent to the terminal device, resulting in a third information set. Next, the server suppresses information in the fourth information set to be recommended that is identical to information in the third information set. Subsequently, it determines information that meets timeliness requirements from the suppressed fourth information set and sends it to the terminal device. Thus, on the one hand, by deleting information not displayed on the terminal device from the second information set, which is not involved in subsequent suppression processing, information not displayed on the terminal device can have the opportunity to be displayed again, avoiding information waste. On the other hand, suppressing the remaining information in the second information set (i.e., information already displayed on the terminal device) can prevent users from repeatedly exposing the same information within a short period, thus protecting user experience.

[0223] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. An information recommendation method, characterized in that, Applied to a terminal device, the method includes: Send a first information request to the server to obtain information from the server for display in the first scenario; The information to be displayed in the first scenario is stored in the receiving queue corresponding to the first scenario; When the first scene is refreshed or the user switches from the first scene to the second scene, information that was not displayed in the first scene but is in the receiving queue of the first scene is added to the request queue of the first scene and the receiving queue of the first scene is cleared. A first information set is constructed based on the information in the request queue corresponding to the first scenario, wherein the first information set includes information not displayed in the terminal device; Send the first set of information to the server so that the server performs the following operations: The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set; Suppress information in the fourth set of information to be recommended that is identical to the third set of information; At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

2. The method according to claim 1, characterized in that, The first scenario includes at least one of the following: main information stream scenario, floating video scenario, and article details page scenario; The step of adding information from the receiving queue corresponding to the first scenario that was not displayed in the first scenario to the request queue corresponding to the first scenario includes: When the type of the first scenario is a main information flow scenario, and the main information flow scenario is refreshed, the information included in the page before the refresh is determined to be information that is not displayed in the main information flow scenario in the receiving queue corresponding to the main information flow scenario, and added to the request queue corresponding to the main information flow scenario. When the first scene is a floating video scene and the user switches back to the main information stream scene from the floating video scene, the information included in the floating video scene is determined to be information that is not displayed in the floating video scene in the receiving queue corresponding to the floating video scene, and is added to the request queue corresponding to the floating video scene. When the first scenario is an article details page scenario, and the user switches back to the main information flow scenario from the article details page scenario, the information included in the article details page scenario is determined to be information that is not displayed in the article details page scenario in the receiving queue corresponding to the article details page scenario, and is added to the request queue corresponding to the article details page scenario.

3. The method according to claim 1, characterized in that, The construction of the first information set based on the information in the request queue corresponding to the first scenario includes: When it is determined that a second information request needs to be sent to the server, at least one of the following operations is performed on the information in the request queue corresponding to the first scenario: Delete information whose duration exceeds the duration threshold when added to the request queue corresponding to the first scenario; Delete the common information in the receiving queues corresponding to all scenarios in the terminal device; The second information request is used to request information to be displayed in the first scenario.

4. The method according to claim 3, characterized in that, The method further includes: Determine the amount of information included in the request queue corresponding to the first scenario after the deletion process; When the number of information items exceeds the quantity threshold, the information items with the longest duration added to the request queue corresponding to the first scenario are deleted sequentially until the number of information items included in the request queue corresponding to the first scenario is less than or equal to the quantity threshold.

5. An information recommendation method, characterized in that, Applied to a server, the method includes: A first information set sent by a receiving terminal device is provided. This first information set includes information not displayed on the terminal device. The terminal device determines the first information set by: sending a first information request to the server to obtain information for display in a first scenario; storing the information for display in the first scenario in a receiving queue corresponding to the first scenario; when the first scenario is refreshed or switched to a second scenario, adding the information not displayed in the first scenario from the receiving queue corresponding to the first scenario to the request queue corresponding to the first scenario, and clearing the receiving queue corresponding to the first scenario; and constructing the first information set based on the information in the request queue corresponding to the first scenario. The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set; Suppress information in the fourth set of information to be recommended that is identical to the third set of information; At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

6. The method according to claim 5, characterized in that, The first set of information sent by the receiving terminal device includes: The first set of information forwarded by the receiving server; The first information set is determined by the terminal device and sent to the traffic-side server, which is the backend server of the client in the terminal device used to display information.

7. The method according to claim 5, characterized in that, The first information set carries the user identifier corresponding to the terminal device; Deleting information from the second set of information already sent to the terminal device, including: Based on the user identifier, query the database for sending records that match the user identifier; The database stores sending records generated for each information request sent by the terminal device, and the sending records include information sent by the server in response to the information request sent by the terminal device. The query results are used to integrate the sent records to form a second information set, and the information included in the first information set is deleted from the second information set.

8. The method according to claim 7, characterized in that, After sending at least a portion of the information in the fourth information set after the suppression processing to the terminal device, the method further includes: Generate a transmission record corresponding to at least a portion of the transmitted information; The generated sending records are synchronized to the database.

9. The method according to claim 5, characterized in that, The suppression process for information in the fourth information set to be recommended that is identical to the third information set includes: Reduce the weight of information in the fourth set of information to be recommended that is identical to that in the third set of information; or, Delete information from the fourth set of information to be recommended that is identical to information from the third set of information.

10. The method according to claim 9, characterized in that, Sending at least a portion of the information in the fourth information set after the suppression processing to the terminal device includes: Obtain the user profile of the user corresponding to the terminal device; Determine the similarity between the user profile and multiple pieces of information in the fourth information set, and sort them in descending order based on the similarity of the multiple pieces of information, or sort them in descending order based on the product of the similarity of the multiple pieces of information and the weight. Select the information that ranks first in the descending sorting results and send the selected information to the terminal device.

11. An information recommendation device, characterized in that, Applied to a terminal device, the device includes: The request module is used to send a first information request to the server to obtain information from the server for display in the first scenario; The determining module is used to store the information to be displayed in the first scenario in a receiving queue corresponding to the first scenario; When the first scene is refreshed or the user switches from the first scene to the second scene, information that was not displayed in the first scene but is in the receiving queue of the first scene is added to the request queue of the first scene and the receiving queue of the first scene is cleared. A first information set is constructed based on the information in the request queue corresponding to the first scenario, wherein the first information set includes information not displayed in the terminal device; The sending module is configured to send the first information set to the server, so that the server performs the following operations: The information included in the first information set is deleted from the second information set that has already been sent to the terminal device to obtain the third information set; Suppress information in the fourth set of information to be recommended that is identical to the third set of information; At least a portion of the information in the fourth information set after the suppression process is sent to the terminal device.

12. The apparatus according to claim 11, characterized in that, The device further includes a deletion module, which is further configured to: When it is determined that a second information request needs to be sent to the server, at least one of the following operations is performed on the information in the request queue corresponding to the first scenario: Delete information whose duration exceeds the duration threshold when added to the request queue corresponding to the first scenario; Delete the common information in the receiving queues corresponding to all scenarios in the terminal device; The second information request is used to request information to be displayed in the first scenario.

13. An information recommendation device, characterized in that, Applied to a server, the device includes: A receiving module is configured to receive a first information set sent by a terminal device; wherein the first information set includes information not displayed on the terminal device, and the first information set is determined by the terminal device in the following manner: sending a first information request to the server to obtain information for display in a first scenario; storing the information for display in the first scenario in a receiving queue corresponding to the first scenario; when the first scenario is refreshed or switched from the first scenario to a second scenario, adding the information not displayed in the first scenario from the receiving queue corresponding to the first scenario to the request queue corresponding to the first scenario, and clearing the receiving queue corresponding to the first scenario; and constructing the first information set based on the information in the request queue corresponding to the first scenario. The deletion module is used to delete information included in the first information set from the second information set that has been sent to the terminal device, so as to obtain a third information set. The suppression processing module is used to suppress information in the fourth information set to be recommended that is the same as the third information set; The sending module is used to send at least a portion of the information in the fourth information set after the suppression processing to the terminal device.

14. An electronic device, characterized in that, include: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the information recommendation method according to any one of claims 1-4 or any one of claims 5-10.

15. A computer-readable storage medium, characterized in that, The system stores executable instructions, which, when executed, are used to implement the information recommendation method according to any one of claims 1-4 or any one of claims 5-10.

16. A computer program product comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement the information recommendation method according to any one of claims 1-4 or any one of claims 5-10.

Citation Information

Patent Citations

  • Information recommendation method and apparatus, and electronic device

    CN107423355A

  • Promotion content exposure control method and device and computer equipment

    CN111612530A