论文部分内容阅读
随着互联网技术的大规模普及,社交网络服务SNS(Social Networking Service)很快成为热门的互联网应用。据统计,2011年SNS的使用率占所有互联网应用的47.6%。SNS的迅速发展,逐渐使人们考虑将其真正的价值应用到企业中来。但是对于中小型企业来说,引进SNS系统面临着许多必须解决的问题,例如一次性投入成本太高,维护代价过大;终端用户数量增长太快,访问请求量在很短时间内急剧增加;请求访问系统时间不固定且比较集中等。考虑到这些问题,对于中小型企业来说引入SNS无疑是一个技术上的挑战。为了解决企业引入SNS的这些问题,从技术角度上考虑,本文选择了云计算,它主要是为企业开发的所有应用而设计的云计算模型。它是以Hadoop框架为基础,在其上开发自己的应用软件系统,对于海量数据以及大批量任务的处理具有较高的效率,用户凭借着客户端就可以得到所需的服务。另外由于应用软件商店开发者社区系统中涉及到了大量的小文件处理,考虑到Hadoop对于小文件的处理效率特别低。因此本文中提出了相关算法来解决Hadoop上的单个小文件以及批量小文件处理,主要思想是通过合并小文件成大文件,并且为小文件创建索引,使得系统能够尽快查找到小文件,本文使用了Trie树进行文件索引搜索和操作。Hadoop进行小文件处理主要分为两个部分:一是完成海量小文件合并,二是利用MapReduce为小文件建立索引,并对全局索引进行分片处理,最后使得索引与存储该文件的DataNode的距离比较近。最后本文对SaaS的多租户问题进行了分析和研究,提出多租户接入应用软件商店开发者社区系统的SaaS模型,并解决了SaaS多租户的数据隔离和共享问题。本文使用开源Hadoop平台来实现企业级的开发应用,在课题中搭建企业自己的Hadoop云平台、并对其环境进行配置,最后在其上设计、部署并实现了基于云服务平台的SNS系统,该系统通过SaaS即软件及服务的方式为终端用户提供应用服务,解决了企业引入SNS所面临的几个问题。本文通过云计算平台的使用,使得SNS用户最终获得简单、快捷的高效服务。