Data processing method and device, computer device and storage medium

By dividing the data to be displayed into user groups and adjusting the user groups based on user interaction data, the problem of mismatch between the data flow and information quality to be displayed is solved, achieving fairer and more accurate information delivery.

CN116204717BActive Publication Date: 2026-06-09INDUSTRIAL AND COMMERCIAL BANK OF CHINA

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INDUSTRIAL AND COMMERCIAL BANK OF CHINA
Filing Date
2023-03-08
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

In existing technologies, due to the subjective factors of operators, the display traffic of the information to be displayed does not match the information quality, resulting in low fairness and accuracy of information push.

Method used

The data to be displayed is divided into user groups, with each group having the same number of user accounts. Interaction scores are determined based on user interaction data, and user groups are dynamically adjusted to optimize the allocation of target user accounts for the data to be displayed.

Benefits of technology

It improves the fairness and accuracy of traffic allocation for data to be displayed, ensuring that each piece of data is assigned to the most suitable user, thus improving the accuracy of information push.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116204717B_ABST
    Figure CN116204717B_ABST
Patent Text Reader

Abstract

This application relates to a data processing method, apparatus, computer equipment, and storage medium, and pertains to the field of big data technology. The method includes: determining the data to be displayed corresponding to a target display area, and dividing each piece of data into user groups; for any piece of data to be displayed, pushing the data to be displayed to each user account in the user group within a display period, and after the display period ends, determining the interaction score of each user account based on the interaction data between each user account and the data to be displayed, and determining the target user account corresponding to the data to be displayed based on the interaction score; determining a first piece of data to be displayed from the data to be displayed, and determining a replacement user account from the target user accounts of each piece of the first piece of data to be displayed; swapping the replacement user accounts and starting the next display period, until the number of display periods reaches a threshold or the number of the first piece of data to be displayed is less than or equal to a quantity threshold. This method can improve the accuracy of data push.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of big data technology, and in particular to a data processing method, apparatus, computer equipment, and storage medium. Background Technology

[0002] With the development of science and technology, users can access information on various internet platforms, and correspondingly, information providers can push relevant information to users through these platforms. However, due to the limited display space on these platforms, when there is a large amount of information to be displayed, multiple pieces of information may compete for the same display space.

[0003] In existing technologies, operators typically determine the display traffic (display traffic is the probability that a user will see the information in the display position) of each piece of information based on their experience. Then, they randomly determine the target users based on the display traffic and push the corresponding information to the target users so that the target users can obtain the information in the corresponding display position.

[0004] Because the method of allocating display traffic to each piece of information to be displayed by operators is affected by subjective human factors, the display traffic does not match the quality of the information. This results in poor fairness for the information to be displayed. Furthermore, the method of randomly determining the users to be displayed based on the display traffic also results in low user-information matching, leading to low accuracy in information push. Summary of the Invention

[0005] Therefore, it is necessary to provide a data processing method, apparatus, computer equipment, and storage medium to address the aforementioned technical problems.

[0006] Firstly, this application provides a data processing method. The method includes:

[0007] Determine the data to be displayed corresponding to the target display area, and divide each of the data to be displayed into a corresponding user group, wherein the number of user accounts in each user group corresponding to the data to be displayed is the same;

[0008] For any of the data to be displayed, during the display period, the data to be displayed is pushed to each user account in the user group corresponding to the data to be displayed. After the display period ends, based on the interaction operation data between each user account in the user group and the data to be displayed, the interaction score of each user account for the data to be displayed is determined. Based on the interaction score of each user account, the target user account corresponding to the data to be displayed is determined.

[0009] First data to be displayed is determined from the data to be displayed, and a user account to be replaced is determined from the target user accounts corresponding to each first data to be displayed, wherein the number of target user accounts corresponding to the first data to be displayed is greater than the account number threshold.

[0010] After swapping the user accounts to be replaced corresponding to each of the first data to be displayed, the next display cycle is started until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold.

[0011] In one embodiment, the method further includes: after a preset number of display cycles, determining the total interaction score of each of the data to be displayed based on the interaction scores of each user account for each of the data to be displayed within each display cycle;

[0012] From the data to be displayed, a first data to be adjusted whose total interaction score is less than a first score threshold is determined, and a second data to be adjusted whose total interaction score is greater than a second score threshold is determined, wherein the first score threshold is less than the second score threshold;

[0013] Select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

[0014] In one embodiment, determining the target user account corresponding to the data to be displayed based on the interaction score corresponding to each of the user accounts includes:

[0015] For any of the aforementioned user accounts, if the corresponding interaction score of the user account is less than the score threshold, the user account will be used as the target user account corresponding to the data to be displayed.

[0016] The step of determining the user account to be replaced corresponding to each of the first data to be displayed from the target user accounts corresponding to each of the first data to be displayed includes:

[0017] Obtain the number of accounts corresponding to the target user accounts for each of the first data to be displayed;

[0018] The lowest number of accounts among all the stated account counts will be used as the replacement count;

[0019] From the target user accounts corresponding to each of the first data to be displayed, determine the number of user accounts to be replaced, and use them as the user accounts to be replaced for each of the first data to be displayed.

[0020] In one embodiment, before designating the user account as the target user account corresponding to the data to be displayed when the interaction score corresponding to the user account is less than the score threshold, the method further includes:

[0021] Determine the score threshold corresponding to the current display cycle, wherein the score threshold is negatively correlated with the number of cycles corresponding to the display cycle.

[0022] In one embodiment, determining the user account to be replaced corresponding to each of the first data to be displayed from the target user accounts corresponding to each of the first data to be displayed includes:

[0023] The target user accounts are sorted from lowest to highest according to their interaction scores to obtain a user account sequence;

[0024] Starting with the first target user account in the user account sequence, a preset number of target user accounts are selected sequentially as the user accounts to be replaced corresponding to the first data to be displayed.

[0025] In one embodiment, the process of swapping the user accounts to be replaced corresponding to each of the first pieces of data to be displayed includes:

[0026] The user account to be replaced corresponding to each of the first data to be displayed is taken as the replaceable user account corresponding to each of the first data to be displayed, and a second data to be displayed is determined from each of the first data to be displayed, wherein the second data to be displayed is any of the first data to be displayed, and the third data to be displayed is any of the first data to be displayed except the second data to be displayed;

[0027] For any of the user accounts to be replaced corresponding to the second data to be displayed, a first target replacement user account is determined from the replaceable user accounts corresponding to each of the third data to be displayed, and a second target replacement user account is determined from the first target replacement user account, wherein the first target replacement user account does not belong to the user accounts to be replaced corresponding to the second data to be displayed, and the second target replacement user account belongs to the replaceable user accounts corresponding to the fourth data to be displayed.

[0028] The second target replacement user account and the user account to be replaced are swapped, and the second target replacement user account is used as the replaceable user account corresponding to the second data to be displayed, and the user account to be replaced is used as the replaceable user account corresponding to the fourth data to be displayed.

[0029] From each of the third data to be displayed, a fifth data to be displayed is selected as the second data to be displayed, and the process jumps to any of the user accounts to be replaced corresponding to the second data to be displayed, and determines the second target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, until there is no fifth data to be displayed, wherein at least one user account to be replaced corresponding to the fifth data to be displayed exists in the user group corresponding to the fifth data to be displayed.

[0030] In one embodiment, determining a first target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, and determining a second target replacement user account from the first target replacement user account, includes:

[0031] The sixth data to be displayed corresponding to the user account to be replaced is determined from the third data to be displayed. The sixth data to be displayed does not belong to the historical data to be displayed of the user account to be replaced. The historical data to be displayed is the data to be displayed corresponding to the target user account in multiple historical display periods.

[0032] From the replaceable user accounts corresponding to the sixth data to be displayed, determine the first target replacement user account;

