Prize issuing control method and system

By using multi-level queues to process award-giving messages in the live award-giving control system, message isolation and speed-limiting consumption are realized, and the problem of delay in award-giving messages in traditional systems is solved, ensuring the timeliness of high-quality services and downstream systems. stability.

CN119135942APending Publication Date: 2024-12-13SHANGHAI BILIBILI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411252672.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-06
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

The traditional live broadcast award-distribution control system does not perform message isolation when a large number of award-distribution messages are pouring in, resulting in delays in the consumption of award-distribution messages for high-quality businesses and affecting the live broadcast effect.

Method used

A reward control method is designed, using a combination of first-level queues and second-level queues to isolate and integrate messages through business sources and prize types, providing fast and slow channel selection, and second-level queue speed consumption to ensure high-quality services are the first. .

Benefits of technology

It effectively solves the problem of upstream business resource competition, meets the needs of different scenarios, ensures the timeliness of high-quality services and the stability of downstream systems, and avoids the reduction of user experience caused by message backlog.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135942A_ABST
    Figure CN119135942A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a prize issuing control method and system, the prize issuing control system comprises a first-level queue and a second-level queue, and the method comprises the steps that a prize issuing message is received, and the prize issuing message comprises a business source and a prize type; issuing the prize issuing message to a target channel of the first-level queue according to the business source; performing integration processing on the prize issuing message in the target channel according to the prize type, and issuing the integrated prize issuing message to a target sub-queue of the secondary queue; and the prize issuing message in the target subqueue is consumed to realize prize issuing. Prize issuing is carried out in a multi-level queue design mode, the first-level queue can be used for channel isolation to solve the resource competition problem of upstream services, the second-level queue can flexibly limit the speed of the consumption process of prize issuing messages, and when multiple services are in resource competition, manual intervention can be carried out to guarantee that high-level services are carried out in advance. And the prize issuing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and in particular, to a prize distribution control method, system, computer device, computer-readable storage medium, and computer program product. Background Art

[0002] With the development of online live broadcast technology, various types of live broadcast rooms have quickly integrated into people's daily lives. In order to attract more viewers and high-quality anchors, live broadcast platforms usually launch a variety of gameplay, such as festival activities, tasks, rankings, lucky draws, etc., to encourage users to participate and create high-quality content, drive platform revenue, and enrich the live broadcast ecosystem.

[0003] At present, many interactive live broadcasting methods have a common scenario: issuing rewards to users. The traditional method of awarding rewards is to publish all awarding requests to a queue, and the award control system consumes the requests in the queue to issue the prizes. However, when a large number of awarding messages flow into the queue, the award control system does not perform message isolation at the time, which causes a delay in the consumption of awarding messages for high-quality services, affecting the live awarding effect.

[0004] It should be noted that the above content is not necessarily prior art, nor is it intended to limit the scope of patent protection of this application. Summary of the invention

[0005] The embodiments of the present application provide an award control method, system, computer device, computer-readable storage medium, and computer program product to solve or alleviate one or more of the technical problems raised above.

[0006] One aspect of an embodiment of the present application provides a prize distribution control method, which is applied to a prize distribution control system, wherein the prize distribution control system includes a primary queue and a secondary queue, and the method includes:

[0007] Receiving a prize distribution message, wherein the prize distribution message includes a business source and a prize type;

[0008] Publishing the award message to the target channel of the first-level queue according to the business source;

[0009] Integrate the awarding messages in the target channel according to the award type, and publish the integrated awarding messages to the target sub-queue of the secondary queue;

[0010] The awarding message in the target subqueue is consumed to implement awarding of awards.

[0011] Optionally, before the step of receiving the award message, the method further includes:

[0012] The prize configuration data is obtained, and the prize package parameters in the prize distribution control system are configured according to the prize configuration data.

[0013] Optionally, the integrating and processing the prize distribution messages in the target channel according to the prize type, and publishing the integrated prize distribution messages to the target sub-queue of the secondary queue, includes:

[0014] In the case where the target channel is a slow channel, the prize distribution message in the secondary queue is split according to the prize type to obtain a plurality of sub-prize distribution messages;

[0015] A first target sub-queue matching each sub-awarding message is determined respectively, and the multiple sub-awarding messages are published to the first target sub-queue of the secondary queue, wherein the data structure of the first target sub-queue is a RedisList structure.

[0016] Optionally, the integrating and processing the prize distribution messages in the target channel according to the prize type, and publishing the integrated prize distribution messages to the target sub-queue of the secondary queue, includes:

[0017] In the case where the target channel is a fast channel, the awarding messages in the secondary queue are aggregated according to the award type to obtain messages of multiple delay types;

[0018] A second target subqueue matching each delay type of message is determined respectively, and the messages of the multiple delay types are published to the second target subqueue of the secondary queue, wherein the data structure of the second target subqueue is a Databus structure.

[0019] Optionally, after the step of publishing the award message to the target channel of the primary queue according to the service source, the method further includes:

[0020] A unique key value is generated for the awarding message, and the awarding message is recorded in a preset database according to the unique key value.

[0021] Optionally, consuming the award message in the target subqueue to achieve award distribution includes:

[0022] An idempotent processing method is adopted to consume the awarding message in the target subqueue according to the unique key value to realize awarding of awards.

[0023] Optionally, the method further comprises:

[0024] After consuming the awarding message in the target sub-queue, the awarding status corresponding to the awarding message in the preset database is updated.

[0025] Optionally, the method further comprises:

[0026] In the case of an abnormal awarding, the awarding message is retried according to the unique key value.

[0027] Optionally, the award control system further includes a three-level queue, and in the case of an abnormal award, retrying the award message according to the unique key value, including:

[0028] In the case of abnormal awarding, publishing the awarding message to the third-level queue according to the unique key value;

[0029] The awarding message in the three-level queue is retried by exponential backoff.

[0030] Optionally, the method further comprises:

[0031] The number of retries of each awarding message in the three-level queue is counted, and when the number of retries is greater than a preset value, the retry process is terminated.

[0032] Optionally, the method further comprises:

[0033] According to the preset time length, determine the awarding message whose awarding status is incomplete from the preset database, and retry the awarding message whose awarding status is incomplete.

