Player matching method, device, electronic device and computer-readable storage medium

By using level information in the player matching system to find matching players and create virtual players, the problem of huge gap in skill levels in the existing technology is solved, and game fairness and player interest are maintained.

CN114392562BActive Publication Date: 2025-02-14BEIJING ICHINESE EDUCATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210019014.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-06
Publication Date
2025-02-14
Estimated Expiration
2042-01-06

AI Technical Summary

Technical Problem

The existing player matching methods are easy to match players with huge gaps in skill levels, resulting in damage to game fairness, affecting player interest and possibly causing user churn.

Method used

By obtaining the level information of the player to be matched, find players matching their level from online players to ensure that the level difference of matched players is within the preset range. If no matching player is found, a virtual player is created to match the player to be matched.

Benefits of technology

It effectively avoids player matching with huge skill levels, ensures game fairness, maintains player interest in gaming, and reduces the risk of user loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114392562B_ABST
    Figure CN114392562B_ABST
Patent Text Reader

Abstract

The present application proposes a player matching method, device, electronic device and computer-readable storage medium, the method comprising: searching for players that match the level of the player to be matched from online players according to the acquired level information of the player to be matched; if a player that matches the level of the player to be matched is found, any one of the found players is determined as the player to be matched with the player to be matched; if a player that matches the level of the player to be matched is not found, a virtual player that matches the level of the player to be matched is created according to the historical game win rate of the player to be matched, and the virtual player is used as the player to be matched with the player to be matched. By adopting the above method, it is possible to effectively avoid matching players with large differences in skill levels together while ensuring the matching success rate, thereby ensuring the fairness of the game, maintaining the interest of the players in the game, and avoiding the consequences of player user loss due to the disparity in the strength of the game players.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a player matching method, device, electronic device and computer-readable storage medium. Background Art

[0002] With the development of computer network technology, player matching games are becoming more and more popular. For example, in the field of education or knowledge competition, through the development of player matching PK games, players can match online and then play knowledge and skill PK games, or collaborative level-breaking games, to achieve the purpose of competing knowledge levels, discovering deficiencies and motivating players to learn.

[0003] The first condition for a player matching game is to achieve player matching. Currently, the most common player matching method is to randomly select players from online players for matching. Practice has found that under this player matching mode, players with large differences in skill levels are often matched together. Such matching results will lose the fairness of the game, causing game players to lose interest in the game, resulting in the loss of player users. For example, in a skill PK game, if players with large differences in skill levels are matched together, it will dampen the enthusiasm of low-level players in the game, and it will also be detrimental to high-level players maintaining their passion for the game. Over time, it may result in the loss of player users. Summary of the invention

[0004] In view of this, in order to solve the above technical problems, the present application proposes a player matching method, device, electronic device and computer-readable storage medium, which can ensure that the players matched with the to-be-matched players must be players with the same or similar levels as the to-be-matched players, thereby effectively avoiding matching players with huge differences in skill levels together while ensuring the matching success rate.

[0005] On one hand, the present application provides a player matching method, the method comprising:

[0006] According to the acquired level information of the player to be matched, searching for a player whose level matches that of the player to be matched from online players, wherein the player whose level matches that of the player to be matched includes a player whose level difference with that of the player to be matched is within a first preset range;

[0007] If a player matching the level of the to-be-matched player is found, any one of the found players is determined as a player matching the to-be-matched player;

[0008] If no player matching the level of the player to be matched is found, a virtual player matching the level of the player to be matched is created, and the virtual player is used as the player to be matched with the player to be matched.

[0009] In a possible implementation, searching online players for players that match the level of the player to be matched according to the acquired level information of the player to be matched includes:

[0010] Within a preset first time period, based on the acquired level information of the player to be matched, a player whose level matches that of the player to be matched is searched from online players.

[0011] In a possible implementation, within a preset first time period, searching online players for a player whose level matches that of the player to be matched according to the acquired level information of the player to be matched includes:

[0012] When a matching instruction issued by a to-be-matched player is obtained, the level information of the to-be-matched player is obtained and timing is started;

[0013] During the process of timing to the first time duration, if the player to be matched is not determined as a matching player of other online players, then when the first time duration is reached, a player matching the level of the player to be matched is searched from online players according to the acquired level information of the player to be matched.

[0014] In a possible implementation, obtaining the level information of the to-be-matched player and starting the timer includes:

[0015] The level information of the to-be-matched player is stored in a preset target buffer pool, and a target delay time of a first duration is set for the level information of the to-be-matched player and then stored in a preset delay queue; wherein the target buffer pool is used to store the player level information within a set level range, and the set level range includes the level of the to-be-matched player; and the delay queue is used to delay the timing of each player level information in the queue;

[0016] When the delay time of the level information of the to-be-matched player reaches the target delay time, it is determined that the timing reaches the first duration, and the level information of the to-be-matched player is taken out from the delay queue.

[0017] In a possible implementation, the level information of the to-be-matched player includes level information of the learned books;

[0018] Find players from online players that match the level of the player to be matched, including:

[0019] From the online players, find a player who meets the first goal as a player whose level matches the to-be-matched player; wherein the player who meets the first goal includes a player whose difference between the level of the book learned by the player and the level of the book learned by the to-be-matched player is within a first threshold range.

[0020] In a possible implementation manner, the level information of the to-be-matched player also includes information on the number of words that have been mastered;

[0021] Searching for players who match the level of the to-be-matched player from online players also includes:

[0022] From the players who meet the first goal, find players who meet the second goal as players whose level matches the player to be matched; wherein the players who meet the second goal include players whose difference between the number of words they have mastered and the number of words mastered by the player to be matched is within a second threshold range.

[0023] In a possible implementation, searching for a player who meets the second goal from among the players who meet the first goal as a player whose level matches that of the player to be matched includes:

[0024] Find players who meet the third goal from among the players who meet the first goal, where the players who meet the third goal include players whose difference between the number of words they have mastered and the number of words they have mastered by the to-be-matched player is within a third threshold range, where the third threshold range is smaller than the second threshold range;

[0025] If a player who meets the third goal is found among the players who meet the first goal, the player who meets the third goal is determined as a player whose level matches that of the player to be matched;

[0026] If no player who meets the third goal is found among the players who meet the first goal, then find a player who meets the second goal from the players who meet the first goal;

