论文部分内容阅读
随着全球互联网数据体量的快速增长,应用程序性能对数据访问的要求越来越高。数据访问系统是用户访问、操作和共享数据信息的中间件系统,其数据访问性能直接影响了应用程序的响应时间和用户体验。数据访问系统作为应用程序的重要组成部分,在国内外均有一些相关产品,主要分为两类,一类是非通用的数据访问系统,受特定类型数据的限制,其适用的应用场景通常有限;另一类是通用的数据访问系统,可以在各种应用场景中使用。但由于二者均没有考虑用户的数据访问特点,对所有应用场景采用统一的数据模式,无法得到最优的数据访问性能。 本文针对上述问题,设计并实现了一种基于访问特性的数据访问系统。它能够利用用户的数据操作日志,挖掘出用户数据访问模式,分析应用程序的数据访问特性,预测用户下一步的数据访问行为,能够预取用户将要访问的数据,减少系统响应时间。基于访问特性的数据访问系统有助于提高数据访问系统性能,提升应用程序用户体验。 本文的主要贡献有以下四点: 1)提出一种面向单个序列的数据访问模式提取算法 针对当前模式挖掘算法不能提取单个访问行为序列中数据访问模式的问题,提出了一种面向单个序列的数据访问模式提取算法。首先为了优化字符串比对效率,将用户的访问操作序列映射为四进制流。其次将用户访问操作序列切割为指定长度的序列片段,根据最小支持度和序列片段的出现次数判断序列片段是否需要保存。最后,对于保存起来的序列片段,两两做连接操作找出更长的数据模式,直到数据模式的支持度小于指定最小支持度。实验结果表明,本文提出的数据模式挖掘算法不仅能挖掘单个访问行为序列的数据访问模式,而且与同类算法相比时间性能更加优越。 2)提出一种面向数据访问特性模型的建模方法 为了将用户访问日志映射到用户特性模型,本文提出了一种用户访问特性模型的建模方法。该方法从OLTP与OLAP两大类业务特点出发,考虑应用类型、响应时长、访问数据规模、事务类型,查询复杂度,频繁模式,数据集合等七个维度,建立业务特征标签。并在此基础上分析用户访问序列的属性信息,选取数据特征,构建模型将数据特征映射到业务特征标签上。实验结果表明,本文的建模方法有较好的用户分类准确率,达到了根据用户访问特性给用户贴业务特性标签的目的。 3)提出一种基于数据访问特性的快速数据预取方法 针对OLAP与OLTP混合应用场景下数据访问速度不理想的问题,提出了一种快速数据访问方法。首先,基于前文提出的建模方法,每个用户在每个阶段都拥有了自己的特性标签。再加上用户的频繁访问模式及常用操作集合,利用本文的操作预测算法,预测出用户下一操作,提前缓存操作数据,待用户下一操作到来时不必进行查询过程,直接获取数据。实验结果表明,与缓存常用算法LRU、LRU2、LFU算法对比,本文的快速访问方法能有效提高命中率的平均值。 4)设计并实现基于访问特性的数据访问系统 为了验证上述算法的有效性,本文实现了一个基于访问特性的数据访问系统原型。该数据访问系统分为数据访问接口、数据访问日志分析、访问特性分析、快速访问这四个模块。其中用户访问日志分析模块利用数据访问模式提取算法实现数据访问模式挖掘功能,用户访问特性建模块利用用户访问特性模型的建模方法实现其功能,用户访问行为预测模块则利用上述快速数据预取方法实现用户访问预测功能。实验测试表明,和基于LRU的数据访问系统对比,基于访问特性的数据访问系统能够将平均数据访问时间较少21.8%。总的来说,该系统不仅能有效提升平均数据访问速度,而且在OLAP和混合场景下均能明显减小数据访问速度曲线抖动幅度。