Game player matching method and device, electronic equipment, medium and product

By generating match blocks in the game player matchmaking system and performing matchmaking based on mapping relationships, the problems of low matching efficiency and insufficient fairness in existing technologies are solved, achieving efficient and fair player matchmaking and supporting flexible rule adjustments.

CN121060087APending Publication Date: 2025-12-05SHANGHAI HODE INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511180046.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-21
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing online game player matching systems suffer from low matching efficiency, weak fairness guarantees, and limited ability to flexibly adapt rules.

Method used

Multiple matching blocks are generated based on game business attributes. A mapping relationship is formed between the player's business requests and the matching blocks, and matching is performed within a preset time window, reducing the time complexity of matching operations and the computational complexity of dynamic rule updates.

Benefits of technology

It improves matchmaking efficiency, enhances fairness and competitive experience, reduces player waiting time, and facilitates dynamic rule adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121060087A_ABST
    Figure CN121060087A_ABST
Patent Text Reader

Abstract

The invention relates to the field of information processing, and discloses a game player matching method and device, electronic equipment, a medium and a product, in the method, multiple matching blocks are generated based on game service attributes, and the multiple matching blocks are used for representing all integral intervals under the same game service attribute; receiving a service request of a first player, and forming a mapping relationship between the first player and at least one matching block based on the service request; and if it is detected that the at least one matching block and at least one second player have or generate a mapping relationship within a preset matching duration, matching the first player with the at least one second player. Through the method, the problem of range stiffness of fixed matching can be solved, the calculation complexity of dynamically adjusting the matching rule is reduced, and the matching retrieval consumption of players is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of information processing, in particular to a game player matching method and device, electronic equipment, medium and product. BACKGROUND

[0002] The core goal of an online game player matching system is to balance "fairness" (to ensure that the opponents have similar scores) and "efficiency" (to reduce waiting time), while supporting flexible adjustment of rules to adapt to version updates or operational needs.

[0003] To achieve this goal, the common solutions on the market have problems such as low matching efficiency, weak fairness protection, and weak rule flexibility and adaptation. SUMMARY

[0004] The purpose of the embodiments of the present application is to provide a game player matching method, device, electronic equipment, medium and product, which can solve the rigidity of fixed matching range, reduce the computational complexity of dynamically adjusting matching rules, and reduce the consumption of player matching search.

[0005] In one aspect of the embodiments of the present application, a game player matching method is provided, which includes: generating a plurality of matching blocks based on game service attributes, the plurality of matching blocks being used to represent each score interval under the same game service attribute; receiving a service request of a first player, and forming a mapping relationship between the first player and at least one matching block based on the service request; and within a preset matching time length, if it is detected that the at least one matching block has or generates a mapping relationship with at least one second player, matching the first player with the at least one second player.

[0006] In one aspect of the embodiments of the present application, a game player matching device is also provided, which includes: a generation module configured to generate a plurality of matching blocks based on game service attributes, the plurality of matching blocks being used to represent each score interval under the same game service attribute; a mapping module configured to receive a service request of a first player, and form a mapping relationship between the first player and at least one matching block based on the service request; and a matching module configured to, within a preset matching time length, if it is detected that the at least one matching block has or generates a mapping relationship with at least one second player, match the first player with the at least one second player.

[0007] In one aspect of the embodiments of the present application, an electronic equipment is also provided, which includes: at least one processor; and a memory in communication connection with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the game player matching method described above.

[0008] An aspect of an embodiment of the present application further provides a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the game player matching method as described above.

[0009] An aspect of an embodiment of the present application further provides a computer program product comprising a computer program, the computer program being executed by a processor to implement the game player matching method as described above.

[0010] The embodiment of the present application pre-generates a plurality of matching blocks based on game service attributes, and forms a mapping relationship between a player and at least one matching block through a service request of the player. Since each matching block is pre-generated, each integral interval under the same game service attribute is represented, and therefore all players forming a mapping relationship with the same matching block have exactly the same matching conditions, such as the same game service attribute and the same or close integral. When matching, within a preset time window, it is only required to search whether there is another mapped player in the matching block mapped by the target player, so as to directly determine the opponent with the same matching condition. This mechanism reduces the time complexity of the matching operation, and when the matching rule needs to be adjusted, it is only required to reconfigure the generation rule of the matching block, thereby significantly reducing the calculation complexity of dynamic rule updating. BRIEF DESCRIPTION OF DRAWINGS

[0011] One or more embodiments are illustrated by way of example in the figures that are part of this document, and which illustrate key principles of the embodiments. The drawings are not to scale, and are provided merely for explanatory purposes. Throughout the specification, like reference numbers refer to like elements or features in one or more embodiments.

[0012] Figure 1 is an example flowchart of a game player matching method according to some embodiments of the present application;

[0013] Figure 2 is an example flowchart of a game player matching failure process involved in another game player matching method according to some embodiments of the present application;

[0014] Figure 3 is an example flowchart of a game player termination matching process involved in another game player matching method according to some embodiments of the present application;

