2022年QQ寵物產(chǎn)品總體技術(shù)方案_第1頁
2022年QQ寵物產(chǎn)品總體技術(shù)方案_第2頁
2022年QQ寵物產(chǎn)品總體技術(shù)方案_第3頁
2022年QQ寵物產(chǎn)品總體技術(shù)方案_第4頁
2022年QQ寵物產(chǎn)品總體技術(shù)方案_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Q Q 寵 物 總 體 技 術(shù) 方 案擬制:日期:審核:日期:版 本 號 : XXX V1. 0騰訊科技(深圳)有限公司修訂日期修訂內(nèi)容協(xié)議版本修訂人目錄 目錄 . 12.1 背景 . 2概述 . 范疇 . 532.2 引用標準 . 52.3 術(shù)語和定義 . 52.4 符號和縮略語 . 5總體架構(gòu)設(shè)計 . 43.1 設(shè)計原就 . 63.1.1 產(chǎn)品關(guān)聯(lián)性設(shè)計. 63.2 3.1.2 產(chǎn)品依靠性設(shè)計. 6設(shè)計目標 . 63.2.1 路標規(guī)劃 . 63.3 系統(tǒng)需求 . 63.3.1 系統(tǒng)軟件需求 . 63.3.2 系統(tǒng)硬件需求 . 73.4 3.3.3 系統(tǒng)功能需求 . 73.3.4 系統(tǒng)性能需

2、求 . 8系統(tǒng)總體架構(gòu) . 93.4.1 系統(tǒng)物理架構(gòu) . 93.4.2 系統(tǒng)規(guī)律架構(gòu) . 10 關(guān)鍵技術(shù)分析 . 4.1 業(yè)務(wù)模型分析 . 14.2 4.1.1 目標用戶 . 14.1.2 用戶入口 . 14.1.3 消費系統(tǒng)策略 . 14.1.4 產(chǎn)品依靠關(guān)系 . 14.1.5 典型業(yè)務(wù)過程 . 1用戶模型分析 . 24.2.1 用戶基礎(chǔ)信息 . 24.2.2 用戶操作信息 . 354.3 4.2.3 用戶流量信息 . 4系統(tǒng)模型分析 . 44.4 性能容量分析 . 64.5 4.4.1 總計 . 6負載均衡分析 . 64.6 4.5.1 負載均衡策略 . 64.5.2 異地分布策略 .

3、7容災(zāi)備份分析 . 7部署方案 . 66.1 風險分析及規(guī)避措施 . 硬件故障 . 976.2 6.1.1 機器、磁盤故障. 96.1.2 IDC 線路故障和黑客攻擊. 9軟件故障 . 9備選方案 . 1 背景 QQ寵物是公司當前給以重大盈利期望的拳頭產(chǎn)品之一;目標是建立成全球第一的在線 虛擬寵物養(yǎng)成類休閑嬉戲,成為公司主要的盈利點之一;2 概述2.1 范疇該文檔主要描述 QQ 寵物系統(tǒng)的技術(shù)架構(gòu),作為架構(gòu)評審的基礎(chǔ);2.2 引用標準2.3 術(shù)語和定義名詞 說明2.4 符號和縮略語縮寫英文描述中文描述3 總體架構(gòu)設(shè)計 3.1 設(shè)計原就 3.1.1 產(chǎn)品關(guān)聯(lián)性設(shè)計與 OI_DB 擴展標志位的同步

4、用戶注冊寵物,寵物系統(tǒng)將主動通知 oi_db 設(shè)置標志位;3.1.2 產(chǎn)品依靠性設(shè)計使用 server-bench作為 server framework,分別業(yè)務(wù)規(guī)律和通信,進程調(diào)度等基礎(chǔ)設(shè)施使用 cplib, qslog, tlib 庫3.2 設(shè)計目標 3.2.1 路標規(guī)劃階段開頭時間完成時間階段目標和工作進度指標2.0 2022.3-2022.6 2022.6 完成基本功能2.1 2022.6-2022.7 2022.7 增加了寵物結(jié)婚功能3.3 系統(tǒng)需求 3.3.1 系統(tǒng)軟件需求 slackware linux kernel 2.4.x mysql 4.0 3.3.2 系統(tǒng)硬件需求Web

