欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

哈希游戏

哈希游戏| 哈希游戏平台| 哈希游戏官方网站

haxiyouxi-haxiyouxipingtai-haxiyouxiguanfangwangzhan

nosql技术在网页哈希游戏- 哈希游戏平台- 官方网站开发中的应用研究

作者:小编2025-02-09 17:36:31

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

nosql技术在网页哈希游戏- 哈希游戏平台- 哈希游戏官方网站游戏开发中的应用研究

  北京大学硕士学位论文北京大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。论文作者签名:孙育噌日期:加f;年6月f日学位论文使用授权说明本人完全了解北京大学关于收集、保存、使用学位论文的规定,即:●按照学校要求提交学位论文的印刷本和电子版本:・学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务,在校园网上提供服务;・学校可以采用影印、缩印、数字化或其它复制手段保存论文;・因某种特殊原因需要延迟发布学位论文电子版,授权学校口一年/D两年/口三年以后,在校园网上全文发布。(保密论文在解密后遵守此规定)论文作者签名;玄l、有《%师签名:日期:年月日{7柳

  摘要随着现代互联网的快速发展,互联网游戏行业吸引着越来越多的人加入。网页游戏(Webgame)是基于Web浏览器的网络在线多人互动游戏,用户只需打开浏览器,即可快速进入游戏。网页游戏具有可玩性强、安装方便、游戏稳定、交流方便、扩展性高、跨平台、配置要求低、与交友结合等特点,正经历着快速发展时期。目前在国内已经有着非常广泛的市场和广大的用户群基础。NoSQL,又称为非关系型数据库,指的是不同于传统的关系型数据库的数据库系统。NoSQL也被称作为NotonlySQL,不使用SQL作为查询语言的数据库都可以称作为NoSQL数据库。NoSQL数据库具有易扩展、高性能、大数据量、高可用等特点,目前google、facebook、新浪、淘宝等著名互联网公司都将NoSQL数据库应用于产品的开发中。本文主要研究将NoSQL技术应用于网页游戏开发之中。本文从网页游戏系统的特点入手,分析了网页游戏的技术特点有:页面数量少、主场景一致、用户数据个性化差异大、用户长时间停留、操作频繁、交互要求高等。对于上述技术特点提出了网页游戏对于存储的要求,分析NoSQL技术对于满足网页游戏系统需求的能力。并以本人在实习期间所参与开发的一款足球类网页游戏为例,介绍了使用NoSQL数据库作为数据库存储的游戏系统的设计与实现。通过装备功能模块的设计与实现,得到了NoSQL作为网页游戏系统存储的可行性;通过天梯功能模块的设计与实现,得到了NoSQL解决网页游戏用户交互问题的可行性。Memcached是一套分布式高速内存缓存系统,是本文主要使用的NoSQL数据库。ProtocolBuffers是一个高效且可扩展的格式结构化数据编码的方式,本文使用Protobuf作为数据解析协议和文件格式。关键字:网页游戏,NoSQL,Memcached,ProtocolBuffers

  AbstractWiththerapiddevelopmentofthemodemInternet,theIntemetgameindustryattractsmoreandmorepeople.AwebgameisavideogamethatisplayedovertheInternetjustusingawebbrowserwithotherplayers.Webgames,whichwithcharactersofplayabilityeasyinstallation,stablegaming,highscalabilitycross—platform,andlowconfigurationrequirementscombinedwithdatingfeatures,isexperiencingaperiodofrapiddevelopment,withaverybroadmarketandalargeuserbaserecentyears.NoSQL,knownasnon-relationaldatabase,referstothedatabasesystemthatdifferentfromthetraditionalrelationaldatabase.NoSQLisalsoknownasNotonlySQL,databasethatdonotuseSQLquerylanguageCanbereferredtoasNoSQLdatabase.Generallyweusemulti-relationaldatabaseasdatastorage.TheNoSQLdatabaseiseasilyextensible,hi曲一performanceandhi曲available.Nowadays,Google,FacebookSina,Taobaoandotherwell-knownInternetcompaniesareusingNoSQLdatabaseintheirproduct.ThispaperstudiestheusageofNoSQLtechnologyinthedevelopmentofwebgames.InthispaperIconcludethetechnologicalcharacteristicsofthewebgamesystem:asmallnumberofpages,thesimilaritymainscene,personalizeduserdatalongstayinpage,frequentoperationandinteractionrequirements.Forthetechnicalcharacteristicsneededabove,comeoutthewebgamestoragerequirements.AndthenIanalysistheNoSQL’Sabilityofmeetthesystemrequirementsofthewebgames.ItakeafootballwebgamewhichIparticipateinthedevelopmentduringtheinternshipasbackground,describethedesignandimplementationofafour-tierstructureofwebgames,which using NoSQL database as its database.Through design and implementation of the equipment functional blocks,shows NoSQL’S feasibility as the web game system storage;through the design and implementation of ladder function module,proves the feasibility of the NoSQUs ability of solving the problem of web II

  game user interaction. Memcached is adistributed set of high—speed memory caching system,which is the database mainly used in this article.Protocol Buffers are away of encoding structured data in an efficient yet extensible format.This article LIses Protobuf as data analysis protocols and file formats Key Word:Web Game,NoSQL,Memcached,Protocol Buffers ⅡI

  目录摘要…………………………………………………………………………………I Abstract......…....……...…......…...….....…….……....….….…….....….......…..……......……....…II 目录…………………………………………………………………………….Ⅳ 第一章绪论………………………………………………………………………….1 1.1课题研究背景和意义………………………………………………………..1 1.2国内外研究现状…………………………………………………………….2 1.3本文主要研究内容………………………………………………………….4 1.4本文的组织结构…………………………………………………………….4 第二章技术概述…………………………………………………………………….6 2.1非关系型数据库…………………………………………………………….6 2.1.1 NoSQL技术简介………………………………………………………6 2.1.2常用NoSQL数据库………………………………………………….7 2.1.3 Memcached…………………………………………………………………………………8 2.1.4 Cloud Memcache………….……………………………………………………………1l 2.2序列化技术…………………………………………………………………12 2.2.1序列化技术概述……………………………………………………。12 2.2.2 Protocol Buffers…………………………………………………………………………12 2.3本章小节……………………………………………………………………14 第三章网页游戏系统分析与NoSQL技术应用的可行性……………………….15 3.1网页游戏系统分析…………………………………………………………15 3.1.1网页游戏系统特点………………………………………………….15 3.1.2网页游戏系统对存储的要求……………………………………….16 3.2网页游戏总体架构与设计一以某足球游戏为例…………………………17 3.2.1需求分析…………………………………………………………….17 3'2.2层次结构…………………………………………………………….20 3.2.3前端显示层………………………………………………………….21 3.2.4数据接口层…………………………………………………………..2l 3.2.5业务逻辑层………………………………………………………….22 3.2.6数据访问层………………………………………………………….23 3.3数据库设计…………………………………………………………………23 3.3.1 NoSQL数据库优缺点分析………………………………………….24 3.3.2 NoSQL与MySQL数据库的性能比较……………………………..25 3.3.3 NoSQL与MySQL的安全性分析…………………………………一25 3.3.4其它相关技术分析………………………………………………….26 3.3.5 NoSQL数据库设计………………………………………………….27 3.3.6 MySQL数据库设计…………………………………………………28 3.4本章小节……………………………………………………………………30 IV

  第四章NoSQL技术的应用研究与实现…………………………………………。3l 4.1 NoSQL技术作为存储的应用………………………………………………31 4.1.1装备系统功能分析………………………………………………….31 4.1.2球员强化功能业务逻辑…………………………………………….32 4.1.3数据访问分析……………………………………………………….33 4.1.4具体设计实现……………………………………………………….34 4.2 NoSQL技术在天梯系统中的应用…………………………………………38 4.2.1天梯系统概述……………………………………………………….38 4.2.2天梯系统的分析与设计…………………………………………….39 4.213临界区的设计……………………………………………………….42 4.2.4临界区的关系型数据库实现……………………………………….43 4.2.5临界区的NoSQL实现………………………………………………44 4.3本章小节……………………………………………………………………47 第五章总结与展望…………………………………………………………………48 5.1论文总结……………………………………………………………………48 5.2下一步工作展望……………………………………………………………48 参考文献…………………………………………………………………………….50 北京大学学位论文原创性声明和使用授权说明…………………………………..52 致谢……………………………………………………………………………………………………………..53 V

  图目录 图2.1 Memcached缓存使用场景…………………………………………………………一9 图2.2 Memcachd工作原理………………………………………………………………..10 图2.3 Memcached分布式原理…………………………………………………………….1l 图2_4 protobuf使用流程…………………………………………………………………..13 图3.1某足球游戏总界面图………………………………………………………………17 图3.2某足球游戏功能图…………………………………………………………………18 图3—3某足球游戏层次结构………………………………………………………………2l 图3-4数据访问层执行逻辑………………………………………………………………23 图4.1装备系统界面图……………………………………………………………………3l 图4.2装备系统用例图……………………………………………………………………32 图4.3球员强化用户操作流程……………………………………………………………32 图4.4球员强化后台逻辑…………………………………………………………………33 图4.5 BagProtos类图……………………………………………………………………………………一35 图4.6 Bag对象类图……………………………………………………………………….35 图4.7 BagDao类图………………………………………………………………………..36 图4.8装备系统业务逻辑类与服务类类图………………………………………………38 图4-9天梯系统用例图……………………………………………………………………39 图4—10天梯赛流程图……………………………………………………………………..40 图4.1l临界区系统结构图………………………………………………………………一41 图4.12用户线程与后台线程流程图……………………………………………………~42 图4.13用户状态状态图…………………………………………………………………..43 图4.14 Attendlnfo类图……………………………………………………………………45 图4-15 LadderQueue、Attendlnfo类图…………………………………………………..46 表目录 表2一l Memeached常用命令……………………………………………………………….10 表2—2 CMEM的改进………………………………………………………………………1 l表2—3 protobuf与xml比较………………………………………………………………一14 表3.1各类网站技术特点………………………………………………………………….15 表3—2部分接口服务描述………………………………………………………………….22 表3—3 mysql和memcachcd性能比较…………………………………………………….25 表3_4部分memcached数据库存放数据…………………………………………………28 表3-5 mysql中部分数据表………………………………………………………………..29 表3-6 activity表格字段名…………………………………………………………………29 j琵4-1 bag.proto………………………………………………………………………………………………………34 表如2 Avatar主要key值…………………………………………………………………..37 表4-3关系数据库TianTilnfo定义………………………………………………………43 表4-4关系数据库完成天梯数据操作……………………………………………………44 表4-5 NoSQL持久化TianTilnfo设计……………………………………………………44 VI

  北京大学硕士学位论文 第一章绪论 1.1课题研究背景和意义 随着现代互联网技术的快速发展,互联网行业已经成为最有创造力、最有活 力的行业。游戏行业作为互联网行业内收入比例最大的行业,越来越多的人致力 于加入互联网游戏行业中。网页游戏(Web game)又称Web游戏,是基于Web 浏览器的网络在线多人互动游戏。网页游戏无需下载客户端,只需打开浏览器, 即可快速进入游戏,关闭或者切换极其方便,深受广大自领和学生群体的欢迎。 网页游戏具有可玩性强、安装方便、游戏稳定、交流方便、扩展性高、跨平 台、安装方便、配置要求低、与交友结合等特点。除了常用的windows系统外, 其他操作系统如Ubuntu,Mac等也都可以方便的使用运行。网页游戏不需要用 户下载客户端进行安装,方便办公室用户在公司和家庭之间使用。对于配置较低 的电脑,网页游戏也可以轻松运行。同时,网页游戏常常与SNS社区结合。1,用 户与用户之问可以更好的进行沟通了解,游戏为能为用户带来源源不断的共同话 题。 相对于传统游戏,网页游戏的制作成本低、开发周期短、更新迭代快。传统 网游需要有专门的游戏引擎,只有几家大型公司才有能力和资金进行开发,传统 网游目前的国内市场状态是几家垄断企业之间的互相竞争。而相对来说,网页游 戏开发门槛较低,即使是没有充足资金的小公司或者小团队就可以进行开发。这 就吸引了越来越多的开发团队涉足网页游戏开发这一领域。这几年,网页游戏发 展迅速,据中国互联网络信息中心统计,2010年中国网页游戏用户规模达1.05 亿,其中社交类网页游戏用户规模最大,达到9209万,大型网页游戏用户规模 2384万,网页单机游戏用户规模3791万,网页游戏已经成为带动网络游戏发 展的新生力量乜1。 网页游戏的上述特点决定了在网页游戏的开发过程中,开发人员需要能够在 相对低廉的成本下保证开发的效率和用户的游戏体验。一款网页游戏若想要获得 成功,游戏可玩性、后台数据处理速度、游戏开发可扩展性都是需要考虑的重要 方面。

  北京大学硕士学位论文 因此,网页游戏的开发过程中对技术提出了以下几点需求。33: 1.低延迟的读写速度:应用快速地反应能极大地提升用户的满意度。 2.支撑海量的数据和流量:对于大型应用而言,需要利用PB级别的数据 和能应对百万级的流量。 3.大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理。 4.运营成本的考量:项目经理们希望在硬件成本、软件成本和人力成本能 够有大幅度地降低。 随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展, 它们不保证关系数据的ACID特性。NoSQL,又称为非关系型数据库,指的是不 同于传统的关系型数据库的数据库系统。NoSQL一词最早出现于1998年,是 Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库[4】。NoSQL 技术去掉关系数据库的关系型特性,使得NoSQL具有极好的可扩展性;NoSQL 具有非常高的读写性能,尤其在大数据量下,表现非常优秀;NoSQL具有灵活 的数据模型,增加字段都比较方便。上诉特征使得NoSQL可以满足网页游戏开 发高更新迭代,高响应效率的需求。 将NoSQL技术用于网页游戏的开发中,这是为了满足网页游戏开发性能要 求的一个趋势。本文研究将NoSQL技术应用于网页游戏开发过程,旨在给予游 戏开发者提供一种开发模式的选择。 1.2国内外研究现状 国内的网页游戏最初可以追溯到1999年的《第九城市》,但是当时所冠的头 衔不是Game,而是虚拟社区。网页使用的语言是htm/html,能实现钓鱼、种花 等基本功能,无法实现华丽的特效,服务器资源消耗极大。在2001年下半年, 有经过简单汉化的EBS《无尽的战争》出现在国内一些中小规模的网站上。EBS 使用了比较古老的Perl技术以及DBM数据库文件存储方式。但鉴于使用 MOGRE技术的客户端游戏《传奇》、《奇迹》、《劲舞团》、WOW等游戏强大用 户群,网页游戏一直处于黑暗时期。 2006年,网页游戏((Travian))开启了webgame的php时代。其后又有七龙 记、武林英雄等代表作的诞生,WebGame正式步入一个新时期。

  北京大学硕士学位论文 第三代网页游戏开发技术FLASH技术使得网页游戏的开发进入井喷阶段, 越来越多的网页游戏进入人们的视野。第三代网页游戏的场景精美绝伦、人物形 象丰满、画面表现力强。比较有代表性的作品有三国杀、凡人修真、千军破、足 球经理、七雄争霸等。网页游戏的制作技术也有了更高的提升,已经不是原来简 单的脚本语言加图片了,而是用JavaScfipt、JAVA、Flash、Flex,以及少量的基 于Shockwave、AztiveX插件的网页游戏。Flash技术的游戏更是受到了高度的青 睐。 网页游戏的快速发展的同时也伴随着丰厚的收益,据已披露消息,已有两家 网游公司第七大道、昆仑在线,恺英游戏、Forgame(菲音游戏)、 博雅互动、4399、趣游科技都已经达到上市条件,并开始筹备IPO。 NoSQL技术目前应用广泛,Google、Yahoo、Facebook、Twitter、Amazon 都在大量应用NoSQL型数据库。在国内知名的互联网公司中,应用NoSQL的 公司有: 1.新浪微博。新浪微博是目前Redis全球最大的用户,在新浪有200多台 物理机,400多个端口正在运行着Redis,有+4G的数据跑在Reds上来为微博用 户提供服务阳3。在新浪NoSQL和MySQL在大多数情况下是结合使用的,根据 应用的特点选择合适存储方式。例如索引使用MySQL存储,一些K/v需求使 用非关系型数据库,对并发要求比较高的放入Reds存储。 2.淘宝。淘宝的数据有两个特点,一是数据总量比较大,数据规模为百TB 级别,千亿条记录;另一个是淘宝的数据膨胀相当快速,传统的分库分表对业务 造成很大的压力,必须设计自动化的分布式系统。为了满足这些需求,淘宝开发 了Oceanbase,它以一‘种很简单的方式满足了未来一段时间的在线存储需求,并 且还获得了一些其它特性,如高效支持跨行跨表事务。淘宝Tair是由淘宝自主开 发的Key/Value结构数据存储系统,并且于2010年6月30号在淘宝开源平台上 正式对外开源,在淘宝网有着大规模的应用。 3.视觉中国网站。视觉中国选用了MongoDB作为系统的支撑数据库。 4.优酷运营数据分析。优酷作为一家大型视频网站,拥有海量播放流畅的 视频。目前优酷的在线评论业务已部分迁移到MongoDB,运营数据分析及挖掘 处理目前在使用Hadoop/HBase;在Key-Value产品方面,它在寻找更优的