基于用户访问特征的语义缓存替换算法研究.docxVIP

基于用户访问特征的语义缓存替换算法研究.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于用户访问特征的语义缓存替换算法研究 web应用服务器(us)是一个面向网络的分布应用程序的开发、运营和管理的软件基础设施服务,这对web应用程序的服务质量有重大影响。中间件层缓存可用于减少请求与数据库的交互开销、提高服务器的响应速度,其中,有效的缓存替换策略有助于减少用户请求对数据资源的不断重复访问,确保访问频率较高的数据保留下来,保证缓存系统的效果。已有研究工作反映Web环境下用户访问特征与缓存替换策略的效果具有相关性,如果缓存替换策略能够体现用户的访问模式,则有助于改善缓存的命中率。因此,近年语义缓存技术受到关注,它是一种基于用户历史查询结果集及其语义描述的缓存机制,相对传统的表缓存、页缓存和元组缓存技术,前者具有节约网络通信费用、减少缓存容量、支持网络断接等优点。本文以Web应用服务器作为Web应用中间件研究平台,分析和捕捉Web应用的用户访问特征,根据抽取的用户访问模式设计了一个语义缓存替换算法。原型实验表明,该缓存替换算法有效地提高了语义缓存的命中率,同时有助于改善Web应用服务器的响应时间和吞吐量。 1 存储的总体结构信息 中间件层缓存研究在商业界和学术界都较为广泛。IBM公司、Oracle公司等在各自的Web应用服务器中都提供数据缓存实现,如IBM的DBCache和Oracle的OracleAS缓存,它们主要采用表缓存方式缓存数据库关系表,其缺点是只能缓存指定的数据表,缺少灵活性和动态性。开源应用服务器JBoss的缓存实现JBossCache是一个支持复制的事务性缓存,采用悲观锁方式,它可缓存的对象较简单,对业务缓存的支持较少。以上服务器中的缓存替换策略基本采用传统的LRU等替换策略。缓存替换算法对于提高缓存的命中率至关重要。已有很多缓存替换算法被提出,如LRU、LFU、SIZE、GDSIZE等算法,中间层缓存系统中目前多借助于这些传统的替换算法,但是并未考虑中间层特有的业务组件特点,其直接引用这些算法的缓存命中率不高。GDSIZE替换策略是考虑对象进入缓存所需的成本、对象大小及时间因子三种因素,根据它们计算和选择待替换对象,其不足是并未考虑用户访问的业务组件和网络的延迟时间;文献提出的LFRU策略以对象到期时间、大小、访问次数以及最近一次访问时间等参数决定被替换的对象;文献的RC策略根据访问特性计算出用户请求内容对应的引用率,通过引用率来决定是否进行缓存替换。上述工作主要考虑了缓存对象的本身属性,但对对象语义局部性考虑不多,而在Web应用情境下,语义局部性对位置相关的查询访问是重要的。在语义缓存机制的探讨方面,文献提出一种FAR语义替换策略及其相关的语义模型,其不足在于没有考虑到移动对象可能发生的查询;文献提出基于增量聚类的语义缓存替换策略DC-FAR,基于移动对象的历史查询记录,进行增量聚类的分析,构造查询路径图来完成缓存替换,但是未考虑移动对象会替换掉移动方向上的将要访问的数据。总体来看,相关工作表明:① 现有工作从时间和空间维度上考虑对象替换策略的研究较为广泛,如何有效利用Web应用相关语义信息有待于进一步研究;② 语义缓存的研究多集中在客户端,尚需要进一步研究如何在服务器端捕捉Web应用的行为特征,使用语义缓存并充分发挥其效用。本文在具有代表性的开源中间件缓存JBossCache上进行扩展工作,研究了一种用户特征驱动的语义缓存替换策略。 2 语义存储分布式缓冲系统的特点 笔者在JBossCache基础上的语义缓存扩展结构设计如图1所示。图中,查询分析器(Query analysis)主要用于对用户的请求进行语义分析;查询分解器(Query decomposer)用于分解裁剪用户请求;控制器(Controller)主要用于发送命令执行查询返回等操作;缓存(Cache)主要存储数据库相关表及其语义描述;对象代理(Object proxy)作为缓存与业务组件容器的交互界面,负责接收和返回用户信息。其运行机理主要为:① 当用户提交查询请求,服务器通过转入控制模块将请求发送给对象代理,对象代理开始处理用户请求;② 对象代理将请求发送给查询分析器,由其分析用户所请求的对象、数据库元组关系,通过执行控制器对语义缓存进行查询;③ 如果执行结果包含有查询的结果,则在语义缓冲区中进行语义匹配;如果有部分查询在语义缓存中没有相关结果,语义分析器将对请求发送到查询分解器,查询分解器分解出请求中在语义缓存中没有查询结果的相关对象、元组关系,分解完以后,通过执行控制器访问后端数据库,获取到相关的对象、元组关系;④ 执行控制器发送命令,将语义缓存中查询的结果和通过数据库查询的结果整合一并返回对象代理。以上过程减少了Web应用服务器与数据库层的频繁交互。 语义缓存的主要特点是可描述与存储查询获取的缓存关系片。缓存关系片RS= {

文档评论(0)

182****7741 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档