A list management system, method, device, apparatus, storage medium and product

By synchronizing user data and friend lists in the database service, friend rankings are generated in advance, solving the problem of low ranking update efficiency and achieving more efficient ranking management and faster ranking retrieval.

CN115757441BActive Publication Date: 2026-04-24BIGO TECH PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BIGO TECH PTE LTD
Filing Date
2022-09-27
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In existing technologies, updating ranking data requires a lot of resources and time, resulting in low update efficiency.

Method used

The activity service synchronizes user data and platform rankings of active users to the database service. The list service loads and synchronizes the friend lists of active users. The ranking service generates and saves the friend rankings. Using the user data, friend lists and platform rankings recorded in the database service, the friend rankings are preloaded and generated in advance.

Benefits of technology

It effectively reduces the resources and time required for updating ranking data, improves the efficiency of ranking management, allows users to obtain their friends' rankings more quickly, and reduces the consumption of computing resources and response time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115757441B_ABST
    Figure CN115757441B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a kind of list management system, method, device, equipment, storage medium and product.The technical scheme provided by the embodiment of the present application is that the user data of activity user and platform list are synchronized to database service by activity service, and list service loads the friend list of each activity user and is synchronized to database service, and list service can generate the friend list of each activity user according to the user data, friend list and platform list of each activity user recorded in database service, and save to database service, update list data in time, by preloading the friend list of activity user and generating friend list in advance, user can more quickly obtain corresponding friend list, and it is not necessary to generate friend list and friend list again when requesting friend list, effectively reduce the resources and time consumed by the update of list data, and the management of list is more efficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a ranking management system, method, apparatus, device, storage medium, and product. Background Technology

[0002] With the rapid development of mobile communication technology, in order to improve user stickiness and stimulate users' enthusiasm for participating in activities and consumption, social rankings in various scenarios (such as friend rankings, platform rankings, etc.) have become increasingly important social attributes.

[0003] For example, a user can initiate a query request for a friend leaderboard. Upon receiving this request, the system can retrieve the user's and their friends' activity scores for the corresponding activity, generate the user's friend leaderboard, and return the leaderboard to the user. However, as the number of users increases, the resources and time required to update the leaderboard data also gradually increase, leading to increasingly lower update efficiency. Summary of the Invention

[0004] This application provides a ranking management system, method, apparatus, device, storage medium, and product to solve the technical problem that updating ranking data in the prior art requires a lot of resources and time, resulting in increasingly low ranking update efficiency. It can reduce the resources and time required to update ranking data and update ranking data in a timely manner.

[0005] In a first aspect, embodiments of this application provide a ranking management system, including an activity service, a list service, a ranking service, and a database service, wherein:

[0006] The activity service is configured to synchronize user data of active users to the database service and synchronize platform rankings to the database service, wherein the platform rankings are generated based on the activity scores of each user.

[0007] The list service is configured to load the friend list of the active user and synchronize the friend list of the active user to the database service, wherein the friend list and the user data satisfy a preset correspondence.

[0008] The ranking service is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and then send the friend ranking list to the database service for storage.

[0009] In a second aspect, embodiments of this application provide a ranking management system method, applied to a ranking management system, the ranking management system including activity services, list services, ranking services, and database services, the ranking management method including:

[0010] Through the activity service, the user data of the active users are synchronized to the database service, and the platform rankings are synchronized to the database service. The platform rankings are generated based on the activity scores of each user.

[0011] The friend list of the active user is loaded through the list service, and the friend list of the active user is synchronized to the database service. The friend list and the user data satisfy a preset correspondence.

[0012] The ranking service generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and sends the friend ranking list to the database service for storage.

[0013] In a third aspect, embodiments of this application provide a ranking management device applied to a ranking management system. The ranking management system includes an activity service, a list service, a ranking service, and a database service. The ranking management device includes a user synchronization module, a list synchronization module, and a ranking update module, wherein:

[0014] The user synchronization module is configured to synchronize the user data of active users to the database service through the activity service, and to synchronize the platform ranking list to the database service, wherein the platform ranking list is generated based on the activity scores of each user;

[0015] The list synchronization module is configured to load the friend list of the active user through the list service and synchronize the friend list of the active user to the database service, wherein the friend list and the user data satisfy a preset correspondence.

[0016] The ranking update module is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and then send the friend ranking list to the database service for storage.

[0017] In a fourth aspect, embodiments of this application provide a ranking management device, including: a memory and one or more processors;

[0018] The memory is used to store one or more programs;

[0019] When the one or more programs are executed by the one or more processors, the one or more processors implement the leaderboard management system as described in the first aspect.

