版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)萬方數(shù)據(jù)萬方數(shù)據(jù)申請上海交通大學(xué)工程碩士學(xué)位論文網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)學(xué)校代碼:10248作者姓名:鮑汝興學(xué) 號:1110372011第一導(dǎo)師:姜麗紅第二導(dǎo)師:梁海華學(xué)科專業(yè):軟件工程答辯日期:2014年7月4日上海交通大學(xué)軟件學(xué)院2014年06月ADissertationSubmittedtoShanghaiJiaoTongUniversityforMasterDegreeofEngineeringTHEDESIGNANDIMPLEMENTATIONOFWEBGAMEADVERTISINGSYSTEMUniversityCode:10248Author:BaoRuxingStudentID:1110372011Mentor1:JiangLihongMentor2:LiangHaihuaField:SoftwareEngineeringDateofOralDefense:2014-7-4SchoolofSoftwareShanghaiJiaotongUniversityJune,2014萬方數(shù)據(jù)萬方數(shù)據(jù)房支房支i,,:ff儼刷」7πii,ny網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)本人鄭重聲明:所呈交的學(xué)位論文進行研究工作所取得的成果包含任何其他個人或集體己經(jīng)發(fā)表或撰寫過的作品成果做出重要貢獻的個人和集體識到本聲明的法律結(jié)果由本人承擔。學(xué)位論文作者名:1fa!?Jl日: 咱年7月呼日萬方數(shù)據(jù)萬方數(shù)據(jù)));:;fr支吾λ辛-,二.,您寫啻.;吧·iy網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)上海交通大學(xué)學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版論文被查閱和借閱部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索手段保存和匯編本學(xué)位論文。r“打內(nèi)r“打內(nèi)框方上以在請(密保不于屬文論位學(xué)本文名: . 指導(dǎo)教師簽名:W日悔7月日 日辭7月4日網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)萬方數(shù)據(jù)萬方數(shù)據(jù)網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計與實現(xiàn)摘要廣告數(shù)據(jù)的監(jiān)測、數(shù)據(jù)關(guān)聯(lián)和效果分析成為一個十分重要的課題。的網(wǎng)頁游戲廣告分析平臺。本文工作包括如下幾個方面:第一,分析了為了達到網(wǎng)頁游戲廣告系統(tǒng)的各種需求,本系統(tǒng)所采用的關(guān)鍵技術(shù),包括Thrift遠程過程調(diào)用框架,Hadoop分布式框架,負載均衡,反向代理緩存,POI,Velocity和協(xié)程的簡要介紹。不同部分,主要包含廣告頁控制,廣告頁投放加速,日志記錄,日志分析,數(shù)據(jù)交換,細分析了這些模塊的具體需求,并分析了本系統(tǒng)的主要業(yè)務(wù)流程。闡述了結(jié)合關(guān)鍵技術(shù)來設(shè)計各個模塊的架構(gòu)以及各個功能模塊具體的設(shè)計和實現(xiàn)的過程。同時根據(jù)需求和數(shù)據(jù)業(yè)務(wù)流程設(shè)計了本系統(tǒng)存儲數(shù)據(jù)的數(shù)據(jù)庫、表和字段信息。I計要求。析、展示的經(jīng)濟、可行的解決方案,它的可行性在實際應(yīng)用中得到了證明。關(guān)鍵詞廣告系統(tǒng),網(wǎng)頁游戲,數(shù)據(jù)監(jiān)測,數(shù)據(jù)分析IITHEDESIGNANDIMPLEMENTATIONOFWEBGAMEADVERTISINGSYSTEMABSTRACTAlongwiththedevelopmentofthenetworkgamemarket,alargenumberofwebgamesarepublishedtothemarket.BecausethedevelopmentofthewebgameislowercostandshortercyclethanMMO(MassivelyMultiplayerOnline)game’s,soithascausedadramaticmarketinflation.Moreover,thecompetitiononthemarketisalsointensebetweenthewebgames.Howtointroducealargenumberofgameplayersintothewebgameseffectivelybecomeskeyemphasisinworkateverybigcompany.Networkgameadvertisingisamajormethodofpromotioninthisprocess.Thenumberofnetworkgameadvertisingwashuge,andtheadvertisersarealsomanifold.isnecessarytousetheadvertisingdatastatisticstoolscarryingoutastatisticalanalysisfortheeffectsofadvertising.Themainadvertisingstatisticaltoolsonthemarketatpresentcanonlycountpvanduv,butgamecompanywebgameoperatingdataaren’tassociatedwiththem.theprocessofgameoperationthequalityoftheadvertisingneedtobeanalyzedaccordingtotheoperationaldata.Andthenchoosetheadvertisersaccordingtotheadvertisementeffect,sothatthelimitedadvertisingbenefitsreachmaximization.Thismakestheadvertisingdatamonitoring,datacorrelationandeffectanalysisbecomingaveryimportantsubject.Inthisthesis,basedonthemonitoringandstatisticalanalysisofwebgameadvertisingrequirements,anadvertisingmonitoringandstatisticalanalysissystemhasbeenanalyzedandIIIdesigned.TemplatedADpage,webspeed,replacecontrol,dataacquisition,dataanalysisanddataassociationdisplayhavebeenimplementedinthissystemwhichprovidesaconvenient,straightforward,concise,accurateanalysisofthewebgameadvertisingplatformforthegameoperationsstaff.Inthisthesis,theresearchprocessisasfollows:Firstly,inordertomeettherequirementsofwebgameadvertisingsystem,thekeytechnologiesareanalyzed,includingTriftRPCframework,theHadoopdistributedframework,loadbalance,reverseproxycache,POI,Velocityandcoroutinesarebrieflyintroduced.Secondly,therequirementsforwebgameadvertisingsystemareanalyzed.Thissystemisdividedintodifferentparts,includingadvertisingpagecontrol,advertisingpagespeed,logging,loganalysis,dataexchange,datadisplay,systemmanagement,etc.Designtheusecasediagramtosummarizeoverallthefunctionmodules.Therequirementsofthesemodulesareanalyzedbydetaileduse-casedescriptionway,andthemainworkprocessesofthissystemareanalyzed.Thirdly,onthebasisoftherequiremntsanalysisofthewebgameadvertisingsystem,overalllogicalstructurewasstudied.Thearchitecturesofdifferentmodulesaredesignbythekeytechnology.Theprocessofdesignandimplementationofthedifferentmodulesarealsoelaborated.Atthesametimeaccordingtotherequirementsanddataprocessthesystem'sdatabasetostoredata hasbeendesigned,whichincludesthedesignofthesystemdatabasetableandtablefieldinformation.Fourthly,thefunctionandperformanceofthesystemtobetested.Thesystemisverifiedbythetestandthesystemmeetsthedesignrequirements.Aneconomicandfeasiblesolutionhasbeendesignedandimplementedforuserbehaviordatacollection,dataanalysisanddatadisplayinwebgameadvertisingsystem.Itsfeasibilityhasbeendemonstratedinpracticaluse.KeywordsAdvertisingSystem,WebGame,DataMonitoring,DataProcessIV目 錄1緒論 11.1研究背景和意義 11.2國內(nèi)外研究現(xiàn)狀 21.3論文研究的目標及主要內(nèi)容 31.4論文的組織結(jié)構(gòu)及章節(jié) 41.5本章小結(jié) 42關(guān)鍵技術(shù)介紹 52.1ThriftRPC框架 52.1.1數(shù)據(jù)類型 62.1.2協(xié)議 62.1.3傳輸層 72.1.4服務(wù)端類型 72.2Hadoop分布式框架 72.2.1HDFS文件系統(tǒng) 82.2.2MapReduce計算框架 82.3負載均衡 92.4反向代理緩存 10POIEXCEL生成技術(shù) 11Velocity模板 122.7協(xié)程 142.8本章小結(jié) 143系統(tǒng)需求分析 一五3.1系統(tǒng)概述 一五3.2系統(tǒng)目標 一五3.3系統(tǒng)功能性需求分析 一五3.3.1系統(tǒng)用例分析 163.3.2廣告頁控制 163.3.3廣告頁投放 173.3.4日志記錄 一八V3.3.5日志分析 193.3.6數(shù)據(jù)交換 203.3.7數(shù)據(jù)顯示 213.3.8系統(tǒng)管理 223.4系統(tǒng)非功能性需求分析 333.5系統(tǒng)流程分析 343.5.1數(shù)據(jù)查詢流程 343.5.2數(shù)據(jù)分析流程 343.5.3廣告投放流程 353.5.4玩家行為跟蹤流程 363.6本章小結(jié) 374系統(tǒng)設(shè)計與實現(xiàn) 384.1系統(tǒng)設(shè)計目標 384.2系統(tǒng)設(shè)計的原則 394.3系統(tǒng)邏輯架構(gòu) 394.4廣告頁控制設(shè)計與實現(xiàn) 414.4.1廣告頁控制架構(gòu)設(shè)計 424.4.2模板設(shè)計與實現(xiàn) 424.4.3靜態(tài)頁面生成設(shè)計與實現(xiàn) 434.5廣告投放加速的設(shè)計與實現(xiàn) 444.5.1廣告投放加速架構(gòu)設(shè)計 454.5.2緩存設(shè)計與實現(xiàn) 454.5.3負載均衡設(shè)計與實現(xiàn) 464.6日志記錄服務(wù)的設(shè)計與實現(xiàn) 474.7日志數(shù)據(jù)分析的設(shè)計與實現(xiàn) 494.7.1日志類型 494.7.2日志格式 504.7.3日志分析流程設(shè)計 524.7.4日志分析作業(yè)設(shè)計和實現(xiàn) 534.8數(shù)據(jù)交換的設(shè)計與實現(xiàn) 554.8.1數(shù)據(jù)交換的架構(gòu)設(shè)計 554.8.2充值信息交換的設(shè)計與實現(xiàn) 564.9數(shù)據(jù)展示的設(shè)計與實現(xiàn) 58VI4.9.1數(shù)據(jù)展示架構(gòu)設(shè)計 594.9.2EXCEL導(dǎo)出設(shè)計與實現(xiàn) 594.10數(shù)據(jù)庫設(shè)計 614.11本章小結(jié) 635系統(tǒng)測試 645.1測試環(huán)境 645.2功能測試 655.2.1投放頁面測試 655.2.2廣告頁控制測試 665.2.3數(shù)據(jù)展示功能測試 665.2.4后臺管理功能測試 675.3性能測試 695.3.1投放頁性能測試 695.3.2廣告日志性能測試 695.3.3日志分析子系統(tǒng)性能測試 705.4本章小結(jié) 716總結(jié)與展望 726.1本文工作的回顧 726.2成果及意義 726.3存在的問題及下一步的工作 73參考文獻 74致謝 76攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文目錄 77VII1緒論1.1研究背景和意義截至2011年年底,我國互聯(lián)網(wǎng)網(wǎng)民數(shù)量達到3.一三億人,其中約三分之一屬于網(wǎng)絡(luò)年我國網(wǎng)游市場實際銷售總收入達到428作,而網(wǎng)頁游戲廣告是一個主要的推廣手段。鍵的課題。技術(shù)和資金實力有限,對廣告數(shù)據(jù)的監(jiān)測水平不高,只能以基本的數(shù)據(jù)作為統(tǒng)計目標。足業(yè)務(wù)需求:廣告時段比較分析,廣告類型比較分析,渠道比較分析,業(yè)務(wù)效果分析。供依據(jù)。渠道比較分析指從多個角度對比、分析不同廣告渠道、形式的廣告推廣效果,1據(jù)?對收集的大量日志數(shù)據(jù)如何進行有效快速的分析?怎樣展示分析的數(shù)據(jù)給游戲運速的更換廣告?這幾個問題的解決,成為本系統(tǒng)能夠完全達到運營人員的需求的關(guān)鍵。因此本文將圍繞如何解決這些關(guān)鍵的問題進行分析,探討和研究。1.2國內(nèi)外研究現(xiàn)狀在國外,經(jīng)過20多年的發(fā)展,互聯(lián)網(wǎng)已經(jīng)深入到日常生活的方方面面,在網(wǎng)絡(luò)媒果評估分析的國外主要產(chǎn)品有谷歌統(tǒng)計,雅虎統(tǒng)計等。谷歌統(tǒng)計是一個全面的網(wǎng)站監(jiān)測分析解決方案。它的目標是跟蹤銷售和轉(zhuǎn)化情況,根據(jù)廣告主定義的閾值來衡量網(wǎng)站的用戶參與度。它根據(jù)關(guān)鍵字、搜索查詢、匹配類型等方面的點擊后數(shù)據(jù)來優(yōu)化廣告主的AdWords廣告效果。AdSense報告可向廣告主表明哪些網(wǎng)站內(nèi)容產(chǎn)生的收入最高,跟蹤廣告和離線廣告等等。跟蹤帶來交易的廣告系列和關(guān)鍵字,獲取客戶忠誠度和等待時間指標,確認最佳收入來源[2]。分析用戶訪問站點的軌跡和搜索引擎爬蟲抓取網(wǎng)站內(nèi)容的軌跡,并結(jié)合互聯(lián)網(wǎng)銷售策統(tǒng)計所有的統(tǒng)計報告都提供導(dǎo)出報表數(shù)據(jù)的特性,并且報告都有自動浮動的說明功能,幫助使用者快速的理解報表的含義[3]。國內(nèi)的互聯(lián)網(wǎng)經(jīng)過10多年的發(fā)展,電子商務(wù),網(wǎng)絡(luò)游戲高速發(fā)展,形成了巨大的廣告市場,隨之國內(nèi)的廣告統(tǒng)計系統(tǒng)也發(fā)展壯大,目前主要有百度統(tǒng)計,CNZZ統(tǒng)計,51啦等。百度統(tǒng)計是百度發(fā)布的一個免費的監(jiān)測分析網(wǎng)站流量的工具,能夠告訴網(wǎng)站所有者2收集數(shù)據(jù)功能立即生效,為用戶提升投入產(chǎn)出比提供決策參考[4]。CNZZ統(tǒng)計包括站長統(tǒng)計,全景統(tǒng)計,廣告統(tǒng)計,移動統(tǒng)計,其中為廣大互聯(lián)網(wǎng)廣投放搜索引擎關(guān)鍵字廣告、EDM廣告、內(nèi)容展示廣告、互聯(lián)網(wǎng)品牌推廣等的廣告投放用,將廣告費用花在最有價值的地方[5]。51常規(guī)功能,它也有一些獨有功能如升降榜,排名,史和列,引用,多ID等[6]。問題。1.3論文研究的目標及主要內(nèi)容對網(wǎng)頁游戲的廣告統(tǒng)計分析平臺。因為大量的廣告日志數(shù)據(jù)需要系統(tǒng)處理,性能問題成過研究Hadoop的分布式大數(shù)據(jù)處理架構(gòu)來分析收集到的廣告日志數(shù)據(jù),對分析的數(shù)據(jù)它相關(guān)業(yè)務(wù)系統(tǒng)的集成。詳細的研究內(nèi)容包括以下幾個部分:(1)分析國內(nèi)外廣告系統(tǒng)的現(xiàn)狀,結(jié)合網(wǎng)頁游戲運營的特點,及相關(guān)業(yè)務(wù)系統(tǒng)的接口要求,分析網(wǎng)頁游戲廣告系統(tǒng)的流程和需求功能;(2)對網(wǎng)頁游戲廣告系統(tǒng)相關(guān)的關(guān)鍵技術(shù)進行介紹;3(3)總體設(shè)計網(wǎng)頁游戲廣告系統(tǒng)的整體邏輯架構(gòu),詳細設(shè)計網(wǎng)頁游戲廣告系統(tǒng)的各個關(guān)鍵模塊的功能和流程,以及和外界會員系統(tǒng)、充值系統(tǒng)以及游戲運營系統(tǒng)的集成;(4)根據(jù)詳細設(shè)計,具體實現(xiàn)網(wǎng)頁游戲廣告系統(tǒng),并和游戲運營平臺的其他系統(tǒng)進行銜接,在具體運營中驗證和改進系統(tǒng);1.4論文的組織結(jié)構(gòu)及章節(jié)第一章)緒論。介紹了網(wǎng)頁游戲廣告系統(tǒng)的背景及研究的意義,通過對國內(nèi)外的行業(yè)現(xiàn)狀的調(diào)研,提出了研究的目標和內(nèi)容。第二章)Thrift框架,模板和協(xié)程等關(guān)鍵技術(shù)進行了簡單的介紹。第三章)郵件,界面原型確定系統(tǒng)的功能性需求和非功能性需求,并采用了UML用例圖對需求進行匯總,以及使用用例描述的方式詳細分析了需求。第四章)輯架構(gòu),各個功能的架構(gòu),設(shè)計和實現(xiàn)以及數(shù)據(jù)庫表的的設(shè)計。第五章)系統(tǒng)測試。詳細描述了系統(tǒng)的各個功能和性能的測試。第六章)總結(jié)與展望。對整個系統(tǒng)進行了總結(jié),分析了不足,和未來系統(tǒng)需要改進的地方。1.5本章小結(jié)和內(nèi)容進行了描述,最后列出了全文的結(jié)構(gòu)。42關(guān)鍵技術(shù)介紹ThriftRPC框架RPC(遠程過程調(diào)用)是一種允許運行于一臺計算機的程序調(diào)用另一臺計算機的方法的計算機通信協(xié)議。ApacheThrift[7][8]是一個開放源代碼的RPC框架,最初由Facebook開發(fā)并應(yīng)用,它采用在常見的語言(如C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk)中它所包含的代碼生成引擎可以創(chuàng)建高性能的、簡潔的服務(wù)。它的數(shù)據(jù)采用Binary(二進制)格式,在同樣內(nèi)容的情況下比XML條件下,優(yōu)勢明顯。Thrift包含一系列工具和API用于創(chuàng)建Client和2-1描繪了Thrift的整體架構(gòu)。zhikuquan20zhikuquan20一五0721圖2-1Thrift架構(gòu)Figure2-1Thriftarchitecture5如圖所示,圖中第一層是應(yīng)用實現(xiàn)的服務(wù)邏輯,上面二三兩層是根據(jù)Thrift定義的IDL生成的Server和ClientThrift的底層通信協(xié)議和IO操作,使用Thrift可以定義一個服務(wù)在不重新產(chǎn)生代碼的情況下選擇不同的傳輸協(xié)議和傳輸層。Thrift服務(wù)器的基礎(chǔ)設(shè)施綁定了傳輸層和協(xié)議,它以不同的模式運行在服務(wù)器上,如非阻塞、阻塞、單線程和多線程。它可以單獨運行,也可以在現(xiàn)有的J2EE服務(wù)器上運行。2.1.1數(shù)據(jù)類型ThriftIDL中可以使用的數(shù)據(jù)類型包括下列多種類型,如表2-1所示:表2-1Thrift數(shù)據(jù)類型Table2-1Thriftdatatype分類Th分類Tht類型JVA類型說明基本型Boolbooean布爾ue或aseBebe8位符整數(shù)16 zhkuqht20一五0721 16有號數(shù)32nt32有號數(shù)64ong64有號數(shù)Dobedoube64浮數(shù)SngSng不確編的和Bnay字符串結(jié)構(gòu)類型SuctJaaBen對象定和C語構(gòu)體似容器型stAastSHahetHahap異常型ExceponExcepon服務(wù)型Sece服務(wù)類2.1.2協(xié)議Thrift允許用戶選擇不同類別的Client與Client之間本(text)和二進制(binary)協(xié)議是常見的兩類傳輸協(xié)議。常用協(xié)議如表2-2所示:6表2-2Thrift傳輸協(xié)議Table2-2Thrifttransferprotocol協(xié)議說明TBinaryProtocol二進制編碼格式協(xié)議TCompactProtocol高效率的、密集的二進制編碼協(xié)議TJSONProtocolJSON的數(shù)據(jù)編碼協(xié)議2.1.3傳輸層Thrift常用的傳輸層如表2-3所示:表2-3Thrift傳輸層Table2-3Thrifttransferlayer傳輸層說明TSocket使用Blocking(阻塞)進行傳輸TFramedTransportzhikuquan2使用Non-Blocking(非阻塞)方式,類似于Java中的NIO,按塊的大小進行傳輸0一五07212.1.4服務(wù)端類型Thrift常見的Server類型如表2-4所示:表2-4Thrift服務(wù)端Table2-4Thriftserver服務(wù)端類型說明TSimpleServer使用標準的阻塞式I/O,單線程服務(wù)器端TThreadPoolServer使用標準的阻塞式I/O,多線程服務(wù)器端TNonblockingServer使用非阻塞式I/O,多線程服務(wù)器端Hadoop分布式框架Hadoop是對大數(shù)據(jù)進行處理的軟件系統(tǒng),它是apache的開源軟件之一,開發(fā)人員開發(fā)MapreduceHdoop的內(nèi)部運行機制不需要詳細了解,最大限度使用HDFS的存儲和Mapreduce的計算能力[9]。7HDFS文件系統(tǒng)Hadoop由許多組件組成,其中最基礎(chǔ)的是Hadoop分布式文件系統(tǒng)組件都是建立于它之上,HDFS的設(shè)計來源于Google文件系統(tǒng)(GFS)[10]。HDFS的架構(gòu)設(shè)計采用master-slave結(jié)構(gòu),master節(jié)點稱為名稱節(jié)點,它只有一個,實際的文于slave數(shù)據(jù)節(jié)點上。在HDFS上數(shù)據(jù)塊(block)是數(shù)據(jù)的基本存儲單位,64MB是每個數(shù)據(jù)塊默認大小。HDFS的Namespace(名稱空間)由名稱節(jié)點管理,它控制對文件則負責存儲分配給它的數(shù)據(jù),并響應(yīng)讀寫請求。例如,我們想要存儲一個一三2MB的數(shù)據(jù)在HDFS上,按照這個大小,會被分成64M、64M、4M三個數(shù)據(jù)塊。它們會被名稱節(jié)點分配到數(shù)據(jù)節(jié)點上,并記錄關(guān)聯(lián)信息??蛻舳嗽诎惭bHDFS后可以讀這個數(shù)據(jù),首些信息,從相應(yīng)的數(shù)據(jù)節(jié)點直接讀取這些塊。MapReduce計算框架
zhikuquan20一五0721MapReduce[11](MR)是一個進行分布式數(shù)據(jù)處理的框架。同HDFS一樣,它的架構(gòu)也是基于master-slave模式。master是一個控制節(jié)點稱為作業(yè)節(jié)點,負責協(xié)調(diào)多個任務(wù)節(jié)點之間的計算處理活動。作業(yè)節(jié)點接收到處理的輸入數(shù)據(jù)的指令,輸入的數(shù)據(jù)被劃分成更小粒度的塊,比如行,所有這些小塊數(shù)據(jù)被分布在多個任務(wù)節(jié)點上同時進行處理。這一步被稱為“映射(map)”。任務(wù)節(jié)點將完成結(jié)果信息返回給工作節(jié)點,工作節(jié)“映射”的輸出被分別寫入到“化簡”。MapReduce應(yīng)用必須至少提供如下輸入?yún)?shù):輸入數(shù)據(jù)的路徑。MapReduce函數(shù)的具體實現(xiàn),以及自定義配置文件。輸出數(shù)據(jù)的路徑。在MapReduce<K,簡”函數(shù)的輸入輸出,也是 <K,V>鍵值對形式出現(xiàn)的。82.3負載均衡負載均衡是由若干臺web務(wù)。在web服務(wù)器承擔比較高的負載的時候,為了提高服務(wù)的整體性能,負載均衡集群將web請求分散到對稱結(jié)構(gòu)中的某一臺服務(wù)器上,這臺服務(wù)器接受到請求后單獨地響應(yīng)外部的請求。它有多臺服務(wù)器分別承擔請求,外部看到的是同一個IP地址,服務(wù)不會中衡的常用算法WRR(權(quán)重輪詢調(diào)度)和hash(散列)。權(quán)重輪詢調(diào)度在輪詢調(diào)度算法(RR)基礎(chǔ)上加上權(quán)重的改進,就稱為WRR。RR原理是把外部的請求依次分配給集群中的的服務(wù)器,開始為1,直到M(集群中服務(wù)器個數(shù)),然后回RR種調(diào)度是無狀態(tài)的。并不關(guān)心不同服務(wù)器的處理能力,由于不同服務(wù)器的軟硬件、RRzhikuquan20一五0721對不同的服務(wù)器應(yīng)用差別化的權(quán)重,從而使服務(wù)器的請求處理能力也差別化。因為各個服務(wù)器的服務(wù)能力由WRR算法所控制,WRR能夠保證高性能的服務(wù)器能得到更高的使用頻率,從而減輕了低性能服務(wù)器的負載。散列常見的散列有散列和URL散列(IP計算出一個hash,再根據(jù)hash值選擇后臺的目標服務(wù)器,如果一個后臺服務(wù)器不提供響應(yīng)(連接超時或讀超時),它的fail次數(shù)累加一,當一個服務(wù)器的fail次數(shù)等于max_fails的值,就會不對外提供響應(yīng)服務(wù),不響應(yīng)的時間段為fail_timeout所設(shè)置值。如果當前基于先前的hash值再次哈希,這樣一個全新的hashhash值來hash策略不再試圖用hash值來選擇,擇新的server會使用輪詢的方法hash優(yōu)勢是相同的請求會分派到相同的服務(wù)器。負載均衡產(chǎn)品經(jīng)常從硬件和軟件兩方面來劃分,軟件負載均衡性能不如硬件負載均9衡。硬件負載均衡是把負載均衡硬件設(shè)備直接安裝在內(nèi)部服務(wù)器和外部網(wǎng)絡(luò)之間,此設(shè)備正常稱為LoadBalancer(負載均衡器),該設(shè)備使用專用OS(操作系統(tǒng))來完成各種特定任務(wù),性能有很大提升,用戶可以自定義各種量自動管理,可最大化的滿足負載均衡需求[14]ISO參考模型方面來和Haproxy是四層負載均衡和硬件負載均衡器的能力相當靠近,它的數(shù)據(jù)處理在內(nèi)核中進是七層負載均衡中性能較優(yōu)優(yōu)秀的一個軟件,它有Virtual動態(tài)內(nèi)容和靜態(tài)內(nèi)容分開,保持Session[一五]是一個很強大的高性能Web服務(wù)器,它具有很多非常優(yōu)越的特性:Nginx選擇了Epoll(linux2.6內(nèi)核)和kqueue(freebsd)作為網(wǎng)絡(luò)IO模型,能夠支撐大量連接,官方測試nginx能夠支撐到5萬個并發(fā)連接,在實際生產(chǎn)環(huán)境中可支撐2-3萬并發(fā)連接。Nginx使用master+worker的工作模型,Nginx的master進程負責對worker子socketpairNginx變得特別容易,可以做到7*24不間斷運行,即使運行很長時間也不需要頻繁重啟。zhikuquan20一五07212.4反向代理緩存反向代理緩存位置在web瀏覽器與原始web服務(wù)器中間,它緩存若干個web瀏覽器所請求的URL頁面資源,頻繁請求的web頁面會被反向代理緩存復(fù)制到到代理服務(wù)瀏覽器請求訪問webHTTPURL所代表的的網(wǎng)頁資源。如果代理緩存已經(jīng)有當前請求資源的的當前副本,它直接返回此副本給web務(wù)器請求web資源副本或者丟棄不再需要的資源副本。對于網(wǎng)絡(luò)用戶是不可見的。Squid是常見的軟件級Web緩存服務(wù)器,也是目前應(yīng)用最普遍的代理服務(wù)器,它能在多個操作系統(tǒng)上使用,對cpu的要求也不高,對內(nèi)存的要求也不高。Squid的工作原10理如圖2-2所示:
圖2-2Squid工作原理Figure2-2SquidworkingprincipleSquid是通過Cache緩存請求響應(yīng)數(shù)據(jù)的一個代理軟件,它接收用戶的請求,并自動對響應(yīng)的數(shù)據(jù)保留一個副本。如當有玩家發(fā)起請求時,Squid代理服務(wù)器的會在緩存保留一個這個網(wǎng)頁的副本在代理服務(wù)器的有發(fā)現(xiàn),Squid代理服務(wù)器直接將請求發(fā)送到原始服務(wù)器,從原始服務(wù)器得到請求的網(wǎng)zhikuquan20一五0721保留一個這個網(wǎng)頁的副本在代理服務(wù)器的速度相當快,其實并非到實際原始服務(wù)器訪問[16]。POIEXCEL生成技術(shù)在日常辦公中Microsoft公司的Excel據(jù)處理和輔助支持決策的工具,它是辦公自動化套件Office的一個組件。當數(shù)據(jù)在一個網(wǎng)頁上顯示時,用戶要求導(dǎo)出到Excel表格中,這就需要為瀏覽網(wǎng)頁的用戶提供一個工具,此工具實現(xiàn)將從DB里查詢處理的結(jié)果除了顯示到網(wǎng)頁之外,同時能根據(jù)用戶的指令在Excel里顯示。在開源界有兩套比較有名氣的JAVA工具庫對Excel數(shù)據(jù)操作的功能提供支持:一個是JXL,另一個是POI。Excel95-2007的各個版本JXL和POI都能操作控制,支持文本、數(shù)字、日期操作,能夠設(shè)置單元格屬性,但JXL不支持MacroPOI支持公式宏,對各種圖表支持良好,為了以后擴展的方便,本文描述的系統(tǒng)使用POI來實現(xiàn)Excel的操作。POI是apache的子項目,它提供了一組操作WindowsOffice文檔的JavaAPI。目前處理Excel的接口主要是HSSF和XSSF,HSSF接口用來實現(xiàn)處理MSExcel97(xls)文件格式,XSSF用來實現(xiàn)處理Excel2007OOXML(.xlsx)文件格式。POI所操作的是真正的Excel對象,而不是像csv那樣生成的沒有格式的可以由ExcelExcel文件進行讀入,寫出,格式設(shè)置等操作可以通過HSSF和XSSF的JAVAAPI來進行[17]。用POI進行數(shù)據(jù)的導(dǎo)出流程如圖2-3所示:圖2-3POI數(shù)據(jù)導(dǎo)出流程Figure2-3POIdataexportprocessVelocity模板Web模板引擎可以使業(yè)務(wù)邏輯與用戶界面相互分離,它可以產(chǎn)生特定格式的文檔,如一個標準的HTML文檔。Volecity是JAVA領(lǐng)域最流行的開源模板(template)工具之一。Velocity工作原理如下:Java后端開發(fā)人員和前端頁面設(shè)計人員首先共同定義一個template,然后Java后端開發(fā)人員和前端頁面設(shè)計人員就可以在各自開發(fā)中對template12員并行開發(fā)。Java后端開發(fā)人員將template需要的數(shù)據(jù)或者對象放入一個上下文對象中,這樣就可以被前端頁面設(shè)計人員引用。然后,頁面設(shè)計人員可以基于頁面來建立template中添加VTL元素,將從上下文對象中取得的業(yè)務(wù)數(shù)據(jù)通過這些元素來進行操作。在這里,上下文對象用來完成Java程序設(shè)計層和頁面template層之間的數(shù)據(jù)傳遞。Velocity使用Java程序?qū)?shù)據(jù)放入上下文對象,選擇程序中需要的template,template中添加的的VTL元素將獲取放入到上下文對象中的數(shù)據(jù),同時結(jié)合頁面templateVelocity的template中不會有Java元素僅僅從上下文對象中訪問數(shù)據(jù),從而可以脫離代碼單獨進行開發(fā)和維護[一八]。Velocity工作原理如圖2-4所示。圖2-4Velocity工作原理Figure2-4VelocityworkingprincipleVTL語言和Velocity應(yīng)用程序開發(fā)是Velocity模板技術(shù)應(yīng)用開發(fā)涉及的兩個部分。web頁面或其他應(yīng)用中的界面顯示處理由VTL語言負責,它包括兩類元素:Reference(引用)。VTL使用reference在頁面中嵌入可變內(nèi)容,在開發(fā)過程中頻繁使用的變量就是reference的一種形式。在VTL中,可以在業(yè)務(wù)邏輯中定義變量,也能夠直接用VTL語句從模板中取值來定義變量。引用的數(shù)據(jù)類型之間有沒有區(qū)別,你是否為變量分配一個值,或提取可變數(shù)據(jù),都將是一個簡單的字符變量類型的對象。Reference共有變量、屬性、方法3種類型,它是VTL語言的比較關(guān)鍵的元素。由頁面設(shè)計人員通過指令控制。指令在VTL中是非常易用的腳本元素。Velocity程序在后臺執(zhí)行,它并不關(guān)心如何展示頁面,僅僅對應(yīng)用數(shù)據(jù)進行處理。它主要的類有三個:Template類,VelocityContext類,VelocityWriter類。一三通常使用Velocity進行模板開發(fā)經(jīng)過下列的過程:(1)初始化Velocity,調(diào)用Velocity類的init()方法,創(chuàng)建一個Velocity對象;(2)創(chuàng)建一個上下文對象;(3)將提供給頁面調(diào)用的數(shù)據(jù)添加到上下文對象中;創(chuàng)建輸出流writer來輸出template內(nèi)容;選擇template,通過Template類,并使用Velocity的getTemplate方法加載template;(6)合并template與數(shù)據(jù),產(chǎn)生輸出結(jié)果;2.7協(xié)程外部終止它,而只能等待這個協(xié)程主動(一般是yield)讓出執(zhí)行權(quán)給其他協(xié)程,通過協(xié)作來達到多任務(wù)并發(fā)的目的。它的優(yōu)點有:協(xié)程所需的棧內(nèi)存非常小(4K),不像傳統(tǒng)線程需要很大的棧內(nèi)存(至少1M),它能按需增長或縮減,能實現(xiàn)接近于無限遞歸。以無限并發(fā)。由于是由用戶來進程調(diào)度,這就避免了用鎖機制來進行同步。個體,并且都有自己的變量,但在不同并發(fā)單元間這些變量不共享,每個并發(fā)單元的輸入輸出只有一種,那就是消息。通過消息來共享內(nèi)存[19]。在Google的GOgoroutine,消息機制稱為channel,它們是GO從語言級別對應(yīng)實現(xiàn)了的協(xié)程和消息機制[21]。2.8本章小結(jié)Thrift框架,Hadoop框架,負載均衡,反向代理緩存,POI技術(shù),Velocity模板和協(xié)程等有了初步的認識,為下面用這些技術(shù)做系統(tǒng)設(shè)計和實現(xiàn)做好基礎(chǔ)準備。143系統(tǒng)需求分析推廣自己的游戲產(chǎn)品,游戲廠商使用多種手段來推銷自己的游戲,使用廣告是比較直接本章要重點討論網(wǎng)頁游戲廣告系統(tǒng)的目標、功能和流程。3.1系統(tǒng)概述互聯(lián)網(wǎng)的形式吸引玩家注冊和進入游戲消費。網(wǎng)頁游戲廣告系統(tǒng)實現(xiàn)對廣告聯(lián)盟站長,廣告素材,廣告頁面,廣告數(shù)據(jù)的全方位的管理。3.2系統(tǒng)目標本系統(tǒng)主要實現(xiàn)以下目標:(1)廣告素材能夠統(tǒng)一管理;(2)根廣告頁面能夠重用已有的素材自動生成;(3)根對于同一廣告聯(lián)盟站長,能夠在鏈接地址不變的情況下,自動更新頁面;(4)根數(shù)據(jù)報表多維查詢和導(dǎo)出Excel。3.3系統(tǒng)功能性需求分析長在放出廣告后,系統(tǒng)后臺用戶可以查看對應(yīng)的廣告數(shù)據(jù)。一五3.3.1系統(tǒng)用例分析本系統(tǒng)采用通用的UML用例圖[23][24]來描述和獲取系統(tǒng)需求,本系統(tǒng)的用例(UC)如圖3-1所示:圖3-1Figure3-1Usercase3.3.2廣告頁控制運營人員負責廣告頁的添加,廣告頁可以添加多個。廣告頁是鏈接和素材的結(jié)合,在廣告頁生成后,運營人員可以提取直鏈,js代碼或者富媒體鏈接。用戶在數(shù)據(jù)分析的基礎(chǔ)上綜合判斷廣告的效果,根據(jù)判斷結(jié)果可以能及時快速更換廣告頁的廣告素材。廣告頁控制用例描述如表3-1所示:16表3-1廣告頁控制用例描述Table3-1ADpagecontrolusecasedescription用例名稱:廣告頁控制UC讓運營人員管理游戲廣告頁,可以對廣告頁進行添加,修改,提取各種形式鏈接等操作操x運營專員前置條件:登錄系統(tǒng)后置條件:如果UC成功,則可以進行相應(yīng)的廣告頁控制工作基本流程:運營專員先登錄登錄后點擊左邊系統(tǒng)菜單的“廣告頁控制”鏈接對廣告也進行添加,修改,查詢,提取備選流程:內(nèi)容缺失取再次進行“廣告頁控制”或離開,接著UC完成。內(nèi)容錯誤行“廣告頁控制”或離開,接著UC完成。操作錯誤3.3.3廣告頁投放戲,后臺記錄用戶的行為數(shù)據(jù)。廣告頁投放用例描述如表3-2所示:17表3-2廣告頁投放用例描述Table3-2ADpagepublishusecasedescription用例名稱:廣告頁投放簡介:此UC讓玩家瀏覽游戲廣告頁,玩家可以注冊用戶操x玩家前置條件:瀏覽網(wǎng)站后置條件:如果UC成功,則可以進入游戲玩游戲基本流程:瀏覽網(wǎng)站廣告頁展示注冊用戶備選流程:內(nèi)容缺失行“注冊用戶”或離開,接著UC完成。內(nèi)容錯誤用戶”或離開,接著UC完成。操作錯誤3.3.4日志記錄系統(tǒng)需要記錄用戶對廣告操作的各種行為包括展示,有效展示,點擊以及各種屬性包括廣告ID,展示ID,COOKIE,來源,去向,類型,提供商ID,鏈接ID,網(wǎng)盟ID,游戲ID,服務(wù)器等,使用程序記錄這些數(shù)據(jù)為分析廣告對玩家的影響提供數(shù)據(jù)支撐,為后續(xù)處理和分析提供數(shù)據(jù)來源。日志記錄服務(wù)用例描述如表3-3所示:一八表3-3日志記錄服務(wù)用例描述Table3-3Logrecordserviceusecasedescription用例名稱:日志記錄服務(wù)簡介:此UC記錄游戲玩家瀏覽廣告的行為追蹤操x玩家前置條件:玩家打開廣告后置條件:如果UC成功,則可以進行相應(yīng)的用戶行為記錄基本流程:記錄展示,有效展示,點擊注冊數(shù)據(jù)備選流程:內(nèi)容缺失行操作或離開,接著UC完成。內(nèi)容錯誤離開,接著UC完成。操作錯誤完成3.3.5日志分析據(jù)。日志分析用例描述如表3-4所示:表3-4日志分析用例描述Table3-4Loganalysisusecasedescription用例名稱:日志分析分析簡介:此UC讓系統(tǒng)定時自動對日志記錄進行分析19續(xù)表3-4用例名稱:日志分析分析操x系統(tǒng)前置條件:日志記錄導(dǎo)入后置條件:如果UC成功,則輸出分析結(jié)果基本流程:數(shù)據(jù)導(dǎo)入分析數(shù)據(jù)結(jié)果導(dǎo)出備選流程:無3.3.6數(shù)據(jù)交換系統(tǒng)的用戶信息使用公司的統(tǒng)一會員平臺的用戶信息,本系統(tǒng)中只保留用戶的標識。系統(tǒng)的充值信息需要由充值系統(tǒng)提供,系統(tǒng)的游戲信息需要由游戲系統(tǒng)提供。數(shù)據(jù)交換用例描述如表3-5所示:表3-5數(shù)據(jù)交換用例描述Table3-5DataExchangeUseCaseDescription用例名稱:數(shù)據(jù)交換簡介:此用例讓系統(tǒng)獲取其他相關(guān)系統(tǒng)的數(shù)據(jù)操x系統(tǒng)前置條件:無后置條件:如果用例成功,則返回相應(yīng)的數(shù)據(jù)基本流程:系統(tǒng)請求數(shù)據(jù)關(guān)聯(lián)系統(tǒng)返回數(shù)據(jù)備選流程:操作錯誤203.3.7數(shù)據(jù)顯示類又包括月報表,日報表,時段報表,站長報表,注冊報表,充值報表。注冊成本,充值賬號數(shù),充值次數(shù),充值總額,花費,二次登錄,三次登錄。三次登錄。展示次數(shù),有效展示,點擊次數(shù),注冊次數(shù),有效注冊,注冊比例,注冊人數(shù),注冊成本,充值賬號數(shù),充值次數(shù),充值總額,充值用戶比例,花費,ARPU,二次登錄,三次登錄。時段報表可以用來做時間對比分析。聯(lián)盟站長報表顯示的字段:網(wǎng)盟名稱,日期,SID,游戲名稱,服務(wù)器名稱,廣告鏈接,展示次數(shù),有效展示,點擊次數(shù),注冊次數(shù),有效注冊,注冊比例,注冊成本,充值賬號數(shù),充值次數(shù),充值總額,充值用戶比例,花費,ARPU,二次登錄,三次登錄。注冊報表顯示的字段:用戶ID,注冊時間,注冊IP,IP地域。充值報表顯示的字段:用戶ID,充值時間,充值金額。所有的報表表尾都包括總計和小計行并能導(dǎo)出excel。數(shù)據(jù)顯示用例描述如表3-6所示:表3-6數(shù)據(jù)顯示用例描述Table3-6Datadisplayusecasedescription用例名稱:數(shù)據(jù)顯示簡介:此UC讓運營專員員管理廣告效果報表,可以進行報表查看操作操x運營專員前置條件:運營專員登錄后置條件:如果UC成功,則可以進行報表查看21續(xù)表3-6用例名稱:數(shù)據(jù)顯示基本流程:運營專員先登錄登錄后點擊左邊系統(tǒng)菜單的“報表管理”鏈接對月報表,日報表,時段報表,站長報表,注冊報表,充值報表查看備選流程:內(nèi)容缺失取再次進行“報表管理”或離開,接著UC完成。內(nèi)容錯誤行“報表管理”或離開,接著UC完成。操作錯誤3.3.8系統(tǒng)管理登錄用戶輸入在公司統(tǒng)一會員系統(tǒng)上注冊的賬號和密碼,如果驗證通過,則進入系統(tǒng),如果沒有通過提示錯誤信息。用戶登錄用例描述如表3-7所示:表3-7用戶登錄用例描述Table3-7Userloginusecasedescription用例名稱:用戶登錄簡介:此用例讓運營專員輸入用戶名和密碼登入系統(tǒng)22續(xù)表3-7用例名稱:用戶登錄操x運營專員前置條件:打開登錄頁面后置條件:如果UC成功,則進入系統(tǒng)主界面進行各種工作基本流程:運營專員輸入用戶名運營專員輸入密碼點擊登錄按鈕備選流程:內(nèi)容缺失選取再次進行“登錄”或離開,接著UC完成。內(nèi)容錯誤行“登錄”或退出,接著UC完成。操作錯誤完成。角色管理予權(quán)限,撤銷權(quán)限,停用。角色管理用例描述如表3-8所示:23表3-8角色管理用例描述Table3-8Rolemanagementusecasedescription用例名稱:角色管理簡介:此UC讓Admin(管理員)創(chuàng)建角色,給角色授予和撤銷權(quán)限,停用角色操xAdmin前置條件:Admin登錄后置條件:如果UC成功,則可以進行角色管理工作基本流程:Admin打開登錄頁面Admin先登錄添加角色信息角色授予權(quán)限停用角色備選流程:內(nèi)容缺失在進行基本流時,必須填入的內(nèi)容Admin不全部輸入,系統(tǒng)彈出內(nèi)容缺失的提示框。Admin選取再次進行“角色管理”或離開,接著UC完成。內(nèi)容錯誤色管理”或離開,接著UC完成。操作錯誤Admin填入內(nèi)容通過檢查,但操縱數(shù)據(jù)庫發(fā)生錯誤,系統(tǒng)彈出操作失敗錯誤框,UC完成。用戶管理公司運營和市場部門新進員工,在7天內(nèi)由直接主管發(fā)出申請賬號的郵件,經(jīng)過部24須遵循公司賬號的規(guī)范,避免創(chuàng)建不成功,出現(xiàn)錯誤信息。用戶管理用例描述如表3-9所示:表3-9用戶管理用例描述Table3-9Usermanagementusecasedescription用例名稱:用戶管理簡介:此UC讓Admin創(chuàng)建用戶,給用戶加入相應(yīng)的角色,停用啟用用戶操xAdmin前置條件:Admin登錄后置條件:如果UC成功,則可以進行用戶管理工作基本流程:Admin打開登錄頁面Admin先登錄添加用戶信息加入相應(yīng)角色停用啟用用戶備選流程:內(nèi)容缺失在進行基本流時,必須填入的內(nèi)容Admin不全部輸入,系統(tǒng)彈出內(nèi)容缺失的提示框。Admin選取再次進行“用戶管理”或離開,接著UC完成。內(nèi)容錯誤戶管理”或離開,接著UC完成。操作錯誤Admin填入內(nèi)容通過檢查,但操縱數(shù)據(jù)庫發(fā)生錯誤,系統(tǒng)彈出操作失敗錯誤框,UC完成。權(quán)限管理管理員可以添加不同角色的權(quán)限,當用戶登錄成功進入系統(tǒng)時對用戶權(quán)限進行驗25證,用戶只能操作授權(quán)他權(quán)限的功能。權(quán)限管理用例描述如表3-10所示:表3-10權(quán)限管理用例描述Table3-10Permissionmanagementusecasedescription用例名稱:權(quán)限管理簡介:此UC讓Admin創(chuàng)建權(quán)限,修改權(quán)限操xAdmin前置條件:Admin登錄后置條件:如果UC成功,則可以進行權(quán)限管理工作基本流程:Admin打開登錄頁面Admin先登錄添加權(quán)限信息修改權(quán)限信息停用權(quán)限信息備選流程:內(nèi)容缺失在進行基本流時,必須填入的內(nèi)容Admin不全部輸入,系統(tǒng)彈出內(nèi)容缺失的提示框。Admin選取再次進行“權(quán)限管理”或離開,接著UC完成。內(nèi)容錯誤限管理”或離開,接著UC完成。操作錯誤Admin填入內(nèi)容通過檢查,但操縱數(shù)據(jù)庫發(fā)生錯誤,系統(tǒng)彈出操作失敗錯誤框,UC完成。日志管理每個用戶在系統(tǒng)涉及到變更的操作都需要記錄日志,當系統(tǒng)數(shù)據(jù)發(fā)生異常時可以通26過日志查到用戶操作層面的原因,為績效和責任追究提供數(shù)據(jù)支持。日志管理用例描述如表3-11所示:表3-11日志管理用例描述Table3-11Logmanagementusecasedescription用例名稱:日志管理簡介:此UC讓Admin查看系統(tǒng)每個用戶的操作日志操xAdmin前置條件:Admin登錄后置條件:如果UC成功,則可以進行日志管理工作基本流程:Admin打開登錄頁面Admin先登錄查看日志信息備選流程:內(nèi)容缺失在進行基本流時,必須填入的內(nèi)容Admin不全部輸入,系統(tǒng)彈出內(nèi)容缺失的提示框。Admin選取再次進行“日志管理”或離開,接著UC完成。內(nèi)容錯誤志管理”或離開,接著UC完成。操作錯誤Admin填入內(nèi)容通過檢查,但操縱數(shù)據(jù)庫發(fā)生錯誤,系統(tǒng)彈出操作失敗錯誤框,UC完成。游戲管理在游戲推廣和運營中,游戲本身擁有各種屬性,這些屬性是游戲運行的基礎(chǔ)信息,27服電話,玩家qq,小圖標,游戲屏幕高度和寬度,游戲簡介。通過游戲編號把所有的運營數(shù)據(jù)串起來。運營人員可以隨時對這些基礎(chǔ)信息進行修改和更新。游戲管理用例描述如表3-12所示:表3-12游戲管理用例描述Table3-12Gamemanagementusecasedescription用例名稱:游戲管理簡介:此UC讓運營專員管理游戲,可以對游戲進行添加,修改,查詢等操作操x運營專員前置條件:運營專員登錄后置條件:如果UC成功,則可以進行相應(yīng)的游戲管理工作基本流程:運營專員先登錄對游戲進行添加,修改,查詢備選流程:內(nèi)容缺失取再次進行“游戲管理”或離開,接著UC完成。內(nèi)容錯誤行“游戲管理”或離開,接著UC完成。操作錯誤完成服務(wù)器管理服務(wù)器就是通常所說的游戲區(qū)服,在日常的游戲運營中,當游戲已經(jīng)開的服的資源28到達極限,或者出于運營策略的需要,這個時候就有可能新開服。服務(wù)器也有運行的基是否開放,游戲地址,充值地址,充值率。服務(wù)器管理用例描述如表3-一三所示:表3-一三服務(wù)器管理用例描述Table3-一三Servermanagementusecasedescription用例名稱:服務(wù)器管理簡介:此UC讓運營專員管理游戲服務(wù)器區(qū)服,可以對區(qū)服進行添加,修改,查詢操作操x運營專員前置條件:運營專員登錄后置條件:如果UC成功,則可以進行相應(yīng)的服務(wù)器管理工作基本流程:運營專員先登錄登錄后點擊左邊系統(tǒng)菜單的“服務(wù)器管理”鏈接對服務(wù)器進行添加,修改,查詢備選流程:內(nèi)容缺失取再次進行“服務(wù)器管理”或離開,接著UC完成。內(nèi)容錯誤行“服務(wù)器管理”或離開,接著UC完成。操作錯誤聯(lián)盟站長管理聯(lián)盟站長是一些大的廣告聯(lián)盟,它下面有數(shù)以萬計的網(wǎng)站為他提供廣告位,當游戲29告鏈接頁面上的注冊框可以控制在用戶打開時是否立即顯示,還是用戶點擊后再顯示。聯(lián)盟站長管理用例描述如表3-14所示:表3-14聯(lián)盟站長管理用例描述Table3-14Webmastermanagementusecasedescription用例名稱:聯(lián)盟站長管理簡介:此UC讓運營專員管理聯(lián)盟站長,可以對聯(lián)盟站長進行添加,修改,查詢等操作操x運營專員前置條件:運營專員登錄后置條件:如果UC成功,則可以進行相應(yīng)的聯(lián)盟站長管理工作基本流程:運營專員先登錄登錄后點擊左邊系統(tǒng)菜單的“聯(lián)盟站長管理”鏈接對聯(lián)盟站長進行添加,修改,查詢備選流程:內(nèi)容缺失取再次進行“聯(lián)盟站長管理”或離開,接著UC完成。內(nèi)容錯誤行“聯(lián)盟站長管理”或離開,接著UC完成。操作錯誤完成30素材管理flash動畫,圖片,css樣式表。素材管理又分為普通素材管理和富媒體素材管理,它們的區(qū)別是富媒體素材比較少,只有單一的素材如圖片或者flash動畫。普通素材管理包括素材名稱,頁面標題,注冊框標題,toolbar圖片,彈窗框背景圖片,flash動畫,IE6透明動畫或圖片,文件寬度,文件高度。素材管理用例描述如表3-一五所示:表3-一五素材管理用例描述Table3-一五Materialmanagementusecasedescription用例名稱:素材管理簡介:此UC讓運營專員管理游戲廣告素材,可以對廣告素材進行添加,修改,查詢等操作操x運營專員前置條件:運營專員登錄后置條件:如果用例成功,則可以進行相應(yīng)的素材管理工作基本流程:運營專員先登錄登錄后點擊左邊系統(tǒng)菜單的“素材管理”鏈接對服務(wù)器進行添加,上次,修改,查詢備選流程:內(nèi)容缺失取再次進行“素材管理”或離開,接著UC完成。內(nèi)容錯誤行“素材管理”或離開,接著UC完成。31續(xù)表3-一五用例名稱:素材管理操作錯誤0鏈接管理頁面上,玩家打開網(wǎng)站頁面就可以看到廣告,這些頁面物理的存在于服務(wù)器的磁盤上,運營人員為了區(qū)分廣告,以有意義的名字來命名這些鏈接,包括廣告鏈接名稱,描述,三方的統(tǒng)計代碼,這樣可以防止作弊,有參考的基準。鏈接管理用例描述如表3-16所示:表3-16鏈接管理用例描述Table3-16Linkmanagementusecasedescription用例名稱:鏈接管理簡介:此UC讓運營專員管理廣告鏈接,可以對廣告鏈接進行添加,修改,查詢等操作操x運營專員前置條件:運營專員登錄后置條件:如果UC成功,則可以進行相應(yīng)的鏈接管理工作基本流程:運營專員先登錄對鏈接進行添加,修改,查詢備選流程:內(nèi)容缺失取再次進行“鏈接管理”或離開,接著UC完成。32續(xù)表3-16用例名稱:鏈接管理操作錯誤3.4系統(tǒng)非功能性需求分析的非功能性需求,具體如下[25]:(1)可用系統(tǒng)提供服務(wù)的正常工作時間要占到系統(tǒng)總的工作時間的99%。(2)安全對所有的系統(tǒng)用戶必須根據(jù)角色來授予不同的權(quán)限訪問系統(tǒng)的模塊和操作不同的業(yè)務(wù),每個用戶的操作都要記錄在案。對系統(tǒng)導(dǎo)入的玩家標識在不同系統(tǒng)間進行傳遞時,都需要進行加密。(3)性能較大,對頁面的響應(yīng)速度和并發(fā)的要求比較高,要求能達到1s以內(nèi)的響應(yīng)。(4)易用去記憶就可正常使用。(5)維護系統(tǒng)的維護簡單方便,部署容易,使用簡單的腳本就能進行一鍵部署安裝。(6)擴展營平臺和本系統(tǒng)連通時,系統(tǒng)的所有功能能自動對接。333.5系統(tǒng)流程分析3.5.1數(shù)據(jù)查詢流程接著輸入驗證,后臺查詢數(shù)據(jù),最后顯示數(shù)據(jù)。數(shù)據(jù)查詢流程如圖3-2所示:圖3-2數(shù)據(jù)查詢流程Figure3-2Dataqueryprocess3.5.2數(shù)據(jù)分析流程34分析,分析結(jié)果進入數(shù)據(jù)庫存儲,供數(shù)據(jù)顯示。數(shù)據(jù)分析流程如圖3-3所示:圖3-3數(shù)據(jù)分析流程Figure3-3Dataanalysisprocess3.5.3廣告投放流程廣告投放是業(yè)務(wù)人員每天的工作內(nèi)容,以前的廣告投放比較混亂,無流程可言,經(jīng)過業(yè)務(wù)梳理,提煉出經(jīng)過優(yōu)化的流程,首先設(shè)計人員上傳設(shè)計好的素材,然后廣告專員確定游戲信息、服務(wù)器信息、鏈接信息和素材信息創(chuàng)建廣告頁面,接著生成廣告頁面,3-4所示:35圖3-4廣告投放流程Figure3-4Advertisingprocess3.5.4玩家行為跟蹤流程冊賬號,記錄注冊數(shù)據(jù),最后玩家進入游戲。玩家行為跟蹤流程如圖3-5所示:36圖3-5玩家行為跟蹤流程Figure3-5Playerbehaviortrackingprocess3.6本章小結(jié)非功能性需求,同時分析了系統(tǒng)的主要的流程。374系統(tǒng)設(shè)計與實現(xiàn)4.1系統(tǒng)設(shè)計目標游戲廣告的創(chuàng)意素材,廣告的產(chǎn)生,投放,效果分析等來決定游戲廣告的投放策略快速變換,來達到最大化導(dǎo)入游戲玩家的效果。該系統(tǒng)的投入使用大大提高了游戲運營的效率,提高了網(wǎng)頁游戲廣告的管理的水能大幅度提高運營人員的工作效率。本系統(tǒng)應(yīng)達到以下設(shè)計目標:(1)要能支持多格式素材的上傳保存預(yù)覽,比如常見的格式j(luò)pg,gif,swf。(2)能使用模板技術(shù)根據(jù)不同的素材來動態(tài)控制生成廣告投放頁面,這項工作將大大降低運營人員的操作和溝通成本,也降低運維人員的維護復(fù)雜度。(3)模板中js和css的加載要盡可能合并,提高廣告頁面的加載顯示速度,盡量在1s內(nèi)顯示完整頁面,給玩家流暢的感覺。(4)要能承受大訪問量的數(shù)據(jù)記錄,不會因為大并發(fā)量的訪問而產(chǎn)生數(shù)據(jù)的大量丟失,這是數(shù)據(jù)分析結(jié)果有效,準確的基礎(chǔ)。(5)數(shù)據(jù)的分析要及時,能在1小時之內(nèi)分析出上1個小時內(nèi)的數(shù)據(jù)結(jié)果,供運營參考。(6)數(shù)據(jù)查詢的效率要高,支持多條件查詢,支持對數(shù)據(jù)查詢結(jié)果的鉆取。(7)對網(wǎng)頁游戲廣告系統(tǒng)的整個功能模塊和流程進行科學(xué)的劃分,使之能充分的適應(yīng)網(wǎng)頁游戲運營的工作流程,符合游戲運營人員的使用習慣,上手就能使用。(8)數(shù)據(jù)庫的設(shè)計盡量滿足范式的要求,減少冗余數(shù)據(jù),避免數(shù)據(jù)異常。(9)要有完整的權(quán)限系統(tǒng),不同的用戶操作的權(quán)限范圍不同。(10)以及統(tǒng)一的nagos,citi服務(wù)器監(jiān)控系統(tǒng)。38(11)采用不同的方式從關(guān)聯(lián)系統(tǒng)獲取數(shù)據(jù)。4.2系統(tǒng)設(shè)計的原則網(wǎng)頁游戲廣告系統(tǒng)的設(shè)計遵循以下原則:(1)成熟性系統(tǒng)的設(shè)計要根據(jù)功能性需求和非功能性需求,注意選用業(yè)界成熟的技術(shù),框架,組件。不能為了追求技術(shù)上的趕時髦,趕先進,而設(shè)計出用戶不需要的系統(tǒng)。(2)穩(wěn)定性(3)安全性份策略,軟件的操作要有日志記錄,以備審核。(4)可擴展性的修改,就能實現(xiàn)。(5)可操作性系統(tǒng)的用戶操作界面要友好,符合大多數(shù)windows用戶的使用習慣。(6)可維護一樣的熟練部署,監(jiān)控。4.3系統(tǒng)邏輯架構(gòu)本文所研究的網(wǎng)頁游戲廣告系統(tǒng)的邏輯架構(gòu)如圖4-1所示:39圖4-1系統(tǒng)邏輯架構(gòu)Figure4-1Systemlogicalarchitecture系統(tǒng)主要由以下部分組成:(1)日志記錄日志系統(tǒng)的主要功能是對玩家訪問廣告頁面時所產(chǎn)生的用戶行為數(shù)據(jù)進行采集記錄,并形成文本文件,并且以一定的形式定時傳入分析系統(tǒng)。(2)日志分析數(shù)據(jù)。(3)廣告投放在廣告頁控制中選擇生成的頁面最終傳輸保存到廣告投放系統(tǒng),玩家通過鏈接訪問系統(tǒng)內(nèi)的廣告頁面。(4)廣告控制制廣告頁的生成和資源的更換。(5)數(shù)據(jù)交換的接口進行交換。(6)數(shù)據(jù)展示此入口查看各種分析數(shù)據(jù)并導(dǎo)出到Excel。40(7)后臺管理后臺管理系統(tǒng)包括所有的系統(tǒng)基礎(chǔ)管理功能。系統(tǒng)。4.4廣告頁控制設(shè)計與實現(xiàn)廣告頁控制通過對廣告投放效果的計算分析,組合廣告資源,輸出廣告頁面。要求:支持實時頁面資源更換,不影響用戶體驗,不需要更換廣告鏈接。因為廣告頁的投放需求多樣,資源眾多,常規(guī)的預(yù)先上傳靜態(tài)頁面已經(jīng)不能滿足廣告投放的需求。本系統(tǒng)采用Velocity模板技術(shù),通過預(yù)先定義的模板,實時生成指定控制的流程如下圖4-2所示;圖4-2廣告控制流程Figure4-2Advertisingcontrolflow首先用戶選擇資源,如圖片,flash等,然后調(diào)用預(yù)定義velocity模板,最后自動生41成期望的頁面。4.4.1廣告頁控制架構(gòu)設(shè)計
圖4-3廣告控制架構(gòu)Figure4-3Advertisingcontrolarchitecture如圖4-3所示為廣告頁控制的架構(gòu)圖。廣告頁控制通過可視化的用戶操作界面來管理廣告頁模板數(shù)據(jù)和并結(jié)合模板管理資源。數(shù)據(jù)訪問層負責訪問數(shù)據(jù)庫,查詢和保存數(shù)據(jù)。模板預(yù)定義廣告頁面的布局和動態(tài)數(shù)據(jù)的占位。靜態(tài)頁面中引用資源庫中指定的資源用于效果展示。資源庫存儲用戶上傳的各種廣告資源。用戶操作界面結(jié)合具體的業(yè)務(wù)需求提供豐富的操作選項,靈活快速的生成指定廣告頁。4.4.2模板設(shè)計與實現(xiàn)42Velocity模板包括頂部通欄區(qū),廣告追蹤腳本區(qū),flash或圖片區(qū),注冊框區(qū),如圖4-4所示:圖4-4模板結(jié)構(gòu)頂部通欄區(qū)
Figure4-4Templatestructure頂部通欄放置多個到其他游戲和平臺收首頁的鏈接。廣告追蹤腳本區(qū)廣告追蹤腳本區(qū)放置各種用戶行為追蹤的js腳本。Flash或圖片區(qū)Flash或圖片區(qū)放置廣告投放時玩家實際看到的廣告頁面效果。注冊區(qū)入游戲。4.4.3靜態(tài)頁面生成設(shè)計與實現(xiàn)靜態(tài)頁面生成流程設(shè)計如下圖4-5所示:43圖4-5靜態(tài)頁面生成流程Figure4-5Staticpagegenerationprocess首先初始化Velocity模板引擎,然后加載預(yù)定義模板,接著將模板需要替換的變量填充到velocitycontext,最后生成靜態(tài)頁面到指定目錄。4.5廣告投放加速的設(shè)計與實現(xiàn)高,因此在大訪問量的情況下要保證廣告頁的打開展示速度,提升玩家體驗。要求:不同地區(qū)的玩家廣告頁展示時間小于1s。集群將請求分配大具體web服務(wù)器響應(yīng)請求。444.5.1廣告投放加速架構(gòu)設(shè)計圖4-6加速架構(gòu)Figure4-6Speedarchitecture如圖4-6所示,廣告投放加速系統(tǒng)物理架構(gòu)拓撲圖。主要分為以下幾個物理部分:1)硬件負載均衡2)緩存3)軟件負載均衡4.5.2緩存設(shè)計與實現(xiàn)頁面內(nèi)容,則通過cachepeer模式到兄弟緩存服務(wù)器中查找,找到后返回給玩家,并保留副本,如果仍然找不到則交給后端nginx負載均衡服務(wù)器選擇一臺web文件給玩家,并保留副本。Squid配置實現(xiàn)#########設(shè)定squidA的主機名,如無此項squid將無法啟動visible_hostnamesquida.xxxx45#############配置squid為加速模式#################http_port80accelvhostvporticp_port3一三0#####配置為其squidA在其緩存中沒有找到資源的副本時,通過ICP查詢?nèi)テ鋝ibling中取得資源副本####cache_peersquidB.xxxxsibling803一三0cache_peersquidC.xxxxsibling803一三0#####squidA的三個父節(jié)點,originserver指明是nginx負載均衡服務(wù)器,#####round-robin通過輪詢將請求轉(zhuǎn)發(fā)到其中一個父節(jié)點;#####squid同時會對這個父節(jié)點的進行健康狀態(tài)檢測,如果父節(jié)點不能提供服務(wù),#####那么squid會從其他的origin服務(wù)器中請求數(shù)據(jù)cache_peerparent80800no-queryoriginserverround-robinname=nginxAcache_peerparent80800no-queryoriginserverround-robinname=nginxBcache_peerparent80800no-queryoriginserverround-robinname=nginxC####對xxxx的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件質(zhì)量管理的核心原則和方法
- 2026年公共管理創(chuàng)新與服務(wù)模式優(yōu)化試題集
- 2026年心理健康輔導(dǎo)與心理咨詢技術(shù)試題
- 2026年項目管理專業(yè)試題及答案解析
- 2026年旅游規(guī)劃與開發(fā)能力測試題
- 2026年數(shù)字音樂制作專業(yè)試題庫音樂編曲與制作技術(shù)實踐題
- 2026年網(wǎng)絡(luò)營銷售前專業(yè)水平測試客戶信息分析處理題
- 2026年可持續(xù)發(fā)展與ESG投資分析師實戰(zhàn)測試題庫
- 2026年電氣工程師考試題電力設(shè)備維護與故障排查
- 2026年化學(xué)安全知識與實驗室操作技能試題
- 2025年司法鑒定人資格考試歷年真題試題及答案
- 江蘇省連云港市2024-2025學(xué)年第一學(xué)期期末調(diào)研考試高二歷史試題
- 生成式人工智能與初中歷史校本教研模式的融合與創(chuàng)新教學(xué)研究課題報告
- 2025年湖北煙草專賣局筆試試題及答案
- 2026年開工第一課復(fù)工復(fù)產(chǎn)安全專題培訓(xùn)
- 特殊人群(老人、兒童)安全護理要點
- 2026年檢察院書記員面試題及答案
- 《煤礦安全規(guī)程(2025)》防治水部分解讀課件
- 2025至2030中國新癸酸縮水甘油酯行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025年保安員職業(yè)技能考試筆試試題(100題)含答案
- 尾礦庫閉庫綜合治理工程項目可行性研究報告
評論
0/150
提交評論