[0034] Another aspect of the embodiments of the present application provides a reward distribution control system, including:

[0035] An award message receiving module, used to receive an award message, wherein the award message includes a business source and a prize type;

[0036] A first-level queue message publishing module, used for publishing the award message to the target channel of the first-level queue according to the business source;

[0037] A secondary queue message publishing module, used for integrating the prize-giving messages in the target channel according to the prize type, and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue;

[0038] The prize distribution module is used to consume the prize distribution message in the target sub-queue to realize prize distribution.

[0039] Another aspect of an embodiment of the present application provides a computer device, including:

[0040] at least one processor; and

[0041] a memory communicatively coupled to the at least one processor;

[0042] Wherein: the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the award control method as described above.

[0043] Another aspect of an embodiment of the present application provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed by a processor, the award control method as described above is implemented.

[0044] Another aspect of an embodiment of the present application provides a computer program product, including a computer program, which implements the award control method as described above when executed by a processor.

[0045] The above technical solution adopted in the embodiment of the present application may include the following advantages: by designing a multi-level queue method to process award messages to realize prize distribution, the first-level queue can be used for channel isolation, such as fast and slow channel isolation, to solve the problem of resource competition of upstream business, and the system provides the ability for the upstream awarding business party to independently select fast and slow channels. The upstream can select fast and slow channels according to whether the business source tolerates delays, which can meet the business needs in different scenarios. For example, a business source that is sensitive to timeliness can choose a fast channel, and a business source that is not sensitive to timeliness can choose a slow channel. The second-level queue can flexibly limit the speed of the consumption process of the award message, and when multiple businesses are caught in resource competition, manual intervention can also be performed to ensure that high-level businesses go first. Therefore, this embodiment can be used as a general reward center, which can not only ensure the normal distribution of upstream businesses, but also protect the downstream from being overwhelmed. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0047] Figure 1 The diagram schematically shows the operating environment of the award control method according to the first embodiment of the present application;

[0048] Figure 2 The flowchart of the award control method according to the first embodiment of the present application is schematically shown;

[0049] Figure 3 The schematic diagram shows a business access requirement module of the award control system according to the first embodiment of the present application;

[0050] Figure 4The overall architecture diagram of the award control system according to the first embodiment of the present application is schematically shown;

[0051] Figure 5 The module diagram of the awarding process according to the first embodiment of the present application is schematically shown;

[0052] Figure 6 A schematic diagram schematically shows a sudden large number of award-giving messages according to the first embodiment of the present application;

[0053] Figure 7 A flowchart of a message retry process according to Embodiment 1 of the present application is schematically shown;

[0054] Figure 8 A block diagram schematically shows a prize distribution control system according to the second embodiment of the present application; and

[0055] Fig. 9 The hardware architecture diagram of the computer device according to the third embodiment of the present application is schematically shown. DETAILED DESCRIPTION

[0056] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0057] It should be noted that the descriptions involving "first", "second", etc. in the embodiments of the present application are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0058] In the description of the present application, it should be understood that the numerical labels before the steps do not indicate the order in which the steps are executed, but are only used to facilitate the description of the present application and to distinguish each step, and therefore should not be understood as a limitation on the present application.

[0059] First, the following terms are explained:

[0060] MQ message: Message Queue message, is an important way for different components in a distributed system to communicate. The MQ message system provides a buffer to store and transmit messages, ensuring reliable transmission and processing of messages between components.

[0061] Databus: A high-availability message queue platform (MQ) based on Kafka, with low latency, high reliability, all-round monitoring, and easy access.

[0062] Redis List: The List in Redis is a simple string list, sorted in the order of insertion.

[0063] Secondly, in order to facilitate those skilled in the art to understand the technical solutions provided in the embodiments of the present application, the relevant technologies are described below:

[0064] With the development of online live broadcast technology, various types of live broadcast rooms have quickly integrated into people's daily lives. In order to attract more viewers and high-quality anchors, live broadcast platforms usually launch a variety of gameplay, such as festival activities, tasks, rankings, lucky draws, etc., to encourage users to participate and create high-quality content, drive platform revenue, and enrich the live broadcast ecosystem.

[0065] At present, many interactive live broadcasting methods have a common scenario: issuing rewards to users. The traditional method of awarding rewards is to publish all awarding requests to a queue, and the award control system consumes the requests in the queue to issue the prizes. However, when a large number of awarding messages flow into the queue, the traditional awarding method causes a delay in the consumption of awarding messages for high-priority services, as the awarding control system does not perform message classification and isolation at the time, which affects the effect of live awarding.

[0066] Live streaming can be divided into two types of services, high-priority and low-priority, according to the service level. Generally, low-priority services have a relatively large amount of rewards due to their low thresholds, such as users getting lottery tickets by watching live streaming. High-priority services often have a relatively small amount of rewards, such as users getting rewards by consuming batteries to participate in activities. The difference is that these two types of services are each sensitive to the timeliness of issuance. Low-priority services are not sensitive to timeliness and can accept delayed issuance; high-priority services are sensitive to timeliness, and delayed receipt of rewards can easily lead to a decrease in user experience and even customer complaints. Therefore, it is necessary to prioritize the efficiency of awarding high-priority services. At the same time, as a general reward center, it is necessary to ensure the normal issuance of upstream businesses and protect downstream businesses from being overwhelmed.

[0067] To this end, the embodiment of the present application provides a technical solution for award control, which is applied to an award control system, and the award control system includes a primary queue and a secondary queue. In the technical solution, the method includes: receiving an award message, the award message includes a business source and a prize type; publishing the award message to the target channel of the primary queue according to the business source; integrating and processing the award message in the target channel according to the prize type, and publishing the integrated award message to the target sub-queue of the secondary queue; consuming the award message in the target sub-queue to achieve award distribution. The award message is processed by designing a multi-level queue to achieve award distribution, wherein the primary queue can be used for channel isolation, such as fast and slow channel isolation, to solve the problem of resource competition of upstream business, and the system provides the ability for the upstream awarding business party to independently select the fast and slow channels. The upstream can select the fast and slow channels according to whether the business source tolerates delay, which can meet the business needs in different scenarios. For example, a business source that is sensitive to timeliness can select a fast channel, and a business source that is not sensitive to timeliness can select a slow channel. The secondary queue can flexibly limit the speed of the consumption process of the award message, and can also manually intervene to ensure that high-level services are prioritized when multiple services are in resource competition. Therefore, this embodiment can be used as a universal award center, which can not only ensure the normal issuance of upstream services, but also protect downstream services from being overwhelmed. See below for details.