[0020] In a fifth aspect, embodiments of this application provide a storage medium for storing computer-executable instructions, which, when executed by a computer processor, are used to execute the ranking management system as described in the second aspect.

[0021] In a sixth aspect, embodiments of this application provide a computer program product comprising a computer program stored in a computer-readable storage medium, wherein at least one processor of the device reads from the computer-readable storage medium and executes the computer program, causing the device to perform the ranking management system as described in the second aspect.

[0022] This application embodiment synchronizes user data of active users and platform rankings to a database service through an activity service. The list service loads the friend lists of each active user and synchronizes them to the database service. The ranking service generates friend rankings for each active user based on the user data, friend lists, and platform rankings recorded in the database service and saves them to the database service, updating the ranking data in a timely manner. By pre-loading the friend lists of active users and generating friend rankings in advance, users can obtain the corresponding friend rankings more quickly, without needing to generate friend lists and rankings again when requesting them. This effectively reduces the resources and time required for updating ranking data, making ranking management more efficient. Attached Figure Description

[0023] Figure 1 This is a schematic diagram of the system framework of a ranking management system provided in an embodiment of this application;

[0024] Figure 2 This is a flowchart of a ranking management method provided in an embodiment of this application;

[0025] Figure 3 This is a schematic diagram of the structure of a ranking management device provided in an embodiment of this application;

[0026] Figure 4 This is a schematic diagram of the structure of a ranking management device provided in an embodiment of this application. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of this application clearer, specific embodiments of this application will be described in further detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely for explaining this application and not for limiting it. It should also be noted that, for ease of description, only the parts relevant to this application are shown in the drawings, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but additional steps not included in the drawings may also be present. The above processes can correspond to methods, functions, procedures, subroutines, subroutines, etc.

[0028] Figure 1 A schematic diagram of the system framework of a ranking management system provided in an embodiment of this application is given, such as... Figure 1 The ranking management system includes activity services, list services, ranking services, and database services.

[0029] This solution provides an activity service configuration that synchronizes user data of active users to the database service, and also synchronizes the platform rankings to the database service. The platform rankings are generated based on each user's activity score. Active users can be understood as those users who, for the corresponding activity, may need to request a query from their friend's ranking list. For example, users who enter the activity page or participate in activities on the activity page can be considered active users.

[0030] It needs to be explained that active users are those who may request to check the friend rankings within a certain period of time. Users who have participated in the activity before are not considered active users. That is, those considered active users can be users who participate in the activity for the first time in the most recent time window, or users who have participated in the activity before and participated in the activity in the most recent time window. Users who have participated in the activity before but have not participated in the activity in the most recent time window are not considered active users.

[0031] In one embodiment, the user data of an active user can be the user identifier (uid) corresponding to the active user. The activity service synchronizes the user data of the active user to the database service, which can be done by caching the user identifier corresponding to the active user in the database corresponding to the database service.

[0032] The activity service can maintain one or more activities, and different activities can be configured with different activity point rules and ranking rules. Different users can access the activity service and consume activities provided by the service. The activity service will calculate each user's activity score in the corresponding activity based on the user's consumption behavior, activity point rules, and ranking rules, and generate a platform ranking list based on the activity score. The platform ranking list records the ranking of users in the corresponding activity within a defined range, as well as the user identifier of each user. The defined range can be divided according to a geographical area. For example, the platform ranking list can be a regional ranking list or a global ranking list. This solution describes the global ranking list as an example. The global ranking list records the ranking of all users who have participated in the corresponding activity.

[0033] For example, when an active user is detected, the activity service synchronizes the user identifier corresponding to the active user with the database service, updates the platform rankings according to the set ranking update cycle, and synchronizes the platform rankings with the database service.

[0034] The list service provided in this solution is configured to load the friend list of active users and synchronize the friend list of active users to the database service. The friend list and user data meet the preset correspondence.

[0035] This solution provides a list service for managing a user's friend list. The user's friend list and user data follow a predefined correspondence; for example, a user's data can be represented by a user identifier, and correspondingly, the user's friend list is also identified by that user identifier. The user's corresponding friend list can be retrieved from the database service based on their user identifier.

[0036] For example, when the activity service detects an active user and synchronizes it to the database service, it asynchronously triggers the list service to load the active user's friend list. After receiving the user identifier corresponding to the active user from the activity service, the list service loads the active user's friend list based on that identifier and sends the friend list to the database service for caching. The friend list records the user identifiers of each of the active user's friends, as well as the whitelist status of each friend. The whitelist status indicates whether the corresponding friend is registered in the active user's friend whitelist, and the friends who participate in the friend ranking can be set through the friend whitelist.