[0033] For any of the first target replacement user accounts, if the first data to be displayed does not belong to the historical data to be displayed of the first target replacement user account, the first target replacement user account will be used as the third target replacement user account.

[0034] The second target replacement user account is determined from the third target replacement user account.

[0035] In one embodiment, determining the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed includes:

[0036] For any user account in the user group, obtain the interaction operation data between the user account and the data to be displayed. The interaction operation data includes the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation.

[0037] The interaction score of the user account for the data to be displayed is determined based on the user account's historical interaction operations with respect to the data to be displayed and the interaction duration of each historical interaction operation.

[0038] Secondly, this application also provides a data processing apparatus. The apparatus includes:

[0039] The segmentation module is used to determine the data to be displayed corresponding to the target display area, and to divide each of the data to be displayed into a corresponding user group, wherein the number of user accounts in each user group corresponding to the data to be displayed is the same.

[0040] The push module is used to push the data to be displayed to each user account in the user group corresponding to the data to be displayed within the display period, and after the display period ends, determine the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed, and determine the target user account corresponding to the data to be displayed based on the interaction score of each user account.

[0041] The first determining module is used to determine first data to be displayed from the data to be displayed, and to determine the user account to be replaced corresponding to each first data to be displayed from the target user accounts corresponding to each first data to be displayed, wherein the number of target user accounts corresponding to the first data to be displayed is greater than the number of accounts threshold.

[0042] The swapping module is used to swap the user accounts to be replaced corresponding to each of the first data to be displayed, and then start the next display cycle until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold.

[0043] In one embodiment, the above-described apparatus further includes:

[0044] The second determining module is used to determine the total interaction score of each data to be displayed based on the interaction score of each user account for each data to be displayed within each display period after a preset number of display periods.

[0045] The third determining module is used to determine, from the data to be displayed, a first data to be adjusted whose total interaction score is less than a first score threshold, and a second data to be adjusted whose total interaction score is greater than a second score threshold, wherein the first score threshold is less than the second score threshold.

[0046] The addition module is used to select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

[0047] In one embodiment, the push module is further configured to:

[0048] For any of the aforementioned user accounts, if the corresponding interaction score of the user account is less than the score threshold, the user account will be used as the target user account corresponding to the data to be displayed.

[0049] The first determining module is further configured to:

[0050] Obtain the number of accounts corresponding to the target user accounts for each of the first data to be displayed;

[0051] The lowest number of accounts among all the stated account counts will be used as the replacement count;

[0052] From the target user accounts corresponding to each of the first data to be displayed, determine the number of user accounts to be replaced, and use them as the user accounts to be replaced for each of the first data to be displayed.

[0053] In one embodiment, the above-described apparatus further includes:

[0054] The third determining module is used to determine the score threshold corresponding to the current display cycle, and the score threshold is negatively correlated with the number of cycles corresponding to the display cycle.

[0055] In one embodiment, the first determining module is further configured to:

[0056] The target user accounts are sorted from lowest to highest according to their interaction scores to obtain a user account sequence;

[0057] Starting with the first target user account in the user account sequence, a preset number of target user accounts are selected sequentially as the user accounts to be replaced corresponding to the first data to be displayed.

[0058] In one embodiment, the interchange module is further configured to:

[0059] The user account to be replaced corresponding to each of the first data to be displayed is taken as the replaceable user account corresponding to each of the first data to be displayed, and a second data to be displayed is determined from each of the first data to be displayed, wherein the second data to be displayed is any of the first data to be displayed, and the third data to be displayed is any of the first data to be displayed except the second data to be displayed;

[0060] For any of the user accounts to be replaced corresponding to the second data to be displayed, a first target replacement user account is determined from the replaceable user accounts corresponding to each of the third data to be displayed, and a second target replacement user account is determined from the first target replacement user account, wherein the first target replacement user account does not belong to the user accounts to be replaced corresponding to the second data to be displayed, and the second target replacement user account belongs to the replaceable user accounts corresponding to the fourth data to be displayed.

[0061] The second target replacement user account and the user account to be replaced are swapped, and the second target replacement user account is used as the replaceable user account corresponding to the second data to be displayed, and the user account to be replaced is used as the replaceable user account corresponding to the fourth data to be displayed.

[0062] From each of the third data to be displayed, a fifth data to be displayed is selected as the second data to be displayed, and the process jumps to any of the user accounts to be replaced corresponding to the second data to be displayed, and determines the second target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, until there is no fifth data to be displayed, wherein at least one user account to be replaced corresponding to the fifth data to be displayed exists in the user group corresponding to the fifth data to be displayed.

[0063] In one embodiment, the interchange module is further configured to:

[0064] The sixth data to be displayed corresponding to the user account to be replaced is determined from the third data to be displayed. The sixth data to be displayed does not belong to the historical data to be displayed of the user account to be replaced. The historical data to be displayed is the data to be displayed corresponding to the target user account in multiple historical display periods.

[0065] From the replaceable user accounts corresponding to the sixth data to be displayed, determine the first target replacement user account;

[0066] For any of the first target replacement user accounts, if the first data to be displayed does not belong to the historical data to be displayed of the first target replacement user account, the first target replacement user account will be used as the third target replacement user account.

[0067] The second target replacement user account is determined from the third target replacement user account.

[0068] In one embodiment, the push module is further configured to:

[0069] For any user account in the user group, obtain the interaction operation data between the user account and the data to be displayed. The interaction operation data includes the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation.

[0070] The interaction score of the user account for the data to be displayed is determined based on the user account's historical interaction operations with respect to the data to be displayed and the interaction duration of each historical interaction operation.

[0071] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement any of the methods described above.

[0072] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements any of the above methods.

[0073] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements any of the above methods.

[0074] The aforementioned data processing method, apparatus, computer equipment, and storage medium allocate the same number of users to each piece of data to be displayed as user groups, and display the corresponding data to be displayed within each user group. Within a display cycle, the total number of users in each user group remains constant. Simultaneously, for each user within a user group, the user's interaction score with the data to be displayed is dynamically adjusted across user groups. This ensures that, while maintaining a relatively even and fair distribution of traffic across the data to be displayed, each piece of data is assigned to the user with the highest compatibility with that data, thus improving the accuracy of data push notifications. Attached Figure Description

[0075] Figure 1 This is a flowchart illustrating a data processing method in one embodiment;

[0076] Figure 2 This is a schematic diagram illustrating the swapping of user accounts to be replaced in one embodiment;

[0077] Figure 3 This is a flowchart illustrating a data processing method in one embodiment;

[0078] Figure 4 This is a schematic diagram illustrating the division of new user groups in one embodiment;

[0079] Figure 5 This is a flowchart illustrating step 104 in one embodiment;

[0080] Figure 6 This is a flowchart illustrating step 108 in one embodiment;

[0081] Figure 7 This is a schematic diagram illustrating the swapping of user accounts to be replaced in one embodiment;

[0082] Figure 8 This is a flowchart illustrating step 604 in one embodiment;

[0083] Figure 9 This is a schematic diagram illustrating the swapping of user accounts to be replaced in one embodiment;

[0084] Figure 10 This is a flowchart illustrating step 104 in one embodiment;

[0085] Figure 11 This is a structural block diagram of a data processing device in one embodiment;

[0086] Figure 12 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0087] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0088] In one embodiment, such as Figure 1 As shown, a data processing method is provided. This embodiment illustrates the method applied to a terminal, but it is understood that the method can also be applied to a server, or to a system including both a terminal and a server, and implemented through interaction between the terminal and the server. In this embodiment, the method includes the following steps:

[0089] Step 102: Determine the data to be displayed corresponding to the target display area, and divide each data into corresponding user groups. The number of user accounts in each user group corresponding to the data to be displayed is the same.

