KR20140024623A - System and method for processing game, and recording medium - Google Patents

System and method for processing game, and recording medium Download PDF

Info

Publication number
KR20140024623A
KR20140024623A KR1020120090831A KR20120090831A KR20140024623A KR 20140024623 A KR20140024623 A KR 20140024623A KR 1020120090831 A KR1020120090831 A KR 1020120090831A KR 20120090831 A KR20120090831 A KR 20120090831A KR 20140024623 A KR20140024623 A KR 20140024623A
Authority
KR
South Korea
Prior art keywords
game
processing
server
server system
logic
Prior art date
Application number
KR1020120090831A
Other languages
Korean (ko)
Inventor
박선용
Original Assignee
(주)네오위즈게임즈
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 (주)네오위즈게임즈 filed Critical (주)네오위즈게임즈
Priority to KR1020120090831A priority Critical patent/KR20140024623A/en
Publication of KR20140024623A publication Critical patent/KR20140024623A/en

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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

An operating method for game processing of a game server system according to the present invention includes the steps of: separating, by the game server system, logic for game processing into data and processing logic; Equally placing the processing logic in distributed servers; And sequentially processing the game process in parallel through the disposed processing logic and the circular buffer.

Description

Operation method, system and recording medium for game processing {SYSTEM AND METHOD FOR PROCESSING GAME, AND RECORDING MEDIUM}

The present invention relates to an operation method, a system and a recording medium for game processing of a game server system, and more particularly, to a game server system designed and introduced to improve processing performance, scalability and adaptability for processing a game. It relates to an operation method, a system and a recording medium for game processing.

In game server system environment, scalability and high availability are important issues as system is getting bigger. One of the important functions of the game server system is to perform load balancing through appropriate scheduling algorithms so as not to concentrate the load on specific servers within the game server system.

Therefore, the selection of an appropriate algorithm has a great influence on the performance of the game server, and the problem of selecting the criteria used therein becomes an important function of load distribution.

A game server such as Massively Multiplayer Online Role Playing Game (MMORPG) has one game world server, which can be divided into multiple zone servers.

The reason why the game world server is divided into a plurality of zone servers is because a storage location capable of storing a large number of user information in one world in real time is a problem, and the load is distributed through the division.

However, in general, there is a risk of losing game delays or important game information due to separation of data between game users according to world division, and administrators may face difficulties in management. Problems occurred with the processing performance.

Accordingly, the problem to be solved by the present invention is to provide an operating method, a system and a recording medium for the game processing of the game server system to improve the processing performance, scalability and adaptability of processing the game while solving the above-mentioned problems. I will.

An operation method for game processing of a game server system according to an embodiment of the present invention includes the steps of: separating the logic for game processing into data and processing logic; Equally placing the processing logic in distributed servers; And sequentially processing the game process in parallel through the disposed processing logic and the circular buffer.

In addition, the processing logic disposed in the distributed servers in the deploying step is characterized in that it is isolated so as not to influence each other.

Also, before the separating, the game server for game processing included in the game server system is recognized as one game world server and divided into n zone servers; And allocating a game processing area of the n zone servers.

In addition, the disposing may include disposing the processing logic equally to the n zone servers.

In addition, the parallel processing may correspond to sequentially processing the game processing through the processing logic and the circular buffer in which the n zone servers are arranged.

In addition, the circular buffer is characterized in that the processing logic and the preprocessor is configured.

Also, before the separating, the method may include: configuring a game server for game processing included in the game server system with two or more distributed servers; And DB clustering the distributed servers.

In addition, the DB clustering is characterized in that the DB clustering using MySQL Cluster or NoSQL.

In addition, the NoSQL is characterized in that it includes Cassandra, MongoDB, CouchDB and Redis.

In the game server system for game processing according to an embodiment of the present invention, a game server for game processing included in the game server system is recognized as one game world server, and the game world server is divided so that a game processing area is allocated. Two or more zone servers; And a DB server storing game related data provided by the game server system.

In addition, the logic for processing the game is divided into data and processing logic and is equally disposed in the zone servers.

In addition, the zone servers are characterized by sequentially processing the game processing through the processing logic and the circular buffer arranged.

In addition, the processing logic disposed in the zone servers are isolated so as not to influence each other.

In addition, the DB server, a game log DB server for storing a game log; And a game main DB server storing game related data except the game log in a physically separated memory.

The DB server may perform DB clustering on data of the zone servers.

The game main DB server may correspond to a MySQL cluster server, and the game log DB server may correspond to a Cassandra server.

According to an embodiment of the present invention, a recording medium includes a game server system recognizing a game server for game processing included in the game server system as one game world server and dividing the game server into n zone servers; Allocating a game processing area of the n zone servers; Separating logic for game processing into data and processing logic; Equally placing the processing logic in the n zone servers; And sequentially performing parallel processing of the game processing through the processing logic and the circular buffer in which the n zone servers are arranged, to implement an operation method for a game processing of a game server system. Record it.

According to the operation method for the game processing of the game server system, the system and the recording medium according to the present invention, it has the effect of simultaneously processing a low delay and massive user data.

According to the operation method for the game processing of the game server system, the system and the recording medium according to the present invention, it has the effect of improving the processing performance, scalability and adaptability to process the game.

BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a view showing a game server system according to an embodiment of the present invention.
2 is a diagram for explaining DB clustering.
3 illustrates a circular buffer according to an embodiment of the present invention.
4 is a diagram illustrating a first game world server and a DB server according to an embodiment of the present invention.
5 is a flowchart illustrating an operating method for game processing of a game server system according to an exemplary embodiment of the present invention.
6 is a flowchart illustrating an operating method for game processing of a game server system according to another exemplary embodiment of the present invention.

Hereinafter, the present invention will be described more specifically with reference to the accompanying drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. The following examples are intended to illustrate the present invention and should not be construed as limiting the scope of the present invention. Accordingly, equivalent inventions performing the same functions as the present invention are also within the scope of the present invention.

In the following description, the same reference numerals denote the same components, and unnecessary redundant explanations and descriptions of known technologies will be omitted.

In the following description, "server" refers to a server computer to which users access to use game contents. In the case of a game having a small capacity or a small number of users, a plurality of game programs can be operated in one game server. In addition, in the case of a game having a very large capacity or a large number of real-time connections, there may be one or more game servers for operating one game depending on the functions of the game.

In addition, the server may be further connected to the server that performs the middleware or payment processing for the database, the description thereof will be omitted in the present invention.

1 is a view showing a game server system according to an embodiment of the present invention. The game server system 100 may include a world server 110, an authentication server 120, a lobby server 130, other servers 140, a first game world server 150, a second game world server 160, and DB server 170 is included.

Here, the game server system 100 may include two or more game world servers, and the first game world server 150 and the second game world server 160 each include a plurality of zone servers 151 to 15n. , 161 to 16n).

Referring to FIG. 1, the world server 110 is connected to the authentication server 120, the lobby server 130, the other server 140, the first game world server 150, and the second game world server by a network relationship. It manages and relays the connection of 160, observes the entire world information, and performs functions such as assigning and managing commands according to the situation and allocating processing areas of the zone servers 151 to 15n and 161 to 16n.

The authentication server 120 authenticates a user and processes a request.

The lobby server 130 performs various lobby processes when the user plays a game. For example, the rover server 130 may perform a user authentication process when the user accesses to play a game, and performs a function of guiding the member to the game when it is confirmed that the user is a member through authentication.

The first game world server 150 and the second game world server 160 process a portion of the game world allocated by the world server 110, and each of the zone servers 151-15n and 161-16n each has its own. It handles the user's request existing in the server and manages the neighbor information of another zone server adjacent to itself.

The DB server 170 is configured with a general database server device, etc., and can manage various data necessary for providing a game. For example, the DB server 170 may store and manage various types of information, including game user IDs, passwords, billing information, e-mail and game-related logic, game-related data, and messages.

The other server 140 is the above-mentioned world server 110, authentication server 120, lobby server 130, the first game world server 150, the second game world server 160 and DB server 170 Management for other functions (e.g., functions related to chatting between users, teaming of users in a game, etc.) other than the functions performed by the "

In FIG. 1, the reason for the existence of the multiple zone servers 151 to 15n and 161 to 16n is divided into a storage location capable of storing a large number of user information in one game world server in real time, and load balancing. This is to compensate for the limitation on server capacity size.

Since the game server system 100 for a game (especially the Massive Multiplayer Online Role Playing Game) has a very low latency and a large number of users, the game server system 100 should be designed for performance and scalability to co-process them. do.

In particular, since the game server system 100 for RPG-based games has a high update rate, it is necessary to implement the game server system 100 using DB clustering in the distributed case as described above.

Here, DB clustering distributes the usage from one server to multiple servers and processes the same data without difficulty even if many requests are received at once. And the user's requests are evenly distributed so that efficient work can be achieved.

2 illustrates DB clustering. Referring to FIG. 2, MySQL Cluster and NoSQL (eg, Cassandra, MongoDB, CouchDB, Redis, etc.) may be used for DB clustering.

MySQL Cluster is a horizontally-scalable memory database that performs parallel loads of data in physically separate memory and is highly available.

In the case of Cassandra, the write operation is much faster than the read operation, so it is suitable for storing game logs, is suitable for storing uncomplicated log data, and has high performance even in a low-spec system, and in MongoDB, It can replace MySQL, has high queuing speed, and has the advantage of relatively dynamic query.

In the case of CouchDB, it is advantageous when data accumulation occurs mainly and relatively few changes are made. In the case of Redis, it is suitable when data changes rapidly in a database of predictable size.

In addition, the game server system 100 may separate the server logic for game processing into data and processing logic, and the processing logic may be equally arranged on all servers of the game server system 100, Each processing logic can be isolated so that it does not affect each other.

In the case of the game server system 100, a queue of a limited size of a predetermined size is declared due to a memory problem, and the processing cost of a consumer and a producer is different, and thus the cost of the lock becomes high because the queue is full or empty.

In addition, as the number of access requests to the game server system 100 increases, the lock cost becomes high, and programming of concurrency processing using the lock function is also very difficult.

Therefore, increasing performance and development difficulty in multi-thread for concurrency processing is a problem related to such a queue. A circular buffer is used for concurrency processing while maintaining multi-thread.

3 illustrates a circular buffer according to an embodiment of the present invention. Referring to FIG. 3, the circular buffer 200 may include a plurality of producers and a plurality of consumers, and may perform various tasks including data processing, storage, and classification between producing and consuming. .

For example, a producer may store data in consecutive places in an array of circular buffers 200, and consumers may read this data in the input order, each of which may identify each other's current location.

4 is a diagram illustrating a first game world server and a DB server according to an embodiment of the present invention. Referring to FIG. 4, the DB server 170 includes a game main DB server 172 and a game log DB server 174. Although the first game world server 150 is illustrated as including only zone server 1 151 and zone server 2 152, the first game world server 150 may include two or more zone servers.

The circular buffer 200 may be used in each of the zone server 1 151 and the zone server 2 152, and a game logic processing process and a preprocessor may be configured therein, and most data may be generated in real time. It can be stored and horizontally expanded.

Through the game logic processing process, data classification may be performed for each processing service (eg, inventory processing, message processing, purchase processing, etc.), and data inspection, logic distribution, and message routing may be performed through a preprocessor.

In this case, the game logic processing process may correspond to a sequential process. In this case, the preprocessor may correspond to performing preprocessing or preliminary calculation for game logic processing.

For example, each of the zone server 1 151 and the zone server 2 152 may store the game related logic, inventory processing, distance calculation, message processing, etc. using the circular buffer 200.

The game main DB server 172 may be implemented with the MySQL cluster described in FIG. 2, and may perform parallel loading of game related data except game logs in a physically separated memory.

The game log DB server 174 stores a game log and may be implemented as Cassandra for storing the game log, but the scope of the present invention is not limited thereto.

5 is a flowchart illustrating an operating method for game processing of a game server system according to an exemplary embodiment of the present invention. The operation method for the game processing may be performed by the game server system 100 shown in FIG.

Referring to FIG. 5, a game server for game processing included in the game server system 100 is recognized as one game world server 150 or 160, which is n zone servers 151 to 15n or 161 to. 16n) (S110).

Thereafter, the game processing area of the n zone servers 151 to 15n or 161 to 16n is allocated (S120).

Next, the game server system 100 separates logic for game processing into data and processing logic (S130), and arranges the processing logic in the n zone servers in the same manner (S140). In this case, the processing logic disposed in the n zone servers may be isolated so as not to influence each other.

Thereafter, the game processing is sequentially performed in parallel through the processing logic and the circular buffer in which the n zone servers are arranged (S150). In this case, the circular buffer may be configured with the processing logic and the preprocessor, and the circular buffer may be configured to perform concurrency processing while maintaining multiple threads.

6 is a flowchart illustrating an operating method for game processing of a game server system according to another exemplary embodiment of the present invention. The operation method for the game processing may be performed by the game server system 100 shown in FIG.

Referring to FIG. 6, a game server for game processing included in the game server system 100 is configured with two or more distributed servers (S210).

Next, DB clustering of the distributed servers (S220). In this case, the DB clustering may include DB clustering using MySQL Cluster or NoSQL, and the NoSQL may include Cassandra, MongoDB, CouchDB, and Redis.

The game server system 100 separates logic for game processing into data and processing logic (S230), and arranges the processing logic in the distributed servers in the same manner (S240).

Thereafter, the game server system 100 sequentially processes the game process in parallel through the disposed processing logic and the circular buffer (S250).

It is to be understood that the terms "comprises", "comprising", or "having" as used in the foregoing description mean that the constituent element can be implanted unless specifically stated to the contrary, But should be construed as further including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like. (E.g., transmission over the Internet).

The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

Game Server System (100)
World server (110)
Authentication server (120)
Lobby Server (130)
Other Servers (140)
First game world server 150
Zone servers (151-15n, 161-16n)
Second game world server 160
DB server (170)
Game Main DB Server (172)
Game log DB server (174)

Claims (16)

In the operation method for the game processing of the game server system,
Game server system,
Separating logic for game processing into data and processing logic;
Equally placing the processing logic in distributed servers; And
And sequentially processing the game process in parallel through the disposed processing logic and the circular buffer.
The method of claim 1,
And the processing logic disposed in the distributed servers in the deploying step is isolated so as not to influence each other.
The method of claim 1,
Prior to the separating step,
Recognizing a game server for game processing included in the game server system as one game world server, and dividing it into n zone servers; And
And allocating a game processing area of the n zone servers.
The method of claim 3,
Wherein the disposing comprises:
And arranging the processing logic equally to the n zone servers.
5. The method of claim 4,
The parallel processing step,
Corresponds to the step of sequentially processing the game processing through the processing logic and the circular buffer in which the n zone servers are arranged,
And the processing logic and the preprocessor are configured in the circular buffer.
The method of claim 1,
Prior to the separating step,
Configuring a game server for game processing included in the game server system with two or more distributed servers; And
DB clustering the distributed server further comprises the operation method for the game processing of the game server system.
The method according to claim 6,
The DB clustering step,
Operation method for game processing of a game server system, characterized in that DB clustering step using MySQL Cluster or NoSQL.
8. The method of claim 7,
The NoSQL operating method for the game processing of the game server system comprising Cassandra, MongoDB, CouchDB and Redis.
In the game server system for game processing,
Two or more zone servers in which a game server for game processing included in the game server system is recognized as one game world server, and the game world server is divided to allocate a game processing area; And
DB server for storing the game-related data provided by the game server system,
The logic for processing the game is divided into data and processing logic and is identically disposed in the zone servers.
And said zone servers sequentially process said game process through said disposed processing logic and circular buffer.
10. The method of claim 9,
And said processing logic disposed in said zone servers are isolated so as not to influence each other.
11. The method of claim 10,
The DB server,
A game log DB server for storing game logs; And
And a game main DB server for storing game related data except the game log in a physically separated memory.
12. The method of claim 11,
The DB server is a game server system for the game processing, characterized in that for performing DB clustering on the data of the zone servers.
The method of claim 12,
The game main DB server,
Game server system for game processing, characterized in that corresponding to the MySQL cluster server.
14. The method of claim 13,
The game log DB server,
Game server system for game processing, characterized in that corresponding to the Cassandra server.
10. The method of claim 9,
And the processing logic and the preprocessor are configured in the circular buffer.
Game server system,
Recognizing a game server for game processing included in the game server system as one game world server, and dividing it into n zone servers;
Allocating a game processing area of the n zone servers;
Separating logic for game processing into data and processing logic;
Equally placing the processing logic in the n zone servers; And
And sequentially executing the game processing in parallel through the processing logic and the circular buffer in which the n zone servers are arranged. The program for implementing the operation method for the game processing of the game server system is recorded. Computer-readable recording media.
KR1020120090831A 2012-08-20 2012-08-20 System and method for processing game, and recording medium KR20140024623A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120090831A KR20140024623A (en) 2012-08-20 2012-08-20 System and method for processing game, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120090831A KR20140024623A (en) 2012-08-20 2012-08-20 System and method for processing game, and recording medium

Publications (1)

Publication Number Publication Date
KR20140024623A true KR20140024623A (en) 2014-03-03

Family

ID=50640170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120090831A KR20140024623A (en) 2012-08-20 2012-08-20 System and method for processing game, and recording medium

Country Status (1)

Country Link
KR (1) KR20140024623A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965850A (en) * 2015-04-29 2015-10-07 云南电网有限责任公司 Database high-available implementation method based on open source technology
CN106390453A (en) * 2016-08-31 2017-02-15 腾讯科技(深圳)有限公司 Game system and game processing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965850A (en) * 2015-04-29 2015-10-07 云南电网有限责任公司 Database high-available implementation method based on open source technology
CN104965850B (en) * 2015-04-29 2018-01-30 云南电网有限责任公司 A kind of database high availability implementation method based on open source technology
CN106390453A (en) * 2016-08-31 2017-02-15 腾讯科技(深圳)有限公司 Game system and game processing method
CN106390453B (en) * 2016-08-31 2019-07-05 腾讯科技(深圳)有限公司 A kind of game system and game processing method

Similar Documents

Publication Publication Date Title
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
CN102402458B (en) Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores
US10733019B2 (en) Apparatus and method for data processing
US8782649B2 (en) Real-time scheduling of task sets and determination of task sets based on verified weight, cache hit radio of the tasks and available processing cores
Fang et al. Parallel stream processing against workload skewness and variance
US20150106823A1 (en) Mobile Coprocessor System and Methods
US20120047514A1 (en) Scheduling system and method of efficiently processing applications
WO2014194695A1 (en) Method and server for pvp team matching in computer games
CN102646152B (en) A kind of map changing method and system
CN105786603B (en) Distributed high-concurrency service processing system and method
CN103516807A (en) Cloud computing platform server load balancing system and method
JP2022513869A (en) Massive Multiplayer Comp
CN107515781B (en) Deterministic task scheduling and load balancing system based on multiple processors
US11392414B2 (en) Cooperation-based node management protocol
US20170249213A1 (en) Risk based rebuild of data objects in an erasure coded storage system
US10747764B1 (en) Index-based replica scale-out
CN108241531A (en) A kind of method and apparatus for distributing resource for virtual machine in the cluster
CN109218385B (en) Method and device for processing data
Liu et al. Runtime‐aware adaptive scheduling in stream processing
CN114968566A (en) Container scheduling method and device under shared GPU cluster
CN101908004A (en) Promote the apparatus and method that request is carried out
WO2023107283A1 (en) Network storage game allocation based on artificial intelligence
KR20140024623A (en) System and method for processing game, and recording medium
CN111459626A (en) Method and device for realizing non-branching seamless game world
CN107800741B (en) MMORPG server architecture

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application