一种高并发全球同服游戏服务器架构及数据访问方法与流程



1.本发明涉及服务器架构领域,具体涉及一种高并发全球同服游戏服务器架构及数据访问方法。


背景技术:



2.随着信息化时代的快速发展,各种网络游戏的诞生逐步进入家家户户,无论年龄大小都有与之年龄相适应的游戏供人们消遣,因此玩家的数目与日俱增,全球同服已成为网络游戏发展的新趋势。
3.全球同服,说白了就是大量在线,而想要实现全球同服,就要堆服务器进程,目前常用的方法是将服务器分为集中的数据中心服和分散的游戏逻辑服,数据中心服用来存储所有玩家的数据,一般采用数据库集,而游戏逻辑服是提供玩家数据缓存和游戏逻辑处理服务的,并定时将玩家数据同步到数据中心服。其中,数据库集就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像数据库系统那样,向客户端提供透明的数据服务,与之相对应的是分布式数据库,两者有以下三点区别:1、数据库集有的具有单份数据集,有的具有两份或多份相似的数据集,有的具有两份或多份实时一致的数据集;而分布式数据库往往具有完全不同的数据集。
4.2、数据库集往往是同构的系统,要求集各节点都具有相同的操作系统和数据库系统版本,甚至补丁包的版本也要求保持一致;而分布式数据库系统可以是异构系统,包含不同的操作系统和不同的数据库系统。
5.3、数据库集往往建立在高速局域网内;而分布式数据库系统既可以是高速局域网,也可以是跨部门、跨单位的异地远程网络。
6.同时,在涉及数据库集的时候,往往会涉及到数据库层面的同步,很容易出现数据冗余以及数据丢失的情况,且集的风险之一是“脑裂”,也就是导致数据库节点彼此独立运行的集故障,这种情况会导致数据不一致,并且无法修复,例如当两个数据库节点独立更新同一表上的同一行时,此时的数据丢失便无法修复,就算彻底丢失了。因此,数据库集不仅成本相对更高一些,而且维护也十分复杂,有数据丢失的风险,另外在游戏逻辑服缓存和数据中心服之间的数据同步会存在延迟,同样有数据丢失的风险。


技术实现要素:



7.有鉴于此,本发明提供一种高并发全球同服游戏服务器架构及数据访问方法,旨在解决数据缓存和同步时出现数据丢失的技术问题。
8.为解决以上技术问题,本发明的技术方案为提供一种高并发全球同服游戏服务器架构,包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,所述跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,所述本地逻辑服和所述本地数据服组成本地服务器
灵活部署。
9.可选的 ,所述本地逻辑服和所述本地数据服组成本地服务器灵活部署,包括:所述本地服务器部署在离玩家注册时的最近节点或集中部署在中心节点。
10.可选的,所述本地服务器由一个本地数据服和一个本地逻辑服配套组成,或由一个本地数据服和多个本地逻辑服配套组成。
11.可选的,所述登录服还用于根据玩家注册时的区域信息,将玩家分配到不同的本地服务器。
12.可选的,在需要访问和修改非本地数据服的数据时,通过将所有的数据服和逻辑服建立为跨区域的局域网,直接访问对应的数据服数据。
13.可选的,跨服数据服存储玩家全部数据的一部分作为共享数据,进行共享。
14.另外,本发明还提供一种数据访问方法,应用于上述任一项所述的一种高并发全球同服游戏服务器架构,包括:客户端向本地逻辑服发起数据访问请求;本地逻辑服根据所述数据访问请求的内容向与之对应的数据服发起数据访问,并将所述数据返回所述本地逻辑服;本地逻辑服将返回的数据,返回至客户端。
15.可选的,所述数据访问方法还包括:跨服逻辑服启动定时任务后,根据所述定时任务的需求向数据服发起数据访问;跨服逻辑服接收访问返回的数据,并根据返回的数据内容执行相应的定时任务逻辑。
16.可选的,所述数据访问包括玩家访问个人数据、玩家访问跨服共享数据、玩家访问相同本地数据服的其他玩家数据、玩家访问不同本地数据服的玩家数据、定时任务访问跨服数据、定时任务访问玩家数据。
17.可选的,所述客户端访问跨服数据服的数据或者不在同一区域的本地数据服数据,包括:所述客户端通过跨区域的局域网对需要访问的数据进行远程数据访问。
18.本发明提供的一种高并发全球同服游戏服务器架构及数据访问方法,包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,所述跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,所述本地逻辑服和所述本地数据服组成本地服务器灵活部署。通过将数据库分为多个单数据库,避免了成本高,维护复杂的集数据库,将玩家数据存储在本地数据库中,且数据的读写也在本地数据库完成,保证了较短的操作延迟,避免写入缓存和定时数据同步,防止出现数据丢失。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
附图。
20.图1是本发明一实施例提供的一种高并发全球同服游戏服务器架构的结构示意图;图2是本发明一实施例提供的一种数据访问方法的步骤示意图;图3是本发明另一实施例提供的一种数据访问方法的步骤示意图;图4是本发明一实施例提供的数据访问流程图;图5是本发明另一实施例提供的数据访问流程图。
具体实施方式
21.为了使本领域技术人员更好的理解本发明实施例,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.游戏市场作为近些年来搭上信息化时代顺风车的朝阳产业,正在全面发展中,尤其是网络环境的不断更新迭代,使得网络游戏的发展及其迅速,在社会竞争压力巨大的当下,各个年龄段均有众多的人在闲暇时利用网络游戏进行消遣、释压,因此网络游戏的玩家与日俱增,导致网络游戏运营的服务器压力倍增,基于玩家的基数庞大,目前的网络游戏数据库一般采用集数据库,以维持全球同服游戏的正常运行,但是集数据库的成本之高,维护之复杂一直是难以解决的重要问题。
23.因此,本发明提出去掉成本高,维护复杂的集数据库,将数据库分为多个单数据库以解决这个棘手的问题,构思了一种高并发全球同服游戏服务器架构,其具体架构如图1所示:一种高并发全球同服游戏服务器架构,包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,本地逻辑服和所述本地数据服组成本地服务器灵活部署。
24.其中,登录服是用来处理玩家的登录(注册)服务,并将玩家根据注册时的区域等信息(包括服务器ip地址、城市地址等),将玩家分配到不同的本地服务器,客户端在登录服登录成功后,客户端将直接和对应本地服务器连接。就比如北京地区的玩家会分配到北京地区的本地服务器,或者更细致一点就是北京市朝阳地区的玩家会分配到北京市朝阳地区的本地服务器。
25.本地数据服用来存储玩家个人数据信息,跨服数据服用来存储多玩家共享数据信息,需要说明的是,本地数据服存储的玩家数据是玩家个人的全部数据,而跨服数据服存储的玩家数据是玩家共享出来的数据信息,仅是其全部数据的一部分而已,就好像一个玩家他有自己的装备信息,背包信息,等级信息,技能信息,属性信息等等,本地数据服会将其拥有的所有信息均进行存储,而跨服数据服仅仅会存储其等级信息用于多玩家进行排行榜排名,个人名称信息用于多玩家组建工会,而其他信息则是不会进行存储的,因此跨服数据服仅会存储所有玩家的部分信息用于多玩家之间的共享平台使用,就好像排行榜、工会信息
等等。
26.本地数据服与配套的本地逻辑服会组成本地服务器,本地服务器的部署一般是灵活部署的,可以是集中部署在中心节点,也可以是根据需求放在不同的区域内,其中,一系列的本地逻辑服与一个本地数据服组成一组本地服务器,可以理解的是,一组本地服务器会有两种组成方式,其一是一个本地逻辑服和一个本地数据服组成一组本地服务器,其二是多个本地逻辑服和一个本地数据服组成一组本地服务器,也就是说一组本地服务器中仅有一个本地数据服,但是可以有数目不定的本地逻辑服与之配套。
27.跨服数据服与配套的跨服逻辑服会组成中心服务器,中心服务器的部署一般是固定部署的,部署在中心节点上,其中一组中心服务器可以有三种组成方式,其一是一个跨服逻辑服和一个跨服数据服组成一组中心服务器,其二是一个跨服逻辑服和多个跨服数据服组成一组中心服务器,其三是多个跨服逻辑服和一个跨服数据服组成一组中心服务器,也就是说一组中心服务器中的跨服逻辑服和跨服数据服的数量都是不固定的。
28.本地逻辑服用于处理玩家的数据请求,跨服逻辑服用来执行对多玩家共享数据进行定时处理的任务,如排行榜奖励结算、工会排名结算等,绝大部分情况下,玩家请求的数据都是自己的数据或者和自己在同一本地数据服的数据,所以本地数据服可以满足绝大部分数据请求需求,但是对于需要访问和修改非本地数据服的数据时,也可以通过将所有的数据服和逻辑服建立为跨区域的局域网,然后通过局域网直接访问对应的数据服数据。
29.本发明一实施例提供的一种高并发全球同服游戏服务器架构包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,本地逻辑服和所述本地数据服组成本地服务器灵活部署。通过将数据库分为本地数据库和跨服数据库,将游戏服务器分为登录服、跨服数据服、跨服逻辑服、本地数据服、本地逻辑服五个部分取缔了成本高、维护复杂的集数据库,通过利用本地数据库存储玩家个人全部数据,跨服数据库存储玩家之间共享数据,使得玩家数据写入直接操作数据库,避免了数据写入缓存和定时数据同步,数据不易丢失,同时,多本地数据库能够大大降低数据库并行压力,运营使用更加流畅。
30.参照图2,是本发明一实施例提供的一种数据访问方法,该数据访问方法适用于上述一种高并发全球同服游戏服务器架构,具体为:s11、客户端向本地逻辑服发起数据访问请求。
31.s12、本地逻辑服根据数据访问请求的内容向与之对应的数据服发起数据访问,并将数据返回本地逻辑服。
32.s13、本地逻辑服将返回的数据,返回至客户端。
33.玩家的数据访问流程大致可以分为以下几类,图4为数据访问流程示意图:1、玩家访问自己数据的流程为:a:玩家向本地逻辑服发起访问自己数据请求;b:本地逻辑服访问本地数据库,并将数据返回本地逻辑服;c:本地逻辑服将数据返回客户端。
34.2、玩家访问相同本地数据服的其他玩家数据的流程:
a:玩家向本地逻辑服发起访问相同本地数据服的其他玩家数据的数据请求;b:本地逻辑服访问本地数据服,并将数据返回本地逻辑服;c:本地逻辑服将数据返回客户端。
35.3、玩家访问跨服共享数据的流程为:a:玩家向本地逻辑服发起访问跨服共享数据请求;b:本地逻辑服通过跨区域的局域网到待访问的共享数据所在的跨服数据服,发起远程数据访问,并将数据返回本地逻辑服;c:本地逻辑服将数据返回客户端。
36.4、玩家访问不同本地数据服的玩家数据的流程为:a:玩家向本地逻辑服发起访问不同本地数据服玩家数据的数据访问;b:本地逻辑服通过跨区域的局域网到待访问玩家数据所在的本地数据服,发起远程数据访问,并将数据返回本地逻辑服;c:本地逻辑服将数据返回客户端。
37.可以理解的是,本地数据服存储的都是玩家个人的全部资料,因此玩家大部分的数据访问请求都是在玩家所在的本地数据服完成的,但是基于地域或者其他原因导致的玩家处在不同本地数据服的时候,就需要通过跨区域的局域网进行目标数据服的查,通过远程访问的方式进行数据请求并得到所需要的数据,在涉及到多玩家的共享数据时,共享数据仅包含玩家的部分信息,因此共享数据的访问相对于玩家个人数据的访问是少量的,但是同样需要先通过跨区域的局域网进行目标数据服的查,进而通过远程访问的方式进行数据请求并得到所需要的数据。
38.数据写入流程与数据访问流程相同,在此不做过多赘述。
39.本发明一实施例提供的一种数据访问方法,通过客户端向本地逻辑服发起数据访问请求;本地逻辑服根据数据访问请求的内容向与之对应的数据服发起数据访问,并将数据返回本地逻辑服;本地逻辑服将返回的数据,返回至客户端。通过数据写入直接操作数据库,避免了数据写入缓存和定时数据同步,降低了数据丢失的风险,同时,数据访问应用的远程访问技术仅用于非本地数据服的数据,占据数据访问的一小部分,绝大多数数据访问都是在本地数据服完成的,因此,访问效率得到了有效提高,进一步的,大部分读写都是在本地数据库完成的,能够有效保证较短的操作延迟,避免了因操作延迟导致的数据错误以及数据丢失的情况产生。
40.进一步的,本发明另一实施例提供的一种数据访问方法,该数据访问方法同样适用于上述一种高并发全球同服游戏服务器架构,如图3所示,具体为:s21、跨服逻辑服启动定时任务后,根据所述定时任务的需求向数据服发起数据访问。
41.s22、跨服逻辑服接收访问返回的数据,并根据所述返回数据执行相应的定时任务逻辑。
42.定时任务访问数据的流程分为以下几类,图5为数据访问流程示意图:1、定时任务访问跨服数据的流程为:a:跨服逻辑服启动定时任务后,根据任务需要向需要数据所在的跨服数据服发起数据访问,并将数据返回跨服逻辑服;
b:跨服逻辑服根据返回数据执行相应的定时任务逻辑。
43.2、定时任务访问玩家数据的流程为:a:跨服逻辑服启动定时任务后,根据任务需要向指定玩家所在的本地数据服发起数据访问,并将数据返回跨服逻辑服;b:跨服逻辑服根据返回数据执行相应的定时任务逻辑。
44.数据写入流程与数据访问流程相同,在此不做过多赘述。
45.需要说明的是,跨服逻辑服启动定时任务进行数据访问的过程中,跨服数据服中拥有的数据直接访问即可,跨服数据服中没有的数据,需要向本地数据服发起数据请求的数据需要通过跨区域的局域网进行目标数据服的查,进而将需要的数据返回,以使跨服逻辑服可以根据返回的数据执行相应的定时任务逻辑。举例来说,在进行排行榜结算时,定时任务为72小时内的等级前三名,其中,多玩家的名字、等级等信息是作为共享信息储存在跨服数据服中的,因此在结算时,根据结算时的排行直接进行数据访问就能在跨服数据服中到对应的玩家名字、等级数据,但是玩家的个人属性、背包信息等玩家个人信息是没有被跨服数据服存储的,是存储在本地数据服中的,因此,在结算时需要访问个人属性、背包信息的时候需要在该玩家所在的本地数据服进行数据访问,进而完成排行榜结算以及相应奖励发放。
46.此外,本发明提供的一种高并发全球同服游戏服务器架构及数据访问方法,同样适用于将所有服务器集中部署的情况。
47.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
48.以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:


1.一种高并发全球同服游戏服务器架构,其特征在于,包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,所述跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,所述本地逻辑服和所述本地数据服组成本地服务器灵活部署。2.根据权利要求1所述的高并发全球同服游戏服务器架构,其特征在于,所述本地逻辑服和所述本地数据服组成本地服务器灵活部署,包括:所述本地服务器部署在离玩家注册时的最近节点或集中部署在中心节点。3.根据权利要求2所述的高并发全球同服游戏服务器架构,其特征在于,所述本地服务器由一个本地数据服和一个本地逻辑服配套组成,或由一个本地数据服和多个本地逻辑服配套组成。4.根据权利要求1所述的高并发全球同服游戏服务器架构,其特征在于,所述登录服还用于根据玩家注册时的区域信息,将玩家分配到不同的本地服务器。5.根据权利要求1所述的高并发全球同服游戏服务器架构,其特征在于,在需要访问和修改非本地数据服的数据时,通过将所有的数据服和逻辑服建立为跨区域的局域网,直接访问对应的数据服数据。6.根据权利要求1所述的高并发全球同服游戏服务器架构,其特征在于,跨服数据服存储玩家全部数据的一部分作为共享数据,进行共享。7.一种数据访问方法,其特征在于,应用于权利要求1~权利要求6中任一所述的一种高并发全球同服游戏服务器架构,包括:客户端向本地逻辑服发起数据访问请求;本地逻辑服根据所述数据访问请求的内容向与之对应的数据服发起数据访问,并将所述数据返回所述本地逻辑服;本地逻辑服将返回的数据,返回至客户端。8.根据权利要求7所述的一种数据访问方法,其特征在于,还包括:跨服逻辑服启动定时任务后,根据所述定时任务的需求向数据服发起数据访问;跨服逻辑服接收访问返回的数据,并根据返回的数据内容执行相应的定时任务逻辑。9.根据权利要求7所述的一种数据访问方法,其特征在于,所述数据访问包括玩家访问个人数据、玩家访问跨服共享数据、玩家访问相同本地数据服的其他玩家数据、玩家访问不同本地数据服的玩家数据、定时任务访问跨服数据、定时任务访问玩家数据。10.根据权利要求7所述的一种数据访问方法,其特征在于,客户端访问跨服数据服的数据或者不在同一区域的本地数据服数据,包括:客户端通过跨区域的局域网对需要访问的数据进行远程数据访问。

技术总结


本发明公开一种高并发全球同服游戏服务器架构及数据访问方法,涉及服务器架构领域,包括用于处理玩家的登录和注册服务的登录服、用于存储多玩家共享数据的跨服数据服、用于执行对所述共享数据进行定时处理的任务的跨服逻辑服、用于存储玩家个人数据的本地数据服、用于处理玩家的数据请求的本地逻辑服,所述跨服逻辑服和所述跨服数据服组成中心服务器部署在中心节点,所述本地逻辑服和所述本地数据服组成本地服务器灵活部署。通过将数据库分为多个单数据库,避免了成本高,维护复杂的集数据库,将玩家数据存储在本地数据库中,且数据的读写也在本地数据库完成,保证了较短的操作延迟,避免写入缓存和定时数据同步,防止出现数据丢失。现数据丢失。现数据丢失。


技术研发人员:

余侠

受保护的技术使用者:

成都止观互娱科技有限公司

技术研发日:

2022.09.16

技术公布日:

2022/10/18

本文发布于:2024-09-21 03:33:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/15194.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   逻辑   玩家   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议