[0068] Finally, for ease of understanding, an exemplary operating environment is provided below.

[0069] like Figure 1 As shown, the environment diagram includes a service platform 2, a network 4, and a client 6, wherein:

[0070] The service platform 2 may be composed of a single or multiple computing devices. The multiple computing devices may include virtualized computing instances. Virtualized computing instances may include virtual machines, such as simulations of computer systems, operating systems, servers, etc. The computing device may load a virtual machine based on a virtual image and / or other data defining specific software (e.g., operating system, dedicated application, server) for simulation. As the demand for different types of processing services changes, different virtual machines may be loaded and / or terminated on one or more computing devices. A hypervisor may be implemented to manage the use of different virtual machines on the same computing device.

[0071] The service platform 2 may be configured to communicate with the client 6 or the like via a network 4. The network 4 includes various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or the like. The network 4 may include physical links, such as coaxial cable links, twisted pair cable links, optical fiber links, combinations thereof, and the like, or wireless links, such as cellular links, satellite links, Wi-Fi links, and the like.

[0072] The service platform 2 can provide storage, reading, writing, querying, deleting and other services, such as providing award control services for the client.

[0073] Client 6 can be a Windows, Android TM ) or iOS operating systems, such as smart phones, tablet devices, laptop computers, virtual reality devices, gaming devices, set-top boxes, vehicle-mounted terminals, and smart TVs. Based on the above operating systems, various application programs can be run, such as programs for award control.

[0074] The client 6 may provide / configure a user access page for manipulating the service platform 2 or uploading an object, etc.

[0075] It should be noted that the above devices are exemplary, and the number and type of devices are adjustable in different scenarios or according to different needs.

[0076] The following uses the service platform 2 as the execution subject to introduce the technical solution of the present application through multiple embodiments. It should be noted that these embodiments can be implemented in a variety of different forms and should not be interpreted as being limited to the embodiments described here.

[0077] Embodiment 1

[0078] Figure 2 The flowchart of the award control method according to the first embodiment of the present application is schematically shown.

[0079] like Figure 2 As shown, the award control method may include steps S202 to S208, wherein:

[0080] Step S202, receiving a prize distribution message, wherein the prize distribution message includes a business source and a prize type;

[0081] Among them, the business source refers to the parameter that can indicate the source of the current awarding business activity. The prize type refers to the parameter that describes the type of prize that needs to be issued, such as equity prizes such as avatar frames, titles, and room skins, and value prizes such as batteries, golden hamsters, and package props.

[0082] Live broadcasting can be divided into two types of services, high-priority and low-priority, according to the service level. Generally, low-priority services have a relatively large amount of rewards due to their low threshold, such as: users get lottery tickets by watching live broadcasts. High-priority services often have a relatively small amount of rewards, such as: users get rewards by consuming batteries to participate in activities. The difference is that these two types of services are sensitive to the timeliness of issuance. Low-priority services are not sensitive to timeliness and can accept delayed issuance; high-priority services are sensitive to timeliness, and delayed receipt of rewards can easily lead to a decrease in user experience and even customer complaints.

[0083] In order to isolate the awarding message, in this embodiment, the service source and prize type are carried in the awarding message. According to the service source data, it can be determined whether the message corresponds to a high-priority service or a low-priority service, and then an adapted channel is selected to publish the message.

[0084] Step S204, publishing the award message to the target channel of the first-level queue according to the business source;

[0085] In this embodiment, the primary service provides multiple channels, such as the fast channel Fast and the slow channel Normal. When processing the incoming award message, the target channel matching the award message can be determined according to the service source, and the award message can be published to the target channel of the primary queue.

[0086] Step S206, integrating the prize-giving messages in the target channel according to the prize type, and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue;

[0087] In this embodiment, the secondary queue provides different processing methods for awarding messages in the fast and slow channels, as follows:

[0088] The slow channel secondary queue is split according to the prize type. Each prize type is split into several sub-queues, and each sub-queue has an independent consumer coroutine responsible for processing the prize distribution.

[0089] The fast channel is aggregated according to the reward type, divided into three types: fast, medium, and slow. Messages with different reward time requirements are placed in different queues for consumption, so that different prize types do not affect each other.

[0090] Step S208: consuming the award message in the target sub-queue to implement award distribution.

[0091] In this embodiment, after the message is published to the target sub-queue of the secondary queue, the prize distribution can be realized by consuming the prize distribution message in the target sub-queue.

[0092] In an optional embodiment of the present application, before step S202, the method further includes:

[0093] The prize configuration data is obtained, and the prize package parameters in the prize distribution control system are configured according to the prize configuration data.

[0094] In this embodiment, various types of reward packages are configured according to business needs to facilitate calling the interface provided by the reward control system for awarding rewards, such as ranking rewards, anchor task rewards, prize pool lottery rewards, etc. configured according to the prize configuration data.

[0095] Specifically, from the perspective of prize types, there is diversity in rewards, including both rights-based prizes such as avatar frames, titles, and room skins, as well as value-based prizes such as batteries, golden hamsters, and package props. Different prizes require different configuration attributes and are issued by different downstreams. The throughput capacity of each downstream is also inconsistent. The award control system needs to set different issuance flow limit thresholds when processing reward issuance to prevent overwhelming the downstream.

[0096] In an optional embodiment of the present application, the step of integrating the prize-giving messages in the target channel according to the prize type and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue includes:

[0097] In the case where the target channel is a slow channel, the prize distribution message in the secondary queue is split according to the prize type to obtain a plurality of sub-prize distribution messages;

[0098] A first target sub-queue matching each sub-awarding message is determined respectively, and the multiple sub-awarding messages are published to the first target sub-queue of the secondary queue, wherein the data structure of the first target sub-queue is a RedisList structure.

[0099] In this embodiment, the secondary queue pre-designs multiple sub-queues for the messages published by the slow channel, and each sub-queue has an independent consumer coroutine responsible for processing the award.

