毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现_第1页
毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现_第2页
毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现_第3页
毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现_第4页
毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计论文 软件工程专业 -游戏数据库服务器的设计与实现 xxx大学本科学生毕业设计网络对战游戏奇迹之海服务器数据库的设计与实现学 生学 号20055237指导教师xxx 副教授助理指导教师专 业软件工程xxx大学软件学院二九年六月ba d project of chongqing universitydesign and implementation of server database for the online game legendary oceanbad candidate xxxsupervisor a prof tan huixinassistant tutormajor s

2、oftware engineeringcollege of software engineeringchongqing universityjune 2009摘 要随着的普及网络游戏已经成为大家耳濡目染的新生事物现在可以说网络游戏已经成为人们休闲娱乐的有效方式网络游戏必须依托于互联网可以多人同时参与游戏通过人与人之间的互动达到交流娱乐和休闲的目的在网络游戏中数据库主要用来保存用户资料包括用户注册信息用户游戏资料以及其他设置资料网络游戏的服务器端在处理资料时必然要使用数据库进行大量数据的永久存储所以在网络游戏的开发中数据库的设计也是很重要的环节本项目就是网络游戏服务器数据库的设计和实现本项目my

3、sql作为数据库管理系统还使用了mysql提供的c api该api的功能进行连接管理实施查询处理结果集等通过需求分析完成了数据库的概念设计逻辑设计以及系统架构设计通过系统架构图分析出了系统各个部分的工作情况以及数据的交互情况将c api封装成易于使用的数据库接口为数据库服务器提供了操作数据库的函数关键词数据库系统网络游戏mysql c api封装abstractwith the popularization of internet online game is no longer a new thing to people now it can be said that online game

4、s have become an effective way of the peoples leisure and entertainment online games must rely on the internet people can take part in the game at the same time and through the interaction between people to reach the purposes of exchange entertainment and leisurein online games the database is mainl

5、y used to save users data including users registration information users game information as well as other setting information when online games server-side in dealing these data the database must be used to store large amounts of data permanent so database designing is also a very important aspect

6、in the development of online gamesthis project is about design and implementation of server database for online game this project uses the database management system based on mysql also uses the mysql c api and this api functions can do connection management the implementation of inquiries processin

7、g of result sets and so on in the project design process the work completed as followsthrough the requirement analysis we complete the concept and logic design of database and system architecture designthrough the system architecture diagram we analyze the work of the various parts of the system and

8、 the data interactive situationspackaged the c api as easy-to-use database interfaceprovided functions for the database server operating the databasekeywords database system online game mysql c api packag目 录摘 要iabstractii1 绪 论111 课题研究背景112 课题研究意义22 系统需求分析421 需求概述422 数据库系统需求423 用户用例分析53 系统设计831 mysql

9、概述832 数据库概念设计833 数据库逻辑设计144 系统难点技术分析与设计1941 系统架构设计与分析1942 将mysql c api封装成易于使用的数据库接口27com mysql c api 概述27com 封装c api295 系统实现336 工作总结和结论36致 谢37参 考 文 献381 绪 论11 课题研究背景随着的普及网络游戏已经成为大家耳濡目染的新生事物网络游戏从出现到现在发展的时间很短但是起发展速度却非常之快现在可以说网络游戏已经成为人们休闲娱乐的有效方式网络游戏必须依托于互联网进行可以多人同时参与的游戏通过人与人之间的互动达到交流娱乐和休闲的目的一般的网络游戏都是采用

10、客户服务器模式的体系结构见图11包括客户机程序服务器程序数据库服务器图11 网络游戏体系结构网络游戏都是采用如下的方式运行有一个或多个游戏服务器启动特定游戏服务游戏者到游戏网站下载客户端程序并且申请游戏账号id然后启动客户端程序通过网络协议连接游戏服务器客户端程序负责处理客户端显示和操作界面具有简单的逻辑处理功能同时负责接收发送与服务器端交互的数据包服务器程序负责处理服务器端逻辑游戏逻辑客户之间的网络信息传递以及数据库之间的数据读取保存工作同时服务器端还要承担客户端数据的接受转发工作网络游戏常常用到网络协议有适用于internet的tcpip协议适用于局域网的ipx协议网络游戏程序的开发一般采