[0090] In this embodiment of the application, the data to be displayed is information such as business, activities, and products that need to be pushed to users, and the display area is the area used to display the data to be displayed. There may be multiple display areas on a page at the same time, and for each display area, there may be multiple data to be displayed that need to be displayed in that display area at the same time.

[0091] When multiple pieces of data need to be pushed to the same group of users in the same display area, the users can be divided into multiple user groups so that each piece of data has its corresponding user group. The number of user accounts in each user group should be the same, or as similar as possible if they cannot be the same. For example, if there are 100 user accounts and 3 pieces of data to be displayed, the number of user accounts in each user group can be 33, 33, and 34, so that each piece of data has a relatively similar display opportunity.

[0092] Step 104: For any data to be displayed, during the display period, push the data to be displayed to each user account in the user group corresponding to the data to be displayed. After the display period ends, determine the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed. Based on the interaction score of each user account, determine the target user account corresponding to the data to be displayed.

[0093] In this embodiment, after determining the user group corresponding to each piece of data to be displayed, the data to be displayed for that user group can be pushed to the user accounts within that user group within a display period. The display period is the time during which the data to be displayed is shown. For any user group corresponding to any piece of data to be displayed, users within that user group can only see the data to be displayed for that user group within the target display area before the end of the display period; they will not see any other data to be displayed. The length of the display period can be determined by those skilled in the art based on actual needs.

[0094] When displaying data, the interaction data between each user account in the user group and the data to be displayed can be recorded during the display period, such as the number of views and the viewing duration. After the display period ends, the interaction score of each user account for the data to be displayed is determined based on the interaction data within that period. A higher interaction score indicates greater interest in the data to be displayed by the user account. For example, a preset score can be assigned to each interaction, and the user account's interaction score for the data to be displayed can be determined based on all interactions and their weights within the display period.

[0095] When the interaction score is low, it indicates that the user account corresponding to the user is not interested in the data to be displayed. Even if the data continues to be displayed, the probability of the user viewing the data is low. Therefore, user accounts with low interaction scores can be identified as target user accounts, i.e., user accounts whose data to be displayed need to be replaced. For example, a score threshold can be preset, and user accounts with interaction scores below the threshold can be identified as target user accounts; alternatively, user accounts can be sorted according to their interaction scores, and a fixed number of user accounts at the bottom of the ranking can be identified as target user accounts, etc. This application embodiment does not specifically limit this approach.

[0096] Step 106: Determine the first data to be displayed from the data to be displayed, and determine the user account to be replaced from the target user accounts corresponding to each first data to be displayed. The number of target user accounts corresponding to the first data to be displayed is greater than the account number threshold.

[0097] In this embodiment of the application, for any data to be displayed, if the number of target user accounts requiring replacement of the data in the user group corresponding to the data exceeds a certain number (i.e., an account number threshold), the data to be displayed can be used as the first data to be displayed that needs to exchange user accounts with other data to be displayed. After determining all the data to be displayed that needs to exchange user accounts (i.e., the first data to be displayed), since the number of target user accounts for each first data to be displayed may be different, not all target user accounts can be exchanged to the user groups of other first data to be displayed. Therefore, it is necessary to determine the user accounts that can be exchanged from the target user accounts.

[0098] For example, for any given set of first-to-be-displayed data, in order for the user accounts to be exchanged to be swapped to other user groups of first-to-be-displayed data, those other user groups must have at least the same number of user accounts available for exchange. Therefore, the number of user accounts to be exchanged can be determined based on the total number of target user accounts in the other user groups of first-to-be-displayed data. That is, if the total number of target user accounts in the other user groups of first-to-be-displayed data is greater than or equal to the number of target user accounts in the user group of this first-to-be-displayed data, all target user accounts can be used as user accounts to be exchanged. If the total number of target user accounts in the other user groups of first-to-be-displayed data is less than the number of target user accounts in the user group of this first-to-be-displayed data, a total number of user accounts can be selected from the target user accounts as user accounts to be exchanged.

[0099] For example, if there are three sets of data to be displayed, A, B, and C, with 2 target user accounts for A, 5 for B, and 10 for C, then for A, since the total number of target user accounts for B and C is 15, it is sufficient to select 2 user accounts to exchange with A's target user accounts. Therefore, both of A's 2 target user accounts can be used as user accounts to be exchanged with A. However, for C, since the total number of target user accounts for A and B is 7, A and B can only provide a maximum of 7 user accounts to exchange with C's target user accounts. Therefore, only 7 user accounts can be selected from C's 10 target user accounts as user accounts to be exchanged with the 7 target user accounts of A and B.

[0100] It should be noted that the above is only an example of determining the user account to be exchanged. In fact, other methods can also be used to determine the user account to be exchanged from the target user account. This application embodiment does not specifically limit this.

[0101] Step 108: After swapping the user accounts to be replaced corresponding to each of the first data to be displayed, start the next display cycle until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold.

[0102] In this embodiment of the application, the user accounts to be replaced corresponding to each first piece of data to be displayed can be swapped. That is, for any first piece of data to be displayed, the user account to be replaced corresponding to that first piece of data is swapped to the user group of other first pieces of data to be displayed, so that at the end of the swap, there is no user account to be replaced corresponding to that piece of data in the user group of each piece of data to be displayed. Figure 2 The image shows an example of a new user group formed after swapping user accounts.

[0103] For example, each set of first data to be displayed can be traversed multiple times. When a user account corresponding to the first data to be displayed is detected in the user group of the first data to be displayed, a user account is randomly selected from the user accounts corresponding to the first data to be displayed in other user groups of the first data to be displayed (the user accounts corresponding to the first data to be displayed itself, as well as the user accounts that have been swapped to other user groups of the first data to be displayed) and swapped with the user account to be replaced. This process continues until no user account corresponding to the first data to be displayed is detected in any user group of the first data to be displayed during the traversal.

[0104] It should be noted that the above is only an example of exchanging user accounts to be exchanged. In fact, other methods can also be used to exchange user accounts to be exchanged, and this application embodiment does not specifically limit this.

[0105] After all user accounts to be replaced have been swapped, the next display cycle can be started based on the new user groups formed after the swap, until the number of display cycles reaches the number threshold, or until only a small number of user groups have a number of target user accounts that are less than or equal to the account number threshold (i.e., the number of the first set of data to be displayed is less than or equal to the number threshold). The specific values ​​of the number threshold and the number threshold can be set by those skilled in the art according to actual needs.

[0106] The data processing method provided in this application assigns the same number of users to each piece of data to be displayed as user groups, and displays the corresponding data to be displayed within each user group. Within a display cycle, the total number of users in each user group remains constant. Simultaneously, for each user in a user group, the user's interaction score with the data to be displayed is dynamically adjusted among user groups. This ensures that, while the traffic distribution for each piece of data to be displayed is relatively even and fair, each piece of data is assigned to the user with the highest compatibility with that data, thus improving the accuracy of data push notifications.

[0107] In one embodiment, such as Figure 3 As shown, the above method also includes:

[0108] Step 302: After a preset number of display periods, determine the total interaction score of each data to be displayed based on the interaction scores of each user account for each data to be displayed within each display period.

[0109] Step 304: Determine the first data to be adjusted from the data to be displayed whose total interaction score is less than the first score threshold, and determine the second data to be adjusted whose total interaction score is greater than the second score threshold, wherein the first score threshold is less than the second score threshold.

[0110] Step 306: Select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

[0111] In this embodiment, after a preset number of display cycles (where the preset number can be set by those skilled in the art according to actual needs), the total interaction score of the data to be displayed can be determined based on all interaction scores generated for the data to be displayed within each display cycle. For example, the average of each interaction score can be taken as the total interaction score, or the weighted sum of each interaction score can be taken as the total interaction score, etc. This embodiment does not specifically limit this.

