CN110209500B - Server load balancing method and device - Google Patents

Server load balancing method and device Download PDF

Info

Publication number
CN110209500B
CN110209500B CN201910475735.2A CN201910475735A CN110209500B CN 110209500 B CN110209500 B CN 110209500B CN 201910475735 A CN201910475735 A CN 201910475735A CN 110209500 B CN110209500 B CN 110209500B
Authority
CN
China
Prior art keywords
game
game server
server
online
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910475735.2A
Other languages
Chinese (zh)
Other versions
CN110209500A (en
Inventor
李白
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910475735.2A priority Critical patent/CN110209500B/en
Publication of CN110209500A publication Critical patent/CN110209500A/en
Application granted granted Critical
Publication of CN110209500B publication Critical patent/CN110209500B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the invention provides a server load balancing method and a device, wherein the method comprises the following steps: and judging whether the game data of the user corresponding to the client is empty or not according to the registration information of the client, wherein the registration information comprises the identification of the game server corresponding to the identification of the user. If so, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers. And obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition. And sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server. According to the embodiment, the target game servers to be distributed are determined through the first online number of the game servers, so that load balance of the game servers is realized, and the resource utilization efficiency is improved.

Description

Server load balancing method and device
Technical Field
The embodiment of the invention relates to computer technology, in particular to a server load balancing method and device.
Background
With the rapid development of the game industry, the number of corresponding users is increased, and when a user joins a game, the user is generally required to be allocated with a game server so that the user can perform game operation.
Currently, a game system usually includes a plurality of game servers, wherein each game server is independent of each other, when a user joins a game, the user is usually provided with a user interface for selecting a server, the user interface includes all selectable game servers, and then the user selects and registers one game server according to own desire.
However, the selection of the users according to the wishes of the users may cause uneven distribution of the number of people among the game servers, so that the utilization efficiency of resources is low.
Disclosure of Invention
The embodiment of the invention provides a server load balancing method and device, aiming at overcoming the defect of uneven distribution of people among game servers.
In a first aspect, an embodiment of the present invention provides a server load balancing method, which is applied to a game server cluster, where the game server cluster includes a plurality of game servers, and the game servers may communicate with each other, where the method includes:
judging whether game data of a user corresponding to a client is empty or not according to registration information of the client, wherein the registration information comprises an identifier of a game server corresponding to the identifier of the user;
if so, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers;
obtaining a target game server according to the weight of each game server, wherein the target game server is the game server of which the weight meets a preset condition;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
In one possible design, the game server includes a single point process for handling a first online population of the game server and a plurality of game processes for handling execution logic of the game server.
In one possible design, the obtaining a first online population of each of the game servers and obtaining a weight of each of the game servers according to the first online population of each of the game servers includes:
aiming at any game process, detecting whether the number of second online people in the game process changes or not according to a first preset period;
if so, sending the second online number of people to a single-point process of a game server where the game process is located;
obtaining the first online number of the game servers according to the second online number of the game progresses included in the game servers;
and obtaining the weight of each game server according to the first online number of the game servers.
In one possible design, the obtaining the first online population of each game server according to the second online population of each game process included in each game server includes:
the single-point process carries out accumulation processing according to the second online number of the game processes in the game server to obtain the first online number of the game server;
and the single-point process obtains the first online number of the game servers according to the first online number broadcasted by other single-point processes, and sends the first online number of the game servers to each game process of the game server where the single-point process is located.
In one possible design, the first online population is negatively correlated with the weight, and the preset condition is that the weight is maximum;
the obtaining of the weight of each game server according to the first online number of the game servers comprises:
obtaining the average online number of each game process in each game server according to the first online number of each game server and the number of the game processes of each game server;
aiming at any game server, judging whether the average online number of the game processes included in the game server exceeds a first preset threshold value or not;
if so, determining the weight of the game server as a preset weight;
if not, determining the weight of the game server as the difference between the average online number of the game progress and the first preset threshold value.
In one possible design, if the game data of the user is not empty, the method further includes:
acquiring an identifier of a first game server according to registration information of a client, wherein the first game server is a server where game data of a user is located;
judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identifier of the first game server;
if yes, obtaining a target game server according to the weight of each game server except the first server;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
In a possible design, the determining, according to the registration information of the client, whether the game data of the user corresponding to the client is empty includes:
judging whether the registration information of the client corresponds to a game server or whether the corresponding game server exists according to the registration information of the client;
if not, randomly selecting a second game server, and randomly selecting a first process on the second game server;
creating a login logic object according to the first process, and acquiring game data of the user according to the login logic object, wherein the login logic object is used for executing login operation of a game;
and judging whether the game data of the user is empty or not.
In a second aspect, an embodiment of the present invention provides a server load balancing apparatus, which is applied to a game server cluster, where the game server cluster includes a plurality of game servers, and the game servers may communicate with each other, and the apparatus includes:
the judging module is used for judging whether game data of a user corresponding to a client is empty or not according to registration information of the client, wherein the registration information comprises an identifier of a game server corresponding to the identifier of the user;
the obtaining module is used for obtaining the first online number of the game servers and obtaining the weight of each game server according to the first online number of the game servers if the first online number of the game servers is positive;
the determining module is used for obtaining a target game server according to the weight of each game server, wherein the target game server is the game server of which the weight meets a preset condition;
and the sending module is used for sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises a connection address of the target game server.
In one possible design, the game server includes a single point process for handling a first online population of the game server and a plurality of game processes for handling execution logic of the game server.
In one possible design, the obtaining module is specifically configured to:
aiming at any game process, detecting whether the number of second online people in the game process changes or not according to a first preset period;
if so, sending the second online number of people to a single-point process of a game server where the game process is located;
obtaining the first online number of the game servers according to the second online number of the game progresses included in the game servers;
and obtaining the weight of each game server according to the first online number of the game servers.
In one possible design, the obtaining module is specifically configured to:
the single-point process carries out accumulation processing according to the second online number of the game processes in the game server to obtain the first online number of the game server;
and the single-point process obtains the first online number of the game servers according to the first online number broadcasted by other single-point processes, and sends the first online number of the game servers to each game process of the game server where the single-point process is located.
In one possible design, the first online population is negatively correlated with the weight, and the preset condition is that the weight is maximum;
the acquisition module is specifically configured to:
obtaining the average online number of each game process in each game server according to the first online number of each game server and the number of the game processes of each game server;
aiming at any game server, judging whether the average online number of the game processes included in the game server exceeds a first preset threshold value or not;
if so, determining the weight of the game server as a preset weight;
if not, determining the weight of the game server as the difference between the average online number of the game progress and the first preset threshold value.
In a possible design, if the game data of the user is not empty, the obtaining module is further configured to:
acquiring an identifier of a first game server according to registration information of a client, wherein the first game server is a server where game data of a user is located;
judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identifier of the first game server;
if yes, obtaining a target game server according to the weight of each game server except the first server;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
In one possible design, the determining module is specifically configured to:
judging whether the registration information of the client corresponds to a game server or whether the corresponding game server exists according to the registration information of the client;
if not, randomly selecting a second game server, and randomly selecting a first process on the second game server;
creating a login logic object according to the first process, and acquiring game data of the user according to the login logic object, wherein the login logic object is used for executing login operation of a game;
and judging whether the game data of the user is empty or not.
In a third aspect, an embodiment of the present invention provides a server load balancing device, including:
a memory for storing a program;
a processor for executing the program stored by the memory, the processor being adapted to perform the method as described above in the first aspect and any one of the various possible designs of the first aspect when the program is executed.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to perform the method as described above in the first aspect and any one of various possible designs of the first aspect.
The embodiment of the invention provides a server load balancing method and a device, which are applied to a game server cluster, wherein the game server cluster comprises a plurality of game servers, and the game servers can communicate with each other, and the method comprises the following steps: and judging whether the game data of the user corresponding to the client is empty or not according to the registration information of the client, wherein the registration information comprises the identification of the game server corresponding to the identification of the user. If so, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers. And obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition. And sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server. The weight of each game server is determined according to the first online number of the game servers, and the target game server to be distributed is determined according to the weight, so that new users are registered on the target game servers meeting preset conditions, the users can be distributed according to the online number of the game servers, the number of the users of the game servers is uniformly distributed, the load balance of the game servers is realized, and the resource utilization efficiency is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a system diagram of a server load balancing method according to an embodiment of the present invention;
fig. 2 is a first flowchart of a server load balancing method according to an embodiment of the present invention;
fig. 3 is a second flowchart of a server load balancing method according to an embodiment of the present invention;
fig. 4 is a system diagram ii of a server load balancing method according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a server load balancing apparatus according to an embodiment of the present invention;
fig. 6 is a schematic diagram of a hardware structure of a server load balancing device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a first schematic system diagram of a server load balancing method according to an embodiment of the present invention, as shown in fig. 1, the system includes: a game server cluster, a database, and a communication cluster.
The game server cluster includes N game servers, each game server corresponds to a respective identifier, each game server further includes M processes in each game server, each process is used for processing data or logic operation of the game server, each process corresponds to a respective identifier, and numbers are used as identifiers of each game server and each process in fig. 1.
In this embodiment, the game servers may communicate with each other, specifically, each game server is connected to a communication cluster, and the communication cluster is used for communication between the game servers, and may receive data sent by each game server, and may also send received data to a corresponding game server, thereby implementing communication.
In an alternative implementation manner, the communication cluster may be a cluster formed by a plurality of servers, where the communication cluster may include a plurality of physical machines, each physical machine has a plurality of processes, and the processes in the communication cluster are configured to receive a message sent by a game process and forward the message to a corresponding target game process. By setting the communication cluster, the communication among the game servers can be conveniently and efficiently realized, so that the condition that the communication can be carried out only by establishing connection among all game processes is avoided.
After the creation of each process on the game server is completed, the process is in a closed state in an initial state, the process is started when a certain task needs to be performed, the started process is registered to the communication cluster according to the identification of the process, one process can be uniquely determined on the communication cluster through the identification of the process, and when the communication operation is specifically performed, the data is forwarded to the target process according to the identification of the target process, so that the directional communication among the processes can be realized, and the communication among the game servers is realized.
Further, each game server in this embodiment is connected to the same database, and the user data included in each game server is stored in the database, so that each process in each game server can acquire the game data of all users, and limitation of data acquisition and processing is avoided.
At present, in the prior art, game servers are independent from each other, a user can see a user interface for logging in and selecting a service after opening a game client, when the user selects one game server, a role can be created for the user on the corresponding game server, game data of the user is stored in a database corresponding to the current game server, if two users select different game servers, the two users are isolated from each other and are invisible in a game, and the data and communication isolation between the game servers can cause the user experience to be reduced.
In the embodiment, mutual communication of the game servers is realized through the communication cluster, and data sharing of the game servers is realized by setting the same database, so that the user experience is improved.
In an alternative implementation manner, in this embodiment, a plurality of game suits may be packaged by black boxes, where the purpose of the packaging is to remove the user interface for selecting a game server, so that the user thinks that only one game server is currently available, and by responding to the login operation of the logged-in user interface, according to the server load balancing method of the present invention, a target game server is allocated to the user.
When the number of online users exceeds the carrying capacity of the existing game server, a new game server is added, however, as the game heat is reduced, the number of online users is continuously reduced, which results in a large amount of server resources being idle, part of the game servers are closed to save resources, and at this time, the user data included in the merged game server is migrated to the rest of the game servers, which may be called as a closing operation.
In the embodiment, data sharing is realized by arranging one database, and when the user performs the compliance operation, all user data are stored in one database, the migration of the user game data only needs to change some data fields in the database, and the data do not need to be migrated from one database to another database, so that the risk of data loss is avoided, the data of the user are modified as little as possible, safe and smooth data migration is realized, the system safety is improved, and the user does not know the occurrence of the compliance operation, so that the game experience of the user is improved.
In the prior art, the game server selected by the user is completely selected according to the intention of the user, so that the number of people of each game server is unevenly distributed, and the maintenance difficulty of the game server is increased.
Fig. 2 is a first flowchart of a server load balancing method according to an embodiment of the present invention. As shown in fig. 2, the method includes:
s201, judging whether game data of a user corresponding to the client is empty or not according to registration information of the client, wherein the registration information comprises an identifier of a game server corresponding to the identifier of the user.
In this embodiment, a client is installed on a terminal, and a user may interact with a game server through the client on the terminal, so as to perform registration, login, or specific game operation, and the like, where the client stores an identifier of the game server corresponding to an identifier of the user, and specifically, the identifier of the user may be, for example, an account of the user, or may also be a name, an ID, a mobile phone number, and the like of the user, and this embodiment does not limit the identifier of the user.
Specifically, if the game server has already been registered on the game server according to the user identifier, the game server identifier corresponding to the user identifier is the game server where the game data corresponding to the user identifier is located, or if the user identifier of the user has not been registered, the game server identifier corresponding to the user identifier is not empty.
In an optional implementation manner, first, whether the registration information of the client corresponds to the game server or whether the corresponding game server exists is determined according to the registration information of the client.
If the game server corresponding to the registration information of the client is empty, it may be determined that the game server has not been registered according to the identifier of the user (indicating that the user is a new user), or when the game server corresponding to the registration information does not exist, it may be determined that the corresponding game server has been closed (indicating that the game server of an old user is closed), and at this time, a game server needs to be allocated to the user.
Optionally, if the game server corresponding to the registration information of the client exists in the list of the game server (indicating that the user is an old user and the game server can normally operate), the connection information of the game server may be directly obtained according to the identifier of the game server, and the connection between the client and the game server is established.
Those skilled in the art can understand that the specific execution process of the judgment according to the registration information of the client may be interpreted as opening the game client according to the operation of the user, and acquiring the identifier of the user input by the user, or acquiring the identifier of the user who logs in last time from the local, and then acquiring the identifier of the corresponding game server from the local storage of the client according to the identifier of the user.
Further, if the above-mentioned determination structure is no, it is necessary to allocate a game server to the user, and first randomly select a second game server, and randomly select a first process on the second game server.
Specifically, the first process is randomly selected on the second game server to perform the operation of allocating the monthly target game server.
Creating a login logic object according to the first process, and acquiring game data of the user according to the login logic object, wherein the login logic object is used for executing login operation of the game,
in this embodiment, the game server corresponding to the registration information is empty (new user) and the game server corresponding to the registration information is closed (game server of old user is closed), which both require allocation of the target game server and are operated for two cases, so it is necessary to first determine whether the current user is a new user, specifically, a login logical object created by the first process, where the login logical object is used to perform a login operation of the game to obtain game data of the user.
Those skilled in the art can understand that the above-described implementation manner for judging whether the game data of the user is empty according to the registration information of the client is not the only implementation manner, for example, the identifier of the game server and the identifier of the user may also be determined according to the registration information of the client, and the identifier of the game server and the identifier of the user are sent to the database for query to determine whether the game data of the user is empty, and other possible implementation manners are not described herein again, and this embodiment does not limit the specific implementation manner of the judgment.
S202, if yes, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers.
If the game data of the user is determined to be empty, the user corresponding to the registration information can be determined to be a new user, and when the target game server is distributed to the new user, the load of the game server is determined according to the number of the first online persons of the game servers, so that the load balance of the game servers is realized.
Specifically, the weight of each game server is determined according to the first online number of the game servers, wherein the specific implementation manner of the determination may be that, for example, the difference value between the first online number and the number of online persons that can be borne by the game server is used as the weight of the game server, and the smaller the first online number is, the larger the weight is.
Alternatively, the number of the first online persons may be directly used as the weight of the game server, the smaller the number of the first online persons is, the smaller the weight of the first online persons is, the weight of the first determined game server is not limited in this embodiment, as long as the first online persons is determined according to the number of the first online persons of the game server, the load of the game server can be used as a factor for selecting the game server, and the specific implementation manner of the game server can be selected according to actual needs.
S203, obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition.
The preset condition may be, for example, that the value of the weight is maximum (for example, the smaller the first online population is, the larger the weight is), or may be, for example, that the value of the weight is minimum (for example, the smaller the first online population is, the smaller the weight is), and the specific preset condition may be selected according to the determination manner of the weight, for example, the weight may be larger than the preset value, and the like, which is not limited in this embodiment.
In an alternative implementation manner, the game server with the weight meeting the preset condition is determined as the target game server.
S204, sending the connection information of the target game server to the client, so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
Specifically, after the target game server is determined, the connection information of the target game server is sent to the client if the target game server needs to be registered on the target game server according to the identification of the new user corresponding to the registration information, wherein the connection information includes the connection address of the target game server, the identification of the target game server, and the like, and the client is connected to the target game server according to the connection address of the target game server to complete the registration of the new user, so that the user corresponding to the registration information is allocated to the target game server.
Optionally, before the client connects to the target game server, the client disconnects from the second game server first and then connects to the target game server again.
The server load balancing method provided by the embodiment of the invention is applied to a game server cluster, the game server cluster comprises a plurality of game servers, and the game servers can communicate with each other, and the method comprises the following steps: and judging whether the game data of the user corresponding to the client is empty or not according to the registration information of the client, wherein the registration information comprises the identification of the game server corresponding to the identification of the user. If so, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers. And obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition. And sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server. The weight of each game server is determined according to the first online number of the game servers, and the target game server to be distributed is determined according to the weight, so that new users are registered on the target game servers meeting preset conditions, the users can be distributed according to the online number of the game servers, the number of the users of the game servers is uniformly distributed, the load balance of the game servers is realized, and the resource utilization efficiency is improved.
Based on the foregoing embodiments, the following describes in further detail with reference to fig. 3 and fig. 4, where fig. 3 is a second flowchart of a server load balancing method according to an embodiment of the present invention, and fig. 4 is a second system diagram of the server load balancing method according to the embodiment of the present invention.
As shown in fig. 3, the method includes:
s301, judging whether the game data of the user corresponding to the client is empty or not according to the registration information of the client, wherein the registration information comprises the identification of the game server corresponding to the identification of the user, if so, executing S302, and if not, executing S311.
Specifically, the implementation manner of S301 is similar to that of S201, and details thereof are not repeated here.
S302, detecting whether the number of second online people in the game process changes or not according to a first preset period aiming at any game process, if so, executing S303, and if not, executing S302.
In this embodiment, one game server includes M processes, where the M processes specifically include a single-point process and a plurality of game processes, the single-point process is used to process a first online number of people of the game server, and the game processes are used to process an operation logic of the game server.
Referring to fig. 4, a single point process and a game process are described, as shown in fig. 4, each game server includes a single point process and T game processes, where T is an integer and T may be M-1, where each game process may handle the running logic of multiple servers, that is, a game process may be connected with multiple users, where the single point process is used to handle the number of online users of each process of the game server.
In the following description, an arbitrary game process is taken as an example, and assuming that the game process is 1-1 and the game server where the game process is located is the game server 1, the following operations are performed for all game processes in the present embodiment.
The game process detects whether the number of the second online persons in the game process changes according to a first preset period, where the first preset period may be set to 5 frames, where each frame refers to how often the operation logic of the game server operates every other time, for example, the operation logic may be set to operate every 0.1 second, and then one frame is 0.1 second, or the first preset period may also be directly set to 0.1 second, and the setting manner of the first preset period in this embodiment is not limited.
Specifically, when a user logs in the client, the client selects any one of the corresponding target game server or the randomly selected game server to connect, and the number of the second online persons of the connected game process is increased by one; when the user carries out offline operation through the client or distributes the user to the executed target game server, the game process which is randomly selected at the beginning and used for distributing the target game server to the user is disconnected with the client, and the number of the second online people of the game process corresponding to the offline operation or disconnection is reduced by one.
In this embodiment, whether the second online number of people changes or not is detected according to a first preset period, so that fluctuation of the online number of people caused by a large number of online users or offline users in a short time can be coped with, and resource saving is achieved.
Secondly, if the change of the number of the second online players is not detected, the detection is continuously performed according to a first preset period, in this embodiment, the first preset periods set by the game processes may be the same or different, and each game process is detected according to the respective first preset period, instead of being detected at the same time according to the first preset period, so that the flexibility of the detection is improved.
S303, sending the second online number to the single-point process of the game server where the game process is located.
If the game process detects a change of the number of the second online users, other game processes need to acquire the change of the number of the second online users, and in this embodiment, the single-point process is configured to process the number of the second online users, and then the currently detected number of the second online users is sent to the single-point process of the server where the game process is located, where the sending time may be, for example, sending the change detected at the current frame and sending the change detected at the next frame, or sending the change detected at the current frame directly, which is not limited in this embodiment.
S304, obtaining the first online number of the game servers according to the second online number of the game progresses included in the game servers.
Specifically, the single-point process performs accumulation processing according to the second online number of people of each game process in the game server to obtain the first online number of people of the game server.
The game server where the single-point process is located is the game server 1, the game server corresponds to the game process 1-1 which sends the second online number, and the single-point process processes the second online number sent by each game process in the game server 1 to obtain the first online number of the game server 1.
Specifically, the one-point process may update the second online number of each game progress according to the second online number sent by each game progress, and accumulate the second online number after updating each game progress to obtain the first online number of the game server 1, or the one-point process may obtain a difference value between the second online number currently sent by each game progress and the second online number sent last time, and process the difference value according to the first online number of the game server 1 to obtain the updated first online number of the game server 1.
Optionally, the single-point process may determine the number of the first online persons in real time after receiving the number of the second online persons sent by the game process, or may also be performed periodically according to a preset period, which is not limited herein.
In this embodiment, the single-point process further broadcasts the number of the first online persons of the game server where the single-point process is located to the rest of the game servers according to a second preset period, wherein the second preset period can be selected according to actual requirements, the second preset periods set by the single-point processes can be the same or different, and each single-point process broadcasts according to the second preset period of the single-point process without broadcasting at the same time.
Assuming that the single-point process is a process in the game server 1, the single-point process broadcasts the first online number of people of the game server 1 to the game servers 2, 3, …, N according to a second preset period.
Further, the single-point process obtains the first online number of the game servers according to the first online number broadcasted by the other single-point processes, and sends the first online number of the game servers to the game processes of the game server where the single-point process is located.
Through the broadcasting between the single-point processes and the broadcasting from the single-point processes to the game processes, all the game processes in the game server cluster can acquire the first online number of the game servers, so that the first online number of the game servers can be used as a basis when the target game server is determined.
S305, obtaining the average online number of each game progress in each game server according to the first online number of each game server and the number of the game progress of each game server.
In this embodiment, the number of the first online persons of each game server may be different, but theoretically, the configuration of each game server is the same, and a physical machine of a part of the game servers may be failed, so that the game progress is reduced, and therefore, when the weight of the game server is calculated, the number of the online persons should be measured by using the average number of the online persons of each game progress.
Specifically, the average number of online people per game progress can be calculated according to formula one, for example.
onlie _ num _ per _ gain ═ int (math. ceil (server _ online _ num)/gain _ pro _ num))) formula one
Wherein, onlie _ num _ per _ game is the average online number, server _ online _ num is the first online number of the game progress, and game _ pro _ num is the number of the game progress, and int, math.ceil, and float are all processing functions in programming, and the specific meaning can refer to the description of the prior art.
The embodiment measures the first online number of the game servers through the average online number of the game progresses, avoids the problem that the game progresses of the game servers are different, and improves the reasonability and the correctness of weight determination.
S306, aiming at any game server, judging whether the average online number of the game progresses included in the game server exceeds a first preset threshold value, if so, executing S307, and if not, executing S308.
S307, determining the weight of the game server to be a preset weight.
S308, determining the weight of the game server as the difference value between the average online number of people in the game progress and the first preset threshold value.
Next, S306, S307, and S308 will be described together by taking any game server (assumed to be game server 1) as an example, and the following operations are performed for any game server in the present embodiment.
Specifically, the average number of online users in each game process of the game server 1 is compared with a first preset threshold, where the first preset threshold is the maximum number of online users that can be carried by each game process, and may be estimated according to a pressure test of the game server, and may be set according to actual needs, and the value is not limited here.
In this embodiment, the case that the smaller the number of online users is, the greater the weight is, the greater the probability that the online users are selected is.
In an optional implementation manner, if the average number of online people in each game process exceeds a first preset threshold, it indicates that the average number of online people in each game process has exceeded the number of online people that can be borne by the game process, and to avoid a negative value of the weight, the weight of the game server is determined to be a preset weight, where the preset weight is a minimum value of a value of the weight, so that a probability that the game server is selected is minimum, for example, 1, or 0.1, and a specific implementation manner of the method may be selected according to a setting manner of the weight.
In another alternative implementation manner, if the average number of online persons in the game process does not exceed the first preset threshold, indicating that each process in the game server 1 may also have the capability of bearing the number of online persons, the weight of the game server is determined to be the difference between the average number of online persons in the game process and the first preset threshold, where the smaller the number of online persons in the game server is, the larger the weight is, and the greater the probability of being selected is.
Specifically, the weight may be determined according to the following formula two.
Weight max (GAME _ ONLINE _ NUM _ UPPER-ONLINE _ NUM _ per _ GAME, 1) formula two
Wherein Weight is Weight, GAME _ ONLINE _ NUM _ UPPER is a first preset threshold, ONLINE _ NUM _ per _ GAME is average ONLINE number of people, 1 is a preset Weight (assuming the Weight is 1 at the minimum), and max is a function of taking the maximum value.
In this embodiment, the purpose of calculating the weight by using the difference value is to ensure that when the average number of online users in each process of one game server exceeds a set threshold, the corresponding weight is the lowest, so as to ensure that no new user is allocated to such a full-load game server, and for a newly started game server with the number of online users being 0, the weight is the largest, so as to ensure that users who log in subsequently are allocated to a game server with a lighter load, thereby effectively achieving load balance among the game servers.
Optionally, in this embodiment, after the target game server is determined, specifically, which game process is selected on the target game server to execute the game logic is performed randomly.
S309, obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition.
S310, sending the connection information of the target game server to the client, so that the client is connected with the target game server, wherein the connection information comprises a connection address of the target game server.
The implementation manners of S309 and S310 are similar to those of S203 and S204, and are not described herein again.
S311, acquiring an identifier of a first game server according to the registration information of the client, wherein the first game server is a server where the game data of the user is located.
Optionally, if it is determined that the game data of the user corresponding to the client is not null, it indicates that the user has already registered and is an old user, and a first server where the game data of the user is located is obtained according to the registration information of the client.
In an alternative embodiment, assuming that a registered user has a client replaced, and the user uses a new client device to connect with the game server, the client does not store the registration information of the user, and at this time, the identifier of the first game server may be obtained from the database according to the identifier of the user (such as a game account number, an ID, or a mobile phone number) input by the user.
S312, judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identification of the first game server, if so, executing S313, and if not, executing S314.
S313, the target game server is obtained according to the weight of each game server except the first server.
S314, sending the connection information of the target game server to the client, so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
In an alternative implementation manner, if it is determined that the first game server is turned off or the number of online users of the first game server exceeds a second preset threshold, it may be determined that the first game server is closed or the first game server cannot bear more users, and at this time, a new target game server needs to be allocated to the user.
Specifically, the target game server is obtained according to the weight of each game server except the first server, and the implementation manner of connecting the client to the target game server is similar to the implementation manner for the new user, which is not described herein again.
S315, sending the connection information of the first game server to the client, so that the client is connected with the first game server, wherein the connection information comprises the connection address of the first game server.
In another optional implementation manner, if it is determined that the first game server is not turned off or the number of online users of the first game server does not exceed the second preset threshold, it indicates that the user can normally connect to the first game server, and the user only needs to normally connect according to the connection information of the first game server.
The server load balancing method provided by the embodiment of the invention comprises the following steps: and judging whether the game data of the user corresponding to the client is empty or not according to the registration information of the client, wherein the registration information comprises the identification of the game server corresponding to the identification of the user, if so, detecting whether the number of the second online persons in the game process changes or not according to a first preset period aiming at any game process, and if so, sending the number of the second online persons to the single-point process of the game server in which the game process is located. And obtaining the first online number of the game servers according to the second online number of the game progresses included in the game servers. And obtaining the average online number of each game progress in each game server according to the first online number of each game server and the number of the game progresses of each game server. And judging whether the average online number of the online people in each game process included by any game server exceeds a first preset threshold, and if so, determining the weight of the game server to be a preset weight. If not, determining the weight of the game server as the difference value between the average online number of the game progress and the first preset threshold value. And obtaining a target game server according to the weight of each game server, wherein the target game server is the game server with the weight meeting the preset condition. And sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server. And if the game data of the user corresponding to the client is determined not to be empty, acquiring the identifier of the first game server according to the registration information of the client, wherein the first game server is the server where the game data of the user is located. And judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identifier of the first game server, and if so, obtaining a target game server according to the weight of each game server except the first server. And sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server. If not, the connection information of the first game server is sent to the client, so that the client is connected with the first game server, wherein the connection information comprises the connection address of the first game server.
The single-point process is arranged to process the data of the first online number, and the data is broadcasted to other single-point processes and the corresponding game process, so that the timely broadcasting of the first online number can be realized, the communication traffic of the broadcasting can be effectively reduced, and the resources of the game server are saved. And secondly, calculating a difference value through the average online number of the game servers and a first preset threshold value to obtain the weight of the corresponding game server, and distributing the target game server for the user by using the weight, thereby effectively ensuring the balance of the online number of the game servers.
Fig. 5 is a schematic structural diagram of a server load balancing apparatus according to an embodiment of the present invention. As shown in fig. 5, the apparatus 50 includes: a judging module 501, an obtaining module 502, a determining module 503 and a sending module 504.
A judging module 501, configured to judge whether game data of a user corresponding to a client is empty according to registration information of the client, where the registration information includes an identifier of a game server corresponding to an identifier of the user;
an obtaining module 502, configured to obtain the first online number of the game servers and obtain the weight of each game server according to the first online number of the game servers;
a determining module 503, configured to obtain a target game server according to the weight of each game server, where the target game server is a game server whose weight meets a preset condition;
a sending module 504, configured to send connection information of the target game server to the client, so that the client connects to the target game server, where the connection information includes a connection address of the target game server.
In one possible design, the game server includes a single point process for handling a first online population of the game server and a plurality of game processes for handling the execution logic of the game server.
In one possible design, the obtaining module 502 is specifically configured to:
detecting whether the number of second online people in the game process changes or not according to a first preset period aiming at any game process;
if so, sending the second online number to the single-point process of the game server where the game process is located;
obtaining the first online number of the game servers according to the second online number of the game processes included by the game servers;
the weight of each game server is obtained according to the first online number of people of each game server.
In one possible design, the obtaining module 502 is specifically configured to:
the single-point process carries out accumulation processing according to the second online number of people of each game process in the game server to obtain the first online number of people of the game server;
the single-point process obtains the first online number of the game servers according to the first online number broadcasted by the rest single-point processes, and sends the first online number of the game servers to the game processes of the game server where the single-point process is located.
In one possible design, the first online number and the weight are in a negative correlation relationship, and the preset condition is that the weight is maximum;
the obtaining module 502 is specifically configured to:
obtaining the average online number of each game process in each game server according to the first online number of each game server and the number of the game processes of each game server;
aiming at any game server, judging whether the average online number of the game processes included in the game server exceeds a first preset threshold value or not;
if so, determining the weight of the game server as a preset weight;
if not, determining the weight of the game server as the difference value between the average online number of the game progress and the first preset threshold value.
In a possible design, if the game data of the user is not empty, the obtaining module 502 is further configured to:
acquiring an identifier of a first game server according to the registration information of the client, wherein the first game server is a server where game data of a user is located;
judging whether the first game server is closed or whether the number of online people of the first game server exceeds a second preset threshold value according to the identification of the first game server;
if yes, obtaining a target game server according to the weight of each game server except the first server;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
In one possible design, the determining module 501 is specifically configured to:
judging whether the registration information of the client corresponds to the game server or whether the corresponding game server exists according to the registration information of the client;
if not, randomly selecting a second game server, and randomly selecting a first process on the second game server;
creating a login logic object according to the first process, and acquiring game data of a user according to the login logic object, wherein the login logic object is used for executing login operation of a game;
and judging whether the game data of the user is empty or not.
The apparatus provided in this embodiment may be used to implement the technical solutions of the above method embodiments, and the implementation principles and technical effects are similar, which are not described herein again.
Fig. 6 is a schematic diagram of a hardware structure of a server load balancing device according to an embodiment of the present invention, and as shown in fig. 6, a server load balancing device 60 according to the embodiment includes: a processor 601 and a memory 602; wherein
A memory 602 for storing computer-executable instructions;
the processor 601 is configured to execute the computer execution instructions stored in the memory to implement the steps performed by the server load balancing method in the foregoing embodiments. Reference may be made in particular to the description relating to the method embodiments described above.
Alternatively, the memory 602 may be separate or integrated with the processor 601.
When the memory 602 is separately provided, the server load balancing apparatus further includes a bus 603 for connecting the memory 602 and the processor 601.
The embodiment of the present invention further provides a computer-readable storage medium, where a computer execution instruction is stored in the computer-readable storage medium, and when a processor executes the computer execution instruction, the server load balancing method executed by the server load balancing device is implemented.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the modules is only one logical division, and other divisions may be realized in practice, for example, a plurality of modules may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or modules, and may be in an electrical, mechanical or other form.
The integrated module implemented in the form of a software functional module may be stored in a computer-readable storage medium. The software functional module is stored in a storage medium and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute some steps of the methods according to the embodiments of the present application.
It should be understood that the Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the present invention may be embodied directly in a hardware processor, or in a combination of the hardware and software modules within the processor.
The memory may comprise a high-speed RAM memory, and may further comprise a non-volatile storage NVM, such as at least one disk memory, and may also be a usb disk, a removable hard disk, a read-only memory, a magnetic or optical disk, etc.
The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, the buses in the figures of the present application are not limited to only one bus or one type of bus.
The storage medium may be implemented by any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (14)