[0027] If a player who meets the second goal is found among the players who meet the first goal, the player who meets the second goal is determined as a player whose level matches that of the player to be matched;

[0028] If no player who meets the second goal is found among the players who meet the first goal, the player who meets the first goal is determined as a player whose level matches the player to be matched.

[0029] In a possible implementation, creating a virtual player that matches the level of the to-be-matched player includes:

[0030] A virtual player matching the level of the player to be matched is created according to the historical game winning rate of the player to be matched.

[0031] In a possible implementation, creating a virtual player that matches the level of the player to be matched according to the historical game win rate of the player to be matched includes:

[0032] According to the historical game winning rate of the player to be matched, a virtual player is created which can enable the player to be matched to maintain the historical game winning rate when playing a game with the player to be matched, as a virtual player that matches the level of the player to be matched.

[0033] On the other hand, the present application provides a player matching device, which includes:

[0034] A player search unit, configured to search for a player whose level matches that of the player to be matched from online players according to the acquired level information of the player to be matched, wherein the player whose level matches that of the player to be matched includes a player whose level difference with that of the player to be matched is within a first preset range;

[0035] a player matching unit, configured to, when the player searching unit finds a player whose level matches that of the player to be matched, determine any one of the found players as a player to be matched with the player to be matched;

[0036] The player creation unit is used to create a virtual player that matches the level of the player to be matched when the player search unit fails to find a player that matches the level of the player to be matched, and use the virtual player as the player to be matched.

[0037] On the other hand, the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executed by the processor, wherein the processor implements the steps of the above-mentioned player matching method when executing the computer program.

[0038] On the other hand, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the above-mentioned player matching method are implemented.

[0039] According to the player matching method provided by the present application, when matching players for a player to be matched, based on the level information of the player to be matched, a player whose level matches that of the player to be matched is selected from online players as a player to be matched with the player to be matched. If there is no player whose level matches that of the player to be matched among the online players, a virtual player whose level matches that of the player to be matched is created as a player to be matched with the player to be matched. By adopting the above player matching method, it can be ensured that the player matched for the player to be matched is a player whose level is equal to or similar to that of the player to be matched, thereby effectively avoiding matching players with a large gap in skill level together while ensuring the matching success rate, thereby ensuring the fairness of the game, maintaining the interest of the players in the game, and avoiding the consequences of losing players due to the large gap in the strength of the game players. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 The figure shows a schematic diagram of a computer network architecture provided by an embodiment of the present application;

[0041] Figure 2 The figure is a flow chart of a player matching method provided in an embodiment of the present application;

[0042] Figure 3 The figure is a schematic diagram of the player matching process provided by an embodiment of the present application;

[0043] Figure 4 The figure shows a schematic diagram of the cache pool structure provided in an embodiment of the present application;

[0044] Figure 5 The figure is a schematic diagram of a complete player matching process provided by an embodiment of the present application;

[0045] Figure 6 Shown is a structural schematic diagram of a player matching device provided in an embodiment of the present application;

[0046] Figure 7 Shown is a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The embodiment of the present application is applicable to the application scenario of online game player matching. By adopting the technical solution of the embodiment of the present application, players of similar levels can be matched together in a random player matching game, thereby ensuring the fairness of the game, maintaining the game interest of the players, and avoiding the loss of game users.

[0048] In conventional player matching games, players are usually matched randomly, for example, randomly selecting idle players from online players on the server for matching. In this matching mode, there is a high probability that players with a large gap in skill levels will be matched together. For example, in a knowledge and skill PK game, assuming that the player level increases with the level of the books that the player has learned or the number of words that the player has mastered, if there is only one level 1 player and one level 100 player online at the current moment, when any of the two players clicks the random matching game button, the two players will be matched directly, so that the two players can play the knowledge and skill PK game. However, it is obvious that the level 1 player cannot PK with the level 100 player at all, and the level 1 player will definitely lose. This will cause the level 1 player to be hit hard and lose the enthusiasm for the game. At the same time, it will also make the level 100 player lose interest in the game, unable to truly understand their own knowledge and skill levels, and unable to achieve the purpose of promoting players to learn knowledge and skills through game PK. More seriously, it will lead to the loss of game players.

[0049] In response to the above problems, the inventors of the present application conducted an in-depth analysis and developed a new player matching method. This method can match players of similar levels together, thereby ensuring that the skill levels of the players participating in the game are not too different. Therefore, it is possible to ensure the fairness of the game, maintain the players' interest in the game, and avoid the loss of player users due to the disparity in the strength of the game players.

[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0051] First, a brief and exemplary introduction to the computer network architecture to which the technical solution of the embodiment of the present application is applicable is given. Figure 1 , showing an exemplary computer network architecture.

[0052] The computer network architecture adopts the form of ETPⅡ application architecture, which mainly includes terminal side and service side. Among them, the terminal side can be any intelligent terminal such as PAD terminal, mobile terminal, computer terminal, etc. In the embodiment of this application, the terminal side is exemplified by PAD terminal. The service side is mainly the server, as well as the database of the server background, etc. In the embodiment of this application, the server architecture in the form of Alibaba Cloud MQTT is adopted. In addition, the computer network architecture also includes the operation support system OSS and the content distribution network CDN, which are used to cooperate in the distribution of page resources and game resources.

[0053] Based on the above-mentioned computer network architecture, after the player enters the ETP2 page through the PAD terminal, the PAD terminal calls webview, loads H5 resources, connects to MQTT, and the player selects the challenge mode as random matching and starts online matching. During the matching process, the front end will send the player's ID and other information to the server, and the server will perform online matching.

[0054] At the same time, the server saves the player data to the cache, and eventually stores the data on disk into DRDS and Redis. After the player finishes the game, the server sends the game result information to an MQ message for storage.

[0055] It can be seen that the player matching method proposed in the embodiment of the present application is specifically executed by the game server. Below, the specific processing process of the player matching method proposed in the embodiment of the present application is exemplarily introduced. In the following embodiments, the player matching of the knowledge and skill PK game is taken as an example to introduce the specific processing process of the player matching method proposed in the present application. It should be understood that the player matching method proposed in the embodiment of the present application is not only applicable to the knowledge and skill PK game shown in the following embodiments, but can be applied to any field and any form of player matching game to achieve more reasonable player matching.