[0037] The ranking service provided in this solution is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and then send the friend ranking list to the database service for storage.

[0038] For example, the ranking service retrieves user data corresponding to active users from the database service according to a set time window period, obtains the friend list of active users based on the user data, retrieves the latest saved platform ranking, and determines the activity score of active users and their friends in the platform ranking based on the user identifiers of active users and each friend in the friend list. Based on the sorting of activity scores, it generates a friend ranking for each active user, sends the friend ranking to the database service for storage, and generates corresponding friend ranking snapshot data.

[0039] The database service provided by this solution records user data of active users, their friend lists, platform rankings, and the friend rankings for each active user. When an active user needs to view their friend rankings, the activity service can directly retrieve the active user's friend rankings from the database service and return them to the active user, eliminating the need to re-query the activity scores of the active user and their friends to generate the friend rankings. This reduces the data processing burden on the ranking management system and improves the management efficiency of the friend rankings.

[0040] In one possible embodiment, the database service provided by this solution can be built on a Codis database or a message queue (such as Kafka and RocketMQ), where the message queue is typically set up with 6 queues per partition. Since the activity service is limited by the number of partitions, only one activity service can consume and process a partition. The number of activity services pushed to users can only match the number of partitions. Furthermore, partitions are relatively difficult to scale, and push times increase with larger data volumes. Using Codis to store user data can improve the scalability of the ranking management system.

[0041] As described above, the activity service synchronizes user data and platform rankings of active users to the database service, and the list service loads the friend lists of each active user and synchronizes them to the database service. The ranking service can generate friend rankings for each active user based on the user data, friend lists, and platform rankings recorded in the database service, and save them to the database service, updating the ranking data in a timely manner. By preloading the friend lists of active users and generating friend rankings in advance, users can obtain the corresponding friend rankings more quickly, without having to generate friend lists and rankings when requesting them, effectively reducing the resources and time required for updating ranking data, and making ranking management more efficient.

[0042] In one possible embodiment, the activity service provided by this solution is configured as follows when synchronizing user data of active users to the database service: the activity service sends the user data of active users to the database service to record the user data in the current time window of the database service; the activity service obtains the user data of each active user from the time window before the current time window of the database service, and performs sharding processing on the user data of the active users to obtain multiple data shards; the activity service sends the data shards to the database service to record the data shards in the shard slots of the database service.

[0043] The database service provided by this solution records user data provided by the activity service through time windows (Active-User-Time-Window, based on a set structure). Multiple time windows can be set for recording user data, with each window recording user data received within its corresponding time range. When the database service receives user data from the activity service, it saves the user data in the current time window. It's understandable that since the user data in the current time window is not fully recorded, when generating a friend ranking list, it can be based on user data from time windows preceding the current time window (e.g., the previous time window) to ensure a complete friend ranking list. It's important to explain that since the current time window is still collecting user data from active users, directly using the current time window's user data for ranking calculations can easily lead to incomplete data and errors in the ranking list. This solution uses user data from time windows preceding the current time window for ranking calculations, effectively ensuring the accuracy of the ranking list. The granularity of the time window can be dynamically set based on the query rate per second (QPS) of the activity, and the higher the QPS, the smaller the granularity of the time window. It's understandable that a fixed time window requires calculating more user data, leading to a longer delay in updating the friend rankings. Appropriately reducing the size of the time window can alleviate the data processing pressure on the ranking management system and ensure timely updates to the friend rankings.

[0044] The activity service uses a pre-defined scheduled script to retrieve user data for each active user from the database service within the time window preceding the current time window (this solution uses the time window before the current time window as an example). It then segments the user data retrieved from the time window preceding the current time window, resulting in multiple data segments. Each data segment contains user data for one or more active users.

[0045] Furthermore, the activity service sends multiple data shards to the database service, which then records the data shards into shard slots (Active-User-Shard-Slot, an active user shard slot based on a List structure). Each shard slot stores the data shards corresponding to a time window within a statistical period. In the diagram, data shard 1, data shard 2... data shard n represent the n data shards (Active-User-Shard-Slots) recorded in the shard slot. This solution stores user data for active users through time windows, calculating data for users within only one time window at a time. This reduces the data processing volume for each friend ranking calculation, lessening the computational resource consumption on the ranking management system. Fine-grained time windows reduce the data range for updating the friend ranking, decreasing the amount of data calculated and lowering the resource consumption of the service itself. Data shards corresponding to time windows preceding the current time window are stored using sharding slots. Horizontal scaling of sharding slots reduces the latency of refreshing the friend ranking for active users in time windows preceding the current time window. By sharding user data from the previous time window, the ranking service can horizontally scale to obtain user data from different data shards to update the friend ranking for the corresponding active users. Even with a large number of users, horizontal scaling can still reduce the latency of friend ranking updates.