[0015] Figure 4 is an example flowchart of a game player termination matching and triggering start process involved in another game player matching method according to some embodiments of the present application;

[0016] Figure 5is a visual model diagram of a game player matching process according to some embodiments of the present application;

[0017] Figure 6 is an exemplary block diagram of a game player matching apparatus according to some embodiments of the present application;

[0018] Figure 7 is an exemplary block diagram of an electronic device according to some embodiments of the present application. DETAILED DESCRIPTION

[0019] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below with reference to the drawings. However, those skilled in the art can understand that, in the embodiments of the present application, many technical details are proposed in order to make the readers better understand the present application. However, the technical solutions claimed by the present application can be implemented even if there are no such technical details and various changes and modifications based on the following embodiments. The division of the following embodiments is for the convenience of description, and should not constitute any limitation on the specific implementation of the present application, and the embodiments can be combined and referenced with each other without contradiction.

[0020] It should be understood that the "system", "apparatus", "unit" and / or "module" used in the specification is a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.

[0021] Unless otherwise specified, the technical terms describing components, elements, etc. in the specification do not refer to a single number, but can also include a plurality. Generally, the terms "include", "contain" and the like only indicate the inclusion of the steps, elements or components explicitly identified, and these steps, elements and components do not constitute an exclusive list, and the method or device described can also include other steps or components.

[0022] Flowcharts are used in the specification to illustrate the operation steps performed by the apparatus or system of the related embodiments, but the order used to describe these steps should not be understood as a limitation on the execution order of the steps unless otherwise specified. Those skilled in the art can adjust the execution order of these steps according to the knowledge information conveyed by the embodiments of the present application, and the adjustment includes but is not limited to reversing the sequence, merging multiple steps and splitting a step.

[0023] The embodiment of the present application relates to a game player matching method, which is applied to a server, and a plurality of matching blocks are generated in advance by the server based on game service attributes, and the plurality of matching blocks are used to represent each integral interval under the same game service attribute. A service request of a first player from a client is received, and the first player is mapped with at least one matching block. Since each matching block is generated in advance, each integral interval under the same game service attribute is represented, and therefore, all players mapped with the same matching block have the same matching condition, such as the same game service attribute, the same or close integral. If it is detected that one matching block of the first player and a second player exist or generate a mapping relationship within a preset matching time length, the first player and the second player are matched. Since it is only needed to search whether there is another mapped player in the matching block mapped by the target player, the opponent with the same matching condition can be directly determined, the time complexity of the matching operation is reduced, and when the matching rule needs to be adjusted, only the generation rule of the matching block needs to be reconstructed, so that the calculation complexity of the dynamic rule updating is significantly reduced.

[0024] The server is responsible for running a game server program, storing game data of game users, processing game logic, managing game world state, and communicating with a game client, sending game related information to the client, and receiving operation data of game users uploaded by the client. The server is deployed with a matching system of game players, which is used to process matching algorithms (such as traversing a player queue, calculating a difference), maintain matching blocks, temporarily store player matching requests, and historical data (such as integral, rating); and receive client requests (such as matching instructions), and communicate with other servers / clients (such as synchronizing matching results).

[0025] The client is a game application installed on a game user device (such as a computer, a mobile phone, etc.), and the game user interacts with the game server through the client, receives tasks issued by the game server, displays a game interface, feeds back operation instructions of the game user to the game server, converts the intention of the player "wanting to participate in the game" into a matching request recognizable by the system, and after sending the matching request, the client needs to continuously listen to the matching state of the server and feed back to the player.

[0026] Figure 1 A flow chart of a game player matching method according to an embodiment of the present application is shown, as shown in Figure 1 The method comprises the following steps:

[0027] In step 110, a plurality of matching blocks are generated based on game service attributes, and the plurality of matching blocks are used to represent each integral interval under the same game service attribute.

[0028] In some embodiments, the game service attributes include at least game mode, wherein the game mode includes several game ranks for distinguishing the skill levels of the players. In some optional embodiments, the game service attributes can also include season. For example, the service attributes can be season, mode, rank, etc. These attributes are the basic constraints of the matching block. The service attributes of the players in the same matching block, such as season, participated game mode (such as competitive mode, entertainment mode), rank (such as bronze, silver), etc. must be completely consistent, ensuring the "scene fairness" of the matching - for example, players of different game modes cannot be matched in the same matching block, and players with too large a rank difference cannot be included in the same block.