1. A server load balancing method applied to a game server cluster, wherein the game server cluster comprises a plurality of game servers, and the game servers communicate with each other, the method comprising:
the method comprises the steps that a first process judges whether game data of a user corresponding to a client is empty or not according to registration information of the client, wherein the registration information comprises an identifier of a game server corresponding to the identifier of the user, and the first process is a process randomly selected from a second game server which is randomly selected;
if so, acquiring the first online number of the game servers, and obtaining the weight of each game server according to the first online number of the game servers;
obtaining a target game server according to the weight of each game server, wherein the target game server is the game server of which the weight meets a preset condition, and the preset condition is that the weight is the maximum;
sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises a connection address of the target game server;
the game server comprises a single-point process, wherein the single-point process is used for determining a first online number of the game server and broadcasting the first online number to the single-point processes of the rest of the game servers of the game server cluster, and the single-point process is also used for receiving the single-point processes of the rest of the game servers of the game server cluster and the broadcasted first online number of the rest of the game servers and broadcasting the first online number of each game server of the game server cluster to the game processes of the game servers;
the obtaining of the weight of each game server according to the first online number of the game servers comprises:
obtaining the average online number of each game process in each game server according to the first online number of each game server and the number of the game processes of each game server;
aiming at any game server, judging whether the average online number of the game processes included in the game server exceeds a first preset threshold value or not;
if so, determining the weight of the game server as a preset weight;
if not, determining the weight of the game server as the difference between the first preset threshold and the average online number of people in the game process.
2. The method of claim 1, wherein the game server further comprises a plurality of game processes, wherein the game processes are used to process running logic of the game server.
3. The method of claim 2, wherein obtaining the first online number for each of the game servers comprises:
aiming at any game process, detecting whether the number of second online people in the game process changes or not according to a first preset period;
if so, sending the second online number of people to a single-point process of a game server where the game process is located;
and obtaining the first online number of each game server according to the second online number of each game process included by each game server.
4. The method of claim 3, wherein obtaining the first online population for each of the game servers based on the second online population for each of the game processes included in each of the game servers comprises:
the single-point process carries out accumulation processing according to the second online number of the game processes in the game server to obtain the first online number of the game server;
and the single-point process obtains the first online number of the game servers according to the first online number broadcasted by other single-point processes, and sends the first online number of the game servers to each game process of the game server where the single-point process is located.
5. The method of claim 1, wherein if the user's game data is not empty, the method further comprises:
acquiring an identifier of a first game server according to registration information of a client, wherein the first game server is a server where game data of a user is located;
judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identifier of the first game server;
if yes, obtaining a target game server according to the weight of each game server except the first server;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
6. The method according to claim 1, wherein the determining whether the game data of the user corresponding to the client is empty according to the registration information of the client comprises:
judging whether the registration information of the client corresponds to a game server or whether the corresponding game server exists according to the registration information of the client;
if not, randomly selecting a second game server, and randomly selecting a first process on the second game server;
creating a login logic object according to the first process, and acquiring game data of the user according to the login logic object, wherein the login logic object is used for executing login operation of a game;
and judging whether the game data of the user is empty or not.
7. A server load balancing apparatus applied to a game server cluster including a plurality of game servers, wherein the game servers communicate with each other, the apparatus comprising:
the system comprises a judging module, a first process and a second process, wherein the judging module is used for judging whether game data of a user corresponding to a client is empty or not according to registration information of the client, the registration information comprises an identifier of a game server corresponding to the identifier of the user, and the first process is a process randomly selected from a second game server randomly selected;
the obtaining module is used for obtaining the first online number of the game servers and obtaining the weight of each game server according to the first online number of the game servers if the first online number of the game servers is positive;
the determining module is used for obtaining a target game server according to the weight of each game server, wherein the target game server is the game server of which the weight meets a preset condition, and the preset condition is that the weight is the maximum;
a sending module, configured to send connection information of the target game server to the client, so that the client connects to the target game server, where the connection information includes a connection address of the target game server;
the game server comprises a single-point process, wherein the single-point process is used for determining a first online number of the game server and broadcasting the first online number to the single-point processes of the rest of the game servers of the game server cluster, and the single-point process is also used for receiving the single-point processes of the rest of the game servers of the game server cluster and the broadcasted first online number of the rest of the game servers and broadcasting the first online number of each game server of the game server cluster to the game processes of the game servers;
the acquisition module is specifically configured to:
obtaining the average online number of each game process in each game server according to the first online number of each game server and the number of the game processes of each game server;
aiming at any game server, judging whether the average online number of the game processes included in the game server exceeds a first preset threshold value or not;
if so, determining the weight of the game server as a preset weight;
if not, determining the weight of the game server as the difference between the first preset threshold and the average online number of people in the game process.
8. The apparatus of claim 7, wherein the game server further comprises a plurality of game processes, wherein the game processes are configured to process running logic of the game server.
9. The apparatus of claim 8, wherein the obtaining module is specifically configured to:
aiming at any game process, detecting whether the number of second online people in the game process changes or not according to a first preset period;
if so, sending the second online number of people to a single-point process of a game server where the game process is located;
and obtaining the first online number of each game server according to the second online number of each game process included by each game server.
10. The apparatus of claim 9, wherein the obtaining module is specifically configured to:
the single-point process carries out accumulation processing according to the second online number of the game processes in the game server to obtain the first online number of the game server;
and the single-point process obtains the first online number of the game servers according to the first online number broadcasted by other single-point processes, and sends the first online number of the game servers to each game process of the game server where the single-point process is located.
11. The apparatus of claim 7, wherein if the user's game data is not null, the obtaining module is further configured to:
acquiring an identifier of a first game server according to registration information of a client, wherein the first game server is a server where game data of a user is located;
judging whether the first game server is closed or whether the number of the online people of the first game server exceeds a second preset threshold value according to the identifier of the first game server;
if yes, obtaining a target game server according to the weight of each game server except the first server;
and sending the connection information of the target game server to the client so that the client is connected with the target game server, wherein the connection information comprises the connection address of the target game server.
12. The apparatus of claim 7, wherein the determining module is specifically configured to:
judging whether the registration information of the client corresponds to a game server or whether the corresponding game server exists according to the registration information of the client;
if not, randomly selecting a second game server, and randomly selecting a first process on the second game server;
creating a login logic object according to the first process, and acquiring game data of the user according to the login logic object, wherein the login logic object is used for executing login operation of a game;
and judging whether the game data of the user is empty or not.
13. A server load balancing device, comprising:
a memory for storing a program;
a processor for executing the program stored by the memory, the processor being configured to perform the method of any of claims 1 to 6 when the program is executed.
14. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of any one of claims 1 to 6.
CN201910475735.2A 2019-06-03 2019-06-03 Server load balancing method and device Active CN110209500B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910475735.2A CN110209500B (en) 2019-06-03 2019-06-03 Server load balancing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910475735.2A CN110209500B (en) 2019-06-03 2019-06-03 Server load balancing method and device