11、用microsoft visual c作为编译环境分为客户端程序和服务器端程序客户端程序主要负责显示用户界面为用户提供赏心悦目的操作界面通过客户端与服务器之间的网络传递数据实现了多人协同游戏的目的在开发网络游戏时首先要建立底层的网络通信类利用网络通信类连接构建客户服务器之间的tcpip连接然后在该连接的基础上利用自己设定的协议进行客户端登录进入大厅开始游戏换房间等操作在以上协议的基础上同时在服务器端还需要和数据库服务器交互用于读取或保存客户信息如客户积分密码个人资料等数据在网络游戏中数据库主要用来保存用户资料包括用户注册信息用户游戏资料以及其他设置资料本项目就是对网络游戏数据库系统的设计网络游

12、戏的服务器端在处理大量的客户资料时必然要使用数据库进行大量数据的永久存储所以在网络游戏的开发中数据库的设计也是很重要的环节12 课题研究意义网络游戏的服务器端在处理大量的客户资料时必然要使用数据库进行大量数据的存储和查询服务器在数据库中保存客户注册信息客户积分信息客户设置信息等信息同时因为游戏服务器一般采用多服务器所以多台游戏服务器同时连接一台数据库服务器进行客户数据的查询和修改并且保持客户数据的同步在客户注册用户登录服务器保存游戏结果退出游戏时游戏服务器都必须和数据库服务器进行交互查询和保存客户资料当同时有大量用户同时游戏时所以必须保证数据库服务器的性能以免造成数据库处理缓慢导致游戏服务器停

13、止响应的后果现在的网络游戏数据越来越多越来越复杂合理地组织这些数据并为服务器提便于操作的接口从而实现快速的数据访问是一个非常重要的工作数据库技术为开发人员提供了一个良好的平台至今数据库设计的很多工作仍需要人工来做除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外尚缺乏一套完善的数据库设计理论方法和工具以实现数据库设计的自动化或交互式的半自动化设计所以数据库设计今后的研究发展方向是研究数据库设计理论寻求能够更有效地表达语义关系的数据模型为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境使数据库的设计更加工程化更加规范化和更加方便易行使得在数据库的设计中充分体现软件

14、工程的先进思想和方法本项目使用的是基于mysql创建的数据库还使用了mysql提供的一个c语言的api使用该api的功能进行连接管理实施查询处理结果集等内容为服务器提供操作数据库的函数接口通过该课题的研究能使我了解mysql相关知识加深对数据库相关知识的认识掌握网游服务器数据库的开发流程与方法锻炼并提升自己的能力丰富自己的专业知识为以后就业打下良好基础2 系统需求分析21 需求概述在软件工程中需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的范围和定义时所要做的所有的工作需求分析是软件工程中的一个关键过程在这个过程中系统分析员和软件工程师确定顾客的需要 只有在确定了这些需要

15、后他们才能够分析和寻求新系统的解决方法需求分析主要是解决软件产品应该达到的各项功能和非功能要求即用户要求做什么软件需求分析工作是软件开发与用户紧密配合充分交换意见系统在广大的相关人群中谋取平衡与折衷最终达到相互谅解的过程需求分析是从用户最初的非形式化需求到满足用户要求的软件产品的映射过程它实际上是一个对用户意图不断进行揭示和判断的过程其目的在于细化精华软件的作用范围确定拟开发软件的功能和性能约束环境需求分析工作是软件生存期中重要的一步也是决定性的一步软件需求分析工作是一个不断认识和逐步细化的过程该过程将软件计划阶段所确定的软件范围工作域逐步细化到可详细定义的程度并分析各种不同的软件元素然后为这

