结合memcached技术的社交游戏《人人城市》的设计与实现
作者单位:南京大学
学位级别:硕士
导师姓名:骆斌
授予年度:2012年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:社交游戏 分层设计 内存缓存 memcached 人人城市
摘 要:过去3年,互联网上的社交游戏借助SNS(Social Network Site)平台而快速发展起来,它是网页游戏与社交网站结合的产物,依托大型SNS网络社区,强调好友之间的互动,成为游戏市场中增长最为迅速的一个门类,市场活力很大。作为中国最大的SNS社区,人人网近年来社交游戏的发展很好。自2008年自主研发社交游戏以来,已经推出了包括人人世界,人人餐厅,人人农场等社交游戏,玩家的数量更是以惊人的速度在增长,以人人农场为例,目前游戏的安装量在2000万人左右。 本文结合作者在人人网的实习经历,介绍了作者参与的一款社交游戏人人城市的设计和实现。人人城市是人人网近期推出的一款社交游戏,目前游戏已经上线,日活跃用户在5万人以上。人人城市采用分层的设计思想,分为页面展示层,flash数据接口层,业务逻辑层,数据持久层等四层。在游戏系统设计与实现方面,本文首先讨论了人人城市的分层设计方案,接着给出了数据库的设计与实现,最后详细介绍了主要模块的设计和实现。 社交游戏具有支持多社交平台、大用户量、高并发访问等特点,且服务器端处理的逻辑量大,数据库读取操作频繁,在大量玩家同时在线的情况下,要保证游戏的速度,就需要服务端具备支撑高并发、高负载、快速响应的能力。因此本文使用了当前很流行的分布式内存缓存技术memcached,以减少对数据库的索引次数,提高服务器性能。在分布式内存缓存技术应用方面,本文首先介绍了memcached技术在人人城市项目的应用,接着逐一介绍了memcached服务端和客户端的实现,以及所采用的分布式算法。通过性能分析和测试,可以发现memcached技术具有很高的性能。