Publications (2)

Publication Number Publication Date
CN110209500A CN110209500A (en) 2019-09-06
CN110209500B true CN110209500B (en) 2022-04-15

Family

ID=67790423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910475735.2A Active CN110209500B (en) 2019-06-03 2019-06-03 Server load balancing method and device

Country Status (1)

Country Link
CN (1) CN110209500B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855708B (en) 2019-11-26 2021-06-11 上海莉莉丝科技股份有限公司 Game server architecture
CN111190915B (en) * 2020-01-02 2023-05-16 腾讯科技(深圳)有限公司 Prop identification or role identification determining method, server and storage medium
CN111318023B (en) * 2020-02-17 2023-04-14 网易(杭州)网络有限公司 Game data processing method and device, storage medium and electronic equipment
CN112274914A (en) * 2020-10-29 2021-01-29 西安万像电子科技有限公司 Method for realizing exclusive game, device for realizing exclusive game and cloud game system
CN112650730B (en) * 2020-12-18 2022-01-04 完美世界(重庆)互动科技有限公司 Game data migration method and device, storage medium and computer equipment
CN113422969B (en) * 2021-05-25 2023-08-08 北京达佳互联信息技术有限公司 Information pulling method, device and server
CN113304470A (en) * 2021-05-26 2021-08-27 网易(杭州)网络有限公司 Virtual role cross-service method, equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873457A (en) * 2012-12-17 2014-06-18 人人游戏网络科技发展(上海)有限公司 Method and equipment for balancing loads among game servers
US20150248813A1 (en) * 2013-03-15 2015-09-03 Gamesys Ltd. Methods and systems for a bonus round of a game which provides for player influence of volatility
CN106850789A (en) * 2017-01-22 2017-06-13 杭州碧游信息技术有限公司 Game player's dynamic allocation system and method based on server load detection
CN107070716A (en) * 2017-04-14 2017-08-18 腾讯科技(深圳)有限公司 Game server state acquiring method, device, electronic equipment and storage medium
CN107846457A (en) * 2017-10-26 2018-03-27 广州市雷军游乐设备有限公司 Load-balancing method, device, storage medium and the system of server cluster
CN109200579A (en) * 2018-09-28 2019-01-15 珠海沙盒网络科技有限公司 A kind of game server framework optimization method and system
CN109600402A (en) * 2017-09-30 2019-04-09 上海波克城市网络科技股份有限公司 Server load balancing method and device, storage medium, server, service system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873457A (en) * 2012-12-17 2014-06-18 人人游戏网络科技发展(上海)有限公司 Method and equipment for balancing loads among game servers
US20150248813A1 (en) * 2013-03-15 2015-09-03 Gamesys Ltd. Methods and systems for a bonus round of a game which provides for player influence of volatility
CN106850789A (en) * 2017-01-22 2017-06-13 杭州碧游信息技术有限公司 Game player's dynamic allocation system and method based on server load detection
CN107070716A (en) * 2017-04-14 2017-08-18 腾讯科技(深圳)有限公司 Game server state acquiring method, device, electronic equipment and storage medium
CN109600402A (en) * 2017-09-30 2019-04-09 上海波克城市网络科技股份有限公司 Server load balancing method and device, storage medium, server, service system
CN107846457A (en) * 2017-10-26 2018-03-27 广州市雷军游乐设备有限公司 Load-balancing method, device, storage medium and the system of server cluster
CN109200579A (en) * 2018-09-28 2019-01-15 珠海沙盒网络科技有限公司 A kind of game server framework optimization method and system

