在固定服务器中设置一个数据更新频率计数器UpData_C,每当有数据项更新时Updata_C就加1[4]。 设置一个更新事务队列Query,L为最长的广播间隔时间, Ti-1为上一次广播时间,ti为当前时间,如果符合下列条件之一,服务
在固定服务器中设置一个数据更新频率计数器UpData_C,每当有数据项更新时Updata_C就加1[4]。
设置一个更新事务队列Query,L为最长的广播间隔时间, Ti-1为上一次广播时间,ti为当前时间,如果符合下列条件之一,服务器就立即广播更新报告。
如果Query≠Φ, 立即广播更新报告UR(Ti),
否则:
① 当 ti-Ti-1 L时立即广播更新报告UR(Ti),U_Couter清零,重新计数。
② 当ti-Ti-1 L时,若U_Couter C,就立即广播更新报告UR(Ti),U_Couter清零,重新计数。
上述表明:当没有客户端更新事务请求时,更新频率高时,则广播周期短;更新频率低时,则广播周期长;在L周期内至少广播一次更新报告UR。当客户端的更新事务不为空时,立即广播。动态的结合了变周期广播和立即广播的优点,应此称为实时变周期广播。
4 移动客户端
当MC断连的时间太长,如果超过ω个广播周期,因为不能确定缓存的内容现在是否有效,不得不抛弃所有的缓存内容,MC重新缓存就需要浪费大量的网络带宽和电能。一个简单的方法就是MC把所有被缓存的数据项的ID号和最新更新的时间戳都发送到服务器,由服务器来鉴定它们是否有效,但如果被缓存的数据量太大,上传所需要的开销就会很大。为了减少检查有效性的上行通信开销,文献[5]提出分组校验模式。MC以组为单位检查缓存的有效性,校验时把组的ID号和最后更新时间上传到服务器,由服务器来校验,并返回校验结果,该方法同前面的方法相比,减少了上传的开销,但它的缺点是以组为粒度,如果组中有一个数据项失效,则整个组的Cache就会被看作失效。实际上缓存中的私有数据和共享数据在服务器上的更新频率非常低,即使MC与服务器长时间断开后再重新连接后缓存区中的数据绝大部分是有效的。公有数据在服务器上的更新频率非常高,对该类数据是否抛弃取决于MC断接时间的长短。如果时间长则可能重新缓存,如果时间短只是几个周期,基于数据项的更新频率和数据在缓冲区中的有效时间采用缓存替换。为了节约MC电能,减少网络资源的占用,本文将MC的缓冲区进行分块处理,并提出相应的缓存替换算法。
4.1 数据分块
假设MC的缓冲区大小为m,把数据对象分成固定大小的块,假设分块单位为unit,则缓存区的数据对象被分为b=「m/unit」块;被划分后的数据块的顺序编号为1,2,⋯ ,b.相邻的两个区的数据块可能存放不同性质的数据项,有多个数据块组成一个数据区,分别为私有数据区、共享数据区、公有数据区,结构图如下:
在该方法中,数据对象在初始状态一致的情况下根据固定大小被分块,之后各个数据块相对独立,更新操作被分配到各个数据块上执行。
4.2 块的大小
数据分块的大小会影响缓存区的存储效率,如果块太大,在查找数据项替换是会浪费时间,降低更新效率;如果块分的小,在一定程度上提高了数据的更新效率,但长时间执行更新后会产生大量的碎片,降低的缓冲区的存储率。为此本文给出了我一下数据分块策略:
4.3 缓存替换算法
移动客户机重连后,监听服务器上的广播,如果是自己所需要的数据进行替换,根据数据项D的相关信息子集,当D是私有数据,更新数据进入私有缓存区,如果缓存区有空间,则直接进入,否则替换数据项有效时间最短的数据项;当D是共享数据时,更新数据进入共享数据区,如果有空间则替换,否则替换数据项有效时间最短的数据项;当D是公有数据,判断数据项的更新频率,在公有数据区各个数据项是按照更新频率来存放,然后查找与更新频率相近的数据块,如果如果该数据的更新频率不小于数据块内的最高频率时,丢弃块编号大于该数据块所有数据块重新缓存。否则采用折半法将块内更新频率大于该数据的更新频率的数据替换,在这个过程也是基于数据项在缓存中的有效访问时间。
算法2:
5 结论
主要讨论了移动客户机在重连后如何维护缓存的一致性。在服务器上采用实时变周期广播更新报告的方法维护缓存的一致性。移动客户机在长时间断连后,不能确定缓存的内容现在是否有效,本文提出缓存区数据对象分块,并基于数据库的数据项性质的不同,将缓存区分为私有数据区、共享数据区、公共数据区。该方法占用存贮空间少、软件开销小。以缓存数据块为单位替换,较好的维护了Cache的空间连续性并结合缓存替换算法依据数据的有效时间进行替换。该算法大程度的保留了没有失效的缓存,大量的减少了数据的传送量、有效地维护客户机缓存区数据的一致性。
References;
[1] T.Imielinski and B.R.Badrinath.Data Management for Mobile Computing.ACMSIGMOD Record,March 1993,22(1):34-39
[2] M.J.Franklin,M.J.Carey and M.Livny.Transactional Client/Server CacheConsistency:Alternateves and Performance.ACM Transactional on DatabaseSystem.s,1997,22(3):315-363
[3] D.Barbara and T.Imielinski. Sleepers and Workaholics: Caching Strategies in Mobile Environments[C]. In: Proceedings of ACM SIGMOD Conference. 1994:1-12
[4] 邵雄凯,卢炎生.移动数据库中支持断接操作的一种新策略[J].小型微型计算机系统,2003,24(10):1176-1778.
[5] D.Barbara and R.J.Lipton.A Class of Randomized Strategies forLow-Cost Comparison of File Copies.IEEE Transactions on Parallel and Distributed Systems,Appil 1991,2(2):160-170
作者简介:徐彩云(1978.09-)女(汉),内蒙古乌兰察布盟人,硕士研究生,主要研究方向:移动数据库。
邵黄芳(1982-01)女(汉),浙江省台州市人,硕士研究生,主要研究方向:图形图像处理,算法分析。
徐渝湘(1986-03)女(汉),浙江浦江人,本科 。
(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%
版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.