[0112] Since each piece of data to be displayed has been shown to user accounts that are most suitable for it over multiple display cycles, the total interaction score obtained after multiple display cycles can reflect the overall user evaluation of the data. A high total interaction score indicates that users are generally interested in the data, and in this case, the user group corresponding to the data can be expanded by adding user accounts to the group, allowing the data to be pushed to more user accounts. Conversely, a low total interaction score indicates that users are generally not interested in the data, and continuing to push the data to them may not lead to viewing it. Therefore, the user group corresponding to the data can be appropriately reduced, and the released user accounts can be added to user groups corresponding to other data to be displayed, allowing these user accounts to be pushed other data that users are more interested in.

[0113] A first and second score threshold can be preset. If the total interaction score of the data to be displayed is less than the first score threshold, it indicates that users are generally not interested in the data, and this data is designated as the first data to be adjusted. If the total interaction score of the data to be displayed is greater than the second score threshold, it indicates that users are generally interested in the data, and this data is designated as the second data to be adjusted. User accounts can be selected from the user group of the first data to be adjusted and added to the user group of the second data to be adjusted, thereby expanding the user group of the second data to be adjusted and shrinking the user group of the first data to be adjusted.

[0114] The number of user accounts to be adjusted can be inversely proportional to the total interaction score of the first set of data to be displayed. The adjusted user accounts can be randomly selected from the user group of the first set of data to be adjusted, or they can be user accounts with lower interaction scores from the first set of data to be adjusted. This embodiment of the application does not specifically limit this. For example, an adjustment score threshold can be preset, and user accounts whose interaction scores for the first set of data to be adjusted are less than the adjustment score threshold during each display period, and who are still in the user group of the first set of data to be adjusted after a preset number of display periods, can be added to the user group of the second set of data to be adjusted. If the number of these user accounts does not reach the required number of user accounts to be adjusted, the remaining user accounts to be adjusted can be selected from other user accounts in the user group of the first set of data to be adjusted and added to the user group of the second set of data to be adjusted.

[0115] If there are multiple first-level data sets and multiple second-level data sets to be adjusted, the number of user accounts to be adjusted for each first-level data set can be determined based on its total interaction score. For example, the number of user accounts to be adjusted for each first-level data set can be inversely proportional to its total interaction score. Similarly, the number of user accounts to be added to each second-level data set's user group can be determined based on its total interaction score. For example, the number of user accounts to be adjusted for each second-level data set can be directly proportional to its total interaction score.

[0116] After adjusting the user groups, a new display period can be started based on the new user groups. After another preset number of display periods, the user groups can be re-divided. See also Figure 4 The image shows an example of adjusting the user group after multiple display cycles and restarting the display cycle based on the adjusted user group.

[0117] The data processing method provided in this application re-divides each user group based on the total interaction score of the data to be displayed for each user account after a preset number of display cycles. This is done by adding the user account corresponding to the data to be displayed with a lower total interaction score to the user account corresponding to the data to be displayed with a higher total interaction score. This allows for the push of data to be displayed with a higher total interaction score to more users, which may be of greater interest to them, thereby further improving the accuracy of the data to be displayed push.

[0118] In one embodiment, step 104, determining the target user account corresponding to the data to be displayed based on the interaction score of each user account, includes:

[0119] For any user account, if the corresponding interaction score of the user account is less than the score threshold, the user account will be used as the target user account for the data to be displayed.

[0120] In step 106, the user accounts to be replaced corresponding to each piece of first data to be displayed are determined from the target user accounts corresponding to each piece of first data to be displayed, including:

[0121] Obtain the number of target user accounts corresponding to each of the first sets of data to be displayed.

[0122] The lowest number of accounts among all accounts will be used as the replacement quantity.

[0123] From the target user accounts corresponding to each of the first data to be displayed, determine the number of user accounts to be replaced, and use them as the user accounts to be replaced for each of the first data to be displayed.

[0124] In this embodiment, whether the interaction score reaches a score threshold can be used as a condition to determine whether a user account is a target user account. The score threshold can be set by those skilled in the art according to actual needs. When the interaction score is less than the score threshold, the user account can be considered the target user account.

[0125] Since the number of target user accounts determined from each set of data to be displayed may differ, it is necessary to determine the replacement quantity as the final number of replacement user accounts to be exchanged. This can be achieved by obtaining the number of target user accounts corresponding to each set of first data to be displayed, and using the lowest number of accounts as the replacement quantity. Then, a replacement quantity of user accounts can be selected from the target user accounts corresponding to each set of first data to be displayed. The specific set of target user accounts selected as replacement user accounts can be determined based on the interaction score of each target user account; that is, target user accounts with lower interaction scores can be prioritized as replacement user accounts, or they can be randomly selected. This embodiment of the application does not specifically limit this selection.

[0126] The data processing method provided in this application uses user accounts with interaction scores less than a threshold as target user accounts. Based on the number of target user accounts for each piece of data to be displayed, a certain number of user accounts are swapped. Therefore, the total number of users in a user group remains constant within a display period. At the same time, for each user in the user group, the user is dynamically adjusted among user groups based on the interaction score between the user and the data to be displayed. This ensures that, based on a relatively even distribution of traffic among the data to be displayed, each piece of data is assigned to the user most suitable for that data, thus improving the accuracy of data push.

[0127] In one embodiment, before using the user account as the target user account for the data to be displayed when the user account's corresponding interaction score is less than a score threshold, the above method further includes:

[0128] Determine the score threshold corresponding to the current display period. The score threshold is negatively correlated with the number of periods corresponding to the display period.

[0129] In this embodiment, the number of cycles corresponding to the display cycle can be recorded. The number of cycles can be initially set to 1, and then incremented by 1 for each subsequent display cycle. The score threshold can be negatively correlated with the number of cycles, that is, as the display cycle progresses, the score threshold can gradually decrease, so that the number of user accounts to be replaced that need to be swapped gradually decreases, and the user accounts in the user group corresponding to each piece of data to be displayed tend to stabilize.

[0130] The data processing method provided in this application embodiment can record the number of cycles corresponding to the display cycle, and make the score threshold corresponding to the display cycle negatively correlated with the number of cycles. Therefore, it can quickly stabilize user accounts in each user group, speed up the process of allocating the data to be displayed to the most suitable user, and improve the efficiency of pushing the data to be displayed.

[0131] In one embodiment, such as Figure 5 As shown, in step 104, the user account to be replaced corresponding to each piece of first data to be displayed is determined from the target user accounts corresponding to each piece of first data to be displayed, including:

[0132] Step 502: Sort each target user account in order of interaction score from low to high to obtain the user account sequence.

[0133] Step 504: Starting from the first user account in the user account sequence, select a preset number of user accounts in sequence as the user accounts to be replaced corresponding to the first data to be displayed.

[0134] In this embodiment, the ranking of a target user account among all target user accounts based on its interaction score can be used as a criterion for determining whether a target user account can be used as a replacement user account. Target user accounts can be sorted from lowest to highest interaction score to obtain a user account sequence, and a preset number of target user accounts can be selected sequentially from this sequence as user accounts to be replaced. The preset number can be determined by those skilled in the art based on actual needs.

[0135] The preset quantity can also be negatively correlated with the number of cycles. That is, as the display cycle progresses, the preset quantity can gradually decrease, so that the number of user accounts to be replaced that need to be swapped gradually decreases, and the user accounts in the user group corresponding to each data to be displayed tend to stabilize.

[0136] The data processing method provided in this application sorts target user accounts according to their interaction scores and selects a preset number of target user accounts from the user account sequence as user accounts to be replaced. Therefore, it can keep the total number of users in the user group unchanged within a display period. At the same time, for each user in the user group, the user is dynamically adjusted among the user groups according to the interaction score between the user and the data to be displayed. This ensures that, on the basis of a relatively even distribution of traffic among the data to be displayed, each data to be displayed is assigned to the user most suitable for that data, thereby improving the accuracy of the data to be displayed push.