[0029] In some embodiments, based on the game service attributes, generating the plurality of matching blocks can be implemented by: for each game level in each game mode, determining a level score value domain corresponding to each game level; for each level score value domain, determining a score interval unit length of the level score value domain according to the score configuration; and based on the score interval unit length, performing a division operation on the level score value domain to obtain a plurality of continuous and non-overlapping score intervals, wherein each score interval corresponds to a matching block. The matching block is a predefined rule matching block generated by the matching system before the player matching process starts. The core design goal of the matching block is to ensure that the matching block parameters are enumerable, the number is limited, and good distinguishability is provided. By combining the two core service attributes of "game mode" (such as competitive mode and entertainment mode) and "game level" (such as bronze and silver), the specific matching scenario range is defined. Different combinations of game service attributes represent different matching scenarios, for example, "competitive mode + gold level" and "entertainment mode + gold level" belong to independent scenarios that need to be processed separately. After locking the specific business attribute range, the matching system further utilizes the "level score value domain" (i.e., the fixed score range boundary corresponding to the level) and the "score interval unit length" to discretize the continuous player scores into a plurality of independent matching blocks. The level score value domain ensures that the score division is strictly limited within the current level range, effectively avoiding cross-level initial matching. The score interval unit length (such as 20 points per score interval unit) serves as the basic precision parameter for the division operation, and its value directly determines the granularity of the matching block and the maximum initial score difference between players belonging to the same matching block. For example, the setting of 20 points per score interval unit means that the player score difference within a single matching block will not exceed 20 points. This unit length not only provides a basic score difference constraint for initial matching, but also sets a basic granularity for possible subsequent matching expansion (such as expanding to ±200 points based on "score difference acceptance"). After determining the score interval unit length and the level score value domain according to the predefined score configuration, the matching system performs continuous and non-overlapping interval division within the level score value domain according to the fixed unit length. For example, for the business attribute combination of "competitive mode + gold level", the level score value domain is 1000-1500 points, and if the score interval unit length is configured as 50 points, the division operation will generate [1000, 1050), [1050, 1100), …, [1450, 1500) a total of 10 continuous and non-overlapping score intervals, each interval constitutes an independent matching block. The matching system maintains a player pool for each matching block. The player pool only contains players with the game mode and game level (i.e., the business attribute combination) corresponding to the matching block and the current score within the matching block score interval.The "in-block direct matching" mechanism, since the players in the same matching block have already met the dual basic matching conditions of business attribute consistency and initial score gap (not more than the length of the integral interval unit), does not need to perform additional verification steps in the matching process, significantly improving the matching efficiency.

[0030] In some embodiments, for each game level in each game mode, the level score value domain is determined according to the configured upper limit value and lower limit value of the level score. For example, due to the significant differences in game rules and player levels in different modes (e.g., the competitive mode is more hardcore and the entertainment mode is more casual), different levels directly reflect the ability level of the players (e.g., a gold level player has a higher overall level than a silver level player). Therefore, all combinations of modes and levels need to be processed independently, for example, "competitive mode + silver level" and "entertainment mode + gold level" are completely different business attribute combinations, and their integral ranges need to be calculated respectively to ensure the consistency of the matching scenarios (to avoid initial matching confusion across modes and levels). For example, the matching system determines the integral interval unit length through the score configuration, and the integral range is determined by the upper and lower limits of the integral. The "score configuration" is a set of rules preset by the matching system, which includes parameters such as "upper and lower limits of the integral, length of the integral interval range". For a specific mode and level, the matching system directly defines the integral boundaries of the level through the score configuration: the lower limit of the level integral: the minimum score required to enter the level (e.g., the lower limit of the gold level is 1000 points); the upper limit of the level integral: exceeding the score will upgrade to a higher level (e.g., the upper limit of the gold level is 1500 points, and exceeding it will upgrade to platinum). These upper and lower limit values are fixed and predefined, ensuring that the integral boundaries of the same mode and level are uniform within the same game version. The level integral value domain is the valid range of the player's score in the mode and level, which is composed of the upper and lower limit values specified by the score configuration, for example, if the lower limit of "competitive mode + gold level" is 1000 points and the upper limit is 1500 points, then the level integral value domain is [1000, 1500). All scores within this value domain belong to the players of "competitive mode + gold level", and scores outside the value domain belong to other levels. This value domain is the basis for subsequent division of "integral interval units" (matching blocks). In this way, by binding the mode and level, it is ensured that players in the same value domain are in the same game scenario and ability level; by fixing the upper and lower limit values, the level boundaries are clear, avoiding cross-level mis-matching due to ambiguous integral ranges. The level integral value domain is the "parent range" of the matching block, and all integral intervals (matching blocks) are divided within this value domain, ensuring that the matching block parameters are enumerable and the number is controllable, providing a stable underlying framework for "in-block direct matching" and "dynamic expansion" (based on predefined unit expansion).

[0031] It should be noted that step 110 is a pre-executed step, rather than a step that needs to be executed every time the game player matching is performed, and therefore is indicated by a dashed box in the figure. When the game service attributes are updated, the corresponding multiple matching blocks need to be generated for the newly added game service attributes.

[0032] In step 120, a service request of a first player is received, and based on the service request, the first player is mapped with at least one matching block.

[0033] In some embodiments, the service request at least includes a target game service attribute and a score of the first player. In this step, multiple first target matching blocks under the target game service attribute are determined; the number of selected matching blocks is determined according to a preset difference acceptance, and multiple second target matching blocks are determined from the multiple first target matching blocks according to the number of selected matching blocks and the score of the first player; and the second target matching blocks are mapped with the first player. Specifically, the service request parameter is the starting point of the player matching, which can include the target game service attribute (such as season, mode, and rating, which are used to limit the matching scene) and the score of the first player (which is a key basis for determining the adaptive matching block, to ensure that the strength is similar).