16、些元素找到可行的解决方法22 数据库系统需求本阶段主要任务就是调查和分析用户的业务活动和数据的使用情况弄清所用数据的种类范围数量以及它们在业务活动中交流的情况确定用户对数据库系统的使用要求和各种约束条件等形成用户需求规约数据库系统主要完成登录服务器大厅服务器游戏服务器数据库服务器与数据库之间的交互其主要分为两大块登录服务器与数据库的交互大厅服务器与数据库的交互系统需求大致可叙述为用户通过游戏客户端软件登陆游戏服务器服务器通过传递过来的用户密码到数据库中验证如果验证通过即可登录游戏否则提示用户密码错误通过验证后从数据库中读取出用户的个人资料如同时读取用户的游戏资料如积分等参数用户选择游戏大厅进行

17、游戏在大厅可进行查收礼物购买物品等操作程序调用数据库接口保存用户信息在用户一局游戏结束后程序调用数据库接口保存用户游戏信息如胜率变化积分等资料包括以下用户用例显示用户信息显示大厅信息如图21图21 显示包用户用例显示包用户例介绍如下图22 操作包用户用例操作包用户用例介绍如下登录用户启动登录器输入账号密码进行登录如果通过验证即成功登陆否则提示重新输入并验证选择大厅登录后用户可以选择大厅进行游戏进入大厅时验证账号密码以及生成的验证码三项如果通过验证即成功进入大厅否则提示重新选择并验证更换大厅用户在大厅中可选择更换大厅更换大厅时重新产生验证码并再次检验账号密码验证码三项如果通过验证即成功更换大厅否

18、则提示重新操作并验证激活物品用户在查看物品界面可以激活自己未使用的物品激活成功则提示激活成功否则提示重新操作丢弃物品用户在查看物品界面可以丢弃自己的物品成功即提示成功消息否则提示重新操作购买物品用户在购买物品界面可以为自己购买物品成功即提示成功消息否则提示重新操作赠送礼物用户在礼物界面可将自己的物品赠送给他人成功即提示成功消息否则提示重新操作接收礼物用户在礼物界面可选择接收别人赠送的礼物成功即提示成功消息否则提示重新操作丢弃礼物用户在礼物界面可选择丢弃别人赠送的礼物成功即提示成功消息否则提示重新操作退出用户退出游戏之前产生的验证码会被删除3 系统设计31 mysql概述32 数据库概念设计对用

19、户要求描述的现实世界可能是一个工厂一个商场或者一个学校等通过对其中住处的分类聚集和概括建立抽象的概念数据模型这个概念模型应反映现实世界各部门的信息结构信息流动情况信息间的互相制约关系以及各部门对信息储存查询和加工的要求等所建立的模型应避开数据库在计算机上的具体实现细节用一种抽象的形式表示出来以扩充的实体e-r模型联系模型方法为例第一步先明确现实世界各部门所含的各种实体及其属性实体间的联系以及对信息的制约条件等从而给出各部门内所用信息的局部描述 在数据库中称为用户的局部视图 第二步再将前面得到的多个用户的局部视图集成为一个全局视图即用户要描述的现实世界的概念数据模型根据需求设计如下的表accou

20、nt用户账号信息图31 表account属性accountid用户账号idusername用户名字password用户密码experience用户经验money用户金钱level用户等级curshipaccessid用户当前战舰idthing用户道具信息图32 表thing属性thingid用户物品idaccountid用户物品所属用户idthingtype用户物品类型bbind用户物品是否绑定binstalled用户物品是否激活activetime用户物品有效时间accessid用户物品在本地角本数据库表中的idshipaccessid用户战舰在本地脚本数据库表中的idhsgcverifyc

21、ode用户登陆验证信息图33 表hsgcverifycode属性hsgcverifycodeid登录验证idaccountid登录用户的idverifycode验证码gift礼物信息图34 表gift属性giftid礼物的idaccountid接收礼物用户的idthingtype礼物类型benefactor送礼物的用户desctext礼物附带的描述以上表都是在游戏过程中与用户交互时生成的此外还有本地脚本数据库中的表后缀为access代表为本地数据库里的表但这些表不在设计范围中故不详述它们包括shipaccess游戏中战舰的信息图35 表shipaccess属性roleaccess游戏中角色的信

