Team information processing method, device and storage medium

By separating team information processing and querying into different server processes in the game and using target paging table storage, the problems of low efficiency of team information processing and high pressure on servers are solved, and efficient and reliable team information management is achieved.

CN115501618BActive Publication Date: 2024-12-20NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211034925.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-26
Publication Date
2024-12-20
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

In existing games, team information processing is inefficient, and a single server is under pressure and unreliable, resulting in serious performance consumption of team systems and high availability conflicts.

Method used

By responding to the team information change on the first server, obtaining the team change status, and synchronizing the results to the target paging table of the second server, efficient processing and querying of the team information is achieved.

Benefits of technology

It improves the efficiency of team information processing, reduces server load, provides high availability and scalability, and improves the speed of synchronous and paging query of team information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115501618B_ABST
    Figure CN115501618B_ABST
Patent Text Reader

Abstract

The present invention discloses a team information processing method, device and storage medium. The method comprises: in response to a received team information change instruction, obtaining a team change status, wherein the team change status is used to indicate the overall change status of a virtual team in a game scene and / or the partial change status of a player character in the virtual team; using a first server, based on the team change status, changing the team information to obtain a first change result, wherein the first server is used to provide a team information change function; synchronizing the first change result to a target paging table of a second server, wherein the second server is used to provide a team information query function through the target paging table. The present invention solves the technical problem of low efficiency in processing team information in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing, and in particular to a team information processing method, device and storage medium. Background Art

[0002] At present, in competitive games, team formation is widely used as a form of game social interaction. By forming a team, you can make friends with game partners and greatly improve the gaming experience. Existing game-wide team formation solutions generally have two implementation methods. One is that the team information posted by players is stored in a single service process, and all server players need to go through the server process to post or browse. However, storing the team information in a single server process will cause excessive pressure on the process and serious performance consumption when the number of teams is large. On the other hand, if a single server process goes down, the entire team lobby system will be unavailable.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] At least some embodiments of the present invention provide a team information processing method, device and storage medium to at least solve the technical problem of low efficiency in processing team information in related technologies.

[0005] According to one embodiment of the present invention, a team information processing method is provided, comprising: in response to a received team information change instruction, obtaining a team change status, wherein the team change status is used to represent the overall change status of a virtual team in a game scene and / or a local change status of a player character in the virtual team; on a first server, based on the team change status, changing the team information to obtain a first change result, wherein the first server is used to provide a team information change function; synchronizing the first change result to a target paging table of a second server, wherein the second server is used to provide a team information query function through the target paging table.

[0006] According to one embodiment of the present invention, there is provided a team information processing device, comprising: an acquisition module, for acquiring a team change status in response to a received team information change instruction, wherein the team change status is used to represent the overall change status of a virtual team in a game scene and / or the local change status of a player character in the virtual team; a change module, for changing the team information on a first server based on the team change status to obtain a first change result, wherein the first server is used to provide a team information change function; a synchronization module, for synchronizing the first change result to a target paging table of a second server, wherein the second server is used to provide a team information query function through the target paging table.

[0007] According to one embodiment of the present invention, a non-volatile storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute any of the above-mentioned team information processing methods when running.

[0008] According to one embodiment of the present invention, there is also provided an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any of the above-mentioned team information processing methods.

[0009] In at least some embodiments of the present invention, first, in response to a received team information change instruction, a team change status can be obtained, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player character in the virtual team; on the first server, based on the team change status, the team information is changed to obtain a first change result, wherein the first server is used to provide a team information change function; the first change result is synchronized to the target paging table of the second server, wherein the second server is used to provide a team information query function through the target paging table, thereby improving the processing efficiency of the team information. Since the publishing and updating of team information and the reading of the client are in different server processes, this can reduce the load of the server, provide high availability and scalability, and the use of the target paging table to store team information can improve the synchronization and paging query speed of team information, so as to at least solve the technical problem of low processing efficiency of team information in the related technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0011] Figure 1 It is a hardware structure block diagram of a mobile terminal of a team information processing method according to an embodiment of the present invention;

[0012] Figure 2 is a flowchart of a method for processing team information according to one embodiment of the present invention;

[0013] Figure 3 is a schematic diagram of a target paging table according to an embodiment of the present application;

[0014] Figure 4 is a schematic diagram of a data location dictionary according to an embodiment of the present application;

[0015] Figure 5 It is a structural diagram of a distributed all-server team lobby system according to an embodiment of the present application;

[0016] Figure 6 is a schematic diagram of adding team information in a target paging table according to an embodiment of the present application;

[0017] Figure 7 is a schematic diagram of deleting team information in a target paging table according to an embodiment of the present application;

[0018] Figure 8 is a structural block diagram of a team information processing device according to one embodiment of the present invention;

[0019] Fig. 9 is a schematic diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0020] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0021] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0022] According to one embodiment of the present invention, an embodiment of a team information processing method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0023] The method embodiment can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, the mobile terminal can be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (MID for short), a PAD, a game console and other terminal devices. Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a team information processing method according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) processor 102 (processor 102 may include but is not limited to a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processing (DSP) chip, a microprocessor (MCU), a programmable logic device (FPGA), a neural network processor (NPU), a tensor processor (TPU), an artificial intelligence (AI) type processor, etc.) and a memory 104 for storing data. Optionally, the mobile terminal may also include a transmission device 106 for communication functions, an input and output device 108, and a display device 110. It can be understood by those skilled in the art that Figure 1 The structure shown is for illustration only and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0024] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the team information processing method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above-mentioned team information processing method is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0025] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0026] The inputs in the input / output device 108 may come from a plurality of human interface devices (HIDs), such as keyboards and mice, game controllers, and other dedicated game controllers (such as steering wheels, fishing rods, dance mats, remote controls, etc.). In addition to providing input functions, some human interface devices may also provide output functions, such as force feedback and vibration of game controllers, audio output of controllers, etc.