[0046] In one possible embodiment, the activity service provided by this solution is configured to synchronize the user data of active users to the database service when the activity service detects the activity data of active users.

[0047] For example, when the activity service detects any activity data from an active user, it synchronizes the user's data to the database service to generate a friend list corresponding to that active user in a timely manner. For instance, when a user generates any request on the activity page provided by the activity service, that user is identified as an active user, meaning they are considered a potential user who might query the friend list later. The active user's identifier is written into the current time window of the database service, pre-updating the user's friend list. This timely detection of active users and advance generation of the friend list allows users to directly query the cached friend list snapshot data and receive an immediate response, effectively improving the processing efficiency of friend list queries.

[0048] In one possible embodiment, when the ranking service provided by this solution generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, the configuration is as follows: the ranking service obtains the user data of each active user from the database service; the ranking service obtains the friend list corresponding to each active user from the database service based on the user data of each active user; the ranking service obtains the activity scores of each active user and their friends from the platform ranking list recorded in the database service based on the user data and friend list of each active user, and generates a friend ranking list for each active user based on the activity scores.

[0049] For example, the ranking service retrieves user data for each active user from the database service according to a set time period, and then retrieves the friend lists of these active users from the database based on the retrieved user data. Further, the ranking service retrieves the activity scores of each active user and their friends from the platform rankings recorded in the database service, based on the user data of each active user and the user data of each friend in their respective friend lists. For each active user, the ranking service sorts them according to their activity score and the activity scores of their friends, and generates a friend ranking list for that active user based on the sorting results. This solution effectively ensures the real-time nature and accuracy of the friend ranking list by determining the activity scores of active users and their corresponding friends from the real-time updated platform rankings.

[0050] In one possible embodiment, after generating the friend lists of each active user for a time period (previous time window), or after generating the friend lists of an active user, the user data of the corresponding active user can be deleted from the time window corresponding to the database service. In the current or subsequent time window, when any request from the corresponding user in the corresponding activity is received, the activity service will upload the corresponding user data to the database service again.

[0051] In one possible embodiment, the user data of active users provided by this solution is recorded in the shard slots of the database service in the form of data shards. Correspondingly, when the ranking service retrieves the user data of each active user from the database service, it is configured to: the ranking service retrieves the user data of each active user sequentially from the shard slots of the database service.

[0052] For example, the ranking service retrieves data shards sequentially from the shard slots of the database service. For each data shard, it retrieves user data from that shard sequentially. That is, the ranking service processes one data shard at a time. After processing the user data in one data shard (i.e., generating the friend rankings of each active user corresponding to the data shard), it then processes the user data in the next data shard.

[0053] In one embodiment, after obtaining user data from data shards, the ranking service retrieves the corresponding friend lists for these user data from the database service. Based on the user data of active users and the user data of each friend in the friend list, it determines the activity scores of active users and their friends in the platform rankings, and generates friend rankings for each active user in the data shards based on these activity scores. This solution stores user data in shard slots through data sharding, allowing friend rankings to be generated on a shard-by-shard basis, reducing the amount of data processing required for each friend ranking generation. As the number of users increases, horizontal scaling can reduce the latency of friend ranking updates.

[0054] In one possible embodiment, the friend list provided by this solution records the friend relationships between users and their corresponding friends, as well as the whitelist tags for each friend. A friend service and a whitelist service can be set up separately to manage the friend relationships between users and their corresponding friends, and the whitelist tags for each friend in their respective friend whitelists. Users can manage their friend relationships and whitelist tags in their friend list through the friend service and whitelist service, respectively. The friend service monitors the friend relationships between users and their corresponding friends, and updates the friend list of the active user in the list service when friend relationships change (e.g., adding or deleting friends). Simultaneously, the whitelist service monitors the whitelist tags of each user's friend whitelist, and updates the friend list of the active user in the list service when whitelist tags are updated.

[0055] Correspondingly, when the ranking service provided in this solution generates the friend ranking for each activity user based on the user data of each activity user recorded in the database service, the friend list of each activity user, and the platform ranking, the configuration is as follows: the ranking service generates the friend ranking for each activity user based on the user data of each activity user recorded in the database service, the friend relationships and whitelist tags of each friend user in the friend list of each activity user, and the platform ranking.