22、息图36 表roleaccess属性gunaccess游戏中战舰上武器的信息图37 表gunaccess属性itemaccess游戏中物品的信息图38 表itemaccess属性emplaceaccess战舰位置信息图39 表emplaceaccess属性后缀为access代表为本地数据库里的表以上表的实体关系图图3 实体关系图33 数据库逻辑设计执行完毕后数据库ocean创建成功如图3图3 数据库ocean执行完毕后提示数据库连接成功在数据库ocean中创建表account在mysql command line client中执行如下命令执行完毕后表account创建成功如图312图3 表a

23、ccount执行完毕后表gift创建成功如图313图3 表gifthsgcverifycode在mysql command line client中执行如下命令执行完毕后表hsgcverifycode创建成功如图314图3 表hsgcverifycodething在mysql command line client中执行如下命令执行完毕后表thing创建成功如图315图3 表thin4 系统难点技术分析与设计41 系统架构设计与分析图41 系统架构图从图我们可以看出系统各个部分的工作情况以及数据的交互情况可从两个部分来分析登录服务器与数据库服务器的交互其中包括用户由登录器客户端登陆登录服务器时

24、登录服务器请求数据库服务器执行登陆验证操作数据库服务器再对数据库进行查询操作并返回查询结果大厅服务器与数据库服务器的交互其中包括用户由游戏客户端登陆大厅服务器时大厅服务器请求数据库服务器执行登陆验证操作数据库服务器再对数据库进行查询操作并返回查询结果用户更换大厅时大厅服务器请求数据库服务器执行更换大厅操作数据库服务器再对数据库进行相应操作并返回操作后的结果用户对物品进行查询配置激活丢弃购买赠送接收时大厅服务器请求数据库服务器执行相应操作数据库服务器在对数据局进行相应的操作并返回操作后的结果一局游戏结束后游戏服务器将游戏过程中各种信息的变化传给大厅服务器大厅服务器请求数据库服务器执行数据更新操作

25、数据库服务器再对数据库进行更新操作并返回更新后的结果用户退出游戏时大厅服务器请求数据库执行退出操作数据库服务器再对数据库进行相应的删除数据操作其中值得注意到一点是游戏服务器没有直接与数据库服务器进行交互而是通过大厅服务器与数据库服务器进行数据的传递之所以是这样主要是因为这类网络对战游戏不需要在游戏过程中实时更新数据可以通过大厅服务器在一局游戏结束后再进行游戏数据的更新所以本系统采用的是这种数据交换方式下面我们结合系统需求对架构图进行详细的分析表41 术语表缩写全写定义lclogin client登陆器客户端lslogin server登录服务器gcgame client游戏客户端hshall

26、server大厅服务器dsdb server数据库处理服务器gsgame server游戏服务器dbdata base数据库lc登陆ls时ls请求ds进行验证验证内容为用户名和密码2项如果验证成功则数据库中产生一个hsgc验证码然后反馈验证结果图42 lc登录ls流程图gc登陆hs时hs请求ds进行验证验证内容为用户名和密码hsgc验证码 3项 然后反馈验证结果如果是成功的那么附带用户信息以及礼物信息图43 gc登录hs流程图gc已经在某个hs里进行更换hs的操作时hs请求ds进行产生一个hsgc验证码然后返回图44用户更换大厅流程图gc已经在某个hs里进行配置时需要激活道具装备和角色hs请求

27、ds进行激活操作图5 用户激活操作流程图gc已经在某个hs里点击丢弃按钮丢弃一个道具装备或者角色hs请求ds进行丢弃操作图6 用户丢弃物品操作流程图gc已经在某个hs里点击确定按钮确认当前的道具装备或者角色在船上的配置hs请求ds进行确认操作图47 用户确认物品操作流程图gc已经在某个hs里点击购买结算hs请求ds进行结算操作图8 用户购买结算操作流程图gc已经在某个hs里hs请求ds进行赠送操作图9 用户赠送礼物操作流程图gc已经在某个hs里收到礼物界面中hs请求ds进行接收操作图10 用户接收礼物操作流程图gc已经在某个hs里收到礼物界面中丢弃礼物hs请求ds进行丢弃礼物操作图11 用户丢