[0137] In one embodiment, such as Figure 6 As shown, in step 108, the user accounts to be replaced corresponding to each of the first data to be displayed are swapped, including:

[0138] Step 602: The user account to be replaced corresponding to each first data to be displayed is taken as the replaceable user account corresponding to each first data to be displayed, and the second data to be displayed is determined from each first data to be displayed. The second data to be displayed is any first data to be displayed, and the third data to be displayed is any first data to be displayed other than the second data to be displayed.

[0139] Step 604: For any user account to be replaced corresponding to the second data to be displayed, determine the first target replacement user account from the replaceable user accounts corresponding to each of the third data to be displayed, and determine the second target replacement user account from the first target replacement user account. The first target replacement user account does not belong to the user account to be replaced corresponding to the second data to be displayed, and the second target replacement user account belongs to the replaceable user account corresponding to the fourth data to be displayed.

[0140] Step 606: Swap the second target replacement user account and the user account to be replaced, and use the second target replacement user account as the replaceable user account corresponding to the second data to be displayed, and use the user account to be replaced as the replaceable user account corresponding to the fourth data to be displayed.

[0141] Step 608: Select the fifth data to be displayed from each of the third data to be displayed as the second data to be displayed, and jump to the step of determining the second target replacement user account from the replaceable user accounts corresponding to the second data to be displayed for any user account to be replaced. Continue until there is no fifth data to be displayed. Among them, there is at least one user account to be replaced corresponding to the fifth data to be displayed in the user group corresponding to the fifth data to be displayed.

[0142] In this embodiment, the user account to be replaced refers to a user account that needs to be swapped to another user group of data to be displayed. A replaceable user account refers to a user account that can be swapped with the user account to be replaced (i.e., including user accounts to be replaced that have not been swapped, and user accounts to be replaced that have been swapped). For any user account to be replaced in any data to be displayed, the first target replacement user account refers to any other replaceable user account besides those swapped out of the user group of the data to be displayed (for example, if the user accounts to be replaced for data A are A1 and A2, and A1 is swapped to the user group of data B, then when swapping A2, the first target replacement user account corresponding to A2 will not include A1). The second target replacement user account refers to any one of the first target replacement user accounts. The fourth data to be displayed is the user group currently occupied by the second target replacement user account; that is, the replaceable user accounts corresponding to the fourth data to be displayed include the second target replacement user account.

[0143] During the swap, each set of first-to-be-displayed data records the user accounts to be replaced and the user accounts available for replacement within its own user group. Initially, all user accounts to be replaced can be listed as available user accounts. After swapping user accounts to be replaced to other user groups of first-to-be-displayed data, the user accounts to be replaced are deleted from the list of user accounts to be replaced in the current set of first-to-be-displayed data, and added to the list of available user accounts in the first-to-be-displayed data to which they were swapped, until there are no more user accounts to be replaced in any of the user groups of first-to-be-displayed data.

[0144] The above process is illustrated below with a specific example. (Refer to...) Figure 7 As shown, assume there are three sets of first data to be displayed: A, B, and C. The user accounts to be replaced for A are A1 and A2; for B, B1 and B2; and for C, C1 and C2. The area outlined in the thick line represents the current user accounts to be replaced. The diagonally lined area represents the first set of data to be displayed (i.e., the second set of data) to which the user accounts to be replaced cannot be exchanged, and their corresponding replaceable user accounts. It also includes the replaceable user accounts in the third set of data that cannot be exchanged with the user accounts to be replaced (i.e., replaceable user accounts other than the first target user account).

[0145] When the swap begins, the user accounts to be replaced for each set of data to be displayed are first designated as the replaceable user accounts for that set of data. That is, in user group A, the user accounts to be replaced are A1 and A2, and the replaceable user accounts are A1 and A2; in user group B, the user accounts to be replaced are B1 and B2, and the replaceable user accounts are B1 and B2; in user group C, the user accounts to be replaced are C1 and C2, and the replaceable user accounts are C1 and C2.

[0146] Taking the swapping starting from the user account to be replaced corresponding to the first data to be displayed, A, as an example (that is, the second data to be displayed is A, and the third data to be displayed are B and C), for A1, the replaceable user accounts are the replaceable user accounts corresponding to B and C, namely B1, B2, C1, and C2. Among them, there are no user accounts swapped from user group A, that is, the first target replaceable user accounts are also B1, B2, C1, and C2. One user account can be randomly selected as the second target replaceable user account, for example, B1 (B1 is currently the replaceable user account corresponding to the data to be displayed, B, that is, the fourth data to be displayed is B). After B1 and A1 are swapped, B1 will be the replaceable user account corresponding to A, and A1 will be the replaceable user account corresponding to B. After this swap is completed, the user account to be replaced in user group A is A2, and the user accounts that can be replaced are B1 and A2; the user account to be replaced in user group B is B2, and the user accounts that can be replaced are A1 and B2; the user accounts to be replaced in user group C are C1 and C2, and the user accounts that can be replaced are C1 and C2.

[0147] For A2, the replaceable user accounts are also the replaceable user accounts corresponding to B and C, namely A1, B2, C1, and C2. Among them, there is user account A1 swapped from user group A, meaning the first target replaceable user accounts are B2, C1, and C2. One user account can be randomly selected as the second target replaceable user account, for example, B2 (B2 is currently the replaceable user account corresponding to the data to be displayed, B, meaning the fourth data to be displayed is B). After swapping A2 and B2, B2 becomes the replaceable user account corresponding to A, and A2 becomes the replaceable user account corresponding to B. After this swap, there are no corresponding replaceable user accounts in user group A, and the replaceable user accounts are B1 and B2; there are no corresponding replaceable user accounts in user group B, and the replaceable user accounts are A1 and A2; the replaceable user accounts in user group C are C1 and C2, and the replaceable user accounts are C1 and C2.

[0148] Since all user accounts to be replaced in user group A have been processed, data to be displayed from one user group (B or C) that still has user accounts to be replaced is selected and processed. Since there are no user accounts to be replaced in user group B, C is selected as the second data to be displayed (at this point, the third data to be displayed are A and B). When swapping C1, assuming B1 is selected as the second target replacement user account (B1 is currently the replaceable user account corresponding to data A, i.e., the fourth data to be displayed is A), after the swap, there are no corresponding user accounts to be replaced in user group A, and the replaceable user accounts are C1 and B2; there are no corresponding user accounts to be replaced in user group B, and the replaceable user accounts are A1 and A2; the user account to be replaced in user group C is C2, and the replaceable user accounts are B1 and C2.

[0149] Similarly, C2 can be swapped again, for example, by swapping C2 with A1. After the swap, there is no corresponding user account to be replaced in user group A, so the replaceable user accounts are C1 and B2; there is no corresponding user account to be replaced in user group B, so the replaceable user accounts are C2 and A2; there is no corresponding user account to be replaced in user group C, so the replaceable user accounts are B1 and A1. After this swap, since all user accounts to be replaced in user group C have been processed, one piece of data to be displayed is selected from A and B to continue processing. However, since there is no user account to be replaced in user groups A and B, a fifth piece of data to be displayed cannot be selected, and the loop ends.

[0150] The data processing method provided in this application embodiment can maintain the total number of users in a user group unchanged within a display cycle by exchanging the user accounts to be replaced in each of the first data to be displayed. At the same time, for each user in the user group, the user is dynamically adjusted among the user groups according to the interaction score between the user and the data to be displayed. This ensures that, on the basis of a relatively even distribution of traffic among the data to be displayed, each data to be displayed is assigned to the user most suitable for that data, thereby improving the accuracy of the data to be displayed push.