[0034] The matching block itself is a specific carrier of the predefined rule matching block, and constitutes the basic unit of matching; each matching block has a fixed integral interval and associated parameters, ensuring that the player's service attributes within the block are consistent and the integral gap is controllable. The difference acceptance defines the range of acceptable opponent integral gap for the player, which directly affects the matching range. The matching system forms a mapping relationship between the first player and at least one matching block based on the service request. For example, the matching system first filters all matching blocks under the target game service attribute from the predefined matching block set according to the target game service attribute, forming a first target matching block set. For example, for a request with attributes of "season 1 + competitive mode + gold level", the matching system will extract all matching blocks under the game service attribute of "season 1 + competitive mode + gold level". Then, the matching system combines the difference acceptance parameter (the parameter value is low, the number of matching blocks selected is small, and the matching range is narrow; the value is high, the number is large, and the range is wide) and the specific integral value of the first player to further accurately locate the second target matching block from the first target matching block set. For example, when the player's integral is 900 points and the difference acceptance is set to 200 points, (acceptable ± 200 point difference opponent), the matching system will select 10 matching blocks covering the integral and meeting the difference requirement, each matching block is 20 points, covering the [800, 1000) interval. Finally, the matching system establishes a mapping relationship between the determined second target matching block and the first player, which means that the player is included in the player pool corresponding to these matching blocks waiting for matching, and the matching system will search for a suitable opponent for him within the mapped matching block range. The purpose of constructing such a mapping relationship is to achieve the dual optimization goal. On the one hand, by combining service attribute filtering, difference acceptance adjustment and player integral positioning, the accuracy of matching can be greatly improved, ensuring that the player matches the opponent with high consistency of strength and game scene, thereby significantly enhancing the fairness and competitive experience of the game. On the other hand, this mechanism cleverly combines dynamic player layer expansion: when the player's waiting time is prolonged, the matching range can be expanded by increasing the difference acceptance to consider more matching blocks. This dynamic expansion strategy effectively balances the fairness and efficiency requirements of matching, while maintaining a reasonable competitive threshold, significantly reducing the player's waiting time.

[0035] Step 130, if it is detected that at least one matching block and at least one second player exist or generate a mapping relationship within the preset matching time, match the first player and at least one second player.

[0036] In some embodiments, the matching system sets a "preset matching duration" (e.g., 30 seconds) as a time threshold for the players to wait. Within the preset matching duration, the matching system will strictly match the players according to the established "matching block mapping relationship". The specific matching condition is that if the matching system detects that both the "first player" and the "second player" have been mapped to the same matching block (i.e., there are at least two players in the block), the two players will be directly matched. This design fully utilizes the structural advantages of "matching block pre-layering", and completes the matching by only checking the status of the players in the same block, thereby achieving high matching efficiency and avoiding the computational overhead caused by global search. At the same time, the matching system introduces the key parameter of "preset matching duration", which effectively balances the relationship between matching speed and matching quality.

[0037] In one or more of the above embodiments, the server generates a plurality of matching blocks based on the same game service attribute, and each matching block strictly corresponds to a specific matching condition (e.g., an integral interval under the same game service attribute). The players register in the matching queue by requesting to join the matching block that meets their current state, thereby fixing their matching conditions and making all players in the same matching block have the same matching conditions. When matching, the matching system only needs to search for whether there are other mapped players in the matching block to which the target player has been mapped within the preset time window, and can directly determine the opponent with the same matching condition. This mechanism will reduce the time complexity of the matching operation, and when the matching rules need to be adjusted, only the generation rules of the matching block need to be reconfigured, thereby significantly reducing the computational complexity of dynamic rule updating.

[0038] An example flowchart of the game player matching method of another embodiment of the present application is shown in Figure 2 To solve the problem of matching failure caused by insufficient number of players in the current matching block, balance the efficiency and quality of matching, and ensure a certain matching fairness, in some embodiments, the score difference of the matching players is controlled by the difference acceptance to realize the player matching process.

[0039] As shown in Figure 2 Steps 210 to 220 are similar to steps 110 to 120 and will not be described again.

[0040] In step 230, within the preset matching duration, if the second target matching block does not have a mapping relationship with at least one second player, the matching blocks in the mapping relationship are expanded to form a plurality of third target matching blocks, and it is detected whether there is at least one second player that has a mapping relationship with the third target matching block, until a second player is detected or the total duration of the detection reaches a preset threshold.