5、 服務(wù)器 /PetOnline 服務(wù)器 /PetInfo 服務(wù)器 /領(lǐng)養(yǎng)關(guān)系服務(wù)器 /寵物炫圖片 / 客戶端安裝包 /資源下載服務(wù)器:L ENOVO R510-5112 標配: CPU P4 2.4G 2 內(nèi)存: 4G DDRRAM 硬盤: 36G 1 NORAID DB 服務(wù)器:DL380G3 標配: CPU P4 2.8G 2 內(nèi)存: 1G HPDDRRAM 2 硬盤: 140G RAID5 (140G)3.3.3 系統(tǒng)功能需求寵物領(lǐng)養(yǎng):用戶初始得到寵物;記錄QQ 號碼的領(lǐng)養(yǎng)關(guān)系,同步標志位到oidb 寵物在線 : server維護寵物在線狀態(tài),自動依據(jù)衛(wèi)生值,饑餓值打算寵物生病,依據(jù)寵物

6、心情值和在線時間增長寵物的成長值;基本養(yǎng)成: 供應(yīng)應(yīng)用戶通過PetClient和 PetServer的交互, 給虛擬寵物喂食、洗澡、吃藥,屬性查看的功能;寵物假如哺育不當會死亡,死亡后可以拋棄;寵物社區(qū): 寵物社區(qū)是一個 web 應(yīng)用, 用戶通過嵌入寵物客戶端的 ie 控件來拜訪,在社區(qū)上購買藥品,食品和日常用品,以及打扮用的房屋等道具和學(xué)習寵物炫;社區(qū)仍是結(jié)婚, 打工等功能的入口; 在社區(qū)上仍供應(yīng)用戶查詢、修改寵物信息的功能,查看寵物元寶帳戶的功能和查看元寶消費記錄的功能;寵物打工: 打工是一個相對獨立的子系統(tǒng),目前只在社區(qū)上有入口;寵物打工是寵物的一種狀態(tài), 這種狀態(tài)連續(xù)指定的時間,并且給

7、用戶供應(yīng)指定數(shù)量的元寶以及增加指定屬性的值;用戶通過社區(qū)上的入口進行打工,打工入口為一個 CGI 程序,負責檢查是否符合打工的條件;打工時要求寵物的消耗比正常狀態(tài)多;寵物結(jié)婚:符合肯定條件的寵物雙方可以結(jié)為夫妻關(guān)系;結(jié)婚后的寵物可以生蛋,蛋必需贈送給自己的好友;相當于給好友開通寵物;寵物打扮:寵物使用買來的房屋作為桌面上寵物的背景 s 寵物炫:寵物炫是QQ 談天時有寵物的一方可以向好友發(fā)送由寵物表現(xiàn)的豐富表情,動作和語言;用戶可以定制語言;寵物在 QQ 上的資料查詢: 在 QQ 客戶端, 用戶可以通過查詢對方的資料看到對方的寵物信息,包括對方是否有寵物,寵物的級別,寵物的名字,性別,婚否等等;

8、寵物在 QQ 上的表現(xiàn):用戶在AllInOne談天窗口中和寵物資料界面上都可以看到對方和自己的寵物圖片;s 3.3.4 系統(tǒng)性能需求最小化容量:一臺 OnlineServer 服務(wù)器上同時支持 50000 個在線寵物一臺 DB 能夠支持 50 萬只寵物注冊數(shù)一臺 WebServer 能夠支持 25000 只在線寵物一臺 AdoptMapServer 能夠支持 1.5 億只注冊用戶數(shù)一臺 Middled 能夠支持 5 萬只在線寵物數(shù)一臺 PetInfoServer 能夠支持 100 萬只注冊寵物一臺寵物炫圖片 server 能夠支持 100 萬只注冊寵物一臺資源下載 server 能夠支持每天新

9、增 2 萬只寵物一臺客戶端下載 server 能夠支持每天新增 10 萬只寵物最大化容量支持 3000 萬只寵物注冊用戶數(shù)最高在線 400 萬只寵物響應(yīng)速度要求用戶登陸時間 5s 用戶操作的響應(yīng)時間應(yīng)當小于 1 秒寵物狀態(tài)不一樣時延不超過 5 秒寵物炫發(fā)送響應(yīng)時間不超過 5 秒3.4 系統(tǒng)總體架構(gòu) 3.4.1 系統(tǒng)物理架構(gòu)3.4.2 系統(tǒng)規(guī)律架構(gòu)ConnServer 由crow 實現(xiàn)的接入 serverStatusDaemon setTimer 接口d a e RWrite調(diào)用 OIAgent 發(fā)送消息OutMsgQueueInMsgQueueWriteRead設(shè)置定時大事OnlineDaem