[0100] When the target channel is a slow channel, the prize-giving message in the secondary queue is split according to the prize type to obtain multiple sub-prize-giving messages; and the multiple sub-prize-giving messages are published to the first target sub-queue of the secondary queue, wherein the data structure of the first target sub-queue is a Redis List structure.

[0101] In the specific implementation, in order to reduce the burden of system operation and maintenance, the slow queue is designed with the Redis List structure. However, the availability of Redis is slightly lower than that of Databus, and data may be lost in the event of an unexpected situation. Considering that the slow queue is not sensitive to the timeliness of award issuance, this problem can be solved by adding an offline compensation mechanism to ensure the stability of the slow channel.

[0102] In an optional embodiment of the present application, the step of integrating the prize-giving messages in the target channel according to the prize type and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue includes:

[0103] In the case where the target channel is a fast channel, the awarding messages in the secondary queue are aggregated according to the award type to obtain messages of multiple delay types;

[0104] A second target subqueue matching each delay type of message is determined respectively, and the messages of the multiple delay types are published to the second target subqueue of the secondary queue, wherein the data structure of the second target subqueue is a Databus structure.

[0105] In this embodiment, the secondary queue pre-designs multiple sub-queues of different speeds for the messages released by the fast channel, namely fast, medium and slow queues. The messages released by the fast channel are aggregated according to the prize type, divided into fast, medium and slow, and three sets of Databus queues are applied. The division is still based on the live broadcast scenario. For example, the popular red envelope reward requires that the anchor must be on the air to be successfully issued. This type of prize has high timeliness requirements, so it will be included in the fast queue. Prizes such as Tencent games are placed in the fast queue due to the large delay of the supplier interface. It is easy to cause consumption congestion, so they are placed in the slow queue for consumption separately, so that different prize types do not affect each other.

[0106] In an optional embodiment of the present application, after the step of publishing the award message to the target channel of the primary queue according to the service source, the method further includes:

[0107] A unique key value is generated for the awarding message, and the awarding message is recorded in a preset database according to the unique key value.

[0108] In this embodiment, in order to ensure that the prizes are not over-issued or missed, the processing status of the prize issuing message is recorded by a unique key. Specifically, a unique key value can be generated for the prize issuing message, and the prize issuing message can be recorded in a preset database according to the unique key value.

[0109] The unique key can be recorded as source+msg_id. Each award message can contain a "source" field, indicating the source of the award message, and a "msg_id" field, indicating the unique identifier of the message. Combining these two fields can ensure that each award message is uniquely identifiable, which helps to quickly locate the problem.

[0110] In an optional embodiment of the present application, consuming the award message in the target subqueue to achieve award distribution includes:

[0111] An idempotent processing method is adopted to consume the awarding message in the target subqueue according to the unique key value to realize awarding of awards.

[0112] In this embodiment, by adopting the idempotent processing method, it can be ensured that the prizes are not over-issued or missed.

[0113] Specifically, after receiving the message, the processor of the first-level task will first initialize the integration / splitting of the award message. If an exception occurs in this step, it will directly return the message retry signal and wait for the consumer to retry. Then all the rewards contained in the package will be encapsulated, and then the database will be divided and written into tables according to uid%64. Here, the award idempotence judgment will be implemented through the DB combination of the unique key souce+msgId+awardTypeId+awardId+uid. If the award record already exists, this write will be skipped. After that, the second-level queue will be transferred according to the respective award links of the fast and slow queues to prevent message backlogs caused by the slow processing of a downstream award, which will lead to a decline in the overall consumption throughput.

[0114] In addition, after consuming the message in the primary queue and publishing it to the secondary queue, the status of the award message can be updated to being processed, and the update time can be recorded so that the timed-out and incomplete messages can be retried through the offline compensation mechanism.

[0115] In an optional embodiment of the present application, the method further includes:

[0116] After consuming the awarding message in the target sub-queue, the awarding status corresponding to the awarding message in the preset database is updated.

[0117] In this embodiment, after consuming the award message in the target subqueue, the award status corresponding to the award message in the preset database is updated. For example, if the award is successful, the status is updated to award success, and if the award fails, the status is updated to not award failure.

[0118] In an optional embodiment of the present application, the method further includes:

[0119] In the case of an abnormal awarding, the awarding message is retried according to the unique key value.

[0120] In an optional embodiment of the present application, the award control system further includes a three-level queue, and in the case of an abnormal award, retrying the award message according to the unique key value includes:

[0121] In the case of abnormal awarding, the awarding message is published to the three-level queue according to the unique key value; and the awarding message in the three-level queue is retried in an exponential backoff manner.

[0122] In this embodiment, the award control system also includes a three-level queue for retrying the message of failed award. Consumers of the secondary queue monitor the secondary queue message at any time, and after receiving the award message, they interact with the downstream award according to different award types, and update the DB status after getting the result (if it fails, the number of retries will be accumulated). The updated Binlog will be monitored by Canal. If an abnormality is encountered and a retry is required, the message will be written to the three-level queue. This queue is mainly used for reward retries. The delay queue designed based on the Redis zset structure performs exponential backoff and retry of award. For example, the message can be retried in a way that delays one second for each retry, that is, according to 2^0s→2^1s→2^2s→...→2^12s, and automatically retry 13 times, about 2 hours. If it has not recovered, it is determined that the downstream is unavailable, and no more retries are made to wait for manual labor.

[0123] In an optional embodiment of the present application, the method further includes:

[0124] The number of retries of each awarding message in the three-level queue is counted, and when the number of retries is greater than a preset value, the retry process is terminated.

[0125] The preset value is a preset maximum number of retries, such as 13 or 14 times, etc., and this embodiment does not impose any specific limitation on this.

[0126] In this embodiment, when retrying a message, the number of retries of each award message in the three-level queue is counted, and when the number of retries is greater than a preset value, the retry process is terminated. If the retry is successful, the award status is updated to success, and the corresponding data in the three-level queue is deleted.

[0127] In an optional embodiment of the present application, the method further includes:

[0128] According to the preset time length, determine the awarding message whose awarding status is incomplete from the preset database, and retry the awarding message whose awarding status is incomplete.