[0056] In addition, the embodiment of the present application focuses on exemplarily introducing the specific processing process of the proposed player matching method, and does not limit the specific execution method of the processing process. The various processing steps of the method can be executed in sequence by a processing device in the form of hardware or software, such as a server or processor, or can also be in the form of a software program, which is executed by a hardware processing device to implement the corresponding player matching function. Any implementation form that can implement the player matching method proposed in the embodiment of the present application is within the protection scope of the embodiment of the present application.

[0057] Exemplary Methods

[0058] See also Figure 2 As shown, the player matching method proposed in the embodiment of the present application includes:

[0059] S201, according to the acquired level information of the player to be matched, searching for players whose level matches the player to be matched from online players. The players whose level matches the player to be matched include players whose level difference with the player to be matched is within a first preset range.

[0060] Specifically, the above-mentioned players to be matched refer to game players who participate in the player matching game and click the "Random Match" button to hope to be randomly matched. For example, among online players of a knowledge and skill PK game, if player A clicks the "Random Match" button on his terminal game interface, the matching request is sent to the background server, and the server determines player A as the player to be matched.

[0061] The above-mentioned level information of the player to be matched is specifically information for indicating the skill level of the player to be matched. Generally speaking, the higher the player level, the higher the player skill level. On the contrary, if the player level is lower, the player skill level is lower. For example, the player account level can be used to indicate the player's proficiency in mastering game skills, the record in historical games and other information. Or, in a knowledge and skill PK game, the level of the books that the player has learned or the amount of knowledge that has been mastered, or the winning rate, record, etc. of the player in the historical PK game, can all be used as player level information. For a more specific example, assuming that a certain knowledge and skill PK game is an English word comprehension PK game, the level of the books that the player has learned (e.g., elementary, intermediate, advanced), and / or the number of words that the player has mastered can all be used as player level information.

[0062] Among them, the level of the books that the player has learned and the number of words that the player has mastered can be determined through the results of tests, questions and answers, etc. For example, if the player passes the test on the knowledge of books at a certain level, it is considered that the player has learned the books at that level; if the player's correct rate in multiple tests and questions and answers on a certain word reaches a certain set correct rate, it is considered that the player has mastered the word, and further statistics on the words mastered by the player can clarify the number of words that the player has mastered.

[0063] Generally speaking, the player's level information is determined based on the player's historical game data. This information is recorded in the server. When the server receives a random matching request from a player to be matched, the level information of the player to be matched can be retrieved from the server database.

[0064] Alternatively, the level information of the player to be matched can also be filled in by the player to be matched on his terminal game interface and then sent to the server. When the user fills in the level information on his terminal game interface, the user can select the level information at will, and accordingly, the server will select a player of the corresponding level for the user to be matched.

[0065] For example, suppose in a certain knowledge and skill PK game, the real level of player A to be matched is level 10, but player A wants to challenge a higher-level player, such as wanting to try to challenge a level 20 player. At this time, he can enter the player level as 20 during random matching. In this way, the server no longer reads the real level information of player A from the database for player matching, but matches players based on the level information entered by player A, that is, the level of player A is regarded as 20 for player matching.

[0066] After the server obtains the level information of the player to be matched, it searches for a player whose level matches that of the player to be matched from the online players of the game server. Specifically, it searches for a player whose level difference with the player to be matched is within a first preset range from the online players of the game server.

[0067] Exemplarily, the level information of the player to be matched is compared with the level information of the online players in turn, and the level difference is measured. If the level difference reflected by the level information of a certain online player and the level information of the player to be matched is within a first preset range, the online player is determined as a player whose level matches that of the player to be matched. In the above manner, players whose level matches that of the player to be matched can be screened out from the online players.

[0068] Among them, the size of the above-mentioned first preset range can be determined according to the actual situation. In order to ensure that the levels of the matched players are equivalent, the embodiment of the present application sets the above-mentioned first preset range to a smaller range, so that the players found to match the level of the to-be-matched players are actually players with a level similar to that of the to-be-matched players. For example, assuming that the level of the to-be-matched player is 15, the above-mentioned first preset range is set to a range within 10, that is, [0,10]. At this time, it can be determined that when the level of the online player is in the range of 5-25, the level difference between it and the to-be-matched player is within the first preset range [0,10]. It can be understood that the above-mentioned level difference between the to-be-matched player and the online player is specifically expressed in the form of the absolute value of the difference between the levels of the two.

[0069] If a player whose level matches that of the player to be matched is found, step S202 is executed to determine any one of the found players as a player to be matched with the player to be matched.

[0070] Specifically, after the above-mentioned online player screening operation, if a player whose level matches the player to be matched is found among the online players, any one of the players whose level matches the player to be matched is determined as the player to be matched with the player to be matched, and then the two can be matched, and the corresponding game resources can be loaded to start the game.

[0071] If no player matching the level of the player to be matched is found, step S203 is executed to create a virtual player matching the level of the player to be matched, and the virtual player is used as the player to be matched with the player to be matched.

[0072] Specifically, if no player matching the level of the player to be matched is found among the current online players, it means that the level gap between the current online players and the player to be matched is large. If any online player is matched with the player to be matched, it will cause a huge gap in the skill levels of the matching players.

[0073] In order to avoid the problem of a large gap in the skill levels of the matched players, in an embodiment of the present application, when it is clear that there is no player among the online players that matches the level of the player to be matched, a virtual player that matches the level of the player to be matched is directly created, and the virtual player is used as the player to be matched with the player to be matched.

[0074] Exemplarily, when creating a virtual player, the level information of the player to be matched can be referred to to create a virtual player whose level difference with the player to be matched is within the first preset range, so that the skill level of the created virtual player is similar to the skill level of the player to be matched. For example, assuming that the level of the player to be matched A is level 15 and the first preset range is [0,10], a virtual player with a level in the range of [2,25] is created as a matching player with the user to be matched A.

[0075] Among them, when creating a virtual player of a certain level, it can be created with reference to the skill level of the players of the corresponding level who are not online in the game server. For example, assuming that the level of the player A to be matched is level 15, and it is clear that a virtual player of level 20 needs to be created to ensure that the level difference between the virtual player and player A is within the first preset range. Then, at this time, the skill level of any level 20 player who is not online can be directly referenced to create a virtual player. For example, assuming that the level of the player B who is not online is level 20, a virtual player with the same skill level as player B can be directly created as a player matched with player A.