[0041] In some embodiments, after completing the processing of the service request of the first player (i.e., determining the second target matching block that has a mapping relationship with the first player), the matching system enters a waiting stage for a preset matching duration; if no "second player" is detected in the mapped second target matching block (i.e., no other player enters the second matching block) within the time, the matching system will activate the subsequent matching block expansion process. The logic of this dynamic expansion is that the range of the matching block is expanded step by step driven by the "acceptance of difference". As the basis, the matching system will expand the selection boundary of the matching block by increasing the acceptance of difference. For example, the initial acceptance of difference is set to allow players with a matching difference of ±200 points, and after expansion, the value may be relaxed to ±400 points, so that the matching range is expanded from the originally narrow integral interval (corresponding to fewer matching blocks) to a set of multiple matching blocks covering a wider integral interval, i.e., forming a "third target matching block". The expanded matching block coexists with the original matching block, and players can exist in multiple matching blocks at the same time (such as 10 initial matching blocks + first expansion of 20 matching blocks + second expansion of 30 matching blocks = 60 matching blocks), and the matching can be preferred with the matching block opponent with the same acceptance of difference (players with an acceptance of difference of 200 points are preferred to match the matching block opponent with an acceptance of difference of 200 points). After generating the third target matching block, the matching system continues to detect whether there is a "second player" with an established mapping relationship in these newly included matching blocks (i.e., whether other players are also waiting in these matching blocks). As soon as a second player who meets the conditions is detected, the first player is immediately matched with it. If no matching object is detected, as long as the total time detected by the matching system does not reach the preset maximum matching waiting time (for example, 2 minutes), the matching system will further expand the matching block according to the gradual increase of the acceptance of difference, and repeat the above detection process. The purpose of this dynamic expansion mechanism is to effectively solve the problem of matching failure caused by insufficient number of initial players in the matching block while ensuring that the difference in player scores is controlled by the acceptance of difference and the basic fairness of the match is maintained, thereby optimizing the balance between matching efficiency and quality. It not only avoids the situation that the player cannot find an opponent due to too short waiting time and too strict matching range, but also prevents the player from being trapped in infinite waiting by setting a maximum waiting threshold, thereby guaranteeing the game experience, so as to realize the strategy dynamic adjustment in the game player matching method, improve the player matching success rate and the overall game experience.

[0042] An example flow chart of the game player matching method of some other embodiments of the present application is shown in Figure 3 As shown in the figure, when the matching time exceeds the upper limit of the system tolerance, the binding of the player and the matching block is forcibly terminated, thereby further solving the problems of resource waste and experience collapse caused by the long-term residence of the player in the invalid matching block.

[0043] As shown in the figure, when the matching time exceeds the upper limit of the system tolerance, the binding of the player and the matching block is forcibly terminated, thereby further solving the problems of resource waste and experience collapse caused by the long-term residence of the player in the invalid matching block. Figure 3As shown, steps 310 to 330 are similar to steps 210 to 230, which will not be repeated here.

[0044] In step 340, if the total detection time reaches the preset threshold, and the first player does not match at least one second player, the mapping relationship between the matching block and the first player is released.

[0045] In some embodiments, when the matching process takes time exceeding the tolerance upper limit set by the matching system (i.e., reaching the preset threshold), the binding relationship between the player and the matching block is forcibly terminated. Specifically, when the player continues to occupy the matching block due to long-term unsuccessful matching, the mapping relationship is released to release the computing resources of the matching system (e.g., the server does not need to traverse the matching block to find the opponent for the player) for the "matching block monitoring" and "matching detection" of the player; if the player still does not match successfully after a long invalid waiting, after the mapping relationship is released, the matching request is re-initiated or the matching system is triggered to adopt a more aggressive matching strategy (such as greatly expanding the range of difference acceptance), thereby effectively avoiding the situation that the player falls into "infinite waiting" and thus the game experience completely collapses.

[0046] In some embodiments, the preset threshold is the "timeout bottom line" of the matching process, and once it is reached, the matching process is stopped. The preset threshold can be dynamic and can be associated with the game mode or the player's rank (e.g., a shorter threshold is set in the competitive mode to avoid long waiting for high-level players, and a longer threshold is set in the novice protection period to improve the matching success rate), but the core principle is always "stop matching when timeout". After stopping the matching, the matching system will perform "release the mapping relationship between the matching block and the first player", which includes dual reset of resources and state: in the resource layer, the player no longer resides in any matching block (including the initial matching block and the subsequently expanded matching block), and the matching system stops any "matching block detection" behavior for the player (e.g., the server no longer checks whether there is a potential second player in the matching block where the player A is located), thereby releasing the computing resources which can be redistributed to other matching processes; in the state layer, the current matching request of the player is explicitly terminated and reset, so that the player can re-initiate the matching request or activate the matching system compensation mechanism (such as directly applying a greatly relaxed difference acceptance or skipping the initial matching block logic in the next matching), which effectively avoids the negative effect that the subsequent matching difficulty increases due to the "long-term residence of the player in the invalid matching block".

[0047] An example flowchart of the game player matching method of some other embodiments of the application is as follows: Figure 4As shown, to ensure that the matching block is always in a dynamic available state, avoid hindering the use of the matching block by the subsequent player for matching due to the long-term occupation of the matching block by the player, and thus maintain the overall operation performance of the matching system, the mapping relationship between the player and the matching block can be released after the player successfully completes the matching. In this way, the system resources associated with the matching block are released, and the continuous and effective circulation of the matching pool resources and the smooth operation of the system are ensured.