[0129] The preset time duration is a preset interval time duration, such as 10 minutes, or 15 minutes, etc., and this embodiment does not impose any specific restrictions on this. In this embodiment, according to the preset time duration, the awarding message with an unfinished awarding status is regularly determined from the preset database, and the awarding message with an unfinished awarding status is retried.

[0130] Specifically, after consuming the message in the first-level queue, the status of the message can be updated in the preset database to be in processing, and the processing time can be recorded. The scheduled task Job scans the preset database and compares the time difference between the current time and the recorded processing time. If the time difference is greater than the preset time, such as 10 minutes, it is considered that the award message needs to be retried.

[0131] In order to further explain the awarding control method of this embodiment, the awarding control scheme of this embodiment is introduced in several modules as follows.

[0132] Demand Analysis

[0133] The design of a general award control system needs to start from the demand side and the supply side: one is the award scene access, and the other is the prize type access. The award control system has established access standards for the two to facilitate subsequent expansion and maintenance.

[0134] like Figure 3 As shown, from the perspective of business access, the award control system needs to meet the issuance of various upstream scenarios, such as: awarding prizes after the list is closed, awarding prizes after task completion, awarding prizes through lotteries, awarding prizes through guessing games, and many other scenarios. Therefore, the access method must be sufficiently standardized and compatible with differentiation.

[0135] From the perspective of prize types, rewards are diverse, including rights-based prizes such as avatar frames, titles, and room skins, as well as value-based prizes such as batteries, golden hamsters, and package props. Different prizes require different configuration attributes and are issued by different downstreams. The throughput capacity of each downstream is also inconsistent. The award control system needs to set different issuance flow limit thresholds when processing reward issuance to prevent overwhelming the downstream.

[0136] From the perspective of issuance timeliness, business levels are divided into high and low levels. Delays in issuance of high-level business scenarios will result in a decline in user experience and may even lead to customer complaints and public opinion. Therefore, an independent issuance channel is needed to ensure high-quality business.

[0137] Finally, as a trustworthy award control system, it must meet these three characteristics: low latency, no over-issuance, and no missed issuance.

[0138] Architecture Analysis

[0139] Based on the characteristics of many upstream business parties, high peak traffic and high stability requirements for rewards, in order to ensure the stability and reliability of the reward control system under high peak traffic, an overall solution based on message queue peak shaving and asynchronous request processing was selected during solution selection. Figure 4 This is the overall architecture diagram of the award control system. The system architecture includes:

[0140] 1. Access layer: responsible for formulating service access standards, providing services such as service source registration, reward distribution, recycling, prize wearing, and prize cancellation functions;

[0141] 2. Configuration layer: configure various reward packages according to business needs, such as: ranking rewards, anchor task rewards, prize pool lottery rewards, and also responsible for the configuration access of new reward types;

[0142] 3. Service layer: Process the reward request from the access layer, split the package, record the distribution status, manage the secondary queue for award distribution, and schedule different prize downstream for reward distribution;

[0143] 4. Storage layer: storage solutions that the architecture relies on

[0144] a. Databus as MQ to improve throughput

[0145] b.Mysql is responsible for storing basic configuration, mapping relationship between prizes and packages, and distribution records

[0146] c.taishanKV storage prize expansion configuration

[0147] d. Redis is responsible for providing secondary queues and delayed retry queues

[0148] e.HDFS stores offline data of reward configuration and issuance records, providing analysis, screening and other functions

[0149] 5. Offline layer: OneService data retrieval, scanning of abnormal issuance record status, reissuance of rewards, system logs, and related data tracking points

[0150] Detailed Design

[0151] The award distribution process is as follows: business upstream → first-level queue → second-level queue → downstream four modules are serialized, which is simple and intuitive. The business side only needs to configure the reward and then call the interface to deliver the award message. It is very convenient. The serial process is as follows Figure 5 As shown:

[0152] The following designs are made for the three characteristics of the system:

[0153] a. Low latency: Provides isolated distribution of different channels. For high-quality services, Fast channels can be selected to prevent low-quality services with excessive distribution volume from affecting the distribution time of high-quality services;

[0154] b. No over-issuance: The reward center is designed with full-link idempotency. The upstream message carries source+msg_id, the intermediate write database sets a DB unique key to prevent duplicate consumption, and the downstream provides an idempotent issuance interface to ensure that rewards will not be over-issued no matter how many times they are retried;

[0155] c. No missed delivery: Retry at each level. Because the award control system has multiple asynchronous processes, a corresponding retry strategy is set for each step to avoid missed delivery due to link interruptions.

[0156] In order to meet the changes and uncertainties of a large number of award-giving businesses and maintain adaptability in this situation, the same is true for the design of the system. There are too many external variables, and we cannot just think about the problem in an ideal state. Therefore, the award-giving control system has made a lot of detailed designs in fault tolerance:

[0157] 1. Fast and slow channels

[0158] Since the award-giving business is prone to a large number of award-giving messages flooding into the queue, such as Figure 6 As shown in the figure, if the award control system does not perform message classification and isolation, the consumption of award messages for high-priority services will be delayed.

[0159] Considering that live broadcasting can be divided into two types of services, high-priority and low-priority, low-priority services generally have a relatively large amount of rewards due to their lower thresholds, such as: users watching live broadcasts get lottery tickets. High-priority services often have a relatively small amount of rewards, such as: users consuming batteries to participate in activities to get rewards. The difference is that these two types of services are each sensitive to the timeliness of issuance. Low-priority services are not sensitive to timeliness and can accept delayed issuance; high-priority services are sensitive to timeliness, and delayed receipt of rewards can easily lead to a decrease in user experience and even customer complaints.

[0160] The award control system allows businesses to independently select fast or slow channels. The upstream can select fast or slow channels based on whether the business can tolerate delays, thus meeting business needs in different scenarios.

[0161] 2. Multi-level queues

[0162] As a general reward center, it must ensure the normal issuance of upstream businesses and protect downstream businesses from being overwhelmed. In view of these two characteristics, the solution design considers building a multi-level queue to meet the needs.

[0163] The first-level queue uses two sets of databuses to isolate fast and slow channels and solve the resource competition problem of upstream services. The second-level queue is different in design:

[0164] a. The secondary queue of the slow channel is split according to the prize type. Each prize type is split into several sub-queues, and each sub-queue has an independent consumer coroutine responsible for processing the prize distribution. In order to reduce the system operation and maintenance burden, the slow queue is designed with a redis list structure, but the availability of redis is slightly lower than that of databus. In the event of an unexpected situation, data may be lost. Considering that the slow queue is not sensitive to the timeliness of prize distribution, adding an offline compensation mechanism to the solution can solve this problem and ensure the stability of the slow channel;

[0165] b. The fast channel is aggregated according to the reward type and divided into three types: fast, medium and slow. Three sets of databus queues are applied. The division is still based on the live broadcast scenario. For example, the popular red envelope reward requires that the anchor must be on the air to be successfully issued. This type of prize has high timeliness requirements, so it will be classified into the fast queue. Prizes such as Tencent games have large supplier interface delays, which may cause consumption congestion if placed in the fast queue. Therefore, they are placed in the slow queue for consumption separately to ensure that different prize types do not affect each other.

[0166] With the secondary queue, the message consumption process can be flexibly limited. When multiple businesses are caught in resource competition, manual intervention can be performed to ensure that high-level businesses take precedence. At the same time, the access of new reward types does not require separate consideration of service operation and maintenance, which improves the efficiency of reward access.

[0167] 3. Idempotent Design

[0168] After receiving the message, the first-level message processor first obtains the reward package sub-rewards. If an exception occurs in this step, it will directly return a message retry signal and wait for the consumer to retry.

[0169] Then all the rewards contained in the package are encapsulated, and then the database is divided and written into tables according to uid%64. Here, the idempotence judgment of awarding is realized through the DB combined unique key souce+msgId+awardTypeId+awardId+uid. If an award record already exists, this write is skipped. After that, the secondary queue is transferred according to the respective award links of the fast and slow queues to prevent message backlogs caused by the slow processing of a downstream award, which leads to a decline in the overall consumption throughput.

[0170] 4. Retry design

[0171] The secondary queue consumer monitors the secondary queue message at any time. After receiving the award message, it interacts with the downstream according to the different award types. After getting the result, it updates the DB status (if it fails, the number of retries will be accumulated). The binlog generated by the update will be monitored by canal. If an abnormality is encountered and a retry is required, the message will be written to the tertiary queue. This queue is mainly used for reward retries. The delay queue designed based on the rediszset structure performs exponential backoff retries to award prizes. According to 2^0s→2^1s→2^2s→...→2^12s, it automatically retries 13 times, which takes about 2 hours. If it has not recovered, it is determined that the downstream is unavailable and no further retries are made to wait for manual intervention. Figure 7 Shown is a flow chart of a message retry process.

[0172] 5. Offline compensation

[0173] As long as the award record is successfully entered into the table, the final award must be made no matter what. Therefore, an offline compensation solution is specially designed for this purpose. Through the job, the status records of unfinished awards in the offline database are retrieved regularly and retried to distribute them. This can ensure a bottom line in the worst case and maximize the accessibility of the award.

[0174] 6. Business access

[0175] In order to reduce upstream access costs, the Reward Center has designed a message format that is easy to understand and simple to access, while supporting future expansion. The message format is as follows:

[0176] MQ message body

[0177] {

[0178] "source":"(int64) Business source, issued by the Reward Center",

[0179] "msg_id":"(string) message id. The message id under the same delivery source must be unique",

[0180] "uids":"([]int64) The target uid for sending rewards. Supports sending rewards to multiple people in a single message",

[0181] "package_id":"(string) Reward package ID, which contains multiple sub-rewards",

[0182] "msg_time":"(int64) business party timestamp, by default not transmitted and the time received by the downstream is used for processing",

[0183] "extra_data":"(string)Extended fields, json format, for extension-oriented",

[0184] "business_type":"(string)Business type, statistics used",

[0185] "business_id":"(string)Business ID, statistics usage",

[0186] "expire_time":"(int64) dynamic expiration timestamp, this time will overwrite the expiration time configured in the package"

[0187] }

[0188] extra_data format:

[0189] {

[0190] "lottery":{

[0191] "count":"(int64) The number of packages to be distributed. Add * count to the number of existing package rewards to get the final number of packages to be distributed"},

[0192] "send_gold_seeds_package":{

[0193] "room_id":"(int64) The live room id sent",

[0194] "ruid":"(int64) The ID of the streamer sent"}

[0195] }

[0196] The above messages basically meet the semantics: xx reward is issued to xx user, which is easy to understand. The idempotent key has been agreed upon in the message body, and the joint idempotent key is composed of source+msg_id to prevent over-issuance. In addition, extra_data is also supported for some specific scenarios, such as dynamic quantity, dynamic live broadcast room, etc. If there is an expansion demand in the future, it can be continuously iterated based on this.

[0197] 7. Reward configuration

[0198] The above distribution conditions include package_id, which refers to the reward package. It encapsulates all the prize parameters required for awarding prizes. Prize configuration is performed through the visual panel. Prize configuration is mainly divided into 4 parts:

[0199] a. Package ID: Different package IDs can be generated by editing different numbers. If you want to put multiple prizes into the same package, you can set the same number for them;

[0200] b. Basic attributes: Select the reward type, and then configure the reward ID, quantity, and validity period according to the attributes corresponding to the type. Different types have different attributes, which depend on the server.

[0201] c. Extended attributes: Different prize types have different award parameters. Extended attributes are added according to the reward type so that they can be carried as parameters when issuing prizes.

[0202] d. Display configuration: used for C-end display.

[0203] The server can use the interface to tell the configuration backend how to render the configuration panel, so that when adding new prize types, there is no need for the backend to intervene in the development, thereby improving production efficiency.

[0204] 8. New reward types added

[0205] As a general award control system, quick and efficient access to new prize types should be given top priority. The system has designed standard award distribution and recovery interfaces to enable rapid access to new types of capabilities.

[0206] After the reward distribution interface obtains the upstream reward package configuration data and distribution message parameters, it first verifies the parameters, calculates the expiration time of the reward, and calls the downstream interface to distribute the reward. Since the downstream interface implementation standards are not unified, such as not supporting batch user distribution, the reward itself needs to do a layer of adaptation conversion, and finally give the upstream result. The result returns the user ID of the successful distribution, the user ID of the failed distribution, the user ID that needs to be retried, and the specific error details of the failure. The upstream then performs the corresponding process operation according to the return value.