[0151] In one embodiment, such as Figure 8 As shown, in step 604, determining the first target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, and determining the second target replacement user account from the first target replacement user account, includes:

[0152] Step 802: Determine the sixth data to be displayed from the third data to be displayed. The sixth data to be displayed is the third data to be displayed that does not belong to the target user account in the historical data to be displayed. The historical data to be displayed is the data to be displayed corresponding to the target user account in multiple historical display periods.

[0153] Step 804: Determine the first target replacement user account from the replaceable user accounts corresponding to the sixth data to be displayed.

[0154] Step 806: For any first target replacement user account, if the first data to be displayed does not belong to the historical data to be displayed of the first target replacement user account, the first target replacement user account is used as the third target replacement user account.

[0155] Step 808: Determine the second target replacement user account from the third target replacement user account.

[0156] In this embodiment of the application, the historical data to be displayed includes the data to be displayed corresponding to the user account in each historical display period. For example, if a user account corresponds to data to be displayed A in the first display period and is swapped to data to be displayed B in the second display period, then the historical data to be displayed corresponding to the user account after the end of the second display period are data to be displayed A and data to be displayed B.

[0157] To avoid situations where a user account is swapped to a user group of data that it previously corresponded to in a previous display period after the current display period ends, when swapping target user accounts, we can first identify the data to be displayed that the target user account has not been swapped to before, i.e., the sixth data to be displayed. After identifying the first target replacement user account from the replaceable user accounts of the sixth data to be displayed, we then identify the first target replacement user account that has not been swapped to the user group of the first data to be displayed (i.e., the third target replacement user account), and then select the second target replacement user account from the third target replacement user account.

[0158] If there is no third target replacement user account, that is, if a user account must be swapped back to the user group of the data to be displayed that it previously corresponded to, a second target replacement user account can be randomly selected from the first target replacement user accounts, or the candidate user account with the highest interaction score for the first data to be displayed among the first target replacement user accounts can be used as the second target replacement user account. This application embodiment does not make specific limitations in this regard.

[0159] Similarly, if there is no sixth set of data to be displayed, that is, if the user account to be replaced must be swapped back to the user group of the data to be displayed that it previously corresponds to, then the process of selecting the second target replacement user account from the sixth set of data to be displayed can be referred to above, and the second target replacement user account can be selected from the replaceable user accounts corresponding to the third set of data to be displayed.

[0160] The above process is illustrated below with a specific example. (Refer to...) Figure 9As shown in the example above, the three data sets A, B, and C to be displayed correspond to the user accounts A1, A2, B1, B2, C1, and C2 to be replaced, respectively. It is assumed that B1 was previously swapped to data set A, and C1 was previously swapped to data sets A and B. That is, the historical display data corresponding to each target user account are as follows: A1 (none), A2 (none), B1 (A), B2 (none), C1 (A, B), C2 (none). Figure 9 The area outlined by the medium-thick line represents the current user account to be replaced. The area with the diagonal line represents the first data to be displayed (i.e., the first data to be displayed, and the third data to be displayed excluding the sixth data to be displayed) and its corresponding replaceable user account, as well as the replaceable user account in the third data to be displayed that cannot be exchanged with the user account to be replaced (i.e., replaceable user account excluding the third target replaceable user account).

[0161] Let's take the swapping process starting with the user account to be replaced corresponding to the first data to be displayed, A. For the target user account A1, the third data to be displayed corresponding to A1 are B and C, and the sixth data to be displayed are also B and C. Since the first data to be displayed corresponding to A1, A, belongs to the historical data to be displayed for B1 and C1, the third target replacement user account corresponding to A1 only includes B2 and C2. Assuming A1 and B2 are swapped, after the swap, A's user group includes B2 and A2; B's user group includes B1 and A1; and C's user group includes C1 and C2.

[0162] For A2, the sixth set of data to be displayed is also B and C, and the first target replacement user accounts are B1, C1, and C2. Since the first set of data to be displayed for A2, A, belongs to the historical data to be displayed for B1 and C1, the third target replacement user accounts for A2 only include C2. After swapping A2 and C2, the user group of A includes B2 and C2; the user group of B includes B1 and A1; and the user group of C includes C1 and A2.

[0163] Continue the swapping process for the user accounts to be replaced for B. Currently, only B1 remains as the user account to be replaced for the data B to be displayed. The third data to be displayed for B1 are A and C. Since A belongs to the historical data to be displayed for B1, C becomes the sixth data to be displayed for B1. The first target replacement user accounts for B1 include C1 and A2. Since B belongs to the historical data to be displayed for C1, the third target replacement user account is A2. Swap B1 and A2. After the swap, A's user group includes B2 and C2; B's user group includes A2 and A1; and C's user group includes C1 and B1.

[0164] The user account to be replaced for C continues to be swapped. Currently, only C1 remains as the target user account corresponding to the data to be displayed for C. The third set of data to be displayed for C1 are A and B. Since A and B are historical data to be displayed for C1, and C1 has no corresponding sixth set of data to be displayed, the third target user account to be replaced is selected from the third set of data to be displayed. The first target user accounts to be replaced for C1 are B2, A2, and A1. Assuming C1 and A2 are swapped, after the swap, A's user group includes B2 and C2; B's user group includes C1 and A1; and C's user group includes A2 and B1.

[0165] The data processing method provided in this application embodiment determines candidate user accounts from the fifth set of historical data to be displayed that does not belong to the target user account, and determines a first candidate user account from the candidate user accounts that has not been swapped to the first set of user groups for the data to be displayed. Then, it determines a replacement user account from the first candidate user account and swaps the replacement user account with the target user account. Therefore, it can ensure that each user account is not replaced to a user group that it has belonged to in a previous display period. That is, in each display period, the data to be displayed pushed to each user account is the data that has not been pushed to that user account in a previous display period, which can avoid the repeated push of data to be displayed and improve the accuracy of the data to be displayed push.

[0166] In one embodiment, such as Figure 10 As shown, in step 104, based on the interaction data between each user account in the user group and the data to be displayed, the interaction score of each user account for the data to be displayed is determined, including:

[0167] Step 1002: For any user account in the user group, obtain the interaction operation data between the user account and the data to be displayed. The interaction operation data includes the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation.

[0168] Step 1004: Determine the user account's interaction score for the data to be displayed based on the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation.

[0169] In this embodiment, the interaction score can be determined based on historical interaction operations and their duration. Interaction operations can include viewing a page containing data to be displayed, clicking on interactive areas on the page, etc. If the data to be displayed is an activity, it can also include participating in the activity; if the data to be displayed is a product, it can also include purchasing the product, adding the product to favorites, etc. A preset score can be assigned to each interaction operation, and this preset score can be proportional to the importance of the interaction operation. For example, adding a product to favorites can have a higher preset score, while viewing a page containing data to be displayed can have a lower preset score. For certain interaction operations that clearly indicate the user has no intention of viewing the data to be displayed (e.g., the user immediately closes the page after opening it), the preset score can also be negative.

[0170] It can record the duration of each user's historical interaction. For example, it can start timing when the user clicks to enter the page displaying data and stop timing when the user closes the page, recording the total interaction time as the interaction duration. Generally, the longer the interaction duration, the more interested the user is in the displayed data; therefore, the interaction score should be proportional to the interaction duration.

[0171] The interaction score for a user account can be determined based on all historical interactions performed by the user account on the data to be displayed within the display period, as well as the interaction duration of each historical interaction. For example, the interaction score of a historical interaction can be determined based on a preset score and the interaction duration of that historical interaction. Then, the interaction scores of all historical interactions can be weighted and summed according to their respective weights to obtain the interaction score for the user account. It should be noted that the interaction score for a user account can also be determined in other ways, and this application embodiment does not specifically limit this method.

