Game room matching method and device
By setting up multiple matching nodes in the game matching system and filtering target matching nodes based on the attributes and feature information of the matching task, the problems of game room matching delay and uneven resource allocation in the prior art are solved, and fast and efficient game room matching is achieved.
Patent Information
- Application Number
- CN202510124288.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-26
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2045-01-26
AI Technical Summary
The existing game room matching technology is prone to problems such as matching delay and uneven resource allocation during peak periods, and cannot meet the needs of low latency and efficient matching.
By setting up multiple matching nodes, the most suitable target matching nodes are filtered out among the multiple matching nodes based on the attribute information and feature information of the matching task, and the target game room is determined. The method includes technical means such as filtering the data load size of the initial matching node, sharding processing of matching tasks, and pre-placement of game rooms.
It achieves fast and efficient matching of game rooms, reduces matching time, reduces game delay, and improves user experience.
Smart Images

Figure CN119565168A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of game data processing, and specifically relates to a game room matching method and device. Background Art
[0002] With the development of technology, the gaming industry has become increasingly popular. Among them, online games can generate interactions between different users, so they are favored by users. Online games generate interactions between different users. First, these users need to enter a game room before they can play together.
[0003] However, existing room matching technologies are prone to problems such as matching delays and uneven resource allocation when processing user game room matching requests. Especially during peak hours, traditional matching methods often cannot meet the needs of low latency and efficient matching.
[0004] Therefore, how to quickly and efficiently match game rooms is a technical problem that needs to be solved urgently. Summary of the invention
[0005] The purpose of this application is to quickly and efficiently match game rooms.
[0006] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0007] According to one aspect of an embodiment of the present application, a game room matching method is provided, comprising: Determine an initial matching node corresponding to the matching task according to attribute information of the matching task, wherein the attribute information includes a generation address of the matching task; Determining a target matching node in the initial matching node according to the size of the data load of the initial matching node; According to the characteristic information of the matching task and the node information of the target matching node, a target game room is determined in the target matching node, wherein the characteristic information includes the user's requirements for the target game room.
[0008] According to one aspect of an embodiment of the present application, determining a target matching node in the initial matching node according to the size of the data load of the initial matching node includes: According to the data load size of the initial matching node, a set number of initial allocation nodes are selected as target allocation nodes.
[0009] According to one aspect of an embodiment of the present application, determining a target game room in the target matching node according to the feature information of the matching task and the node information of the target matching node includes: If there are multiple target matching nodes, the target game room is determined in each target allocation node according to the feature information of the matching task and the node information of the target matching node.
[0010] According to one aspect of an embodiment of the present application, according to the feature information of the matching task and the node information of the target matching node, determining a target game room in the target matching node, the method further includes: If there are multiple target matching nodes, the matching task is fragmented to obtain multiple sub-matching tasks; The target matching nodes are controlled to respectively execute different sub-matching tasks, and after the target game room is determined, all target matching nodes are controlled to stop executing corresponding sub-matching tasks.
[0011] According to one aspect of an embodiment of the present application, according to the feature information of the matching task and the node information of the target matching node, determining a target game room in the target matching node, the method further includes: If the target matching node has a game room with free positions, determining whether the game room with free positions meets the matching task; If the game room with the free position meets the matching task, determining whether the free position is pre-occupied; if the game room with the free position does not meet the matching task, re-executing the matching task; If the free position is not pre-occupied, a free position is pre-occupied for the user who initiated the matching task, and the game room with the free position is used as the target game room of the matching task; if the free position is pre-occupied, it is re-determined whether there is a game room with a free position at the target matching node.
[0012] According to one aspect of the embodiment of the present application, if there is no game room with a vacant position, the method further includes: Calculate the number of game rooms that need to be created according to the matching tasks in the target matching node; If the target matching node can be created, the target number of game rooms to be created is determined according to the number of game rooms being created by the target matching node and the number of game rooms to be created, and after the target matching node completes the creation of the game room, the target game room corresponding to the matching task is determined in the game room; If the target matching node cannot be created, the matching task is re-executed.
[0013] According to one aspect of an embodiment of the present application, if the target matching node has a game room with an idle position, before determining whether the game room with an idle position meets the matching task, the method further includes: If a historical room is matched at the target matching node, and the historical room allows midway joining, the historical room is used as the target game room. The historical room refers to a game room where the user exited without completing the game.
[0014] According to one aspect of an embodiment of the present application, according to the feature information of the matching task and the node information of the target matching node, after determining the target game room in the target matching node, the method further includes: Generate update messages based on information changes in the game rooms in the matching node and store them in the matching node database; The message queue is updated according to the update message, so that each matching node updates the node information through the message queue.
[0015] According to one aspect of the embodiment of the present application, the method further includes: At every first set time interval, node information and task execution information of the target matching node are obtained to update the temporarily stored node information and task execution information of the target matching node; If the target matching node crashes, the stored node information and task execution information of the target matching node are obtained, and the target matching node and matching task progress are restored.
[0016] According to one aspect of an embodiment of the present application, the present application provides a matching device for a game room, the device comprising: Allocation module: configured to determine an initial matching node; Matching module: configured to update the node information of each matching node, and determine the target matching node corresponding to the matching task and the node information of the matching node, and determine the target game room; Long-term storage module; used to store information changes of matching nodes, configured with a matching node database; Message transmission module: used to build a corresponding message queue according to the update information of the matching node to update the node information of the matching node; The short-term storage module is configured to obtain and temporarily store node information of matching nodes and task execution information.
[0017] In the technical solution provided in the embodiment of the present application, firstly, the initial matching node corresponding to the matching task is determined according to the attribute information of the matching task, and the attribute information includes the generation address of the matching task. Secondly, according to the size of the data load of the initial matching node, the target matching node is determined in the initial matching node. Finally, according to the feature information of the matching task and the node information of the target matching node, the target game room is determined in the target matching node, and the feature information includes the user's requirements for the target game room.
[0018] In the present application, by setting multiple matching nodes, and based on the attribute information and feature information of the matching task, the target matching node that is most suitable for the matching task is screened out from the multiple matching nodes, so that the matching task will not cause the game room to match for a long time or the delay when playing in the game room to be too high due to the excessive load of the matching node or the long distance. At the same time, in the embodiment of the present application, the initial matching node is gradually selected, and then the target matching node is determined in the initial matching node. Compared with randomly assigning matching tasks to multiple matching nodes or evenly assigning matching tasks, the embodiment of the present application can provide a more suitable matching node as the target matching node for the matching task, and thus can match the game room more efficiently. Thereby achieving fast and efficient matching of the game room.
[0019] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 A flowchart of a game room matching method according to an embodiment of the present application is shown.
[0023] Figure 2 A flowchart is shown for determining a target game room in a target matching node based on feature information of a matching task and node information of a target matching node according to an embodiment of the present application.
[0024] Figure 3A flowchart is shown for determining a target game room in a target matching node based on feature information of a matching task and node information of a target matching node according to another embodiment of the present application.
[0025] Figure 4 A flowchart of creating a new game room if there is no game room with vacant positions according to one embodiment of the present application is shown.
[0026] Figure 5 A flowchart of updating node information of a matching node according to an embodiment of the present application is shown.
[0027] Figure 6 A flowchart of temporarily storing node information and task execution information according to an embodiment of the present application is shown.
[0028] Figure 7 A flowchart for preventing a game room from crashing according to an embodiment of the present application is shown.
[0029] Figure 8 A schematic diagram of a matching device for a game room according to an embodiment of the present application is shown.
[0030] Fig. 9 A block diagram of a computer system structure for implementing a method for matching a game room according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0031] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.
[0032] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0033] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0034] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0035] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0036] See also Figure 1 , Figure 1 A flowchart of a game room matching method according to an embodiment of the present application is shown. The present application embodiment provides a game room matching method, including: Step S110, determining an initial matching node corresponding to the matching task according to the attribute information of the matching task, where the attribute information includes a generation address of the matching task; Step S120, determining a target matching node in the initial matching nodes according to the size of the data load of the initial matching nodes; Step S130, determining a target game room in the target matching node according to the feature information of the matching task and the node information of the target matching node, wherein the feature information includes the user's requirements for the target game room.
[0037] The above three steps are described in detail below.
[0038] In step S110, each matching task has corresponding attribute information when generated, and the attribute information at least includes the generation address of the matching task. In some embodiments, an initial matching node is selected from multiple matching nodes according to the generation address of the matching task and the address of the server where each matching node is located.
[0039] Exemplarily, at least one initial matching node is screened out based on the address of the generation of the matching task and the address of the server where each matching node is located. Among them, the distance between the address of the server where the initial matching node is located and the address generated by the matching task is less than the set distance threshold. This can ensure that the user has a small delay when using the matching node. If the distance between the address of the server where the initial matching node is located and the address generated by the matching task is too large, it may cause the user to have too high a delay when matching the game room or playing the game, resulting in a poor gaming experience.
[0040] In other embodiments, the data transmission delay between the server where each matching node is located and the generated address of the matching task is determined according to the generated address of the matching task and the address of the server where each matching node is located.
[0041] In some embodiments, in the order of data transmission delay from short to long, the first N matching nodes with shorter data transmission delays are used as initial matching nodes, where N is a positive integer.
[0042] In some embodiments, a matching node whose data transmission delay is less than a set delay threshold is used as an initial matching node.
[0043] In step S120, the data load size of each initial matching node is obtained, and the target matching node is determined in the initial matching nodes. Exemplarily, in the order of data load from small to large, the first M initial matching nodes with smaller data loads are used as target matching nodes. Wherein, M is a positive integer, and M is less than the number of initial matching nodes.
[0044] In step S130, it is first necessary to clarify that the feature information of the matching task refers to the information of the room that the user wants to enter when matching the game. Different game modes have different features, and the generated matching tasks will also have corresponding feature information. The node information of the matching node refers to the information of the game room in the matching node, such as the idle position, type, game mode, etc. of the game room.
[0045] If the user wants to enter a game room of type A, the generated matching task will also have feature information A. This ensures that the target game room that the user enters after completing the matching task is a game room of type A. The feature information of the matching task is used to filter the game rooms in the target game node.
[0046] According to the node information of the target matching node and the characteristic information of the matching task, the target game room is determined in the target matching node.
[0047] In some embodiments, feature information of the matching task is automatically generated based on the game mode the user is in.
[0048] In some embodiments, when matching in a game room, the user will select some matching conditions, that is, the corresponding matching conditions are generated according to the user's operation behavior to generate the corresponding matching task, and the matching conditions will generate corresponding feature information in the matching task, so that the target game room entered by the user after the matching task is completed meets the matching conditions selected by the user.
[0049] In the embodiment of the present application, multiple matching nodes are set to provide multiple options for the execution of the matching task, and the most suitable matching node for the matching task is matched as the target matching node to efficiently complete the matching task.
[0050] In the embodiment of the present application, by setting multiple matching nodes, when there are multiple matching tasks, multiple target matching nodes can be selected to execute them separately, which greatly avoids the low matching efficiency caused by a single matching node.
[0051] On the other hand, in the embodiment of the present application, the initial matching node is gradually selected, and then the target matching node is determined in the initial matching node. Compared with randomly assigning matching tasks to multiple matching nodes or evenly assigning matching tasks, the embodiment of the present application can provide a more suitable matching node as the target matching node for the matching task, thereby more efficiently matching the game room.
[0052] Also in this way, the target game room selected in the target matching node has less delay and is smoother.
[0053] In some embodiments, a set number of initial allocation nodes are selected as target allocation nodes according to the data load size of the initial matching nodes.
[0054] In some embodiments, there is only one target matching node, in which case the target matching node can be directly used to perform the matching task.
[0055] In some embodiments, if there is only one target matching node, the duration for the target matching node to execute the matching task is calculated. If the duration for executing the matching task is greater than the set duration, at least one target matching node is re-determined to re-execute the matching task.
[0056] In some embodiments, there may be multiple target matching nodes that execute matching tasks simultaneously. After any target matching node completes the matching task, all target matching nodes end the execution of the tasks.
[0057] In some embodiments, there may be multiple target matching nodes. When the data load of each target matching node is less than a preset load threshold or the data load average is less than a preset load threshold, all target matching nodes are made to perform the matching task simultaneously. Otherwise, the matching task is only performed in the target matching node whose data load is less than the load threshold.
[0058] See also Figure 2 , Figure 2 A flowchart of determining a target game room in a target matching node according to feature information of a matching task and node information of a target matching node according to an embodiment of the present application is shown. The embodiment of the present application provides a step S130 of determining a target game room in the target matching node according to feature information of the matching task and node information of the target matching node, including: Step S131a: if there are multiple target matching nodes, the matching task is fragmented to obtain multiple sub-matching tasks; Step S132a, controlling the target matching nodes to respectively execute different sub-matching tasks, and after determining the target game room, controlling all target matching nodes to stop executing the corresponding sub-matching tasks.
[0059] The above two steps are described below.
[0060] In some embodiments, when the target matching node performs a matching task, if a historical room is matched at the target matching node and the historical room allows midway joining, the historical room is used as the target game room. The historical room refers to a game room where the user exited without completing the game.
[0061] If no historical room is matched, step S131a and step S132a are further executed.
[0062] In step S131a, if there are multiple target matching nodes, the matching task is fragmented to obtain multiple sub-matching tasks.
[0063] In some embodiments, one target matching node can execute multiple sub-matching tasks, so the number of sub-matching tasks is greater than the number of target matching nodes.
[0064] In some embodiments, in order for each sub-matching task to be executed by a target matching node, the number of sub-matching tasks is less than or equal to the number of target matching nodes.
[0065] In some embodiments, the number of sub-matching tasks can be controlled. When the number of sub-matching tasks is greater than the number of target matching nodes, they can be merged through the technical means in this paragraph. It should be clear that the number of sub-matching tasks greater than the number of target matching nodes is not a necessary prerequisite for the technical means in this paragraph. The technical means in this paragraph can be executed under any circumstances. Specifically, each sub-matching task represents at least one path to complete the matching task. Exemplarily, if you walk from point A to point P, there are 3 paths, namely the first completion path: ABP; the second completion path: ACP; the third completion path: ADEP. That is, there are at most 3 sub-assignment tasks, and each sub-assignment task represents a different completion path. Considering that the number of target matching nodes may be small, some sub-assignment tasks can include two or more completion paths, so that each sub-matching task can be run on a target matching node. Exemplarily, the first sub-matching task includes the first completion path and the second completion path; the second sub-matching task includes the third completion path.
[0066] In this way, each matching task can be completed by using multiple target matching nodes at the same time, which greatly improves the efficiency of completing the matching task.
[0067] In some implementations, the matching task is first sharded to obtain multiple sub-matching tasks, and then the required number of target matching nodes is determined based on the number of sub-matching tasks, and then the required number of target matching nodes is selected from all matching nodes using steps S110 and S120.
[0068] In step S132a, after any target matching node completes the sub-matching task and determines the target game room, all target matching nodes end the execution of the task. That is, after the first target game room is determined, the matching task has been completed and there is no need to waste computing resources to continue execution, so all target matching nodes are controlled to stop executing the matching task. It should be clear that in the embodiment of the present application, the matching task also includes a sub-matching task, which is a part of the matching task.
[0069] See also Figure 3 , Figure 3 A flowchart of determining a target game room in a target matching node according to feature information of a matching task and node information of a target matching node according to another embodiment of the present application is shown. The embodiment of the present application provides a step S130 of determining a target game room in the target matching node according to feature information of the matching task and node information of the target matching node, including: Step S131b, if the target matching node has a game room with free positions, determine whether the game room with free positions meets the matching task; Step S132b, if the game room with the free position meets the matching task, determine whether the free position is pre-occupied; if the game room with the free position does not meet the matching task, re-execute the matching task; Step S133b, if the free position is not pre-occupied, a free position is pre-occupied for the user who initiated the matching task, and the game room with the free position is used as the target game room of the matching task; if the free position is pre-occupied, it is re-determined whether there is a game room with a free position at the target matching node.
[0070] The above three steps are described in detail below.
[0071] It should be clear that the target matching node described in the embodiment of the present application is illustrated by taking one target matching node as an example, and each target matching node runs the technical means of the following steps.
[0072] In step S131b, it is first determined whether there is a game room with a vacant position in the target game node.
[0073] If the target matching node has a game room with free positions, the game room with free positions is matched according to the feature information of the matching task to see whether it meets the room requirements of the game room according to the feature information in the matching task.
[0074] See also Figure 4 , Figure 4 A flowchart of creating a new game room if there is no game room with free space according to an embodiment of the present application is shown. The embodiment of the present application provides steps for creating a new game room if there is no game room with free space, including: Step S201, calculating the number of game rooms to be created according to the matching tasks in the target matching node; Step S202: If the target matching node can be created, the target number of game rooms to be created is determined according to the number of game rooms being created by the target matching node and the number of game rooms to be created, and after the target matching node completes the creation of the game room, the target game room corresponding to the matching task is determined in the game room; Step S203: if the target matching node cannot be created, the matching task is re-executed.
[0075] The above three steps are described in detail below.
[0076] It should be clear that the target matching node described in the embodiment of the present application is illustrated by taking one target matching node as an example, and each target matching node runs the technical means of the following steps.
[0077] In step S201, the number of matching tasks in the target matching node is calculated, and then the number of matching tasks required to establish a game room is obtained. According to the number of matching tasks required to establish a game room, the number of game rooms required to be created is calculated.
[0078] In step S202, if the target matching node can create a game room, the target number of game rooms to be created is determined according to the number of game rooms being created by the target matching node and the number of game rooms to be created. In some embodiments, the difference between the number of game rooms to be created and the number of game rooms being created is the target number of game rooms to be created by the target matching node.
[0079] Add the target creation quantity of creation tasks to the creation queue, and the target game node creates the game room.
[0080] After the game room is created, a suitable game room is selected from the game rooms according to the characteristic information of the matching task as the target game room.
[0081] In some embodiments, after the game room is created, the target game room is determined by re-executing the matching task at the target game node.
[0082] In step S203, if the target matching node cannot be created, the execution time of the target matching node to execute the matching task is obtained. If the execution time reaches the preset time threshold, the target matching node is re-determined for the matching task, and the matching task is executed at the new target matching node. If the execution time does not reach the preset time threshold, the matching task is re-executed at the current target matching node.
[0083] In step S132b, if the game room with the free position meets the matching task, that is, the game room with the free position has the possibility of being the target game room, it is further determined whether the free position of the game room is pre-occupied, which means that there is a user matched to the free position, but has not entered, but the free position has been occupied.
[0084] In some embodiments, if the game room with free space does not meet the matching task, the execution time of the target matching node to execute the matching task is obtained. If the execution time reaches a preset time threshold, the target matching node is re-determined for the matching task, and the matching task is executed at the new target matching node. If the execution time does not reach the preset time threshold, the matching task is re-executed at the current target matching node.
[0085] In step S133b, if the free position is not pre-occupied, the user who initiated the matching task is pre-occupied, and the game room with the free position is used as the target game room of the matching task. A mapping relationship between the user and the target game room is established to update the node information of the target matching node to prevent the free position from continuing to participate in other matching tasks, resulting in other matching tasks being unable to use the free position even if the free position is selected.
[0086] At the same time, after the user establishes a mapping relationship with the target game room, the room entry timer is displayed. If the user enters the target game room in response to the user's positive operation behavior (such as clicking to enter), the user enters the target game room. If the user's operation behavior is not responded to, the pre-occupancy of the target game room is released after the room entry timer reaches the preset timer length. Alternatively, the pre-occupancy of the target game room is released in response to the user's negative operation behavior (such as exiting the game).
[0087] After releasing the pre-occupancy of the target game room, the execution time of the target matching node to execute the matching task is obtained. If the execution time reaches the preset time threshold, the target matching node is re-determined for the matching task, and the matching task is executed at the new target matching node. If the execution time does not reach the preset time threshold, the matching task is re-executed at the current target matching node.
[0088] If the free position has an occupied user, then the game room with the free position of the target matching node is re-determined.
[0089] See also Figure 5 , Figure 5 A flowchart of updating node information of a matching node according to an embodiment of the present application is shown. The embodiment of the present application provides steps for updating node information of a matching node, including: Step S301, generating an update message according to the information change of the game room in the matching node, and storing it in the matching node database; Step S302: updating the message queue according to the update message, so that each matching node updates the node information through the message queue.
[0090] The above two steps are described in detail below.
[0091] In step S301, an update message is generated according to the information change of the game room in the matching node, and stored in the matching node database. Exemplarily, when the game room in the target matching node is entered by the user, the information of the game room in the target matching node needs to be updated, that is, the node information needs to be updated. This is to avoid inaccurate node information, resulting in the target game room determined according to the matching task being full or unavailable.
[0092] When the game room in the target matching node is used as the target game room, the game room information will change, and then form an update message, which will be stored in the node database to form a running log. It should be clear that the node database refers to the database that stores all matching node data.
[0093] In some embodiments, all changes such as game room collapse and reconstruction are to form update messages, thereby ensuring the readiness of node information of each matching node.
[0094] In step S302, each update message will be added to the message queue, which is oriented to the matching node and is used to allow the matching node to obtain the update message. Therefore, after the update message appears, the update message will be added to the update queue, and then the message queue will be updated so that each matching node can obtain the updated node information, and then the node information can be further refined.
[0095] In some embodiments, the update message refers to information about changes in the matching node. After the matching node obtains the update message through the message queue, the matching node updates part of the node information that has changed.
[0096] See also Figure 6 , Figure 6 A flowchart of temporarily storing node information and task execution information according to an embodiment of the present application is shown. The embodiment of the present application provides steps for temporarily storing node information and task execution information, including: Step S401, obtaining the node information and task execution information of the target matching node at intervals of a first set time, so as to update the temporarily stored node information and task execution information of the target matching node; Step S402: If the target matching node crashes, the node information and task execution information of the stored target matching node are obtained, and the target matching node and matching task progress are restored.
[0097] The above two steps are described below.
[0098] In step S401, the node information and task execution information of the target matching node are obtained at intervals of a first set time, so as to update the temporarily stored node information and task execution information of the target matching node.
[0099] In step S402, if the target matching node crashes, the node information and task execution information of the stored target matching node are obtained, and the target matching node and the matching task progress of the target matching node are restored.
[0100] In an embodiment of the present application, by temporarily storing node information and task execution information, even if a matching node suddenly crashes, the target matching node and the matching task progress can be restored to the state of an adjacent time node based on the temporarily stored node information and task execution information of the target matching node. There is no need to rebuild the matching node and regenerate the matching task, and no important data will be lost.
[0101] See also Figure 7 , Figure 7 A flowchart of preventing a game room from crashing according to an embodiment of the present application is shown. The present application embodiment provides steps for preventing a game room from crashing, including: Step S501, sending test information to each game room at intervals of a second set time; Step S502, obtaining the matching task corresponding to the game room without feedback information; Step S503, re-matching the target game room for the matching task.
[0102] The above steps are described in detail below.
[0103] In step S501, test information is sent to each game room at intervals of a second set time.
[0104] In step S502, after receiving the test information, the game room needs to send feedback information to indicate that the game room is operating normally. If no feedback information is received after sending the set number of test information to the game room, or only partial feedback information is received, it means that the game room may have crashed and cannot run or is seriously stuck. In this case, each user in the game room is obtained, and the matching task corresponding to the game room is determined by each user.
[0105] In step S503, the target game room is re-matched for the matching task.
[0106] In the embodiment of the present application, the situation where the game room crashes or the game room is severely stuck can be discovered and adjusted in time, which greatly improves the user experience.
[0107] See also Figure 8 , Figure 8 A schematic diagram of a matching device for a game room according to an embodiment of the present application is shown. The matching device for a game room includes: Allocation module: configured to determine an initial matching node; Matching module: configured to update the node information of each matching node, and determine the target matching node corresponding to the matching task and the node information of the matching node, and determine the target game room; Long-term storage module; used to store information changes of matching nodes, configured with a matching node database; Message transmission module: used to build a corresponding message queue according to the update information of the matching node to update the node information of the matching node; The short-term storage module is configured to obtain and temporarily store node information and task execution information of matching nodes. When the temporarily stored node information and task execution information of matching nodes exceed a preset time limit, they are automatically deleted to reduce storage pressure for the short-term storage module.
[0108] Fig. 9 A block diagram of a computer system structure for implementing a method for matching a game room according to an embodiment of the present application is shown.
[0109] It should be noted that Fig. 9 The computer system 800 shown is only an example and should not affect the functions and usage scope of the embodiments of the present application.
[0110] like Fig. 9 As shown, the computer system 800 includes a central processing unit 801 (CPU), which can perform various appropriate actions and processes according to the program stored in the read-only memory 802 (ROM) or the program loaded from the storage part 808 to the random access memory 803 (RAM). Various programs and data required for system operation are also stored in the random access memory 803. The central processing unit 801, the read-only memory 802 and the random access memory 803 are connected to each other through a bus 804. The input / output interface 805 (Input / Output interface, i.e., I / O interface) is also connected to the bus 804.
[0111] The following components are connected to the input / output interface 805: an input section 806 including a keyboard, a mouse, etc.; an output section 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, a modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed so that a computer program read therefrom is installed into the storage section 808 as needed.
[0112] In particular, according to an embodiment of the present application, the process described in each method flow chart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer readable medium, and the computer program contains a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the central processor 801, various functions defined in the system of the present application are executed.
[0113] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a 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. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0114] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the above-mentioned module, program segment or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0115] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0116] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation method of the present application.
[0117] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary technical means in the art that are not disclosed in the present application.
[0118] It should be understood that the present application is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A game room matching method, characterized in that: include: Determine an initial matching node corresponding to the matching task according to attribute information of the matching task, wherein the attribute information includes a generation address of the matching task; Determining a target matching node in the initial matching node according to the size of the data load of the initial matching node; According to the characteristic information of the matching task and the node information of the target matching node, a target game room is determined in the target matching node, wherein the characteristic information includes the user's requirements for the target game room.
2. The method according to claim 1, characterized in that Determining a target matching node in the initial matching node according to the size of the data load of the initial matching node includes: According to the data load size of the initial matching node, a set number of initial allocation nodes are selected as target allocation nodes.
3. The method according to claim 2, characterized in that Determining a target game room in the target matching node according to the feature information of the matching task and the node information of the target matching node includes: If there are multiple target matching nodes, the target game room is determined in each target allocation node according to the feature information of the matching task and the node information of the target matching node.
4. The method according to claim 2, characterized in that: According to the feature information of the matching task and the node information of the target matching node, determining a target game room in the target matching node, the method further includes: If there are multiple target matching nodes, the matching task is fragmented to obtain multiple sub-matching tasks; The target matching nodes are controlled to respectively execute different sub-matching tasks, and after the target game room is determined, all target matching nodes are controlled to stop executing corresponding sub-matching tasks.
5. The method according to claim 1, characterized in that According to the feature information of the matching task and the node information of the target matching node, determining a target game room in the target matching node, the method further includes: If the target matching node has a game room with free positions, determining whether the game room with free positions meets the matching task; If the game room with the free position meets the matching task, determining whether the free position is pre-occupied; if the game room with the free position does not meet the matching task, re-executing the matching task; If the free position is not pre-occupied, a free position is pre-occupied for the user who initiated the matching task, and the game room with the free position is used as the target game room of the matching task; if the free position is pre-occupied, it is re-determined whether there is a game room with a free position at the target matching node.
6. The method according to claim 5, characterized in that If there is no game room with a vacant position, the method further includes: Calculate the number of game rooms that need to be created according to the matching tasks in the target matching node; If the target matching node can be created, the target number of game rooms to be created is determined according to the number of game rooms being created by the target matching node and the number of game rooms to be created, and after the target matching node completes the creation of the game room, the target game room corresponding to the matching task is determined in the game room; If the target matching node cannot be created, the matching task is re-executed.
7. The method according to claim 5, characterized in that If the target matching node has a game room with free positions, before determining whether the game room with free positions meets the matching task, the method further includes: If a historical room is matched at the target matching node, and the historical room allows midway joining, the historical room is used as the target game room. The historical room refers to a game room where the user exited without completing the game.
8. The method according to claim 1, characterized in that According to the feature information of the matching task and the node information of the target matching node, after determining the target game room in the target matching node, the method further includes: Generate update messages based on information changes in the game rooms in the matching node and store them in the matching node database; The message queue is updated according to the update message, so that each matching node updates the node information through the message queue.
9. The method according to claim 1, characterized in that: The method further comprises: At every first set time interval, node information and task execution information of the target matching node are obtained to update the temporarily stored node information and task execution information of the target matching node; If the target matching node crashes, the stored node information and task execution information of the target matching node are obtained, and the target matching node and matching task progress are restored.
10. A matching device for a game room, characterized in that: The device comprises: Allocation module: configured to determine an initial matching node; Matching module: configured to update the node information of each matching node, and determine the target matching node corresponding to the matching task and the node information of the matching node, and determine the target game room; Long-term storage module; used to store information changes of matching nodes, configured with a matching node database; Message transmission module: used to build a corresponding message queue according to the update information of the matching node to update the node information of the matching node; The short-term storage module is configured to obtain and temporarily store node information of matching nodes and task execution information.
Citation Information
Patent Citations
Game player matching method and apparatus, matching server and readable storage medium
CN107920122A
Load balancing method for game room servers
CN109173245A
Game room matching method and device, readable medium and electronic equipment
CN115501617A
Server scheduling method and device, computer readable medium and electronic equipment
CN118101660A
Method and system for providing internet game service enabling quick room generation and entrance
WO2013069911A1
Cited By
Room distribution method, device, equipment, medium and product
CN120001052A