团体数据的处理方法、装置、系统及服务器与流程

文档序号:31352184发布日期:2022-08-31 12:56阅读:75来源:国知局
团体数据的处理方法、装置、系统及服务器与流程

1.本发明涉及互联网的技术领域,尤其是涉及一种团体数据的处理方法、装置、系统及服务器。


背景技术:

2.网络游戏一般都配置相应的游戏服务器,以便于为用户或者玩家提供服务,对于一些可以进行团体作战的网络游戏,游戏服务器往往会提供一种团体功能,以便于提供志同道合的用户聚集在一个团体中共同协作。
3.通常,为了统一管理不同团队的团队数据,传统的游戏服务器一般采用在单个服务器进程上管理游戏的团体数据,因此,传统的游戏服务器也称之为团体服务中心,但是这种团体服务中心通常是一个单点服务,服务承载能力有单点上限,难以进行扩展,且,单点服务出现故障后,会导致整个游戏服务器的团体服务不可用,严重影响了玩家的体验。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种团体数据的处理方法、装置、系统及服务器,以缓解上述技术问题。
5.第一方面,本发明实施例提供了一种团体数据的处理方法,应用于服务器,所述服务器配置有分布式团体服务集群,所述分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,所述团体分片节点、所述团体分线节点和所述团体节点启动后,均与所述团体中心节点网络连接;其中,所述团体中心节点负责所述分布式团体服务集群的网络拓扑;所述团体分片节点用于管理包含多个所述团体节点的团体列表,并转发所述团体节点的操作请求消息;所述团体分线节点用于负责所述团体节点的加载操作;所述团体节点运行于其中一个所述团体分线节点上;所述方法包括:接收操作请求消息,其中,所述操作请求消息中携带有请求操作的目标团体的标识;根据所述目标团体的标识定位对应的团体分片节点,并将所述操作请求消息发送到所述团体分片节点;通过所述团体分片节点确定所述目标团体的标识对应的团体分线节点的通信地址,并将所述操作请求消息发送至所述通信地址对应的所述团体分线节点上,以使所述团体分线节点执行所述操作请求消息对应的操作。
6.结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中上述通过所述团体分片节点确定所述目标团体的标识对应的团体分线节点的通信地址的步骤,包括:在所述团体分片节点预先存储的团体列表中查找是否包括所述目标团体的标识;如果否,将所述目标团体的标识加载到所述预先存储的团体列表中,以对所述团体列表进行更新;从更新后的所述团体列表中查找所述目标团体的标识对应的团体节点所在的团体分线节点的通信地址。
7.结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述将所述目标团体的标识加载到所述预先存储的团体列表中,以
对所述团体列表进行更新的步骤,包括:在所述团体分片节点管理的团体分线节点列表中,随机选取任意一个团体分线节点;在选取的所述团体分线节点上发起加载所述目标团体的请求,以使所述团体分线节点从预设的数据库中读取所述目标团体的标识对应的存盘数据,并将所述存盘数据加载到内存中,以完成所述目标团体的加载过程;将所述目标团体的标识,以及加载所述目标团体的所述团体分线节点的通信地址加载到预先存储的所述团体列表中,以对所述团体列表进行更新。
8.结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述方法还包括:如果所述团体分片节点预先存储的团体列表中包括所述目标团体的标识,则从所述团体列表中查找所述目标团体的标识对应的团体节点所在的团体分线节点的通信地址;将所述操作请求消息发送至所述通信地址对应的团体分线节点,以使所述团体分线节点执行所述操作请求消息对应的操作。
9.结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述根据所述目标团体的标识定位对应的团体分片节点的步骤,包括:获取所述分布式团体服务集群中所述团体分片节点的数量;根据所述数量,以及预先设置的分组机制计算所述目标团体的标识对应的所述团体分片节点的编号,以便于将所述编号对应的团体分片节点确定为所述目标团体的标识对应的团体分片节点。
10.结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述方法还包括:获取所述分布式团体服务集群的拓扑结构;基于所述拓扑结构在所述团体分片节点上构建所述团体列表和团体分线节点列表;其中,所述团体列表为哈希表,所述哈希表的键为所述团体节点对应的团体的标识,所述哈希表的值为所述团体的标识对应的团体分线节点的通信地址;所述团体分线节点列表保存有连接至所述团体分片节点上的所有的团体分线节点,以及所述团体分线节点的通信地址。
11.结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,上述方法还包括:在每个所述团体分片节点上创建多个子节点,以及,按照预设的通信协议在多个所述子节点之间建立通信,以使多个所述子节点之间的保证数据一致性;其中,多个所述子节点之间包括一个主节点和多个备节点,所述主节点与所述备节点互为备份。
12.结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,上述分布式团体服务集群中还配置有数据库;所述方法还包括:按照预设的定时机制触发所述团体节点中的多个团体将数据存储到所述数据库中。
13.第二方面,本发明实施例还提供一种团体数据的处理装置,应用于服务器,所述服务器配置有分布式团体服务集群,所述分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,所述团体分片节点、所述团体分线节点和所述团体节点启动后,均与所述团体中心节点网络连接;其中,所述团体中心节点负责所述分布式团体服务集群的网络拓扑;所述团体分片节点用于管理包含多个所述团体节点的团体列表,并转发所述团体节点的操作请求消息;所述团体分线节点用于负责所述团体节点的加载操作;所述团体节点运行于其中一个所述团体分线节点上;所述装置包括:接收模块,用于接收操作请求消息,其中,所述操作请求消息中携带有请求操作的目标团体的标识;定位模块,用于根据所述目标团体的标识定位对应的团体分片节点,并
将所述操作请求消息发送到所述团体分片节点;处理模块,用于通过所述团体分片节点确定所述目标团体的标识对应的团体分线节点的通信地址,并将所述操作请求消息发送至所述通信地址对应的所述团体分线节点上,以使所述团体分线节点执行所述操作请求消息对应的操作。
14.第三方面,本发明实施例还提供一种团体数据的处理系统,所述团体数据的处理系统用于执行第一方面所述的方法;其中,所述团体数据的处理系统配置有分布式团体服务集群;所述分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,所述团体分片节点、所述团体分线节点和所述团体节点启动后,均与所述团体中心节点网络连接;所述团体中心节点负责所述分布式团体服务集群的网络拓扑;所述团体分片节点用于管理包含多个所述团体节点的团体列表,并转发所述团体节点的操作请求消息;所述团体分线节点用于负责所述团体节点的加载操作;所述团体节点运行于其中一个所述团体分线节点上;
15.第四方面,本发明实施例还提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面所述的方法。
16.第五方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面所述的方法。
17.本发明实施例带来了以下有益效果:
18.本发明实施例提供的团体数据的处理方法、装置、系统及服务器,可以在服务器上配置分布式团体服务集群,并且,该分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,这样在接收到操作请求消息时,可以根据操作请求消息中携带的目标团体的标识定位对应的团体分片节点,并将操作请求消息发送到团体分片节点上;进而通过团体分片节点确定目标团体的标识对应的团体分线节点的通信地址,并将操作请求消息发送至通信地址对应的团体分线节点上,以使团体分线节点执行操作请求消息对应的操作,由于整个团体服务集群是分布式的,因此,在服务器运行过程中能够对团体组织提供高可用性和高拓展性的服务,能够有效对用户的操作请求消息进行处理,提高了玩家的体验度。
19.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
20.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
21.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本发明实施例提供的一种分布式团体服务集群的基本框架示意图;
23.图2为本发明实施例提供的一种团体数据的处理方法的流程图;
24.图3为本发明实施例提供的一种团体数据的操作流程;
25.图4为本发明实施例提供的一种团体数据的处理装置的结构示意图;
26.图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.目前,传统的游戏服务器为了统一管理不同的游戏团队数据,多采用在单个服务器进程上管理游戏的团体数据,称之为团体服务中心。其基本的团体操作步骤如下:
29.步骤1:服务器用户对象通过网络或程序内部调用,将团体操作发送到团体服务中心;
30.步骤2:服务器的团体服务中心接受到团体操作的数据后,创建或更新对应的团体数据,完成后通知服务器用户对象操作结果;
31.步骤3:服务器用户对象接受到操作结果,完成一次团体操作。
32.但是上述服务器的团体服务中心是一个单点服务,其服务承载能力有单点上限,难以进行扩展,且单点服务出现故障后,会导致到整个服务器的团体服务不可用,严重影响了玩家的用户体验。
33.基于此,本发明实施例提供了一种团体数据的处理方法、装置、系统及服务器,可以有效缓解上述技术问题。
34.为便于对本实施例进行理解,首先对本发明实施例所公开的一种团体数据的处理方法进行详细介绍。
35.在一种可能的实施方式中,本发明实施例提供了一种团体数据的处理方法,该方法应用于服务器,具体地,应用于游戏的后台服务器,例如,网络游戏的后台服务器等,且,为了保证网络游戏团体组织的高可用、高扩展,以便于给予玩家持久稳定的游戏体验,该服务器通常配置有分布式团体服务集群。
36.具体实现时,本发明实施例中的分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,团体分片节点、团体分线节点和团体节点启动后,均与团体中心节点网络连接;并且,本发明实施例中的分布式团体服务集群使用分布式结构,通过团体中心节点(clancenter)
‑‑
团体分片节点(clanshard)
‑‑
团体分线节点(clanstub)
‑‑
团体节点(clan)的分布式拓扑结构实现。
37.为了便于理解,图1示出了一种分布式团体服务集群的基本框架示意图,且为了便于说明,图1中仅以分布式团体服务集群包括一个团体中心节点、三个团体分片节点、三个团体分线节点和三个团体节点为例进行说明。
38.具体地,如图1所示,团体中心节点,也称为clancenter,负责分布式团体服务集群的网络拓扑;例如,负责维护分布式团体服务集群的网络拓扑中的所有节点的网络拓扑等
等。
39.团体分片节点,也称为clanshard,用于管理包含多个团体节点的团体列表,并转发团体节点的操作请求消息;例如,根据团体列表负责对应团体分片节点上的团体调度,以及调度不同的团体分线节点以加载不同的团体数据等等。
40.团体分线节点也称为clanstub,用于负责团体节点的加载操作;例如,负责被团体分片节点调度的团体数据的加载,同时提供通用的团体数据操作逻辑,如,创建、解散、修改、查询等等,而团体节点运则行于其中一个团体分线节点上,并且,团体节点还承载具体团体的团体数据,提供数据的存储操作,数据会存储到图1的数据库中,以保证持久化存储。
41.应当理解,图1仅仅是示意性地示出了一种分布式团体服务集群的基本框架示意图,在其他实施方式中,团体分片节点、团体分线节点和团体节点的数量可以根据实际使用情况进行设置,并且,图1中的数据库通常采用基于分布式文件存储的数据库,如,mongodb数据库等等,具体的数据库的参数也可以根据实际使用情况进行设置,本发明实施例对此不进行限制。
42.基于图1所示的分布式团体服务集群,可以通过分布式的网络游戏团体组织方案来保证网络游戏运营期间的用户体验,为用户提供不间断的游戏团体组织服务,保证游戏团体组织服务的稳定和高可用运行,以及具备一定的高扩展性。
43.具体地,基于图1所示的分布式团体服务集群,图2还提供了一种团体数据的处理方法的流程图,如图2所示,该方法包括以下步骤:
44.步骤s202,接收操作请求消息;
45.其中,上述操作请求消息中携带有请求操作的目标团体的标识;
46.具体实现时,上述操作请求消息通常是用户发送的,其中,用户通常指网络游戏的玩家,可以是已经加入某团体的玩家,也可以是一个独立的非团体玩家。通常,用户都有自己的账号,以便于登录网络游戏的后台服务器进行游戏,因此,当用户登录到自己的账号之后,可以执行相应的操作,例如,非团体的用户申请进入某团体,或者,已经加入某团体的团体用户更新自己的团体数据,或者某团体的团长用户批准新用户加入团体等等,因此,本发明实施例中的上述操作请求消息通常包括用户或者玩家发起的创建、解散、修改、查询等消息,当用户向服务器发起之后,服务器可以执行上述步骤s202,以便于接收到该操作请求消息。
47.进一步,对于服务器而言,每一个用户登录时,都会产生数据,从服务器角度来说,每个用户就相当于是一个团体,每个用户产生的数据都可以作为该团体的团体数据,因此,团体是服务器运行时团体数据在服务器内存中的逻辑单位,即本发明实施例中的图1所示的一个团体节点,在服务器运行过程中,该团体节点可以存储运行时的团体数据,并运行在上述团体分线节点clanstub上,并且,每个团体都有一个唯一标识,作为该团体的全局唯一编号,因此,在用户登录到服务器之后,相当于是该用户对应的团体上线,此时,该用户可以作为目标团体在向服务器发起某操作的操作请求消息,该操作请求消息中就会携带该目标团体的标识,以便服务器识别该标识,进而进一步本发明实施例中的下述各个步骤。
48.步骤s204,根据目标团体的标识定位对应的团体分片节点,并将操作请求消息发送到团体分片节点;
49.步骤s206,通过团体分片节点确定目标团体的标识对应的团体分线节点的通信地
址,并将操作请求消息发送至通信地址对应的团体分线节点上,以使团体分线节点执行操作请求消息对应的操作。
50.具体实现时,由于本发明实施例中,服务器所配置的分布式团体服务集群中的团体分片节点用于管理包含多个团体节点的团体列表,并转发团体节点的操作请求消息,因此,在服务器接收到用户发送的操作请求消息之后,可以提取到该操作请求消息中携带的目标团体的标识,进而执行上述步骤s204的过程,定位到团体分片节点,以便于继续执行步骤s206的过程,使目标团体对应的团体分线节点投入使用。
51.而团体分线节点则负责目标团体的加载,目标团体则运行于分布式团体服务集群中的某个团体分线节点上,同时提供一组网络接口,用于接收团体分片节点中转发的操作请求消息,该操作请求消息也作为团体数据的操作请求,包括创建、解散、修改、查询等等。
52.具体实现时,团体分线节点在启动之后,可以连接到分布式团体服务集群的团体中心节点,并通过网络拓扑信息发现团体分片节点的节点网络地址,通过该地址与团体分片节点建立连接,投入使用。
53.本发明实施例提供的团体数据的处理方法,可以在服务器上配置分布式团体服务集群,并且,该分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,这样在接收到操作请求消息时,可以根据操作请求消息中携带的目标团体的标识定位对应的团体分片节点,并将操作请求消息发送到团体分片节点上;进而通过团体分片节点确定目标团体的标识对应的团体分线节点的通信地址,并将操作请求消息发送至通信地址对应的团体分线节点上,以使团体分线节点执行操作请求消息对应的操作,由于整个团体服务集群是分布式的,因此,在服务器运行过程中能够对团体组织提供高可用性和高拓展性的服务,能够有效对用户的操作请求消息进行处理,提高了玩家的体验度。
54.在实际使用时,由于服务器的用户,如网络游戏的玩家的数量是庞大的,因此,本发明实施例提供的上述分布式团体服务集群通常是基于以下目标进行设计的:具备高可用性和具备可扩展性,同时支持百万级dau(daily active user,日活跃用户数量)。为了达到这个目的,通常会部署一定数量的团体分片节点,用来管理包含多个团体节点的团体列表,一个团体节点对应一个团体,即,用户。
55.此外,本发明实施例中的团体分片节点还负责维护团体分线节点列表,该团体分线节点列表保存着所有连上团体分片节点的团体分线节点的通信地址,用于分配团体分线节点执行具体的操作请求消息。并且,由于团体分片节点有多个,因此,上述步骤s204中,服务器提取到目标团体的标识之后,在定位团体分片节点时,通常需要获取分布式团体服务集群中所部署的所有团体分片节点的数量;然后根据该数量,以及预先设置的分组机制计算目标团体的标识对应的团体分片节点的编号,以便于将编号对应的团体分片节点确定为目标团体的标识对应的团体分片节点。
56.为了便于理解,以分布式团体服务集群部署n个团体分片节点为例进行说明,且,一个团体分片节点管理一组团体节点,其中一种可能的分组机制为:
57.(1)对于部署的n个团体分片节点,每个团体分片节点分配编号0~n-1,记为团体分片节点的标识shard_id;
58.(2)目标团体的标识通常指团体在全局的唯一编号,即,团体登录分布式团体服务
集群中的编号,因此,在获取到每个团体分片节点分配的编号之后,可以用目标团体的标识除团体分片节点的标识,将余数对应的值确定为管理该目标团体的团体分片节点的编号。
59.即,采取取余的分组机制确定目标团体的标识对应的所述团体分片节点的编号。
60.应当理解,上述取余的分组机制仅仅是一种可能的分组机制,在其他实施方式中,分组机制还可以由其他的形式,如采用随机的方式选取团体分片节点的编号等等,具体可以根据实际使用情况进行设置,本发明实施例对此不进行限制。
61.进一步,由于团体分片节点用于管理包含多个团体节点的团体列表,因此,通过上述步骤s204定位到对应的团体分片节点之后,在上述步骤s206中,确定目标团体的标识对应的团体分线节点时,需要先确认目标团体的标识是否在团体分片节点所管理的团体列表中,如果不在,需要将目标团体加入指该团体列表,然后才能进一步确定团体分线节点的通信地址进行操作请求消息的转发;如果目标团体就在该团体列表中,可以直接查找到目标团体的标识对应的团体节点所在的团体分线节点的通信地址。
62.因此,上述步骤s206中,确定目标团体的标识对应的团体分线节点的通信地址,具体包括以下步骤:
63.(1)在团体分片节点预先存储的团体列表中查找是否包括目标团体的标识;
64.(2)如果否,将目标团体的标识加载到预先存储的团体列表中,以对团体列表进行更新;
65.(3)从更新后的团体列表中查找目标团体的标识对应的团体节点所在的团体分线节点的通信地址;
66.(4)将操作请求消息发送至通信地址对应的所述团体分线节点上,以使团体分线节点执行操作请求消息对应的操作;
67.(5)如果团体分片节点预先存储的团体列表中包括目标团体的标识,则从团体列表中查找目标团体的标识对应的团体节点所在的团体分线节点的通信地址;将所述操作请求消息发送至所述通信地址对应的团体分线节点,以使所述团体分线节点执行所述操作请求消息对应的操作。
68.具体地,上述(2)中,将目标团体的标识加载到预先存储的团体列表中,以对团体列表进行更新时,需要在团体分片节点管理的团体分线节点列表中,随机选取任意一个团体分线节点;在选取的团体分线节点上发起加载目标团体的请求,以使团体分线节点从预设的数据库中读取目标团体的标识对应的存盘数据,并将该存盘数据加载到内存中,以完成目标团体的加载过程;将目标团体的标识,以及加载目标团体的团体分线节点的通信地址加载到预先存储的团体列表中,以对团体列表进行更新。
69.在实际使用时,上述团体列表和团体分线节点列表可以根据分布式团体服务集群的拓扑结构进行构建,以便于后续的使用和更新,具体地,由于团体分片节点、团体分线节点和团体节点启动后,均与团体中心节点网络连接;因此,在构建团体列表和团体分线节点列表时,可以获取分布式团体服务集群的拓扑结构;然后基于该拓扑结构在团体分片节点上构建团体列表和团体分线节点列表。
70.并且,本发明实施例中,团体列表通常采用哈希表,该哈希表的键为团体节点对应的团体的标识,哈希表的值为团体的标识对应的团体分线节点的通信地址;此外,该团体分片节点上维护的团体分线节点列表则保存有连接至该团体分片节点上的所有的团体分线
节点,以及团体分线节点的通信地址,以便于分配团体分线节点去执行具体的团体的请求操作,即,使团体分线节点执行操作请求消息对应的操作。
71.在实际使用时,为了保证分布式团体服务集群的高可用性,在该分布式团体服务集群配置时,针对游戏的后台服务器集群运行过程中可能发生的故障,本发明实施例中提供的团体数据的处理方法还包括适用于分布式团体服务集群的容灾方案,以解决服务器运行过程中任一分布式团体服务集群相关节点在出现故障时,不影响整个分布式团体服务集群的团体组织服务,参照图1所示的分布式团体服务集群的基本框架,具体方案实施如下:
72.(1)团体中心节点clancenter只负责管理分布式团体服务集群的网络拓扑,本身无状态,宕线后,其他服务节点会发起重新连接请求,clancenter重启后,会与其他节点重新建立起连接;
73.(2)在每个团体分片节点上创建多个子节点,以及,按照预设的通信协议在多个子节点之间建立通信,以使多个子节点之间的保证数据一致性;
74.其中,多个子节点之间包括一个主节点和多个备节点,主节点与备节点互为备份。具体地,可以参考图1所示的分布式团体服务集群,示出了主节点和备节点的示意图。
75.具体地,团体分片节点clanshard主要是包含多个团体节点的团体列表,并转发团体节点的操作请求消息,每个团体分片节点clanshard部署的多个子节点之间的通信协议可以采用raft协议,以便于通过raft算法保证数据最终的一致性,当clanshard的主节点(leader节点)故障时,clanshard的备节点(follower节点)通过心跳包感知到,并通过raft算法选举出新的主节点(leader节点),接管故障的主节点继续服务;备节点(follower节点)故障时,由于备节点(follower节点)只是备份节点,不涉及具体转发逻辑,不影响整个团体分片节点的服务,故障重启便可。
76.(3)团体分线节点clanstub宕线会导致该团体分线节点上的团体节点宕掉,因此,如图1所示,本发明实施例中的分布式团体服务集群中还配置有数据库;可以按照预设的定时机制触发团体节点中的多个团体将数据存储到数据库中。这种团体节点的存盘机制,可以保证团体数据不会丢失;同时,团体分片节点clanshard通过心跳协议监控到团体分线节点clanstub宕线后,会清理团体列表中对应的团体节点的信息,当收到新的操作请求消息后,可以重新发起团体节点的加载,不影响团体节点的业务。
77.为了便于理解,基于图1所示的分布式团体服务集群,以及图2所示的团体数据的处理方法,图3还示出了一种团体数据的操作流程,其中,为了便于说明,图3示出了mongodb数据库、团体分线节点clanstub、团体分片节点clanshard,以及用户,其中,团体分片节点clanshard示出的是主节点leader。具体地,包括以下步骤:
78.步骤s301,用户请求操作团体的数据,将操作请求消息发送到团体分片节点;
79.其中,操作请求消息携带有请求操作的目标团体的标识clan_id,即,该团体的全局唯一编号;此步骤中,需要按照预先设置的分组机制计算目标团体的标识clan_id对应的团体分片节点clanshard的编号,然后定位到其管理的团体分片节点clanshard,并将请求发送到团体分片节点clanshard的learder节点中;
80.步骤s302,团体分片节点clanshard的主节点leader判断目标团体的标识clan_id是否在预先存储的团体列表中,若不存在,则执行步骤s303,若存在,则执行步骤s306;
81.步骤s303,团体分片节点clanshard的主节点leader在其管理的团体分线节点列
表中,随机挑选一个团体分线节点clanstub,发起加载目标团体clan的请求,执行步骤s304;
82.步骤s304,团体分线节点clanstub接收到请求后,从数据库中读取对应的目标团体的存盘数据,将存盘数据加载到内存中,完成目标团体clan的加载,通知团体分片节点clanshard的主节点leader,目标团体clan加载完成,其中,整个步骤s304的过程如图3中,步骤s304的虚线所示,然后执行步骤s305;
83.步骤s305,团体分片节点clanshard的主节点leader接收到目标团体clan加载完成后,将目标团体clan的标识clan_id,及其对应加载的团体分线节点clanstub的通信地址登记到团体列表中,以对团体列表进行更新,执行步骤s306;
84.步骤s306,团体分片节点clanshard从团体列表找到目标团体标识clan_id对应的团体clan所在的团体分线节点clanstub的通信地址,通过通信地址发送操作请求消息到团体分线节点clanstub上,以执行团体相关的操作,执行步骤s307;
85.步骤s307,团体分线节点clanstub接收到请求后,操作对应的团体数据;
86.步骤s308,将操作完成的消息返回至用户侧。
87.综上,本发明实施例提供的团体数据的处理方法,通过在游戏的后台服务器中配置分布式团体服务集群,可以保证游戏团体组织的高可用性,保证游戏的后台服务器不会因为单点故障导致整个团体组织服务中止;同时,也可以保证游戏团体组织的高扩展性,保证团体组织服务可以在线扩容,提高服务负载的上限,因此,本发明实施例提供的分布式团体服务集群的方案,保证了游戏运营期间的用户体验,为用户提供不间断的游戏团体组织服务,保证游戏团体组织服务的稳定高可用运行,以及高扩展性。
88.在上述实施例的基础上,本发明实施例还提供了一种团体数据的处理装置,应用于服务器,所述服务器配置有分布式团体服务集群,所述分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,所述团体分片节点、所述团体分线节点和所述团体节点启动后,均与所述团体中心节点网络连接;
89.其中,所述团体中心节点负责所述分布式团体服务集群的网络拓扑;所述团体分片节点用于管理包含多个所述团体节点的团体列表,并转发所述团体节点的操作请求消息;所述团体分线节点用于负责所述团体节点的加载操作;所述团体节点运行于其中一个所述团体分线节点上。
90.为了便于理解,图4示出了一种团体数据的处理装置的结构示意图,该装置包括:
91.接收模块40,用于接收操作请求消息,其中,所述操作请求消息中携带有请求操作的目标团体的标识;
92.定位模块42,用于根据所述目标团体的标识定位对应的团体分片节点,并将所述操作请求消息发送到所述团体分片节点;
93.处理模块44,用于通过所述团体分片节点确定所述目标团体的标识对应的团体分线节点的通信地址,并将所述操作请求消息发送至所述通信地址对应的所述团体分线节点上,以使所述团体分线节点执行所述操作请求消息对应的操作。
94.进一步,本发明实施例还提供了团体数据的处理系统,该团体数据的处理系统用于执行上述团体数据的处理方法;
95.其中,团体数据的处理系统配置有分布式团体服务集群;
96.所述分布式团体服务集群包括团体中心节点、至少一个团体分片节点、至少一个团体分线节点和至少一个团体节点,其中,所述团体分片节点、所述团体分线节点和所述团体节点启动后,均与所述团体中心节点网络连接;所述团体中心节点负责所述分布式团体服务集群的网络拓扑;所述团体分片节点用于管理包含多个所述团体节点的团体列表,并转发所述团体节点的操作请求消息;所述团体分线节点用于负责所述团体节点的加载操作;所述团体节点运行于其中一个所述团体分线节点上。
97.本发明实施例提供的团体数据的处理装置及系统,与上述实施例提供的团体数据的处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
98.进一步,本发明实施例还提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述方法。
99.进一步,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述方法。
100.进一步,本发明实施例还提供了一种服务器的结构示意图,如图5所示,为该服务器的结构示意图,其中,该服务器包括处理器51和存储器50,该存储器50存储有能够被该处理器51执行的计算机可执行指令,该处理器51执行该计算机可执行指令以实现上述团体数据的处理方法。
101.在图5示出的实施方式中,该服务器还包括总线52和通信接口53,其中,处理器51、通信接口53和存储器50通过总线52连接。
102.其中,存储器50可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线52可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
103.处理器51可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器51可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软
件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器51读取存储器中的信息,结合其硬件完成前述实施例的团体数据的处理方法。
104.本发明实施例所提供的团体数据的处理方法、装置、系统及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
105.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
106.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
107.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
108.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
109.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1