[0076] From the above introduction, it can be seen that the player matching method proposed in the embodiment of the present application, when matching players for the to-be-matched player, takes the level information of the to-be-matched player as the basis, selects a player whose level matches that of the to-be-matched player from the online players as the player to be matched with the to-be-matched player, and if there is no player whose level matches that of the to-be-matched player among the online players, then creates a virtual player whose level matches that of the to-be-matched player as the player to be matched with the to-be-matched player. By adopting the above player matching method, it can be ensured that the player matched for the to-be-matched player must be a player whose level is equivalent or similar to that of the to-be-matched player, so that it can effectively avoid matching players with a large gap in skill level together while ensuring the matching success rate, so as to ensure the fairness of the game, maintain the interest of the players in the game, and avoid the consequences of losing players due to the large gap in the strength of the game players.

[0077] As an exemplary implementation, the above-mentioned searching for players whose level matches that of the player to be matched from online players based on the acquired level information of the player to be matched specifically searches for players whose level matches that of the player to be matched from online players within a preset first time period based on the acquired level information of the player to be matched.

[0078] Specifically, when searching for players whose level matches that of the player to be matched from online players, the embodiment of the present application not only performs a search operation once, but searches for players whose level matches that of the player to be matched from online players within a preset first time period based on the acquired level information of the player to be matched.

[0079] The above-mentioned searching for players whose level matches that of the player to be matched from online players within the preset first time period according to the acquired level information of the player to be matched may be performed continuously within the first time period, or the operation of searching for players whose level matches that of the player to be matched from online players may be performed multiple times within the first time period, or the operation of searching for players whose level matches that of the player to be matched from online players may be performed after waiting for the first time period.

[0080] According to the above settings, the above operation of searching for players with the same level as the player to be matched from online players will last for a first duration, during which one or more player search operations will be performed. When the duration of the player search operation is extended, on the one hand, it is possible to wait for players with the same level as the player to be matched to come online, so as to be matched with the player to be matched in time; on the other hand, during the above duration, the player to be matched may also be matched by other players, thereby increasing the probability of successful matching.

[0081] For example, the embodiments of the present application are as follows Figure 3 The processing process shown performs the above-mentioned player search operation.

[0082] First, when the server obtains the matching instruction issued by the player to be matched, the level information of the player to be matched is obtained and the timing is started.

[0083] Among them, obtaining the level information of the player to be matched can be to read the level information corresponding to the player to be matched from the server database, or to obtain the level information input by the player to be matched when sending the matching instruction. The specific implementation method can refer to the method of obtaining the level information of the player to be matched introduced in the above embodiment.

[0084] When the server obtains the level information of the player to be matched, the level information of the player to be matched is cached and the timing is started.

[0085] As an optional implementation, the server stores the acquired level information of the to-be-matched player in a preset target cache pool, and sets a first target delay time for the level information of the to-be-matched player and stores it in a preset delay queue.

[0086] The above-mentioned pre-set cache pool adopts the form of Redis cache, and the data therein is stored in the form of Zset queue. Each Zset queue, that is, each cache pool, is used to store the level information of players whose levels are within a certain range. Figure 4 As shown, in the knowledge and skill PK game, the player level is represented by the level of the books that the student has learned. The cache pool used to store the level information of the books that the student has learned is divided into 10 Zset queues, that is, divided into 10 cache pools. The data level intervals stored in each cache pool are as follows Figure 4 as shown in .

[0087] Based on the above cache pool settings, when students log in to the game, the students' book level information is stored in different cache pools: users with book levels 1-10 are placed in cache pool 1, users with book levels 11-20 are placed in cache pool 2, and so on. Users with book levels 81-90 are placed in cache pool 9, and users with book levels above 91 are placed in cache pool 10.

[0088] According to the above-mentioned level information storage scheme, after the server obtains the level information of the player to be matched, it selects a target cache pool according to the level information of the player to be matched, and stores the level information of the player to be matched in the target cache pool. Among them, the above-mentioned target cache pool is a cache pool for storing the level information of players within a set level range, and the set level range includes the level of the above-mentioned player to be matched. That is, the level information of the player to be matched is stored in the cache pool queue to which it belongs.

[0089] The embodiment of the present application also pre-sets a delay queue, which is used to store player level information and perform delay timing on each player level information in the queue.

[0090] Exemplarily, the above-mentioned delay queue uses the DelayQueue delay queue. JDK provides a set of APIs for implementing delay queues, which are located in the DelayQueue under the java.util.concurrent package.

[0091] DelayQueue is a BlockingQueue (unbounded blocking) queue, which essentially encapsulates a PriorityQueue (priority queue). PriorityQueue uses a complete binary heap internally to implement queue element sorting. When we add elements to the DelayQueue queue, we will set a Delay (target delay time) for the element as the sorting condition. The element with the smallest Delay in the queue will be placed at the head of the queue first. Elements in the queue are only allowed to be taken out of the queue when the delay time reaches the Delay time. Basic data types or custom entity classes can be placed in the queue. When storing basic data types, the elements in the priority queue are sorted in ascending order by default, and custom entity classes need to be compared and calculated based on class attribute values.

[0092] To implement the DelayQueue delay queue, the elements in the queue need to call the Delayed interface, which has only one getDelay method for setting the delay time. The compareTo method in the Order class is responsible for sorting the elements in the queue.

[0093] For example, when the student's book grade information is put into the delay queue, the parameters of DelayTask are: student ID, student book grade, number of words the student has mastered, delay time and start execution time.

[0094] Among them, the student ID represents the identification information of the player who currently needs to be matched; the student's book level is used to determine which cache pool queue to enter for matching; the number of words the student has mastered is used to match players with a similar number of words; the delay time is used to set the delay time of the delay queue when the student's book level information is placed in the delay queue; the start execution time is the time of first entering the delay queue, and the total time is less than the set time, for example, less than 8s, otherwise the matching robot is used to prevent the user from matching for too long.

[0095] Based on the above-mentioned delay queue setting, when the server obtains the level information of the player to be matched, the level information of the player to be matched is stored in the target cache pool. At the same time, the level information of the player to be matched is set with a target delay time of the first duration and then stored in the delay queue.

[0096] When the delay queue timing determines that the delay time of the level information of the player to be matched reaches the target delay time (first duration) set when entering the queue, it can be determined that the timing has reached the first duration, and the level information of the player to be matched is taken out of the delay queue.

