版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于构件动态迁移解决MMORPG负载均衡问题的研究1、绪论11 游戏的发展历史12 Internet的发展为网络游戏带来了机遇和挑战13 MMORPG面临的问题,特别是服务器的负载问题14 目前的解决方法和研究现状15 本文所做的工作16 本文研究的意义和目的2、MMORPG的构件模型21 构件理论211 构件的定义软件构件3是一个被独立发布的可重用软件功能单元,可以通过它提供的接口访问它的服务。它可以第三方获取,独立地部署并任意地组装。它具有规范的接口规约和显式的语境依赖。从以上构件的定义可看出,技术与市场是构件的两大特征。技术特征包括独立性、接口规约、组装、语境依赖;市场特征包括独立发布、
2、第三方获取、组装和部署等。212 构件的要素构件具有5个要素4,用集合枚举法表示如下:Component=Specification,Implement,Standard,Packing,Deployment各要素含义如下:(1)Specification 规范的接口规约(规格说明)构件建立在接口的概念上,构件要求有一个关于它所提供的服务的抽象描述,以作为构件提供方与使用者之间的契约。构件接口规约不仅仅简单地定义一系列可用的服务,构件服务使用的前置与后置条件(最弱前置条件与最强的后置条件)。规格说明最好用形式化语言说明,如最弱前置条件服务最强后置条件。(2)Implement 一个或多个实现构
3、件必须被一个或多个实现支持。这些实现符合规范的接口规约(规格说明)。然而规格说明允许构件在内部操作上有很大的自由度。在这种情况下,实现者可以选择任何一种被认为是合适的实现方法。唯一的限制就是要满足在规格说明中定义的行为。实际上,这个行为可能仅仅是现成的系统或者是成品应用程序,它们被包装起来,以使它们的行为符合在构件标准中定义的规则说明。(3)Standard 受约束的构件标准软件构件存在于一个定义好的环境中,或称为构件模型。构件模型是一套支持软件的服务,加上为了使构件利用这些服务而必须遵守的一套规格。己有的构件标准模型包括Microsoft/COM, Sun/ETB, OMG/CORBA构件标
4、准。这些构件模型中每一种都解决了诸如一个构件怎样使其他构件获得它的服务,构件怎样被命名以及怎样在运行时发现新构件的服务等等这样的问题。此外那些企业级系统的构件模型还提供额外的功能,如事务管理、永久化和安全性等的标准方法。(4)Packing 包装方法构件可以按不同的方式分组来提供一套可以替换的服务。这个分组称为包。一般地,当第三方获取构件的时候买卖的就是包。它们代表了必须安装在系统中的功能单元。为了这个包可以使用,在构件模型中要有对包的注册机制。(5)Deployment 部署方法构件成品要在一个运行环境中运行,它们就必须被部署。这是通过创建构件的可执行实例并且允许与它发生交互来实现的。部署的
5、时候需要提供一系列的常量,这些常量包括构件在运行环境中唯一标识符、数据源的唯一标识符等。213 构件与对象通过实践中运用对象技术和构件技术开发不同的软件系统,感到二者之间相似性很多,实际上可以认为构件技术是以面向对象为基础而发展起来的,构件技术是对象技术的发展。虽然它与对象有很多的相似之处,但是还是有本质的区别4:(1)从抽象程度来看,面向对象技术已达到了类级重用(代码重用),它以 类为封装的单位。这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了
6、具体的实现,只用接口提供服务。(2)构件和对象的本质区别:构件提供的是服务,对象提供的是功能;构件接口描述了问题域,而对象接口描述了方案域。(3)存取构件和对象中的信息都必须通过它们的接口,构件的结构有必要充分描述它的语义,对象做不到这一点,所以对象需要另加接口才可以成为构件,所以有人认为:构件 = 对象 + 接口,这只是构件的充分条件。(4)构件的接口是一种服务提供者对服务使用者的承诺: 即契约(contract);用契约确保一组构件之间的行为组合,对象就没有这个说法。 由于服务存在的持久性,所以服务都是永久性存储对象。(5)构件的粒度一般较粗,它可能包括一个或多个对象(或类)。22 分析M
7、MORPG,抽象出其主要构件221 MMORPG中虚拟世界的要素MMORPG(大型多人在线角色扮演游戏)其实就是大量的玩家控制的角色(PC)和非玩家控制角色(NPC)在同一个虚拟的世界中进行活动和交互的过程。定义2.1 对象:一组相关联的属性的集合,某个对象在t时刻的状态就是这个对象的属性在t时刻的属性值的集合。定义2.2 场景:若干个对象的集合,某个时刻场景的状态就是该时刻该场景中所有对象状态的集合。场景状态的改变将会是时间的到达或者角色状态的改变而引发的。定义2.3 角色:也是指若干个对象的集合,但它将是动作的发起者,也就是说是由它来主动驱使整个游戏世界状态的改变。定义2.4 世界:世界是
8、由有限个场景和有限个角色组成的,通过场景的相互连接,每一个场景再内置了若干个角色,而通过角色的活动或时间的到达来驱使角色和场景的状态发生改变,从而使世界的状态发生改变。在MMORPG中,玩家需要扮演游戏中的一个角色,在虚拟的世界中冒险。在虚拟的世界里玩家所扮演的角色称为acter,除acter外还有非玩家控制的角色(NPC,包括怪物、AI控制的人等)。假如我们把非玩家控制角色和玩家控制角色等同看待,那么在虚拟世界中的活动对象便只有一种,本文统称之为角色。而角色活动的区域,称之为场景。所以整个虚拟世界便由有限个场景连接而成,而MMORPG本身便是角色在这些场景中的活动和交互。通过上述,我们可以界
9、定出MMORPG的虚拟世界中的两种主要构成要素,即场景和角色。场景包括地形、建筑物、障碍物等一切放置在场景中的物品,当然也包括角色,但场景并管理角色内部的属性,如:角色的生命体征、战斗力、性格以及角色随身携带的道具和武器等;角色本身具备的特征都归角色管理;游戏世界中可携带的物品,如:道具、武器、盔甲等,当其由角色携带时归角色管理,否则归场景管理。所以可以抽象出MMORPG中的两种最基本的构件场景构件和角色构件,于是MMORPG中的活动和交互就变成了构件之间的交互,这两种构件之间的交互有以下三种:(1) 角色构件和角色构件之间的交互; (2) 场景构件和场景构件之间的交互; (3) 角色构件和场
10、景构件之间的交互;222 MMORPG的体系结构(1) 客户端/服务器组件就内核而言,MMORPG是一个客户端/服务器系统。它提供了一个网络抽象层,用以在Internet上分发客户端和服务器进程之间的消息数据包。游戏仿真层接收这些消息数据包并对其进行处理,它还负责保持客户端和服务器端游戏状态空间的一致性。物理层对这个状态空间中对象的物理表示进行详细仿真。因为客户端的渲染层只需要向玩家显示它能感知到的物体,在任何给定的时间,客户端只需对服务器端仿真对象的一个子集进行仿真。这使得客户端可以在比服务器端物理层更高的细节层次上进行物理仿真。图2-1所示就是这个体系结构的纵览。图2-1 客户端/服务器游
11、戏架构(2) 通过代理仿真服务器端的游戏仿真层保留了对游戏状态空间的惟一精确表示。如果客户端之间的状态不一致,服务器端必须对它们作出仲裁。服务器端把状态空间中行动者和其他对象的变化广播给客户端,客户端接收并更新代理对象,这些代理对象构建了一个与本地近似的游戏状态空间。用户通过向服务端仿真层发送动作请求来与之交互,服务端仿真层在执行动作之前必须验证这些请求。图2-2描述了请求过程。出于安全原因,在设计MMORPG游戏时永远都不能信任客户端对于状态空间的表示。图2-2 通过行动者和代理对象来进行客户端/服务器仿真23 基于场景构件和角色构件的MMORPG的构件模型从2.2节中分析知道,可以从MMO
12、RPG中抽象出两种最基本的构件:场景构件和角色构件,从而能使MMORPG中的所有交互演化为这两种构件之间的交互。再结合以上对MMORPG仿真体系结构的分析,所以这两种构件分别必须具备客户端代理,我们不妨称之为:客户端场景构件和客户端角色构件。对这四个构件的职责我们作以下描述:(1)客户端角色构件:主要负责代理服务端角色的状态并与玩家进行交互,接收输入设备的事件进行处理后,向服务端角色构件发送相应的玩家动作消息,同样也负责接收服务端角色构件的状态改变消息来改变自身状态并向玩家展示。(2)服务器端角色构件:接收客户端角色构件请求,并作出响应或将请求处理后向服务器端场景构件转发,也接收服务器端场景构
13、件请求角色的状态信息。(3)客房端场景构件:主要接收服务器端场景构件发出的有关场景状态变化的消息,并调用3D引擎将变化呈现。(4)服务器端场景构件:除去与角色自身状态变化相关的逻辑外,它几乎相当于游戏的服务器端,除了处理所有与场景状态变化相关的逻辑外,它作为一个中间人,来负责在该场景中的角色之间的交互。本文的最终目的是将MMORPG构件化,然后通过构件的动态迁移来达到游戏服务器负载均衡。所以减少构件之间的交互有利于构件迁移一致性的保证(下文将会论述),因此我们对这四个构件的提出了以下约束条件:(1)交互性约束:客户端角色构件不能和服务器端场景构件进行交互,同样客户端场景构件也不能与服务器端角色
14、构件进行交互,因为客户端角色构件和客户端场景构件分别只是服务器端角色构件和服务器端场景构件的代理,所以它们只需对自己所对应服务器端构件负责。服务器端的角色构件之间也不能进行直接的交互,它们必须通过场景构件进行交互。(2)连接性约束:一个场景构件可以同连接多个角色构件,但一个角色构件不能同时与多个场景构件进行连接,就是说同一个场景中可以同时存在多个玩家角色,但一个玩家角色不可能同时在多个场景中。(3)部署性约束:由于本课题的目的是通过封装场景和角色成为构件,然后利用构件的动态迁移来实现服务器的负载均衡,场景是一个粒度比地图小的多的角色活动场所,所以利用场景来划分世界更有利于将世界分割到不同的服务
15、器,所以我们约束一个场景构件不能分开部署到不同的服务器上。 图2-3展示了本文的构件模型:图2-3 同一场景的构件模型上图描述了代表同一个场景中N个角色的角色构件和代表该场景的场景构件之间的交互。而不同场景之间的交互只须分别由代表各自场景的场景构件进行通信来实现。 3、物理体系结构 31 C/S模型311 简单的C/S模型C/S(客户端/服务器)模型是网络游戏采用的最广泛的物理体系结构模型。在这种体系结构中,客户端与其它客户端不直接进行通信。网络上所有客户端的消息都必须先发送给服务器,再由服务器将消息转发给其它客户端。如下图示:图3-1 简单的C/S模型这种体系结构比较适用于多人在线游戏,成千
16、上万人进行同一场游戏。服务器上有完整的游戏世界模型,玩家在客户端观察这个世界,并与之互动。由于游戏状态只保存在服务器上,而且所有客户端的操作命令都必须经由服务器统一管理,因而能够很好地保证游戏状态的一致性;同时,由于只有服务器保存游戏状态,使得对游戏状态的非法操作很难实施,从而有效地防止了作弊行为。然而,中心服务器有可能因为负载过重而成为整个系统的瓶颈,难于扩展,而且服务器的瘫痪也会导致整个游戏的瘫痪。另外,网络游戏的升级比较麻烦,每次升级都需要客户端下载体积庞大的更新软件,然后进行安装。对于一些带宽并不是十分充足的用户而言,升级就成了游戏的梦魔。不过良好的客户端程序框架设计可以在一定程度上避
17、免升级时下载庞大的更新软件。312 基于服务分离的C/S模型随着网络游戏规模的膨胀和在线玩家的增加,简单的C/S体系结构已经无法满足游戏的需要,主要是游戏服务器因负载过重而无法正常运行。很自然,分离的思想被引进来,把网络游戏中相对独立的功能模块放在独立的服务器上运行,于是便形成如下图示的C/S模型:图3-2 基于服务分离的C/S模型这种C/S体系结构把游戏中比较独立的服务分离出来,放在独立的服务器上运行,如:登录服务、AI(人工智能)服务、GM(游戏管理)服务等;利用网关服务器接收客户端的请求,然后发送给相应的功能服务器进行处理,再把处理结果返回给客户端,在这里网关服务器相当于一个中转站,它并
18、不处理请求,只是做一个分类,然后再派发。当然根据不同的游戏和不同的开发者,分离的方法不一样。这种体系结构模型能够在一定的程度上减轻游戏主逻辑服务器的负载。313 基于地图分割的C/S模型Internet的迅速发展和普及给网络游戏带来了春天,使网络游戏以惊人的速度发展,甚至已具备产业性的规模。但同时也带来了一系列的挑战,其中之一便是服务器负载的问题。随着在线玩家的迅速膨胀,当前有些网络游戏的注册玩家甚至达到几十万,这样在游戏高峰期时,同时在线的玩家有可能达到几万,甚至几十万,这给游戏服务器端的负载提出了极大的挑战。于是游戏开发者们便将游戏的虚拟世界进行分割,也就是把游戏地图进行分割,让每一个独立
19、的地图服务器管理一块或若干块,这样就可以把在不同地域活动的在线玩家角色和NPC分割到不同的服务器中,以此来分担游戏服务器的负载,这也就是当前大多数MMORPG都会设计出好几个不同的种族,让每一个种族的出身地都不一样,并且相隔比较远的原因,这样做可以把在线玩家分布到不同的地图上,从而分布到不同的服务器上。这种体系结构模型如下图示:图3-3 基于地图分割的C/S模型32 P2P模型网络游戏另一个常见的体系结构便是P2P( Peer to Peer)对等通信结构即多个玩家参与的游戏中,各个玩家之间采用Peer to Peer的直接通信方式,没有中心服务器来保存游戏状态,而是每个客户端保存自己的游戏状
20、态。在网络通信服务的形式上,一般采用浮动服务器的形式,即其中一个玩家的机器既是客户端,又扮演服务器的角色,一般由创建游戏局的玩家担任服务器(主机),很多对战型的RTS( Real Time Strategies,实时战略)网络游戏都是采用这种结构。其结构示意图如下:图3-4 P2P模型采用这种体系结构时,当客户端消息产生时,直接将消息广播给其它客户端,不用经过服务器,减少了消息在网络中传输的延迟;同时,由于每个客户端都保存了一份游戏状态,因而消除了C/S体系结构中的服务器瓶颈现象。然而,游戏状态被保存在每个客户端中,如果消息在传送过程中丢失或者在不同的时间到达不同的客户端,必然会引起游戏状态的
21、不一致。而且,决策机制都放在客户端上,玩家很容易通过篡改资料或者修改游戏代码来作弊。所以这种模型的体系结构并不适合用于MMORPG(大型多人在线角色扮演游戏)。33 基于MMORPG构件模型的体系结构本文从MMORPG中抽象出场景构件,目的是为了以场景为单位来划分游戏世界,并把场景做成构件为在该场景中玩家角色提供服务,把若干个场景构件部署到不同的游戏服务器中,然后从超负载的服务器上动态迁移场景构件到负载较轻的服务器上,从而带动角色构件和场景构件一起迁移,来达到在线玩家较为均衡地分布在不同的服务器上。从本质上讲,这种方法和按地图分割游戏世界并分布到不同的游戏服务器上的方法是相似的。其主要区别有以
22、下几点:(1)以场景为单位,粒度较小,可以使负载均衡更为灵活;而且场景本身就是游戏设计时要考虑的一个重要因素,这样更能使在游戏设计的初期,就能考虑到场景的各个属性,以便于后期技术实现时,可以以场景为单位对游戏世界进行有效的分割。(2)考虑到以地图来划分游戏世界时,玩家角色有可能在两块的地图的边缘来回地移动,假如刚好这两块地图分布在不同的服务器上,并且其中的一个服务器上的在线玩家数量刚好达到临界值,这时就会造成整个服务器集群反复地实施均衡算法。而一般情况下玩家不会来回在不同的场景中移动,所以以场景为单位来划分游戏世界时,这种情况的可能性将大大降低。(3)因为场景的粒度较地图要小的多,所以在实施负
23、载均衡时,动态迁移场景构件来带动该场景中的角色构件迁移时,每迁移一个场景构件出现迁移大量的角色构件的可能性要大大降低,也就是说一个场景中出现大量玩家角色的可能性会比较低。以上几点的区别并不足以影响到MMORPG的物理体系结构,所以本文的基于MMORPG构件模型的体系结构仍是采用基于地图分割的C/S模型。由于本文的目的是在游戏服务器集群中利用构件动态迁移的思想把在线玩家均衡地分配到不同的服务器上,所以物理体系结构应该满足以下几点:(1)集群服务器,必须具备集群服务器结构,才有可能用来分割在线玩家。(2)对客户端的连接必须是透明的,随着服务端场景构件和角色构件的迁移,为了不改变客户端的连接状态,所
24、以对客户端的连接必须保持透明。(3)动态调整各个服务器上在线玩家数量,以期达到平衡。如下图示:图3-5 基于MMORPG构件模型的体系结构首先,我们看一下场景服务器集群,场景服务器集群是由若干个部署有场景构件和与场景构件相连的角色构件的服务器组成的。其中每一个服务器部署了若干个场景构件,以及在该场景中的玩家角色所代表的角色构件,这些场景构件可以互通消息,也可以和其它服务器上场景构件通信。而角色构件只能与它所在场景所代表的场景构件通信,当然它可以通过场景构件实现与其它的任何角色构件和其它场景构件进行交互。其次,均衡服务器负责监视场景服务器集群的状态,一旦发现某个场景服务器超负载,它将从该服务器中
25、选择适当的场景构件,并将迁移至其它的场景服务器上,当然也包括迁移在该场景中的玩家角色所代表的角色构件,同时它还负责把各个场景构件和角色构件的相关状态更新及时地通知给网关服务器,以便网关服务器能正确地派从客户端来的消息。最后,网关服务器的作用和基于地图分割的C/S模型中的作用一致,只是该模型中其它的功能服务器并不是本文所涉及的内容,所以没有在图3-5中体现出来。4负载均衡41 负载均衡技术简介随着Internet的迅猛发展,网络业务量和用户数的急剧增长,单个服务器的处理能力已经无法满足这种需求,单靠升级网络设备又面对价格昂贵和不断升级的困境,因此负载均衡技术应运而生。负载均衡就是指把客户端的请求
26、,按照一定的分配策略平均分给集群内部的各个节点进行处理,当系统的负载出现不平衡时,还能将重载节点上的任务转移到轻载节点上执行,使得整个集群中所有节点的负载都趋向平衡,从而缩短作业的平均响应时间和提高系统的资源利用率。负载均衡技术基于现有的网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。为了改善系统的性能,通过在多台计算机之间合理地分配负载,使各台计算 机的负载基本均衡,这种计算能力共享的形式,通常被称为负载平衡或负载共享。一般来说“负载均衡”要达到的目标是使各台计算机之间的负载基本均衡,而“负载共享”意味着只是简单的负载
27、的重新分配2021。负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。负载均衡是集群系统中的一个重要技术。集群的最大特征是多个节点的并行和共同工作完成任务。为了让系统体现出较好的可靠性,如何让所有硬件承受的负荷平均,不出现局部过大负载
28、或过轻负载的情况,是负载平衡的重要目的。如果出现局部过大负载,必然导致整个作业的时间延长;如果出现局部过轻负载,设备资源被搁置浪费,不符合成本最低原则。负载均衡的目标是:提供最短的平均任务响应时间;能适于变化的负载;是 可靠的负载均衡机制22。一个负载均衡算法通常包含以下三个组成部分:信息策略:制定任务放置策略的制定者使用的负载和任务量,以及信息分配的方式。传送策略:基于任务和计算机负载,判断是否要把一个任务传送到其它计算机上处理。放置策略:对于适合传送到其它计算机处理的任务,选择任务将被传送的目 的计算机。负载平衡的上述三个部分之间是以不同的方式相互作用的。放置策略利用信息策略提供的负载信息
29、,仅当任务被传送策略判断为适于传送之后才行动。目前, 常见的算法有:中心任务调度算法、梯度模型算法、发送者启动算法和接收者启动算法。随着网络硬件设备的飞速进步,网络带宽的瓶颈效应日趋减弱,WEB服务器的性能问题逐渐显现出来。单一的服务器系统处理客户请求的能力有限,如何处理快速增长的客户请求,是当前研究人员关注的重要问题。从目前的研究方向看,服务器方向的研究可以归结为两个方面。首先是从实现机制上入手,主要研究Caching技术、预取技术等。这方面的研究主要从客户访问行为分析入手,研究可以缩小响应时间的方法,这些技术可以在现有服务器设备的基础上尽可能地提高系统的性能,但是对性能的提高程度有限。同时
30、可以从体系结构入手,将过去单一的服务器结构扩充为集群式服务器结构。这种改造可能需要增加较大的开销,但可以显著提高服务器的总体性能。 2223很显然,优化服务器性能将是今后一段时间研究的一个热点。许多服务器制造商都在努力推出性能更加优良的服务器,但是单一服务器结构有一个致命的缺陷,那就是由于服务器的处理能力有限,有可能会出现死锁的情况。死锁的产生是由于新请求的到达率大于系统服务率,系统没有能力在短期内处理所有的请求,导致等待队列溢出,系统稳定状态转为不稳定状态,最后崩溃。集群服务器具有良好的可扩展性,可以随着负载的增大动态地向集群中增加服务器,从而就避免了由于处理能力不足而导致的系统崩溃。42
31、负载均衡算法的分类对于负载均衡有很多的分类方法,在文献9中对负载均衡进行了如下的分类:(1)局部和全局局部负载均衡处理单个处理器上的进程对时间片的分配。全局负载均衡首先是把进程按不同策略分配给多个处理器,然后完成每个处理器内这些进程的局部调度。(2)静态和动态(在全局类中)静态负载均衡中,进程对处理器的分配是在进程执行以前的编译阶段完成的,均衡决策与系统状态信息无关,而动态负载均衡要到进程在系统中执行时才进行。(3)最优和次优(在静态和动态两种类型中)如果根据标准,比如最小执行时间和最大系统输出,可以取得最优负载分配,那么就可以认为这种负载均衡方法是最优的。一般的,负载均衡问题是NP完全问题。
32、某些情况下,次优方案也是可以接受的。有四类算法(对于最优的和次优的)被使用:解空间枚举搜索、图模型、数学编程(例如0/1编程)和队列模型。(4)近似和启发式(在次优模型中)在近似方法中,负载均衡算法仅搜索一个解空间的子集,当寻找到一个好的解时,终止执行。在启发式方法中,调度算法使用某些特殊参数,能够近似地对真实系统建模。(5)集中式和分散式(在动态类型中)在集中式算法中,设置了一台主机专门负责系统的负载状况的收集和迁移决策。在分散式算法中,这些工作被分配给不同的处理器。(6)协作的和非协作的(对分散式)动态负载均衡机制可分成:协作的分布式对象间有协同操作,非协作的,处理器独立做出决策。Lewi
33、slml讨论了另一种负载均衡算法的分类方法10,对以上的分类法做了补充,列出了一些不能直接归入上面分类的负载均衡类型:(1)单个和多个应用程序多数负载均衡算法是针对单个应用程序。多应用程序情况可以转换成单个应用程序情况。(2)非抢占式的和抢占式的对非抢占式的负载均衡算法,一个任务(进程)开始执行后就不能中断。在抢占式负载均衡算法中,进程可以中断,并从处理器上移走,过后继续执行。(3)非自适应的和自适应的非自适应负载均衡只使用一种分配算法,不会根据系统反馈而改变自己的行为。自适应负载均衡能够根据系统反馈调整分配算法。典型情况下,一个自适应负载均衡算法是许多负载均衡算法的集合,依据系统的各种参数来
34、选择一个合适的算法。43 MMORPG中的负载均衡技术431 MMORPG系统的特点对于一个典型的MMORPG系统,主要有以下几个特点11:44 基于场景构件动态迁移的负载均衡算法441 算法特点442 算法模型443 算法描述444 算法实现5MMORPG中的构件动态迁移51 构件动态配置技术52 构件一致性体系53 构件动态迁移所涉及的一致性及其保证方法54 构件动态迁移的算法描述55 构件动态迁移的算法实现6总结全文工作,并对未来工作进行展望参考文献3Clemen Szyperski,Dominik Gruntz,Stephan Murer.Component Sofyware: Bey
35、ond Object-Oriented Programming.Second Edition.电子工业出版社.2004,94Alan W.Brown,Large-Scale Component-Based Development.机械工业出版社.20039Casavant,T L.and J. G Kuhl. A taxonomy of scheduling in general- purpose distributed computing systems. IEEE on Transaction on Software Engineering,1994.,Volume1 4,pages 14
36、1一154.10Lewis,T .Q and H .El-Rewini.Introduction to Parallel Computing, Prentice Hall,Inc.,1992,pages 443.11S.Singhal and M.Zyda, Networked Virtual Environments: Design and Implementation, p37-p49, Addison-Wesley,1999.12 Jouni Smed Timo Kaukorama, Harri Hakonen. A Review on Networking and Multiplaye
37、r Computer Games. In Turku Centre for Computer Science TUCS Technical Report, April 2002, pages 454.13Anthony Steed, Roula Abou-Haidar. Partitioning Crowded Virtual Environments. In Proceedings of the ACM Symposiumon Virtual Reality Software and Technology,2003,pages 7-14.14Cheng-Zhong XU,Francis C.M.LAU.Iterative Dynamic Load Balancing In MultiComputers. Journal of Operational Research Society,July 1994,pages 786-796.15Ian Joseph Cunningham. Load Balancing Schemes for Distributed Real-T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030绿色建筑认证标准实施效果评估
- 2025-2030绿色建筑产业行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030绿色建材制造业供需格局及未来投资方向分析报告
- 2025-2030绿电交易机制下新能源企业营销策略与客户画像分析
- 2025-2030绿氢制备碱性电解槽与PEM电解槽经济性临界点预测报告
- 2025-2030纳米药物递送设备创新趋势及知识产权布局分析报告
- 2025-2030纳米生物制剂在农业领域的产业化障碍与突破路径分析
- 2025-2030纳米材料在新能源领域的应用突破与专利布局研究报告
- 2025-2030红木资源稀缺性与替代材料发展前景
- 2025-2030精酿啤酒风味标准化体系建设与感官评价方法创新报告
- 色盲检测图(第五版)-驾校考试-体检必备-自制最全最准确
- (3.10)-心悸急诊医学急诊医学
- 八年级美术PPT课件 荷兰后印象派画家梵高作品介绍 《向日葵》《吃土豆的人》《割耳朵后的自画像》
- GB/T 3390.1-2013手动套筒扳手套筒
- GB/T 16674.1-2016六角法兰面螺栓小系列
- GB 6675.1-2014玩具安全第1部分:基本规范
- 土方回填施工记录表
- 惠州市基层诊所医疗机构卫生院社区卫生服务中心村卫生室地址信息
- 气排球临场裁判及配合
- 四知卡(一责双卡 岗位风险识别卡)-加油站加油参考模板范本
- 西门子燃气轮机介绍课件
评论
0/150
提交评论