[0027] The display device 110 may be, for example, a head-up display (HUD), a touch-screen liquid crystal display (LCD), and a touch display (also referred to as a "touch screen" or "touch display screen"). The liquid crystal display may enable a user to interact with a user interface of the mobile terminal. In some embodiments, the mobile terminal has a graphical user interface (GUI), and a user may interact with the GUI by finger contacts and / or gestures on a touch-sensitive surface, wherein the human-computer interaction functions here may optionally include the following interactions: creating web pages, drawing, word processing, making electronic documents, games, video conferencing, instant messaging, sending and receiving emails, call interfaces, playing digital videos, playing digital music, and / or web browsing, etc. The executable instructions for executing the above-mentioned human-computer interaction functions are configured / stored in a computer program product or a readable storage medium executable by one or more processors.

[0028] The team information processing method in one embodiment of the present disclosure can be run on a local terminal device or a server. When the team information processing method is run on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and a client device.

[0029] In an optional implementation, various cloud applications can be run under the cloud interaction system, such as cloud games. Taking cloud games as an example, cloud games refer to a game mode based on cloud computing. In the operation mode of cloud games, the operating body of the game program and the main body of the game screen presentation are separated. The storage and operation of the team information processing method are completed on the cloud game server. The role of the client device is used for receiving and sending data and presenting the game screen. For example, the client device can be a display device with data transmission function close to the user side, such as a mobile terminal, a TV, a computer, a handheld computer, etc.; but the cloud game server in the cloud performs information processing. When playing the game, the player operates the client device to send an operation instruction to the cloud game server. The cloud game server runs the game according to the operation instruction, encodes and compresses the game screen and other data, and returns it to the client device through the network. Finally, the client device decodes and outputs the game screen.

[0030] In an optional embodiment, taking a game as an example, a local terminal device stores a game program and is used to present a game screen. The local terminal device is used to interact with the player through a graphical user interface, that is, the game program is downloaded and installed by an electronic device and run conventionally. The local terminal device may provide the graphical user interface to the player in a variety of ways, for example, it may be rendered and displayed on a display screen of the terminal, or provided to the player through a holographic projection. For example, the local terminal device may include a display screen and a processor, the display screen is used to present a graphical user interface, the graphical user interface includes a game screen, and the processor is used to run the game, generate a graphical user interface, and control the display of the graphical user interface on the display screen.

[0031] In a possible implementation, an embodiment of the present invention provides a team information processing method, which provides a graphical user interface through a terminal device, wherein the terminal device can be the local terminal device mentioned above, or can be a client device in the cloud interaction system mentioned above. Figure 2 is a flow chart of a team information processing method according to one embodiment of the present invention, wherein a graphical user interface is provided by a terminal device, and the content displayed by the graphical user interface includes a touch area, such as Figure 2 As shown, the method comprises the following steps:

[0032] Step S202, in response to the received team information change instruction, obtaining the team change status.

[0033] The team change status is used to indicate the overall change status of the virtual team in the game scene and / or the partial change status of the player characters in the virtual team.

[0034] The above-mentioned team information change instruction may be a change instruction generated when a player creates a virtual team or deletes a virtual team. The above-mentioned team information change instruction may also be a change instruction generated when a player joins a virtual team or exits a virtual team.

[0035] The above-mentioned team change state can be the overall change state of the virtual team, for example, creating a virtual team, deleting a virtual team; the above-mentioned team change state can be the partial change state of the player characters in the virtual team, for example, the player character joins the virtual team, the player character exits the virtual team.

[0036] In the scenario of creating a new virtual team, when a player publishes team information, a dedicated shard node (Public Team Shard) can be randomly selected to perform the team creation operation. By randomly performing load distribution, the team information can be dispersed across different shards as much as possible to avoid excessive pressure on a single shard. It should be noted that the dedicated shard node for the team lobby can be a separate server, or it can be any processing node on a server.

[0037] When a player character joins or leaves a virtual team, the team information can be used to locate the Public Team Shard where the player character is located to perform operations. At this time, the team change status will have several states, including: team data change, team full, team empty. At this time, these teams are added to different lists and wait for synchronization.

[0038] In an optional embodiment, after receiving the team information change instruction, the team change status may be first obtained, and the subsequent operations to be performed may be determined according to the team change status.

[0039] Step S204: on the first server, based on the team change status, change the team information to obtain a first change result.

[0040] Among them, the first server is used to provide a team information change function.

[0041] The first server mentioned above may be a Public Team Shard.

[0042] In an optional embodiment, if the team change state is to create a virtual team, a Public Team Shard may be randomly selected according to a load balancing strategy to perform the team creation operation.

[0043] If the team change status is to delete the virtual team, you can first locate the Public TeamShard where the virtual team to be deleted is located, and then perform the deletion operation.

[0044] If the team change status is adding a player character to a virtual team, the information of the players in the virtual team can be added to the Public Team Shard where the virtual team is located.

[0045] If the team change status is to delete the player character in the virtual team, you can locate the Public Team Shard where the virtual team is located and delete the player information in the virtual team.

[0046] In an optional embodiment, the stored team information can be changed on the first server based on the team change status to obtain a first change result. After obtaining the first change result, the first change result can be synchronized to the target paging table of the second server so that the latest team information can be queried in the second server.

[0047] In another optional embodiment, a change process is performed in the first server, and the first change result is synchronously updated to the second server. At this time, if the first server crashes, it will not affect the query function of the second server.

[0048] Step S206: synchronize the first change result to the target paging table of the second server.

[0049] Among them, the second server is used to provide a query function of team information through a target paging table.

[0050] The second server can be a public team stub for the team lobby, where the second server is mainly for the player characters and can broadcast team information regularly so that the player characters can form a team according to the team information. The player characters can also query the team information through the second server.

[0051] The target paging table mentioned above can implement data storage, deletion and query in a paging manner, which can improve the efficiency of data storage, deletion and query.

[0052] In an optional embodiment, in order to realize paging query of team information, a paging table data structure PageTable can be provided to store team information on Public Team Stub. If list (table) is used to store data, paging reading operation can be achieved, but its efficiency of deleting elements is very low. Although dict (a data structure, i.e. hash table structure) has fast insertion and deletion efficiency, it is difficult to achieve paging query because it is disordered. The target paging table proposed in this application can realize fast insertion and deletion updates, and can also quickly return the results of paging query.

[0053] When querying the target paging table, the query result of the target paging table is as follows, which is mainly divided into two parts. One part is data, which uses a two-dimensional array to store key and value data. Each page stores a fixed amount of data, but it is necessary to ensure that the previous page is full, that is, except for the last page, the amount of data in other pages is equal to page_size (page size). The other part is item_pos_dict, which is responsible for storing the position of the data corresponding to k in the paging table.

