Game data storage method and device, game data co-service method and device and game data reading method and device
Through the distributed storage and information aggregation table method, the problem of game data being incommunicable between different zones and servers is solved, efficient zone and server merging and global data analysis are realized, and the game experience is improved.
Patent Information
- Application Number
- CN202411958995.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-29
- Filing Date
- 2024-12-27
- Publication Date
- 2025-06-06
AI Technical Summary
In the prior art, game data cannot be communicated between different zones and servers, resulting in difficulty in global data analysis, and the zone and server merge operation takes a long time, affecting the game experience.
By obtaining the game data of each district server, storing it in a distributed manner into multiple storage nodes, and creating an information aggregation table based on global feature information, recording the correspondence between the district server identifier and the storage node, achieving efficient merging of the district server data.
It improves the efficiency of the district server and server combined, shortens the server combined time, and improves the interoperability of game data and global data analysis capabilities.
Smart Images

Figure CN120104568A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of mobile Internet technology, and in particular to a method for storing game data. The present application also relates to a method for merging game data, a method for reading game data, a game data storage device, a game data merging device, a game data reading device, a computing device, and a computer-readable storage medium. Background Art
[0002] With the development of Internet technology, there are more and more large-scale online games. In the game system, it is usually achieved by dividing the players and game data into different servers to divert the pressure of game data storage and ensure the smooth operation of the game.
[0003] After players and game data are divided into different servers, the game data between different servers cannot be communicated, that is, data analysis cannot be performed from a global data perspective. Therefore, when global data analysis is required, it is inevitable to merge the game data of each server to achieve intercommunication of game data between different servers. However, after long-term operation, the game servers have generated a high level of game data. If the operation of merging servers takes a long time, an efficient merging method is urgently needed. Summary of the invention
[0004] In view of this, the embodiment of the present application provides a game data storage method to solve the technical defects existing in the prior art. The embodiment of the present application also provides a game data merging method, a game data reading method, a game data storage device, a game data merging device, a game data reading device, a computing device, and a computer-readable storage medium.
[0005] According to a first aspect of an embodiment of the present application, a method for storing game data is provided, comprising: Get game data of each server of the target game; Distribute the game data of each server into multiple storage nodes; According to the specified global feature information, an information aggregation table is created, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node. The information aggregation table is used to update the corresponding zone and server identifier when a merge request is received.
[0006] According to a second aspect of an embodiment of the present application, a method for merging game data servers is provided, comprising: receiving a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation; The first zone and server identifier in the target information aggregation table is updated to the second zone and server identifier to merge the game data of the first zone and server into the second zone and server, wherein the target information aggregation table is created using the game data storage method as described above.
[0007] According to a third aspect of an embodiment of the present application, a method for reading game data is provided, comprising: Receive a data read request sent by a client, wherein the data read request carries a target zone and server identifier; According to the target zone and server identifier, query the target information aggregation table to determine the target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table is created using the game data storage method described above; The game data of the target server is read from the target storage node, and the game data of the target server is fed back to the client.
[0008] According to a fourth aspect of an embodiment of the present application, a game data storage device is provided, comprising: An acquisition module, configured to acquire game data of each zone and server of a target game; A storage module is configured to store the game data of each zone and server in a distributed manner into multiple storage nodes; The creation module is configured to create an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node. The information aggregation table is used to update the corresponding zone and server identifier when a merge request is received.
[0009] According to a fifth aspect of an embodiment of the present application, a game data merging device is provided, including: A server merge request receiving module is configured to receive a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation; The update module is configured to update the first zone server identifier in the target information aggregation table to the second zone server identifier to merge the game data of the first zone server into the second zone server, wherein the target information aggregation table is created using the game data storage method as described above.
[0010] According to a sixth aspect of an embodiment of the present application, a game data reading device is provided, comprising: A data reading request receiving module is configured to receive a data reading request sent by a client, wherein the data reading request carries a target zone and server identifier; A determination module is configured to query a target information aggregation table according to a target zone and server identifier, and determine a target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table is created by using the game data storage method described above; The feedback module is configured to read the game data of the target area and server from the target storage node, and feed back the game data of the target area and server to the client.
[0011] According to a seventh aspect of an embodiment of the present application, there is provided a computing device, including: Memory and processor; The memory is used to store computer-executable instructions, and the processor implements the steps of the game data storage method, the game data merging method, or the game data reading method when executing the computer-executable instructions.
[0012] According to an eighth aspect of an embodiment of the present application, a computer-readable storage medium is provided, which stores computer-executable instructions, which, when executed by a processor, implement the steps of the game data storage method, the game data merging method, or the game data reading method.
[0013] According to a ninth aspect of an embodiment of the present application, a chip is provided, which stores a computer program. When the computer program is executed by the chip, the steps of the game data storage method, the game data merging method, or the game data reading method are implemented.
[0014] The game data storage method provided by the present application obtains the game data of each zone and server of the target game; distributes and stores the game data of each zone and server into multiple storage nodes; creates an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a merge request is received. By distributing and storing the game data of each zone and server into multiple storage nodes, and creating an information aggregation table based on the specified global feature information, the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, so that when a merge request is received, the corresponding zone and server identifier can be updated to complete the merge of zones and servers, thereby improving the efficiency of merging zones and servers. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a logical framework diagram for merging game data from different servers. Figure 2 This is a schematic diagram of an interaction process under a game data storage system architecture provided by an embodiment of the present application; Figure 3 This is a flowchart of a method for storing game data provided by an embodiment of the present application; Figure 4 This is a flow chart of creating an information aggregation table in a game data storage method provided in an embodiment of the present application; Figure 5This is a flowchart of a method for merging game data servers provided in one embodiment of the present application; Figure 6 is a flow chart of a method for reading game data provided by an embodiment of the present application; Figure 7 This is a schematic diagram of an interactive process under a game data storage, server merging, and reading system architecture provided by an embodiment of the present application; Figure 8a This is a logical framework diagram of a game data storage method provided by an embodiment of the present application; Figure 8b This is a schematic diagram of a storage block in a game data storage method provided by an embodiment of the present application; Fig. 9 This is a processing flow chart of a method for storing and merging game data applied to game data of various servers, provided in one embodiment of the present application; Fig.10a This is an information aggregation representation in a game data storage method provided by an embodiment of the present application; Fig.10b This is a schematic diagram of an updated information aggregation table in a game data storage method provided by an embodiment of the present application; Fig.11 This is a schematic diagram of the structure of a game data storage device provided by an embodiment of the present application; Fig.12 It is a structural diagram of a game data merging device provided in one embodiment of the present application; Fig.13 It is a structural schematic diagram of a game data reading device provided by an embodiment of the present application; Fig.14 It is a structural block diagram of a computing device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0016] Many specific details are described in the following description to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present application, so the present application is not limited by the specific implementation disclosed below.
[0017] The terms used in one or more embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of the present application. The singular forms of "a", "said" and "the" used in one or more embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of the present application refers to and includes any or all possible combinations of one or more associated listed items.
[0018] It should be understood that, although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present application, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of the present application, the first may also be referred to as the second, and similarly, the second may also be referred to as the first.
[0019] First, the terms involved in one or more embodiments of the present invention are explained.
[0020] Distributed database: It is composed of a set of data distributed on different computers in a computer network. Each node in the network has the ability to process independently (called site autonomy) and can execute local applications corresponding to the node.
[0021] Distributed storage: data is stored in multiple independent devices.
[0022] Database server: middleware that connects the Web server and the database management system (DBMS, Database Management System).
[0023] MongoDB: is an open source document database written in C++ with high performance, strong availability and automatic expansion. C++ is a high-level computer programming language that is an extension and upgrade of C language.
[0024] Sharding: A method of distributing data across multiple database servers.
[0025] Shardkey: A necessary condition for implementing data sharding. In this application, each zone and server has a unique corresponding shardkey.
[0026] Zone and server: A game deployment mode in which each zone has its own independent database, and the data structure between different zones is exactly the same.
[0027] Shard: Each shard contains a subset of the total data.
[0028] Hash algorithm: also known as digest algorithm, its function is to calculate any set of input data to obtain an output digest of fixed length. The most important feature of the hash algorithm is that the same input will definitely get the same output, and different inputs will most likely get different outputs.
[0029] See also Figure 1 , Figure 1The following is a logical framework diagram of merging game data from a certain region: Traditionally, game data from different regions of a game is stored in different storage servers according to the regions. When the game data from different regions are merged, the game data corresponding to the region to be merged needs to be migrated to the storage server corresponding to the target region. As the merging continues, the time required for the merging increases by two times. The time required for merging is equivalent to the time required for server downtime. That is, the longer the merging operation takes, the longer the server downtime will be, which seriously affects the players' gaming experience.
[0030] For example, the total number of players in server A is 1 million, the total number of players in server B is 1 million, the total number of players in server C is 1 million, the total number of players in server D is 1 million, the total number of players in server E is 1 million, the total number of players in server F is 1 million, the total number of players in server G is 1 million, and the total number of players in server H is 1 million; First server merger: Merge servers A and B, C and D, E and F, G and H, so that the number of players after merging servers A and B is 2 million, the number of players after merging servers C and D is 2 million, the number of players after merging servers E and F is 2 million, and the number of players after merging servers G and H is 2 million; The second server merger: After merging server A and server B, and server C and server D, the number of players after the merger of servers A, B, C, and D is 4 million. After merging server E and server F, and server G and server H, the number of players after the merger of servers E, F, G, and H is 4 million.
[0031] To solve the above problems, the present application provides a game data storage method, which obtains the game data of each zone and server of the target game; stores the game data of each zone and server in a distributed manner into multiple storage nodes; and creates an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a merge request is received. By distributing the game data of each zone and server into multiple storage nodes, and creating an information aggregation table based on the specified global feature information, the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, so that when a merge request is received, the corresponding zone and server identifier can be updated to complete the merge of zones and servers, thereby improving the efficiency of merging zones and servers.
[0032] In the present application, a method for storing game data is provided. The present application also relates to a method for merging game data, a method for reading game data, a game data storage device, a game data merging device, a game data reading device, a computing device, and a computer-readable storage medium, which are described in detail one by one in the following embodiments.
[0033] See also Figure 2 , Figure 2 FIG. 1 shows a schematic diagram of an interaction process under a game data storage system architecture provided by an embodiment of the present application. Figure 2 As shown, the game data storage system includes a server 202 and a client 204; The client 204 is used to send the game data of each zone and server of the target game to the server 202; The server 202 is used to obtain the game data of each zone and server of the target game; store the game data of each zone and server in a distributed manner into multiple storage nodes; create an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a server merging request is received.
[0034] The scheme of the embodiment of the present application is applied, by obtaining the game data of each zone and server of the target game; distributing and storing the game data of each zone and server into multiple storage nodes; creating an information aggregation table according to the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a merge request is received. By distributing and storing the game data of each zone and server into multiple storage nodes, and creating an information aggregation table according to the specified global feature information, the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, so that when a merge request is received, the corresponding zone and server identifier can be updated to complete the merge of zones and servers, thereby improving the efficiency of merging zones and servers.
[0035] Figure 3 A flowchart of a game data storage method provided in an embodiment of the present application is shown, which specifically includes the following steps: Step S302: Obtain game data of each zone and server of the target game.
[0036] The core of the embodiments of the present application is to store data. For different data, the process of distributed storage is basically the same. The process of storing game data in each game server is introduced in detail below.
[0037] Specifically, the target game refers to a selected game, usually a large-scale online game. The game data of each zone server refers to the corresponding part of each game server in the target game, and the game data generated. For example, the game data of the target game is divided into game data of server A, game data of server B, game data of server C, etc. For example, the game data of the target game is divided into battle information data, character information data, etc.
[0038] When there is a need to store game data, the server will obtain the game data of each zone and server of the target game.
[0039] In actual applications, after obtaining the game data of each server of the target game, the game data of each server can be distributed and stored in multiple storage servers.
[0040] Step S304: Distribute and store the game data of each zone and server into multiple storage nodes.
[0041] Specifically, distributed means that the game data of each server is stored in multiple storage nodes according to the different servers. Storage nodes refer to nodes that store game data. The structures of different storage nodes are consistent. Storage nodes contain multiple storage blocks, and the structures of these storage blocks are also consistent. For example, storage nodes can be shards, and storage blocks can be chunks.
[0042] When the game data of each zone and server is distributed and stored in multiple storage nodes, the game data of each zone and server can be stored in the storage node corresponding to each zone and server according to the difference between the zones and servers. For example, zone and server A corresponds to shardA, zone and server B corresponds to shardB, and zone and server C corresponds to shardC. Then the game data of zone and server A is stored in the shardA storage node, the game data of zone and server B is stored in the shardB storage node, and the game data of zone and server C is stored in the shardC storage node.
[0043] In an optional embodiment of the present application, the above step S304 includes the following specific steps: According to the preset correspondence between the zone and the storage node, the game data of each zone and the server are stored in the corresponding storage node respectively.
[0044] Specifically, the preset correspondence between the zone servers and the storage nodes refers to a one-to-one correspondence between the zone servers and the storage nodes, with zone server A corresponding to the A storage node, zone server B corresponding to the B storage node, and so on.
[0045] Optionally, according to the preset correspondence between the zones and the storage nodes, there are many ways to store the game data of each zone and the server into the corresponding storage nodes. The game data of each zone and the server can be stored in the corresponding storage node according to the preset storage method of the storage node, or the game data of each zone and the server can be stored in the corresponding storage node according to the data attributes of the game data.
[0046] In a possible implementation of the present application, the game data of the zone server may be stored in the storage node according to the different users to which the game data belongs. For example, the game data of zone server A contains the game data of users a, b, and c. The storage space in the storage node A corresponding to zone server A is divided into three blocks, wherein the first block is used to store the game data of user a, the second block is used to store the game data of user b, and the third block is used to store the game data of user c. In another possible implementation of the present application, the game data of the zone and server may be stored in the storage node according to the storage rules pre-set in the storage node corresponding to the zone and server. For example, the storage space in the storage node A corresponding to the zone and server A may be divided into multiple blocks, and a different hash value range may be set for each block. A hash calculation may be performed on each game data to obtain the corresponding hash value, and the hash value may be matched with the hash value range of different blocks to determine the matching blocks, and the game data may be stored in the corresponding blocks.
[0047] In addition, for any storage node, the present application may divide the storage space of the storage node into multiple storage nodes storing multiple different data attributes in advance according to different attributes that the data may have, and then divide the storage nodes with different data attributes into multiple blocks for storage.
[0048] By applying the solution of the embodiment of the present application, the game data of each zone and server is stored in the corresponding storage node according to the preset correspondence between the zone and server and the storage node, so that the storage rules of the game data of each zone and server are reasonably planned, and it is convenient to search for the game data of any specific zone and server in the future. This storage method improves the efficiency of subsequent data search and further improves the efficiency of data merging.
[0049] In an optional embodiment of the present application, each storage node includes multiple storage blocks; the above steps of storing the game data of each zone and server into the corresponding storage node respectively include the following specific steps: Using the preset hash strategy corresponding to the global feature information, the game data of the first zone server are randomly stored in the storage blocks of the first storage node, wherein the first zone server is any zone server, and the first storage node is the storage node corresponding to the first zone server.
[0050] Specifically, global feature information refers to the attributes corresponding to game data. For example, the global feature information corresponding to user game information can be user information, the global feature information corresponding to information generated during game battles can be battle information, and the global feature information corresponding to different characters, skins, etc. in the game can be character information, etc. The preset hash strategy refers to a pre-set storage strategy for storing data based on the hash value of each game data. Storage blocks refer to storage blocks obtained by dividing storage nodes. The division of storage blocks can be determined based on the amount, type, length, etc. of game data, and the number of storage blocks can change according to the game data that needs to be stored.
[0051] In actual applications, the use of the preset hash strategy requires first calculating the hash value of each game data, and then obtaining the hash value corresponding to each game data. The hash value can be in the form of an integer.
[0052] Optionally, there are multiple ways to set the preset hash strategy. In one possible implementation, game data corresponding to the same hash value may be stored in the same storage block. For example, if the hash value of game data a is calculated to be x, the hash value of game data b is calculated to be y, and the hash value of game data c is calculated to be x, then game data a and game data c are stored in the same storage block, and game data b is stored in another storage block. In another possible implementation, game data corresponding to different hash values may be stored in the same storage block. For example, if the hash value of game data a is calculated to be x, the hash value of game data b is calculated to be y, and the hash value of game data c is calculated to be z, then game data a is stored in one storage block, game data b is stored in another storage block, and game data c is stored in yet another storage block.
[0053] Optionally, the preset hash strategies corresponding to different global feature information may be the same or different, and may be adjusted according to actual conditions, and this application does not impose any limitations thereto.
[0054] By applying the solution of the embodiment of the present application, when a storage node includes multiple storage blocks, the preset hash strategy corresponding to the global feature information is used to randomly store the game data of the first zone and server into the storage blocks of the first storage node, so that the storage method of the game data corresponding to different global feature information is corresponding to the global feature information. Such a storage method greatly facilitates the subsequent search or merging of different game data.
[0055] In an optional embodiment of the present application, the above steps utilize a preset hash strategy corresponding to the global feature information to randomly store each game data of the first zone server into each storage block of the first storage node, including the following specific steps: Using the preset hash strategy corresponding to the global feature information, performing hash calculation on each game data of the first zone server to obtain a hash value of each game data; Based on the hash range to which the hash value of each game data belongs, each game data of the first zone server is stored in a storage block corresponding to the corresponding hash range.
[0056] Specifically, hash calculation refers to performing hash calculation on game data to obtain a value of fixed length or fixed format. The difference in hash value is determined according to different game data. For example, different data lengths of game data will result in different hash values, and different data types of game data will result in different hash values.
[0057] Using the preset hash strategy corresponding to the global feature information, hash calculation is performed on the game data of the first zone to obtain the hash value of each game data. Specifically, for the first zone, the game data corresponding to the global feature information in the first zone are screened out, and hash calculation is performed on the screened game data to obtain the hash value corresponding to the screened game data.
[0058] Based on the hash range to which the hash value of each game data belongs, each game data of the first zone and server is respectively stored in a storage block corresponding to the corresponding hash range. Specifically, a hash value is set in advance for each storage block in the first storage node corresponding to the first zone and server, and the set hash value includes an upper limit and a lower limit of the hash value. The hash range corresponding to the storage block is used as the hash range, and the game data in the hash range corresponding to the storage block is stored in the storage block.
[0059] Exemplarily, the hash values obtained by hash calculation of game data a, game data b, and game data c are 20, 19, and 30 respectively. The hash range of storage block 1 is preset to be 0 to 20, the hash range of storage block 2 is 20 to 40, and the hash range of storage block 3 is 40 to 60. After comparing the hash value calculated for each game data with the hash range of each storage block, game data a and game data b are stored in storage block 1, and game data c is stored in storage block 2.
[0060] By applying the solution of the embodiment of the present application and utilizing the preset hash strategy corresponding to the global feature information, hash calculation is performed on each game data of any zone or server to obtain a hash value of each game data, and based on the hash range described by the hash value of each game data, each game data of the zone or server is stored in a storage block corresponding to the corresponding hash value, so that each game data is stored in a corresponding storage block according to the different calculated hash values, thereby facilitating the subsequent reading and merging of the stored game data.
[0061] Step S306: Create an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a server merging request is received.
[0062] Specifically, the specified global feature information refers to one of the specified global feature information, and an information aggregation table is created for the specified global feature information. The specified global identifier corresponds to the specified global feature information, and different global feature information corresponds to different specified global identifiers. For example, if the specified global feature information is user information, the corresponding specified global identifier can be zoneid. The zone and server identifier refers to an identifier used to distinguish each zone and server, such as zone and server A, zone and server B, zone and server C, etc., where A, B, and C are zone and server identifiers. The correspondence between each storage node refers to the correspondence between the zone and server and the storage node, which is usually one-to-one. For example, the storage node corresponding to zone and server A is storage node A, and the storage node corresponding to zone and server B is storage node B. The information aggregation table refers to an aggregation table that records the correspondence between each specified global identifier, each zone and server identifier, and each storage node. For example, in the information aggregation table 1, it is recorded that the storage node corresponding to zoneid A and zone and server A is shard A, and the storage node corresponding to zoneidB and zone and server B is shard B, etc. A server merge request refers to a request to merge game data of zones and servers.
[0063] Optionally, an information aggregation table is created based on the specified global feature information. The game data of each area and server are first divided according to the area and server, and then the game data in each area and server are divided according to the global feature information corresponding to the game data, and the information aggregation table is created according to the division results. Alternatively, the game data of each area and server are first divided according to the global feature information corresponding to the game data, and then the game data corresponding to any global feature information is divided according to the area and server, and the information aggregation table is created according to the division results.
[0064] See also Figure 4 , Figure 4 A flowchart of creating an information aggregation table in a game data storage method provided in an embodiment of the present application is shown, that is, the above-mentioned step S306, including the following specific steps: S3062: Acquire each designated global identifier and the zone server identifier of the zone server to which the game data corresponding to each designated global identifier belongs; S3064: Set the specified global feature information as a slice key and build a slice statistics table; S3066: Based on the preset correspondence between the zone and the storage node, the correspondence between the designated global identifiers, the zone and the server identifiers, and the storage nodes is recorded in the slice statistics table to obtain an information aggregation table.
[0065] Specifically, the slice key refers to the key for slicing the storage node. For example, for storage node A, storage node B, and storage node C, where A, B, and C correspond to three regions and servers respectively, and the specified global feature information is the user identifier, then the storage nodes A, B, and C will generate a slice statistics table according to the specified global feature information.
[0066] In actual applications, the specified global identifier and the zone identifier of the zone to which the game data corresponding to each specified global identifier belong are obtained. Specifically, multiple specified global identifiers and the zone to which the game data corresponding to each specified global identifier belong are obtained. For example, the specified global identifiers obtained are zoneid and regional, and the zone identifiers of the zone to which the game data corresponding to zoneid belong are A and B, which can be specifically expressed as zoneid A and zoneid B. The zone identifiers of the zone to which the game data corresponding to regional belong are A, B, and C, which can be specifically expressed as regional A, regional B, and regional C.
[0067] The specified global feature information is set as the slice key, and a slice statistics table is constructed. Specifically, a global feature information is selected as the specified global feature information, and the specified global feature information is set as the slice key. Each storage node corresponding to the specified global feature information is sliced to construct a slice statistics table. Each generated slice statistics table at least records each specified global feature information.
[0068] For any slice statistics table 1, corresponding to the specified global feature information 1, according to the preset correspondence between the zone and the storage node, in the slice statistics table, the specified global identifier 1, zone and server identifiers A, B, C, and the specified global identifier 1 zone and server identifier A, the specified global identifier 1 zone and server identifier B, and the specified global identifier 1 zone and server identifier C are recorded to obtain an information aggregation table.
[0069] By applying the solution of the embodiment of the present application, each designated global identifier and the zone and server identifier of the zone and server to which the game data corresponding to each designated global identifier belongs are obtained, and the designated global feature information is set as the slice key to construct a slice statistics table. Based on the preset correspondence between the zone and server and the storage node, the correspondence between each designated global identifier, each zone and server identifier, and each storage node is recorded in the slice statistics table to obtain an information aggregation table, so that when searching and merging game data later, corresponding processing can be performed directly based on the information aggregation table, thereby improving the efficiency of reading and merging game data.
[0070] In an optional embodiment of the present application, the above step S3064 includes the following specific steps: Set user information as shardkey and build the sharding table.
[0071] Specifically, shardkey refers to the slice key, which is an important concept in the database sharding strategy. It is a key field used to determine which data rows should be placed on which shard. In this application, user information is set as shardkey, indicating which shards the data rows of user information should be placed on. The sharding table is a data table used to record the correspondence between data rows and shards. The rows of the sharding table represent data rows and the columns represent shards. If a row is written with shardkey, it means that the corresponding shard should place the corresponding data row.
[0072] By applying the solution of the embodiment of the present application, a sharding table is constructed by setting the user identifier as shardkey, so that when the shardkey is the shardkey, the constructed sharding statistics table is the sharding table.
[0073] Figure 5 A flowchart of a method for merging game data provided by an embodiment of the present application is shown, which specifically includes the following steps: The core of the embodiment of the present application is to merge data. For different data, the merging process is basically the same. The process of merging game data from different game servers is introduced in detail below.
[0074] Step S502: receiving a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation.
[0075] When there is a need to merge game data, the server will receive a merge request, which can be input by the current user through the client or obtained from the server.
[0076] In an optional implementation of the present application, when a user currently has a need for server merging, the user may input a server merging request on the client, which is received by the server and subsequently processed.
[0077] In another optional implementation of the present application, when a user has a need for a server merger, the user may send a server merger request and a merger start time to the server through the client in advance. When the server determines that the current time is the merger start time, the server obtains the server merger request from the server and performs subsequent processing based on the obtained server merger request.
[0078] In actual applications, the first region and server identifier and the second region and server identifier are usually different region and server identifiers, and the game data corresponding to one of the region and server identifiers may be merged during subsequent merging.
[0079] Step S504: Update the first zone server identifier in the target information aggregation table to the second zone server identifier, so as to merge the game data of the first zone server into the second zone server.
[0080] Among them, the target information aggregation table is created using the game data storage method as mentioned above.
[0081] Specifically, the target information aggregation table refers to a certain specified information aggregation table, which corresponds to the first zone server identifier and the second zone server identifier.
[0082] Exemplarily, updating the first zone server identifier to the second zone server identifier may be performed by executing an update command.
[0083] The first zone server identifier in the target information aggregation table is updated to the second zone server identifier, which may be to update all first zone server identifiers appearing in the target information aggregation table to the second zone server identifier, thereby merging the game data of the first zone server into the second zone server.
[0084] By applying the solution of the embodiment of the present application, when a server merge request is received, the first server identifier in the target information aggregation table is updated to the second server identifier based on the first server identifier and the second server identifier in the server merge request, so as to merge the game data of the first server into the second server. The merging of game data between different servers can be completed by modifying the information in the target information aggregation table, thereby improving the efficiency of merging game data between different servers.
[0085] In an optional embodiment of the present application, the server merge request also carries specified global feature information; before updating the first zone server identifier in the target information aggregation table to the second zone server identifier in the above step S504, the following specific steps are also included: According to the global feature information, a target information aggregation table corresponding to the global feature information is determined.
[0086] The server merge request includes a first server identifier, a second server identifier, and global feature information. The target information aggregation table may be first determined from multiple information aggregation tables based on the global feature information, and then the first server identifier in the target information aggregation table is updated to the second server identifier, so as to merge the game data of the first server into the second server.
[0087] Exemplarily, the server merge request includes a first zone server identifier A, a second zone server identifier B, and user information (i.e., specified global feature information). The information aggregation tables include a user information aggregation table, a battle information aggregation table, and a character information aggregation table. The user information aggregation table is determined as the target information aggregation table based on the user information.
[0088] By applying the solution of the embodiment of the present application, the server merging request carries global feature information. Before the server merging is performed, the target information aggregation table is first determined so that the subsequent merging is based on the global feature information, and the game data of the server merging can be adaptively adjusted based on the different contents contained in the server merging request.
[0089] Figure 6 A flowchart of a method for reading game data provided by an embodiment of the present application is shown, which specifically includes the following steps: The core of the embodiment of the present application is to read data. For different data, the reading process is basically the same. The process of reading game data from each game server is introduced in detail below.
[0090] Step S602: receiving a data reading request sent by a client, wherein the data reading request carries a target zone and server identifier.
[0091] Specifically, the target server identifier refers to the identifier of the server where the user needs to read data. For example, if the data reading request carries the target server identifier C, then the game data of server C needs to be read.
[0092] When there is a need to read game data, the server will receive a data reading request, which can be input by the current user through the client, or pre-entered by the user through the client and obtained from the server when reading data.
[0093] In an optional implementation of the present application, when a user has a data reading demand, the user may input a data reading request on the client, which is received by the server and subsequently processed.
[0094] In another optional implementation of the present application, when a user has a data reading demand, the user can send a data reading request and a data reading start time to the server through the client in advance. When the server determines that the current time is the data reading start time, it obtains the data reading request from the server and performs subsequent processing based on the obtained data reading request.
[0095] Step S604: According to the target zone and server identifier, query the target information aggregation table to determine the target storage node corresponding to the target zone and server identifier.
[0096] Among them, the target information aggregation table is created using the above-mentioned game data storage method.
[0097] According to the target area and server identifier, query the target information aggregation table to determine the target storage node corresponding to the target area and server identifier. Specifically, query the target information aggregation table according to the target area and server identifier to determine the target storage node corresponding to the target area and server identifier in the target information aggregation table, so as to facilitate the subsequent reading of the corresponding game data from the target storage node.
[0098] In an optional embodiment of the present application, the data read request also carries specified global feature information; before the above step 604, the following specific steps are also included: According to the global feature information, a target information aggregation table corresponding to the global feature information is determined.
[0099] The data reading request includes the target area and server identifier and global feature information. The target information aggregation table can be first determined from multiple information aggregation tables based on the global feature information, and then the target storage node corresponding to the target area and server identifier is queried in the target information aggregation table to realize the reading of the game data of the target area and server.
[0100] Exemplarily, the server merge request includes the target server identifier A and user information. The information aggregation tables include a user information aggregation table, a battle information aggregation table, and a character information aggregation table. The user information aggregation table is determined as the target information aggregation table based on the user information.
[0101] Using the solution of the embodiment of the present application, the data reading request carries global feature information. Before reading the data, the target information aggregation table is first determined so that subsequent data reading is based on the global feature information, so that the read game data can be adaptively adjusted based on the different contents contained in the data reading request.
[0102] Step S606: Read the game data of the target server from the target storage node, and feed back the game data of the target server to the client.
[0103] Based on the received data reading request, the server determines the target storage node corresponding to the target zone and server identifier, reads the game data stored in the target storage node, and feeds the read game data back to the client.
[0104] By applying the solution of the embodiment of the present application, when a data reading request sent by a client is received, the target information aggregation table is queried according to the target area and server identifier, the target storage node corresponding to the target area and server identifier in the target information aggregation table is determined, and the game data of the target area and server is read from the target storage node, and the read data is fed back to the client. The game data in the target storage node is directly read through the target storage node queried from the target information aggregation table. Through the target information aggregation table, the steps for reading the game data are simplified and the efficiency of reading the game data is improved.
[0105] See also Figure 7 , Figure 7 FIG. 1 shows a schematic diagram of an interactive process under a game data storage, server merging, and reading system architecture provided by an embodiment of the present application. Figure 7 As shown, the game data storage, merging and reading system includes a server 702 and a client 704; The client 704 is used to send the game data of each zone and server of the target game to the server 702; The server 702 is used to obtain the game data of each zone and server of the target game; store the game data of each zone and server in a distributed manner into multiple storage nodes; create an information aggregation table according to the specified global feature information, wherein the information aggregation table records the corresponding relationship between each specified global identifier, each zone and server identifier and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when receiving a server merging request; The client 704 is further used to send a server merging request to the server 702; The server 702 is further configured to receive a game data server merging request, wherein the server merging request carries a first server identifier and a second server identifier corresponding to the server merging operation; update the first server identifier in the target information aggregation table to the second server identifier, so as to merge the game data of the first server into the second server, wherein the target information aggregation table is created by using the game data storage method as described above; The client 704 is further used to send a game data reading request to the server 702; The server 702 is further used to receive a data read request sent by the client 704, wherein the data read request carries a target zone and server identifier; according to the target zone and server identifier, query the target information aggregation table to determine the target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table adopts the above Figure 3 The method described creates; reading the game data of the target zone and server from the target storage node, and feeding back the game data of the target zone and server to the client 704.
[0106] The scheme of the embodiment of the present application is applied, by obtaining the game data of each zone and server of the target game; distributing and storing the game data of each zone and server into multiple storage nodes; creating an information aggregation table according to the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a merge request is received. By distributing and storing the game data of each zone and server into multiple storage nodes, and creating an information aggregation table according to the specified global feature information, the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, so that when a merge request is received, the corresponding zone and server identifier can be updated to complete the merge of zones and servers, thereby improving the efficiency of merging zones and servers.
[0107] See also Figure 8a and Figure 8b , Figure 8a A logical framework diagram of a game data storage method provided by an embodiment of the present application is shown. Figure 8b A schematic diagram of a storage block in a game data storage method provided by an embodiment of the present application is shown.
[0108] See also Figure 8a When the game data is merged or read based on user needs, the reading / writing (reads / writes) of the game data of each server is performed through the routing node (Router). The backend for storing the game data can be to store the data of different servers in different storage nodes (shards). For example, storage node A stores the game data of server A, and storage node B stores the game data of server B. Different servers form different collections (collections) according to different global feature information. For example, collection 1 stores the user's account information, and collection 2 stores the user's role information, etc.
[0109] See also Figure 8b The preset hash strategy sets different hash values for different storage blocks (chunks). For example, the storage blocks include storage block 1, storage block 2, storage block 3, and storage block 4. The hash values of these storage blocks are set to 25, 26, 27, and 28 respectively according to the preset hash strategy.
[0110] The following combination Fig. 9 Taking the game data storage and server merging method provided in this application as an example, the game data storage method is further explained. Fig. 9 A processing flow chart of a method for storing and merging game data applied to game data of various servers provided in an embodiment of the present application is shown, which specifically includes the following steps: Step S902: Obtain game data of each zone and server of the target game.
[0111] Get the game data of the target game area servers A, B, C, and D.
[0112] Step S904: Utilizing a preset hash strategy corresponding to the global feature information, the game data of the first zone and server are randomly stored into storage blocks of the first storage node, wherein the first zone and server is any zone and server, and the first storage node is a storage node corresponding to the first zone and server.
[0113] The global feature information may be user information. Using the preset hash strategy corresponding to the user information, the game data of area server A is stored in the storage blocks in storage node A, the game data of area server B is stored in the storage blocks in storage node B, the game data of area server C is stored in the storage blocks in storage node C, and the game data of area server D is stored in the storage blocks in storage node D.
[0114] Step S906: Obtain each designated global identifier and the server identifier of the server to which the game data corresponding to each designated global identifier belongs; set the designated global feature information as the slice key and construct a slice statistics table; based on the preset correspondence between the server and the storage node, record the correspondence between each designated global identifier, each server identifier and each storage node into the slice statistics table to obtain an information aggregation table.
[0115] For the global feature information being user information, the corresponding designated global identifier is obtained as zoneid, as well as zoneidA, zoneid B, zoneid C, and zoneid D. A slice statistics table is constructed based on the user information, and then an information aggregation table corresponding to the user information is obtained.
[0116] See also Fig.10a , Fig.10a The following diagram shows a schematic diagram of information aggregation in a game data storage method provided by an embodiment of the present application: Fig.10a In the example, the name of the slice statistics table is game character, the global feature information is user information, the storage rule is the preset hash strategy, and the specified zone ID is zoneid, including zoneid A, zoneid B, zoneid C, and zoneidD.
[0117] Step S908: receiving a server merge request, the server merge request carrying the first zone server identifier, the second zone server identifier and the specified global feature information corresponding to the server merge operation.
[0118] The server merge request carries the first zone server identifier A, the second zone server identifier B, and user information.
[0119] Step S910: Update the first zone server identifier in the target information aggregation table to the second zone server identifier, so as to merge the game data of the first zone server into the second zone server.
[0120] The target information aggregation table is determined to be information aggregation table 1 according to the user information, and the zone ID A in information aggregation table 1 is updated to zone ID B through an update instruction (update), that is, zoneid A is updated to zoneid B.
[0121] See also Fig.10b , Fig.10b A schematic diagram showing an updated information aggregation table in a game data storage method provided by an embodiment of the present application is shown: Fig.10b In the example, the name of the slice statistics table is game character, the global feature information is user information, the storage rule is the preset hash strategy, the specified zone ID is zoneid, and a new zoneidB is obtained by merging zoneidA into zoneidB. After the information aggregation table is updated, it includes zoneid B, zoneid C, and zoneid D.
[0122] The scheme of the embodiment of the present application is applied, by obtaining the game data of each zone and server of the target game; distributing and storing the game data of each zone and server into multiple storage nodes; creating an information aggregation table according to the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a merge request is received. By distributing and storing the game data of each zone and server into multiple storage nodes, and creating an information aggregation table according to the specified global feature information, the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, so that when a merge request is received, the corresponding zone and server identifier can be updated to complete the merge of zones and servers, thereby improving the efficiency of merging zones and servers.
[0123] Corresponding to the above method embodiment, the present application also provides a game data storage device embodiment, Fig.11 FIG. 1 is a schematic diagram showing the structure of a game data storage device provided by an embodiment of the present application. Fig.11 As shown, the device comprises: The acquisition module 1102 is configured to acquire game data of each zone and server of the target game; The storage module 1104 is configured to store the game data of each zone and server in a distributed manner into multiple storage nodes; Creation module 1106 is configured to create an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node. The information aggregation table is used to update the corresponding zone and server identifier when a merge request is received.
[0124] Optionally, the storage module 1104 is further configured to store the game data of each zone and server into a corresponding storage node according to a preset correspondence between the zone and server and the storage node.
[0125] Optionally, each storage node includes multiple storage blocks; the storage module 1104 is further configured to use a preset hash strategy corresponding to the global feature information to randomly store the game data of the first zone server into the storage blocks of the first storage node, wherein the first zone server is any zone server, and the first storage node is the storage node corresponding to the first zone server.
[0126] Optionally, the storage module 1104 is further configured to perform hash calculation on each game data of the first zone and server using a preset hash strategy corresponding to the global feature information to obtain a hash value of each game data; based on the hash range to which the hash value of each game data belongs, each game data of the first zone and server is stored in a storage block corresponding to the corresponding hash range.
[0127] Optionally, the creation module 1106 is further configured to obtain each designated global identifier and the server identifier of the server to which the game data corresponding to each designated global identifier belongs; set the designated global feature information as the slice key and construct a slice statistics table; based on the preset correspondence between the server and the storage node, record the correspondence between each designated global identifier, each server identifier and each storage node in the slice statistics table to obtain an information aggregation table.
[0128] The above is a schematic scheme of a game data storage device of the present embodiment. It should be noted that the technical scheme of the game data storage device and the technical scheme of the game data storage method mentioned above belong to the same concept. For the details not described in detail in the technical scheme of the game data storage device, please refer to the description of the technical scheme of the game data storage method mentioned above. In addition, each component in the device embodiment should be understood as a functional module that must be established to implement each step of the program flow or each step of the method, and each functional module is not an actual functional division or separation definition. The device claim defined by such a group of functional modules should be understood as a functional module architecture that mainly implements the solution through the computer program recorded in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.
[0129] Corresponding to the above method embodiment, the present application also provides a game data merging device embodiment, Fig.12 FIG. 1 shows a schematic diagram of the structure of a game data merging device provided by an embodiment of the present application. Fig.12 As shown, the device comprises: The server merge request receiving module 1202 is configured to receive a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation; The update module 1204 is configured to update the first zone server identifier in the target information aggregation table to the second zone server identifier to merge the game data of the first zone server into the second zone server, wherein the target information aggregation table is created using the above-mentioned game data storage method.
[0130] The server merging request also carries specified global feature information; the game data server merging device also includes a first determination module, which is configured to determine a target information aggregation table corresponding to the global feature information based on the global feature information.
[0131] The above is a schematic scheme of a game data merging device of the present embodiment. It should be noted that the technical scheme of the game data merging device and the technical scheme of the game data merging method mentioned above belong to the same concept. For the details not described in detail in the technical scheme of the game data merging device, please refer to the description of the technical scheme of the game data merging method mentioned above. In addition, each component in the device embodiment should be understood as a functional module that must be established to implement each step of the program flow or each step of the method, and each functional module is not an actual functional division or separation definition. The device claim defined by such a group of functional modules should be understood as a functional module architecture that mainly implements the solution through the computer program recorded in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.
[0132] Corresponding to the above method embodiment, the present application also provides a game data reading device embodiment, Fig.13 FIG. 1 is a schematic diagram showing the structure of a game data reading device provided by an embodiment of the present application. Fig.13 As shown, the device comprises: The data reading request receiving module 1302 is configured to receive a data reading request sent by a client, wherein the data reading request carries a target zone and server identifier; The determination module 1304 is configured to query the target information aggregation table according to the target zone and server identifier, and determine the target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table is created by using the game data storage method as described above; The feedback module 1306 is configured to read the game data of the target server from the target storage node, and feed back the game data of the target server to the client.
[0133] The data reading request also carries specified global feature information; the game data reading device also includes a second determination module, which is configured to determine a target information aggregation table corresponding to the global feature information based on the global feature information.
[0134] The above is a schematic scheme of a game data reading device of this embodiment. It should be noted that the technical scheme of the game data reading device and the technical scheme of the game data reading method mentioned above belong to the same concept. For details not described in detail in the technical scheme of the game data reading device, please refer to the description of the technical scheme of the game data reading method mentioned above. In addition, each component in the device embodiment should be understood as a functional module that must be established to implement each step of the program flow or each step of the method, and each functional module is not an actual functional division or separation definition. The device claim defined by such a group of functional modules should be understood as a functional module architecture that mainly implements the solution through the computer program recorded in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.
[0135] Fig.14 The block diagram of a computing device provided by an embodiment of the present application is shown. The components of the computing device 1400 include but are not limited to a memory 1410 and a processor 1420. The processor 1420 is connected to the memory 1410 via a bus 1430, and the database 1450 is used to store data.
[0136] The computing device 1400 also includes an access device 1440 that enables the computing device 1400 to communicate via one or more networks 1460. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 540 may include one or more of any type of network interface (e.g., a network interface card (NIC)) wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a World Wide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.
[0137] In one embodiment of the present application, the above components of the computing device 1400 and Fig.14 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Fig.14 The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of the present application. Those skilled in the art may add or replace other components as needed.
[0138] The computing device 1400 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 1400 may also be a mobile or stationary server.
[0139] Among them, the processor 1420 is used to execute computer executable instructions for the game data storage or game data merging and game data reading method.
[0140] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the above-mentioned game data storage or game data merging, game data reading method belong to the same concept, and the details not described in detail in the technical scheme of the computing device can be referred to the description of the technical scheme of the above-mentioned game data storage or game data merging, game data reading method.
[0141] An embodiment of the present application also provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, are used for the above-mentioned game data storage or game data merging and game data reading method.
[0142] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the game data storage or game data merging and game data reading method mentioned above belong to the same concept, and the details not described in detail in the technical scheme of the storage medium can be referred to the description of the technical scheme of the game data storage or game data merging and game data reading method mentioned above.
[0143] The computer instructions include computer program codes, which may be in source code form, object code form, executable files or some intermediate forms, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0144] An embodiment of the present application further provides a chip storing a computer program, which, when executed by the chip, implements the steps of the above-mentioned game data storage or game data merging and game data reading method.
[0145] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described action sequence, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0146] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0147] The preferred embodiments of the present application disclosed above are only used to help explain the present application. The optional embodiments do not describe all the details in detail, nor do they limit the invention to the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the present application. The present application selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present application, so that those skilled in the art can understand and use the present application well. The present application is only limited by the claims and their full scope and equivalents.
Claims
1. A method for storing game data, characterized in that: The method comprises: Get game data of each server of the target game; Distribute the game data of each zone and server into multiple storage nodes; According to the specified global feature information, an information aggregation table is created, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a server merging request is received.
2. The method according to claim 1, characterized in that The distributing and storing the game data of each zone and server into a plurality of storage nodes includes: According to the preset correspondence between the zone and the storage node, the game data of each zone and the server are stored in the corresponding storage node respectively.
3. The method according to claim 2, characterized in that Each of the storage nodes includes a plurality of storage blocks; The storing the game data of each zone and server into corresponding storage nodes respectively includes: Using the preset hash strategy corresponding to the global feature information, the game data of the first zone server are randomly stored in the storage blocks of the first storage node, wherein the first zone server is any zone server, and the first storage node is the storage node corresponding to the first zone server.
4. The method according to claim 3, characterized in that: The method of utilizing the preset hash strategy corresponding to the global feature information to randomly store each game data of the first zone server into each storage block of the first storage node includes: Using the preset hash strategy corresponding to the global feature information, performing hash calculation on each game data of the first zone server to obtain a hash value of each game data; Based on the hash range to which the hash value of each game data belongs, each game data of the first zone server is stored in a storage block corresponding to the corresponding hash range.
5. The method according to any one of claims 1 to 4, characterized in that The step of creating an information aggregation table according to the specified global feature information includes: Obtaining each designated global identifier and the region server identifier of the region server to which the game data corresponding to each designated global identifier belongs; Set the specified global feature information as the slice key and build a slice statistics table; Based on the preset correspondence between the zone and the storage node, the correspondence between the designated global identifiers, the zone and the server identifiers and the storage nodes is recorded in the slice statistics table to obtain an information aggregation table.
6. A method for merging game data, characterized in that: The method comprises: receiving a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation; The first zone and server identifier in the target information aggregation table is updated to the second zone and server identifier to merge the game data of the first zone and server into the second zone and server, wherein the target information aggregation table is created by the method described in any one of claims 1-5.
7. The method according to claim 6, characterized in that The server merging request also carries specified global feature information; Before the updating of the first zone server identifier in the target information aggregation table to the second zone server identifier, the method further includes: According to the global feature information, a target information aggregation table corresponding to the global feature information is determined.
8. A method for reading game data, characterized in that: The method comprises: Receive a data read request sent by a client, wherein the data read request carries a target zone and server identifier; According to the target zone and server identifier, query the target information aggregation table to determine the target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table is created by the method according to any one of claims 1 to 5; The game data of the target server is read from the target storage node, and the game data of the target server is fed back to the client.
9. The method according to claim 8, characterized in that The data reading request also carries specified global feature information; Before querying the target information aggregation table according to the target zone and server identifier to determine the target storage node corresponding to the target zone and server identifier, the method further includes: According to the global feature information, a target information aggregation table corresponding to the global feature information is determined.
10. A game data storage device, characterized in that: include: An acquisition module, configured to acquire game data of each zone and server of a target game; A storage module is configured to store the game data of each zone and server in a distributed manner into multiple storage nodes; The creation module is configured to create an information aggregation table based on the specified global feature information, wherein the information aggregation table records the correspondence between each specified global identifier, each zone and server identifier, and each storage node, and the information aggregation table is used to update the corresponding zone and server identifier when a server merging request is received.
11. A game data merging device, characterized in that: include: A server merge request receiving module is configured to receive a server merge request, wherein the server merge request carries a first zone server identifier and a second zone server identifier corresponding to the server merge operation; An update module is configured to update the first zone server identifier in the target information aggregation table to the second zone server identifier to merge the game data of the first zone server into the second zone server, wherein the target information aggregation table is created using the method described in any one of claims 1-5.
12. A game data reading device, characterized in that: include: A data reading request receiving module is configured to receive a data reading request sent by a client, wherein the data reading request carries a target zone and server identifier; a determination module configured to query a target information aggregation table according to the target zone and server identifier, and determine a target storage node corresponding to the target zone and server identifier, wherein the target information aggregation table is created by the method according to any one of claims 1 to 5; The feedback module is configured to read the game data of the target area and server from the target storage node, and feed back the game data of the target area and server to the client.
13. A computing device, characterized in that: include: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the method according to any one of claims 1 to 9.
14. A computer-readable storage medium storing computer instructions, characterized in that: When the instruction is executed by a processor, the steps of the method described in any one of claims 1 to 9 are implemented.