[0048] As shown, steps 410 to 430 are similar to steps 110 to 130, and thus will not be described again. Figure 4

[0049] In step 440, after the first player and the at least one second player are matched, the mapping relationship between the matching block and the first player and the second player is released.

[0050] In some embodiments, when step 430 successfully detects that the first player and the second player are successfully matched, the matching system immediately marks the "matching block mapping" of the player as "matched" and triggers the release logic. The specific implementation of releasing the mapping relationship can be: first, traversal release is performed, the matching system traverses all the matching blocks associated with the player (including the initial matching block and the extended matching block), and performs the operation of removing the player ID from the "player list" of the matching block. Each matching block maintains a player list, and the players in the player list have a mapping relationship with the matching block. After the operation of removing the player ID from the "player list", the removed player no longer has a mapping relationship with the matching block; then, state marking is performed, and the matching state of the player is updated from "matching" to "released" to prevent repeated processing of the request by the subsequent process; finally, resource recycling is completed, and the exclusive resources allocated by the matching system for the player are released, such as stopping the running of the "matching block listening thread" and recycling the occupied memory buffer, to ensure that these resources can be reallocated to new matching requests. From the perspective of the player experience, this step realizes the closed loop and compensation of experience reset: after the mapping relationship is released after the successful matching, the player enters the "waiting for start" state, and the matching system immediately guides the player to load the game resources (such as displaying the "entering the game" interface and preloading the map and hero data).

[0051] In step 450, after the mapping relationship between the matching block and the first player and the second player is released, the first player and the at least one second player start the game match, and the first player is prompted with the score of the second player, and the second player is prompted with the score of the first player.

[0052] ​In some embodiments, after confirming that the "first player is successfully matched with at least one second player" and the "player's mapping relationship in other matching blocks is removed" (to prevent the same player from being matched to multiple games), the matching system calls the interface to generate a unique "room ID" and load the specified game configuration (such as map type, game mode rules); secondly, the score synchronization is performed, the score data of the two players is read from the player database, and the opponent score information is pushed to the client in a structured data format through the interface; finally, the loading verification is performed to monitor the resource loading state of the two players (such as map loading progress, hero data integrity), and the "start game interface" is called after the loading is completed to lock the player's operation (such as prohibiting re-matching or exiting to ensure the integrity of the game). From the player's experience, the score synchronization provides fairness confirmation to the player, allowing him to intuitively perceive the matching result through the opponent's score (for example, "opponent score 1010, close to own 1000").

[0053] Figure 5 A schematic diagram of a game player matching process is given. Figure 5 The three-dimensional hierarchical structure is clearly presented, including the horizontal, vertical, and depth directions. The horizontal dimension (score from low to high) represents the player's score hierarchy, and each oval matching block in the figure corresponds to a complete "matching block score interval". The matching blocks in the same row or column have continuous score intervals (for example, from [1000, 1020) to [1020, 1040)), which intuitively reflects the basic rule of "players with similar scores are preferentially matched into adjacent matching blocks", ensuring the fairness of initial matching. The vertical dimension represents the game scene hierarchy, and the "matching block group" of different layers (such as S1 season layer, S2 season layer, or competitive mode layer, entertainment mode layer) corresponds to business attributes such as "game mode, season", strictly ensuring that "players in the same scene are preferentially matched" (for example, competitive mode players will not be matched with entertainment mode players across layers), avoiding damage to player experience due to differences in game rules. The depth dimension represents the dynamic expansion mechanism of the matching range, corresponding to the dynamic logic of "score difference tolerance" and "preset matching time": as the depth increases, the acceptable score difference tolerance of the matching system also increases (or the preset matching waiting time gradient is extended), and the screening range of the matching block also expands (for example, the surface layer only matches adjacent blocks with a score difference of ±10, while the deep layer can cover a wider range with a score difference of ±30), perfectly visualizing the core mechanism of "dynamically expanding the matching range when the time is up".

[0054] Please continue to refer to Figure 5 , Figure 5The "player A matching block part" and the "player B matching block part" intuitively show the matching block mapping mechanism, that is, the process of dynamically binding a dedicated "matching block set" for each player by the matching system. Specifically, according to the business attribute parameters submitted by the players (for example, player A selects "season S1 + game mode + score difference acceptance ± 200"), the matching system first filters the matching block group corresponding to the game scene (season / mode), then locates the block adapted to the integral interval, and finally forms the player's dedicated "matching block set" shown in the area of the figure. This mapping relationship is dynamically unique: it ensures the accuracy of the basic matching (preferably matching in the same scene and integral interval), and reserves operation space for dynamically expanding the matching range to the depth layer according to the waiting time.