[0054] Figure 3 It is a schematic diagram of a target paging table according to an embodiment of the present application, wherein the data of pages other than the last page are full, and the data volume is page size, and the newly added data can be added to the last row of the last page. Figure 4 This is a schematic diagram of a data location dictionary according to an embodiment of the present application, in which the location of keyword data in the target paging table can be stored. The location can be a page number (page_idx) and an offset data within the page (page_offset), similar to a table of contents in a book. When querying the team information in the target paging table, since the paging is of a fixed size, the entire page of team information can be directly pulled from the target paging table based on the page number.

[0055] In an optional embodiment, after the team information of the virtual team is changed in the first server, the obtained first change result can be synchronized to the second server.

[0056] At present, in addition to teaming up with friends, legions and other familiar people, teaming up with strangers in competitive games also requires socializing on a larger scale to help improve the sense of participation in the game. However, one of the current solutions is to store team information in a single server process, which causes excessive pressure on the server process, or to divide players into different "rooms" for teaming. The published team information is only visible to the players in the room, and it is not a true full-server team. There is a conflict between high availability and full-server visibility. This application proposes a distributed full-server team lobby system that can meet the teaming needs of large-scale full-server teaming. It needs to have full-server visibility, high availability, and high scalability. Among them, full-server visibility means that the player character can see the team information published by all server players. High availability means that when some single-point processes are down, it does not affect the main functional logic of the full-server team; high scalability means that when the number of players increases and the server load increases, the overall server load limit can be increased online through horizontal expansion.

[0057] The above-mentioned distributed full-server team lobby system mainly includes the following contents:

[0058] 1. The player character publishes team information through the client, and the information is synchronized to the server;

[0059] 2. Other players can browse the team information of the entire server through the client and apply to join the team they are interested in.

[0060] Since there are generally a large number of online players in online games, the number of team formation information released by the entire server is also relatively large, so the team formation system needs to have the following functions:

[0061] 1. Support millions of daily active users;

[0062] 2. High availability;

[0063] 3. High scalability;

[0064] 4. Supports quick query of team information of the entire server through paging.

[0065] The solution in the present application can be implemented using the above-mentioned distributed full-server team lobby system, wherein the system adopts a center-shard-line distribution method, and the publishing and updating of team information and client reading are in different server processes, which can reduce the server load, provide high availability and scalability, and can use a special paging table data structure to store team information, that is, the team information is stored through the above-mentioned target paging table, which can greatly improve the synchronization of team information and the paging query speed.

[0066] Figure 5 It is a structural diagram of a distributed full-server team lobby system according to an embodiment of the present application, which is implemented through a center (center)-shard (shard)-stub (stub), wherein the center is responsible for maintaining network topology information and broadcasting status messages of other processes, the shard is responsible for distributed storage of team information, the shard aggregates the results of the shard, and is responsible for providing team data query services to player characters. In this distributed system, the team lobby dedicated central node (Public TeamCenter) is a single point, and PublicTeamShard and PublicTeamStub will be deployed as multiple instances.

[0067] Among them, Public Team Center is a single node, without any logical functions. It is mainly responsible for managing the addition and deletion of shards and lines, and regularly broadcasting the newly added shards and lines to all lines. Public Team Center itself is stateless and can be pulled up after a crash. The main UML class diagram (Unified Modeling Language) is shown below. UML class diagram refers to the diagram in object-oriented system modeling, which is mainly used to display the classes and interfaces in the system:

[0068] Public Team Center

[0069] -_stubs / / connected stub information

[0070] -_shards / / connected shard information

[0071] -_idx_shards / / {idx:bin_mb}

[0072] -_star_num / / shard number

[0073] +register_stub / / Register stub

[0074] +on_stub_lose / / stub offline

[0075] +register_shard / / Register shard

[0076] +on_stub_lose / / shard offline

[0077] -_do_broadcast_stub_info_timer / / Broadcast stub information

[0078] -_do_broadcast_stard_info_timer / / Broadcast shard information

[0079] Among them, Public Team Shard is the process of writing team information. It is deployed into multiple shards as needed. Each shard is responsible for storing a part of the team information. Its UML class is as follows:

[0080] Public Team Shard

[0081] -_stub_dict / / all stub information

[0082] -_public_team_info / / {team_id: team_info}

[0083] -_public_teams_sort_by_ts / {team_id: teamstamp}

[0084] -_new_public_team_cache / / Changed team id collection

[0085] -_need_removed_public_teams / / Team ID collection to be deleted

[0086] +on_link_stub / / connect stub

[0087] +create_public_team / / Create a public team

[0088] +modify_public_team / / Modify public team information

[0089] +join_public_team / / Join a team

[0090] +req_leave_public_team / / Leave the team

[0091] -_broadcast_public_team_info / / Changes in broadcast team information

[0092] from Figure 5 As can be seen in the figure, each shard is connected to all PublicTeamStubs, and PublicTeamShard uses _stub_dict to save all stub information. According to the unique digital identifier (hereinafter referred to as uid) of the team creator player, a Public Team Shard is evenly selected to save the team information. _public_team_info provides a mapping from team id to team data, and _public_teams_sort_by_ts stores the creation time of each team in the order of creation time, which is used to regularly delete tasks that have been created for too long to avoid insufficient memory due to unlimited growth of the team. In addition, PublicTeamShard provides interfaces for creating, modifying, joining and leaving team information, and stores the changed team information in _new_public_team_cache and _need_removed_public_teams, and regularly broadcasts it to all stubs through the _broadcast_public_team_info interface. Among them, _new_public_team_cache refers to the set of teams that have been added or whose data has changed in the shard node within a period of time; _need_removed_public_team refers to the set of teams that need to be cleared in the shard node due to all players quitting or expiring within a period of time; _broadcast_public_team_info refers to the scheduled push interface on the shard, which regularly pushes the team sets that have been modified (including new additions) and the team sets that need to be deleted to the team line of the entire server.

[0093] Each PublicTeamShard only stores a portion of the data according to the load balancing rules. When the shard goes down, only a small amount of team information will be affected.

[0094] Among them, PublicTeamStub is the process for players to read team information, and its UML class diagram is as follows:

[0095] -_shards / / shard information

[0096] -_shard_num / / Number of shards

[0097] -_idx_shards / / {idx:shard_mb}

[0098] -_public_team_table / / PageTable, all server team information

[0099] +_update_shards / / Update shard information

[0100] +refresh_public_teams / / Update team information

[0101] +request_public_teams / / Update team information

[0102] PublicTeamStub (branch) uses the page table structure PageTable to save the team information of the entire server. PublicTeamShard (shard) will periodically notify the stub (branch) of the change data of the team information through refresh_public_teams. Players can query the team information by page through request_public_teams.

[0103] Each PublicTeamStub is actually just used for team information query. After it goes down, the team data is not affected. After it is pulled up, the data can be synchronized back from the shard.

[0104] Through the above steps, first, in response to the received team information change instruction, the team change status can be obtained, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player character in the virtual team; on the first server, based on the team change status, the team information is changed to obtain a first change result, wherein the first server is used to provide a team information change function; the first change result is synchronized to the target paging table of the second server, wherein the second server is used to provide a team information query function through the target paging table, thereby improving the processing efficiency of the team information. Since the publishing and updating of team information and the reading of the client are in different server processes, this can reduce the load of the server, provide high availability and scalability, and the use of the target paging table to store team information can improve the synchronization and paging query speed of team information, so as to at least solve the technical problem of low processing efficiency of team information in related technologies.

[0105] In the above embodiment of the present application, synchronizing the first change result to the target paging table of the second server includes: in response to the first change result being the creation of the first team, obtaining the team information of the first team; adding the team information of the first team to the last page of the target paging table to obtain the adding result; and updating the data location dictionary based on the adding result, wherein the data location dictionary is used to store the location of the team information in the target paging table.

[0106] The first team mentioned above may be a newly created virtual team.

[0107] The above-mentioned data position dictionary is item_pos_dict, which is responsible for storing the position of the data corresponding to k in the paging table, wherein the data corresponding to k may be the team information of the virtual team.

[0108] In an optional embodiment, when adding data of a virtual team to the target paging table, the strategy adopted is to directly add it to the end of the last page of the target paging table and then add the page number and the page offset of the keyword in item_pos_dict. The ideal time complexity is O(1), where O(1) represents a qualitative description of the execution time of the algorithm.

[0109] Figure 6 This is a schematic diagram of adding team information in a target paging table according to an embodiment of the present application. When adding new data in the target paging table, the strategy adopted is to add it directly to the end of the last paging, and then add the page number and page offset of the keyword in the data location dictionary to facilitate subsequent queries.

[0110] In an optional embodiment, when a player character publishes team formation information, he can randomly select a PublicTeam Shard to perform the operation of creating a virtual team. Through randomness, load balancing can be performed to disperse the newly created virtual team as much as possible on different shards to avoid excessive pressure on a single shard. On the one hand, the Public Team Shard uses public_team_info (dictionary storage structure) to store team information in the shard node, and on the other hand, it needs to use public_teams_sort_by_ts (sequential storage structure) to sequentially store the creation time of the virtual team, so as to facilitate the regular removal of teams that have been created for too long.

[0111] In the above embodiment of the present application, the first change result is synchronized to the target paging table of the second server, including: in response to the first change result being to delete the second team, using the data location dictionary to obtain the target position of the second team in the target paging table; deleting the team information of the second team in the target paging table based on the target position; adding the team information of the third team in the last page of the target paging table to the target position in the target paging table.

[0112] The third team mentioned above may be a virtual team at the end of the last page in the target page table, and the team information of the third team may be the team information corresponding to the virtual team at the end of the page.

[0113] In an optional embodiment, when deleting the team information of the second team in the target paging table, first obtain the target position of the second team in the target paging from the data position dictionary, that is, the page number and the page offset corresponding to the second team, delete the team information of the second team from the target paging table according to the page number and the page offset, and move the team information of the last virtual team on the last page to the position where the data is deleted.

[0114] Figure 7It is a schematic diagram of deleting team information in a target paging table according to an embodiment of the present application. When deleting data in the target paging table, the strategy adopted is to move the last team information of the last page to the deletion position after deleting the team information. Such deletion can still ensure that the other pages except the last page are satisfied, and ensure that reading the team information in the target paging table is still O(1). It should be noted that the target paging table PageTable can be imagined as a book. Item_pos_dict uses a dict (hash table) structure to store the position of the data associated with the keyword k in the paging table, which is equivalent to a directory table. Data is equivalent to the text content at the back of the book, and each line is a record. To delete keywords and data, you first need to locate them in PageTable based on the two contents. If you want to delete a keyword data k from the book, you need to find the page number and line number (that is, the page number and page offset) where k is located from the directory item_pos_dict, and then you can find the data in the book (that is, the data in the target paging table) for deletion.

[0115] From the above deletion process, the time complexity of deleting team information is O(1). Since the last element is moved to the deletion position, all the data is not in order. When getting the pages from the beginning to the end, some team information may not be sent to the client due to the deletion event. However, for the whole server team, the impact of this problem is limited. The moved elements can be obtained the next time the team information is traversed again.

[0116] In the above embodiment of the present application, the first server is used to change the team information based on the team change status to obtain a first change result, including: in response to the team change status being a change status of the players in the team, obtaining the number of players of the fourth team; adding the team identifier of the fourth team to the first set to obtain a first addition result, wherein the first set is used to indicate that the number of players in the team has changed; in response to the number of players being a first preset number, adding the team identifier of the fourth team to the second set to obtain a second addition result, wherein the second set is used to indicate that the team is full of players; determining whether there is a team identifier of the fourth team in the third set, wherein the third set is used to indicate that the number of players in the team is empty; in response to the presence of the team identifier of the fourth team in the third set, deleting the team identifier of the fourth team in the third set to obtain a first deletion result; and obtaining a first change result based on the first addition result, the second addition result, and the first deletion result.

[0117] The first set mentioned above may be new_public_team_cache. If a new player joins or leaves the virtual team, the team ID of the fourth team may be added to the first set.

[0118] The second set mentioned above may be full_public_teams, and when the team is full, the team id is added to it to avoid being recommended to other players.

