付 郝(深圳淘樂網絡科技有限公司,518000)
?
基于納米壓縮跨平臺高負載手游的技術開發
付 郝
(深圳淘樂網絡科技有限公司,518000)
摘要:現如今,智能手機的使用非常普遍,3G和4G網絡也大規模的發展和普及,手機游戲市場隨之在不斷擴大,手機游戲用戶也在日漸增多。因此,研究適于手機平臺的網游服務端關鍵技術具有很重要的現實意義和應用價值。
關鍵詞:手游;納米壓縮技術;服務器框架設計;數據存儲;服務器的分布式及災難恢復;資源更新模塊
手游行業從剛開始的純java的小游戲,發展到現在的跨平臺、多線程的重量級游戲;休閑類、回合類、競技類游戲齊頭并進,百花齊放。現在跨平臺技術主要分為:Cocos2d-X和Unity3D、輕量級2D游戲多用cocos2d實現,一些較重度的游戲多用unity3D實現。我們的引擎基于cocos2D-x,進行了大幅改良,在內存消耗、性能等方面有較大提升,在框架上也有較大改進,支持了更多特性。
目前深圳甚至國內的手游產業整體還無法與國外同行相比,其主要體現就是原創少,目前市場競爭情況讓很多手游公司無法靜心來進行原創研發,而拷貝市場成熟的游戲一來是有穩定的消費基礎,能快速帶來現金流;其次是關鍵技術沒法突破,如:壓縮下載等。
2.1納米壓縮技術
淘樂納米壓縮技術,使用了多重壓縮技術,通過對可視域色彩的場轉換進行第一重最重要的壓縮,壓縮掉視覺不敏感的元素,其次再進行RLE行程碼,哈弗曼編碼、滑動窗口字典壓縮等多種算法的多重壓縮,達到極度壓縮的效果。
它采用了一種先進的串表壓縮,將每個第一次出現的串放在一個串表中,用一個數字來表示串,壓縮文件只存貯數字,則不存貯 串,從而使圖象文件的壓縮效率得到較大的提高。奇妙的是,不管是在壓縮還是在解壓縮的過程中都能正確的建立這個串表,壓縮或解壓縮完成后,這個串表又被丟棄。
淘樂納米壓縮技術適用于圖片資源、數據資源。
2.2服務器框架設計(見下圖1)
負載均衡服務器:將用戶訪問負載進行平衡、分攤到多個web服務器上進行執行
Web服務器:響應,處理用戶的訪問請求,執行程序
Mysql 服務器:提供可靠,安全的數據存儲服務
Redis服務器:提供高并發,高訪問量的數據存儲服務,非常容易和方便
2.3數據存儲
為了提高數據的高并發,高訪問,游戲數據都存放redis,redis有提供原子性的操作以及數據實時落地功能。
Redis可以非常方便的進行主從同步,而且下個版本Redis集群功能,提供數據的一致性可能犧牲部分允許單點故障的功能,所以當網絡故障和節點發生故障時這個系統會盡力去保證數據的一致性和有效性。
玩家數據將根據玩家ID進行缺塊分庫存放,這樣以后可以靈活根據玩家活躍量來擴容或者縮容來節省服務器成本。比如:游戲推廣時候,預計日活躍量有100W,則預計需要3臺redis來進行數據負載。新玩家進入時,根據玩家ID缺塊每5W個ID存放一個redis,輪流均衡存放到3臺redis。等到日活躍量降低時候,根據需要,把玩家數據冷處理關閉多余的redis服務器(見下圖2、圖3)。

圖1

圖2
對于玩家非常重要的充值購買物品等重要操作,用mysql事務日志來幫忙記錄,保證玩家數據的準確性和安全性。而玩家其他的一般性操作,則簡單進行文本日志記錄,節省程序運行開銷。
2.4服務器的分布式及災難恢復
Web服務器統一session服務器,則可以隨時隨地增加或者減少web服務器。
Mysql,redis服務器可以開啟主從復制,可以根據實際情況,在不停服,不影響玩家游戲的情況做到平滑增加或者減少服務器。
在“互聯網+”“萬眾創業,大眾創新”的時代背景下,互聯網相關行業的創新尤為重要。本文從移動互聯網手游出發,探究手游的發展背景、意義及技術創新,從納米壓縮技術、服務器框架設計、數據存儲等方面入手進行創新,以期為廣大用戶提供更好的服務,促進手游市場經濟效益和社會效益的雙增長。
參考文獻
尚存保,基于手機平臺的網游關鍵技術與實現[D],北京工業大學,2015.

圖3
Technology development of high load hand travel based on nano compression cross platform
Fu Hao
(Shenzhen Amoy Music Network Technology Co., Ltd.518000)
Abstract:Nowadays,the use of smart phones is very common,3G and 4G network is also a large-scale development and popularization, the mobile game market is constantly expanding,mobile game users are increasing.Therefore,it is of great practical significance and application value to study the key technology of the online game server which is suitable for the mobile phone platform.
Keywords:hand travel;nano compression technology;server framework design; data storage;distributed and disaster recovery; resource update module