10、on調(diào)用OIAgent 發(fā)送狀態(tài)轉(zhuǎn)變消息寵物數(shù)據(jù)的操作都直接操作這個cache,讀取寵物對象屬性數(shù)據(jù)寫數(shù)據(jù)的操作由LazyWriteDaemon 完成,前面的 daemon可以不用關(guān)懷;ShareMemoryLazyWrite數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)PetObjectPoolDaemon牢靠的回寫數(shù)據(jù)屏蔽后臺 DB 的分布 ,掃描ShareMemory 中發(fā)生的轉(zhuǎn)變?nèi)缓蠖既胍粋€提交隊列;用一個線程組特地負責處理提交隊列寫 DB 同時仍負責將共享內(nèi)存mmap的文件刷新設(shè)置定時大事 WebOnlineDaemond a e R Write OutMsgQue InMsgQueu ue e Write Read

11、ConnServer 由 crow實現(xiàn)的接入 server長連接WebOnlineServertRemoteBr oker Instance In FastCGI 在 web server上的fastCGI 里調(diào)tcp短連接同步調(diào)用其他 CGI用的組件,和 WebOnlineServer 保持長連接4 關(guān)鍵技術(shù)分析 4.1 業(yè)務(wù)模型分析4.1.1 目標用戶 針對 QQ 用戶群中細分的青少年人群低年齡層用戶群4.1.2 用戶入口 桌面 QQ 面板上的寵物圖標4.1.3 消費系統(tǒng)策略 寵物元寶和元寶帳戶寵物元寶由用戶打工或者進行某些任務(wù)后得到,使用元寶購買寵物系統(tǒng)中的物品 寵物元寶和 QB 的關(guān)系

12、相當于免費贈給用戶的貨幣; 用戶可以當用戶的元寶數(shù)量不足時,可以直接使用個人帳戶中的 Q 幣來支付購買所需的金額;這種情形下, 1QB 相當于 100 元寶;由于寵物系統(tǒng)中的物品定價使用元寶,大多數(shù)都不超過100 元寶,因此,相當于特別小額的 QB 交易;這就表達出了寵物系統(tǒng)的消費特點:小金額,大交易量;4.1.4 產(chǎn)品依靠關(guān)系QQ 上的入口和表現(xiàn)形式其他業(yè)務(wù)使用的開通寵物的接口4.1.5 典型業(yè)務(wù)過程典型操作1. 通過 QQ 面板打開寵物客戶端2. 寵物客戶端檢查是否需要升級,取得領(lǐng)養(yǎng)關(guān)系,取得是否需要升級資源包,完成必要的下載升級,登錄3. 登陸后顯示寵物目前的狀態(tài),假如饑餓提示用戶要喂食

13、,疾病和清潔狀況都有類似的提示;4. 用戶使用快速喂食界面或者進入社區(qū),在貯存室里選出食物等物品給寵物使用(或食用)5. 用戶進入社區(qū)給寵物看病6. 用戶進入社區(qū)購買寵物使用的物品7. 用戶在社區(qū)中更換寵物的房屋8. 用戶在社區(qū)中學(xué)習寵物炫9. 用戶在社區(qū)中打工掙取寵物元寶10. 用戶在社區(qū)中查看排名11. 用戶在社區(qū)中查看其他寵物的資料12. 用戶在社區(qū)中治理自己的物品13. 用戶在社區(qū)中治理自己的元寶帳戶14. 用戶在社區(qū)中求婚,查看求婚和被求婚記錄,結(jié)婚;15. 用戶查看自己的寵物蛋信息,贈送寵物蛋給好友;4.2 用戶模型分析4.2.1 用戶基礎(chǔ)信息依據(jù)每臺機器承擔 5 萬只寵物同時在線

14、 ,承擔 20 萬只寵物的資料查詢懇求來運算; 大約 600次交互 / 秒喂養(yǎng): Hello 包 200 次/秒每用戶 5 分鐘一次 喂食,洗澡和吃藥: 30 次/秒每用戶每小時 /2 次 通過 Web的交互: 20 次/秒客戶端刷新: 50 次/秒每用戶每小時 3-4 次 登錄: 10 次/秒push 消息: 50 次/秒餓,臟,病,成長等等都會下發(fā) push消息 Info 查看: 120 次/秒 每臺機器 5 萬在線 x8 = 40 萬 x 100 好友 /每人 x 1/10 一小時內(nèi)會查看一次CGI 懇求 :150 次/萬人/秒,使用 6 臺機器,一臺 WebServer可以支撐 2.5