[0056] For example, the ranking service determines the friends participating in the ranking generation based on the whitelist tags of each friend in the friend list of each active user. It then retrieves the activity scores of each active user and the activity scores of the friends participating in the ranking generation from the platform ranking records in the database service. For each active user, the ranking is sorted according to their activity score and the activity scores of the friends participating in the ranking generation, and a friend ranking is generated based on the sorting results, including the whitelist tags of the active users and their friends. This solution uses a whitelist to record the whitelist tags of different friends, allowing for more flexible settings of the friends participating in the ranking generation, making the ranking generation more flexible and efficient. Furthermore, it monitors friend relationships and whitelist tags to promptly detect and synchronize updates to the friend list, ensuring the timeliness and accuracy of the generated friend ranking.

[0057] In one possible embodiment, when the list service provided by this solution loads the friend list of an active user and synchronizes the friend list of the active user to the database service, it is configured as follows: the list service obtains the friend list of the active user and sends the friend list of the active user to the database service for storage; the list service listens to the friend list of the active user and synchronizes the updated friend list to the database service when the friend list of the active user is updated.

[0058] For example, when the list service receives a list loading notification from the activity service to load the friend list of an active user, it determines whether the friend list for that active user has already been initialized. If it has been initialized and the friend list is already recorded in the database service, the list service directly listens for the active user's friend list. If it has not been initialized, the list service initializes the active user's friend list and sends it to the database service for storage. Simultaneously, the list service listens for the friend list sent to the database service, and when the active user's friend list is updated (e.g., friend relationships change or whitelist flags are updated), it synchronizes the updated friend list to the database service. This solution, by listening to the friend list and updating the pre-loaded friend list in a timely manner, ensures the timeliness and accuracy of the generated friend ranking. Initializing the friend list once and then listening to it effectively reduces the resource consumption of friend list synchronization. The pre-loading and caching of the friend list, as well as the monitoring of changes, eliminate the need to query downstream list services, friend services, and whitelist services, effectively reducing the high load on downstream services caused by frequent queries and improving the efficiency of friend ranking generation.

[0059] In one possible embodiment, the activity service provided by this solution is further configured to: upon receiving a friend list query request from an activity user, retrieve the friend list corresponding to the friend list query request from the database service, and return the friend list corresponding to the friend list query request to the activity user.

[0060] For example, when an active user needs to query their friends' ranking list, they can send a friends' ranking list query request to the activity service. Upon receiving this request, the activity service, since the active user's friends' ranking list is already pre-loaded in the database service, can directly retrieve the corresponding friends' ranking list from the database service based on the active user's user data (user identifier UID) and return it to the active user for display. This solution, upon receiving a friends' ranking list query request from an active user, can directly retrieve the corresponding friends' ranking list from the database service and return it to the active user, without needing to generate the friends list and ranking list in real time. This effectively reduces the resources and time consumed in updating ranking data, shortens the response time to friends' ranking list query requests, reduces user waiting time, and improves user experience.

[0061] For example, in related technologies, assuming an activity has N daily active users, each user has M friends, and each batch of database queries contains K users, then querying a user's daily friend list requires N*M / K database queries. Therefore, each time a user actively triggers a query for the latest friend rankings, it is necessary to query the current user's entire friend list, the whitelist status of all current user's friends, and the scores of all current friends, requiring M / K database queries per query.

[0062] Regarding the response time for a friend ranking query request, assuming the user querying the friend ranking is a streamer, and the streamer has 10,000 friends, querying 200 friends at a time, with an average query time of 100ms per operation, a single friend ranking data query would take 10,000 / 200*100*3 = 15s. However, users generally tolerate a waiting time of less than 3 seconds. The excessively long processing time for users' friend ranking query requests severely impacts the user experience.

[0063] Regarding the consumption of computing resources, in the query of the friend ranking list in related technologies, all data needs to be assembled in memory before sorting the friends' activity scores and returning the friend ranking list to the user. This consumes a lot of memory resources, leading to more frequent GC (Garbage Collection) operations. At the same time, GC operations also affect the response time of friend ranking list query requests, requiring more server resources to support the calculation of the friend ranking list.

[0064] Regarding the pressure on downstream services, assuming the current business interface has a query rate of 100 per second, then the query rate for downstream friend services and whitelist services will be 100*(10000 / 200) = 5000 qps, which will put great pressure on downstream services or databases and increase the resource consumption of downstream services.

[0065] If a timed friend leaderboard generation method is adopted, it requires three queries: friend list, whitelist status, and friend score. Generating the friend leaderboard for all users at regular intervals requires N*M / K*3 database queries. Assuming a daily active user count (N) of 100,000 and an average of 100 friends per user (which can be done in one batch query), with each query taking 100ms, the time required to generate the friend leaderboard is approximately 100,000 * 3 * 100ms, meaning it would take about 8 hours to update one round of friend leaderboard updates. The latency of the friend leaderboard update is too high, and this latency will increase further as the user base grows.

