付 郝(深圳淘乐网络科技有限公司,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