天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

基于Cassandra的MMO游戲數(shù)據(jù)管理和綜合網(wǎng)站的實現(xiàn)

發(fā)布時間:2017-04-10 18:31

  本文關(guān)鍵詞:基于Cassandra的MMO游戲數(shù)據(jù)管理和綜合網(wǎng)站的實現(xiàn),,由筆耕文化傳播整理發(fā)布。


【摘要】:近年來,隨著網(wǎng)絡(luò)大規(guī)模的多人線上游戲(MMOGs)的普及和成功,MMOGs的開發(fā)吸引了數(shù)量眾多的開發(fā)者,而游戲玩家人數(shù)的巨大飛躍使得游戲收入快速增長,已達到每年數(shù)十億美元。但是由于玩家數(shù)量巨大和游戲結(jié)構(gòu)復(fù)雜,MMOGs在項目開發(fā)時存在巨大的成本投入和相當大的應(yīng)用風(fēng)險,有時候會導(dǎo)致項目無以為繼。在一般情況下,MMOGs必須訪問大量不同類型的數(shù)據(jù),所以它需要具有高可用性、強容錯性和高可擴展性的數(shù)據(jù)庫作為支撐。隨著越來越多的玩家加入,不斷增長的數(shù)據(jù)量是關(guān)系數(shù)據(jù)庫管理的一個巨大挑戰(zhàn),它無法通過簡單地增加新的服務(wù)器來有效解決。 本論文專注于使用SQL與NoSQL相結(jié)合的數(shù)據(jù)庫支撐環(huán)境來解決結(jié)構(gòu)數(shù)據(jù)與非結(jié)構(gòu)數(shù)據(jù)并存的問題,使其可以完全滿足大型網(wǎng)絡(luò)的需求,其中MMO游戲在本論文是NoSQL數(shù)據(jù)庫的應(yīng)用對象,而有關(guān)用戶、帳號等數(shù)據(jù)還是采用SQL數(shù)據(jù)庫來進行存儲與管理。通過深入的研究和分析,本文主要分為兩部分:第一部分論述我們提出的使用Cassandra NoSQL數(shù)據(jù)庫方案來存儲MMO游戲數(shù)據(jù)的方案,第二部分論述開發(fā)一個綜合網(wǎng)絡(luò)游戲網(wǎng)站的關(guān)鍵技術(shù)與實現(xiàn)方案,這個網(wǎng)站實現(xiàn)了游戲和對外服務(wù)網(wǎng)站的主要功能并增加了一些特色功能如通過卡序列號來支付的新方式和通過朋友邀請來實現(xiàn)的新的廣告方法。 為了提高MMO游戲系統(tǒng)的性能,我們首先分析了大型Web應(yīng)用的數(shù)據(jù)分類,在游戲系統(tǒng)應(yīng)用和網(wǎng)站應(yīng)用這兩個應(yīng)用中,我們根據(jù)數(shù)據(jù)的特點,出于獲得更好使用性能的考慮,我們把MMO游戲數(shù)據(jù)分為兩個大類: 1.游戲數(shù)據(jù):這些數(shù)據(jù)包括游戲世界數(shù)據(jù)、State數(shù)據(jù)和記錄數(shù)據(jù) 游戲數(shù)據(jù)的管理面臨著許多挑戰(zhàn),因為其數(shù)據(jù)的海量性、結(jié)構(gòu)的不一致性及用戶訪問數(shù)據(jù)的頻繁性,主要存在性能、可用性、可擴展性和數(shù)據(jù)的一致性等方面的挑戰(zhàn)性問題,我們針對實際需求,在本論文中總結(jié)了關(guān)鍵的挑戰(zhàn),并提出了我們對這些關(guān)鍵挑戰(zhàn)的解決方法。 由于游戲系統(tǒng)有數(shù)量龐大的同時在線的玩家,大量的并發(fā)數(shù)據(jù)庫連接與時續(xù)不斷的數(shù)據(jù)訪問、修改等對服務(wù)器的數(shù)據(jù)吞吐量提出了挑戰(zhàn),用戶要求操作必須實時執(zhí)行,而磁盤上海量數(shù)據(jù)的響應(yīng)效率就本身存在問題,MMO游戲應(yīng)用程序只能在一定的時間范圍內(nèi)響應(yīng)每個用戶的請求,這就需要提供一個讓用戶感覺還不錯的可用性,論文從多方面對此進行了論述與分析。系統(tǒng)還需要有一定的容忍數(shù)據(jù)丟失的能力以此來保證數(shù)據(jù)的容錯性與一致性,論文從模型的角度提出數(shù)據(jù)同步方案與一致性校驗來提高系統(tǒng)的容錯性與一致性,尤其對于狀態(tài)數(shù)據(jù)的變化我們保證在一定時間段內(nèi)同步到相關(guān)的玩家用戶中。通常情況下,龐大用戶的同時啟動會給系統(tǒng)的運行性能帶來挑戰(zhàn),系統(tǒng)的可展性在高峰時段顯得非常關(guān)鍵,我們在網(wǎng)絡(luò)游戲運行策略中控制小或中等數(shù)量的用戶同時啟動以此來保證用戶啟動游戲的成功率,但在廣告時段允許用戶數(shù)量快速增長。 論文通過對游戲數(shù)據(jù)特點的深入分析,對其響應(yīng)的實時性與可用性、容錯性與一致性、可擴展性與應(yīng)用性等方面的平衡提出了思路,為開發(fā)一個成功的MMO游戲克服數(shù)據(jù)管理挑戰(zhàn)性問題提出了技術(shù)參考方案。 2.帳戶數(shù)據(jù):包括用戶帳號、用戶詳細信息、定單、用戶游戲狀態(tài)、用戶日志等數(shù)據(jù)。 帳戶數(shù)據(jù)數(shù)據(jù)經(jīng)分析不需要大數(shù)據(jù)技術(shù)工具,如采用統(tǒng)一的NoSQL數(shù)據(jù)庫存儲則效率非常低下,因此我們選用MySQL數(shù)據(jù)庫系統(tǒng)來存儲和管理這些數(shù)據(jù)從而保證數(shù)據(jù)的存取的高效性與管理的便利性,因為MySQL數(shù)據(jù)庫系統(tǒng)是一個典型的SQL系統(tǒng),同時也是開源的、簡單易用的系統(tǒng)。論文還設(shè)計了一個MMO游戲網(wǎng)站并采用了一種新穎的支付方式,此部分數(shù)據(jù)的管理也同樣由MySQL數(shù)據(jù)庫系統(tǒng)負責(zé)。論文還設(shè)計了由朋友邀請而發(fā)起的廣告模式,并采用電子郵件提醒注冊用戶,相關(guān)的廣告、朋友關(guān)系及以整個過程產(chǎn)生的數(shù)據(jù)也都由管理MySQL數(shù)據(jù)庫系統(tǒng)負責(zé)。 由于完整的游戲系統(tǒng)有前臺與后臺,結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)既有明顯的區(qū)別又有一定的關(guān)聯(lián)關(guān)系,部分數(shù)據(jù)還需要和其他數(shù)據(jù)進行交換,由于管理軟件存在NoSQL與SQL明顯的不同,所以我們對這種數(shù)據(jù)進行了深入的分析并力爭提供好的處理方法。論文推薦了一個新技術(shù)方法專門滿足需要游戲數(shù)據(jù)類型一致性要求的,這個方法是通過增加一個數(shù)據(jù)層能夠利用Cassandra中的timestamp來解決和克服不同類型數(shù)據(jù)的一致性挑戰(zhàn)。 為了整體提高系統(tǒng)的性能保證系統(tǒng)有較好的數(shù)據(jù)一致性與較好的可擴展性,論文分析了MMOGs的關(guān)鍵技術(shù),通過以下三個步驟進行了詳細的論述: 第一步是分析了游戲數(shù)據(jù)的需求并根據(jù)該需求對游戲數(shù)據(jù)進行了詳細分類。按照我們對實例系統(tǒng)的研究和分析(專門研究了三個游戲)和整個MMO游戲的應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的特點,我們分析得出了五個方面的主要數(shù)據(jù)需求,其中包括一致性、可用性、可擴展性、分布性和高性能。我們對游戲據(jù)進行了分組,根據(jù)其需求特征分為4組,每一種數(shù)據(jù)類別確定了一個重要性的需求,我們將重要性劃分為3級,并對每一種數(shù)據(jù)指出其面臨的主要挑戰(zhàn)與解決方法。 第二步,我們選擇了合適的數(shù)據(jù)管理工具--Cassandra數(shù)據(jù)管理系統(tǒng),研究表明Cassandra可以響應(yīng)大部分的游戲數(shù)據(jù)需求包括可用性、可擴展性、分布性與高性能。但是由于CAP定理,Cassandra不能滿足一致性問題,所以Cassandra無法處理state和賬號數(shù)據(jù)的一致性要求,對這個問題我們提出了基于MMOG方面的額外數(shù)據(jù)層方案,它是針對Cassandra的特點而專門設(shè)計解決一致性問題的方案。Cassandra在每行都有記錄時間戳,并利用它作為版本標識(ID),因此,我們可從服務(wù)器端和Cassandra的某個區(qū)域服務(wù)器記錄的時間戳獲取數(shù)據(jù)的相關(guān)性以解決數(shù)據(jù)一致性問題。當我們讀取Cassandra狀態(tài)數(shù)據(jù)時,記錄在服務(wù)器端的時間戳將根據(jù)相應(yīng)的讀取請求進行響應(yīng)。通過這種方式,我們就可以方便地找出最新的數(shù)據(jù)。這層包含數(shù)據(jù)訪問服務(wù)機制的實現(xiàn)主要就是為了解決state數(shù)據(jù)和賬號數(shù)據(jù)的一致性問題。 數(shù)據(jù)訪問服務(wù)器負責(zé)內(nèi)存中的數(shù)據(jù)庫和Cassandra的數(shù)據(jù)之間的交換。它們確保狀態(tài)數(shù)據(jù)的一致性,保持時間戳的表。但為了平衡工作量,防止服務(wù)器故障,幾個數(shù)據(jù)訪問服務(wù)器需要在一個區(qū)域的服務(wù)器上運行。數(shù)據(jù)訪問服務(wù)器需要彼此系統(tǒng)時鐘自動同步。然而要實現(xiàn)完全同步是非常困難的。經(jīng)分析我們得出時間差小于數(shù)據(jù)備份的頻率是可以接受的。我們研究了詳細的同步過程,我們知道,在數(shù)據(jù)訪問服務(wù)器的一個重要組成部分是時間戳表,其中存儲狀態(tài)數(shù)據(jù)的ID,最后的修改時間(LMT)和日志狀態(tài)(LS)。如果在游戲中的一個字符或一個對象是激活的,LS的其值是“登錄”。否則,LS的值是“注銷”。我們利用哈希函數(shù)將IDs的數(shù)據(jù)映射到不同的時間戳表,也把它分布和分區(qū)到數(shù)據(jù)訪問的服務(wù)器。然后因為時間戳表采用相同的哈希函數(shù),每個數(shù)據(jù)訪問服務(wù)器會定期獲得從快照中相應(yīng)的狀態(tài)數(shù)據(jù)。為了減少Cassandra的I/O工作負載,數(shù)據(jù)訪問服務(wù)器會生成一個消息包括其所有負責(zé)state數(shù)據(jù)以及新的時間戳TS,然后將其發(fā)送到Cassandra的存儲系統(tǒng)。通過這種方式,一個狀態(tài)數(shù)據(jù)的更新失敗不會阻止提交其他狀態(tài)數(shù)據(jù)。這些消息路由到適當?shù)墓?jié)點,當一個節(jié)點接收到一個消息時,它會立即將更改寫入到提交日志,并記錄TS作為每列中的版本號。如果TS比已經(jīng)有的狀態(tài)數(shù)據(jù)LMT高,則數(shù)據(jù)訪問服務(wù)器使用TS更換LMT。 第三步是通過游戲后臺獲取數(shù)據(jù),我們通過用Cassandra監(jiān)控工具獲取不同數(shù)量的Cassandra節(jié)點數(shù)據(jù),并且進行測試和評估。通過用后臺造機器人玩家功能的方式記錄玩家對游戲數(shù)據(jù)的影響,通過游戲后臺跳變條件獲取游戲注冊率、游戲創(chuàng)建率、在線率和玩家參加某個操作點的參加率等數(shù)據(jù)。在監(jiān)控過程中用Cassandra的監(jiān)控功能來記錄read和write數(shù)據(jù)的差別。通過增加Cassandra節(jié)點的數(shù)量測來獲取不同的測試數(shù)據(jù),并分析不同的Cassandra節(jié)點數(shù)量與對系統(tǒng)整體性能的影響。 論文為了滿足MMO游戲的可用性需求、克服存在的挑戰(zhàn),我們選擇了利用NoSQL和SQL相結(jié)合的方式來滿足實用的大型MMO游戲的整體性能要求,通過提供簡單有效的實現(xiàn)方案來滿足MMO游戲開發(fā)商、分銷商和廣大用戶各自的需求。 論文通過研究關(guān)鍵技術(shù)、設(shè)計技術(shù)方案、實施主要功能來提供大型MMO游戲系統(tǒng)的整體解決方案,實際測試結(jié)果表明我們的方法有很好的適用性,能夠達到所需要的性能。
【關(guān)鍵詞】:MMO游戲 電子商務(wù) 數(shù)據(jù)一致性 Cassandra數(shù)據(jù)庫系統(tǒng) 非關(guān)系型數(shù)據(jù)庫
【學(xué)位授予單位】:中南大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2014
【分類號】:TP393.092;TP311.13
【目錄】:
  • Abstract5-8
  • 摘要8-12
  • Table of Contents12-15
  • List of Figures15-17
  • List of Codes17-18
  • List of Tables18-19
  • List of Acronyms19-21
  • 1 Introduction21-28
  • 1.1 Background21-22
  • 1.2 Motivations22-24
  • 1.3 Challenges24-25
  • 1.4 Related Works25-26
  • 1.5 Thesis Objective26
  • 1.6 Thesis Structure26-28
  • 2 MMO Games and Database28-37
  • 2.1 MMO Games28-32
  • 2.1.1 Game back-end Management28-29
  • 2.1.2 MMOGs architecture29-32
  • 2.2 Relational Database Management System32-34
  • 2.2.1 Structured Query Language32
  • 2.2.2 ACID Properties32-33
  • 2.2.3 Schema33-34
  • 2.3 SQL vs.NoSQL database34-36
  • 2.4 Summary36-37
  • 3 Cassandra for Data Management37-45
  • 3.1 Overview37-38
  • 3.2 Data Model38-40
  • 3.3 Transaction and Concurrency Control40-43
  • 3.3.1 Atomicity41
  • 3.3.2 Tunable Consistency41-42
  • 3.3.3 Isolation42
  • 3.3.4 Durability42
  • 3.3.5 Read and Write42-43
  • 3.4 Why we chose Cassandra43-44
  • 3.5 Summary44-45
  • 4 Requirements and Design of MMO Games45-64
  • 4.1 Game Requirements45-46
  • 4.2 Proposed Architecture46-47
  • 4.3 Database Design47-52
  • 4.3.1 MMO Games Database Schema Design in RDBMS48-51
  • 4.3.2 MMO Games Database Schema Design in Cassandra51-52
  • 4.4 Website Design52-58
  • 4.4.1 User's Promotions(Friend's Invitations)53
  • 4.4.2 Payment Methods(Cards Payment)53-54
  • 4.4.3 Use Case Model54-56
  • 4.4.4 Sequence Diagram for website56-58
  • 4.5 Game Server Design58-63
  • 4.5.1 Darkstar59-61
  • 4.5.2 Server Class in Cassandra61-62
  • 4.5.3 Sequence Diagram for Server62-63
  • 4.6 Summary63-64
  • 5 Key Technologies and Implementation64-75
  • 5.1 Analyzing Games data and Requirements64-65
  • 5.2 Building the Appropriate Solution65-68
  • 5.2.1 Data Access Server66-67
  • 5.2.2 Data Access67-68
  • 5.3 Backend data Acquire for Evaluation68-69
  • 5.4 Evaluation and Results69-74
  • 5.4.1 Command-Line Client Side70
  • 5.4.2 Multi-Processes and Multi-Threads70-71
  • 5.4.3 Configuration of Cassandra Nodes71
  • 5.4.4 Methodology for Scalability Evaluation71-74
  • 5.5 Summary74-75
  • 6 Main Functions and Implementation75-93
  • 6.1 Basic MMO Games Entities Model in Cassandra75-78
  • 6.2 Queries and Column Families in Cassandra78-80
  • 6.2.1 Hector79
  • 6.2.2 ColumnQuery79-80
  • 6.2.3 S1iceQuery80
  • 6.2.4 RangeSliceQuery80
  • 6.3 Cassandra Deployment80-81
  • 6.4 Website Implementation81-92
  • 6.4.1 Game and Website Integration82-85
  • 6.4.2 Website Users Register85-88
  • 6.4.3 Friends Invitations88-90
  • 6.4.4 Cards Payment Methods90-92
  • 6.5 Summary92-93
  • 7 Conclusion and Future Works93-95
  • 7.1 Conclusion93-94
  • 7.2 Future Works94-95
  • References95-99
  • Acknowledgements99-100
  • Research & Publications100

