A lottery method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202411996549.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2044-12-31
AI Technical Summary
[0003]目前,在游戏全服抽奖活动中,一般需读取需抽奖的玩家的所有抽奖相关的数据到内存中进行抽奖操作,但由于参与玩家的数量较多,因此需要较大的内存空间和计算量,从而导致在进行游戏全服抽奖活动时存在较大的性能压力
Smart Images

Figure CN119991202B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data processing technology, specifically to a lottery method, apparatus, electronic device, and storage medium. Background Technology
[0002] The rise of the internet and the continuous development and evolution of hardware and software technologies have spurred the emergence of smart devices and software. Simultaneously, a large number of games of various themes have sprung up to meet user needs. Game operations often incorporate in-game events to enhance player activity, such as server-wide lottery events, where multiple players participate in a draw.
[0003] Currently, in server-wide lottery events, it is generally necessary to read all lottery-related data of the players who want to participate into memory for the lottery operation. However, due to the large number of participating players, a large amount of memory space and computation is required, resulting in significant performance pressure when conducting server-wide lottery events. Summary of the Invention
[0004] This application provides a lottery method, apparatus, electronic device, and storage medium that can alleviate the performance pressure during a server-wide lottery event in a game.
[0005] In a first aspect, embodiments of this application provide a lottery method, the method comprising:
[0006] Obtain the user identity information and lottery instruction parameters of multiple candidate users to be drawn;
[0007] Determine the number of candidate users corresponding to each of the above lottery indicator parameters;
[0008] Determine the target lottery indicator parameters for participating in the lottery from the above lottery indicator parameters;
[0009] Based on the number of users corresponding to the above target lottery indication parameters, and the user identity information of each of the above candidate users, the winning users are determined from the candidate users corresponding to the above target lottery indication parameters.
[0010] Secondly, embodiments of this application provide a lottery device, the device comprising:
[0011] The parameter acquisition module is used to acquire the user identity information and lottery instruction parameters of multiple candidate users to be drawn;
[0012] The quantity determination module is used to determine the number of candidate users corresponding to each of the above lottery indication parameters;
[0013] The parameter determination module is used to determine the target lottery indication parameter for participating in the lottery from the above lottery indication parameters.
[0014] The user determination module is used to determine the winning user from the candidate users corresponding to the target lottery indication parameters based on the number of users corresponding to the target lottery indication parameters and the user identity information of each candidate user.
[0015] Thirdly, embodiments of this application also provide an electronic device, including a memory storing multiple instructions; a processor loads instructions from the memory to execute the steps of any of the lottery methods provided in embodiments of this application.
[0016] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute the steps of any of the lottery methods provided in embodiments of this application.
[0017] Fifthly, embodiments of this application also provide a computer program product, including a computer program or instructions, which, when executed by a processor, implement the steps in any of the lottery methods provided in embodiments of this application.
[0018] The solution adopted in this application embodiment can obtain the user identity information and lottery indication parameters of multiple candidate users to be drawn, determine the number of candidate users corresponding to each of the above lottery indication parameters, then determine the target lottery indication parameter to participate in the lottery from the above lottery indication parameters, and finally, based on the number of users corresponding to the target lottery indication parameter and the user identity information of each of the above candidate users, determine the winning user from the candidate users corresponding to the target lottery indication parameter. Thus, it is only necessary to determine the target lottery indication parameter to participate in the lottery from multiple lottery indication parameters, and select the winning user from the candidate users corresponding to the target lottery indication parameter. This avoids the process of reading lottery-related data of all candidate users for lottery purposes, and greatly reduces the performance pressure when conducting a game server-wide lottery activity. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic flowchart of one embodiment of the lottery method provided in this application;
[0021] Figure 2 This is a schematic diagram of the lottery method provided in the embodiments of this application;
[0022] Figure 3 This is a schematic diagram of the lottery device provided in the embodiments of this application;
[0023] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0024] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. At the same time, in the description of the embodiments of this application, the terms "first," "second," etc., are only used to distinguish descriptions and should not be construed as indicating or implying relative importance. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0025] This application provides a lottery method, apparatus, electronic device, and computer-readable storage medium.
[0026] Specifically, this embodiment will be described from the perspective of a lottery device, which can be integrated into an electronic device. That is, the lottery method of this embodiment can be executed by an electronic device. Optionally, the electronic device may include a terminal device. The terminal device may be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, game console, or personal computer (PC), etc.
[0027] The lottery method provided in this application can be applied to a lottery system. This lottery system can include a player terminal device and a server. The terminal can be a device that includes both receiving and transmitting hardware, i.e., a device with receiving and transmitting hardware capable of performing bidirectional communication over a bidirectional communication link. The player terminal device and the server can communicate bidirectionally via a network.
[0028] Optionally, the server can be a standalone server, or a server network or server cluster, including but not limited to computers, network hosts, single network servers, multiple network server sets, or cloud servers composed of multiple servers. Cloud servers consist of a large number of computers or network servers based on cloud computing.
[0029] The following detailed description is provided in conjunction with the accompanying drawings. In this embodiment, the execution subject is a terminal device as an example. It should be noted that the order of description in the following embodiments is not intended to limit the preferred order of the embodiments. Although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be performed in a different order than that shown in the accompanying drawings.
[0030] The lottery method of this embodiment can obtain the user identity information and lottery instruction parameters of multiple candidate users to be lotteryd; determine the number of candidate users corresponding to each of the above lottery instruction parameters; determine the target lottery instruction parameter to participate in the lottery from the above lottery instruction parameters; and determine the winning user from the candidate users corresponding to the target lottery instruction parameter based on the number of users corresponding to the target lottery instruction parameter and the above user identity information of each of the above candidate users. This can reduce the performance pressure when conducting a game server-wide lottery activity.
[0031] Please refer to Figure 1 Taking a terminal as an example, this embodiment provides a lottery method. The specific process of this lottery method can be described in the following steps 101 to 104, wherein:
[0032] Step 101: Obtain the user identity information and lottery instruction parameters of multiple candidate users to be drawn.
[0033] Among them, the above-mentioned candidate users are those who participate in the lottery and meet the corresponding lottery conditions. Different lottery activities have different lottery conditions. For example, some activities require players to complete specific tasks or activities, and some lottery activities require players to log in to the game within a specific time period. The specific conditions can be set according to the needs and are not limited here.
[0034] In this embodiment, by obtaining the user identity information and lottery instruction parameters of multiple candidate users to be drawn, the winning user can be selected from the candidate users according to the user identity information and lottery instruction parameters when the corresponding lottery activity is held.
[0035] The aforementioned user identity information is used to indicate the identity of the candidate user, such as user account ID, username, etc. The specific settings can be configured according to needs and are not limited here.
[0036] The aforementioned lottery indication parameters are parameters that influence a candidate user's chances of winning when participating in a game lottery. These parameters include, but are not limited to, the user's server ID, the timestamp of the lottery when the user participates, and user weight indication parameters. The specific parameters can be set according to the lottery algorithm corresponding to the lottery activity and are not limited here. For example, if the lottery algorithm is a uniform random lottery algorithm, then the lottery indication parameters may include the user's server ID and the timestamp of the lottery when the user participates; if the lottery algorithm is a weighted random lottery algorithm, then the lottery indication parameters may include user weight indication parameters.
[0037] The aforementioned user server ID is used to indicate the ID of the server associated with the client to which the candidate user belongs; the lottery timestamp can be the time information triggered by the candidate user in the lottery activity, such as the time when the candidate user's user identity information and lottery indication parameters are obtained, or the time when the candidate user is triggered in a non-lottery activity in the game; the aforementioned user weight indication parameter is used to indicate the basic weight configured for the candidate user, which is used to control the candidate user's winning probability when participating in the lottery, and the larger the basic weight, the higher the winning probability.
[0038] Understandably, to enhance the fun and interactivity of the game, the lottery indicator parameters can be linked to the user's performance in the game. Specifically, the terminal can set multiple user attribute ranges based on the user's performance in the game, and different user attribute ranges correspond to different lottery indicator parameters. The corresponding lottery indicator parameters are determined according to the user attribute range corresponding to different user performance in the game, such as user weight indicator parameters. Different user weight indicator parameters correspond to different user attribute ranges. The aforementioned user attribute ranges can be set based on the user's VIP level in the game, the user's player growth level in the game, or the character attribute values of the game character controlled by the user, etc. The specific settings can be configured according to needs and are not limited here.
[0039] For example, the parameter configuration table is shown below:
[0040] 1 1-100 15 2 101-200 15 3 201-300 20 4 301-400 20 5 401-500 30
[0041] The user weight indicator parameters are set as weight number 1, weight number 2, weight number 3, weight number 4, and weight number 5. Each weight number corresponds to a different range of user attributes. For example, weight number 1 corresponds to the user attribute range of player growth level 1 to player growth level 100, weight number 2 corresponds to the user attribute range of player growth level 101 to player growth level 200, weight number 3 corresponds to the user attribute range of player growth level 201 to player growth level 300, weight number 4 corresponds to the user attribute range of player growth level 301 to player growth level 400, and weight number 5 corresponds to the user attribute range of player growth level 401 to player growth level 500.
[0042] Furthermore, the table also sets a base weight for each user weight indicator parameter. For example, the base weight for weight number 1 is 15, the base weight for weight number 2 is 15, the base weight for weight number 3 is 20, the base weight for weight number 4 is 20, and the base weight for weight number 5 is 30, so as to indicate the winning probability corresponding to the corresponding user weight indicator parameter through the base weight.
[0043] In the example, based on the table above, the lottery indicator parameters for candidate users (such as user weight indicator parameters) can be clearly defined. If a candidate user's player growth level is between player growth level 1 and player growth level 100, then weight number 1 will be used as the candidate user's lottery indicator parameter; if a candidate user's player growth level is between player growth level 101 and player growth level 200, then weight number 2 will be used as the candidate user's lottery indicator parameter; if a candidate user's player growth level is between player growth level 201 and player growth level 300, then weight number 3 will be used as the candidate user's lottery indicator parameter; if a candidate user's player growth level is between player growth level 301 and player growth level 400, then weight number 4 will be used as the candidate user's lottery indicator parameter; and if a candidate user's player growth level is between player growth level 401 and player growth level 500, then weight number 5 will be used as the candidate user's lottery indicator parameter.
[0044] Understandably, the above parameter configuration table can be adjusted according to needs. For example, it can be designed based on VIP level rather than player growth level. By modifying the parameter configuration table in the database, such as storing the parameter configuration table in Redis, if the basic weight needs to be modified, only the basic weight in the parameter configuration table needs to be modified. In the algorithm steps, the modified parameter configuration table will take effect, without needing to modify the user data of all related candidate users in the Redis data, such as the user data related to weights. This avoids the amount of data that needs to be modified when configuring a basic weight for each candidate user and storing the basic weight configured for each candidate user in association.
[0045] It is understandable that when the lottery indicator parameters of a candidate user change, the lottery indicator parameters of the candidate user can be retrieved again before the lottery draw.
[0046] In some embodiments, since each candidate user corresponds to a lottery indication parameter, and the lottery indication parameters corresponding to different candidate users may be the same or different, in order to better arrange the user data of candidate users so as to quickly query the user identity information of the corresponding winning user from the arranged user data, the terminal can store the user identity information and lottery indication parameters of each candidate user based on the lottery indication parameters when storing the user identity information and lottery indication parameters of each candidate user.
[0047] Specifically, the above-mentioned lottery indication parameters can be configured with a parameter order, such as weight number 1 to weight number 5 in the above parameter configuration table. Then, the user identity information of multiple candidate users can be arranged in an orderly manner in the storage space according to the parameter order of the above-mentioned lottery indication parameters, and the user identity information corresponding to the same lottery indication parameter is arranged adjacently.
[0048] For example, if the lottery indicator parameter is a user weight indicator parameter, there is a certain order between the weight numbers corresponding to different user attribute ranges, that is, the higher the user attribute range, the larger the weight number. Then, the user identity information of the candidate users corresponding to each weight number can be arranged according to the order of the weight numbers. For example, based on the above parameter configuration table, the user identity information of the candidate user with weight number 1 is arranged and stored first, then the user identity information of the candidate user with weight number 2 is arranged and stored, then the user identity information of the candidate user with weight number 3 is arranged and stored, then the user identity information of the candidate user with weight number 4 is arranged and stored, and finally, the user identity information of the candidate user with weight number 5 is arranged and stored.
[0049] In some embodiments, the storage space includes a sorted set of zsets in a Redis database, wherein the user identity information of the candidate user in the sorted set of zsets is a member value, and the lottery indication parameter is a score value.
[0050] The Redis database mentioned above is an in-memory database. Unlike traditional databases, it stores the acquired data in memory. High availability of data storage can be achieved by deploying a cluster. Furthermore, using Redis to store and retrieve candidate user data reduces the read and write performance pressure on the database storing the original business data. This alleviates the performance pressure of data storage and retrieval when the total amount of lottery user data across the server is large.
[0051] It is understandable that by storing the user identity information and lottery indication parameters of multiple candidate users in a zset ordered set in the form of member-score, the user identity information of multiple candidate users in the zset ordered set can be arranged and stored according to the parameter order of the lottery indication parameters. Thus, when needed, user identity information within a certain range can be selected according to the range of the lottery indication parameters.
[0052] Furthermore, since there may be multiple lottery activities, and / or multiple lottery cycles for the same lottery activity, i.e., each time period is a lottery cycle, and a user lottery is completed once within a lottery cycle to select the corresponding winning user, in order to be able to distinguish the sorted sets of different lottery activities and / or lottery activities under different lottery cycles in the Redis database, so as to obtain the user data of the candidate user from the correct sorted set, in the Redis database of this embodiment, the corresponding activity time identifier can also be associated with the sorted set of the sorted set for storage.
[0053] The aforementioned activity time identifier is used to identify a lottery activity, or different lottery periods of the same lottery activity. The activity time identifier can be obtained by combining at least one piece of information such as the lottery activity name, lottery period, and the draw time in the lottery period. For example, the combined information can be encoded to obtain the activity time identifier, which makes it easier to distinguish between different draw periods.
[0054] Specifically, since Redis databases can store data in key-value format, each lottery draw data in Redis database can be stored using the activity time identifier as the key and the sorted set (zset) as the value.
[0055] In some embodiments, since it may be necessary to monitor multiple lottery activities simultaneously, and different lottery periods for multiple lottery activities, timers can be set for different lottery activities or different lottery periods for lottery activities. When the lottery draw time specified by the timer is reached, the lottery draw logic in the corresponding lottery activity's lottery algorithm can be executed to select the corresponding winning user. Information such as the lottery draw time, number of winners, and prize rewards can be configured for each lottery through a configuration table.
[0056] In some embodiments, in order to further improve the efficiency of determining the winning user in a lottery, different nodes can be set up to handle different tasks. For example, the lottery method described above can be applied to a lottery center node to execute the various steps in the lottery method. The lottery center node is connected to multiple lottery child nodes so that different lottery child nodes can upload the user identity information and lottery instruction parameters of the candidate users to the lottery center node, thereby reducing the time required for the lottery center node to calculate the lottery instruction parameters using the user data of the candidate users.
[0057] Specifically, obtaining the user identity information and lottery instruction parameters of multiple candidate users to be drawn can include: obtaining the user identity information and lottery instruction parameters of multiple candidate users sent by multiple lottery sub-nodes through the lottery center node, and storing the user identity information and lottery instruction parameters of multiple candidate users in the storage space.
[0058] One lottery sub-node can correspond to at least one candidate user, which is used to upload the user identity information and lottery instruction parameters of at least one candidate user.
[0059] In some embodiments, after storing the user identity information and lottery instruction parameters of multiple candidate users, the lottery center node can also control the deadline for obtaining the user identity information and lottery instruction parameters of candidate users, i.e. the registration deadline for the lottery activity, as well as the selection of winning users, the lottery opening time, and the synchronization of winning users.
[0060] The above-mentioned registration deadline can be limited based on the time of the lottery event or the number of participants. For example, the deadline can be determined by the maximum number of participants. If the deadline is not met, the application of the candidate user can be rejected.
[0061] For example, such as Figure 2 As shown, Figure 2 The central node for the lottery is set in the global central server, and multiple sub-nodes for the lottery are set in the respective game servers, such as... Figure 2Game Server 1, Game Server 2, ..., Game Server n, with different candidate user clients connected to the game servers, are used to upload candidate user data, such as user identity information and game level information, to the game servers. This allows the lottery sub-nodes in the game servers to determine the lottery instruction parameters for each candidate user based on their user data. These lottery instruction parameters and user identity information are then uploaded to the lottery center node, which stores the candidate user's lottery instruction parameters and user identity information in a Redis database. Both the overall server center and the game servers can be servers.
[0062] Specifically, the implementation of node functions in the above-mentioned lottery center node and lottery sub-nodes can vary depending on the project. For example, they can be deployed as microservices or as logical entities deployed as processes on the game server. The specific settings can be configured according to the requirements and are not limited here.
[0063] For example, some projects use a microservices architecture, so the server-wide lottery can be broken down into a server-wide lottery center service and server-wide lottery sub-services. Some projects do not use a microservices architecture, and the business logic coexists in a single process as objects. In this case, the deployment is split into a server-wide lottery center object and server-wide lottery sub-service objects.
[0064] Step 102: Determine the number of candidate users corresponding to each of the above lottery indicator parameters.
[0065] In this embodiment, since different candidate users may have the same lottery indication parameters, that is, the probability of winning is the same, the number of candidate users corresponding to each lottery indication parameter can be counted, so as to execute the corresponding lottery algorithm according to the distribution of candidate users on the lottery indication parameters, and select the winning user.
[0066] Specifically, if the lottery indicator parameter is set to a weight number, the number of users corresponding to each weight number can be counted. This can be done using the `zcount` command of a `zset` in a Redis database. Then, the number of users corresponding to all weight numbers is obtained, forming a count hash table. In this table, the key is the weight number, and the value is the number of users.
[0067] For example, the zcount command can be used to count the number of users corresponding to each weight number to obtain a count hash table {1:150000,2:100000,3:200000,4:100000,5:50000}, where weight number 1 corresponds to 150000 users, weight number 2 corresponds to 100000 users, weight number 3 corresponds to 200000 users, weight number 4 corresponds to 100000 users, and weight number 5 corresponds to 50000 users.
[0068] Step 103: Determine the target lottery indicator parameter from the above lottery indicator parameters.
[0069] In this embodiment, a target lottery indicator parameter for participating in the lottery is determined from a number of lottery indicator parameters, so that winning users within the range corresponding to the target lottery indicator parameter can be selected based on the target lottery indicator parameter.
[0070] Understandably, in some extreme cases, some lottery indicator parameters may correspond to a candidate user count of 0. Therefore, multiple lottery indicator parameters can be filtered first to identify those with a candidate user count of 0, and then the target lottery indicator parameter for the lottery can be determined from the remaining lottery indicator parameters.
[0071] Specifically, the target lottery indicator parameters mentioned above can be obtained using a weighted random algorithm. For example, the random.choices function in Python can perform weighted random processing to obtain the target lottery indicator parameters.
[0072] Specifically, determining the target lottery indicator parameter for participating in the lottery from the aforementioned lottery indicator parameters includes: obtaining the basic weights configured for each of the aforementioned lottery indicator parameters, and then determining the target lottery indicator parameter for participating in the lottery based on the basic weights of each of the aforementioned lottery indicator parameters.
[0073] Specifically, the basic weights can be updated based on the number of users to update the target weights of each lottery indicator parameter. These target weights are used to indicate the selection probability corresponding to each lottery indicator parameter. That is, determining the target lottery indicator parameter for participating in the lottery from the above lottery indicator parameters can include: obtaining the basic weights configured for each of the above lottery indicator parameters; then, determining the target weights corresponding to each of the above lottery indicator parameters based on the number of users and the basic weights; and finally, determining the target lottery indicator parameter for participating in the lottery based on the target weights corresponding to each of the above lottery indicator parameters.
[0074] It is understandable that since each of the above lottery indicator parameters is configured with the attribute range to which the candidate user belongs, and this attribute range is used to indicate the user's ability performance in the game, the corresponding basic weight can be determined according to the attribute range. That is, the higher the user's ability performance, the greater the basic weight, so that the higher the attribute value indicated by the above attribute range, the greater the basic weight corresponding to the lottery indicator parameter configured with the above attribute range.
[0075] In some embodiments, if the lottery activity has multiple lottery cycles, then determining the target lottery indication parameter for participating in the lottery from the above lottery indication parameters may include: conducting the lottery for the current round based on the target weight, determining the target lottery indication parameter for participating in the lottery from the above lottery indication parameters, and then, after determining the winning user from the candidate users corresponding to the target lottery indication parameter, further including: judging the cumulative number of winning users or the round of the lottery activity; if the cumulative number of winning users does not reach the preset number of winnings, or the round of the lottery activity does not reach the preset number of times threshold, then returning to the step of determining the target lottery indication parameter for participating in the lottery from the above lottery indication parameters, so as to determine the corresponding winning user again based on the newly determined target lottery indication parameter.
[0076] Step 104: Based on the number of users corresponding to the above target lottery indication parameters and the above user identity information of each of the above candidate users, determine the winning users from the candidate users corresponding to the above target lottery indication parameters.
[0077] In this embodiment, after obtaining the target lottery indication parameter for participating in the lottery, the range of winning users can be determined, that is, the range of candidate users corresponding to the target lottery indication parameter. Then, based on the number of users corresponding to the target lottery indication parameter and the user identity information of the corresponding candidate users, the winning users can be determined from the range of candidate users corresponding to the target lottery indication parameter. This avoids the server lag problem that may occur when traversing all user data for the lottery when the total amount of lottery user data in the entire server is large.
[0078] In some embodiments, this is applied to a lottery center node, which is connected to multiple lottery sub-nodes. The determination of the number of candidate users corresponding to each of the lottery indication parameters may include: the number of candidate users corresponding to each of the lottery indication parameters may be determined by the lottery center node.
[0079] The above-mentioned determination of the target lottery indication parameter from the above-mentioned lottery indication parameters may include: the target lottery indication parameter can be determined from the above-mentioned lottery indication parameters through the above-mentioned lottery center node.
[0080] The process of determining the winning user from the candidate users corresponding to the target lottery indicator parameters, based on the number of users corresponding to the target lottery indicator parameters and the user identity information of each candidate user, includes:
[0081] Through the aforementioned lottery center node, based on the number of users corresponding to the aforementioned target lottery indication parameters and the aforementioned user identity information of each of the aforementioned candidate users, the winning users are determined from the candidate users corresponding to the aforementioned target lottery indication parameters.
[0082] In some embodiments, since the lottery indication parameters are configured with a parameter order, the user identity information of multiple candidate users is arranged in an orderly manner in the storage space according to the parameter order of the lottery indication parameters, and the user identity information corresponding to the same lottery indication parameter is arranged adjacently. Therefore, the process of determining the winning user from the candidate users corresponding to the target lottery indication parameter based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user may include: determining the total number of users of lottery indication parameters preceding the target lottery indication parameter; then, determining the ranking range of the candidate user corresponding to the target lottery indication parameter among all candidate users based on the total number of users and the number of users corresponding to the target lottery indication parameter; finally, selecting a target ranking from the ranking range, and obtaining the target user identity information at the corresponding position from the storage space based on the target ranking to determine the winning user corresponding to the target user identity information.
[0083] For example, based on the above parameter configuration table and the quantity statistics hash table weight_no_2_count={1:150000,2:100000,3:200000,4:100000,5:50000}, the data stored in the zset sorted set is sorted by the lottery indicator parameter by default. Assuming the target lottery indicator parameter is weight number 4, the lottery indicator parameters before weight number 4 are weight number 1, weight number 2 and weight number 3. The total number of users corresponding to weight number 1, weight number 2 and weight number 3 is 150000+100000+200000=450000. Furthermore, since the number of users corresponding to weight number 4 is 100000, the ranking range of the candidate users corresponding to weight number 4 is [450000,550000].
[0084] Understandably, if the target lottery indicator parameter is set to target_no, and if target_no is greater than 1, then the total number of users counted from the initial lottery indicator parameter 1 to target_no-1 is calculated. The ranking range of the candidate user corresponding to target_no among all candidate users is then [count, count + weight_no_2_count[target_no]]. If target_no is equal to 1, then the ranking range of the player with the weight corresponding to target_no in the zset is [0, weight_no_2_count[target_no]], where weight_no_2_count[target_no] indicates the number of users corresponding to target_no.
[0085] Furthermore, since the calculated rank range is [450000, 550000], a user with rank = 450008 can be randomly selected from this range; this user is the winner. Specifically, a rank can be randomly selected from the rank range [a, b]. For example, Python's `random.randint(a, b)` can be used to obtain the rank of a winning player and add it to `rank_list`. Finally, by repeating the lottery rounds to reach the required number of winning users, the ranking of the winning users can be obtained and denoted as `rank_list`.
[0086] In some embodiments, the storage space includes a sorted set of zsets in a Redis database, wherein the user identity information of the candidate user in the sorted set of zsets is a member value, and the lottery indication parameter is a score value.
[0087] In some embodiments, the above-mentioned method of obtaining the target user identity information at the corresponding position from the storage space based on the target ranking and determining the winning user corresponding to the target user identity information may include: obtaining the activity time identifier of the current lottery activity; then, generating a query instruction corresponding to the target ranking based on the activity time identifier and the target ranking, and sending the query instruction to the Redis database, so as to query the sorted set corresponding to the current lottery activity in the Redis database based on the query instruction, and determining the target user identity information at the position corresponding to the target ranking from the sorted set corresponding to the current lottery activity, and determining the winning user corresponding to the target user identity information.
[0088] For example, if rank_list can be [450008, 300002, 10009], that is, 450008, 300002, and 10009 correspond to the target ranking of a winning user, a query command can be generated for each winning user's target ranking, such as zrange(key, rank, rank), where key is the activity time identifier and rank is the target ranking. Then, based on this query command, the user identity information of the three winning users can be obtained from the Redis database to obtain the final set of user identity information of all winning users.
[0089] In some embodiments, the above method may further include: obtaining the number of random draws, and then, based on the above-mentioned draw indication parameters, randomly selecting target user identity information that meets the above-mentioned number of random draws from multiple candidate users, and determining the winning user corresponding to the above-mentioned target user identity information.
[0090] In this embodiment, during the process of randomly selecting winning users, it is not necessary to retrieve the user data of all candidate users into memory. The random lottery can be completed through native instructions in the Redis database, thereby reducing the computational pressure on the game server itself and avoiding game service lag.
[0091] Specifically, the zset random command zrandmember in the Redis database can be used to obtain the list of winning users. This command only needs to pass in the key value corresponding to the candidate user and the number of winners to obtain the user identity information set of all winning users.
[0092] zrandmember is a Redis command used to randomly retrieve one or more elements from a sorted set.
[0093] It should be noted that the above randomization algorithm can be executed asynchronously. For steps consisting of multiple instructions, multiple instructions are packaged and executed through the Pipeline in the Redis database. Specifically, for the uniform random algorithm, the execution efficiency is O(M), where M is the number of winning users; for the weighted random algorithm, the execution efficiency of counting different lottery indicator parameters is O(log(N)), where N is the number of all candidate users, and the efficiency of obtaining the user identity information of the winning users by using the ranking of the winning users is O(Mlog(N)), where N is the number of all players and M is the number of winning players.
[0094] In some embodiments, the user identity information of all winning users is ultimately stored in a Redis database as a list. Since the number is relatively small, it is also cached in the memory of the central node to expedite the uploading of candidate users in different draw cycles of the same lottery activity. This process excludes already-winning candidates and prevents users who have already won in the same lottery activity from winning again.
[0095] In some embodiments, when the lottery draw time arrives, other processors in the central node or terminal can execute the corresponding lottery task based on the expiration of a pre-set timer. The user list can be randomly obtained using Redis sorted set instructions, eliminating the need to load all candidate user data into memory. Furthermore, after the draw, the winning users can be written to the Redis database for subsequent child nodes to retrieve the draw information.
[0096] Furthermore, if a broadcast notification is needed upon receiving a winning result, the central node will announce the draw results; and / or, after the draw time, the child nodes will retrieve the draw information from the central node and display it on the client. The aforementioned broadcast notification can be sent by the central node via email or other means to notify the entire server. When the game interface is opened on the client, the lottery child nodes retrieve the draw results from the central node and display them on the client. The child nodes are responsible for retrieving the draw information from the central node and displaying it on the client after the draw.
[0097] As can be seen from the above, by obtaining the user identity information and lottery instruction parameters of multiple candidate users to be drawn, the number of candidate users corresponding to each of the above lottery instruction parameters is determined. Then, the target lottery instruction parameter for participating in the lottery is determined from the above lottery instruction parameters. Finally, based on the number of users corresponding to the target lottery instruction parameter and the user identity information of each of the above candidate users, the winning user is determined from the candidate users corresponding to the target lottery instruction parameter. Thus, it is only necessary to determine the target lottery instruction parameter for participating in the lottery from multiple lottery instruction parameters, and then select the winning user from the candidate users corresponding to the target lottery instruction parameter. This avoids the process of reading the lottery-related data of all candidate users for lottery purposes, and greatly reduces the performance pressure when conducting a game-wide lottery event.
[0098] This embodiment also provides a lottery device, which can be integrated into a terminal device. For example, such as... Figure 3 As shown, the lottery device may include:
[0099] The parameter acquisition module 301 is used to acquire the user identity information and lottery instruction parameters of multiple candidate users to be drawn;
[0100] The quantity determination module 302 is used to determine the number of candidate users corresponding to each of the above-mentioned lottery indication parameters;
[0101] The parameter determination module 303 is used to determine the target lottery indication parameter for participating in the lottery from the above lottery indication parameters;
[0102] The user determination module 304 is used to determine the winning user from the candidate users corresponding to the target lottery indication parameter based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user.
[0103] In some embodiments, the parameter determination module 303 is specifically used for:
[0104] Obtain the base weights corresponding to the above-mentioned lottery indicator parameters;
[0105] Based on the number of users and the basic weight of each of the above lottery indicator parameters, the target weight corresponding to each of the above lottery indicator parameters is determined.
[0106] Based on the target weights corresponding to each of the above-mentioned lottery indicator parameters, the target lottery indicator parameters for participating in the lottery are determined.
[0107] In some embodiments, each of the above-mentioned lottery indication parameters is configured with an attribute range to which the candidate user belongs. The higher the attribute value indicated by the attribute range, the greater the base weight corresponding to the lottery indication parameter configured with the attribute range.
[0108] In some embodiments, the lottery indication parameters are configured with a parameter order, and the user identity information of multiple candidate users is arranged in an orderly manner in the storage space according to the parameter order of the lottery indication parameters, with the user identity information corresponding to the same lottery indication parameter arranged adjacently.
[0109] The aforementioned user determination module 304 is specifically used for:
[0110] Determine the total number of users whose lottery indicator parameters are preceding the aforementioned target lottery indicator parameters;
[0111] Based on the total number of users and the number of users corresponding to the target lottery indicator parameters, determine the ranking range of candidate users corresponding to the target lottery indicator parameters.
[0112] Select a target ranking from the above ranking range, and based on the target ranking, retrieve the target user identity information of the corresponding location from the above storage space to determine the winning user corresponding to the target user identity information.
[0113] In some embodiments, the storage space includes a sorted set of zsets in a Redis database, wherein the user identity information of the candidate user in the sorted set of zsets is a member value, and the lottery indication parameter is a score value.
[0114] In some embodiments, the user determination module 304 is specifically used for:
[0115] Get the event time indicator for the current lucky draw event;
[0116] Based on the above activity time markers and the above target rankings, generate the query instructions corresponding to the above target rankings;
[0117] The above query command is sent to the Redis database to query the sorted set corresponding to the current lottery activity in the Redis database based on the query command, and to determine the target user identity information corresponding to the target ranking position from the sorted set corresponding to the current lottery activity, and to determine the winning user corresponding to the target user identity information.
[0118] In some embodiments, the above method and the above lottery device further include a random lottery module, which is specifically used for:
[0119] Get the number of random draws;
[0120] Based on the above lottery indication parameters, target user identity information that meets the above random lottery quantity is randomly selected from multiple candidate users to determine the winning user corresponding to the above target user identity information.
[0121] In some embodiments, the parameter acquisition module 301 is applied to a lottery center node, which is connected to multiple lottery child nodes. Specifically, the module 301 is used for:
[0122] Through the aforementioned lottery center node, the user identity information and lottery instruction parameters of the candidate users to be drawn are obtained from multiple lottery sub-nodes.
[0123] The aforementioned user determination module 304 is specifically used for:
[0124] Through the aforementioned lottery center node, based on the number of users corresponding to the aforementioned target lottery indication parameters and the aforementioned user identity information of each of the aforementioned candidate users, the winning users are determined from the candidate users corresponding to the aforementioned target lottery indication parameters.
[0125] As can be seen from the above, by obtaining the user identity information and lottery instruction parameters of multiple candidate users to be drawn, the number of candidate users corresponding to each of the above lottery instruction parameters is determined. Then, the target lottery instruction parameter for participating in the lottery is determined from the above lottery instruction parameters. Finally, based on the number of users corresponding to the target lottery instruction parameter and the user identity information of each of the above candidate users, the winning user is determined from the candidate users corresponding to the target lottery instruction parameter. Thus, it is only necessary to determine the target lottery instruction parameter for participating in the lottery from multiple lottery instruction parameters, and then select the winning user from the candidate users corresponding to the target lottery instruction parameter. This avoids the process of reading the lottery-related data of all candidate users for lottery purposes, and greatly reduces the performance pressure when conducting a game-wide lottery event.
[0126] Accordingly, this application also provides an electronic device, which can be a terminal, such as a smartphone, tablet computer, laptop computer, touch screen, game console, personal computer (PC), personal digital assistant (PDA), or other terminal device. Alternatively, the electronic device can be a server.
[0127] like Figure 4 As shown, Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device 400 includes a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, and a computer program stored in the memory 402 and executable on the processor. The processor 401 and the memory 402 are electrically connected. Those skilled in the art will understand that the electronic device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0128] The processor 401 is the control center of the electronic device 400. It connects various parts of the electronic device 400 via various interfaces and lines. By running or loading software programs and / or units stored in the memory 402, and by calling data stored in the memory 402, it executes various functions and processes data of the electronic device 400, thereby providing overall monitoring of the electronic device 400. The processor 401 can be a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), etc., and can implement or execute the methods, steps, and logic diagrams disclosed in the embodiments of this application.
[0129] In this embodiment, the processor 401 in the electronic device 400 loads the instructions corresponding to the processes of one or more applications into the memory 402 according to the following steps, and the processor 401 runs the applications stored in the memory 402 to realize various functions, such as:
[0130] Obtain the user identity information and lottery instruction parameters of multiple candidate users to be drawn;
[0131] Determine the number of candidate users corresponding to each of the above lottery indicator parameters;
[0132] Determine the target lottery indicator parameters for participating in the lottery from the above lottery indicator parameters;
[0133] Based on the number of users corresponding to the above target lottery indication parameters, and the user identity information of each of the above candidate users, the winning users are determined from the candidate users corresponding to the above target lottery indication parameters.
[0134] Therefore, the electronic device 400 provided in this embodiment can bring the following technical effects: reduce the performance pressure when conducting a game server-wide lottery activity.
[0135] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0136] Optional, such as Figure 4 As shown, the electronic device 400 also includes: a touch display screen 403, a radio frequency circuit 404, an audio circuit 405, an input unit 406, and a power supply 407. The processor 401 is electrically connected to the touch display screen 403, the radio frequency circuit 404, the audio circuit 405, the input unit 406, and the power supply 407. Those skilled in the art will understand that... Figure 4 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0137] The touch display screen 403 can be used to display a graphical user interface (GUI) and receive operation commands generated by the user interacting with the GUI. The touch display screen 403 may include a display panel and a touch panel. The display panel can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces of the electronic device. These graphical user interfaces can be composed of graphics, text, icons, video, and any combination thereof. Optionally, the display panel can be configured using a liquid crystal display (LCD), organic light-emitting diode (OLED), or other similar technologies. The touch panel can be used to collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel), generate corresponding operation commands, and execute the corresponding program according to the operation commands. Optionally, the touch panel may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch location and the signal generated by the touch operation, transmitting the signal to the touch controller. The touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 401. It can also receive and execute commands from the processor 401. The touch panel can cover the display panel. When the touch panel detects a touch operation on or near it, it transmits the information to the processor 401 to determine the type of touch event. Subsequently, the processor 401 provides corresponding visual output on the display panel based on the type of touch event. In this embodiment, the touch panel and the display panel can be integrated into the touch display screen 403 to achieve input and output functions. However, in some embodiments, the touch panel and the touch display screen 403 can be implemented as two independent components to achieve input and output functions. That is, the touch display screen 403 can also be used as part of the input unit 406 to achieve input functions.
[0138] The radio frequency circuit 404 can be used to transmit and receive radio frequency signals to establish wireless communication with network devices or other electronic devices, and to transmit and receive signals with network devices or other electronic devices.
[0139] Audio circuit 405 can be used to provide an audio interface between a user and an electronic device via a speaker and a microphone. Audio circuit 405 can convert received audio data into electrical signals and transmit them to the speaker, where the speaker converts them into sound signals for output. Conversely, the microphone converts collected sound signals into electrical signals, which are then received by audio circuit 405, converted back into audio data, and then processed by processor 401 before being transmitted via radio frequency circuit 404 to, for example, another electronic device, or output to memory 402 for further processing. Audio circuit 405 may also include an earphone jack to provide communication between peripheral headphones and electronic devices.
[0140] The input unit 406 can be used to receive input numbers, characters, or user characteristic information (such as fingerprints, iris, facial information, etc.), and to generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control.
[0141] Power supply 407 is used to supply power to various components of electronic device 400. Optionally, power supply 407 can be logically connected to processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. Power supply 407 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0142] although Figure 4 As not shown in the diagram, the electronic device 400 may also include a camera, sensor, wireless fidelity module, Bluetooth module, etc., which will not be described in detail here.
[0143] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0144] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0145] Therefore, embodiments of this application provide a computer-readable storage medium storing multiple computer programs that can be loaded by a processor to execute any of the lottery methods provided in this application. The computer program can execute the steps of the following lottery method:
[0146] Obtain the user identity information and lottery instruction parameters of multiple candidate users to be drawn;
[0147] Determine the number of candidate users corresponding to each of the above lottery indicator parameters;
[0148] Determine the target lottery indicator parameters for participating in the lottery from the above lottery indicator parameters;
[0149] Based on the number of users corresponding to the above target lottery indication parameters, and the user identity information of each of the above candidate users, the winning users are determined from the candidate users corresponding to the above target lottery indication parameters.
[0150] As can be seen, the computer program can be loaded by the processor to execute any of the lottery methods provided in the embodiments of this application, thereby bringing the following technical effects: reducing the performance pressure when conducting a game-wide lottery activity.
[0151] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0152] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0153] Since the computer program stored in the computer-readable storage medium can execute any of the lottery methods provided in the embodiments of this application, it can achieve the beneficial effects that any of the lottery methods provided in the embodiments of this application can achieve, as detailed in the preceding embodiments, and will not be repeated here.
[0154] According to one aspect of this application, a computer program product or computer program is also provided, comprising computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the methods provided in the various optional implementations of the above embodiments.
[0155] In the above embodiments of the lottery device, computer-readable storage medium, electronic device, and computer program product, the descriptions of each embodiment have different focuses. Parts not described in detail in a particular embodiment can be referred to in the relevant descriptions of other embodiments. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes and beneficial effects of the lottery device, computer-readable storage medium, computer program product, electronic device, and their corresponding units described above can be referred to the description of the lottery method in the above embodiments, and will not be repeated here.
[0156] The above provides a detailed description of a lottery method, apparatus, electronic device, computer-readable storage medium, and computer program product provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A lottery method, characterized in that, The method includes: The system obtains the user identity information and lottery indication parameters of multiple candidate users to be drawn. Each lottery indication parameter is configured with the attribute range to which the candidate user belongs. Different lottery indication parameters correspond to different attribute ranges. The lottery indication parameters of different candidate users may be the same or different. The lottery indication parameters are configured with a parameter order. The user identity information of multiple candidate users is arranged in an orderly manner in the storage space according to the parameter order of the lottery indication parameters. The user identity information corresponding to the same lottery indication parameter is arranged adjacently. Count the candidate users under each of the lottery indication parameters, determine the number of users corresponding to each lottery indication parameter, so as to indicate the user distribution of candidate users under each lottery indication parameter; The lottery indication parameters are filtered based on the number of candidate users corresponding to each lottery indication parameter, and the target lottery indication parameters for participating in the lottery are determined from the filtered lottery indication parameters. Based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user, the winning user is determined from the candidate users corresponding to the target lottery indication parameter; The step of determining the winning user from the candidate users corresponding to the target lottery indication parameter based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user includes: Determine the total number of users whose lottery indicator parameters precede the target lottery indicator parameter; Based on the total number of users and the number of users corresponding to the target lottery indicator parameter, determine the ranking range of the candidate users corresponding to the target lottery indicator parameter; Select a target ranking from the ranking range, and based on the target ranking, retrieve the target user identity information of the corresponding position from the storage space to determine the winning user corresponding to the target user identity information.
2. The lottery method as described in claim 1, characterized in that, Determining the target lottery indication parameter from the lottery indication parameters includes: Obtain the basic weights configured for each of the aforementioned lottery indicator parameters; Based on the number of users and the basic weight of each of the lottery indication parameters, determine the target weight corresponding to each of the lottery indication parameters; Based on the target weights corresponding to each of the lottery indicator parameters, the target lottery indicator parameters for participating in the lottery are determined.
3. The lottery method as described in claim 2, characterized in that, The higher the attribute value indicated by the attribute range, the greater the base weight corresponding to the lottery indication parameter configured for the attribute range.
4. The lottery method as described in claim 1, characterized in that, The storage space includes a sorted set of zsets in a Redis database, wherein the user identity information of the candidate user in the sorted set of zsets is the member value, and the lottery indication parameter is the score value.
5. The lottery method as described in claim 4, characterized in that, The step of retrieving the target user identity information corresponding to the location from the storage space based on the target ranking, and determining the winning user corresponding to the target user identity information, includes: Get the event time indicator for the current lucky draw event; Based on the activity time identifier and the target ranking, generate a query instruction corresponding to the target ranking; The query instruction is sent to the Redis database to query the sorted set corresponding to the current lottery activity based on the query instruction, and to determine the target user identity information corresponding to the target ranking position from the sorted set corresponding to the current lottery activity, and to determine the winning user corresponding to the target user identity information.
6. The lottery method as described in claim 1, characterized in that, The method further includes: Get the number of random draws; Based on the lottery indication parameters, target user identity information that meets the random lottery quantity is randomly selected from multiple candidate users, and the winning user corresponding to the target user identity information is determined.
7. The lottery method according to any one of claims 1 to 6, characterized in that, Applied to a lottery center node, which is connected to multiple lottery sub-nodes, the step of obtaining the user identity information and lottery instruction parameters of multiple candidate users to be drawn includes: obtaining the user identity information and lottery instruction parameters of the candidate users to be drawn sent by multiple lottery sub-nodes through the lottery center node. The step of determining the winning user from the candidate users corresponding to the target lottery indication parameter based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user includes: The winning user is determined from the candidate users corresponding to the target lottery indication parameter through the lottery center node, based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user.
8. A lottery drawing device, characterized in that, The device includes: The parameter acquisition module is used to acquire the user identity information and lottery indication parameters of multiple candidate users to be drawn. Each lottery indication parameter is configured with the attribute range to which the candidate user belongs. Different lottery indication parameters correspond to different attribute ranges. The lottery indication parameters of different candidate users may be the same or different. The lottery indication parameters are configured with a parameter order. The user identity information of multiple candidate users is arranged in an orderly manner in the storage space according to the parameter order of the lottery indication parameters. The user identity information corresponding to the same lottery indication parameter is arranged adjacently. The quantity determination module is used to count the candidate users under each of the lottery indication parameters, determine the number of users corresponding to each of the lottery indication parameters, and indicate the user distribution of candidate users under each of the lottery indication parameters. The parameter determination module is used to filter the lottery indication parameters based on the number of candidate users corresponding to each lottery indication parameter, and to determine the target lottery indication parameter to participate in the lottery based on the filtered lottery indication parameters. The user determination module is used to determine the winning user from the candidate users corresponding to the target lottery indication parameter based on the number of users corresponding to the target lottery indication parameter and the user identity information of each candidate user; The user determination module includes: Determine the total number of users whose lottery indicator parameters precede the target lottery indicator parameter; Based on the total number of users and the number of users corresponding to the target lottery indicator parameter, determine the ranking range of the candidate users corresponding to the target lottery indicator parameter; Select a target ranking from the ranking range, and based on the target ranking, retrieve the target user identity information of the corresponding position from the storage space to determine the winning user corresponding to the target user identity information.
9. An electronic device, characterized in that, The system includes a processor and a memory, the memory storing multiple instructions; the processor loads instructions from the memory to perform the steps of the lottery method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the lottery method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
A game lottery drawing method and device of a distributed server structure
CN109598551A