论文部分内容阅读
随着互联网的快速发展,在线社交网络逐渐影响人们的生活,成为现代人必不可少的交往方式。通过在线社交网络,人们可以随时随地通过文字、图片、视频等方式跟世界各地的好友分享自己的所见所闻,同时,用户也会经常浏览好友分享的状态,获取好友的数据。与传统的Web应用不同,在线社交网络中的数据几乎全部由社交用户产生,随着海量用户的加入,在线社交网络中的数据量呈现出爆炸式增长。由于存储空间有限,单个数据中心无法存储所有数据,需要将数据划分到不同数据中心的节点上,如何为数据分配调度合适的存储资源以降低用户获取数据的响应延时并保证在线社交网络的运行效率至关重要。本文基于社交网络中的社区结构对存储资源进行分配,使用机器学习中的聚类算法进行社区划分,并结合用户地理位置和数据中心负载等因素对存储资源进行调配管理。论文的主要研究工作包括:(1)由于传统社区划分算法的适用性和性能较低,本文将机器学习中的聚类模型K-medoids算法应用于社区划分。首先结合社交网络的拓扑特性和用户在时间和空间上的行为信息计算用户之间的相似度和亲密度并给出用户间多维社交距离的衡量机制,然后将该距离应用于机器学习中的聚类模型K-medoids算法中。(2)本文依据社区划分的结果将在线社交网络中的用户数据分配到不同数据中心,并为不在同一数据中心的用户和好友创建副本,提出了基于社区的存储资源分配策略(Community Based Data Placement Algorithm,CBDPA),在保证用户数据容错性的同时为用户数据创建尽可能少的副本并使得获取数据所需的响应延时较小。此外,为了应对社交网络的动态变化,本文在CBDPA算法的基础上,针对用户状态变化和好友关系变化,提出了存储资源动态调整策略(Dynamic Adjustment Data Placement Algorithm,DADPA),依据当前社交网络的变化动态调整用户数据的放置位置。(3)为了验证本文所提算法的性能表现,在真实的Foursquare数据集上进行了存储资源分配和动态调整实验验证和对比,结果表明:(a)在所需副本数差不多的情况下,本文提出的CBDPA算法的平均响应时间和数据中心负载与本文所对比的其他算法相比都降低了50%以上。(b)本文提出的DADPA算法可以减小因社交网络变化导致的响应延时增大。