[0066] This solution utilizes a leaderboard management system to manage friend leaderboards. Assuming 100,000 daily active users, an average of 100 friends per user, and a 1-minute time window, there are approximately 100-500 active users. Querying each active user's friend list from the cache takes 10ms, and batch querying the corresponding activity scores from the cache takes 20ms. Generating a friend leaderboard for each active user takes 0.2 seconds. If 500 active users are detected, using 100 threads in the leaderboard management system, refreshing the friend leaderboard can be completed in 0.5 seconds. This significantly reduces the demand on server resources, the pressure on downstream services, and the latency of friend leaderboard feedback.

[0067] Figure 2 A flowchart of a ranking management method provided in this application embodiment is given. This method can be executed by a ranking management device and applied to the ranking management system provided in the above embodiment. The ranking management system includes an activity service, a list service, a ranking service, and a database service. The ranking management device can be implemented in hardware and / or software and integrated into a ranking management device, which can be configured in the activity service or the ranking service of the ranking management system.

[0068] The ranking management method provided in this application embodiment can be executed by a ranking management device, which can be implemented by hardware and / or software and integrated into the ranking management equipment.

[0069] The following description uses a leaderboard management device to illustrate the leaderboard management method. (Reference) Figure 2 The management methods for this ranking include:

[0070] S201: Through the activity service, the user data of the active users are synchronized to the database service, and the platform rankings are also synchronized to the database service. The platform rankings are generated based on the activity scores of each user.

[0071] S202: Load the friend list of the active user through the list service, and synchronize the friend list of the active user to the database service. The friend list and user data meet the preset correspondence.

[0072] S203: Through the ranking service, based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking, a friend ranking list corresponding to each active user is generated, and the friend ranking list is sent to the database service for storage. The implementation details of the ranking management method provided in this solution can be found in the ranking management system provided in the above embodiments, achieving the corresponding technical effects; this solution will not elaborate further.

[0073] As described above, the activity service synchronizes user data and platform rankings of active users to the database service, and the list service loads the friend lists of each active user and synchronizes them to the database service. The ranking service can generate friend rankings for each active user based on the user data, friend lists, and platform rankings recorded in the database service, and save them to the database service, updating the ranking data in a timely manner. By preloading the friend lists of active users and generating friend rankings in advance, users can obtain the corresponding friend rankings more quickly, without having to generate friend lists and rankings when requesting them, effectively reducing the resources and time required for updating ranking data, and making ranking management more efficient.

[0074] In one possible embodiment, synchronizing active users' user data to a database service via an activity service includes:

[0075] The activity service sends the user data of active users to the database service, so that the user data is recorded in the current time window of the database service;

[0076] The activity service retrieves user data for each active user from the database service within the time window preceding the current time window, and then segments the user data of the active users to obtain multiple data segments.

[0077] The activity service sends data shards to the database service, and the data shards are recorded in the shard slots of the database service.

[0078] In one possible embodiment, a friend ranking list for each active user is generated using a ranking service, based on user data of each active user recorded in a database service, the friend list of each active user, and the platform ranking list. This includes:

[0079] The ranking service retrieves user data for each active user from the database service.

[0080] Based on the user data of each activity user, the leaderboard service retrieves the friend list of each activity user from the database service.

[0081] The ranking service uses user data and friend lists of each active user to obtain the activity scores of each active user and their friends from the platform rankings recorded in the database service, and generates a friend ranking list for each active user based on the activity scores.

[0082] In one possible embodiment, the friend list records the friend relationship between the user and the corresponding friend user, as well as the whitelist mark corresponding to each friend user;

[0083] The ranking service generates a friend ranking list for each active user based on user data, friend lists, and platform rankings recorded in the database service. This includes:

[0084] The ranking service generates a friend ranking list for each active user based on user data recorded in the database service, friend relationships and whitelist tags of each active user's friend list, and the platform ranking list.

[0085] In one possible embodiment, the active user's friend list is loaded via a list service, and the active user's friend list is synchronized to a database service, including:

[0086] The friend list of the active user is obtained through the list service, and then the friend list of the active user is sent to the database service for storage;

[0087] The list service monitors the friend list of active users and synchronizes the updated friend list to the database service when the friend list of active users is updated.

[0088] In one possible embodiment, the ranking management method further includes: upon receiving a friend ranking query request from an active user via an activity service, retrieving the friend ranking corresponding to the friend ranking query request from a database service, and returning the friend ranking corresponding to the friend ranking query request to the active user.