[0119] The third set mentioned above may be empty for the team: need_removed_teams. When the number of team members is empty, the team identifier needs to be added to the set to notify the stub to delete these teams to avoid recommending them to players.

[0120] The first preset number is the upper limit of the number of players that the virtual team can accommodate. That is, the first preset number is the number of player characters in the virtual team when it is full.

[0121] In an optional embodiment, when the team change status is a change in the number of player characters in the team, the current number of players in the fourth team can be obtained, and the team ID of the fourth team can be added to the first set to obtain a first adding result. Since the first set indicates that the number of players in the team has changed, it means that the information of these teams needs to be synchronized at this time. When the number of players is the first preset number, the team ID of the fourth team can be added to the second set to indicate that the fourth team is full of players. At this time, the fourth team can be avoided from being broadcasted to avoid occupying broadcast resources. After the fourth team is full, it can be determined whether there is a team ID of the fourth team in the third set. If the team ID of the fourth team exists in the third set, it means that there was no player character in the fourth team before. At this time, the team ID of the fourth team in the third set needs to be deleted to obtain a first deletion result.

[0122] Furthermore, after obtaining the first adding result, the second adding result and the first deleting result, the team that needs to be broadcasted can be determined, so that the user can query the team that can be joined on the branch line, thereby realizing team formation.

[0123] In another optional embodiment, when a player character joins the fourth team, the team id can be added to new_public_team_cache, indicating that the information of these teams has changed and needs to be synchronized. If the team is full at this time, the team needs to be added to full_public_teams (full team set), that is, the first set mentioned above, and these teams are marked as full and not recommended, that is, they will not be synchronized to the Public Team Stub.

[0124] In the above embodiment of the present application, after adding the team identifier of the fourth team to the first set and obtaining a first adding result, the method also includes: in response to the number of players being a second preset number, adding the team identifier of the fourth team to the third set and obtaining a third adding result, wherein the second preset number is less than the first preset number; determining whether the team identifier of the fourth team exists in the second set; in response to the presence of the team identifier of the fourth team in the second set, deleting the team identifier of the fourth team in the second set and obtaining a second deletion result; and obtaining a first change result based on the first adding result, the third adding result and the second deletion result.

[0125] The second preset number mentioned above may be 0, which is used to indicate that the number of player characters in the team is empty.

[0126] In an optional embodiment, when the number of players is 0, the team ID of the fourth team can be added to the third set to avoid being recommended to the user. It can be determined whether the team ID of the fourth team exists in the second set, that is, whether the number of player characters in the fourth team is full before the team information is changed. If the team ID of the fourth team exists in the second set, the team ID of the fourth team in the second set can be deleted to obtain a second deletion result. The team information on the branch line can be updated according to the first addition result, the third addition result and the second deletion result to facilitate user query.

[0127] In another optional embodiment, when the player exits the fourth team, if the original fourth team is full, it is necessary to synchronize information from the full list, that is, the second set mentioned above, to the branch line. If the fourth team is empty, on the one hand, the team id needs to be added to need_removed_teams, and on the other hand, the team needs to be removed from new_public_team_cache.

[0128] In another optional embodiment, players can query on PublicTeamStub, and PublicTeamShard will periodically push team data to PublicTeamStub, including changes to existing team data and newly created or deleted team information. The above-mentioned synchronous changes include team data updates (including newly created) and deletions, which are respectively composed of the following data:

[0129] To be updated: need_public_team_cache;

[0130] To be deleted: full_public_teams+need_removed_teams+expire_teams, expire_teams can be a team that was created more than ten minutes ago. During each synchronization, public_temas_sort_by_ts is used to filter out the timed-out teams from the front to the back.

[0131] It should be noted that the above-mentioned team deletion situation is to prevent some players from creating virtual teams and then staying in the team lobby for a long time without entering the game. Deleting the timed-out teams can, on the one hand, prevent other players from entering these virtual teams from the lobby while the room owner does not waste time fighting, and on the other hand, it can also reduce the pressure on the server.

[0132] In the above embodiment of the present application, the first server is used to change the team information based on the team change status to obtain a first change result, including: in response to the team change status being to create a team, obtaining the team information and creation time of the fifth team, wherein the fifth team is a newly created team; using a dictionary storage structure to store the team information of the fifth team to obtain a first storage result; using a sequential storage structure to store the creation time of the fifth team to obtain a second storage result; based on the first storage result and the second storage result, obtaining the first change result.

[0133] In an optional embodiment, if the team's change status is to create a team, the team information and creation time of the fifth team can be obtained, and the dictionary storage structure can be used to provide a mapping between the team id and the team information, so as to realize the function of storing the team information of the fifth team, and according to the sequential storage structure, the creation time of the team is saved in the shard node in the order of time, and the tasks with too long creation time can be deleted regularly to avoid the unlimited growth of the team and insufficient memory. In addition, the Public Team Shard provides an interface for creating, modifying, joining and leaving team information, and stores the changed team information in _new_public_team_cache and _need_removed_public_tea.

[0134] Furthermore, after obtaining the first stored result and the second stored result, the first stored result and the second stored result may be broadcasted at a fixed time so that the user can query the newly created fifth team, thereby realizing the function of forming a team.

[0135] In the above embodiment of the present application, the first server is used to change the team information based on the team change status to obtain a first change result, including: in response to the team change status being the deletion of the team, obtaining the team information and creation time of the sixth team, wherein the sixth team is the newly deleted team; deleting the team information of the sixth team using the dictionary storage structure to obtain a first deletion result; deleting the creation time of the sixth team using the sequential storage structure to obtain a second deletion result; and obtaining the first change result based on the first deletion result and the second deletion result.

[0136] In an optional embodiment, if the change status of the team is to delete the team, the team information and creation time of the sixth team can be obtained, wherein the sixth team is the newly deleted team, and the team information of the sixth team can be deleted using the dictionary storage structure to obtain a first deletion result. Optionally, the page number and page offset corresponding to the sixth team can be obtained in the target paging table, and the team information corresponding to the sixth team in the target paging table can be deleted according to the page number and page offset, and the team information at the end of the last page in the target paging table can be added to the deleted position, thereby ensuring that the data volume of other pages in the target paging table except the last page is unified, which is convenient for retrieval and viewing.

[0137] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention.