[0097] When the level information of the player to be matched is taken out from the delay queue, it is first determined whether the player to be matched has been determined as a match player for other online players. Specifically, since the level information of all online players is stored in the server Figure 4In the cache pool shown, any online player may initiate player matching at any time. Therefore, during the above-mentioned delay timing process, the above-mentioned players to be matched may be matched by other online players, wherein the matching process of other online players is the same as the processing process of the player matching method introduced in the embodiment of the present application.

[0098] As an optional implementation, the embodiment of the present application sets that before the players are matched, the level information of all players is stored in the cache pool. When the players are matched successfully, the level information of both players who are matched successfully is deleted from the cache pool. Therefore, it can be determined whether the player to be matched is determined as a matching player of other online players by checking whether the level information of the player to be matched is stored in the cache pool.

[0099] If the level information of the above-mentioned player to be matched does not exist in the cache pool, it means that the player to be matched has been successfully matched with other players, and the player matching operation can be exited at this time.

[0100] If the level information of the above-mentioned player to be matched is still stored in the cache pool, it means that the player to be matched has not been determined as a matching player for other online players. At this time, according to the level information of the player to be matched, a player matching the level of the player to be matched is searched from the online players.

[0101] Since the embodiment of the present application stores the level information of online players in corresponding cache pools according to the level sizes, it is possible to determine the cache pool for searching for players that match the level of the player to be matched based on the level information of the user to be matched and a pre-set first preset range, and then search for players from the corresponding cache pool queue as players that match the level of the player to be matched.

[0102] For example, in the above-mentioned knowledge and skill PK game, the book level information of each player is stored in Figure 4 In the cache pool shown, assuming that the first preset range is [0,10], for players with book levels of 1-10, there are corresponding cache pools 1 and 2, that is, matching players with book levels of 1-20; players with book levels of 11-20 correspond to cache pools 1, 2, and 3, that is, matching players with book levels of 1-30; players with book levels of 21-30 correspond to cache pools 2, 3, and 4, that is, matching players with book levels of 11-40, and so on.

[0103] Based on the above settings, when searching for players whose level matches the player to be matched from online players, the cache pool queue used to search for players of matching level can be locked more quickly through cache pool enumeration, thereby narrowing the search scope and improving search efficiency.

[0104] The application of the above-mentioned delay queue can allow multiple players to be matched at the same time. The delay queue can delay the timing of each player to be matched separately, thereby improving the server player matching concurrent processing performance.

[0105] Furthermore, a player to be matched can enter the delay queue multiple times to wait for a delay, and perform a player matching operation at the end of each delay. The target delay time set for each entry into the delay queue can be different, and the number of times of entering the delay queue can also be flexibly set.

[0106] For example, the level information of the player to be matched is stored in the delay queue for the first time, and it is delayed for 3 seconds. When the delay of 3 seconds ends, it is determined whether the player to be matched is determined as a matching player of other online players. If not, a player matching the level of the player to be matched is searched from the above-mentioned cache pool. If found, the two are matched and the level information of the two is deleted from the cache pool. If not found, the level information of the player to be matched is stored in the delay queue again, and it is delayed for 2 seconds. When the delay of 2 seconds ends, it is determined whether the player to be matched is determined as a matching player of other online players. If not, a player matching the level of the player to be matched is searched from the above-mentioned cache pool. If found, the two are matched and the level information of the two is deleted from the cache pool. If not found, the level information of the player to be matched is stored in the delay queue again, and it is delayed for 2 seconds, and so on. When the total delay time of each delay reaches the set value, for example, when the total delay time reaches 8 seconds, the above-mentioned player search operation is stopped and the player search result is determined, that is, a player matching the level of the player to be matched is found, or a player matching the level of the player to be matched is not found.

[0107] The above-mentioned processing of multiple delayed timing operations can refine the above-mentioned player search operation performed within the first time period, or repeat the above-mentioned process of performing the player search operation within the first time period. This processing can further improve the matching success rate of level-matched players.

[0108] As an optional implementation, when the technical solution of the embodiment of the present application is applied to a knowledge and skill PK game, the player's level information is represented by the player's learned book level information. On this basis, when searching for players whose level matches the to-be-matched player from online players, players who meet the first goal can be searched from online players as players whose level matches the to-be-matched player. Among them, the above-mentioned players who meet the first goal are specifically players whose difference between their learned book level and the learned book level of the to-be-matched player is within the first threshold range. The first threshold range can be flexibly set according to demand. In order to ensure that the matched players have similar levels, the embodiment of the present application sets the first threshold range to a smaller value, for example, to [0, 15].

[0109] Exemplarily, the learned book level of the player to be matched is compared with the learned book levels of each online player, and players are searched from each online player whose difference with the learned book level of the player to be matched is within a first threshold range, for example, players whose difference with the learned book level of the player to be matched is less than 10 are searched as players whose level matches the player to be matched.

[0110] Alternatively, the embodiment of the present application stores the level information of each online player in Figure 4 In the cache pool shown, it is therefore possible to directly locate the cache pool where the online players whose difference in level of learned books with the player to be matched is within the first threshold range are located, and then search for level matching players from the cache pool.

[0111] Furthermore, the embodiment of the present application also uses the information about the number of words that the player has mastered as the level information of the player. That is, the level information of a player includes two contents: the level information of the books that the player has studied and the information about the number of words that the player has mastered.

[0112] In order to find the players who meet the requirements from the cache pool, Figure 4 In the buffer pool queue shown, the player level information in each queue is stored in order according to the number of words that have been mastered.

[0113] Based on the player level information in the above form, after finding players who meet the first goal from online players according to the above scheme, continue to find players who meet the second goal from the found players who meet the first goal as players who match the level of the player to be matched.

[0114] The above-mentioned players who meet the second goal are players whose difference between the number of words they have mastered and the number of words mastered by the to-be-matched players is within the second threshold range. The second threshold range can be flexibly set according to demand. In order to ensure that the matched players have similar levels, the embodiment of the present application sets the second threshold range to a relatively small value, for example, to [0, 400].

[0115] Specifically, when searching for players whose level matches that of the player to be matched from online players, first search based on the level of the books that the player has studied, and then search based on the number of words that the player has mastered from the search results. This multi-level search scheme can ensure that the online players finally found have a skill level similar to that of the player to be matched.

[0116] As a preferred implementation, the present application embodiment implements the search for players who meet the second goal by executing the following processing steps A1-A5:

[0117] A1. From the players who meet the first goal, find players who meet the third goal. The players who meet the third goal include players whose difference between the number of words they have mastered and the number of words mastered by the to-be-matched player is within a third threshold range, and the third threshold range is smaller than the second threshold range.

[0118] If a player who meets the third goal is found among the players who meet the first goal, step A2 is executed to determine the player who meets the third goal as a player whose level matches the player to be matched.

[0119] Specifically, the embodiment of the present application first searches for players who meet the first goal and whose difference between the number of words mastered and the number of words mastered by the to-be-matched player is within a smaller range, as players who meet the third goal. If a player who meets the third goal is found among the players who meet the first goal, the player who meets the third goal is directly determined as a player whose level matches the to-be-matched player. Since the number of words mastered by the player who meets the third goal is closer to the number of words mastered by the to-be-matched player, the skill level of the player who meets the third goal is also closer to the skill level of the to-be-matched player. Determining the player who meets the third goal as a player whose level matches the to-be-matched player can ensure that the skill levels of the matched players are closer.

[0120] If no player who meets the third goal is found among the players who meet the first goal, then step A3 is performed to find a player who meets the second goal from the players who meet the first goal.

[0121] If a player who meets the second goal is found among the players who meet the first goal, then step A4 is executed to determine the player who meets the second goal as a player whose level matches that of the player to be matched;

[0122] If no player who meets the second goal is found among the players who meet the first goal, step A5 is executed to determine the player who meets the first goal as a player whose level matches the player to be matched.

[0123] Specifically, if no player who meets the third goal is found among the players who meet the first goal, the search scope is expanded to find players who meet the second goal among the players who meet the first goal, that is, to find players whose difference between the number of words mastered and the number of words mastered by the player to be matched is within the second threshold range.

[0124] If a player who meets the second goal is found, the player who meets the second goal is determined as a player whose level matches the player to be matched. Conversely, if a player who meets the second goal is not found, the player who meets the first goal is directly determined as a player whose level matches the player to be matched.

[0125] The above player search process realizes the gradual expansion of the search range and multiple searches, which can avoid the situation where the skill level of the matched players is too different due to unreasonable search range setting. For example, it can avoid the situation where the search range is too small and the players with similar skill levels cannot be found, and it can also avoid the situation where the search range is too large and the skill level of the found players is too different.

[0126] Figure 5 Taking the matching of players by player A in a knowledge and skill PK game as an example, the specific processing process of the player matching method proposed in the embodiment of the present application is illustrated.

[0127] See also Figure 5 As shown, it is assumed that the matchable user cache pool corresponding to player A is 1&2, and the number of words that player A has mastered (the number of familiar words) is 1000 words.

[0128] Step 1: Filter players from the cache pool.

[0129] Take cache pool 1 as an example: Check whether there are players in cache pool 1 whose mastered words are in the range of [800-1200] (1000±200, 200 is the matching factor). If there are players who meet the conditions, all players are selected; if there are no players who meet the conditions, the search range is expanded to players whose mastered words are in the range of [600-1400] (1000±2*200, matching factor*2). If there are still no players who meet the conditions, the players currently in cache pool 1 are selected (matching factor is up to *2); if there are no players in cache pool 1, no players are selected.

[0130] For cache pool 2, players are screened in the same manner as above. Finally, the players screened from cache pool 1 and cache pool 2 are combined and selected. The specific selection scheme is: if the number of mastered words of all players screened from cache pool 1 and cache pool 2 are in the same range, all selected players will enter the subsequent judgment; if the number of mastered words of players screened from cache pool 1 and cache pool 2 are in different ranges, players in the smaller range will be selected to enter the subsequent judgment.

[0131] If the number of players screened = 0, players are screened again from the corresponding cache pool (each random match needs to wait 2 seconds in the delay queue after the last match), until the number of players screened is greater than 0 or the total duration of this random match is greater than 8 seconds. If a player is screened after 8 seconds, go to Step 2; otherwise, create a virtual player. If the number of players screened is greater than 0, go to Step 2.

[0132] Step 2: Determine the final matching players.

[0133] Assuming that the players selected in Step 1 are B and C, a player is randomly selected from them, and both players who are successfully matched are deleted from the cache pool at the same time (other players cannot match the users who are successfully teamed up again). The following two abnormal situations need to be handled in particular:

[0134] Exception 1: When the final player is confirmed, player A is no longer in the cache, which means that player A has been successfully matched by others before. In this case, the random matching of player A ends, and players B and C are still placed in the cache pool for others to randomly match.

[0135] Exception 2: When the final player is confirmed, the player matched to player A is not in the cache pool (assuming the randomly selected player is player B), which means player B has been successfully matched by others before, so another player is matched (assuming the selected player is C). If all current opponent players are no longer in the cache (all have been successfully matched by other players), the opponent players are selected again from A's corresponding cache pool.

[0136] As another exemplary implementation, when no player matching the level of the to-be-matched user is found among online players, a virtual player matching the level of the to-be-matched player may be created based on the to-be-matched player's historical game winning rate.

[0137] Specifically, the historical game win rate of the player to be matched can effectively reflect the skill level of the player to be matched. Therefore, based on the historical game win rate of the player to be matched, a virtual player with a skill level equivalent to the historical game win rate is generated, so that the skill level of the virtual player can be close to the skill level of the player to be matched.

[0138] As a more specific implementation method, when creating a virtual player that matches the level of the player to be matched based on the player's historical game win rate, specifically, based on the player's historical game win rate, a virtual player is created that can enable the player to be matched to maintain the historical game win rate when playing against the player, as the virtual player that matches the level of the player to be matched.

[0139] Specifically, if the player to be matched has lost two games in a row before this match, a virtual player is created to guarantee that the player to be matched will win this game; if the player to be matched has a non-losing winning rate of N% in historical games, a virtual player is created to guarantee that the player to be matched has a winning rate of N% in this game.

[0140] The above virtual player creation scheme can enable the created virtual player to maintain the historical game winning rate of the to-be-matched player during the game with the to-be-matched player, thereby avoiding overly drastic changes in the game experience for the to-be-matched player.

[0141] From the introduction of the above embodiments, it can be seen that the player matching method proposed in the embodiments of the present application can match players whose levels match the players to be matched with the players to be matched, thereby ensuring that the skill levels of the players finally matched are similar, thereby avoiding the consequences of affecting the fairness of the game and destroying the players' interest in the game due to the huge gap in the players' skill levels, thereby avoiding the loss of player users.

