CN114470746A - 服务器系统、数据传输方法、装置、设备及存储介质 - Google Patents

服务器系统、数据传输方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114470746A
CN114470746A CN202210124905.4A CN202210124905A CN114470746A CN 114470746 A CN114470746 A CN 114470746A CN 202210124905 A CN202210124905 A CN 202210124905A CN 114470746 A CN114470746 A CN 114470746A
Authority
CN
China
Prior art keywords
server
game
target
data
world
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.)
Pending
Application number
CN202210124905.4A
Other languages
English (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.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology 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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202210124905.4A priority Critical patent/CN114470746A/zh
Publication of CN114470746A publication Critical patent/CN114470746A/zh
Pending legal-status Critical Current

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
    • 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种服务器系统、数据传输方法、装置、设备及存储介质,所述服务器系统包括基础服务器、世界服务器、视窗服务器以及网关服务器,其中:网关服务器,用于接收用户端发送的数据更新请求,并将数据更新请求发送至与用户端对应的目标基础服务器;基础服务器,用于在接收到数据更新请求后,对数据库中的游戏数据进行更新,并将更新后的第一目标游戏数据发送至视窗服务器;世界服务器,用于在接收到游戏操作请求,从基础服务器获取第二目标游戏数据进行对应处理,并将处理后的目标游戏数据发送至视窗服务器;视窗服务器,用于在接收到目标游戏数据后,生成渲染数据,并将渲染数据发送至用户端进行展示。

Description

服务器系统、数据传输方法、装置、设备及存储介质
技术领域
本公开涉及游戏技术领域,具体而言,涉及一种服务器系统、数据传输方法、装置、设备及存储介质。
背景技术
随着网络技术的发展,网络游戏已经逐渐成为人们主要的休闲娱乐方式。
相关技术中,玩家首次进入游戏时往往需要选择一个游戏区服,之后的游戏基本在选择的游戏区服内进行,与其它玩家之间的游戏交互也都在该游戏区服之内进行,使得玩家难以和其它游戏区服的玩家进行实时交互,造成用户的游戏体验较差。
发明内容
本公开实施例至少提供一种服务器系统、数据传输方法、装置、设备及存储介质。
第一方面,本公开实施例提供了一种服务器系统,包括至少一个基础服务器、多个世界服务器、至少一个视窗服务器以及至少一个网关服务器,其中:
所述网关服务器,用于接收用户端发送的用于更新游戏数据的数据更新请求,并将所述数据更新请求发送至与所述用户端对应的目标基础服务器;以及,接收所述用户端发送的与游戏地图坐标相关的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器;以及,接收所述用户端发送的与游戏地图坐标无关的第二游戏操作请求,并将所述第二游戏操作请求发送至与所述用户端对应的目标基础服务器;
所述基础服务器,用于在接收到所述数据更新请求和/或第二游戏操作请求后,对数据库中的游戏数据进行更新,并将更新后的第一目标游戏数据发送至所述视窗服务器;
所述世界服务器,用于在接收到所述第一游戏操作请求后,从所述基础服务器获取第二目标游戏数据,对所述第二目标游戏数据进行对应处理,并将处理后的第二目标游戏数据发送至所述视窗服务器;
所述视窗服务器,用于在接收到目标游戏数据后,生成对应的渲染数据,并将所述渲染数据发送至所述用户端进行展示,其中,所述目标游戏数据为第一目标游戏数据和/或所述第二目标游戏数据。
一种可能的实施方式中,所述基础服务器通过所述网关服务器将更新后的第一目标游戏数据发送至所述视窗服务器;所述世界服务器通过所述网关服务器将处理后的目标游戏数据发送至所述视窗服务器。
一种可能的实施方式中,所述第一游戏操作请求包括游戏行军请求;
所述系统还包括寻路服务器;
所述寻路服务器,用于在接收到所述用户端通过所述世界服务器发送的游戏行军请求后,基于所述游戏行军请求中携带的起点信息和终点信息,确定与所述游戏行军请求对应的路线信息,并将所述路线信息发送至所述世界服务器,以使所述世界服务器基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理。
一种可能的实施方式中,在所述服务器系统包括多个基础服务器的情况下,所述网关服务器,还用于根据以下方法确定所述用户端对应的目标基础服务器:
基于用户端与基础服务器之间的对应关系,从多个基础服务器中确定所述目标基础服务器。
一种可能的实施方式中,不同的世界服务器分别与游戏地图中不同的区域关联,用于处理对应区域中的第二目标游戏数据;
所述网关服务器,在接收所述用户端发送的第一游戏操作请求后,还用于:
基于用户端与世界服务器之间的对应关系,确定与所述用户端具有关联关系的第一目标世界服务器;
将所述第一游戏操作请求发送至所述第一目标世界服务器,以使所述第一目标世界服务器基于缓存的游戏数据,确定所述用户端的游戏对象当前所在区域关联的第二目标世界服务器;
接收所述第一目标世界服务器发送的第一转发指令,将所述第一游戏操作请求转发至所述第一转发指令指示的所述第二目标世界服务器,其中,所述第一转发指令为所述第一目标世界服务器检测到所述第一目标世界服务器与所述第二目标世界服务器不同的情况下发送的。
一种可能的实施方式中,所述世界服务器在基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理时,用于:
根据所述路线信息,对缓存的所述游戏行军请求对应的游戏对象的位置信息进行更新。
一种可能的实施方式中,在检测到所述游戏对象当前所处的第一目标区域,与根据所述路线信息进行更新后所处的第二目标区域不同的情况下,所述第一目标区域对应的第三目标世界服务器,用于:
向所述网关服务器发送第二转发指令,以将游戏对象添加指令发送至所述第二目标区域对应的第四目标世界服务器,以指示所述第四目标世界服务器,在所述第三目标世界服务器删除所述游戏对象对应的第二目标游戏数据时,在所述第四目标世界服务器添加所述游戏对象对应的第二目标游戏数据。
一种可能的实施方式中,所述第三目标世界服务器,还用于:
向所述网关服务器发送第三转发指令,以将所述游戏对象对应的游戏数据通过所述网关服务器,转发至与所述游戏对象对应的基础服务器,并通过所述基础服务器对所述游戏对象对应的游戏数据进行更新。
第二方面,本公开实施例还提供一种数据传输方法,包括:
接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
第三方面,本公开实施例还提供一种数据传输装置,包括:
第一发送模块,用于接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
第二发送模块,用于接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
第四方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第二方面中的步骤。
第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第二方面中的步骤。
本公开实施例提供的服务器系统、数据传输方法、装置、设备及存储介质,采用至少一个基础服务器、多个世界服务器、至少一个视窗服务器以及至少一个网关服务器构建了一个可以分布式部署的服务器系统,相较于传统的服务器系统中使用同一服务器内不同线程负责不同的功能,本公开实施例提供的服务器系统,将不同的游戏处理逻辑交由不同的服务器进行处理,可以在保证游戏正常运行的同时,仅通过添加服务器的数量,即可提高游戏区服所能承载的玩家的数量,从而可以解决玩家难以与其它游戏区服的玩家进行实时交互的问题,提高用户的游戏体验。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a示出了本公开实施例所提供的一种服务器系统的架构示意图;
图1b示出了本公开实施例所提供的另一种服务器系统的架构示意图;
图2示出了本公开实施例所提供的服务器系统中,网关服务器进行请求转发的具体方法的流程图;
图3示出了本公开实施例所提供的一种数据传输方法的流程图;
图4示出了本公开实施例所提供的一种数据传输装置的示意图;
图5示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,玩家首次进入游戏时往往需要选择一个游戏区服,之后的游戏基本在选择的游戏区服内进行,与其它玩家之间的游戏交互也都在该游戏区服之内进行,使得玩家难以和其它游戏区服的玩家进行实时交互,造成用户的游戏体验较差。
基于上述研究,本公开提供了一种服务器系统,采用至少一个基础服务器、多个世界服务器、至少一个视窗服务器以及至少一个网关服务器构建了一个可以分布式部署的服务器系统,相较于传统的服务器系统中使用同一服务器内不同线程负责不同的功能,本公开实施例提供的服务器系统,将不同的游戏处理逻辑交由不同的服务器进行处理,可以在保证游戏正常运行的同时,仅通过添加服务器的数量,即可提高游戏区服所能承载的玩家的数量,从而可以解决玩家难以与其它游戏区服的玩家进行实时交互的问题,提高用户的游戏体验。
为便于对本实施例进行理解,首先对本公开实施例所公开的服务器系统的架构进行详细介绍,所述服务器系统由基础服务器、世界服务器、视窗服务器以及网关服务器组成。
参见图1a所示,为本公开实施例提供的一种服务器系统的架构示意图,包括至少一个基础服务器11、多个世界服务器12、至少一个视窗服务器13以及至少一个网关服务器14,其中:
所述网关服务器14,用于接收用户端发送的用于更新游戏数据的数据更新请求,并将所述数据更新请求发送至与所述用户端对应的目标基础服务器;以及,接收所述用户端发送的与游戏地图坐标相关的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器;以及,接收所述用户端发送的与游戏地图坐标无关的第二游戏操作请求,并将所述第二游戏操作请求发送至与所述用户端对应的目标基础服务器;
这里,所述数据更新请求可以包括游戏对象的属性信息更新请求等,所述数据更新请求往往与游戏世界中的坐标信息不相关,因此所述数据更新请求可以由所述网关服务器14发送至所述基础服务器11进行执行;所述第一游戏操作请求可以包括游戏行军请求、战斗交互请求、资源采集请求中的至少一种,所述游戏操作请求往往与游戏世界中的坐标信息相关,因此所述游戏操作请求可以由所述网关服务器14发送至所述世界服务器12进行执行;所述第二游戏操作请求可以包括游戏主城建造请求、游戏主城管理请求、游戏工会管理请求中的至少一种,所述游戏主城为与用户端对应的目标建筑,通过所述游戏主城建造请求可以在游戏地图中建造与所述用户端对应的目标建筑,通过所述游戏主城管理请求可以对建造的游戏主城进行管理,所述数据更新请求往往与游戏世界中的坐标信息不相关,因此所述第二游戏操作请求可以由所述网关服务器14发送至所述基础服务器11进行执行。
实际应用中,由于服务器系统中各种服务器可以进行分布式部署,因此所述网关服务器14除了可以用于实现用户端与服务器系统之间的数据传输,还可以为各服务器提供路由服务,以实现各服务器之间的数据传输,比如所述基础服务器11可以通过所述网关服务器14将更新后的第一目标游戏数据发送至所述视窗服务器13,又比如所述世界服务器12可以通过所述网关服务器14将处理后的目标游戏数据发送至所述视窗服务器13。
此外,所述网关服务器14还可以用于用户端的连接管理,比如禁止黑名单中的用户端访问、对用户端发送的请求进行合法性验证等。
所述基础服务器11,用于在接收到所述数据更新请求和/或第二游戏操作请求后,对数据库中的游戏数据进行更新,并将更新后的第一目标游戏数据发送至所述视窗服务器13;
这里,所述基础服务器11与服务器系统对应的数据库进行连接,从而可以在接收到所述数据更新请求和/或第二游戏操作请求后,根据所述数据更新请求的内容进行游戏数据的更新。
所述世界服务器12,用于在接收到所述第一游戏操作请求后,从所述基础服务器11获取第二目标游戏数据,对所述第二目标游戏数据进行对应处理,并将处理后的第二目标游戏数据发送至所述视窗服务器13;
这里,不同的世界服务器12可以分别与游戏地图中不同的区域关联,用于处理对应区域中的第二目标游戏数据。
所述视窗服务器13,用于在接收到目标游戏数据后,生成对应的渲染数据,并将所述渲染数据发送至所述用户端进行展示,其中,所述目标游戏数据为第一目标游戏数据或所述第二目标游戏数据。
这里,所述视窗服务器用于对用户端展示页面进行场景管理,所述渲染数据中包含需要展示在用户端展示页面的实体以及各实体分别对应的属性信息,以使所述用户端在接收到所述渲染数据后,根据所述渲染数据进行游戏画面渲染。
实际应用中,所述服务器系统还可以实现游戏语音、游戏直播、人机对战等游戏功能,这些游戏功能可以由所述服务器系统中的基础服务器11完成,或者也可以通过在服务器系统中添加对应的服务器进行完成,比如可以添加游戏语音服务器,以对不同用户端分别发送的语音数据进行处理,并将处理后的语音数据发送至相应的用户端,从而实现游戏语音功能;另一方面,由于所述世界服务器12的处理能力有限,若所述第一游戏操作请求所消耗的计算资源过大,可能会导致服务器出现异常,因此部分消耗计算资源较大的第一游戏操作请求可以由单独设置的服务器完成,比如所述游戏行军请求,由于单个用户端对应的游戏对象的数量往往较多,且每个游戏对象均需要计算与行军请求对应的路线信息,因此消耗的计算资源较多,可以由单独设置的服务器进行处理。
参见图1b所示,为本公开实施例提供的另一种服务器系统的架构示意图,包括至少一个基础服务器11、多个世界服务器12、至少一个视窗服务器13、至少一个网关服务器14,以及寻路服务器15,其中:
所述寻路服务器15,用于在接收到所述用户端通过所述世界服务器12发送的游戏行军请求后,基于所述游戏行军请求中携带的起点信息和终点信息,确定与所述游戏行军请求对应的路线信息,并将所述路线信息发送至所述世界服务器12,以使所述世界服务器12基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理。
具体的,在基于所述游戏行军请求中携带的起点信息和终点信息,确定与所述游戏行军请求对应的路线信息时,可以根据所述起点信息和终点信息,获取与所述游戏行军请求对应的地图元素信息,并基于所述起点信息、终点信息、地图元素信息以及预设的路线生成算法,生成与所述游戏行军请求对应的路线信息,所述路线信息可以包含游戏行军请求对应的游戏对象在多个时刻下分别对应的地图坐标,多个地图坐标通过连接即可表征完整的路线信息;或者,所述路线信息也可以仅包含所述游戏对象所述分别对应的多个地图坐标。
示例性的,所述路线信息可以是(时刻1、位置1)、(时刻2、位置2)、(时刻3、位置3)、(时刻4、位置4),或者,所述路线信息也可以是位置1、位置2、位置3、位置4,位置1~位置2~位置3~位置4即为与所述游戏行军请求对应的路线。
进一步的,所述世界服务器12在基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理时,可以根据所述路线信息,对缓存的所述游戏行军请求对应的游戏对象的位置信息进行更新。
具体的,所述世界服务器12在运行时可以对所述第二目标游戏数据进行缓存,当缓存的所述第二目标游戏数据发生更新时,可以通过所述网关服务器14向所述基础服务器11发送数据更新请求,将数据库中与所述第二目标游戏数据对应的数据进行更新,以实现对数据的同步更新。
示例性的,在对缓存的所述游戏行军请求对应的游戏对象的位置信息进行更新时,可以将所述游戏对象“兵马1”的位置信息从游戏主城所在的坐标更新为“位置1”所在的坐标。
需要说明的是,“基础服务器11”下文中简称“基础服务器”;“世界服务器12”下文中简称“世界服务器”;“视窗服务器13”下文中简称“视窗服务器”;“网关服务器14”下文中简称“网关服务器”;“寻路服务器15”下文中简称“寻路服务器”。
一种可能的实施方式中,在所述服务器系统包括多个基础服务器的情况下,所述网关服务器,可以基于用户端与基础服务器之间的对应关系,从多个基础服务器中确定所述目标基础服务器。
具体的,所述用户端与基础服务器的对应关系可以在游戏注册阶段进行确定,各用户端仅与多个基础服务器中的一个基础服务器存在对应关系,当任一所述用户端登录游戏后,相应的数据读取请求和数据更新请求在经过网关服务器的转发后,最后都由与该用户端唯一对应的目标基础服务器进行对应处理。
一种可能的实施方式中,如图2所示,所述网关服务器可以通过以下步骤进行请求转发:
S201:基于用户端与世界服务器之间的对应关系,确定与所述用户端具有关联关系的第一目标世界服务器。
这里,任一所述用户端在与所述服务器系统建立连接时(也即用户登录游戏时),与该用户端具有关联关系的世界服务器和基础服务器可以向网关服务器发起注册请求,在与该用户端对应的网关服务器中存储与该用户端对应的世界服务器和基础服务器,从而可以根据该用户端与世界服务器的对应关系确定与所述用户端具有关联关系的第一目标世界服务器,所述第一目标世界服务器可以是处理用户端对应的游戏主城的游戏数据的世界服务器。
S202:将所述第一游戏操作请求发送至所述第一目标世界服务器,以使所述第一目标世界服务器基于缓存的游戏数据确定,所述用户端的游戏对象当前所在区域关联的第二目标世界服务器。
S203:接收所述第一目标世界服务器发送的第一转发指令,将所述第一游戏操作请求转发至所述第一转发指令指示的所述第二目标世界服务器,其中,所述第一转发指令为所述第一目标世界服务器检测到所述第一目标世界服务器与所述第二目标世界服务器不同的情况下发送的。
这里,由于用户端对应的游戏主城通常不会发生位置变化,因此可以使用游戏主城对应的第一目标世界服务器缓存游戏数据,因此在所述第一目标世界服务器在接收到所述第一游戏操作请求后,可以先基于缓存的游戏数据确定所述用户端的游戏对象当前所在区域关联的第二目标世界服务器,然后判断所述第一目标世界服务器与所述第二目标世界服务器是否相同,当检测到所述第一目标世界服务器与所述第二目标世界服务器相同的情况下,所述第一游戏操作请求即由所述第一目标世界服务器进行相应处理;而当检测到所述第一目标世界服务器与所述第二目标世界服务器不同的情况下,所述第一目标世界服务器可以向所述网关服务器发送第一转发指令,将所述第一游戏操作请求转发至所述第一转发指令指示的所述第二目标世界服务器,并由所述第二目标世界服务器对所述第一游戏操作请求进行相应处理。
示例性的,以所述游戏主城对应的第一目标世界服务器为世界服务器1、用户端的游戏对象当前所在区域关联的第二目标世界服务器为世界服务器2为例,当世界服务器1接收到网关服务器发送的第一游戏操作请求后,可以根据缓存的游戏数据确定第二目标世界服务器为世界服务器2,然后向所述网关服务器发送第一转发指令,将所述第一游戏操作请求转发至所述世界服务器2,并由所述世界服务器2对所述第一游戏操作请求进行相应处理。
实际应用中,由于所述世界服务器的数量可以有多个,不同的区域由不同的世界服务器负责,因此在同一游戏对象跨越不同世界服务器对应的区域时,需要有相应的处理逻辑确保用户端的正常游戏体验。
一种可能的实施方式中,在检测到所述游戏对象当前所处的第一目标区域,与根据所述路线信息进行更新后所处的第二目标区域不同的情况下,所述第一目标区域对应的第三目标世界服务器可以向所述网关服务器发送第二转发指令,以将游戏对象添加指令发送至所述第二目标区域对应的第四目标世界服务器,以指示所述第四目标世界服务器,在所述第三目标世界服务器删除所述游戏对象对应的第二目标游戏数据时,在所述第四目标世界服务器添加所述游戏对象对应的第二目标游戏数据。
这样,由于在所述第三目标世界服务器删除所述游戏对象对应的第二目标游戏数据时,在所述第四目标世界服务器添加了所述游戏对象对应的第二目标游戏数据,因此可以确保游戏对象跨区域时不会出现游戏对象丢失等异常情况。
进一步的,所述第三目标世界服务器还可以向所述网关服务器发送第三转发指令,以将所述游戏对象对应的游戏数据通过所述网关服务器,转发至与所述游戏对象对应的基础服务器,并通过所述基础服务器对所述游戏对象对应的游戏数据进行更新。
具体的,由于所述游戏对象发生了跨区域事件(即从所述第三目标世界服务器对应的区域移动到了所述第四目标世界服务器对应的区域),则用户端下次登录时负责处理所述游戏对象的世界服务器为所述第四目标世界服务器,因此可以将这一更新同步至所述游戏对象对应的基础服务器中,以便所述用户端下次登录时能够正常进行游戏。
此外,由于所述游戏对象到达了所述第二目标区域,因此与所述游戏对象对应的第一游戏操作请求后续也需要转发到所述第四目标世界服务器,所述第三目标世界服务器还可以向所述网关服务器发送转发信息更新指令,以指示所述网关服务器在接收到与所述游戏对象对应的第一游戏操作请求后,将所述第一游戏操作请求发送至所述第四目标世界服务器。
另一种可能的实施方式中,所述网关服务器还可以在接收到所述用户端发送的第一游戏操作请求,基于缓存的数据判断所述第一游戏操作请求对应的世界第五目标世界服务器,并将所述第一游戏操作请求发送至所述第五目标世界服务器。
具体的,所述网关服务器与所述用户端可以通过长连接的方式进行数据传输,所述网关服务器中可以缓存与所述网关服务器保持长连接的用户端对应的第五目标世界服务器,以在接收到所述用户端的第一游戏操作请求时,将所述第一游戏操作请求发送至所述第五目标世界服务器。
进一步的,在所述第一游戏操作请求对应的世界服务器发生更新的情况下,所述网关服务器也需要相应的从与所述第一游戏操作请求对应的基础服务器中,获取更新后的世界服务器与所述第一游戏操作请求的对应关系,从而可以确保所述用户端发送的第一游戏操作请求能够发送至正确的世界服务器。
下面,以执行主体为网关服务器为例,对本公开实施例所提供的数据传输方法进行介绍,所述服务器系统中的其余服务器执行的步骤及内容参见上文相关描述,后文不再赘述。
参见图3所示,为本公开实施例提供的数据传输方法的流程图,所述方法包括S301~S302,其中:
S301:接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据。
S302:接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
各步骤的详细内容参见上述相关描述,在此不再赘述。
本公开实施例提供的服务器系统及数据传输方法,采用至少一个基础服务器、多个世界服务器、至少一个视窗服务器以及至少一个网关服务器构建了一个可以分布式部署的服务器系统,相较于传统的服务器系统中使用同一服务器内不同线程负责不同的功能,本公开实施例提供的服务器系统,将不同的游戏处理逻辑交由不同的服务器进行处理,可以在保证游戏正常运行的同时,仅通过添加服务器的数量,即可提高游戏区服所能承载的玩家的数量,从而可以解决玩家难以与其它游戏区服的玩家进行实时交互的问题,提高用户的游戏体验。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据传输方法对应的数据传输装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据传输方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种数据传输装置的架构示意图,所述装置包括:第一发送模块401、第二发送模块402;其中,
第一发送模块401,用于接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
第二发送模块402,用于接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图5所示,为本公开实施例提供的计算机设备500的结构示意图,包括处理器501、存储器502、和总线503。其中,存储器502用于存储执行指令,包括内存5021和外部存储器5022;这里的内存5021也称内存储器,用于暂时存放处理器501中的运算数据,以及与硬盘等外部存储器5022交换的数据,处理器501通过内存5021与外部存储器5022进行数据交换,当计算机设备500运行时,处理器501与存储器502之间通过总线503通信,使得处理器501在执行以下指令:
接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据传输方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据传输方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种服务器系统,其特征在于,包括至少一个基础服务器、多个世界服务器、至少一个视窗服务器以及至少一个网关服务器,其中:
所述网关服务器,用于接收用户端发送的用于更新游戏数据的数据更新请求,并将所述数据更新请求发送至与所述用户端对应的目标基础服务器;以及,接收所述用户端发送的与游戏地图坐标相关的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器;以及,接收所述用户端发送的与游戏地图坐标无关的第二游戏操作请求,并将所述第二游戏操作请求发送至与所述用户端对应的目标基础服务器;
所述基础服务器,用于在接收到所述数据更新请求和/或第二游戏操作请求后,对数据库中的游戏数据进行更新,并将更新后的第一目标游戏数据发送至所述视窗服务器;
所述世界服务器,用于在接收到所述第一游戏操作请求后,从所述基础服务器获取第二目标游戏数据,对所述第二目标游戏数据进行对应处理,并将处理后的第二目标游戏数据发送至所述视窗服务器;
所述视窗服务器,用于在接收到目标游戏数据后,生成对应的渲染数据,并将所述渲染数据发送至所述用户端进行展示,其中,所述目标游戏数据为第一目标游戏数据和/或所述第二目标游戏数据。
2.根据权利要求1所述的系统,其特征在于,所述基础服务器通过所述网关服务器将更新后的第一目标游戏数据发送至所述视窗服务器;所述世界服务器通过所述网关服务器将处理后的目标游戏数据发送至所述视窗服务器。
3.根据权利要求1所述的系统,其特征在于,所述第一游戏操作请求包括游戏行军请求;
所述系统还包括寻路服务器;
所述寻路服务器,用于在接收到所述用户端通过所述世界服务器发送的游戏行军请求后,基于所述游戏行军请求中携带的起点信息和终点信息,确定与所述游戏行军请求对应的路线信息,并将所述路线信息发送至所述世界服务器,以使所述世界服务器基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理。
4.根据权利要求1所述的系统,其特征在于,在所述服务器系统包括多个基础服务器的情况下,所述网关服务器,还用于根据以下方法确定所述用户端对应的目标基础服务器:
基于用户端与基础服务器之间的对应关系,从多个基础服务器中确定所述目标基础服务器。
5.根据权利要求1所述的系统,其特征在于,不同的世界服务器分别与游戏地图中不同的区域关联,用于处理对应区域中的第二目标游戏数据;
所述网关服务器,在接收所述用户端发送的第一游戏操作请求后,还用于:
基于用户端与世界服务器之间的对应关系,确定与所述用户端具有关联关系的第一目标世界服务器;
将所述第一游戏操作请求发送至所述第一目标世界服务器,以使所述第一目标世界服务器基于缓存的游戏数据,确定所述用户端的游戏对象当前所在区域关联的第二目标世界服务器;
接收所述第一目标世界服务器发送的第一转发指令,将所述第一游戏操作请求转发至所述第一转发指令指示的所述第二目标世界服务器,其中,所述第一转发指令为所述第一目标世界服务器检测到所述第一目标世界服务器与所述第二目标世界服务器不同的情况下发送的。
6.根据权利要求3所述的系统,其特征在于,所述世界服务器在基于所述路线信息对所述游戏行军请求对应的第二目标游戏数据进行对应处理时,用于:
根据所述路线信息,对缓存的所述游戏行军请求对应的游戏对象的位置信息进行更新。
7.根据权利要求6所述的系统,其特征在于,在检测到所述游戏对象当前所处的第一目标区域,与根据所述路线信息进行更新后所处的第二目标区域不同的情况下,所述第一目标区域对应的第三目标世界服务器,用于:
向所述网关服务器发送第二转发指令,以将游戏对象添加指令发送至所述第二目标区域对应的第四目标世界服务器,以指示所述第四目标世界服务器,在所述第三目标世界服务器删除所述游戏对象对应的第二目标游戏数据时,在所述第四目标世界服务器添加所述游戏对象对应的第二目标游戏数据。
8.根据权利要求7所述的系统,其特征在于,所述第三目标世界服务器,还用于:
向所述网关服务器发送第三转发指令,以将所述游戏对象对应的游戏数据通过所述网关服务器,转发至与所述游戏对象对应的基础服务器,并通过所述基础服务器对所述游戏对象对应的游戏数据进行更新。
9.一种数据传输方法,其特征在于,应用于服务器系统中的网关服务器,包括:
接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
10.一种数据传输装置,其特征在于,包括:
第一发送模块,用于接收用户端发送的第一游戏操作请求,并将所述第一游戏操作请求发送至与所述用户端连接的世界服务器,以使所述世界服务器对所述第一游戏操作请求对应的游戏数据进行对应处理后,通过视窗服务器生成对应的渲染数据;
第二发送模块,用于接收所述视窗服务器发送的渲染数据,并将所述渲染数据发送至所述用户端,以使所述用户端通过所述渲染数据进行展示。
11.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求9所述的数据传输方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求9所述的数据传输方法的步骤。
CN202210124905.4A 2022-02-10 2022-02-10 服务器系统、数据传输方法、装置、设备及存储介质 Pending CN114470746A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210124905.4A CN114470746A (zh) 2022-02-10 2022-02-10 服务器系统、数据传输方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210124905.4A CN114470746A (zh) 2022-02-10 2022-02-10 服务器系统、数据传输方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114470746A true CN114470746A (zh) 2022-05-13

Family

ID=81477541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210124905.4A Pending CN114470746A (zh) 2022-02-10 2022-02-10 服务器系统、数据传输方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114470746A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116235470A (zh) * 2020-05-29 2023-06-06 Cy游戏公司 服务器、游戏系统和处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116235470A (zh) * 2020-05-29 2023-06-06 Cy游戏公司 服务器、游戏系统和处理方法

Similar Documents

Publication Publication Date Title
CN110365491B (zh) 业务处理方法、装置、设备、存储介质以及数据共享系统
CN108664650B (zh) 一种区块链网络的事务处理方法、装置、设备及存储介质
US8764567B2 (en) System and method for implementing turn-based online games
CN108970116B (zh) 虚拟角色控制方法及装置
US9792311B2 (en) System and method for managing a partitioned database of user relationship data
CN112604270A (zh) 网络游戏的跨服方法、装置及设备
CN103889524B (zh) 信息处理系统、信息处理方法、信息处理程序、存储信息处理程序的计算机可读记录介质、数据结构、信息处理服务器和信息处理终端
CN103390003A (zh) 在服务器之间合并用户数据信息的方法和装置
US20120310956A1 (en) System and method for processing graphs of user relationships in an online service
CN101604358A (zh) 一种资源更新方法、装置和系统
WO2014146441A1 (en) Method, server and system for processing task data
CN111135558B (zh) 游戏同步方法、游戏客户端、计算机存储介质及电子设备
CN114470746A (zh) 服务器系统、数据传输方法、装置、设备及存储介质
CN114602166A (zh) 一种游戏数据处理方法、装置、计算机设备及存储介质
CN112131240A (zh) 脏数据的处理方法和装置、存储介质及电子设备
CN105207990B (zh) 一种访问游戏服务器的方法、服务器和网络游戏系统
CN104007965A (zh) 三维游戏设计方法及系统
CN110089076B (zh) 实现信息互动的方法和装置
CN112449205A (zh) 信息交互方法、装置、终端设备及存储介质
CN113935069B (zh) 一种基于区块链的数据验证方法、装置、设备及存储介质
CN113730921B (zh) 虚拟组织的推荐方法和装置、存储介质及电子设备
CN109718543A (zh) 一种同屏处理方法及装置
EP3385872B1 (en) Anti-counterfeiting method, device, storage medium and apparatus based on invalid map data
CN114733209A (zh) 游戏场景中的城池升级方法、装置、设备及存储介质
CN113786623A (zh) 一种导航网格更新方法、装置和系统

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