[0055] Figure 5 The elliptical block marked "match successfully in this matching block" in the figure accurately corresponds to the matching trigger condition, that is, the mapping relationship exists simultaneously with multiple players in the same matching block. The core premise of triggering matching is that the "matching block set" of player A and player B has an intersection (that is, Figure 5 The "match successfully in this matching block" indicated by the dashed line requires that both must meet double conditions: they are in the same layer (for example, both are players of the game mode of season S1, ensuring consistency of the scene), and there is at least one overlapping interval on the horizontal integral matching block (for example, both sets contain the [1020, 1040) block, ensuring that the score difference meets the current score difference acceptance requirement). This design significantly improves the matching efficiency: as long as there are ≥2 players in the same matching block (and they are in the same depth layer, that is, the score difference tolerance or the waiting time configuration is consistent), the matching system can directly trigger the matching without globally traversing all players, realizing the efficient design of "in-block direct matching, O(1) level computing efficiency", which greatly reduces the load of the matching system.

[0056] In this way, the server pre-generates multiple matching blocks based on game business attributes, and each matching block strictly corresponds to a specific matching condition (such as an integral interval under the same game business attribute). The player is mapped into the matching block that meets the current state by requesting to join the matching queue, and the matching condition is fixed, so that all players in the same matching block have the same matching condition. When matching, the matching system only needs to search whether there are other mapped players in the matching block that the target player has mapped within the preset time window, and can directly determine the opponent with the same matching condition. This mechanism will reduce the time complexity of the matching operation, and when the matching rules need to be adjusted, only the generation rules of the matching block need to be reconstructed, significantly reducing the computational complexity of dynamic rule updating.

[0057] The present application also provides a game player matching device. Figure 6is an exemplary block diagram of a game player matching apparatus according to some embodiments of the present application. In some embodiments, the game player matching apparatus comprises at least a generating module, a mapping module and a matching module.

[0058] In some embodiments, the generating module is configured to generate a plurality of matching blocks based on a game service attribute, the plurality of matching blocks being used to represent each integral interval under the same game service attribute; the mapping module is configured to receive a service request of a first player, and form a mapping relationship between the first player and at least one matching block based on the service request; and the matching module is configured to match the first player with at least one second player if it is detected that the at least one matching block has a mapping relationship with the at least one second player within a preset matching time length.

[0059] In one example, the service request comprises at least a target game service attribute and an integral of the first player. The mapping module determines a plurality of first target matching blocks under the target game service attribute, determines a number of selected matching blocks according to a preset differential acceptance, and determines a plurality of second target matching blocks from the plurality of first target matching blocks according to the number of selected matching blocks and the integral of the first player, and establishes a mapping relationship between the plurality of second target matching blocks and the first player.

[0060] In one example, if the second target matching block does not have a mapping relationship with at least one second player within the preset matching time length, the mapping module expands the matching blocks in the mapping relationship to form a plurality of third target matching blocks according to an increased differential acceptance, and the matching module detects whether there is at least one second player having a mapping relationship with the third target matching block until the second player is detected or a total detection time reaches a preset threshold.

[0061] In one example, the game service attribute comprises at least a game mode, and the game mode comprises a plurality of game ranks used to distinguish the technical levels of players. The generating module determines a rank integral value domain corresponding to each game rank for each game mode, and performs a division operation on the rank integral value domain based on a configured integral interval unit length to obtain a plurality of continuous and non-overlapping integral intervals for each rank integral value domain, wherein each integral interval corresponds to a matching block. For each game rank under each game mode, the rank integral value domain can be determined according to a configured upper limit value of the rank integral and a lower limit value of the rank integral.

[0062] In one example, the game service attribute can further comprise a season.

[0063] In one example, if the total detection time reaches the preset threshold and the first player is not matched with at least one second player, the mapping module can further release the mapping relationship between the matching block and the first player.

[0064] In one example, after the first player is matched with the at least one second player, the mapping module can also remove the mapping relationship between the match block and the first player and the second player.

[0065] In one example, the game player matching device can further include a prompting module (not shown in the figure), which starts a game session between the first player and the at least one second player after removing the mapping relationship between the match block and the first player and the at least one second player, and prompts the first player with the score of the second player and prompts the second player with the score of the first player.

[0066] It can be found that the embodiment corresponds to the method embodiment described above, and the embodiment can be implemented in cooperation with the method embodiment described above. The related technical details mentioned in the method embodiment are still valid in the embodiment, and to avoid repetition, they will not be described here. Correspondingly, the related technical details mentioned in the embodiment can also be applied to the method embodiment.

[0067] It is worth mentioning that each module involved in the embodiment is a logical module, and in actual application, one logical unit can be one physical unit, a part of one physical unit, or a combination of multiple physical units. In addition, in order to highlight the innovative part of the present application, units not closely related to solving the technical problems proposed in the present application are not introduced in the embodiment, but this does not mean that there are no other units in the embodiment.

[0068] Another embodiment of the present application also relates to an electronic device, such as Figure 7 As shown in the figure, the electronic device includes at least one processor, and a memory connected with the at least one processor in communication; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the game player matching method as described above.

[0069] The memory and the processor are connected in a bus mode, the bus can include any number of interconnected buses and bridges, and the bus connects various circuits of one or more processors and memories together. The bus can also connect various other circuits such as peripheral devices, voltage stabilizers, and power management circuits together, which are well known in the art, and therefore, they will not be further described herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be one element or multiple elements such as multiple receivers and transmitters, which provide a unit for communicating with various other devices on the transmission medium. The data processed by the processor is transmitted on the wireless medium through the antenna, and further, the antenna also receives data and transmits the data to the processor.

[0070] The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. The memory can be used to store data used by the processor in performing operations.

[0071] Another embodiment of the present application also relates to a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the method embodiments.

[0072] That is, those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by a program instructing related hardware, the program is stored in a storage medium, and includes a plurality of instructions for making a device (which can be a single-chip microcomputer, a chip, etc.) or a processor execute all or part of the steps of the various embodiments of the method of the present application. The foregoing storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk and various program codes that can be stored in the medium.

[0073] Some embodiments of the present application also provide a computer program product, which includes a computer program, and when at least part of the computer program is executed by a processor, the game player matching method as described above can be implemented. In some embodiments, the computer program product can only involve the computer program, which can be carried by a storage medium or a processing device. In other embodiments, the computer program product can also be the storage medium or the processing device containing the aforementioned computer program. The processing device can include one or more processors, and the storage medium.

[0074] Those skilled in the art can understand that the above-mentioned embodiments are specific embodiments for implementing the present application, and in actual applications, various changes can be made in form and details without departing from the spirit and scope of the present application.

Claims

1. A game player matching method characterized by comprising: The method comprises: generating a plurality of matching blocks based on game service attributes, the plurality of matching blocks being used to represent each credit interval under the same game service attribute; receiving a service request of a first player, and forming a mapping relationship between the first player and at least one matching block based on the service request; if it is detected that the at least one matching block has a mapping relationship with at least one second player within a preset matching time length, matching the first player with the at least one second player.

2. The game player matching method according to claim 1, wherein The service request at least comprises a target game service attribute and a credit of the first player; The mapping relationship between the first player and at least one matching block based on the service request comprises: determining a plurality of first target matching blocks under the target game service attribute; determining a number of selected matching blocks according to a preset difference acceptance degree, and determining a plurality of second target matching blocks from the plurality of first target matching blocks according to the number of selected matching blocks and the credit of the first player; establishing a mapping relationship between the plurality of second target matching blocks and the first player.

3. The game player matching method according to claim 2, wherein The method further comprises: if the second target matching block does not have a mapping relationship with at least one second player within the preset matching time length, expanding the matching blocks in the mapping relationship to form a plurality of third target matching blocks according to an increased difference acceptance degree, and detecting whether there is at least one second player having a mapping relationship with the third target matching block until the second player is detected or a total time length of the detection reaches a preset threshold.

4. The game player matching method of claim 1, wherein, The game service attributes at least comprise game modes, and the game modes comprise a plurality of game ranks used to distinguish technical levels of players; The method of generating a plurality of matching blocks based on game service attributes comprises: for each game rank of each game mode, determining a rank credit value domain corresponding to the each game rank; for each rank credit value domain, performing a division operation on the rank credit value domain to obtain a plurality of continuous and non-overlapping credit intervals based on a configured credit interval unit length; wherein each credit interval corresponds to a matching block.

5. The game player matching method according to claim 4, wherein The method of determining a rank credit value domain corresponding to each game rank for each game mode comprises: for each game rank of each game mode, determining the rank credit value domain according to a configured upper limit value of rank credit and a lower limit value of rank credit.

6. The game player matching method of claim 4, wherein, The game service attributes further comprise a season.

7. The game player matching method according to claim 3, wherein The method further comprises: if the total time length reaches the preset threshold and the first player is not matched with at least one second player, releasing the mapping relationship between the matching block and the first player.

8. The game player matching method according to any one of claims 1 to 7, characterized in that, The method further comprises: after the first player is matched with the at least one second player, releasing the mapping relationship between the matching block and the first player and the at least one second player.

9. The game player matching method according to claim 8, wherein The method further comprises: after the mapping relationship between the matching block and the first player and the at least one second player is released, starting a game session between the first player and the at least one second player, and prompting the first player with the credit of the second player and prompting the second player with the credit of the first player.

10. A game player matching apparatus characterized by comprising: The device comprises: a generating module configured to generate a plurality of matching blocks based on game service attributes, the plurality of matching blocks being used to represent each credit interval under the same game service attribute; a mapping module configured to receive a service request of a first player, and form a mapping relationship between the first player and at least one matching block based on the service request; a matching module configured to match the first player with at least one second player if a mapping relationship exists or is generated between the at least one matching block and the at least one second player within a preset matching time length.

11. An electronic device, comprising: comprise: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the game player matching method according to any one of claims 1 to 9.

12. A computer-readable storage medium storing a computer program, characterized in that, The computer program is executed by the processor to implement the game player matching method according to any one of claims 1 to 9.

13. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the game player matching method according to any one of claims 1 to 9.