[0142] At the same time, the player matching method proposed in the embodiment of the present application adopts a mechanism of gradually expanding the player screening range and delaying matching when matching players, which can further ensure that players with similar skill levels are matched and improve the success rate of matching players with similar levels.

[0143] Exemplary Devices

[0144] Corresponding to the above-mentioned player matching method, the present application embodiment also proposes a player matching device, see Figure 6 As shown, the device comprises:

[0145] The player search unit 001 is used to search for players whose level matches that of the player to be matched from online players according to the acquired level information of the player to be matched, wherein the players whose level matches that of the player to be matched include players whose level difference with the player to be matched is within a first preset range;

[0146] The player matching unit 002 is used for determining any one of the found players as a player matching the player to be matched when the player searching unit 001 finds a player matching the player to be matched;

[0147] The player creation unit 003 is used to create a virtual player that matches the level of the player to be matched when the player search unit 001 fails to find a player that matches the level of the player to be matched, and use the virtual player as the player to be matched.

[0148] As an optional implementation, searching for a player whose level matches that of the player to be matched from online players according to the acquired level information of the player to be matched includes:

[0149] Within a preset first time period, based on the acquired level information of the player to be matched, a player whose level matches that of the player to be matched is searched from online players.

[0150] As an optional implementation, within the preset first time period, searching for a player whose level matches the player to be matched from online players according to the acquired level information of the player to be matched includes:

[0151] When a matching instruction issued by a to-be-matched player is obtained, the level information of the to-be-matched player is obtained and timing is started;

[0152] During the process of timing to the first time duration, if the player to be matched is not determined as a matching player of other online players, then when the first time duration is reached, a player matching the level of the player to be matched is searched from online players according to the acquired level information of the player to be matched.

[0153] As an optional implementation, obtaining the level information of the to-be-matched player and starting the timer includes:

[0154] The level information of the to-be-matched player is stored in a preset target buffer pool, and a target delay time of a first duration is set for the level information of the to-be-matched player and then stored in a preset delay queue; wherein the target buffer pool is used to store the player level information within a set level range, and the set level range includes the level of the to-be-matched player; and the delay queue is used to delay the timing of each player level information in the queue;

[0155] When the delay time of the level information of the to-be-matched player reaches the target delay time, it is determined that the timing reaches the first duration, and the level information of the to-be-matched player is taken out from the delay queue.

[0156] As an optional implementation, the level information of the to-be-matched player includes level information of the learned books;

[0157] Find players from online players that match the level of the player to be matched, including:

[0158] From the online players, find a player who meets the first goal as a player whose level matches the to-be-matched player; wherein the player who meets the first goal includes a player whose difference between the level of the book learned by the player and the level of the book learned by the to-be-matched player is within a first threshold range.

[0159] As an optional implementation, the level information of the to-be-matched player also includes information on the number of words that have been mastered;

[0160] Searching for players who match the level of the to-be-matched player from online players also includes:

[0161] From the players who meet the first goal, find players who meet the second goal as players whose level matches the player to be matched; wherein the players who meet the second goal include players whose difference between the number of words they have mastered and the number of words mastered by the player to be matched is within a second threshold range.

[0162] As an optional implementation, searching for a player who meets the second goal from among the players who meet the first goal as a player whose level matches that of the player to be matched includes:

[0163] Find players who meet the third goal from among the players who meet the first goal, where the players who meet the third goal include players whose difference between the number of words they have mastered and the number of words they have mastered by the to-be-matched player is within a third threshold range, where the third threshold range is smaller than the second threshold range;

[0164] If a player who meets the third goal is found among the players who meet the first goal, the player who meets the third goal is determined as a player whose level matches that of the player to be matched;

[0165] If no player who meets the third goal is found among the players who meet the first goal, then find a player who meets the second goal from the players who meet the first goal;

[0166] If a player who meets the second goal is found among the players who meet the first goal, the player who meets the second goal is determined as a player whose level matches that of the player to be matched;

[0167] If no player who meets the second goal is found among the players who meet the first goal, the player who meets the first goal is determined as a player whose level matches the player to be matched.

[0168] As an optional implementation manner, creating a virtual player that matches the level of the to-be-matched player includes:

[0169] A virtual player matching the level of the player to be matched is created according to the historical game winning rate of the player to be matched.

[0170] As an optional implementation, creating a virtual player that matches the level of the to-be-matched player according to the historical game win rate of the to-be-matched player includes:

[0171] According to the historical game winning rate of the player to be matched, a virtual player is created which can enable the player to be matched to maintain the historical game winning rate when playing a game with the player to be matched, as a virtual player that matches the level of the player to be matched.

[0172] The player matching device provided in this embodiment belongs to the same application concept as the player matching method provided in the above embodiments of this application, and can execute the player matching method provided in any of the above embodiments of this application, and has the corresponding functional modules and beneficial effects of executing the player matching method. For technical details not fully described in this embodiment, please refer to the specific processing content of the player matching method provided in the above embodiments of this application, and will not be repeated here.

[0173] Exemplary Electronic Devices

[0174] Below, reference Figure 7 To describe the electronic device provided in the embodiments of the present application.

[0175] Figure 7 is a structural block diagram of an electronic device provided by an exemplary embodiment of the present application. Figure 7 As shown, the electronic device 10 includes one or more processors 11 and a memory 12 .

[0176] The processor 11 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 10 to perform desired functions.

[0177] The memory 12 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 11 may run the program instructions to implement the player matching method of each embodiment of the present application described above and / or other desired functions. Various contents such as input signals, signal components, noise components, etc. may also be stored in the computer-readable storage medium.

[0178] In one example, the electronic device 10 may further include: an input device 13 and an output device 14, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0179] For example, when the electronic device is the first device 100 or the second device 200, the input device 13 may be a microphone or a microphone array for capturing input signals from a sound source. When the electronic device is a stand-alone device, the input device 13 may be a communication network connector for receiving collected input signals from the first device 100 and the second device 200. In addition, the input device 13 may also include, for example, a keyboard, a mouse, and the like.

[0180] The output device 14 can output various information to the outside, including the determined distance information, direction information, etc. The output device 14 can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.

[0181] Of course, to simplify, Figure 7 Only some of the components related to the present application in the electronic device 10 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 10 may also include any other appropriate components.