[0089] Figure 3 This is a schematic diagram of a ranking management device provided in an embodiment of this application. This ranking management device is applied to the ranking management system provided in the above embodiment. The ranking management system includes activity services, list services, ranking services, and database services. (Reference) Figure 3The ranking management device includes a user synchronization module 31, a list synchronization module 32, and a ranking update module 33, wherein:

[0090] User synchronization module 31 is configured to synchronize user data of active users to the database service and synchronize platform rankings to the database service through the activity service. The platform rankings are generated based on the activity scores of each user.

[0091] The list synchronization module 32 is configured to load the friend list of the active user through the list service and synchronize the friend list of the active user to the database service, and the friend list and user data meet the preset correspondence.

[0092] The ranking update module 33 is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and then send the friend ranking list to the database service for storage.

[0093] As described above, the activity service synchronizes user data and platform rankings of active users to the database service, and the list service loads the friend lists of each active user and synchronizes them to the database service. The ranking service can generate friend rankings for each active user based on the user data, friend lists, and platform rankings recorded in the database service, and save them to the database service, updating the ranking data in a timely manner. By preloading the friend lists of active users and generating friend rankings in advance, users can obtain the corresponding friend rankings more quickly, without having to generate friend lists and rankings when requesting them, effectively reducing the resources and time required for updating ranking data, and making ranking management more efficient.

[0094] In one possible embodiment, when the user synchronization module 31 synchronizes the user data of active users to the database service through the activity service, it is configured as follows:

[0095] The activity service sends the user data of active users to the database service, so that the user data is recorded in the current time window of the database service;

[0096] The activity service retrieves user data for each active user from the database service within the time window preceding the current time window, and then segments the user data of the active users to obtain multiple data segments.

[0097] The activity service sends data shards to the database service, and the data shards are recorded in the shard slots of the database service.

[0098] In one possible embodiment, when the ranking update module 33 generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, it is configured as follows:

[0099] The ranking service retrieves user data for each active user from the database service.

[0100] Based on the user data of each activity user, the leaderboard service retrieves the friend list of each activity user from the database service.

[0101] The ranking service uses user data and friend lists of each active user to obtain the activity scores of each active user and their friends from the platform rankings recorded in the database service, and generates a friend ranking list for each active user based on the activity scores.

[0102] In one possible embodiment, the friend list records the friend relationship between the user and the corresponding friend user, as well as the whitelist mark corresponding to each friend user;

[0103] When the leaderboard update module 33 generates a friend leaderboard for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform leaderboard, it is configured as follows:

[0104] The ranking service generates a friend ranking list for each active user based on user data recorded in the database service, friend relationships and whitelist tags of each active user's friend list, and the platform ranking list.

[0105] In one possible embodiment, when the list synchronization module 32 loads the friend list of an active user through the list service and synchronizes the friend list of the active user to the database service, it is configured as follows:

[0106] The friend list of the active user is obtained through the list service, and then the friend list of the active user is sent to the database service for storage;

[0107] The list service monitors the friend list of active users and synchronizes the updated friend list to the database service when the friend list of active users is updated.

[0108] In one possible embodiment, the ranking management device further includes a query response module, which is configured to: upon receiving a friend ranking query request from an active user via the activity service, retrieve the friend ranking corresponding to the friend ranking query request from the database service, and return the friend ranking corresponding to the friend ranking query request to the active user.

[0109] It is worth noting that in the above-mentioned embodiments of the ranking management device, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of the present invention.

[0110] This application also provides a ranking management device that can integrate the ranking management apparatus provided in this application. Figure 4 This is a schematic diagram of the structure of a ranking management device provided in an embodiment of this application. (Reference) Figure 4 The ranking management device includes: an input device 43, an output device 44, a memory 42, and one or more processors 41; the memory 42 is used to store one or more programs; when one or more programs are executed by one or more processors 41, the one or more processors 41 implement the ranking management system as provided in the above embodiments. The ranking management device, equipment, and computer provided above can be used to execute the ranking management system provided in any of the above embodiments, and have corresponding functions and beneficial effects.

[0111] This application also provides a storage medium for storing computer-executable instructions, which, when executed by a computer processor, are used to execute the ranking management system provided in the above embodiments. Of course, the computer-executable instructions provided in this application are not limited to the ranking management system provided above; they can also execute related operations in the ranking management system provided in any embodiment of this application. The ranking management device, equipment, and storage medium provided in the above embodiments can execute the ranking management system provided in any embodiment of this application. Technical details not described in detail in the above embodiments can be found in the ranking management system provided in any embodiment of this application.

[0112] In some possible implementations, various aspects of the methods provided in this disclosure can also be implemented as a program product comprising program code that, when run on a computer device, causes the computer device to perform the steps of the methods according to various exemplary embodiments of this disclosure described above. For example, the computer device may execute a ranking management system described in embodiments of this disclosure. The program product may take the form of any combination of one or more readable media.

Claims

1. A ranking management system, characterized in that, This includes event services, list services, ranking services, and database services, among which: The activity service is configured to: send user data of active users to the database service to record the user data in the current time window of the database service; obtain user data of each active user from the time window before the current time window of the database service, and perform sharding processing on the user data of the active users to obtain multiple data shards; send the data shards to the database service to record the data shards in the shard slots of the database service; and synchronize the platform ranking list to the database service, the platform ranking list being generated based on the activity scores of each user, wherein the active users are users who participated in the activity within the most recent time window; The list service is configured to load the friend list of the active user and synchronize the friend list of the active user to the database service, wherein the friend list and the user data satisfy a preset correspondence. The ranking service is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and send the friend ranking list to the database service for storage; The activity service is also configured to, upon receiving a friend list query request from the activity user, retrieve the friend list corresponding to the friend list query request from the database service, and return the friend list corresponding to the friend list query request to the activity user.

2. The ranking management system according to claim 1, characterized in that, When the ranking service generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, it is configured as follows: The ranking service obtains user data for each of the active users from the database service; The ranking service obtains the friend list corresponding to each of the activity users from the database service based on the user data of each activity user. The ranking service obtains the activity scores of each activity user and their friends from the platform rankings recorded in the database service based on the user data and friend list of each activity user, and generates a friend ranking list corresponding to each activity user based on the activity scores.

3. The ranking management system according to claim 1, characterized in that, The friend list records the friend relationships between users and their corresponding friends, as well as the whitelist markers for each friend. When the ranking service generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, it is configured as follows: The ranking service generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend relationships and whitelist tags of each friend in the friend list of each active user, and the platform ranking list.

4. The ranking management system according to claim 1, characterized in that, When the list service loads the friend list of the active user and synchronizes the friend list of the active user to the database service, it is configured as follows: The list service obtains the friend list of the active user and sends the friend list of the active user to the database service for storage; The list service monitors the friend list of the active user and synchronizes the updated friend list to the database service when the friend list of the active user is updated.

5. A ranking list management method, characterized in that, Applied to a ranking management system, the ranking management system includes activity services, list services, ranking services, and database services, and the ranking management method includes: The activity service sends user data of active users to the database service to record the user data in the current time window of the database service; it then retrieves user data of each active user from the time window preceding the current time window and performs data sharding on the active user's user data to obtain multiple data shards; these data shards are sent to the database service to be recorded in the shard slots of the database service; and the platform ranking list is synchronized to the database service. The platform ranking list is generated based on the activity scores of each user, where the active users are those who participated in the activity within the most recent time window. The friend list of the active user is loaded through the list service, and the friend list of the active user is synchronized to the database service. The friend list and the user data satisfy a preset correspondence. The ranking service generates a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and sends the friend ranking list to the database service for storage. Upon receiving a friend list query request from an active user, the activity service retrieves the friend list corresponding to the query request from the database service and returns the friend list to the active user.

6. A ranking management device, characterized in that, This is applied to a ranking management system, which includes activity services, list services, ranking services, and database services. The ranking management device includes a user synchronization module, a list synchronization module, a ranking update module, and a query response module, wherein: The user synchronization module is configured to: send user data of active users to the database service through the activity service to record the user data in the current time window of the database service; obtain user data of each active user from the time window before the current time window of the database service, and perform sharding processing on the user data of the active users to obtain multiple data shards; send the data shards to the database service to record the data shards in the shard slots of the database service; and synchronize the platform ranking list to the database service, wherein the platform ranking list is generated based on the activity scores of each user, and the active users are users who participated in the activity in the most recent time window; The list synchronization module is configured to load the friend list of the active user through the list service and synchronize the friend list of the active user to the database service, wherein the friend list and the user data satisfy a preset correspondence. The ranking update module is configured to generate a friend ranking list for each active user based on the user data of each active user recorded in the database service, the friend list of each active user, and the platform ranking list, and send the friend ranking list to the database service for storage. The query response module is configured to, upon receiving a friend list query request from an activity user through the activity service, retrieve the friend list corresponding to the friend list query request from the database service, and return the friend list corresponding to the friend list query request to the activity user.

7. A ranking management device, characterized in that, include: Memory and one or more processors; The memory is used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the leaderboard management method as described in claim 5.

8. A storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the list management method as described in claim 5.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the list management method of claim 5.