28、弃礼物操作流程图gc已经在某个hs里hs请求ds进行查询礼物信息操作图12 用户查询礼物操作流程图用户一局游戏结束后用户的各种游戏信息会得到更新gs将这些数据传给hshs请求ds进行数据更新操作并将数据传给dsds对db进行相应的数据更新操作操作完成后将更新后的数据传回hs如图413图13 游戏gc已经在某个hs里退出游戏图14 用户42 将mysql c api封装成易于使用的数据库接口com mysql c api 概述与其他很多同类型的商业软件不同mysql通过一系列的api向开发者开放自己的内核因此使他们能够自由地选择自己的语言创建数据库驱动的应用程序mysql api可以为开发者提供

29、一些具体能力下面分别简要予以介绍链接管理在一个应用程序能够与数据库交互并且对其中保存的数据进行查询之前必须首先建立与数据库服务器的连接mysql api包含了专门针对应用程序连接到mysql数据库服务器的一系列功能可以提供各种申请证书并且为以后的通信开放一个渠道一旦所有通信完成api还提供了一些功能来终止连接和释放被使用的内存清除事件实施查询和处理结果一旦连接建立应用程序可以向服务器发送查询并检索结果mysql api提供了很多功能来简化这个过程包括执行单个查询或者作为一个事务块的查询功能检索和处理记录集合收集来自集合的具体记录或来自记录的具体字段等报告错误mysql api还提供了基本错误报

30、告能力当连接或查询出现问题时能向调用者传递错误代码和信息除此之外api还允许调用者访问详细的排错和管理信息包括当前服务器状态和所有活动过程列表等辅助功能除了前面介绍的各种功能外mysql api还可以提供很多所谓的管理功能包括返回服务器的当前状态打开连接的数量得到处理的查询数量服务器版本等列出可以使用的数据库表字段和过程等管理字符集提供详细的诊断和排错信息通过关闭不活动的连接和终止不活动的过程来清理没有使用的内存关闭重启或重载服务器等mysql为很多不同的编程语言开放了api使得可以使用自己选择的语言编写数据库驱动的应用程序目前mysql提供的接口api编程语言有cjavaphpperlpyt

31、honodbcrubyeiffel和tcl等应确保在构建自己的mysql应用程序时不会因缺少选择而造成问题因为mysql是用c语言写成的所以对mysql来说显然c语言的api是功能最全面的一种c语言的api通过libmysqlclient库与mysql发布捆绑在一起并且可以 被mysql附带的所有命令行工具使用这些工具对于c开发者来说是理解api精髓的一个丰富的信息来源mysql提供的c api由一组函数以及一组用于函数的数据类型组成这些函数与mysql 服务器进行通信并访问数据库可以直接操控数据库因而显著地提高了操控效能c api数据类型包括mysql数据库连接句柄mysql_res查询返回

32、结果集mysql_row行集mysql_field字段信息mysql_field_offset字段表的偏移量my_ulonglong自定义的无符号整型数等c api提供的函数包括mysql_close mysql_connect mysql_query mysql_store_result mysql_init 等其中mysql_query 最为重要能完成绝大部分的数据库操控c api通过两个组件实现头文件mysqlh包含结构和功能说明mysql库libmysqlclient unix 或 mysqlclientlib windows 包括c的实际功能c api描述初始化mysql结构mysq

33、l_init mysql mysql 类型为 mysql建立到服务器连接mysql_real_connect mysql host user password db1 0 null 0 采用默认值的三个参数分别为连接mysql服务器时使用的端口连接mysql服务器时使用的套接字控制客户机行为使用的一个或多个可选标志如果连接成功将返回一个句柄连接失败将返回假选择数据库mysql_select_db mysql db_name 查询实施mysql_query mysql query_string 对select查询返回的结果集处理mysql_res result mysql_store_resul