[0182] Exemplary computer program products and computer-readable storage media

[0183] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the player matching method according to various embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.

[0184] The computer program product may be written in any combination of one or more programming languages ​​to write program codes for performing the operations of the embodiments of the present application, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0185] In addition, an embodiment of the present application may also be a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by the processor, the processor 11 executes the steps of the player matching method according to various embodiments of the present application described in the above "Exemplary Method" section of this specification.

[0186] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0187] The basic principles of the present application are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present application are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present application. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, not for limitation, and the above details do not limit the present application to being implemented by adopting the above specific details.

[0188] The block diagrams of the devices, apparatuses, equipment, and systems involved in this application are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagram. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including", "comprising", "having", etc. are open words, referring to "including but not limited to", and can be used interchangeably with them. The words "or" and "and" used here refer to the words "and / or" and can be used interchangeably with them, unless the context clearly indicates otherwise. The words "such as" used here refer to the phrase "such as but not limited to", and can be used interchangeably with them.

[0189] It should also be noted that in the apparatus, device and method of the present application, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present application.

[0190] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present application. Therefore, the present application is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0191] It should be understood that the qualifiers "first", "second", "third", "fourth", "fifth" and "sixth" used in the description of the embodiments of the present application are only used to more clearly explain the technical solutions and cannot be used to limit the scope of protection of the present application.

[0192] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A player matching method, characterized in that: include: According to the acquired level information of the to-be-matched player, searching for a player who meets the first goal from the online players, wherein the level information of the to-be-matched player includes level information of the learned books and information on the number of words mastered, and the player who meets the first goal includes a player whose difference between the level of the learned books and the level of the learned books of the to-be-matched player is within a first threshold range; Find players who meet the third goal from among the players who meet the first goal, where the players who meet the third goal include players whose difference between the number of words they have mastered and the number of words they have mastered by the to-be-matched player is within a third threshold range; If a player who meets the third goal is found among the players who meet the first goal, the player who meets the third goal is determined as a player whose level matches that of the player to be matched; If no player who meets the third goal is found among the players who meet the first goal, then find a player who meets the second goal from the players who meet the first goal; the player who meets the second goal includes a player whose difference between the number of words mastered by the player and the number of words mastered by the to-be-matched player is within a second threshold range, and the third threshold range is smaller than the second threshold range; If a player who meets the second goal is found among the players who meet the first goal, the player who meets the second goal is determined as a player whose level matches that of the player to be matched; If no player who meets the second goal is found among the players who meet the first goal, the player who meets the first goal is determined as a player whose level matches that of the player to be matched; If a player matching the level of the to-be-matched player is found, any one of the found players is determined as a player matching the to-be-matched player; If no player matching the level of the player to be matched is found, a virtual player matching the level of the player to be matched is created, and the virtual player is used as the player to be matched with the player to be matched.

2. The method according to claim 1, characterized in that According to the acquired level information of the to-be-matched player, searching for a player whose level matches that of the to-be-matched player from online players includes: Within a preset first time period, based on the acquired level information of the player to be matched, a player whose level matches that of the player to be matched is searched from online players.

3. The method according to claim 2, characterized in that Within a preset first time period, searching for a player whose level matches that of the player to be matched from online players according to the acquired level information of the player to be matched, including: When a matching instruction issued by a to-be-matched player is obtained, the level information of the to-be-matched player is obtained and timing is started; During the process of timing to the first time duration, if the player to be matched is not determined as a matching player of other online players, then when the first time duration is reached, a player matching the level of the player to be matched is searched from online players according to the acquired level information of the player to be matched.

4. The method according to claim 3, characterized in that Obtaining the level information of the player to be matched and starting the timer, including: The level information of the to-be-matched player is stored in a preset target buffer pool, and a target delay time of a first duration is set for the level information of the to-be-matched player and then stored in a preset delay queue; wherein the target buffer pool is used to store the player level information within a set level range, and the set level range includes the level of the to-be-matched player; and the delay queue is used to delay the timing of each player level information in the queue; When the delay time of the level information of the to-be-matched player reaches the target delay time, it is determined that the timing reaches the first duration, and the level information of the to-be-matched player is taken out from the delay queue.

5. The method according to claim 1, characterized in that Creating a virtual player that matches the level of the player to be matched, including: A virtual player matching the level of the player to be matched is created according to the historical game winning rate of the player to be matched.

6. The method according to claim 5, characterized in that Creating a virtual player that matches the level of the player to be matched according to the historical game win rate of the player to be matched, including: According to the historical game winning rate of the player to be matched, a virtual player is created which can enable the player to be matched to maintain the historical game winning rate when playing a game with the player to be matched, as a virtual player that matches the level of the player to be matched.

7. A player matching device, characterized in that: include: A player search unit is used to search for a player who meets a first goal from online players based on the acquired level information of the player to be matched, wherein the level information of the player to be matched includes information on the level of the books learned and information on the number of words mastered, and the player who meets the first goal includes a player whose difference between the level of the books learned and the level of the books learned by the player to be matched is within a first threshold range; from the players who meet the first goal, search for a player who meets a third goal, and the player who meets the third goal includes a player whose difference between the number of words mastered and the number of words mastered by the player to be matched is within a third threshold range; if a player who meets the third goal is found from the players who meet the first goal, the found player who meets the third goal is determined as the player to be matched. Matching players whose level matches that of the players; if no player who meets the third goal is found among the players who meet the first goal, then searching for players who meet the second goal among the players who meet the first goal; the players who meet the second goal include players whose difference between the number of words they have mastered and the number of words mastered by the player to be matched is within a second threshold range, and the third threshold range is smaller than the second threshold range; if a player who meets the second goal is found among the players who meet the first goal, then the player who meets the second goal is determined as a player who matches the level of the player to be matched; if no player who meets the second goal is found among the players who meet the first goal, then the player who meets the first goal is determined as a player who matches the level of the player to be matched; a player matching unit, configured to, when the player searching unit finds a player whose level matches that of the player to be matched, determine any one of the found players as a player to be matched with the player to be matched; The player creation unit is used to create a virtual player that matches the level of the player to be matched when the player search unit fails to find a player that matches the level of the player to be matched, and use the virtual player as the player to be matched.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executed by the processor, characterized in that: When the processor executes the computer program, the steps of the player matching method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the player matching method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • KR20210082590A