[0207] 9. Data Monitoring

[0208] The system currently has tracking points related to reward issuance records, which can observe the issuance of various types of prizes within a period of time. Through monitoring, rewards with excessively high slopes for individual items can be analyzed, and targeted governance (speeding up, isolation, speed limiting) can be implemented.

[0209] In this embodiment, a multi-level queue is designed to process award messages to achieve prize distribution. The first-level queue can be used for channel isolation, such as fast and slow channel isolation, to solve the problem of resource competition of upstream services. The system provides the ability for upstream awarding services to independently select fast and slow channels. The upstream can select fast and slow channels based on whether the service source tolerates delays, which can meet the service needs in different scenarios. For example, a fast channel is selected for a service source that is sensitive to timeliness, and a slow channel is selected for a service source that is not sensitive to timeliness. The second-level queue can flexibly limit the speed of the consumption process of award messages. When multiple services are caught in resource competition, manual intervention can also be performed to ensure that high-level services go first. At the same time, the access of new reward types does not need to consider service operation and maintenance separately, which improves the efficiency of reward access.

[0210] Embodiment 2

[0211] Figure 8 The block diagram of the award control system according to the second embodiment of the present application is schematically shown. The system can be divided into one or more program modules, one or more program modules are stored in a storage medium, and are executed by one or more processors to complete the embodiment of the present application. The program module referred to in the embodiment of the present application refers to a series of computer program instruction segments that can complete specific functions. The following description will specifically introduce the functions of each program module in this embodiment. Figure 8 As shown, the award control system 800 may include: an award message receiving module 801, a primary queue message publishing module 802, a secondary queue message publishing module 803, and an award distribution module 804, wherein:

[0212] The award message receiving module 801 is used to receive an award message, wherein the award message includes a business source and a prize type;

[0213] The first-level queue message publishing module 802 is used to publish the award message to the target channel of the first-level queue according to the business source;

[0214] The secondary queue message publishing module 803 is used to integrate the prize-giving messages in the target channel according to the prize type, and publish the integrated prize-giving messages to the target sub-queue of the secondary queue;

[0215] The prize distribution module 804 is used to consume the prize distribution message in the target sub-queue to implement prize distribution.

[0216] In an optional embodiment of the present application, the system further includes:

[0217] The configuration module is used to obtain prize configuration data and configure prize package parameters in the prize distribution control system according to the prize configuration data.

[0218] In an optional embodiment of the present application, the secondary queue message publishing module 803 includes:

[0219] The first message publishing module is used to split the prize-giving message in the secondary queue into multiple sub-prize-giving messages according to the prize type when the target channel is a slow channel; determine the first target sub-queue matching each sub-prize-giving message respectively, and publish the multiple sub-prize-giving messages to the first target sub-queue of the secondary queue, wherein the data structure of the first target sub-queue is a Redis List structure.

[0220] In an optional embodiment of the present application, the secondary queue message publishing module 803 includes:

[0221] The first message publishing module is used to aggregate the awarding messages in the secondary queue according to the prize type to obtain messages of multiple delayed types when the target channel is a fast channel; determine the second target sub-queue matching each delay type of message respectively, and publish the multiple delay types of messages to the second target sub-queue of the secondary queue, wherein the data structure of the second target sub-queue is a Databus structure.

[0222] In an optional embodiment of the present application, the system further includes:

[0223] The data writing module is used to generate a unique key value for the awarding message, and record the awarding message in a preset database according to the unique key value.

[0224] In an optional embodiment of the present application, the prize distribution module 804 is specifically used for:

[0225] An idempotent processing method is adopted to consume the awarding message in the target subqueue according to the unique key value to realize awarding of awards.

[0226] In an optional embodiment of the present application, the system further includes:

[0227] The award status updating module is used to update the award status corresponding to the award message in the preset database after consuming the award message in the target sub-queue.

[0228] In an optional embodiment of the present application, the system further includes:

[0229] The message retry module is used to retry the awarding message according to the unique key value when the awarding is abnormal.

[0230] In an optional embodiment of the present application, the award control system further includes a three-level queue, and the message retry module is specifically used for:

[0231] In the case of abnormal awarding, publishing the awarding message to the third-level queue according to the unique key value;

[0232] The awarding message in the three-level queue is retried by exponential backoff.

[0233] In an optional embodiment of the present application, the message retry module is specifically used to:

[0234] The number of retries of each awarding message in the three-level queue is counted, and when the number of retries is greater than a preset value, the retry process is terminated.

[0235] In an optional embodiment of the present application, the system further includes:

[0236] The offline compensation module is used to determine the awarding message whose awarding status is incomplete from the preset database according to the preset time length, and retry the awarding message whose awarding status is incomplete.

[0237] Embodiment 3

[0238] Fig. 9The schematic diagram of the hardware architecture of a computer device 10000 suitable for implementing the award control method according to the third embodiment of the present application is schematically shown. In some embodiments, the computer device 10000 may be a terminal device such as a smart phone, a wearable device, a tablet computer, a personal computer, a vehicle terminal, a game console, a virtual device, a workbench, a digital assistant, a set-top box, a robot, etc. In other embodiments, the computer device 10000 may be a rack server, a blade server, a tower server, or a cabinet server (including an independent server, or a server cluster composed of multiple servers), etc. Fig. 9 As shown, the computer device 10000 includes but is not limited to: a memory 10010, a processor 10020, and a network interface 10030 that can communicate with each other through a system bus. Among them:

[0239] The memory 10010 includes at least one type of computer-readable storage medium, and the readable storage medium includes a flash memory, a hard disk, a multimedia card, a card-type memory (such as an SD or DX memory), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the memory 10010 may be an internal storage module of the computer device 10000, such as a hard disk or a memory of the computer device 10000. In other embodiments, the memory 10010 may also be an external storage device of the computer device 10000, such as a plug-in hard disk equipped on the computer device 10000, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Of course, the memory 10010 may also include both the internal storage module of the computer device 10000 and its external storage device. In this embodiment, the memory 10010 is generally used to store the operating system and various application software installed in the computer device 10000, such as the program code of the award control method, etc. In addition, the memory 10010 can also be used to temporarily store various data that have been output or will be output.

