1.新老服务器更换后数据同步了,是怎么回事啊,新老服务器的Ip和计算机名都我们的孩子不一样了了

[原创]本地计算机上的数据库:用服务器名能够连接,用ip不能连接的问题处理 - 守望者
- 畅享博客
|收藏博客|加入友情链接|给博主留言
记录生活的点点滴滴!
[原创]本地计算机上的数据库:用服务器名能够连接,用ip不能连接的问题处理
[原创]本地计算机上的数据库:用服务器名能够连接,用ip不能连接的问题处理
&本地计算机上的数据库:用服务器名能够连接,用ip不能连接的问题处理。&首先看看是不是安装sql 2005 的时候选择了默认实例名或者自己设置了实例名。这样连接的时候就要设置Server name 为ip/实例名。我碰到的问题就是因为实例名的问题。后续的步骤我都设置了,但是用ip连接还是失败,真的是晕。看的时候都没有看仔细,&&这种情况显然是有实例名的哦。用ip连接只要设置Server name 为ip/SQLEXPRESS就OK了。如果不是实例名的问题,就按照下列的操作来处理。首先使用SQL Server 2005外围应用配置器, 服务和连接的外围应用配置器&&Database Engine&&远程连接&&选择本地连接和远程连接&&同时使用TCP/IP和named pipes(B)&&确定,然后重新启动 SQL Server (SQLEXPRESS)服务。&&&检查数据库的属性&&Security 选择SQL Server and Windows Authentication mode.&&Connections&&Allow remote connections to this server.&<div class="votes" id="Score
下一篇:上一篇:
您还未登录,不能对文章发表评论!请先exchange2010更改IP地址后出现的问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
exchange2010更改IP地址后出现的问题
计算机科学与技术|
总评分3.7|
浏览量82949
用知识赚钱
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢号称是目标软件的服务器架构(转载的,不关我事哦,图片就不发了,懒) - jack-wang...
我的图书馆
号称是目标软件的服务器架构(转载的,不关我事哦,图片就不发了,懒) - jack-wang...
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&计算机研究生开放研究&&&&&&&&&&&&&&&&&&&&&&&&&&&&&《基于多层结构的网络游戏平台的研究与应用》&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&美国GeneChiu基金资助基于多层结构的网络游戏平台的研究与应用研 究 生:& 匡& 华&
基于多层结构的网络游戏平台的研究与应用
计算机软件与理论
计算机软件
中国 &#183; 贵州 &#183; 贵阳 2007年 5 月
本文的主要工作在《天骄II》、《傲世online》、《凤舞天骄》中得到了实际运用
1.1 网络游戏平台的发展背景 8
1.2 国内外现状 9
1.3 本文的研究内容 9
2.1 网络游戏的概念 10
2.2 网络游戏的类型 10
2.3 国内网络游戏的发展历程 12
2.4 网络游戏的特征 13
3.1 C/S模式 14
3.1.1 C/S工作原理 14
3.1.2 TCP工作机制 14
3.2 B/S模式 16
3.2.1 B/S工作原理 16
3.2.2 HTTP工作机制 17
3.3 C/S模式与B/S模式的比较 18
3.4 三层及多层软件体系结构 18
3.4.1 二层结构的退出 18
3.4.2 三层及多层结构原理 19
3.4.3 三层及多层结构的特点 21
4.1 基于集群技术的四层平台体系结构 22
4.1.1 集群的提出 22
4.1.2 集群技术的概念及特点 22
4.1.3 平台体系结构 23
4.2 游戏通信平台GateServer 25
4.2.1 通信平台GateServer的设计框架与特点 26
4.2.2 通信平台GateServer网络底层 28
4.2.3 通信平台GateServer网络中层 30
4.2.4 网络通信平台GateServer的接口设计 31
4.3 统一格式的通信数据包 32
4.3.1 通信包的设计 32
4.3.2 通信包的通信控制 34
4.4 多线程实现 36
5.1 平台设计目标 38
5.2 平台架构设计 39
5.2.1 平台开发运行环境 39
5.2.2 四层C/S体系架构 41
5.3 平台网络结构 43
5.4 平台数据库设计 43
5.5 平台功能模块设计 45
5.5.1 系统服务模块 45
5.5.2 受控安全模块 46
5.5.3 启动平台模块 47
5.6 平台的容灾机制 48
5.7 平台的安全性设计 49
5.8 平台的特点与可扩展性 50
6.1 总体框架 52
6.2 网络层实现 52
6.3 命令处理层实现 53
6.4 虚拟世界层实现 54
参考文献 60
攻读硕士学位期间发表的论文 63
目前中国网络游戏产业迅速发展,2004年中国网络游戏市场价值达24.7亿元人民币,
年增长47.9%,预计2009年中国网络游戏出版市场销售收入将达到109.6亿元。我国网络
游戏玩家已接近2000万人。如此庞大而且正在快速增长的玩家队伍,无疑是发展网络游戏
的巨大潜力和基础。我国网络游戏的巨大市场潜力、高获利性、高成长性的清晰的盈利模式,
使网络游戏成为互联网行业中最被看好的产业之一,这样一块巨大蛋糕的诱人前景,无疑将
引来激烈的拼抢,同时使网络游戏行业得到空前的发展。
虽然游戏行业发展迅速,但是从整体上来看影响网络游戏运营成败的有两个关键因素:
一个是游戏本身的可玩性与后期运营;另一个就是从架构上来保证整个系统的稳定、高效运
行。同时,随着游戏用户规模飞速增长,Internet规模急剧扩大,带宽不断增加,需求趋向
多样化,服务器承受的压力随之越来越大。在这种情况下,迫切需要具有快速响应能力、高
可伸缩、高可用、易于管理的信息服务器,能够在任何时候高质量地处理大规模用户的并发
服务请求。集群系统具有很高的整体性能(如响应时问、吞吐率)、高可伸缩性、高可用性、
更高的性能/价格比,是目前国内外构建高性能、复杂的分布式应用的主要发展方向。采用
集群技术作为支撑网络游戏平台已成为一个主导趋势。
现在,快速以太网、千兆以太骨干网基础和高性能、高可靠性的服务器已经成为网络游
戏网络运营的核心,三层和多层软件体系结构以及集群技术的逐步成熟,使得网络游戏平台
的研究和开发完全成为可能,并能满足几十万用户同时在线。其中,集群技术是随着计算机
在社会生活的各个层次广泛应用近年来迅速发展、壮大起来的一个软件领域,是大型系统解
决负载均衡问题的关键技术。
三层和多层结构的客户/服务器模型是一种先进的协同应用程序开发模型。随着网络通
信技术和计算机技术的不断发展,企业的信息系统和以往相比,有了巨大的进步。企业级的
应用不再满足于简单的客户/服务器系统,而是向着三层和多层体系结构的分布式环境不断
迈进。多层结构应用软件与传统的C/S模式下的两层结构应用软件相比,有着可伸缩性好、
可管理性强、安全性高、软件重用性好以及节省开发时间等诸多优点。在Internet/Intranet
环境下,这些优点显得更加突出。在三层或多层设计模型中,将数据库访问分布在一个或多
个中间层。客户程序与数据库的连接被中间层屏蔽,客户程序只能通过中间层间接地访问数
据库。中间层可能运行在不同于客户机的其它机器上,经过合理的任务划分与物理部署后,
可使得整个系统的工作负载更趋均衡,从而提高整个系统的运行效率。
集群技术解决了大型系统负载均衡的问题,它能更好地满足大型系统业务、性能以及规
模等日益增长的需求。随着计算机网络的发展及大规模科学计算如基因数据的分析、气象预
报、石油勘探对服务器的性能要求越来越高,对计算机的性能提出了更高的要求:需要硬件
有灵活的可扩展性,关键性的业务需要可靠的容错机制。但是已有工作模式,对新的需求却
显得力不从心。因此,如何保证一个大型系统具有处理速度快、I/O吞吐量大,容错性好、
可靠性高,而且还具有良好的可扩展能力,成为当前急需解决的课题。同时在网络应用中,
&#8220;负载均衡&#8221;已经不能算是什么新鲜话题了,从硬件到软件,也都有了很多的方法来实现负
载均衡。我们这里讨论的负载均衡,并不是指依靠DNS转向或其它硬件设备等所作的负载
均衡,而是指在应用层所作的负载均衡。在此需求环境下,集群系统应运而生。和传统的高
性能计算机技术相比,集群技术可以利用各档次的计算机作为节点,不仅系统造价低,还可
以实现很高的运算速度,完成大运算量的计算,能够逐步满足当今日益增长的信息服务需求。
在服务器集群系统中,服务器不再分布在各处,而是集中在一起进行统一管理和维护。系统
保持了分布式客户机/服务器模式的开发性、可扩展性的优点,同时又具备了终端/主机模
式的资源共享和集中易于管理的优点。在今后的面向Internet的服务型应用中,以高性能的
硬件平台作为支持,将并行技术应用在服务器领域中,是计算机发展的必然趋势。并行处理
技术在高性能计算领域中,高可用和高性能是集群服务器系统发展的两个重要方向。
针对上述讨论,作者提出了以集群技术为基础框架的多层软件体系结构的网络游戏平
台,本系统的设计开发目标就是要建立一个稳定、可靠的网络游戏平台来吸引并维持住广大
的游戏玩家。
本文对软件体系结构进行了概述,重点讨论多层软件体系结构技术,同时研究分析了集
群技术。结合实际,利用多层结构、集群技术在网络游戏平台中进行了具体的应用。本文的
研究内容包括:
第一章主要介绍了课题的发展背景、研究的目的和意义、国内外研究的状况
以及本文主要研究的内容。
第二章介绍了网络游戏的概念、类型、国内的发展历程及其特征,
使我们对网络游戏有一个比较清楚的认识。
第三章主要阐述了目前应用平台采用的体系结
构,包括C/S模式的工作原理及相应的TCP工作机制,B/S模式的工作原理及相应的HTTP
工作机制,并对C/S 与B/S这两种模式进行了比较。最后介绍了已经广泛应用于系统中的
三层及多层软件体系结构。
第四章介绍了网络游戏平台的体系结构及其关键技术。首先介绍
了基于集群技术的四层平台结构,包括集群的提出、概念及特点和平台结构的详细描述。然
后介绍了相关的关键技术,包括游戏通信平台GateServer的设计与实现、通信数据包的设计
和多线程的实现。
第五章介绍了平台的总体设计。包括设计的目标,软、硬件平台的选择,
体系架构的设计,系统的网络部署结构,数据库的设计,平台功能模块(包括系统服务模块、
受控安全模块和启动平台模块)的设计,平台的容灾机制、安全性设计、特点与可扩展性等。
第六章详细阐述游戏服务器的实现过程。首先介绍了游戏器服务器的总体框架,包括网络层、
命令处理层和虚拟世界层三个部分,然后分别对它们的实现进行了详细的描述。
第七章总结
研究工作和全文,并提出了一些改进的地方和未来的工作方向。
本文研究的关键技术、创新点和所做的工作如下:
1. 学习研究了网络游戏的相关知识。对网络游戏的概念、发展历程、分类、特征等进
行了详细的研究与论述。
2. 深入研究并分析了应用平台的体系结构。对当前已广泛应用的C/S模式、B/S模式和
多层结构的原理及特点作了研究和分析。
3. 自主设计了网络游戏平台的基本架构,要点如下:
⑴根据游戏用户数量需求、网络技术现状和负载均衡等基本要求,采用了集群技术。集
群系统中可以动态地加入新的服务器和删除需要淘汰的服务器,具备很强的可扩展性,从而
能够最大限度地扩展系统以满足不断增长的应用的需要;另外,集群系统具有可用性,即能
够为用户提供不间断的服务,当系统中的一个结点出现故障的时候,整个系统仍然能够继续
为用户提供服务;同时,由于玩家是分布在不同地区的,我们把一个完整的游戏世界服务器
集群系统放置在不同区域,这样就使得玩家可以访问离他们最近的服务器集群系统,对玩家
来说体验到更快的响应速度,对服务提供商来说节约网络带宽,降低成本。
⑵我们采用了服务器集群技术,并将平台设计为四层的C/S结构,第一层是客户端,提
供用户接口。第二层是游戏通信平台(网关服务器),这是服务器集群的唯一入口,转发所
有的功能请求给服务结点池中的具体服务器,并处理所有的非功能请求,并管理终端用户、
进行状态保持、日志记录等。第三层是提供实际服务的服务器群,处理并且仅处理所有的功
能性请求,不参与用户管理、状态保持等,提供最纯粹的功能服务。第四层是数据库存储系
统,负责管理对数据的读写和维护,为整个集群内部运行提供稳定、一致的数据存取服务。
⑶数据服务器采用备份功能和建立专门的灾备中心,保证平台系统可靠运行。
(4)从网络环境、法律上人为规定制度、数据安全与系统可靠性、权限管理、系统监控
等多个方面设计来保证整个平台系统的安全性与可靠性。
4. 网络游戏平台中实现了下列关键技术
⑴游戏通信平台GataServer。GateServer作为网络游戏数据交互的接口,是游戏客户端
的接入服务器,实现客户端到游戏服务器之间的数据交互。采用Winsocket网络编程实现玩
家与游戏服务器的通信,同时在充分考虑&#8220;性能&#8221;和&#8220;可扩展性&#8221;两者兼顾的情况下,我们
将游戏通信平台GateServer分为网络底层和网络中层服务两层结构。专用的游戏通信平台有
利于实现合理的负载平衡,形成一个简单的、一致的、灵活的分布式处理通信环境。
⑵通信数据包。它是服务器和客户端的游戏协议部分,即游戏服务器和客户端的通信规
则。网络游戏通信的数据包是网络包,具有一个确切的逻辑意义的数据包是逻辑包,我们采
用的方式是把多个具有确切的逻辑意义的逻辑包组合成一个网络包,这样提高了传输效率,
减少了网络带宽的占有率,降低了发送数据包的频率。
⑶多线程。在网络游戏设计中,由于大量的用户参与游戏,所以在服务器端必须使用多
个线程进行网络接收,发送、处理数据包等操作。而为了便于对多个线程进行维护,我们将
多个线程封为线程池类(Thread Pool),用来建立,结束、分配工作线程的工作等任务。
5. 详细阐述了游戏服务器的实现过程,讨论了游戏器服务器的总体框架,包括网络层、
命令处理层和虚拟世界层三个部分,并分别对它们的实现进行了详细的描述。
本文的主要工作在《天骄II》、《傲世online》、《凤舞天骄》这三款网络游戏中得到了实
际运用,其中《天骄II》的游戏玩家同时在线人数达到了十几万,取得了很好的经济效益。
作者在读期间,已经在&#8220;计算机应用&#8221;等学术刊物上发表论文两篇。
关键词:网络游戏,体系结构,集群,多线程,通信平台,通信数据包
The research and application based on multilayer constructed network game platform
Chinese network game estate is at present prompt developing, in 2004 Chinese network game
marketable value amounts to RMB 2,470,000,000, grows by 47.9%, it is estimated that Chinese
network game publishes the marketplace income from sales of products in 2009 will reach RMB
10,960,000,000. In our country the network game players already approached 20 million. So
ample and be rapidly growing players with a team, is the development of enormous network game
potential and basis without doubt. Our country network game enormous market has potential, high
earn profit, height grow up limpid profit of the pattern clearly, makes network game become one
of the most estate that Internet is found satisfactory most in industry, such a piece of enormous
cake seducing others to prospect, will attract fierce striving beyond doubt, also will make network
game industry get unparalleled development at the same time.
Although the game profession development is rapid, but from the whole looked the influence
network game operation success or failure has two key aspects: Is plays itself may play the natural
and the la Another is comes up the guarantee overall system from the
overhead construction to be stable, the highly effective movement. At the same time, along with
the game user scale rapid growth, the Internet scale suddenly expands, the band width unceasingly
increases, the demand trend diversification, the server withstands the pressure is more and more
big along with it. In this kind of situation, urgent needs to have the fast response ability, high
expandable, Gao Ke with the information server which, is easy to manage, can at any time
high-grade measures land processes the large-scale user the concurrent service request. The colony
system has the very high overall performance (for example when response asked, turnover rate),
the high expandability, the high usability, the higher performance/price compared to, is at present
domestic and foreign constructs the high performance, the complex distributional application main
development direction. Uses the colony technology has become a leading tendency as the strut
network game platform.
Now, the fast ethernet, kilo mega backbones Ethernet foundation and the high performance,
high redundant reliable server already became the network game network operation the core, three
were gradually mature with the multilayered software system structure as well as the colony
technology, causes the network game platform the research and the development completely
becomes possibly, and could satisfy at the same time several hundred thousand users on-line.
Among them, the colony technology is along with the computer in social life each level widely a
software domain which using the recent years rapid development, expanded, was the large-scale
system solution load equalization question essential technology.
Customer/server model with three layers and multilayer construction are one kind of
advanced coordination application procedure development models. Along with the network
communication and the computer technology unceasing development, enterprise's information
system and formerly compared, had the huge progress. The enterprise level application no longer
satisfies the simple customer/server system, but is unceasingly is making great strides forward to
the three layered or multilayered system structure distributed environment. Compare to the two
layer structures application software under the traditional C/S pattern, the multilayer construction
application software has the good expandability, the strong manageability, the high security,
software entrusts with heavy responsibility the nature to be good as well as to save the
development time and so on many merits. Under the Internet/Intranet environment, these merits
appear prominently. In three or the multilayered design model, distributes the database visit in or
many intermediate levels. The customer procedure and the database connection by the
intermediate level shield, the customer procedure only can indirectly visit through the intermediate
level the database. The intermediate level possibly moves in is different on the client other
machines, after passes through the reasonable duty division and the physical deployment, may
cause the overall system the operating duty to hasten equilibrium, thus enhances the overall
system the operating efficiency.
The colony technology has solved the large-scale system load equalization problem, it can
satisfy the large-scale system service, the performance as well as the scale well and so on the daily
aggregate demand. Along with the computer network development and the large-scale science
computation like gene data analysis, the weather forecast, the petroleum prospecting are more and
more high to the server performance requirement, set a higher request to the computer
performance: Needs the hardware to have the nimble extendibility, the crucial service needs the
reliable fault-tolerant mechanism. But the working pattern already had, appears actually to the
new demand lacks the ability to do what one would like. Therefore, how guaranteed a large-scale
system has the processing speed quickly, the I/O volume of goods handled is big, the fault
tolerance good, the reliability is high, moreover also has good may expand ability, becomes the
current urgent need solution the topic. Meanwhile in the network application, the loads balance
already could not be any new topic, from hardware to software, also all had very many methods to
realize the loads balance. The loads balance that we discuss here, is not refers depends upon DNS
to change the loads balance which or other hardware equipment and so on does, but refers to the
loads balance which does in the application layer. In this demand environment, the cluster system
emerged. Compares with the traditional high performance computer technology, the colony
technology may use various scales the computer to take the node, not only the system construction
cost is low, but also may realize the very high operating speed, completes the big operand the
computation, can gradually meet the information service need which day by day grows now. In
Cluster Server System, the server is no longer distributed in various places, but together for
unified management and maintenance. Distributed systems maintain a client / server model of
development, the advantages of scalability, also have a terminal / server model of resource sharing
and the advantages of centralized management easier. In next face in Internet service application,
takes the support by the high performance hardware platform, the parallel technical application in
the server domain, is the inevitable trend which the computer develops.The parallel processing
technology in the high performance computation domain, high available and the high performance
is the colony server system development two important directions.
In view of the above discussion, the author proposed take the colony technology as the
foundation frame multi-layered software architecture network game platform, this system design
development goal is must establish one stable, the reliable network game platform attracts and
maintains generally swims plays the family.
The article has carried on the outline to the software architecture, the key discussion
multi-layer software architecture technology, simultaneously studied has analyzed the colony
technology. Unite the reality, the use sandwich construction, the colony technology have carried
on the concrete application in the network game platform. This article research content includes:
First chapter mainly introduced the topic development background, the research goal and the
significance, the domestic and foreign research condition as well as this article main research
content. Second chapter introduced the network game concept, the type, the domestic
development course and its the characteristic, enable us to have a quite clear understanding to the
network game. Third chapter mainly elaborated at present system structure which uses using the
platform, including the C/S pattern principle of work and the corresponding TCP work mechanism,
the B/S pattern principle of work and the corresponding HTTP work mechanism, and has carried
on the comparison to C/S and the B/S these two kind of patterns. Finally introduced already
widely applied in the system three and the multilayered software system structure. Fourth chapter
introduced the network game platform system structure and its the essential technology. First
introduced based on the colony technology four platforms structure, puts forward, the concept and
the characteristic and the platform structure detailed description including the colony. Then
introduced the related essential technology, including game communications platform GateServer
design and realization, correspondence data packet design and multi-thread realization. Fifth
chapter introduced the platform system design. Including the design goal, is soft, the hardware
platform choice, the system overhead construction design, the system network deployment
structure, the database design, the platform function module (including system service module, is
controlled security module and starts platform module) the design, the platform accommodates the
disaster mechanism, the secure design, the characteristic and may extended and so on. Sixth
chapter detailed elaboration game server realization process. First introduced the game server
overall frame, including the network level, the demand processing level and the hypothesized
world level three parts, then separately has carried on the detailed description to their realization.
The seventh chapter summary research work and the full text, and proposed some improvements
places and the future work direction.
The article studies the essential technology, innovation and do the work is as follows:
1. The study of the network game related knowledge. To the network game concept, the
development course, the classification, the characteristic and so on have conducted the detailed
research and the elaboration.
2. Thoroughly studied and analyzes has applied the platform the system structure. To
presently already the widespread application C/S pattern, the B/S pattern and the sandwich
construction principle and the characteristic have done the research and the analysis.
3. Act on self's own having designed fundamental network game platform frame, essential as
(1) According to plays the user quantity demand, the network technology present situation
and the load equalization and so on the basic request, has used the colony technology. In the
colony system may dynamic join the server which the new server and the deletion needs to
eliminate, has very strongly may the extension, thus can maximum limit expand the application
need which the system satisfimoreover, the colony system has the usability,
namely can provide the uninterrupted service for the user, when in a system point appears the
breakdown time, the overall system still could continue for the user to At the
same time, because players distribute in different areas, we lay aside a complete game world
server cluster system in the different region, like this causes to play the family to be allowed to
visit leaves their recent server cluster system, to players experiences the quicker speed of response,
to the service provider said saves the network band width, reduces the cost.
(2) We have used the server cluster technology, and the platform design is four C/S structure,
first is the customer end, provides the user the connection. The second layer is the
communications game platform (gateway server), this is server cluster's only entrance, retransmits
all functions request for the service point pond in concrete server, and processing all non-
functions requested, and manages the terminal user, carries on the condition to maintain, the diary
record and so on. The third layer provides the actual service the server group, processing and only
processes all functions request, does not participate in the user management, the condition
maintenance and so on, provides the purest function service. The fourth layer is the database
memory system, which is responsible for manages of the logarithm according to read-write and
maintenance, stably provides, the consistent data access service for the entire colony interior
(3)The data server uses the backup function and the establishment special disaster prepares
the center, guarantees the platform system reliable movement.
(4) From the network environment, the law the artificial stipulation system, the data security
and the system reliability, the jurisdiction management, the system monitoring and so on many
aspects design guarantee the entire platform system the security and the reliability.
4. In the network game platform has realized the following essential technology.
(1) Game communications platform.GateServer took the network game data interactive
connection, is plays the customer end to turn on the server, the realization customer end to game
server between data interactive. Uses the Winsocket network programming realization to play the
family and the game server correspondence, simultaneously fully was considering "the
performance" and "might the extension" in two proper attentions to both situations, we play
communications platform GateServer to divide into the network first floor and the network
intermediate deck serves two structures. The special-purpose game communications platform is
advantageous to the realization reasonable load balance, forms simply, is consistent, the nimble
distributional processing correspondence environment.
(2) Communication data packet.It is the server and the customer end game agreement 's
partial, namely game server and customer end correspondence rule. The network game
correspondence data packet is the network package, has an accurate logical significance the data
packet is the logical package, we use the way is has many the accurate logical significance a
logical package of group to synthesize a network package, like this enhanced the transmission
efficiency, reduced network band width occupation ratio, reduced the transmission data packet
frequency.
(3) Multithread. Designs at the network game, because the massive users participate in the
game, therefore must use many lines regulation in the server end to carry on the network receive,
operation and so on transmission, processing data packet. But in order to be advantageous for to
many lines regulation carries on the maintenance, we encapsulate many thread into Thread Pool,
will use for to establish, conclusion, assignment labor 作线regulation duty and so on work.
5. In detail elaborated the game server realization process, discussed the game server overall
frame, including the network level, the demand processing level and the hypothesized world level
three parts, and separately has carried on the detailed description to their realization.
The this article prime task in "WOQII", "FOD Online", " Phoenix Dance Tianjiao" in these
three section networks game obtained the actual utilization, in which "WOQII"
swims plays the
family at the same time the online population to achieve several ten thousand, has obtained the
very good economic efficiency.
The author announces two thesises on academic journals such as reading a period , already
"Journal of Computer Applications".
Keywords: Network game, System structure, Colony, multithread, Communication
platform, communication data packet
第一章 前&&& 言
1.1 网络游戏平台的发展背景
电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱
乐产业之一,其年销售额超过好莱坞的全年收入。在全球电子游戏产业中,网络游戏的增长
速度最为迅猛。根据DFC Intelligence 的研究数据,2001年,全球网络游戏市场规模为36 亿
美元,2003年已经猛增到76亿美元,2004年将进一步增长30%,达到99亿美元的市场规
模。互联网的出现为电脑游戏行业发展注入了新的活力,凭借信息双向交流、速度快、不受
空间限制等优势,让真人参与游戏,提高了游戏的互动性、仿真性和竞技性,使玩家在虚拟
世界里可以发挥现实世界无法展现的潜能,改变了单机版游戏固定、呆板、与机器对话的状
况。网络游戏的这些优势不仅使其在电脑游戏行业中异军突起并在某种程度上取代了单机版
游戏,而且成为网络业三大(网上金融、网上教育和网络游戏)赢利且利润优厚的领域之一。
我国已迅速成为网络游戏的大国,网络游戏玩家已接近2000万人。如此庞大而且正在快速
增长的玩家队伍,无疑是发展网络游戏的巨大潜力和基础。我国网络游戏的巨大市场潜力、
高获利性、高成长性的清晰的盈利模式,使网络游戏成为互联网行业中最被看好的产业之一,
而2005年近70亿元这样一块巨大蛋糕的诱人前景,无疑将引来激烈的拼抢,同时使网络游
戏行业得到空前的发展。
随着网络技术的发展,以及国家政策对有游戏产业的支持("网络游戏通用引擎研究及
示范产品开发"、"智能化人机交互网络示范应用"两个项目被纳入863计划,这是我国首次
将网络游戏技术纳入国家科技计划,同时国家体育总局已经把电子竞技运动确立为正式的体
育比赛项目)。网络游戏产业成为了蓬勃发展的产业。由于网络游戏面对着的是数以百万的
用户群体,一个设计合理、运行高效稳定的游戏平台就表现得至关重要,因此对网络游戏平
台的研究、开发自然成了业界的热门研究方向。
网络游戏平台是一个复杂而又庞大的系统,它几乎包括了整个网络游戏的开发工作:网
络通信(包括底层、中层)的设计实现、用户管理、游戏角色、服务管理、基本游戏管理员
工具、统计分析、数据备份等功能的设计实现。
今天,网络游戏巨大的市场前景,快速以太网和千兆以太骨干网基础已经成为网络游戏
运行的核心,这些具备高性能的网络结构,相匹配的高性能、高可靠性的服务器,如IBM
企业级服务器,也因此被人们视作网络游戏平台的基石。因此,对网络游戏平台的开发和研
究就具有鲜明的现实意义。
一、有强大的市场驱动力,网络游戏平台是网络游戏开发的关键所在,而网络游戏产
业是一个蓬勃发展的新兴市场。网络游戏是一个巨大的市场。在3到5年里可能成长为150
亿元的市场。成功的网络游戏毛利率可高达八成。当今网络游戏的用户日益庞大,一款网络
游戏同时在线人数可能达到10万级,甚至是50万级。因此网络游戏的市场潜能十分巨大。
而与此同时,市场上成功的网络游戏产品占其全部网络游戏产品的比例却只有20%左右,
有很多网络游戏产品的失败就是因为其平台建立的不恰当所置,因此对网络游戏平台的研究
和开发就更有着其巨大的市场价值和经济利益。
二、开发具有自主知识产权的网络游戏平台对打破外国公司在我国市场的技术垄断局
面,具有重大的意义。金山公司总裁雷军曾表示:&#8220;网络游戏不仅是发展最快的新兴产业,
也是最有活力的新文化事业,网络游戏必然成为新娱乐潮流的领导产业之一。网络游戏原创
势力不但要肩负起产业振兴的重任,同时要有普及健康向上的游戏文化的使命感和责任感。
普及健康向上的游戏文化需要一个过程,我们也应该达到韩国那种全社会积极参与和支持网
络游戏产业的水平。&#8221;国家正在大力发展和扶持游戏产业,特别是网络游戏产业的发展,开
发有自主知识产权的网络游戏产品,建立高质量的网络游戏模型,建立国人网络游戏,则是
改变当今市场外国网络游戏产品垄断市场的唯一出路。
1.2 国内外现状
网络游戏并不是一个全新的产业,全世界对网络游戏投入了巨大的资金,很多公司取得
了斐然的成绩,几年前就有多家大游戏公司进入中国市场,瓜分国内游戏市场份额。这几年
出现了很多国产游戏公司,有的运营十分成功,也有的开发出自己的网络游戏平台。然而,
网络游戏出现饱和现象,竞争十分激烈。大型PC互联网游戏很多都是从国外引进的。并且
由很多网络游戏都是国外公司开发,这些游戏充斥了国外的文化,对保护中国文化的正统以
及保护国内玩家带来了巨大的挑战。
目前,随着网络游戏开发的发展,网络游戏平台的开发也日趋完善,技术变得越来越成
熟。在国外,网络游戏平台的研究、设计、运行已经取得了很好的效果,像全球著名的游戏
公司——美国暴雪公司开发的网络游戏&#8220;魔兽世界&#8221;的平台,韩国网络游戏&#8220;传奇&#8221;、&#8220;热血
江湖&#8221;的平台在实际运用中已经得到了验证,能够满足同时在线人数达到几十万用户群。在
国内,由于我国本土的网络游戏开发商数量少和技术开发能力有限,因此与国外还存在一定
的差距,但是随着国内游戏开发的发展,已经取得了很大的成就,像目标软件公司开发的网
络游戏&#8220;天骄&#8221;、&#8220;天骄II&#8221;、&#8220;傲世Online&#8221;的平台,金山公司开发的网络游戏&#8220;剑侠情缘&#8221;
的平台已经能够很好的满足用户需求。
因此,我们可以开发自己的核心平台,开发出具有中国文化底蕴特色的网络游戏,根据
国内玩家的特点,进行市场策划,占领巨大的娱乐市场份额,建立功能强大的网络游戏运营
1.3 本文的研究内容
第一章主要介绍了课题的发展背景、研究的目的和意义、国内外研究的状况以及本文主
要研究的内容。
第二章介绍了网络游戏的概念、类型、国内的发展历程及其特征,使我们对网络游戏有
一个比较清楚的认识。
第三章主要阐述了目前应用平台采用的体系结构,包括C/S模式的工作原理及相应的
TCP工作机制,B/S模式的工作原理及相应的HTTP工作机制,并对C/S 与B/S这两种模
式进行了比较。最后介绍了已经广泛应用于系统中的三层及多层软件体系结构。
第四章介绍了网络游戏平台的体系结构及其关键技术。首先介绍了基于集群技术的四层
平台结构,包括集群的提出、概念及特点和平台结构的详细描述。然后介绍了相关的关键技
术,包括游戏通信平台GateServer的设计与实现、通信数据包的设计和多线程的实现。
第五章介绍了平台的总体设计。包括设计的目标,软、硬件平台的选择,体系架构的设
计,系统的网络部署结构,数据库的设计,平台功能模块(包括系统服务模块、受控安全模
块和启动平台模块)的设计,平台的容灾机制、安全性设计、特点与可扩展性等。
第六章详细阐述游戏服务器的实现过程。首先介绍了游戏器服务器的总体框架,包括网
络层、命令处理层和虚拟世界层三个部分,然后分别对它们的实现进行了详细的描述。
第七章总结研究工作和全文,并提出了一些改进的地方和未来的工作方向。
第二章 网络游戏概述
2.1 网络游戏的概念网络游戏并没有一个一致的定义,狭义的理解[3]网络游戏专指网络化的RPG游戏(角色扮演游戏),其目的和方式是建立一个虚拟的世界,在这个世界里的所有玩家都像是生活一个全新的社会里,这个社会有它自己的各种&#8220;法律&#8221;,生活在这个社会里的玩家必须要遵守这些法律。玩家以追求感受为目的进行模拟和角色扮演,通过自己角色的成长而感受快乐。广义的理解网游游戏是一种互动方式的娱乐游戏,它常被人们误解为简单的联网或者是局域网的游戏。实际上,网络游戏具有它自己特有的概念和逻辑世界;网络游戏,网际互连互动游戏,简称:网游。这里的网络指的是国际互联网((internet),而不是局域网((LAN)或者单纯的广域网(WAN)的概念。网络游戏提供完整的功能:用户注册、互动、及时、长期保存、可增值等很多功能。互联网实验室通过对网络游戏进行深入地研究后认为网络游戏的定义如下: 利用TCP/IP协议,以网络为载体,可以多人同时参与的游戏项目。 由此,网络游戏具有以下的特点:1. 大众娱乐性;2. 技术领先性;3. 真实竞争性;4. 互动沟通性;5. 经营可靠性。从技术角度来说,网络游戏是综合性很强的行业,依赖的相关技术包括:游戏设计、程序设计、数学、人工智能、图形图像、网络、音频处理等[45]。在网络游戏发展的过程中,相关技术的发展极大地促进了网络游戏的发展,如图像处理技术的发展使游戏界面从早期的文本界面过渡到二维图形界面,现在3D游戏己经很普遍[4]。反过来,网络游戏的发展也成为相关技术的强大市场推动力。2.2 网络游戏的类型Client/Server结构是现今网络游戏最基本的框架。从开发的角度来看,常见Client/Server结构的网络游戏有如下几种类型[1]:1 对等的Client和Server很多对战型的网络游戏都采用这种结构。这里所谓的对等并不是真正意义上的对等,而是指在有多个玩家参与的游戏中,其中一个玩家的机器既是Client有扮演Server的角色,通常由创建游戏局的玩家担任,称为主机。这种结构如图2.1所示。图2.1 对等的Client和Server结构在这里,主机的作用包括同步的控制、消息的集中转发、关键计算的结果校验等等,取决于具体的游戏类型。具有网络对战功能的即时战略游戏、第一人称射击游戏以及动作RPG游戏多属于此类,它们通常既可以在局域网上玩,也可以在Internet上玩。2. 会话的集散地:Lobby首先明确会话和大厅地的概念。英文Lobby是大厅的意思,以一个提供聊天服务的网站为例,登录之后可以看到网页上有可供选择的话题A和话题B。选择话题A点击进入,便可以和所有位于话题A的人聊天。此时,我们把话题A叫作session(会话),并称所有位于话题A的人正在进行一场会话。并可以将这样一个聊天室网站称为大厅。可以根据自己的需要创建会话或加入别人的会话,也可以取消自己所创建的会话。实际上,大厅就是一个专门的服务器,其作用是为处于不同位置的玩家牵线搭桥,让他们可以有机会进行一场游戏。可以很快联想到世界上最著名的游戏大厅BattleNet,其中有《暗黑破坏神》、《星际争霸》和《魔兽争霸》等广受欢迎的游戏,还有国内著名的游戏网站联众,上面运行着各种棋牌类游戏。下面来看看大厅和会话的架构,如图2.2所示。图2.2 大厅和会话的结构当大厅作为中介把客户端撮合到一起之后,各客户端就可以开始游戏了,随后的处理要看具体的游戏设计。游戏在进行中,既可以继续保持和大厅的连接,并不断地汇报一些游戏的信息,也可以断开和大厅地连接,独自进行游戏,游戏完毕再重新连接上大厅服务器,并由主机玩家向其汇报战果。3. Client:Server的一个可以交互的窗口并不是所有的网络游戏均用对等的Client和Server,并借助大厅的力量运作起来。很多时候,需要的是成千上万的人在进行同一场游戏,这些玩家在游戏世界中持续存在并且被记录下来,而这种游戏才是现在最大的热门,通常可以称之为图形化多人在线RPG游戏。这种游戏必须用新的架构来实现,图2.3所示为一简略的结构是示意图,实际应用中为了满足海量人数以及在线互动的需求,结构会复杂得多。图2.3 多人在线RPG游戏结构&&& 在这种结构种,为了保证所有客户端都有相同得游戏画面和游戏结果,关键的是数值计算和逻辑判断必须放在服务器上,因此服务器上必须具备完整的游戏世界模型。此时客户端更像是在一扇窗口中,从玩家的角度去观察这个世界,并与之互动。服务器和客户端的连接方式和功能划分与前面提到的两种有很大的不同。2.3 国内网络游戏的发展历程国内网络游戏发展的三个阶段[2]:准备期:中国网络游戏的准备期处于1995年以前。这一时期的主要特征是单机版的游戏在国内已经形成一定的气候,并向联机版游戏过渡;为网络游戏在我国得以快速发展在人才和技术等方面做了储备。在此阶段,单机版的PC游戏和基于游戏机和电视的游戏在中国比较流行,消费者从游戏中体会到了其中的乐趣,为网络游戏的市场开发打下比较良好的基础。由于价格和知识普及等方面的原因,PC机还没有形成大规模的普及,因此在这一时期,玩电脑游戏的消费群体还是一些收入比较高的家庭。在这一阶段成长起来的游戏玩家为今后网络游戏的开发储备了人才,其中的佼佼者成为目前网络游戏的市场和技术的推动者,甚至成为了几年后国内网络游戏业界的游戏管理员甚至是执行总裁。虽然这一时期,人才方面做了很多的储备,但从业经验和对网络游戏的理解方面,与国外的网络游戏从业者之间的差距还是比较大的,尤其是在游戏公司的运营和游戏产品的研发设计方面,与国外的网络游戏从业者相比存在着先天的不足。&&& 这期间,文字的网络游戏也开始在中国流行。这些中文文字网络游戏大多是从国外盛行的《东方故事》上改编而来,限于当时国内的上网条件,很大程度上都是在国内各大专院校的集中式机房里发展出来的,本质上也就沾染了校园文化氛围特征。发展期:1998年中旬网络游戏开始在中国得以尝试,并在2000年正式在国内被互联网业界承认,初步确立了网络游戏在互联网中的地位。中国网络游戏的从业者在这一时期对网络游戏有了进一步的认识,并且在经营模式、技术上积累了一定的经验。与此同时,国外的网络游戏开始进入中国,网络游戏市场开始出现新局面。1998年6月份联众开始在东方网景架设服务器,免费提供给国内的上网用户围棋、中国象棋、跳棋、拖拉机、拱猪等共计5种棋牌类网络游戏。以此为起点,中国的网站开始正式涉足网络游戏业务。联众对促进网络游戏的快速发展和网络游戏在互联网应用中地位的提升起到了非常重要的作用。其在网络游戏运营方面所采取的经营模式和收费模式为我国网络游戏公司的运营奠定了基础。2000年,网络游戏开始进入正式的商业化运作,虽然只有《万王之王》一款游戏的市场表现力比较理想,实现了赢利,但这一表现对于持续疲软的国内游戏市场和软件市场,乃至整个互联网市场来讲,都是一个令业界振奋的事实。网络游戏在互联网中的地位随着网络游戏的不断发展逐渐被加强。2000年年底,经过业界人士的不断探索和努力,网络游戏已经初步形成了有效的经营模式,实现了一定的收入,并且在互联网应用领域逐渐形成产业化的雏形。混战期: 2001年至今是中国网络游戏的混战期。网络游戏在发展期时已经呈现出一定的赢利潜力和广阔的发展空间,因此,正在为现金收入烦恼的网络公司不约而同地将目光投入到网络游戏,并且采取了实际的行动。从2000年年底到2001年年中,《石器时代》、《千年》、《红月》、《龙族》等等网络游戏纷至沓来。而国内一些开发小组也是一哄而上,网络游戏市场一夜之间成为了中国软件和网络行业的新焦点,也成为了国内IT业和互联网业最新的盈利服务项目。不同的游戏公司都在搭建自身的游戏平台,整个行业的发展缺乏系统的规划和彼此之间的有效合作。随之而来的媒体对网络游戏的大肆炒作也渲染了这一网络应用形式在市场上的巨大作用。2001年第三波游戏谷宣布全面结束单机版游戏业务,转为全面经营在线游戏。同时,国内各大游戏公司也纷纷将公司重心转为发展在线游戏。由于从业公司数目众多,使用户规模没有得到有效集中,网站的接入收入有所下降。不同公司的经营水平参次不齐,网上的管理比较混乱,竞争相对无序。从业者更多的代理国外的游戏产品,从事自主开发产品的公司比较少,技术和创意方面没有实质性的突破。国外的网络游戏公司或者游戏产品大量涌入我国,韩国和海外的厂商们纷纷将网络游戏产品抛给国内的运营商,游戏产品在国内相对过度。在这一阶段,网络游戏的用户数量得到了快速的发展。没有持续的资金、技术投入以及良好的售后服务质量的游戏厂家将会在这一阶段逐渐退出网络游戏市场,或者被兼并或者倒闭。到2002年下半年,我国的网络游戏市场将逐渐走向理智。2.4 网络游戏的特征网络游戏和一般的应用系统不一样,有它自己独特的特点: &&& 互动性:网络游戏最大的特点是互动性,这是它为什么那么吸引玩家的最主要原因。使得它面对的客户是最大的用户群,几乎各个阶段、各个阶层的人员都可能成为网游的玩家。互动性给玩家们提供了高的体验回报,可以和世界各地玩家娱乐、比技巧、进行各种比赛,并且提供了持久化的功能,人们付出的劳动成果和智慧结晶都能够得到积累。&&& 增值性:这是网游不同于一般的游戏和商业应用的主要区别之一。网游世界中有游戏币,有积分,这些是用户玩家们的资本,是智慧和劳动成果的体现,游戏币和积分等为各种增值服务提供了平台,可以进行积分排行榜,积分兑将,游戏币虚拟流通,提供各种虚拟游戏道具等等各种增值服务。&&& 安全性:在网络游戏中,安全是一个十分重要的问题。由于它的互动性和增值性,必须保证通信安全,用户信息安全,用户增值信息的安全等,网游平台必须提供端到端的安全解决方案,如加密机制、签名机制、安全管理、存取控制、防火墙、防病毒保护等等。&&& 运营性:网络游戏不只是简单的游戏互动,也不只是技术开发,它是一个运营体系,这一点和一般的应用有很大的不同,对于公司来说,需要管理游戏系统,需要很多部门的协调,宣传、策划、市场、技术、运营管理等等。
第三章 应用平台体系结构
3.1 C/S模式3.1.1 C/S工作原理  C/S结构,即Client/Server(客户机/服务器)结构,这一概念最早用于描述软件的体系结构,表示两个程序间的关系,一个是提出请求的应用程序,另一个是服务程序。从概念上讲,C/S模式是一种特殊的协作处理模式,整个应用程序分布于客户机和服务器上,两者都参与一个应用程序的处理。C/S模式把系统分成两个基本组成部分:  客户机(Client):面向最终用户,实现各自业务处理、提供人机交互界面;  服务器(Server):负责有效地管理系统资源,并提供某项服务功能。&&& C/S模型方案中客户应用程序向服务器程序请求服务。这种方式隐含了在建立客户机/服务器间通讯时的非对称性。客户机/服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。一个对称协议的例子是Internet中用于终端仿真的TELNET。而非对称协议的例子是Internet中的FTP。无论具体的协议是对称的或是非对称的,当服务被提供时必然存在&#8220;客户进程&#8221;和&#8220;服务进程&#8221;。  一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被&#8220;惊醒&#8221;并且为客户提供服务一对客户的请求作出适当的反应。这一请求/相应的过程可以简单的用图3.1表示。虽然基于连接的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可以通过数据报套接口提供的。  图3.1 客户端/服务器的结构3.1.2 TCP工作机制  在C/S架构中,客户端和服务器之间的网络层通信协议是IP,传输层通信协议是TCP和UDP,TCP是面向连接的,在基于不可靠的IP服务基础上,提供可靠的传输层服务,保证数据一定传送到接收者;而U DP提供的是不可靠的无连接数据报传输服务,因而可能出现UDP报文丢失、重复、乱序的错误。在大部分C/S架构中,一定要保证数据的可靠传输,因此一般都采用TCP作为传输层协议。TCP在通信会话中提供几个重要作用。可以认为它是多个应用和网络之间的联络。其功能包括:&&& &#183;多路复用多种应用数据。&&& &#183;测试所接收数据的完整性。&&& &#183;顺序化乱序接收的数据。&&& &#183;对成功收到数据做出应答。&&& &#183;速率一适应的流控(通过TCP窗口大小)。&&& &#183;定时功能。&&& &#183;重传在传输过程中损坏或丢失的数据。TCP协议有几个特点:&&& 1.& 多路复用数据流&&& TCP是用户应用与许多网络通信协议之间的接口。TCP必须能同时接收多个应用数据,TCP把它们打包到数据段中,之后传给IP。相似的,TCP必须能同时接收多个应用的数据。&&& TCP必须跟踪记录到达的报文要转发到的应用程序。这可以通过端口来实现。TCP段中既有源应用端口号又有目的端口号。另一个经常使用的术语是套接字,虽然TCP头中没有套接字域。套接字由驻留在主机上的特定应用端口号和机器IP地址联合构成。因此,套接字描述了惟一的主机和应用。&#8220;:&#8221;号把两个号分开。比如,套接字10.10.10.10:6666标识了主机10.10.10.10的应用,其端口号为6666。 2.& 测试数据的完整性&&& 封装在TCP段中的数据经过TCP执行的数学计算,并把结果放在TCP头的校验和域中。一旦数据到达目的地,对接收数据执行相同的数学计算,产生的结果应该和TCP头中存储的结果相同。如果二者相同,有理由相信数据没被改变过。否则,就要给源主机发一请求,要求其重发一份数据拷贝。&&& 3.& 重新排序&&& 到达目的机的报文段经常是乱序的。其中有许多原因,比如,在一个利用率非常高的网络中,路由协议很可能对报文选择通过网络的不同路径。这会导致数据段乱序到达。另一种情况是,报文在传输过程中可能丢失或损坏。因此,接收应用程序所需的数据序列会被丢弃。目的机器的TCP协议会缓冲接收到的数据段,直到能把它们正确地重新排序。&&& 通过查看TCP头中的序列号域可以完成这个任务,重新排序就是基于这个域对接收数据段的数学排序。&&& 4.& 流控&&& TCP会话中的源和目的机器称为对等实体。每一对等实体有对流向其物理缓冲中数据流的控制能力。流量控制使用的是TCP窗口大小。源和目的机的窗口大小通过TCP头进行通信。&&& 任何一台主机将被所收数据淹没时,会减小发送机的速率。这可以通过通知其新的窗口大小即可,如果机器的缓冲完全被填满,它就会发送一个有关最后收到数据的应答报文,其中新的窗口大小为0。这样会有效地使发送停止,直到拥塞的机器能清理掉其缓冲。它所处理的每一段必须被应答,使用应答,可以通过重新设置大于0的窗口尺寸来启动发送。&&& 虽然这个简单的机制能有效地调整两台机器之间的数据流,但是它只能保证通信的端系统不会被接收的数据所湮没。窗口尺寸自身不会考虑网络上存在的拥塞情况。网络拥塞意味着报文到达目的地的时间比通常情况长。因此拥塞管理一定是网络上时间的函数。TCP通过计时器的使用实现拥塞管理。&&& 5.& 计时机制&&& TCP为几个关键功能使用计时控制。每次传输一个数据段时,设置一个计时器。假如计时器在接到应答之前停止(就是说,减少到0),数据段就被认为己丢失。因此,会重传。计时器可以间接地管理网络拥塞,其方法是当超时出现时减慢传输率。理论上讲,当超时出现时才减小发送速率,因此,TCP不能很好地管理网络拥塞,但它会减小自身对拥塞的影响。&&& 源机器会使用一个坚持(Persist)计时器周期性地查询目的主机的最大窗口尺寸。在理想世界中,从不需要Persist计时器,因为每个应答会包含窗口尺寸。然而,有时网络确实会丢失数据。如果一台机器发生了缓冲上溢问题,并发回一个0窗口尺寸的应答,传输节点会中止发送。但是,如果后序非0窗口尺寸的应答丢失,发送会话会处于危险境地。Persist计时器通过周期性的询问窗口大小来保证这种情况不会发生。如果查询仍不能得到窗口大小,TCP协议会重新设置连接。&&& 另一个计时机制称为最大段生存时间(Maximum Segment Lifetime MSL)。MSL使TCP机器识别已经在网络中传输了很长时间的因此己被替换了的数据报,接收到MSL中止的数据报被简单抛弃。&&& 6.& 应答接收&&& 如果ACK被设置,目的TCP机器必须要对接收到的特定数据做出应答。考虑到TCP几乎总是用于可靠模式,因此ACK不被设置的情况很少见。&&& 没被应答的数据段被认为在传输过程中已丢失,并被重传。重传必须在源和目的机器之间配合进行。3.2&& B/S模式3.2.1 B/S工作原理  B/S(浏览器/服务器)模式是一种以Web技术为基础的新型的系统体系结构。B/S系统采取请求/响应模式,首先由浏览器发起请求,以URI(统一资源定位符)的方式向服务器申请资源。如果是静态资源,比如一个纯HTML格式的网页,web服务器直接向浏览器返回该网页内容;如果是动态资源,web服务器会预先对它做出相应处理,同样返回HTML格式的内容。浏览器对HTML内容进行语法解释并显示,这样就完成了一次过程。&&& 浏览器和服务器之间通过HTTP协议进行通信,HTTP协议是无状态的,浏览器每次向服务器请求资源时都会主动建立连接,服务器返回结果后双方即断开连接,所以对于服务器来说,在处理浏览器请求时,根本不知上一次请求处理状况,这和传统的C/S模式有很大区别。在这个过程中,作为客户端的浏览器所做的工作非常有限,只要负责对返回的HTML内容进行处理,我们知道HTML是一个标准的标注语言,任何浏览器都能阅读和显示。在这个意义上说,B/S系统的客户端是通用的,当我们修改应用系统时,不需对客户端进行更新,而且许多操作系统都自带了浏览器,意味着我们可以不用去关心客户端。  所以B/S系统几乎所有的复杂性都在服务器端,在一个典型的B/S系统中,绝大多数的网页都是动态的,服务器要经过相应的处理并把它转化为HTML格式的内容,才能被浏览器识别出来,这个处理过程随着服务器不同而有很大差别。当前主流的服务器动态资源处理技术基本有两种:  1.解释型  每次客户请求资源时,服务器解释执行网页中的脚本代码,结合网页中的HTML标记返回给用户,ASP和PHP等都属于这种类型。  2.编译型  当客户第一次申请时,服务器先编译网页,然后执行代码,后续的客户请求就直接执行编译后的代码,JSP就是这种类型的代表。  从开发效率看,解释型的方式要优于编译型的;但性能上,后者要远远超过前者,所以两者都有很大的市场,在实践中都被普遍使用。3.2.2 HTTP工作机制&&& 在B/S架构中,浏览器和服务器之间的应用层通信协议是HTTP(超文本传输协议)[41],所以理解HTTP协议的特点是B/S系统设计的基础。HTTP是WWW联盟制定的标准,用于分布式协作超媒体信息系统的快速使用协议,是通用的,无状态的,面向对象的协议,通过扩展命令(或方法),可用于类似的任务,如名字服务,分布式面向对象系统。公布的版本有HTTP 1.0、HTTP 1.1,下一代的HTTP协议HTTP-NG(Next Generation)仍在制订之中。HTTP协议有几个特点:&&& 1.& 客户/服务器工作模式&&& 在HTTP协议中,作为客户的WWW浏览器与作为提供WWW网页数据服务的服务器之间传递请求,应答数据。一个服务器可接受和处理世界范围内多个客户浏览器的同时访问,一个浏览器同样也可访问世界范围内的WWW服务器。&&& 2.& 简单快速&&& 作为在客户与服务器之间传输超文本数据的协议,HTTP只规定了少量的用以沟通信息的请求报文、应答报文,这比因特网上其它的信息服务系统如FTP,Telnet等都要简单。在HTTP中定义的几种请求方法中,要求WWW服务器必须实现的有GET和HEAD,而其它是可选的。在浏览器与服务器建立连接时,浏览器只需传递必须的请求,应答方法。&&& 3.& 传输数据灵活&&& 虽然被称为超文本传输协议,HTTP实际上允许传输任意类型的数据对象,这功归于请求信息与响应信息中都具有的消息首部(message-header)。信息的内容就是关于被传递的数据的信息。&&& 4.& 易于扩充&&& 作为一个公开发布使用协议,HTTP具有良好的,可扩充性,如前述,它传输的已不仅仅是超文本数据。在此基础上针对应用开发者的研究、开发要求,很容易地增加请求方法和响应状态,运行于用户定制的系统之中。经过扩充的服务器,能够响应原有标准的浏览器,也能够区别出用户自己开发的专用客户程序,做出相应的响应处理。&&& 5.& 无状态性&&& 在HTTP 1.0及其以前的版本中,每一次请求,应答的内容、状态及完成情况不作为历史数据保留到下一阶段使用。有关客户机的状态信息、用户消息也不保留在服务器中。服务器的响应状态,运作情况也都不反映在客户本地计算机中。这样做的优点是HTTP服务器实现起来比较简单、程序规模小,大大加快了服务器响应速度,对于早期WWW注重于信息发布的情况是比较合适的。&&& 6.& 无连接性&&& HTTP协议建立在可靠面向连接的TCP报文传输基础上,无连接指的是在HTTP 1.0中,客户与服务器的每次TCP连接只处理一个请求:客户发起连接后传递一个请求,服务器解析该请求、返回应答数据后立即断开连接。这种方式的优点同样也是对HTTP服务器一方来说实现起来简单,避免服务器由于保持和维护过多的TCP连接而浪费服务器资源。&&& HTTP1.1对有些方面进行了改进,但总的来说,这些特性并没有多大改变。&&& 可以看到,B/S和传统的C/S方式有很大差别。在B/S模式下,复杂性都在服务器端,客户端浏览器只负责用户界面,浏览器的本地处理能力和资源访问能力是非常有限的。而在C/S方式下,作为客户端的PC机除了界面显示,还具有很强的本地处理能力,并可以方便地获取本地及服务器上的各种资源。相对于C/S方式,B/S系统的客户端处理能力太有限了,再加上HTTP协议的无状态性质,所以B/S系统对设计开发者提出了更高的要求。3.3&& C/S模式与B/S模式的比较  根据以上对两种模式的技术分析,可以看出两者都各有优势,下面对C/S模式和B/S模式的各自优势作一下比较:  C/S模式的优势:  1) 交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能。B/S虽然也提供了一定的交互能力,但与C/S的一整套客户应用相比是太有限了。  2) C/S模式提供了更安全的存取模式。由于c/S是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议,安全性可以得到较好的保证。而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只服务器来保证。由于采用TCP/IP,必须采用一系列的安全措施,如构筑防火墙,来防止用户对企业内部信息的窃取以及外界病毒的侵入。  B/S模式的优势:  1) B/S模式简化了客户端。它无需像C/S模式那样在不同的客户端安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。  2) B/S模式简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在WEB服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用WEB服务器上不同处理程序,从而完成对数据的查询或修改。  3)相对于C/S,B/S的维护具有更大的灵活性。当应用逻辑发生变化时,它再为每一个现有的客户应用程序升级,而只需要对WEB服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。  4)系统处理负载分布在WEB服务器上,WEB服务器的数量可以根据访问量进行扩展配置,采用CLUSTER结构方式。当用户数童增多时,性能不会明显下降。  5) B/S模式使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采B/S模式时,客户端只是一个简单易用的浏览器软件。操作人员都无需培训,就可以直接使用。3. 4 三层及多层软件体系结构3.4.1 二层结构的退出  C/S软件体系结构,即Client/Server (客户机/服务器)结构,是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。  C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。但随着企业规模的日益扩大,软件的复杂程度不断提高,传统的二层C/S结构存在以下几个局限:  (1)在传统的二层C/S结构数据库应用中,客户端的机器执行应用程序,连接到后端的数据库服务器中存取应用系统所需资料,因为应用系统的企业逻辑都编写在客户端的应用程序中,造成客户端非常臃肿,且当应用系统需求改变时,所有在客户端的应用程序都必须改变,使维护成本太高。  (2)二层C/S结构是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;  (3)软、硬件的组合及集成能力有限;  (4)客户机的负荷太重,难以管理大量的客户机,系统的性能容易变坏;  (5)数据的完整性与安全性难以维护[9]。因为众多客户端程序可以直接访问数据库服务器,那么,在客户端计算机上的其他程序也可想办法访问数据库服务器,从而使数据库的安全性受到威胁。  正是因为二层C/S有这么多缺点,因此,多层C/S结构应运而生。3.4.2 三层及多层结构原理  为提高数据的安全性与系统的可扩充性,可在两层模型的基础上考虑采用三层(3-tier)或多层(N-tier)设计模型,将数据库访问分布在一个或多个中间层。客户程序与数据库的连接被中间层屏蔽,客户程序只能通过中间层间接地访问数据库。中间层可能运行在不同于客户机的其它机器上,经过合理的任务划分与物理部署后,可使得整个系统的工作负载更趋均衡,从而提高整个系统的运行效率。  这些位于中间层的程序又称应用服务程序(Application Server),因为它们实际上表达了一个企业处理信息的主要业务逻辑(Business Logic),即企业的系统模型与功能模型,而客户程序仅实现图形用户界面,完成终端用户与业务逻辑之间的交互。从客户程序的角度来看,中间层将企业的所有业务逻辑抽象为更高层次的应用程序接口(API),客户程序则通过这些API构建整个企业的应用系统。与典型的两层模型相比,三层模型或多层模型可更好地支持对企业业务逻辑的集中控制与管理。  多层结构应用软件与传统的C/S模式下的两层结构应用软件相比,有着可伸缩性好、可管理性强、安全性高、软件重用性好以及节省开发时间等诸多优点。在Internet/Intranet环境下,这些优点显得更加突出。很多公司也提出了多层应用软件体系结构。三层结构的客户/服务器模型是一种先进的协同应用程序开发模型,这种方案将客户/服务器系统中各种各样的部件划分为三层服务,它们共同组成一个应用程序,这三层服务包括:   ●&& 客户端服务程序,称为表示层;   ●&& 业务服务和其它中间层服务程序,通常称为业务逻辑层(中间层);&&&&&&&&&& ● 数据层(数据库)。  典型的三层结构如图3.2所示。图3.2 典型的三层结构示意图  表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口,操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和取值的范围,不包括有关业务本身的处理逻辑。  功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。例如,在制作订购合同时要计算合同金额,按照定好的格式配置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据时,要设法将有关检索要求的信息一次性地传送给功能层,而由功能层处理过的检索结果数据也一次性地传送给表示层。  通常,在功能层中包含有确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能。功能层的程序多半是用可视化编程工具开发的,也有使用COBOL和C语言的。  数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。因此,一般从功能层传送到数据层的要求大都使用SQL语言。  这些层次并不一定与网络上的具体物理位置相对应,它们只是概念上的层,借助这些概念可以开发出强大的应用程序。使用这种方法设计应用程序,开发人员在网络上部署进程及数据时可以有相当大的灵活性,从而有利于实现最佳的性能、更好的安全性以及更方便的维护。中间层中包括提供业务服务和其它中间服务的部件,是联系用户服务和数据服务的桥梁,它们响应用户(或其它业务服务)发来的请求,执行某种业务任务,并对相应的数据进行处理。用户不需要直接与数据库打交道。在实际应用过程中,中间层部件通常可分为两个以上的层次。因此,该应用模型也被称为多层次结构。  三层C/S的解决方案是:对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为数据库管理系统已经独立出来,所以,关键是要将表示层和功能层分离成各自独立的程序,并且还要使这两层间的接口简洁明了。  如果将功能层和数据层分别放在不同的服务器中,则服务器和服务器之间也要进行数据传送。但是,由于在这种形态中三层是分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。  在更复杂的多层体系结构中,&#8220;廋&#8221;客户与远程数据库服务器之间可以加入更多的中间服务器,如加入一个中间安全服务器或中间转换服务器,用于对不同平台数据进行处理。& &&&&& 分布式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机器中。其中应用程序服务器作为中间层集中实现企业逻辑,协调多层之间的请求,并掌握数据集定义的全部细节和远程数据库服务器进行通信,这样客户端应用程序就重点放在显示数据和与用户交互上,客户端应用程序甚至都不需要知道数据在那儿。3.4.3 三层及多层结构的特点  与传统的二层结构相比,三层及多层结构具有以下优点:     (1)允许合理地划分三层及多层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。  (2)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。例如,最初用一台Unix工作站作为服务器,将数据层和功能层都配置在这台服务器上。随着业务的发展,用户数和数据量逐渐增加,这时,就可以将Unix工作站作为功能层的专用服务器,另外追加一台专用于数据层的服务器。若业务进一步扩大,用户数进一步增加,则可以继续增加功能层的服务器数目,用以分割数据库。清晰、合理地分割三层结构并使其独立,可以使系统构成的变更非常简单。因此,被分成三层的应用基本上不需要修正。&&&&&&&&&&&&&&&&&   (3)三层及多层结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行地而且是高效地进行开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。   (4)实现分布式数据处理。把一个应用程序分布在几个机器上运行,可以提供应用程序的性能,通过冗余配置还可以保证不会因为局部故障导致整个应用程序崩溃。  (5)有利于安全。允许充分利用功能层有效地隔离开表示层与数据层,将一些敏感数据功能部分封装在中间层,并授予不同访问权限,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,可以保证对数据的访问限制,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。
第四章 网络游戏平台的体系结构及关键技术
4.1 基于集群技术的四层平台体系结构4.1.1 集群的提出  近年来计算机网络的发展及大规模科学计算如基因数据的分析、气象预报、石油勘探对服务器的性能要求越来越高,对计算机的性能提出了更高的要求:需要硬件有灵活的可扩展性,关键性的业务需要可靠的容错机制。但是已有工作模式,对新的需求却显得力不从心。因此,如何保证一个大型系统具有处理速度快、I/O吞吐量大,容错性好、可靠性高,而且还具有良好的可扩展能力,成为当前急需解决的课题。在此需求环境下,集群系统应运而生。  同时在网络应用中,&#8220;负载均衡&#8221;已经不能算是什么新鲜话题了,从硬件到软件,也都有了很多的方法来实现负载均衡。我们这里讨论的负载均衡,并不是指依靠DNS转向或其它硬件设备等所作的负载均衡,而是指在应用层所作的负载均衡。  一般而言,只有在大型在线系统当中才有必要引入负载均衡,那么,多大的系统才能被称为大型系统呢?比如动辄同时在线数十万的网络游戏,比如同时在线数在10万以上的WEB应用,这些我们都可以理解为大型系统,这本身就是一个宽泛的概念。  设计再好的服务器程序,其单个程序所能承载的同时访问量也是有限的,面对一个庞大且日益增长的网络用户群,如何让我们的架构能适应未来海量用户访问,这自然就牵涉到了负载均衡问题。支持百万级以上的大型在线系统,它的架构核心就是如何将&#8220;百万&#8221;这么大的一个同时在线量分摊到每个单独的服务器程序上去。真正的逻辑处理应该是在这最终的底层的服务器程序(如QQ游戏平台的游戏房间服务器)上的,而在此之前所存在的那些服务器,都可以被称为&#8220;引路者&#8221;,它们的作用就是将客户端一步步引导到这最终的负责真正逻辑的底层服务器上去,我们计算&#8220;百万级在线&#8221;所需要的服务器数量,也是首先考虑这底层的逻辑服务器单个可承载的客户端连接量。  集群技术的提出为我们解决上述问题提供了切实可行的解决方案,它能更好地满足大型系统业务、性能以及规模等日益增长的需求。  集群技术在网络游戏中的应用体现是:一个网络游戏是由很多个游戏世界组成,而每个游戏世界是由多个具有不同功能的服务器组成的服务器群组,可以为玩家无限地开独立的游戏世界(即服务器组),以满足大型玩家在线,可以无限开的都是&#8220;具有完整游戏性的游戏世界&#8221;,对于网络游戏而言,它的一个完整的游戏地图就是一个整体的&#8220;游戏世界&#8221;。4.1.2 集群技术的概念及特点  集群系统[16]是由2台或2台以上通过网络或通信线路连接起来的相互独立而又相互合作的计算机组成的一种计算机系统,是一种基于消息传递的计算模型,可伸缩性好、可用性高、性能/价格比更高,这一切给用户提供了一种以较小代价实现高性能并行计算的有效途径,因而被广泛采用。在用户看来,它是运行在一系列自治处理单元上的普通系统,每个结点有各自物理内存空间并通过高速链路或者标准化网络连接,实现对同一任务的协同计算。当一个客户与集群相互作用时,集群就像是一个独立的服务器。  和传统的高性能计算机技术相比,集群技术可以利用各档次的计算机作为节点,不仅系统造价低,还可以实现很高的运算速度,完成大运算量的计算,能够逐步满足当今日益增长的信息服务需求。在服务器集群系统中,服务器不再分布在各处,而是集中在一起进行统一管理和维护。系统保持了分布式客户机/服务器模式的开发性、可扩展性的优点,同时又具备了终端/主机模式的资源共享和集中易于管理的优点。相对集中的集群系统,降低了系统管理的成本,而且还提供了和大型服务器系统相媲美的处理能力。典型的集群系统代表有[25]:IBM 的TCP Router,Cisco的LocalDirector,Berkeley的MagicRouter及章文嵩的LVS[20]。  所以,在今后的面向Intemet的服务型应用中,以高性能的硬件平台作为支持,将并行技术应用在服务器领域中,是计算机发展的必然趋势。并行处理技术在高性能计算领域中,高可用和高性能是集群服务器系统发展的两个重要方向。  集群系统使由完整的计算机互联组成一个统一的计算机系统具有极高的性能价格比。它需要专有软件的支持,比如支持集群技术的操作系统或数据库等,硬件方面可以根据不同实际需求,采用现成的通用硬件设备或特殊应用的硬件设备。集群系统中可以动态地加入新的服务器和删除需要淘汰的服务器,具备很强的可扩展性,从而能够最大限度地扩展系统以满足不断增长的应用的需要;另外,要求集群系统具有可用性,即能够为用户提供不间断的服务,当系统中的一个结点出现故障的时候,整个系统仍然能够继续为用户提供服务。  与其他体系结构相比较,集群系统具有以下优点:  a.良好的可扩展性,可以在任意时候任意地扩展集群系统,不用中断服务;节点之间仅仅通过消息传递协同工作;每个节点都拥有计算和存贮资源,可以不依赖于其他的节点工作。通过添加新的节点,就可以在不影响原有服务的情况下提高集群的负载能力。  b.良好的系统可用性,个别系统的失效和错误不会影响到整个系统,更不会传播,它的任务可以传递给其他节点,可以实现较高的自动修复处理,可以有效防止单点失效。  c.高性能,集群能够实现负载均衡,负载平衡集群允许系统同时接入更多的用户,进行分布式部署,易于监控和管理。  d.良好的性能价格比,大规模机器具有较小的体积,但减少机器使得开发费用上升。4.1.3 平台体系结构  在大型游戏的应用过程中,实际需要处理的玩家数量过万甚至几十万,一台普通的服务器是无法完成所要完成的工作,因此,在实际应用的时候,通常是由一组多台服务器共同完成一个完整游戏世界的功能,即&#8220;战区&#8221;的概念。  一个战区实际上就是由多台服务器构成的一个集群系统,每个玩家所处的游戏世界就是一个战区。由于一个战区所能容纳的玩家数量是有限的,目前一般能承载的人数在2000左右,因此,面对海量级的玩家,我们可以把玩家分散到不同的战区中去,以满足玩家数量的增长。同时,由于玩家是分布在不同地区的,我们把一个完整的游戏世界服务器集群系统(战区)放置在不同区域,这样就使得玩家可以访问离他们最近的服务器集群系统,对玩家来说体验到更快的响应速度,对服务提供商来说节约网络带宽,降低成本。图4.1 基于集群技术的四层平台体系结构  从上图我们看出,一个大型网络游戏是由很多个分布在不同区域的Internet数据中心(Internet Data Center)中的服务器集群系统(战区)组成,例如他们分别放在华南地区、华东地区和东北地区的三个不同的IDC中,三个集群系统都有自己的数据存储系统,提供相同的游戏服务。玩家可以通过Virtual IP Address访问离自己最近的网络服务,由相应的集群提供服务。例如,华南地区的玩家进入在华南地区的战区,华东地区的玩家进入在华东地区的战区,这一切对用户来说是透明的。  网络游戏中为玩家提供服务的是每个服务器集群系统,即战区。因此,一个战区就是一个独立的结构,如图4.1所示,网络游戏平台的体系结构可分为四个层次。  第一层是客户端,提供用户接口,主要功能是指导操作人员使用界面,输入数据,输出结果,并不具有企业逻辑,或只拥有部分不涉及企业核心的、机密的应用逻辑。这样客户端就显的很廋,称为&#8220;廋&#8221;客户。  第二层是游戏通信平台(网关服务器),这是服务器集群的唯一入口,转发所有的功能请求给服务结点池中的具体服务器,并处理所有的非功能请求,并管理终端用户、进行状态保持、日志记录等。从客户端的角度看,集群通过这层的服务体现为一个基于IP地址的单一系统映像(SSI),整个集群共用这个虚拟地址,通过它客户端可以把整个集群看作一个独立的具有合法IP地址的主机系统,客户端的所有访问都发往这个虚拟IP地址。   网关服务器同时有负载均衡的功能,有必要的容错机制。在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。主要功能如下:1.解决网络拥塞问题,服务就近提供,实现地理位置无关性;2.为用户提供更好的访问质量;3.提高服务器响应速度;4.提高服务器及其他资源的利用效率;5.避免了网络关键部位出现单点失效。  第三层是提供实际服务的服务器群,处理并且仅处理所有的功能性请求,不参与用户管理、状态保持等,提供最纯粹的功能服务。客户端发出的服务请求经过游戏通信平台处理以后,转交到服务池由具体的服务器响应请求并返回数据。通常我们会在服务结点池上提供游戏世界服务器、数据库服务器和角色存盘服务器。由于单一系统无法应付高峰值得数据访问,那么通过多台服务器分担这些负载就比较经济可行了。   服务器结点也有可能出现暂时失效的情况,特别是在结点提供多种服务的时候,系统的随机故障或外部环境的突变都可能造成该节点的某个服务暂时不可用。因此,由负载均衡扩展出的容错机制要能够识别这种错误,及时进行处理。同样,当错误排除后,集群能够自动识别恢复事件,把好的结点重新纳入集群继续运行。  第四层是数据库存储系统,负责管理对数据的读写和维护,为整个集群内部运行提供稳定、一致的数据存取服务。这一层作为网络游戏

我要回帖

更多关于 我们的孩子不一样了 的文章

 

随机推荐