15、 萬在線 ,大約每秒 250 次 cgi 懇求;. DB 數(shù)據(jù)量每個用戶的數(shù)據(jù)包括 : 1.寵物的基本信息表 每個寵物一條記錄 2.寵物的成長信息表 每個寵物一條記錄 3.喂養(yǎng)物品表 每種物品一條記錄 4.打扮物品表 每種物品一條記錄 5.打工信息表 每次打工一條記錄 字典表 : 喂養(yǎng)物品,打工場景,寵物炫,打扮物品,處方,規(guī)章等等. 10 萬新用戶在一小時以內(nèi)使用寵物客戶端大約每秒 60 次懇求;. 寵物客戶端 250K 大小,資源包 2M 左右;在掌握總量而不是放開領(lǐng)養(yǎng)懇求的情形下,每天增加 2 萬新用戶,最多每天增加 10 萬新用戶;4.2.2 用戶操作信息登錄和維護在線 /喂養(yǎng)流程:1

16、. 客戶端向領(lǐng)養(yǎng)關(guān)系 server 懇求 uin 對應(yīng)的 petid,每個懇求大小 100byte,返回包 150byte 2. 客戶端向 OnlineServer 發(fā)送登錄懇求包,每個包 100bytes 3. OnlineServer 向 DB 懇求 load 數(shù)據(jù),數(shù)據(jù)包 300bytes 4. OnlineServer 將登陸后的狀態(tài)信息返回客戶端,數(shù)據(jù)包大小也是 300byte 5. 客戶端向 OnlineServer 發(fā)送 hello 包,數(shù)據(jù)大小 80byte 6. OnlineServer 向客戶端回應(yīng) hello 包,數(shù)據(jù)大小 300byte 7. 狀態(tài)機 server 向

17、QQ 發(fā)送寵物狀態(tài)轉(zhuǎn)變的 push 消息,數(shù)據(jù)大小 200byte 8. 客戶端向 OnlineServer 發(fā)送喂食、洗澡、吃藥懇求,數(shù)據(jù)大小 100byte 9. OnlineServer 返回消耗物品后的結(jié)果,數(shù)據(jù)包大小 300bytes 需要拜訪 Online 服務(wù)器:85 次/(用戶 *天),web 操作:web 操作是用戶拜訪寵物社區(qū)所進行的操作,包括查看和治理屬性,查看和治理物品道具技能,查看 元寶帳戶,購買物品,學(xué)習技能,打扮,打工,結(jié)婚等等;需要拜訪 WebServer:100 次/(用戶 *天)需要拜訪 WebOnline:10 次/(用戶 *天)由于 web 上的靜態(tài)對象

18、不通過寵物系統(tǒng),而是分布在特地的圖片server 上,因此 web 拜訪產(chǎn)生的流量可以忽視不計4.2.3 用戶流量信息主要產(chǎn)生流量的是資源下載和客戶端下載;峰值每小時新增1 萬用戶,資源包大小為3M,平均每個下載耗時3 分鐘,觀看到的流量峰值達到250Mbp 4.3 系統(tǒng)模型分析一個典型的登錄交互時序如下:PetClientPetAdoptMapServerPetServergw, online, state檢查本地領(lǐng)養(yǎng)標志位 檢查是否有領(lǐng)養(yǎng)關(guān)系返回領(lǐng)養(yǎng)關(guān)系挑選一個領(lǐng)養(yǎng)了的寵物 登錄寫入 session返回登錄勝利hellohello 是否超時狀態(tài)轉(zhuǎn)變流程StateServePetStateManagerTimerPetClientCallBackSetTimerroutinetimeoutTimeOut轉(zhuǎn)變動態(tài)屬性值轉(zhuǎn)變屬性值的消息4.4 性能容量分析儲備要求公式item 和合運算結(jié)果備注(每人的20K*1.2 *10M= 420G 成圖片的個數(shù))* 每個文件平均大小 *注冊用戶數(shù)在線 server 要求每 5w 人內(nèi)存使用200M 運算的峰值時的出帶寬帶寬要求(內(nèi)網(wǎng))4 CPU loading 1 server 間交互次數(shù)* 平18K * 1K * 2 * 8 = 帶寬要求(外網(wǎng))均數(shù)據(jù)包大小 *2 300mbps 運算每天放出10w 的峰下載帶寬

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論