论文部分内容阅读
随着计算机网络及其应用的快速发展,网络上出现了越来越多的网络平台、应用,用户在不同的平台、应用可能会使用大量的虚拟身份应用信息。不论是静态数据如注册账号,还是用户交互消息如信息等都属于虚拟身份应用信息,它们存储的数据总量均达到TB级别甚至PB级别。在Web2.0时代,互联网应用需要处理大量用户创作或者分享的数据,比如图片、视频、博客日志等,这些数据类型多种多样并且格式、大小也不尽相同。数据量大,类型多样,大小不一的特性对于海量数据存储、管理提出了严峻的考验。本文是基于863重大项目——***网络身份管理与应用技术中的子课题***虚拟身份管理。它的主要功能是通过多种手段获得不同平台下的虚拟身份数据,并对它们做以统一管理,为实际的网络平台、应用提供接口,方便查找、追溯等。本文是对虚拟身份数据的存储关键技术进行研究,主要解决和实现了存储时的数据模型,在分布式环境下数据划分、数据副本以及查询时提高效率的多维索引和缓存等问题,并在虚拟身份追溯系统中模拟运行进行检测,为实现项目的要求提供存储基础。本文是基于Cassandra数据库的,主要工作包括:(1)在存储方面,针对虚拟身份数据量大,涉及模糊查询等特点,提出了基于MySQL数据库和Cassandra数据库相结合的数据模型。在分布式环境下,考虑了数据划分和数据备份等问题,设计与实现了基于加权改进一致性hash算法的数据划分方法和基于数据规模与热点变化相结合的数据副本策略。(2)在查询方面,针对虚拟身份查询请求中的无指定列的查询,机器节点快速准确定位等问题,设计并实现了Cassandra索引与倒排索引、节点索引相结合的多维度索引。考虑到请求访问的局部性原理,设计实现了针对虚拟身份特点的语义缓存技术。(3)在系统实现方面,以虚拟追溯系统为依托,对存储方面的数据模型、数据划分思想以及数据副本策略,查询方面的多维度索引和语义缓存做了性能测试,证明了以上方法对提高系统效率具有很好的性能。