Also Published As

Publication number Publication date
CN110209500A (en) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110209500B (en) Server load balancing method and device
US20210218842A1 (en) Method, device, server and storage medium of agent allocation
CN111338774B (en) Distributed timing task scheduling system and computing device
CN107679718B (en) List allocation method, apparatus and computer-readable storage medium
US10846186B2 (en) Central processing unit CPU hot-remove method and apparatus, and central processing unit CPU hot-add method and apparatus
CN111282262B (en) Game server communication method and device
CN109766172B (en) Asynchronous task scheduling method and device
CN111078369B (en) Virtual machine distribution method and device under cloud computer and server
CN111124687B (en) CPU resource reservation method, device and related equipment
CN109802986B (en) Equipment management method, system, device and server
CN110933178B (en) Method for adjusting node configuration in cluster system and server
CN111176803A (en) Service processing method, device, server and storage medium
CN114756347A (en) Cluster-based server resource scheduling method and device, cloud platform and medium
CN110062027A (en) Load-balancing method, central server and terminal device
CN110147277B (en) Dynamic resource deployment method and device, server and storage medium
CN112269628A (en) Resource scheduling system and method
CN110162404B (en) Method, system, equipment and computer medium for distributing resources of secure resource pool
CN109819023B (en) Distributed transaction processing method and related product
CN108073408A (en) The method for updating system and device of self-aided terminal
CN108718327B (en) License resource scheduling method and system
CN111249747B (en) Information processing method and device in game
CN109697117B (en) Terminal control method, terminal control device and computer-readable storage medium
CN111049750B (en) Message forwarding method, system and equipment
CN113535402A (en) Load balancing processing method and device based on 5G MEC and electronic equipment
CN109241053B (en) Identification code allocation method, device and server

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant