首页> 中国专利> 基于集群服务器的分区自适应网络系统及其构建方法

基于集群服务器的分区自适应网络系统及其构建方法

摘要

本发明公开了一种基于集群服务器的分区自适应网络系统及其构建方法,系统中服务器监测自身或其他服务器承载的工作量,当该工作量超过预定值时,所在服务器中其中的部分工作任务自动被分发给其他服务器,实现服务器扩容;或当该工作量低于预定值时,自动将所在服务器的工作任务卸载,并由自身或交其他服务器执行该工作任务;或当该工作量低于预定值时,该服务器自动将自身的工作任务卸载,并交给其他服务器执行。本发明应用于网络游戏时,可将游戏地图或游戏元素等划分为若干部分分置于各个服务器中,使网络游戏突破了单一服务器的限制,网络游戏的地图大规模扩大,游戏元素、游戏内容等大规模增加,同时上线量大幅度提高,可玩性大大增强。

著录项

  • 公开/公告号CN101753534A

    专利类型发明专利

  • 公开/公告日2010-06-23

    原文格式PDF

  • 申请/专利权人 徐文祥;

    申请/专利号CN200810218149.1

  • 发明设计人 徐文祥;

    申请日2008-12-10

  • 分类号H04L29/06(20060101);G06F19/00(20060101);

  • 代理机构44281 深圳鼎合诚知识产权代理有限公司;

  • 代理人陈俊斌

  • 地址 518000 广东省深圳市北环路青洲大厦18C

  • 入库时间 2023-12-18 00:22:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-22

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20140625 终止日期:20181210 申请日:20081210

    专利权的终止

  • 2014-06-25

    授权

    授权

  • 2012-06-06

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20081210

    实质审查的生效

  • 2010-06-23

    公开

    公开

说明书

【技术领域】

本发明涉及一种网络结构及其构建方法。

【背景技术】

现在的网络游戏的地图大小及上线人数往往受到服务器及网络的速度限制,如每个服务器同时上线几万人就暴满了,游戏不得不采用增加服务器内存、服务器的CPU升级、网络速度升级等硬件方法来满足要求,或采用减少网络虚拟怪物等刷新数量,以满足同时在线人数增加的要求。现有技术中,均为基于单服务器多人在线游戏的游戏地图,请参考图1、图2所示,如《传奇》、《魔兽世界》、《征途》、《热血江湖》等,由于所有的整个游戏地图内的事务由一个服务器服务。在一个总游戏地图之下,再根据行政区划逐级划分地图单元,即目前多人在线游戏中存在的“城域”或“单个游戏单元”的概念,如图3所示,“城域”概念指的是游戏中行政划分概念的某省某城市,如传奇里的“比奇省”;如图4所示,“单个游戏单元”概念指的是游戏中类似于某省某洞,如传奇里的比奇省的“骷髅洞”等概念。由于上述概念一般的玩家称之为小地图,而小地图是根据游戏的内容定义的。

以上海盛大公司运营的《热血传奇》为例,由于人数承载量的问题,同时在线的人数只能几万人。当游戏中超过承载上限时,只能通过另行架设服务器重新安装游戏副本(一份游戏拷贝)的方法增加同时在线人数,这些服务器上的内容只是重复、重复再重复,它们之间没有本质的联系,不能够作为一个整体概念的游戏存在,固然在文字信息及语音信息上可以通过介入的方法实现多服务器之间的信息交换,那不是真正意义上的一个游戏的概念。因此有了盛大运营过程中的区和服务器组的概念。

由于单服务器的资源有限,所以在一个总地图之下各级地图单元划分数量是受到限制的,不可能分得很精细。供玩家进入的地图单元、游戏内容、同时在线人数等也就受到了该服务器性能的限制,不可能有突破性的进展。

同理,在一个网络系统中,由于服务器性能的限制、各服务器的具体工作承载量等因素,导致系统中的各服务器中,有的负荷超载,导致工作效率大幅度下降,有的则工作量很小甚至处于空闲状态,资源没有得到很好的协调利用。

【发明内容】

本发明的目的就是为了克服上述现有技术的不足,,提供一种网络中的各服务器自动实时适应工作量要求,作出资源整合,提高资源利用率的网络系统及其构建方法。

为此,本发明提出了一种分区自适应网络系统,包括若干服务器;所述服务器监测自身或其他服务器承载的工作量,当该工作量超过预定值时,所在服务器中其中的部分工作任务自动/在网络管理员的协助下被分发给其他服务器,实现服务器扩容;或当该工作量低于预定值时,自动/在网络管理员的协助下将所在服务器的工作任务分发给其他服务器后停止服务达到缩容目的。

上述的分区自适应网络系统,所述分区自适应网络系统为分区网络游戏系统,具有总地图,所述总地图被划分为若干地图单元,每一地图单元单独部署在一个服务器上,该地图单元范围内的游戏功能,由该地图单元所在的服务器执行。

上述的分区自适应网络系统,所述地图单元被进一步分割成两个或两个以上,每一个被分割出来的地图单元单独部署于一个服务器。

上述的分区自适应网络系统,所述位于不同服务器中的两个或两个以上地图单元,被合并为一个地图单元部署在一个服务器中,并由该服务器执行相应的游戏功能。

同时,本发明提出了一种分区自适应网络系统的构建方法,该分区自适应网络系统包括若干服务器,该构建方法包括如下步骤:服务器监测自身或其他服务器承载的工作量,当该工作量超过预定值时,所在服务器中其中的部分工作任务自动被分发给其他服务器,系统实现服务器的扩容;或当该工作量低于预定值时,自动将所在服务器的工作任务卸载,并由自身或交其他服务器执行该工作任务,系统实现服务器的缩容;或当该工作量低于预定值时,该服务器自动将自身的工作任务卸载,并交给其他服务器执行,系统实现服务器的缩容。

上述的分区自适应网络系统的构建方法,将游戏总地图划分为若干地图单元,每一地图单元部署在一个服务器内,该地图单元范围内的游戏功能,由该地图单元所处的服务器执行。

上述的分区自适应网络系统构建方法,根据一服务器的运算量,进一步将部署在该服务器内之所述地图单元分割成两个或两个以上地图单元,并分别将每一地图单元单独部署在一个服务器上,该地图单元范围内的游戏功能,由该地图单元所处的服务器执行;实现服务器的扩容。

上述的分区自适应网络系统构建方法,根据各服务器运算量,合并位于各服务器中的两个或两个以上所述地图单元为一个地图单元,部署在一个服务器中,并由该服务器执行相应的游戏功能,实现服务器的缩容。

上述的分区自适应网络系统构建方法,按预定策略生成游戏地图或游戏内容,生成后根据接到的启动部署命令将生成的上述内容部署在服务器上,或自动将上述生成的内容部署在服务器。

上述的分区自适应网络系统构建方法,所述服务器的扩容过程包括:服务器分割地图形成数据,提取游戏的主程序,生成安装配置文件,将分割后分化出来的地图、安装配置文件连同主程序打包成自动安装包,找到空余服务器;并向该空余服务器传送自动安装包后启动该服务器的主程序;当确认该空余服务器启动完成后,删除或停止不属于已移交出去的该部分地图和相应功能。

基于上述的系统及方法,本发明提供一种网络中的集群服务器替代单一服务器而执行一个游戏的方法;本方法采用如下策略:

一、任务多服务器策略

将整个游戏中动态元素(山水、怪物、雨水雷电云雾等动态变化参数),任务(驱动任务触发、执行、完成的任务系统)、人物(人物动态变化参数)等相同属性的过程分解给相应的服务器处理,由整合服务器或客户端根据需要分别向上述服务器提取数据并整合成一个完成的游戏场景的方式来完成游戏执行的策略。

优势:提高游戏的承载量的同时提高游戏的执行效率。通过细化动态参数而分服务器执行,可以完成更复杂的、更大的游戏系统。

二、地图多服务器策略

将原本一个游戏地图分解为多个单元游戏地图,每个单元地图由一个服务器提供服务。该单元地图所有的任务由该服务区全权负责。当游戏人物进入另一个地图单元时候,该游戏人物一切事物由相应地图单元的服务器提供服务。整个地图单元组成了整个游戏,全部为所有地图单元提供服务的服务器构成一个集群服务器而形成一个游戏。

上述游戏系统,具有总地图,所述总地图被划分为若干地图单元,每一地图单元单独部署在一个服务器上,该地图单元范围内的游戏功能,由该地图单元所在的服务器执行。

上述游戏系统,所述地图单元被进一步分割成两个或两个以上,每一个被分割出来的地图单元单独部署于一个服务器。

上述游戏系统,所述位于不同服务器中的两个或两个以上地图单元,被合并为一个地图单元部署在一个服务器中,并由该服务器执行相应的游戏功能。

优势是:可以通过分解地图单元(讲一个地图单元分为两个或两个以上)的方法增加服务器来扩大游戏地图和游戏的总承载量。可以通过合并地图单元(将两个或两个以上的地图单元合并为一个地图单元。)的方法减少服务器从而降低成本。有效降低开发难度。

三、混合策略,由上面两个策略混合而成的策略。

优势:可有效降低开发难度同时提高执行效率。

由于采用了以上的方案,在网络系统中可以根据各服务器的工作负荷,进行适应性调整,当某个服务器的工作负荷超出预定值时,可以将部分任务分割给其他服务器执行,当若干服务器的工作负荷小于某预定值时,可以将各服务器的工作任务合并到某一个服务器执行;据此,系统资源得到有效高效的利用,对各个服务器的硬件要求可以降低,成本可以降低,避免不必要的资源和能源浪费。

当本发明应用于网络游戏中时,将游戏地图及其相关游戏内容、元素划分为若干地图单元及其相关游戏内容、元素,分别置于相应服务器中,使用足够数量的服务器;或将整个游戏中动态元素、任务、人物等相同属性的过程分解给相应的服务器处理,由整合服务器或客户端根据需要分别向上述服务器提取数据并整合成一个完成的游戏场景的方式来完成游戏执行的策略;使网络游戏突破了单一服务器的限制,可以使得网络游戏的地图大规模扩大,游戏元素、游戏内容等大规模增加,同时上线量大幅度提高,其可玩性大大增强。

本发明可以实现真正意义上的一个整体游戏和游戏承载量的需求;利用本发明可以开发出类似于地球的庞大的大洲及国家的概念性游戏。

进一步地,本发明采用智能化游戏部署和自动游戏生成的方法,根据服务器的运算量随时作调整,可以充分利用网络资源,可以得到更强大的游戏系统。

【附图说明】

图1是现有技术中游戏总地图在服务器中的结构示意图。

图2是现有技术中的游戏《热血传奇》的总服务器地图。

图3是图2总服务器地图中的服务器地图单元(行政划分地区)。

图4是图2总服务器地图中的服务器地图单元(单个游戏单元)。

图5是本发明实施例一的分区服务器网络系统将总地图分成若干服务器地图单元的结构示意图。

【具体实施方式】

下面通过具体的实施例并结合附图对本发明作进一步详细的描述。

实施例一

将网络游戏的总地图分割成两个或两个以上的目标单元,目标单元能够由一台服务器提供服务并且此服务器资源能够充分得到应用,或能够满足游戏开发公司对服务器资源的使用率,或游戏运营商的对服务器资源使用率的要求,前述目标单元定义为服务器地图单元。为了不跟小地图概念相混淆而提出服务器地图单元概念,服务器地图单元是针对服务器承载量而定的,当然,当将小地图按照本发明由一个服务器提供服务时,这个时候的小地图就成了服务器地图单元。反之当某些服务器地图单元承载量不足的时候,合并服务器地图单元为一个服务器地图单元而由一个服务器提供服务,也可能产生小地图的概念。

请参考图5所示,采用总地图分割成多个服务器地图单元后,服务器地图单元范围内的所有事务由一个服务器来提供服务,以增强网络游戏的承载量(个体元素,如游戏的人物、怪物、用品、花草树木等)、地图大小、元素密度、同时在线人数等。每个服务器地图单元的大小可以视情况而定,当服务器地图单元需要的总体运算量大的时候,可以减小服务器地图单元的面积,同理,当承载服务器地图单元的服务器运算量增大时,可以分割服务器地图单元为多个服务器地图单元而由多台服务器提供服务;反之当某些服务器地图单元承载量不足的时候,合并服务器地图单元为一个服务器地图单元而由一个服务器提供服务。当然,为了开发方便及减小开发难度,也可以采用固定大小的服务器地图单元。这样,游戏不仅可以扩大地图和提高同时在线人数容量,大量增加游戏元素,而且可以根据情况随意资源扩容和资源压缩以利资源应用最大化需求。

进一步地,本例可以开发出自动扩容和缩容的游戏系统,自动进行服务器地图单元分割及合并,并能够自动向两个或两个以上的目标服务器部署;或能够将两个或多个服务器中的服务器地图单元合并成一个服务器地图单元,按照预设程序或服务器产生方法交给一个服务器服务。这样,自动扩容和缩容游戏系统的产生,势必在游戏的维护成本和运营成本中产生极大的经济价值。

关于自动扩容,可以由服务器自动分发和转移任务部署实现。当承载量、地图大小、元素密度和同时在线人数等的综合服务量达到或超过预设标准时,为需要扩容的时候,服务器启动地图分割程序分割地图形成数据,提取游戏的主程序,生成安装配置文件,将分割后分化出来的地图、安装配置文件连同主程序打包成自动安装包,检查有没有空余服务器;如无,向管理员发出提供服务器指令;如有,则确认服务器是不是运行中,否,检查此服务器可不可以通过指令唤醒或启动,如果不能够指令唤醒或启动,向管理员发出服务器启动指令;如该服务器运行中,则检测该服务器是否有游戏的主程序,如有则向该服务器传送地图及玩家信息后启动该服务器的主程序,启动两个服务器间的目前信息交割程序完成交割,如无主程序,则向该服务器传送自动安装包后启动安装包完成部署;当确认部署服务器启动完成后,启动自身切割程序,将不属于自己的那部分地图的工作任务移交给刚部署完的服务器,移交完成后删除或停止不属于自己的那部分地图。

自动缩容,则是自动扩容的逆向过程。当担任监测任务的服务器监测到综合服务量低于预设标准后,向所有的服务器发送缩容请求或按照指定策略向指定服务器发出缩容请求,当有服务器在第一时间接受请求后或指定服务器接受请求后,将本服务器内的地图信息及玩家信息等向该担任监测任务的服务器提供,确认该担任监测任务的服务器接受地图信息及玩家信息等并启动后,启动两个服务器间的目前信息交割程序完成交割后,退出服务的服务器启动停机程序,或删除本机服务器内容,或停止服务待命,或实施关机。当然,缩容还可以采用地图表协助方式进行,地图表类似于地址指针表,为了有效保障服务器的运行效率,需要缩容的时候先检查地图表以确认自己临界的地图服务器,向该服务器发送缩容指令,收到该服务器指令后启动缩容程序,或向管理员发送缩容请求,由管理员采用人工干预的方式完成缩容。

上述缩容、扩容可以由管理员启动强制模式进行干预式管理完成。

依照本例的实施方法,可以对《热血传奇》游戏采用固定式方案进行如下开发:

开发游戏时,按照上述的地图分割方法,设计出地图分割方案形成服务器地图单元,针对服务器地图单元进行独立开发,开发完成后根据服务器地图单元的多少决定部署多少服务器,并使服务器地图单元或服务器之间的交换内容的处理方法能够满足整体游戏的要求,如信息交换(语音、文字、地图动态元素更新内容的交换)、用户服务器地图单元(服务器)之间的转移处理等。当用户从一个服务器地图单元转移到另一个服务器地图单元,或从一个服务器转移到另一个服务器时进行无缝衔接。在做完整体设计后,地图单元可以开发一个部署一个,而不必等到整体游戏开发完成才投入运营。

关于服务器地图单元或服务器之间的交换内容中,语音、文字交换是经常使用的功能,如用户的私聊、全服的喊话等,这部分内容的解决方案很多,最常用的是采用msn、qq、icq等服务方式,客户端有专用的语言、文字接口程序处理相关信息,向语音、文字服务器传送信息并从其上提取属于自己的信息。地图动态元素更新内容只有在用户转移服务器过程中用到,目的是使用户无缝地转移到目的服务器,当用户转移瞬间,当前服务器从目的服务器接受接口地图进入点一定范围的活动目标信息发送到客户端,当客户端收到信息后启动转移连接,同时将刚接到的信息显示给用户,当连接目的服务器成功后迅速跟进接口地图进入点的活动目标的信息,完成服务器的转移工作。

当然也可以采用静态转移方式,当客户端提出转移指令后,服务器发出固定位置待命信息,客户端连接成功后结束待命信息完成转移工作。对于玩家来说,接到待命信息就是用户进入固定的接口地图,目标服务器也有接口地图,两个接口地图内容一样,只有完成交接后用户才能够离开接口地图。

在开发游戏的设计阶段可以按照网络多层协议构架设计框架,每一层的事务由每一层的功能模块完成,它们之间采用接口连接,这样,开发有序的具体内容或更改游戏时只需要更改相关层就可以完成设计要求。

实施例二:

采用资源自适应方案对《英雄无敌3》进行开发:

开发游戏时,在总体设计上构建生长和压缩方法,在游戏运营过程中可以手动给出指令分割服务器地图单元,或自动给出指令方式分割服务器地图单元,而达到分为多个服务器进行地图部署,即生长方法;或自动合并服务器地图单元而减少部署地图的服务器数量,即或为压缩方法。这种部署方法,可以参照微软的或其它软件版本的跨计算机转移部署方案设计或网络化客户端软件发布概念设计。

先行构建《英雄无敌3》地图自动生成系统,它根据基础元素的特性,如地图地形(山地、沙漠、河流、海洋、山、草地、雪地、树林等地理元素的特性按照符合相应自然环境的特性组合出地图),地图大小(规定的小、中、大、巨大等并给出相应的尺寸),建筑元素(城堡、教堂、方尖碑、神塔、智慧石、传送门等)等元素按照策略组合成基本地图。将地图地形、建筑元素、npc人物等按照策略生成基础地图,财物/宝物、怪物、系统按照一定的时间在一定的范围内刷新而完成地图的构建。其他的子系统为公共子系统,如玩家管理子系统、经济子系统、服务器间玩家信息沟通子系统、服务器间玩家转移子系统、任务子系统等。公共子系统是针对性开发的系统,当然也可以按照随机生成策略开发。

根据上述方法产生的第一个地图部署在一个服务器中,当该服务器中同时在线人数、游戏人数等达到承载量达到或超过预定的负荷时,需要分置服务器时,该服务器启动基础地图构造程序来生成目标地图后,加入或生成公共子系统后打成软件包,按照服务器分发规则分布给其他服务器。同理,任何服务器都有如此能力来扩容。

关于压缩方法,当服务器感知其服务承载量小于预定的负荷后,启动压缩程序,向全区服务器或父服务器或向管理服务器发出压缩服务器指令,当接收到确认指令后将自身的地图及玩家信息发送给目标服务器并启动交接程序,确认交接完成后停止服务。此过程中,当采用全区服务器为目标管理对象时,每一个服务器接到压缩指令后向提出请求的服务器提供一个服务量的数据值,提出请求的服务器接收到所有的服务器提供的数据值后比较数据值找出满足条件的服务器后,对该联系双方的服务器启动压缩服务;如果没有找到合适的服务器,则停止压缩指令的执行或向管理员发出指令。当采用父服务器为目标对象的时候,查询父服务器的服务量的数据值后决定压缩还是等待(接收到等待指令的时候可以向管理员发送指令)。当采用管理服务器发送压缩指令的方法时,管理服务器监测每个服务器的负荷决定是否进行生长或压缩。管理服务器采用列表的方法工作或查询的方法工作。

服务器列表法;每个服务器有一个服务器地址及该服务器状况的列表,列表根据策略(策略很多,最常用的是定期检查固定地点更新标志,更新标志为1,则去指定位置提取更新信息。)随时更新服务器内容,或有一个提供服务器地址及该服务状况的列表的服务器,其他服务器需要信息时从该服务器中提取相应的信息。服务器列表法在服务器生长、压缩过程中能够更好地控制过程。

实施例三:

采用自动开发部署方案对《英雄无敌》进行开发:

类似于《英雄无敌》游戏的自动生成地图方案,可以以预定策略生成游戏地图或游戏内容,生成内容后可以自动部署于服务器,也可以形成动态地图,如为了增加游戏的可玩性,游戏按照某种规则定期或不定期地生成全部地图或局部地图,或直接派生出服务器地图单元而部署给新的服务器。

为了让玩家感觉到所有的服务器地图单元构成的是一个整体地图,各个服务器之间的信息协调至关重要,有两类信息需要解决:

1.基于全区服务器语音、文字信息或基于相关服务器地图单元的两个服务器或两个以上服务器的语音、文字信息沟通,可以采用专用语音、文字信息服务器处理,也可以采用向目标服务器直接发送信息的方式处理。

2.当玩家跨服务器移动的时候,为了营造整体性感觉,必须有跨服务器移动策略,在前面已有所描述。采用静态的容易实现,动态的技术要求难度大,但给玩家的感觉更好。

实施例四:

本例的游戏系统,采用如下任务多服务器策略:

将整个游戏中动态元素(山水、怪物、雨水雷电云雾等动态变化参数),任务(驱动任务触发、执行、完成的任务系统)、人物(人物动态变化参数)等相同属性的过程分解给相应的服务器处理,由整合服务器或客户端根据需要分别向上述服务器提取数据并整合成一个完成的游戏场景的方式来完成游戏执行的策略。

利用上述方法可以开发出类似于地球的庞大的大洲及国家的概念性游戏,其可玩性大大增强。推而广之,可以利用本发明的技术方案,开发出非游戏的大型自适应运算系统,例如,在办公应用系统中,可以根据服务器的承载量,产生资源自适应方案而执行服务器扩容和服务器合并指令。在本发明应用于网络游戏时,服务器承载量是以地图资源为划分的载体的,在办公应用系统中则可以以人数为划分载体,可以以提供服务内容为载体而决定合并服务器还是分割服务器。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。例如,可以采用混合策略,由上述的地图多服务器和任务多服务器两个策略混合而成的策略。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号