【參考文獻】

中國期刊全文數(shù)據(jù)庫 前2條

1 李振汕;;對電子商務(wù)網(wǎng)站可用性的研究[J];中國管理信息化;2009年17期

2 張駿,金雙武;電子商務(wù)網(wǎng)站支付系統(tǒng)的研究及優(yōu)化設(shè)計[J];武漢理工大學(xué)學(xué)報(信息與管理工程版);2004年04期


  本文關(guān)鍵詞:基于Cassandra的MMO游戲數(shù)據(jù)管理和綜合網(wǎng)站的實現(xiàn),由筆耕文化傳播整理發(fā)布。



本文編號:297322

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenyilunwen/guanggaoshejilunwen/297322.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶e647b***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
亚洲欧洲一区二区中文字幕| 国产精品香蕉一级免费| 亚洲国产av在线观看一区| 天海翼精品久久中文字幕| 二区久久久国产av色| 激情视频在线视频在线视频| 久久热麻豆国产精品视频| 国产女优视频一区二区| 日本加勒比在线观看不卡| 日韩一级毛一欧美一级乱| 粉嫩国产一区二区三区在线| 熟女体下毛荫荫黑森林自拍| av国产熟妇露脸在线观看| 激情五月天深爱丁香婷婷| 成年午夜在线免费视频| 日韩精品中文字幕亚洲| 国产自拍欧美日韩在线观看| 超碰在线免费公开中国黄片| 中文字幕亚洲精品乱码加勒比| 日韩在线视频精品中文字幕| 亚洲欧美精品伊人久久| 国产亚洲系列91精品| 亚洲精品av少妇在线观看| 中日韩美一级特黄大片| 国产精品视频一级香蕉| 久久老熟女一区二区三区福利| 能在线看的视频你懂的| 内射精品欧美一区二区三区久久久| 欧洲偷拍视频中文字幕| 日本成人三级在线播放| 亚洲av熟女国产一区二区三区站| 久久热麻豆国产精品视频| 亚洲欧美日韩精品永久| 在线懂色一区二区三区精品| 日韩一级欧美一级久久| 翘臀少妇成人一区二区| 国产女优视频一区二区| 亚洲综合一区二区三区在线| 国产一区二区不卡在线视频| 欧美一区日韩一区日韩一区| 五月婷婷欧美中文字幕|