[0138] In this embodiment, a team information processing device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the terms "unit" and "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0139] Figure 8 is a structural block diagram of a team information processing device according to one embodiment of the present invention, wherein a graphical user interface is provided through a terminal device, and the content displayed by the graphical user interface includes a touch area, such as Figure 8 As shown, the device 800 includes:

[0140] An acquisition module 802 is used to acquire a team change status in response to a received team information change instruction, wherein the team change status is used to indicate an overall change status of a virtual team in a game scene and / or a partial change status of a player character in the virtual team;

[0141] A change module 804 is used to change the team information on the first server based on the team change status to obtain a first change result, wherein the first server is used to provide a team information change function;

[0142] The synchronization module 806 is used to synchronize the first change result to the target page table of the second server, wherein the second server is used to provide a query function of the team information through the target page table.

[0143] Optionally, the synchronization module is also used to: in response to the first change result being the creation of the first team, obtain the team information of the first team; add the team information of the first team to the last page of the target paging table to obtain the adding result; and update the data location dictionary based on the adding result, wherein the data location dictionary is used to store the location of the team information in the target paging table.

[0144] Optionally, the synchronization module is also used to: in response to the first change result being the deletion of the second team, use the data location dictionary to obtain the target position of the second team in the target paging table; delete the team information of the second team in the target paging table based on the target position; and add the team information of the third team in the last page in the target paging table to the target position in the target paging table.

[0145] Optionally, the change module is also used to: in response to the team change status being a change status of the players in the team, obtain the number of players of the fourth team; add the team identifier of the fourth team to the first set to obtain a first adding result, wherein the first set is used to indicate that the number of players in the team has changed; in response to the number of players being a first preset number, add the team identifier of the fourth team to the second set to obtain a second adding result, wherein the second set is used to indicate that the team is full; determine whether there is a team identifier of the fourth team in the third set, wherein the third set is used to indicate that the number of players in the team is empty; in response to the presence of the team identifier of the fourth team in the third set, delete the team identifier of the fourth team in the third set to obtain a first deletion result; and obtain a first change result based on the first adding result, the second adding result and the first deletion result.

[0146] Optionally, the device is also used to: in response to the number of players being a second preset number, add the team identifier of the fourth team to the third set to obtain a third addition result, wherein the second preset number is less than the first preset number; determine whether the team identifier of the fourth team exists in the second set; in response to the presence of the team identifier of the fourth team in the second set, delete the team identifier of the fourth team in the second set to obtain a second deletion result; and obtain a first change result based on the first addition result, the third addition result and the second deletion result.

[0147] Optionally, the change module is also used to: in response to the team change status being team creation, obtain the team information and creation time of the fifth team, wherein the fifth team is a newly created team; store the team information of the fifth team using a dictionary storage structure to obtain a first storage result; store the creation time of the fifth team using a sequential storage structure to obtain a second storage result; and obtain a first change result based on the first storage result and the second storage result.

[0148] Optionally, the change module is also used to: in response to the team change status being deleted, obtain the team information and creation time of the sixth team, wherein the sixth team is the newly deleted team; delete the team information of the sixth team using the dictionary storage structure to obtain a first deletion result; delete the creation time of the sixth team using the sequential storage structure to obtain a second deletion result; and obtain a first change result based on the first deletion result and the second deletion result.

[0149] It should be noted that the above-mentioned units and modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to this: the above-mentioned units and modules are all located in the same processor; or, the above-mentioned units and modules are located in different processors in any combination.

[0150] An embodiment of the present invention further provides a non-volatile storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0151] Optionally, in this embodiment, the above-mentioned non-volatile storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.

[0152] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.

[0153] Optionally, in this embodiment, the above-mentioned non-volatile storage medium can be configured to store a computer program for executing the following steps: in response to a received team information change instruction, obtaining a team change status, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player character in the virtual team; on a first server, based on the team change status, changing the team information to obtain a first change result, wherein the first server is used to provide a team information change function; synchronizing the first change result to a target paging table of a second server, wherein the second server is used to provide a team information query function through the target paging table.

[0154] Optionally, the above-mentioned non-volatile storage medium is also configured to store program codes for executing the following steps: in response to the first change result being the creation of the first team, obtaining the team information of the first team; adding the team information of the first team to the last page of the target paging table to obtain the adding result; updating the data location dictionary based on the adding result, wherein the data location dictionary is used to store the location of the team information in the target paging table.

[0155] Optionally, the non-volatile storage medium is also configured to store program code for executing the following steps: in response to the first change result being the deletion of the second team, obtaining the target position of the second team in the target paging table using the data location dictionary; deleting the team information of the second team in the target paging table based on the target position; and adding the team information of the third team in the last page in the target paging table to the target position in the target paging table.

[0156] Optionally, the non-volatile storage medium is also configured to store program codes for executing the following steps: in response to the team change status being a change status of the players in the team, obtaining the number of players of the fourth team; adding the team identifier of the fourth team to the first set to obtain a first addition result, wherein the first set is used to indicate that the number of players in the team has changed; in response to the number of players being a first preset number, adding the team identifier of the fourth team to the second set to obtain a second addition result, wherein the second set is used to indicate that the team is full; determining whether there is a team identifier of the fourth team in the third set, wherein the third set is used to indicate that the number of players in the team is empty; in response to the presence of the team identifier of the fourth team in the third set, deleting the team identifier of the fourth team in the third set to obtain a first deletion result; and obtaining a first change result based on the first addition result, the second addition result and the first deletion result.

[0157] Optionally, the above-mentioned non-volatile storage medium is also configured to store program codes for executing the following steps: in response to the number of players being a second preset number, adding the team identifier of the fourth team to the third set to obtain a third addition result, wherein the second preset number is less than the first preset number; determining whether the team identifier of the fourth team exists in the second set; in response to the presence of the team identifier of the fourth team in the second set, deleting the team identifier of the fourth team in the second set to obtain a second deletion result; and obtaining a first change result based on the first addition result, the third addition result and the second deletion result.

[0158] Optionally, the non-volatile storage medium is also configured to store program codes for executing the following steps: in response to the change status of the team being to create a team, obtaining the team information and creation time of the fifth team, wherein the fifth team is a newly created team; storing the team information of the fifth team using a dictionary storage structure to obtain a first storage result; storing the creation time of the fifth team using a sequential storage structure to obtain a second storage result; and obtaining a first change result based on the first storage result and the second storage result.

