1.一种移动透明计算系统服务器端多用户访问的镜像缓存方法,其特征在于,包括以下步骤:
1)设计缓存数据块的存储信息,所述存储信息包括标识区FLAG,信息区FI和数据区DATA;所述标识区FLAG用于存放代表缓存数据块的关键字;信息区FI用于存放缓存数据块的基本信息;数据区DATA用于存放所缓存的实际数据,并在客户端发起IO请求时,返回所缓存的实际数据;
2)设计缓存空间存放所有的缓存数据块;
3)在properties文件中设置缓存大小和生命周期;
4)初始化缓存空间;
5)为用户的IO请求块建立对应的缓存数据块,包括FLAG、FI和DATA信息,并存入初始化后的缓存空间;
6)每次访问缓存空间前,检查并移除过期的缓存数据块,保证缓存数据块的实时有效。
2.根据权利要求1所述的移动透明计算系统服务器端多用户访问的镜像缓存方法,其特征在于,所述步骤6)的具体实现过程包括:
1)当客户端向服务端请求访问数据时,首先查询缓存空间,根据flag判断数据是否为新数据,若是新访问的数据,则将新访问的数据插入到FIFO队列,并更新FI和DATA的信息;
否则执行步骤3);
2)如果缓存数据块在FIFO队列中一直没有被再次访问,则按照FIFO规则淘汰缓存数据块;或者如果该缓存数据块超过其生命周期,则直接淘汰该缓存数据块;
3)如果缓存数据块在FIFO队列中被再次访问,则将该缓存数据块移到LRU队列头部;或者如果缓存数据块在LRU队列中再次被访问,则将该缓存数据块移到LRU队列头部;
4)LRU队列淘汰末尾的缓存数据块。
3.根据权利要求1所述的移动透明计算系统服务器端多用户访问的镜像缓存方法,其特征在于,所述步骤6)的具体实现过程包括:
1)设计新访问的数据块的缓存信息,为FI区的信息赋初值,并将所述初值插入到LFU队列;
2)如果缓存数据块在LFU队列中一直没有被再次访问,则按照LFU规则淘汰缓存数据块,淘汰的缓存数据块插入到LRU队列;如果该缓存数据块超过其生命周期,则直接淘汰该缓存数据块;
3)如果缓存数据块在LFU队列中被再次访问,则将缓存数据块FI区访问次数加1,访问时间更新为最新访问时间;或者如果缓存数据块在LRU队列再次被访问,则将缓存数据块移到LFU队列;
4)LRU队列按规则淘汰最久未访问的缓存数据块。
4.根据权利要求1所述的移动透明计算系统服务器端多用户访问的镜像缓存方法,其特征在于,所述步骤6)的具体实现过程包括:
1)设计新访问的数据块的缓存信息,为FI区的信息赋初值,并将该初值插入到主队列的未锁定区;
2)如果缓存数据块在主队列的未锁定区中一直没有被再次访问,则按照LFU规则淘汰缓存数据块,然后将淘汰的缓存数据块插入到LRU队列;
3)如果缓存数据块在主队列的未锁定区中被再次访问,则将缓存数据块FI区访问次数加1、访问时间更新为最新访问时间;
4)若缓存数据块在固定时间段内被连续访问,则将缓存数据块移到锁定区,若锁定区大小超过缓存空间的一半,则按LRU规则淘汰锁定区中最久未被访问的缓存数据块,然后将淘汰的缓存数据块插入到LRU队列并更新缓存数据块FI区的信息;如果锁定区缓存数据块超过其生命周期,则直接淘汰该缓存数据块;或者如果缓存数据块在LRU队列再次被访问,则更新缓存数据块的FI区信息,并将数据移到主队列的未锁定区;所述固定时间段小于所述生命周期;
5)LRU队列按规则淘汰最久未访问的缓存数据块。
5.根据权利要求1所述的移动透明计算系统服务器端多用户访问的镜像缓存方法,其特征在于,所述缓存空间采用哈希表结构,通过key关键字映射对应的缓存数据块。