游戏直通车系统研制报告Word文件下载.docx
- 文档编号:21166776
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:17
- 大小:223.20KB
游戏直通车系统研制报告Word文件下载.docx
《游戏直通车系统研制报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《游戏直通车系统研制报告Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
各种类型帐号都可使用,使玩家免去购买点卡,外出缴费的苦恼。
对电信而言:
除起到繁荣网络服务内容,刺激上网用户数量的作用以外,还可以直接为电信运营商带来直接的内容分成效益。
一方面保证用户从电信运营商接入,增收接入费;
另一方面也能从用户消费的内容中收取一部份费用,扩大了利润来源。
对游戏厂商而言:
有了电信在IDC资源方面的大力支持和代收费。
使游戏厂商可以更加专注于内容的开发和推广。
◆项目设计目标
作为宽带网上运营的收费平台,系统在设计之初不仅要重点考虑系统的可靠性、安全性,保证系统稳定、可靠的运行,提高系统平台的服务质量。
同时,也要考虑系统的可扩展性,以满足系统的可持续发展要求。
在游戏直通车系统设计时遵循以下描述项目的设计目标。
可靠性:
为能保证用户计费数据安全,系统稳定运行,保障用户的游戏质量,游戏直通车系统服务器根据功能实现采用分离分布式体系结构,易于系统扩展、维护。
游戏直通车服务器系统可分为三部分:
认证计费系统、游戏数据转发系统、后台管理系统。
每个子系统分别运行各自的服务器上,实现服务器分离,保证各个子系统的可靠运行。
而游戏数据转发系统布式体系结构,实现游戏数据的负载均衡,保障用户的游戏质量。
计费数据在传输时进行了加密,确保数据的可靠性。
系统服务器选择Linux系统,从设计的操作系统上保证系统的安全、可靠,并有很好的性价比。
可扩充性:
随着更多的网游运营商和更多的网游加盟,当用户增加时,系统能方便的升级、扩容,保证系统的可持续发展。
由于系统采用分离分布式体系结构和自动负载均衡功能,系统扩容方便,只需添加相应的服务器即可。
而且当任意一台游戏数据转发服务器出现故障,将不会影响到别的服务器上的用户,并可从系统中撤换。
可运营、可管理:
能对系统运行进行方便的管理,并且系统具有好的用户友好性,客户端要满足广大玩家的意见,方便用户快速游戏。
对运营商管理而言,系统服务器端可以管理用户、记录用户游戏计费信息,是个可运营、可管理的产品。
系统低成本、维护少
计费系统采用采用江苏电信现用的集中计费平台,网游资源和维护由网游运营商提供,游戏直通车服务器系统运营、维护成本低,管理员所做的只是不定期的检查服务是否正常运行,检查系统硬盘空间和资源的使用情况,并根据系统的管理系统管理用户即可。
支持各种网络接入形式
无论是LAN用户,ADSL用户,HFC用户,拨号用户还是网吧用户,只要是互联星空接入的用户都可以得到良好的支持;
尤其是在宽带网环境下,用户拥有的是假IP地址(经NAT转换),系统仍然能提供良好的支持。
支持更多网游
应满足网游市场发展的需求,根据网游提供的接口,可支持更多的、流行的网游,吸引更多的网游加盟。
支持更多的接入用户
本项目应当主要面向窄带拨号用户,同时兼顾宽带及其他接入方式的Internet电信和非电信用户。
目前支持江苏互联星空以下四类用户:
·
主叫拨号用户
·
互联星空卡用户
互联星空注册用户
宽窄带互联星空帐号用户。
◆系统模块结构划分
1、模块概述
“游戏直通车”系统按功能划分,可分为以下几个模块:
∙登陆认证服务器:
主要实现主叫拨号用户和互联星空付费用户有效身份的验证,以及获取该用户付费信息、预算时长,是否允许该用户登陆游戏直通车。
∙计费服务器:
主要实现各种付费方式的游戏消费计费和帐务管理,记录用户游戏消费记录并实现与互联星空集中计费系统的接口,向集中计费系统发送计费数据。
∙游戏代理服务器:
实现网游数据转发。
网游认证和计费系统根据网游数据来源IP地址,对来自游戏代理服务器的数据予以通过,不计游戏费用。
∙客户端软件:
提供用户登陆和启动游戏的人机交互接口,实现游戏计费信息控制和计费数据采集。
∙系统后台管理:
主要完成用户登陆、计费数据统计分析等运营管理的功能,使系统成为一个可运营、可管理的系统。
∙数据库:
数据库存储了系统的有关信息和用户登陆、消费等信息,供认证服务器和后台管理访问。
2、模块功能细化
2.1登陆认证服务器模块
1认证接口模块
用户登陆时,首先向互联星空集中计费平台请求验证该用户的合法性,并返回用户的可用资金余额。
2登陆处理模块
用户验证合法后,记录用户登陆信息,向客户端发送支持的游戏列表以及网游代理服务器信息。
3系统升级模块
用户登陆时,验证客户端软件的版本号,判别该客户端是否是最新版本,向客户端发送最新版本号,以及客户端自动升级所需文件的下载地址。
2.2计费服务器模块
1计费数据采集模块
该模块实现记录用户玩网游的计费数据,包括所玩游戏、运用商、玩游戏起始和结束时间等信息。
2计费接口模块
实现向互联星空集中计费系统发送计费数据,计费接口采用最广泛的认证计费协议RADIUS,为确保计费数据的可靠性,对数据进行加密传输,并采用重发机制。
2.3游戏代理服务器模块
实现网游数据的转发功能。
服务器及游戏代理服务器软件的数据交换的能力决定了服务器并发用户数,因此每台服务器的并发用户数除了与游戏代理系统软件有关,还决定于服务器硬件的处理能力。
游戏代理服务器硬件的处理能力主要决定于CPU处理速度、内存、网卡吞吐能力。
2.4客户端软件:
1登陆模块
是用户登陆游戏直通车系统的人机交互界面。
用户通过选择用户类型(主叫拨号用户
宽窄带互联星空帐号用户),输入相应的登陆名和密码登陆认证服务器,如果版本升级了,则自动升级客户端。
2游戏大厅模块
是用户启动游戏的人机交互界面。
具有以下功能:
∙游戏设置:
设置网游的启动路径和启动程序。
∙游戏启动:
启动网游。
∙游戏数据转发:
将网游数据转发到游戏代理服务器。
∙负载均衡:
动态实现游戏代理服务器的负载均衡。
∙游戏计费数据采集:
采集网游的有效计费信息。
∙帮助:
提供系统操作的帮助信息。
2.5后台管理系统:
后台管理系统,主要完成功能管理、管理员管理、游戏管理、代理管理、时长管理、计费管理、失费管理、次数管理、BANNER管理。
使系统成为一个可运营、可管理的系统。
∙功能管理
实现管理系统自身功能模块的管理。
能动态地增加/删除/修改管理系统的各个功能模块的属性。
可查看相应功能的功能名称、功能链接和功能文件信息。
∙管理员管理
管理员采用分级权限,各管理员统一有超级管理员来管理,管理员的权限以属性的方式出现,可方便的进行增加、修改、删除。
∙游戏管理
系统管理员能方便的、无限制的添加各种网络游戏,客户端的选择游戏列表相应会显示,实现对各种游戏的统一管理。
同时,开放管理接口,使第三方游戏可在此平台上实现运营。
∙代理管理
系统管理员针对相应的网络游戏,设置该游戏启用的代理转发服务器。
玩家从客户端启动游戏后,客户端将根据本项设置选择相应的转发服务器,从而使玩家与真正的游戏服务器之间有一个可交互的通道并实现正常玩游戏。
∙时长管理
用户访问情况的一些统计
[1]时长统计
按年/月/不同服务器/不同类型用户统计相应的用户使用时间情况,显示该年月用户登陆直通车的总时长。
[2]时长查询
按年/月/日/用户名统计相应的用户玩游戏的情况,显示该年月日某游戏某用户登陆游戏直通车次数及相应时长。
∙计费管理
用户产生费用情况的一些统计
[1]计费统计
按年/月/游戏名称/用户类型统计相应的用户产生费用的情况,显示该年月某游戏某类用户所记的总费用
[2]计费查询
按年/月/日/用户名统计相应的用户产生费用的情况,显示该年月日某游戏某用户产生的费用详单。
∙失费管理
用户失费情况的一些统计
[1]失费统计
按年/月/游戏名称/用户类型统计相应的用户发生失费的情况,显示该年月某游戏某类用户失费的总数。
[2]失费查询
按年/月/日/用户名统计相应的用户产生失费的情况,显示该年月日某游戏某用户的失费详单。
∙次数管理
用户登录平台次数的各项统计数目。
[1]按小时统计
显示该天各时段某类用户登陆平台的次数
[2]按天统计
显示该月各天某类用户登陆平台的次数
[3]按月统计
显示该年各月某类用户登陆平台的次数
∙BANNER管理
客户端广告条的管理。
可以更换客户端显示的广告图片。
∙退出功能
管理员退出系统功能,安全地退出系统可保证密码/缓存等信息的安全。
2.6数据库
数据库的设计考虑到完成功能的所有要素,保证系统数据的安全。
◆系统结构图
◆系统流程图
◆系统主要特点
1.简单方便的友好的用户操作界面。
2.提升宽带网的价值,网络游戏已经成为宽带网上可赢利的重要模式。
3.只需提供平台,充分调动网游资源,降低运营成本。
系统可运营、可管理。
4.各服务子系统采用相对独立服务器,电信级大容量,系统易于扩展。
◆硬件要求
☐软件平台:
RedHatLinux7.3、ApacheServer、Resin。
☐硬件平台:
建议配置
认证服务器支持建议配置为:
Intel2200:
英特尔奔腾III1.26G/512KBL2缓存*22GPC-133RECCSDRAM内存18.2GBUltra2SCSI热插拔硬盘SLIM24X光驱。
计费服务器建议配置为:
。
游戏代理服务器建议配置为:
数据库服务器建议配置为:
英特尔奔腾III1.26G/512KBL2缓存*22GPC-133RECCSDRAM内存72GBUltra2SCSI热插拔硬盘SLIM24X光驱。
后台管理服务器建议配置为:
“游戏直通车”系统技术报告
“游戏直通车”是一种全新概念的网络游戏平台,它为网络游戏提供了一个全新的用户直接游戏通道,
用户登陆游戏直通车,直接玩已签约的任何一款网络游戏,而不需要任何游戏点卡,玩家的游戏费用直接从使用的帐号扣除或记在该帐号上,免去了购买点卡的烦恼。
“游戏直通车”的网络技术充分运用行业标准的TCP/IP和网络通信代理协议的优势,将网络游戏的数据转发到指定的代理服务器,由代理服务器将数据发送到网游服务器,玩家可以在其中无障碍的遨游,享受“游戏直通车”带来的便捷。
“游戏直通车”运用具有突破性的网络技术为用户提供了一套性能可靠的游戏服务平台,满足用户进行大规模网络游戏的需求,是一个基于游戏应用的P2P协同工作平台,将给宽带网运营商带来新的业务及利润增长点。
此产品是个可运营、可管理的电信级平台,支持大容量用户。
上面简单描述了“游戏直通车”系统的主要功能,详细的功能性的描述和介绍参考“游戏直通车”系统研制报告。
下面就本项目采用的技术进行系统性的描述。
◆方案的选择与考虑
1.系统的稳定性和服务质量
通过分析可以发现,网络质量和用户访问速度的决定了网络游戏的服务质量,因此服务器的出口带宽、机器的配置、以及系统软件的设计等因素决定了平台的成败。
在方案中为了降低服务方投资的成本,我们采用了Linux服务器,并采用标准C编写了如上所述的服务器端后台进程,系统结构采用分布式的结构。
在编程的过程中很好的处理了内存泄漏、系统资源共享冲突等常见的问题,使后台进程可以很稳定的运行。
与互联星空计费系统的通信接口采用成熟的广泛应用的RADIUS协议以及重发机制,保证了计费数据通信的稳定性。
2.任务处理效率和速度
在具体编写程序时,我们充分考虑到了系统的处理效率和完成任务的速度。
从这个角度上程序当然的采用了多线程的技术(后面将详细介绍)。
采用多线程进行编程后,在不影响整体运行的稳定性基础上,后台进程同时可以完成十个任务,而且每个任务也同时有十个线程处理,可以在相对比较短的时间内完成比较多的任务。
同时为了保证系统能响应游戏数据的实施交换,对某些关键耗时的算法部分,直接采用了汇编语言来编写,使系统的响应能最及时。
3.系统模块的最佳搭配
系统服务器都是是建立在Linux基础上,后WEB服务采用相应的Apache+Resin提供,页面编程用Jsp编写,后台进程采用C语言结合汇编的方式编写,客户端采用VC++编写,数据库采用MYSQL大型数据库。
从系统模块的搭配的整体角度来看,这种搭配是最优的,并有很好的性价比,也是现在很多大型的应用系统最多采用的方案。
它为服务的可靠质量提供了保证。
◆关键技术
1网络安全技术
互动游戏平台系统安全主要考虑两个方面。
一方面,用户的计费信息不会被用户得到或者篡改。
;
另一方面,就是防止对手对系统进行主动攻击,如伪造,篡改信息等。
关于用户的计费信息保护,本系统采用了MD5加密技术。
md5的全称是message-digestalgorithm5(信息-摘要算法),在90年代初由mitlaboratoryforcomputerscience和rsadatasecurityinc的ronaldl.rivest开发出来,经md2、md3和md4发展而来。
它的作用是让大容量信息在用数字签名软件签署私人密匙前被"
压缩"
成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数),而且这种压缩过程是不可逆的(即无法从密文得到加密前的数据)。
认证(authentication)则是防止主动攻击的重要技术,它对于开放的网络中的各种信息系统的安全性有重要作用。
认证的主要目的有二:
第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别;
第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等
2智能代理技术
智能代理又称智能体,是人工智能研究的新成果,它是在用户没有明确具体要求的情况下,根据用户需要,代替用户进行各种复杂的工作,如信息查询、筛选及管理,并能推测用户的意图,自主制定、调整和执行工作计划。
具有智能性,是可进行高级、复杂的自动处理的代理软件。
智能代理可应用于广泛的领域,是人工智能领域近年来研究的一个热点,应用于信息检索领域之后,成为开发智能化、个性化信息检索的重要技术之一。
在游戏直通车的游戏数据转发服务器中采用了智能代理技术。
当用服务器认证之后,认证服务器会选择一个负载最轻的代理服务器,为用户代理游戏数据。
保证了游戏服务质量。
3代理服务器的多线程以及分布式架构
代理服务器采用双线程的工作模式,一个线程负责接受来自游戏客户端的数据并转发给游戏服务器,另一个线程负责接受来自游戏服务器的数据并转发给游戏客户端。
采用这个工作模式的好处是:
当同时既有数据发向游戏服务器,又有数据发向游戏客户端时不会造成任何一方的数据发送延迟。
代理服务器采用的是多个服务器的分布式结构,此结构的好处是:
可以根据用户的所在地和代理服务器的负载情况选择代理服务器,均衡系统负载;
而且此架构还能保证整个系统的安全性,当代理服务器当中有发生故障的机器时,会自动选择无故障的机器作为客户端的代理。
这样不会因为某台服务器崩溃而造成用户数据丢失和整个系统瘫痪,保证了数据安全和系统稳定,同时也易于系统扩展。
4通信协议
游戏直通车客户端和认证服务器之间采用的是我们自己定义的peertopeer通信协议,这样做可以进一步达到数据安全传输的目的;
认证服务器和计费服务器之间采用的是RADIUS扩展协议,RADIUS协议是目前采用最广泛的认证计费协议,我们采用此协议的好处是使得本系统的可扩展性非常好,同时数据的安全行也能得到保障(RADIUS协议在数据传输时,双方要通过密钥来确认对方的合法性)。
5多线程技术、线程间的同步技术
本系统的客户端进程采用了多线程技术,把线程分为两种:
用户界面线程和工作者线程。
用户界面线程能够提供界面和用户交互,通常用于处理用户输入并相应各种事件和消息;
而工作者线程主要用来处理程序的后台任务,采集和控制用户游戏计费信息。
这些工作者线程在主线程启动之后由主线程产生并且由主线程调度,在系统中协调的工作。
在多线程编程中最重要的是线程的同步技术,因为多个线程在共享资源时如果发生访问冲突通常会产生错误的结果。
VC++提供了同步对象(CSemaphore:
信号灯对象,Cmutex:
互斥量对象,CEvent:
事件对象,CCriticalSection:
临界区对象)来协调多线程的并行,提供同步访问对象(CMultiLock和CSingleLock)来实现对同步的控制。
本系统中为了使多个线程能协调工作,采用了互斥量句柄以及等待函数WaitForSingleObjects作为同步控制信息。
在程序执行的过程中,如果检测到某个互斥变量并且该互斥变量正在被其他的线程使用(该互斥变量是多线程间共享的),程序将等待直到其他的线程释放该变量后再控制该变量并继续执行下去,从而实现了多线程间资源共享的功能。
6重发机制
计费数据是整个系统的核心数据,在与互联星空集中计费系统通信时,采用了数据重发机制,以确保数据的可靠发送。
在服务器中建立缓冲池,在规定时间内,如果没有收到计费系统返回的数据收到确认信息,系统重发该数据,重发5次还没有得到确认,就将该数据保存到数据库中作为计费失败数据,以备计费对帐。
7封包技术
由于网游数据需要通过游戏代理服务器转发到网游服务器,就需要获取网游的通信数据,而网游客户端对于游戏直通车来说相当于一个“黑箱子”,就采用了封包技术来截获网游客户端通信函数,将网游通信数据转发到游戏代理服务器。
封包技术是通过挡截API函数来实现的。
在Windows系统中,使用WinSock接口为应用程序提供基于TCP/IP协议的网络访问服务,当然网络游戏程序也不例外,通过挡截网游的WinSockAPI接口函数,使用自定义的函数代替原函数实现对数据的转发。
◆系统结构及软件的部分流程图
1.服务系统整体结构
系统结构拓扑图如下所示:
服务器操作系统linux
服务器开发语言:
标准C语言
数据库系统:
mysql
客户端开发工具:
VC++
2.软件流程
系统实现过程:
(1)用户选择登陆方式登陆到认证服务器,认证服务器进行版本校验,如果版本升级了,就退出登陆,启动自动版本更新程序,实现在线升级。
如果版本没有升级,认证服务器就通过与互联星空集中计费系统的认证接口向计费系统计费系统发出认证请求,认证服务器根据返回的认证结果判别用户身份的合法性和有效性,通过验证后,向客户端返回网游列表信息以及游戏代理服务器IP地址、端口和人数。
(2)用户设置网游运行程序后,启动网游,系统就调用负载均衡模块和网游数据转发模块(采用封包技术),将网游数据转发到负载轻的游戏代理服务器,网游数据转发模块实现的功能:
截获网游发出通信数据,转发到游戏代理服务器;
游戏代理服务器将该数据转发到网游服务器。
如下图所示
同时系统启动计费数据采集功能模块,监控和采集网游的计费信息。
(3)当游戏结束时,客户端将计费数据采集功能模块采集的计费信息发送到计费服务器,计费服务器就通过与互联星空集中计费系统的计费接口向计费系统计费系统发出计费请求,如果请求失败,就启动重发机制,以保证计费的可靠性。
3通信协议定义
系统定义了两个通信协议规范,一个是客户端与认证、计费服务器之间的通信协议;
一个是认证、计费服务器与互联星空集中计费系统之间的通信协议。
客户端与认证、计费服务器之间的通信协议采用TCP协议,数据包格式定义如下:
Len
Tag
Con
Len:
2字节长度,为数据包中con部分长度。
Tag:
2字节长度,数据包功能代号。
Con:
可变长度,字符串,每一项用空格分隔,假如本身有空格,用双引号。
认证、计费服务器与互联星空集中计费系统之间的通信协议采用非阻塞方式的udp协议,协议规范遵循RADIUS协议,数据包格式定义如下:
Ver字段是协议的版本号,长度为1字节,目前Ver=0x01表示为版本v1。
Identifier字段表示请求的Id,长度为2个字节,尽量保证一定时间内不重复,Server端回应时保持和请求Id一致。
可用一递增数表示,到65535归零。
UserIP字段表示用户的IP地址,长度为4个字节,网络字节序。
PayType字段表示付费类型,长度1个字节
0x01表示主叫拨号用户
0x02表示互联星空卡用户
0x03表示互联星空注册用户
0x04表示宽窄带互联星空帐号
VendorID字段表示游戏商编号,长度1个字节
GameID字段表示游戏编号,长度2个字节
ErrCode字段表示认证错误代码,长度1个字节
AttrNum字段表示报文中Attr字段包含的属性个数
Rcv字段为保留字段,长度两个字节,现在不用,值为0x00,0x00
Attr字段(属性字段)是一个可变长字段,由多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 游戏 直通车 系统 研制 报告