[0159] Optionally, the non-volatile storage medium is further configured to store program codes for executing the following steps: in response to the change status of the team being deleted, obtaining the team information and creation time of the sixth team, wherein the sixth team is the newly deleted team; deleting the team information of the sixth team using a dictionary storage structure to obtain a first deletion result; deleting the creation time of the sixth team using a sequential storage structure to obtain a second deletion result; and obtaining a first change result based on the first deletion result and the second deletion result.

[0160] In the non-volatile storage medium of this embodiment, through the above steps, firstly, in response to the received team information change instruction, the team change status can be obtained, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player character in the virtual team; on the first server, based on the team change status, the team information is changed to obtain a first change result, wherein the first server is used to provide a team information change function; the first change result is synchronized to the target paging table of the second server, wherein the second server is used to provide a team information query function through the target paging table, thereby improving the processing efficiency of the team information. Since the publishing and updating of team information and the reading of the client are in different server processes, this can reduce the load of the server, provide high availability and scalability, and the use of the target paging table to store team information can improve the synchronization and paging query speed of team information, so as to at least solve the technical problem of low processing efficiency of team information in the related technology.

[0161] Through the description of the above implementation modes, it is easy for those skilled in the art to understand that the example implementation modes described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation mode of the present invention can be embodied in the form of a software product, which can be stored in a computer-readable storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation mode of the present invention.

[0162] In the exemplary embodiment of the present application, a program product capable of implementing the above method of the present embodiment is stored on a computer-readable storage medium. In some possible implementations, various aspects of the embodiments of the present invention may also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of various exemplary implementations of the present invention described in the above "Exemplary Method" section of the present embodiment.

[0163] The program product for implementing the above method according to the embodiment of the present invention may adopt a portable compact disk read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the embodiment of the present invention is not limited thereto. In the embodiment of the present invention, the 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, apparatus, or device.

[0164] The program product may be in any combination of one or more computer-readable media. 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 thereof. More specific examples (non-exhaustive) of computer-readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0165] It should be noted that the program code contained in the computer-readable storage medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.

[0166] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0167] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0168] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program: in response to a received team information change instruction, obtaining a team change status, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player characters in the virtual team; on a first server, based on the team change status, changing the team information to obtain a first change result, wherein the first server is used to provide a team information change function; synchronizing the first change result to a target paging table of a second server, wherein the second server is used to provide a team information query function through the target paging table.

[0169] Optionally, the processor can also be configured to perform the following steps through a computer program: in response to the first change result being the creation of a first team, obtaining team information of the first team; adding the team information of the first team to the last page of the target paging table to obtain an adding result; and updating the data location dictionary based on the adding result, wherein the data location dictionary is used to store the location of the team information in the target paging table.

[0170] Optionally, the processor may also be configured to perform the following steps through a computer program: in response to the first change result being the deletion of the second team, obtaining a target position of the second team in the target paging table using a data location dictionary; deleting the team information of the second team in the target paging table based on the target position; and adding the team information of the third team in the last page of the target paging table to the target position in the target paging table.

[0171] Optionally, the processor may also be configured to perform the following steps through a computer program: in response to the team change status being a change status of the players in the team, obtaining the number of players in the fourth team; adding the team identifier of the fourth team to the first set to obtain a first adding result, wherein the first set is used to indicate that the number of players in the team has changed; in response to the number of players being a first preset number, adding the team identifier of the fourth team to the second set to obtain a second adding result, wherein the second set is used to indicate that the team is full; determining whether there is a team identifier of the fourth team in the third set, wherein the third set is used to indicate that the number of players in the team is empty; in response to the presence of the team identifier of the fourth team in the third set, deleting the team identifier of the fourth team in the third set to obtain a first deletion result; and obtaining a first change result based on the first adding result, the second adding result, and the first deletion result.

[0172] Optionally, the processor may also be configured to perform the following steps through a computer program: in response to the number of players being a second preset number, adding the team identifier of the fourth team to the third set to obtain a third addition result, wherein the second preset number is less than the first preset number; determining whether the team identifier of the fourth team exists in the second set; in response to the presence of the team identifier of the fourth team in the second set, deleting the team identifier of the fourth team in the second set to obtain a second deletion result; and obtaining a first change result based on the first addition result, the third addition result and the second deletion result.

[0173] Optionally, the processor may also be configured to perform the following steps through a computer program: in response to the team change status being team creation, obtaining the team information and creation time of the fifth team, wherein the fifth team is a newly created team; storing the team information of the fifth team using a dictionary storage structure to obtain a first storage result; storing the creation time of the fifth team using a sequential storage structure to obtain a second storage result; and obtaining a first change result based on the first storage result and the second storage result.

[0174] Optionally, the processor may also be configured to perform the following steps through a computer program: in response to the team change status being a deleted team, obtaining the team information and creation time of the sixth team, wherein the sixth team is a newly deleted team; deleting the team information of the sixth team using a dictionary storage structure to obtain a first deletion result; deleting the creation time of the sixth team using a sequential storage structure to obtain a second deletion result; and obtaining a first change result based on the first deletion result and the second deletion result.

[0175] In the non-volatile storage medium of this embodiment, through the above steps, firstly, in response to the received team information change instruction, the team change status can be obtained, wherein the team change status is used to represent the overall change status of the virtual team in the game scene and / or the local change status of the player character in the virtual team; on the first server, based on the team change status, the team information is changed to obtain a first change result, wherein the first server is used to provide a team information change function; the first change result is synchronized to the target paging table of the second server, wherein the second server is used to provide a team information query function through the target paging table, thereby improving the processing efficiency of the team information. Since the publishing and updating of team information and the reading of the client are in different server processes, this can reduce the load of the server, provide high availability and scalability, and the use of the target paging table to store team information can improve the synchronization and paging query speed of team information, so as to at least solve the technical problem of low processing efficiency of team information in the related technology.

[0176] Fig. 9 is a schematic diagram of an electronic device according to an embodiment of the present invention. Fig. 9 As shown, the electronic device 900 is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0177] like Fig. 9 As shown, the electronic device 900 is in the form of a general computing device. The components of the electronic device 900 may include but are not limited to: at least one processor 910, at least one memory 920, a bus 930 connecting different system components (including the memory 920 and the processor 910), and a display 940.