[0240] In some embodiments, the processor 10020 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other chips. The processor 10020 is generally used to control the overall operation of the computer device 10000, such as performing control and processing related to data interaction or communication with the computer device 10000. In this embodiment, the processor 10020 is used to run the program code stored in the memory 10010 or process data.

[0241] The network interface 10030 may include a wireless network interface or a wired network interface, and the network interface 10030 is generally used to establish a communication link between the computer device 10000 and other computer devices. For example, the network interface 10030 is used to connect the computer device 10000 to an external terminal through a network, and to establish a data transmission channel and a communication link between the computer device 10000 and the external terminal. The network may be a wireless or wired network such as an intranet, the Internet, the Global System of Mobile communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network, 5G network, Bluetooth, Wi-Fi, etc.

[0242] It should be pointed out that Fig. 9 Only a computer device having components 10010 - 10030 is shown, but it should be understood that implementation of all of the components shown is not a requirement, and more or fewer components may alternatively be implemented.

[0243] In this embodiment, the award control method stored in the memory 10010 can also be divided into one or more program modules and executed by one or more processors (such as processor 10020) to complete the embodiment of the present application.

[0244] Embodiment 4

[0245] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the award control method in the embodiment are implemented.

[0246] In this embodiment, the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the computer-readable storage medium can be an internal storage unit of a computer device, such as a hard disk or memory of the computer device. In other embodiments, the computer-readable storage medium can also be an external storage device of a computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Of course, the computer-readable storage medium can also include both the internal storage unit of the computer device and its external storage device. In this embodiment, the computer-readable storage medium is generally used to store the operating system and various application software installed on the computer device, such as the program code of the award control method in the embodiment. In addition, the computer-readable storage medium can also be used to temporarily store various types of data that have been output or are to be output.

[0247] Embodiment 5

[0248] An embodiment of the present application also provides a computer program product, including a computer program, which implements the method in the above embodiment when executed by a processor.

[0249] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present application can be implemented by general-purpose computer devices, they can be concentrated on a single computer device, or distributed on a network composed of multiple computer devices, and optionally, they can be implemented by executable program codes of computer devices, so that they can be stored in a storage system and executed by the computer device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0250] It should be noted that the above are only preferred embodiments of the present application, and the patent protection scope of the present application is not limited thereto. Any equivalent structure or equivalent process transformation made using the contents of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for controlling awarding prizes, characterized in that: Applied to a prize distribution control system, the prize distribution control system includes a primary queue and a secondary queue, and the method includes: Receiving a prize distribution message, wherein the prize distribution message includes a business source and a prize type; Publishing the award message to the target channel of the first-level queue according to the business source; Integrate the awarding messages in the target channel according to the award type, and publish the integrated awarding messages to the target sub-queue of the secondary queue; The awarding message in the target subqueue is consumed to implement awarding of awards.

2. The award control method according to claim 1, characterized in that: Before the step of receiving the award message, the method further includes: The prize configuration data is obtained, and the prize package parameters in the prize distribution control system are configured according to the prize configuration data.

3. The award control method according to claim 1, characterized in that: The step of integrating the prize-giving messages in the target channel according to the prize type and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue includes: In the case where the target channel is a slow channel, the prize distribution message in the secondary queue is split according to the prize type to obtain a plurality of sub-prize distribution messages; A first target sub-queue matching each sub-awarding message is determined respectively, and the multiple sub-awarding messages are published to the first target sub-queue of the secondary queue, wherein the data structure of the first target sub-queue is a RedisList structure.

4. The award control method according to claim 1, characterized in that: The step of integrating the prize-giving messages in the target channel according to the prize type and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue includes: In the case where the target channel is a fast channel, the awarding messages in the secondary queue are aggregated according to the award type to obtain messages of multiple delay types; A second target subqueue matching each delay type of message is determined respectively, and the messages of the multiple delay types are published to the second target subqueue of the secondary queue, wherein the data structure of the second target subqueue is a Databus structure.

5. The award control method according to claim 1, characterized in that: After the step of publishing the award message to the target channel of the first-level queue according to the business source, the method further includes: A unique key value is generated for the awarding message, and the awarding message is recorded in a preset database according to the unique key value.

6. The award control method according to claim 5, characterized in that: The consuming the awarding message in the target subqueue to achieve awarding of awards includes: An idempotent processing method is adopted to consume the awarding message in the target subqueue according to the unique key value to realize awarding of awards.

7. The award control method according to claim 5, characterized in that: The method further comprises: After consuming the awarding message in the target sub-queue, the awarding status corresponding to the awarding message in the preset database is updated.

8. The award control method according to claim 5, characterized in that: The method further comprises: In the case of an abnormal awarding, the awarding message is retried according to the unique key value.

9. The award control method according to claim 8, characterized in that: The award control system further includes a three-level queue, and in the case of abnormal award, the award message is retried according to the unique key value, including: In the case of abnormal awarding, publishing the awarding message to the third-level queue according to the unique key value; The awarding message in the three-level queue is retried by exponential backoff.

10. The award control method according to claim 9, characterized in that: The method further comprises: The number of retries of each awarding message in the three-level queue is counted, and when the number of retries is greater than a preset value, the retry process is terminated.

11. The award control method according to claim 5, characterized in that: The method further comprises: According to the preset time length, determine the awarding message whose awarding status is incomplete from the preset database, and retry the awarding message whose awarding status is incomplete.

12. A prize distribution control system, characterized in that: include: An award message receiving module, used to receive an award message, wherein the award message includes a business source and a prize type; A first-level queue message publishing module, used for publishing the award message to the target channel of the first-level queue according to the business source; A secondary queue message publishing module, used for integrating the prize-giving messages in the target channel according to the prize type, and publishing the integrated prize-giving messages to the target sub-queue of the secondary queue; The prize distribution module is used to consume the prize distribution message in the target sub-queue to realize prize distribution.

13. A computer device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein: The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the award control method according to any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the award control method according to any one of claims 1 to 11 is implemented.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the award control method described in claims 1 to 11 are implemented.