欢迎来到天天文库
浏览记录
ID:6213585
大小:28.50 KB
页数:6页
时间:2018-01-06
《移动数据库缓存模型探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、移动数据库缓存模型探究 摘要:针对移动数据库系统性能有待提高的问题,提出了一种移动数据库缓存模型。采用基于消息摘要的同步算法,通过比较移动客户端与服务器消息摘要表中的消息摘要值,完成缓存同步,维护移动客户端缓存与服务器数据的一致性;该模型还考虑了数据的时效性与事务的优先级,设计了一种基于价值函数的缓存替换算法。实验结果表明,随着缓存数据个数的增加,所提算法的缓存命中率高于最近最少使用(LRU)和LA2U算法,同时随着访问频率的增加,事务的重启率低于LRU和LA2U,有效提高了移动数据库缓存的性能。关键词:移动数据库;缓存同步;缓存替换;一致性;数据有效性0引言
2、6在移动环境中,由于移动设备的移动性以及无线网络的不稳定,会有断连的情况出现,同时,移动设备没有过多的计算能力,并且还依靠电池。由于无线网络较窄的带宽,持久并稳定的访问网络是很难的[1-2]。移动设备在断连时使用缓存数据来处理多种任务。对于移动数据库,支持网络断开操作这一条件是关键[3]。而移动设备的存储能力必定不能与服务器相提并论,因此使用缓存替换技术相当重要。在断连的环境下,移动客户端和服务器都可以对数据进行操作,故两者存在不可避免的冲突。同步技术可以解决数据不一致,并保证数据的完整性,是移动数据库系统中的重要课题[4]。移动数据库系统中要满足在断连的情况,
3、移动客户端也能够进行操作,移动数据库需要采用复制缓存技术,与之相关的研究已有一些成果。文献[5]提出的两级复制考虑了移动数据库计算环境中可信网络部分和无线不可靠网络部分的性能差异,能有效地解决移动计算环境中频繁断连的问题。其缺点是暂态事务要在基节点上重做,增加了系统的负荷。文献[6]提出了根据数据的读写频率进行复制的动态复制算法。如果在移动数据库系统中对数据的读取很频繁,就选择大量的复制数据副本,这样缓存的命中率大大提高,同时还能减少服务的负载;如果在移动端对数据的更新操作很频繁,此时应该适当降低数据的复制,减少冲突,避免降低数据的更新速度。文献[7]中的平均机
4、制,通过衡量每个对象的访问频率来决定替换的数据。访问频率也可以通过平均访问时间衡量,当一个对象拥有最高的平均访问时间,则它被替换。这个方法的缺点是它对于数据更新的反应比较迟缓。6Acharya等[8]依据三级复制[9]中所具有的广播环境特点提出了一种实用缓存替换算法——LIX算法。该算法是在LRU(LeastRecentlyUsed)的基础上,充分考虑了广播频率对缓存的影响,LIX算法也是采用栈结构,不同于LRU算法的是,每个广播磁盘都有相对应的一个栈,而LIX维护的不是一个栈,是一组栈。缓存对象存放在栈中,栈与广播磁盘是相对应的。如果该缓存对象被命中,则将它移
5、至栈顶。如果缓存没有命中,且缓存已经满了,LIX算法只比较每个栈中栈底对象的LIX值,其中LIX值最小的对象将被替换出缓存。每次缓存替换时,LIX算法的计算量只是一个常数值。当单个移动客户机的访问概率和服务器广播调度中采用的概率分布相差较大时,LIX算法的性能就越明显。文献[10]中的LA2U(LeastAccesstoUpdateRatio)缓存替换算法是将客户端对数据的访问次数与服务器对同一数据的更新次数的比值作为衡量标准,选取比值大的数据放入缓存替换比值较小的数据。而LAUD(LeastAccesstoUpdate6Difference)替换策略是将查询频
6、率与修改频率的差值作为衡量标准,选取差值大的数据放入缓存,将差值小的对象替换出去。这两个算法与传统分布式缓存替换的共同点是都考虑了访问频率,不同之处是LA2U和LAUD还将数据的更新频率列入考虑,因此这两种策略的核心思想是将修改频率高查询频率低的数据对象替换出去,选取修改频率低而查询频率又高的数据对象替换进来。LA2U是将客户端对数据的访问次数与服务器对同一数据的更新次数的比值作为衡量标准,选取比值大的数据放入缓存替换掉比值较小的数据。本文的主要内容是设计了一个缓存模型,模型包括缓存的粒度、缓存同步以及缓存替换三个部分。本文选择元组为缓存粒度,采用了基于消息摘要
7、的同步算法,设计了一种基于数据时效性与事务优先级的缓存替换算法,并通过实验验证了该模型中算法的有效性。1缓存模型如果一个移动设备的存储容量无限,那么就可以向移动客户端申请缓存所有的数据,显然在实际情况中,这是不现实的。缓存的粒度是缓存的基本问题,它可以优化缓存能力,因此,缓存粒度的选择对缓存模型有明显的影响。决定了缓存的粒度之后,下一步是要选择缓存同步算法,目的是要保持缓存的一致性。目前,已经有许多的缓存同步算法。移动客户端缓存命中率下降,客户端想添加一些新的数据缓存,此时就需要采用缓存替换算法来清除一些数据,为新的缓存数据腾出空间。据此,本文设计的缓存模型包括
8、缓存粒度、缓存的同步以及
此文档下载收益归作者所有