34、t mysql 将查询的结果保持到变量result如果mysql_query 执行出错用mysql_store_query 函数取结果集将返回null给result如果客户机内存不大可以每次检索一行记录mysql_use_result int numrows mysql_num_rows result 检验结果集行数int numfields mysql_num_fields result 检验结果集列数mysql_row row mysql_fetch_row result 从结果集读取一行记录mysql_field field mysql_fetch_field result 返回字段属性

35、详细信息如字段名类型长度mysql_field fields mysql_fetch_fields result 返回mysql_field结构的数组每个字段针对一个结果集合mysql_free_result result 使用完后要释放结果集变量空间insertupdatedelete等操作的结果处理mysql_affected_rows mysql 返回受影响的记录数涉及结果集处理的辅助函数mysql_row_offset stdcall mysql_row_seek mysql_res resultmysql_row_offset offset 跳至该具体行mysql_field_off

36、set stdcall mysql_field_seek mysql_res result mysql_field_offset offset 跳至该行具体列mysql_row_offset stdcall mysql_row_tell mysql_res res 返回字段列表中字段游标当前位置mysql_field_offset stdcall mysql_field_tell mysql_res res 返回结果集中行游标当前位置unsigned long stdcall mysql_fetch_lengths mysql_res result 当前行的字段值长度my_ulonglong

37、stdcall mysql_insert_id mysql mysql 返回产生atuo_increment字段的最后id错误处置unsigned int stdcall mysql_errno mysql mysql 错误号const char stdcall mysql_error mysql mysql 错误信息关闭连接mysql_close mysql mysql com 封装c api我们分别使用database类dbinterface类field类queryresult类queryresultmysql类封装了mysql数据库的功能因此不具备通用性只能在对mysql的应用程序中使用

38、database类图415 database类dbinterface类是database类的子类负责初始化mysql结构以及建立到服务器的连接图416 dbinterface类field类主要负责对数据库表中内容的操作图417 field类queryresult类主要负责对查询结果的存储以及操作图418 queryresult类queryresultmysql类是queryresult类的子类负责对查询结果的存储以及操作图419 queryresultmysql类通过这些类中定义的这些功能函数我们可以通过远程或本机完成对mysql数据库的绝大部分操控大大提高了效能以上函数的具体功能都是通过调用

39、c api函数实现的基于以上类并结合系统各个部分的工作情况以及数据的交互情况我们为数据库服务器提供如下对应的函数来实现每个部分的功能陆登录服务器请求数据库服务器验证登录void clientlsrecvpacketprocesshandle_dsls_c_loginverify worldpacket wp unsigned long stub 用户登录大厅服务器请求数据库服务器验证登陆void clienthsrecvpacketprocesshandle_dshs_c_querylogin worldpacket wp unsigned long stub 用户选择大厅大厅服务器请求数据库

40、服务器保存游戏客户端选择大厅的操作oid clienthsrecvpacketprocesshandle_dshs_c_saveselecths worldpacket wp unsigned long stub 用户退出程序大厅服务器请求数据库服务器删除验证码void clienthsrecvpacketprocesshandle_dshs_c_playerquit worldpacket wp unsigned long stub 游戏结束时游戏服务器提交了用户信息变更数据给大厅服务器 大厅服务器请求数据库服务器进行数据更新oid clienthsrecvpacketprocesshand

41、le_dshs_c_updateplayerinfo worldpacket wp unsigned long stub 用户进行配置时需要激活道具装备和角色大厅服务器请求数据库服务器进行激活操作oid clienthsrecvpacketprocesshandle_dshs_c_useractivething worldpacket wp unsigned long stub 用户点击丢弃按钮丢弃一个道具装备或者角色大厅服务器请求数据库服务器进行丢弃操作void clienthsrecvpacketprocesshandle_dshs_c_userdiscardthing worldpack

42、et wp unsigned long stub 用户点击确定按钮确认当前的道具装备或者角色在船上的配置大厅服务器请求数据库服务器进行确认操作void clienthsrecvpacketprocesshandle_dshs_c_userconfigthing worldpacket wp unsigned long stub 用户点击购买结算大厅服务器请求数据库服务器进行结算操作void clienthsrecvpacketprocesshandle_dshs_c_userpay worldpacket wp unsigned long stub 用户赠送礼物时大厅服务器请求数据库服务器进行