[0178] The memory 920 stores program codes, which can be executed by the processor 910, so that the processor 910 executes the steps of various exemplary embodiments of the present invention described in the method part of the embodiment of the present application.

[0179] The memory 920 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 13201 and / or a cache memory unit 9202, and may further include a read-only memory unit (ROM) 9203, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.

[0180] In some examples, the memory 920 may also include a program / utility 9204 having a set (at least one) of program modules 13205, such program modules 9205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination thereof may include the implementation of a network environment. The memory 920 may further include a memory remotely disposed relative to the processor 910, and these remote memories may be connected to the electronic device 900 via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0181] Bus 930 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a local bus of processor 910, or a bus using any of a variety of bus architectures.

[0182] The display 940 may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the electronic device 900 .

[0183] Optionally, the electronic device 900 may also communicate with one or more external devices 1000 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device 900, and / or any device that enables the electronic device 900 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 950. Furthermore, the electronic device 900 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 960. Fig. 9 As shown, the network adapter 960 communicates with other modules of the electronic device 900 via the bus 930. It should be understood that although Fig. 9 Not shown, other hardware and / or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0184] The electronic device 900 may further include: a keyboard, a cursor control device (such as a mouse), an input / output interface (I / O interface), a network interface, a power supply and / or a camera.

[0185] It can be understood by those skilled in the art that Fig. 9 The structure shown is for illustration only and does not limit the structure of the above electronic device. Fig. 9 More or fewer components as shown, or with Figure 1 The memory 920 may be used to store computer programs and corresponding data, such as computer programs and corresponding data corresponding to the team information processing method in the embodiment of the present invention. The processor 910 executes various functional applications and data processing by running the computer program stored in the memory 920, that is, implements the above-mentioned team information processing method.

[0186] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0187] In the above embodiments of the present invention, 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.

[0188] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0189] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0190] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0191] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.

[0192] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A team information processing method, characterized in that: include: In response to the received team information change instruction, obtaining a team change state, wherein the team change state is used to represent an overall change state of a virtual team in a game scene and / or a partial change state of a player character in the virtual team; On the first server, based on the team change state, the team information is changed to obtain a first change result, wherein the first server is used to provide a team information change function; In response to the first change result being the creation of a first team, obtaining team information of the first team; adding the team information of the first team to the last page of the target page table in the second server to obtain an adding result; updating a data location dictionary based on the adding result, wherein the second server is used to provide a query function of the team information through the target page table, and the data location dictionary is used to store the location of the team information in the target page table; In response to the first change result being the deletion of the second team, the target position of the second team in the target paging table is obtained using the data location dictionary; the team information of the second team in the target paging table is deleted based on the target position; and the team information of the third team in the last page of the target paging table is added to the target position in the target paging table.

2. The method according to claim 1, characterized in that Using the first server to change the team information based on the team change state to obtain a first change result, including: In response to the team change status being a change status of players in the team, obtaining the number of players in the fourth team; Adding the team identifier of the fourth team to the first set to obtain a first adding result, wherein the first set is used to indicate that the number of players in the team has changed; In response to the number of players being the first preset number, adding the team identifier of the fourth team to the second set to obtain a second adding result, wherein the second set is used to indicate that the players in the team are full; Determining whether the team identifier of the fourth team exists in the third set, wherein the third set is used to indicate that the number of players in the team is empty; In response to the presence of the team identifier of the fourth team in the third set, deleting the team identifier of the fourth team in the third set to obtain a first deletion result; The first change result is obtained based on the first adding result, the second adding result and the first deleting result.

3. The method according to claim 2, characterized in that After adding the team identifier of the fourth team to the first set to obtain a first adding result, the method further includes: In response to the number of players being a second preset number, adding the team identifier of the fourth team to a third set to obtain a third adding result, wherein the second preset number is less than the first preset number; Determining whether the team identifier of the fourth team exists in the second set; In response to the presence of the team identifier of the fourth team in the second set, deleting the team identifier of the fourth team in the second set to obtain a second deletion result; The first change result is obtained based on the first adding result, the third adding result and the second deleting result.

4. The method according to claim 1, characterized in that: Using the first server to change the team information based on the team change state to obtain a first change result, including: In response to the change state of the team being a team creation, acquiring team information and creation time of a fifth team, wherein the fifth team is a newly created team; Using a dictionary storage structure to store the team information of the fifth team, obtaining a first storage result; The creation time of the fifth team is stored using a sequential storage structure to obtain a second storage result; The first change result is obtained based on the first storage result and the second storage result.

5. The method according to claim 1, characterized in that Using the first server to change the team information based on the team change state to obtain a first change result, including: In response to the change status of the team being a deleted team, obtaining team information and creation time of a sixth team, wherein the sixth team is a newly deleted team; Deleting the team information of the sixth team using the dictionary storage structure to obtain a first deletion result; Deleting the creation time of the sixth team using a sequential storage structure to obtain a second deletion result; The first change result is obtained based on the first deletion result and the second deletion result.

6. A team information processing device, characterized in that: include: An acquisition module, configured to acquire a team change status in response to a received team information change instruction, wherein the team change status is used to represent an overall change status of a virtual team in a game scene and / or a partial change status of a player character in the virtual team; A change module, configured to change the team information on the first server based on the team change status to obtain a first change result, wherein the first server is configured to provide a team information change function; a synchronization module, configured to, in response to the first change result being the creation of a first team, obtain the team information of the first team; add the team information of the first team to the last page of the target page table in the second server to obtain an adding result; and update the data location dictionary based on the adding result, wherein the second server is configured to provide a query function of the team information through the target page table, and the data location dictionary is configured to store the location of the team information in the target page table; The synchronization module is also used to respond to the first change result being the deletion of the second team, use the data location dictionary to obtain the target position of the second team in the target paging table; delete the team information of the second team in the target paging table based on the target position; and add the team information of the third team in the last page of the target paging table to the target position in the target paging table.

7. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a computer program, wherein the computer program is configured to execute the team information processing method described in any one of claims 1 to 5 when executed by a processor.

8. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to execute the team information processing method described in any one of claims 1 to 5.