[0172] The data processing method provided in this application can determine the user account's interaction score for the data to be displayed based on historical interaction operations and the corresponding historical interaction durations. Since historical interaction operations and historical interaction durations can better reflect whether the user is interested in the data to be displayed, determining the interaction score through historical interaction operations and historical interaction durations can improve the accuracy of the interaction score determination.

[0173] To enable those skilled in the art to better understand the embodiments of this application, the embodiments of this application are described below through specific examples.

[0174] Taking the application of this application's embodiments in the banking and financial field as an example, the data to be displayed in the banking and financial field typically includes business, products, activities, etc., and this data comes from multiple different sources. For example, data to be displayed may be selected by experts based on experience, the optimal data to be displayed may be calculated by each business department based on its business data, and data to be displayed may be obtained through other channels. During the same time period, for any target display area, there may be multiple data to be displayed that need to be displayed in the target display area (for example, for a target display area for a user, if it is pre-set that the weather of the day needs to be displayed in the target display area every morning, and at the same time, the business department determines that it needs to recommend activities to the user in the target display area based on the user's historical data, and in addition, experts determine that it needs to push business reminders to the user in the target display area, then the target display area will simultaneously correspond to the above three data to be displayed).

[0175] After collecting all the data to be displayed and determining which data needs to be displayed at the same time and in the same target display area, the data to be displayed can be displayed using the data processing method provided in the foregoing embodiments. In addition to the interaction score calculation method provided in the foregoing embodiments, those skilled in the art can also calculate the interaction score based on other evaluation criteria (for example, the time period corresponding to the data to be displayed, the location of the target display area, etc. can also be considered. If the data to be displayed corresponds to a better time period and a better location, but the user account's interaction operation data with the data to be displayed indicates that the user account is not interested in the data to be displayed, then compared with other data to be displayed corresponding to a worse time period and a worse location, the interaction score can be lower when calculating the interaction score).

[0176] After the user groups for the data to be displayed have undergone a preset number of adjustments (the adjustments to the user groups can be made according to the steps in the aforementioned embodiments, and those skilled in the art can also intervene at any time to make proactive adjustments), it can be determined whether the data to be displayed needs to be discarded based on the size of the remaining user groups. For example, if the number of user accounts in the remaining user groups of the data to be displayed is less than a preset value, the data to be displayed can no longer be displayed in the target display area, and new data to be displayed can be introduced to participate in the above data display process.

[0177] The data processing method provided in this application, by assigning user groups to each piece of data to be displayed and dynamically adjusting the user groups of each piece of data to be displayed, can construct a relatively complete data allocation and display system and improve the push accuracy of the data to be displayed.

[0178] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0179] Based on the same inventive concept, this application also provides a data processing apparatus for implementing the data processing method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more data processing apparatus embodiments provided below can be found in the limitations of the data processing method described above, and will not be repeated here.

[0180] In one embodiment, such as Figure 11 As shown, a data processing device 1100 is provided, including: a partitioning module 1102, a pushing module 1104, a first determining module 1106, and an exchanging module 1108, wherein:

[0181] The segmentation module 1102 is used to determine the data to be displayed corresponding to the target display area, and to divide each of the data to be displayed into a corresponding user group, wherein the number of user accounts in each user group corresponding to the data to be displayed is the same.

[0182] The push module 1104 is used to push the data to be displayed to each user account in the user group corresponding to the data to be displayed within the display period, and after the display period ends, determine the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed, and determine the target user account corresponding to the data to be displayed based on the interaction score of each user account.

[0183] The first determining module 1106 is used to determine first data to be displayed from the data to be displayed, and to determine the user account to be replaced corresponding to each first data to be displayed from the target user accounts corresponding to each first data to be displayed, wherein the number of target user accounts corresponding to the first data to be displayed is greater than the number of accounts threshold.

[0184] The swapping module 1108 is used to swap the user accounts to be replaced corresponding to each of the first data to be displayed, and then start the next display cycle until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold.

[0185] The data processing apparatus provided in this application allocates the same number of users to each piece of data to be displayed as user groups, and displays the corresponding data to be displayed within each user group. Within a display cycle, the total number of users in each user group remains constant. Simultaneously, for each user in a user group, the user's interaction score with the data to be displayed is dynamically adjusted among user groups. This ensures that, while the traffic distribution for each piece of data to be displayed is relatively even and fair, each piece of data is assigned to the user with the highest compatibility with that data, thus improving the accuracy of the data to be displayed push.

[0186] In one embodiment, the above-described apparatus further includes:

[0187] The second determining module is used to determine the total interaction score of each data to be displayed based on the interaction score of each user account for each data to be displayed within each display period after a preset number of display periods.

[0188] The third determining module is used to determine, from the data to be displayed, a first data to be adjusted whose total interaction score is less than a first score threshold, and a second data to be adjusted whose total interaction score is greater than a second score threshold, wherein the first score threshold is less than the second score threshold.

[0189] The addition module is used to select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

[0190] In one embodiment, the push module 1104 is further configured to:

[0191] For any of the aforementioned user accounts, if the corresponding interaction score of the user account is less than the score threshold, the user account will be used as the target user account corresponding to the data to be displayed.

[0192] The first determining module 1106 is further configured to:

[0193] Obtain the number of accounts corresponding to the target user accounts for each of the first data to be displayed;

[0194] The lowest number of accounts among all the stated account counts will be used as the replacement count;

[0195] From the target user accounts corresponding to each of the first data to be displayed, determine the number of user accounts to be replaced, and use them as the user accounts to be replaced for each of the first data to be displayed.

[0196] In one embodiment, the above-described apparatus further includes:

[0197] The third determining module is used to determine the score threshold corresponding to the current display cycle, and the score threshold is negatively correlated with the number of cycles corresponding to the display cycle.

[0198] In one embodiment, the first determining module 1106 is further configured to:

[0199] The target user accounts are sorted from lowest to highest according to their interaction scores to obtain a user account sequence;

[0200] Starting with the first target user account in the user account sequence, a preset number of target user accounts are selected sequentially as the user accounts to be replaced corresponding to the first data to be displayed.

[0201] In one embodiment, the interchange module 1108 is further configured to:

[0202] The user account to be replaced corresponding to each of the first data to be displayed is taken as the replaceable user account corresponding to each of the first data to be displayed, and a second data to be displayed is determined from each of the first data to be displayed, wherein the second data to be displayed is any of the first data to be displayed, and the third data to be displayed is any of the first data to be displayed except the second data to be displayed;

[0203] For any of the user accounts to be replaced corresponding to the second data to be displayed, a first target replacement user account is determined from the replaceable user accounts corresponding to each of the third data to be displayed, and a second target replacement user account is determined from the first target replacement user account, wherein the first target replacement user account does not belong to the user accounts to be replaced corresponding to the second data to be displayed, and the second target replacement user account belongs to the replaceable user accounts corresponding to the fourth data to be displayed.

[0204] The second target replacement user account and the user account to be replaced are swapped, and the second target replacement user account is used as the replaceable user account corresponding to the second data to be displayed, and the user account to be replaced is used as the replaceable user account corresponding to the fourth data to be displayed.

[0205] From each of the third data to be displayed, a fifth data to be displayed is selected as the second data to be displayed, and the process jumps to any of the user accounts to be replaced corresponding to the second data to be displayed, and determines the second target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, until there is no fifth data to be displayed, wherein at least one user account to be replaced corresponding to the fifth data to be displayed exists in the user group corresponding to the fifth data to be displayed.

[0206] In one embodiment, the interchange module 1108 is further configured to:

[0207] The sixth data to be displayed corresponding to the user account to be replaced is determined from the third data to be displayed. The sixth data to be displayed does not belong to the historical data to be displayed of the user account to be replaced. The historical data to be displayed is the data to be displayed corresponding to the target user account in multiple historical display periods.