43、赠送操作void clienthsrecvpacketprocesshandle_dshs_c_present worldpacket wp unsigned long stub 用户接收礼物时大厅服务器请求数据库服务器进行收赠操作void clienthsrecvpacketprocesshandle_dshs_c_receivepresent worldpacket wp unsigned long stub 用户丢弃赠品时大厅服务器请求数据库服务器进行丢弃赠品操作void clienthsrecvpacketprocesshandle_dshs_c_discardpresent worl

44、dpacket wp unsigned long stub 用户查询礼物时大厅服务器请求数据库服务器进行赠品查询操作void clienthsrecvpacketprocesshandle_dshs_c_requirepresent worldpacket wp unsigned long stub 5 系统运行测试数据库系统建立后界面视图如图51图51 数据库系统界面视图现在我们模拟用户的一些操作然后观察数据库中的变化以此来观察数据库系统是否能正常运行用户ronaldo和mess登录其账号密码验证成功后表hsgcverifycode中产生登录验证码以及相应数据如图52图5表hsgcverif

45、ycode中图53 用户更换大厅后表hsgcverifycode中的变化图5 用户购买物品后其金钱数据更新图55 用户购买物品后其物品信息更新用户mess将1号物品赠送给ronaldo表gift中发生变化如图56图5 用户赠送物品后gift表中发生变化图57 用户接受礼物后物品信息更新用户图58 用户激活物品后物品信息更新图59 用户丢弃物品后物品信息更新图510 用户退出后表hsgcverifycode发生变化6 工作总结本文在深入分析系统需求的基础上运用软件工程模块化设计思想等进行了数据库概念设计数据库逻辑设计系统架构设计对系统的核心技术进行了分析解决了技术难点并对系统的设计及实现提出了解

46、决方案其次本文通过系统架构图并结合需求分析出了系统各个部分的工作情况以及数据的交互情况每个部分的功能通过数据库服务器调用对应函数来实现还对mysql c api进行了研究并将c api封装成易于使用的数据库接口提供给数据库服务器使用mysql c api本文为数据库服务器提供了操作数据库的函数该数据库系统层次分明结构清晰有利于系统维护和将来的扩充升级实践证明该系统很好满足了用户需求提高了整个游戏的工作效率得到了好评本文的研究工作是在xxx老师及xxx公司何文师兄的精心指导和悉心关怀下完成的在我的学业和论文的研究工作中无不倾注着谭老师及xxx公司何文师兄辛勤的汗水和心血无论是前期课题的选择还是系

47、统的研发乃至最后论文的撰写 谭老师及xxx公司何文师兄都给予了我极大的指导和支持在此我要向xxx老师及xxx公司何文师兄致以最衷心的感谢和深深的敬意在几年的学习生活中我还得到了学院许多领导和老师的热情关心和帮助得到了同学们的大力支持在此向所有关心和帮助过我的领导老师同学和朋友也表示最由衷的谢意最后对在百忙之中评阅论文和参加答辩的各位专家老师表示诚挚的谢意vikram vaswani mysql完全手册 北京电子工业出版社200411paul dubois mysql权威指南北京机械工程出版社2004杨冬青唐世渭com机械工业出版社2001萨师煊com高等教育出版社2002thomas conn

48、olly carolyn begg 数据库系统设计实现与管理北京电子工业出版社2004王军鹏刘路放基于统一建模语言的关系数据库模型设计现代计算机200111618jacob kohler matthias lange ralf hofestadt steffen schulze-kremer logical and semantic database integration 2000ali bazghandi web database connectivity methods using mysql in windows platform 2006王珊 网络与数据库 北京中国人民大学信息学院1

49、997eriki eessaar on pattern-based database design and implementation department of informatics tallinn university of technology 2008alan y s chiang dickson k w chiu senior member ieee patrick c k hung and yi zheng providing more customized services for online games using service oriented architecture and three-tier views a case study mankind 2007shi-jim yen tai-ning yang jr-chang chen shun-chin hsu pattern matching in go ga

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论