[0208] From the replaceable user accounts corresponding to the sixth data to be displayed, determine the first target replacement user account;

[0209] For any of the first target replacement user accounts, if the first data to be displayed does not belong to the historical data to be displayed of the first target replacement user account, the first target replacement user account will be used as the third target replacement user account.

[0210] The second target replacement user account is determined from the third target replacement user account.

[0211] In one embodiment, the push module 1104 is further configured to:

[0212] For any user account in the user group, obtain the interaction operation data between the user account and the data to be displayed. The interaction operation data includes the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation.

[0213] The interaction score of the user account for the data to be displayed is determined based on the user account's historical interaction operations with respect to the data to be displayed and the interaction duration of each historical interaction operation.

[0214] Each module in the aforementioned data processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0215] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 12 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a data processing method.

[0216] Those skilled in the art will understand that Figure 12 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0217] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0218] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0219] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0220] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0221] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0222] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0223] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A data processing method, characterized in that, The method includes: Determine the data to be displayed corresponding to the target display area, and divide each of the data to be displayed into a corresponding user group, wherein the number of user accounts in each user group corresponding to the data to be displayed is the same; For any of the data to be displayed, during the display period, the data to be displayed is pushed to each user account in the user group corresponding to the data to be displayed. After the display period ends, based on the interaction operation data between each user account in the user group and the data to be displayed, the interaction score of each user account for the data to be displayed is determined. Based on the interaction score of each user account, the target user account corresponding to the data to be displayed is determined. First data to be displayed is determined from the data to be displayed, and a user account to be replaced is determined from the target user accounts corresponding to each first data to be displayed, wherein the number of target user accounts corresponding to the first data to be displayed is greater than the account number threshold. After swapping the user accounts to be replaced corresponding to each of the first data to be displayed, the next display cycle is started until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold. The method further includes: After a preset number of display cycles, the total interaction score of each data to be displayed is determined based on the interaction score of each user account for each data to be displayed within each display cycle. From the data to be displayed, a first data to be adjusted whose total interaction score is less than a first score threshold is determined, and a second data to be adjusted whose total interaction score is greater than a second score threshold is determined, wherein the first score threshold is less than the second score threshold; Select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

2. The method according to claim 1, characterized in that, The step of determining the target user account corresponding to the data to be displayed based on the interaction score corresponding to each user account includes: For any of the aforementioned user accounts, if the corresponding interaction score of the user account is less than the score threshold, the user account will be used as the target user account corresponding to the data to be displayed. The step of determining the user account to be replaced corresponding to each of the first data to be displayed from the target user accounts corresponding to each of the first data to be displayed includes: Obtain the number of accounts corresponding to the target user accounts for each of the first data to be displayed; The lowest number of accounts among all the stated account counts will be used as the replacement count; From the target user accounts corresponding to each of the first data to be displayed, determine the number of user accounts to be replaced, and use them as the user accounts to be replaced for each of the first data to be displayed.

3. The method according to claim 2, characterized in that, Before designating the user account as the target user account for the data to be displayed when the interaction score corresponding to the user account is less than the score threshold, the method further includes: Determine the score threshold corresponding to the current display cycle, wherein the score threshold is negatively correlated with the number of cycles corresponding to the display cycle.

4. The method according to claim 1, characterized in that, The step of determining the user account to be replaced corresponding to each of the first data to be displayed from the target user accounts corresponding to each of the first data to be displayed includes: The target user accounts are sorted from lowest to highest according to their interaction scores to obtain a user account sequence; Starting with the first target user account in the user account sequence, a preset number of target user accounts are selected sequentially as the user accounts to be replaced corresponding to the first data to be displayed.

5. The method according to claim 1, characterized in that, The process of swapping the user accounts to be replaced corresponding to each of the first data to be displayed includes: The user account to be replaced corresponding to each of the first data to be displayed is taken as the replaceable user account corresponding to each of the first data to be displayed, and a second data to be displayed is determined from each of the first data to be displayed, wherein the second data to be displayed is any of the first data to be displayed; For any of the user accounts to be replaced corresponding to the second data to be displayed, a first target replacement user account is determined from the replaceable user accounts corresponding to each of the third data to be displayed, and a second target replacement user account is determined from the first target replacement user account. The third data to be displayed is any of the first data to be displayed other than the second data to be displayed. The first target replacement user account does not belong to the user accounts to be replaced corresponding to the second data to be displayed, and the second target replacement user account belongs to the replaceable user account corresponding to the fourth data to be displayed. The second target replacement user account and the user account to be replaced are swapped, and the second target replacement user account is used as the replaceable user account corresponding to the second data to be displayed, and the user account to be replaced is used as the replaceable user account corresponding to the fourth data to be displayed. From each of the third data to be displayed, a fifth data to be displayed is selected as the second data to be displayed, and the process jumps to any of the user accounts to be replaced corresponding to the second data to be displayed, and determines the second target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, until there is no fifth data to be displayed, wherein at least one user account to be replaced corresponding to the fifth data to be displayed exists in the user group corresponding to the fifth data to be displayed.

6. The method according to claim 5, characterized in that, The step of determining a first target replacement user account from the replaceable user accounts corresponding to the third data to be displayed, and determining a second target replacement user account from the first target replacement user account, includes: The sixth data to be displayed corresponding to the user account to be replaced is determined from the third data to be displayed. The sixth data to be displayed does not belong to the historical data to be displayed of the user account to be replaced. The historical data to be displayed is the data to be displayed corresponding to the target user account in multiple historical display periods. From the replaceable user accounts corresponding to the sixth data to be displayed, determine the first target replacement user account; For any of the first target replacement user accounts, if the first data to be displayed does not belong to the historical data to be displayed of the first target replacement user account, the first target replacement user account will be used as the third target replacement user account. The second target replacement user account is determined from the third target replacement user account.

7. The method according to claim 1, characterized in that, The step of determining the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed includes: For any user account in the user group, obtain the interaction operation data between the user account and the data to be displayed. The interaction operation data includes the user account's historical interaction operations with the data to be displayed and the interaction duration of each historical interaction operation. The interaction score of the user account for the data to be displayed is determined based on the user account's historical interaction operations with respect to the data to be displayed and the interaction duration of each historical interaction operation.

8. A data processing apparatus, characterized in that, The device includes: The segmentation module is used to determine the data to be displayed corresponding to the target display area, and to divide each of the data to be displayed into a corresponding user group, wherein the number of user accounts in each user group corresponding to the data to be displayed is the same. The push module is used to push the data to be displayed to each user account in the user group corresponding to the data to be displayed within the display period, and after the display period ends, determine the interaction score of each user account for the data to be displayed based on the interaction operation data between each user account in the user group and the data to be displayed, and determine the target user account corresponding to the data to be displayed based on the interaction score of each user account. The first determining module is used to determine first data to be displayed from the data to be displayed, and to determine the user account to be replaced corresponding to each first data to be displayed from the target user accounts corresponding to each first data to be displayed, wherein the number of target user accounts corresponding to the first data to be displayed is greater than the number of accounts threshold. The swapping module is used to swap the user accounts to be replaced corresponding to each of the first data to be displayed, and then start the next display cycle until the number of display cycles reaches the number threshold or the number of the first data to be displayed is less than or equal to the number threshold. The second determining module is used to determine the total interaction score of each data to be displayed based on the interaction score of each user account for each data to be displayed within each display period after a preset number of display periods. The third determining module is used to determine, from the data to be displayed, a first data to be adjusted whose total interaction score is less than a first score threshold, and a second data to be adjusted whose total interaction score is greater than a second score threshold, wherein the first score threshold is less than the second score threshold. The addition module is used to select the user account to be adjusted from the user group corresponding to the first data to be adjusted, and add the user account to the user group corresponding to the second data to be adjusted.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.