请教一个解决方案,谢谢!

softwarrior 2004-01-03 10:03:22
条件:
1,一个client/server系统,其中server端两台服务器A和B;
2,A服务器容量较小,每次只能容纳10个文件,且初始为10个文件;
3,B服务器容量较大,能容纳client所需的所有文件;
4,client端只能与A服务器通信,访问所需文件;
5,A服务器可以和B服务器通信;
6,如果A服务器没有所需要的文件,那么A服务器就要删除最不常用的(client请求次数最少的)一个文件,然后再从B服务器上copy下所需文件;

请问如何找出那个最不常用的文件,即如何判断每个文件被访问的次数,谢谢!
...全文
66 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
my_mtx 2004-01-04
  • 打赏
  • 举报
回复
可以做一个队列,结合 jackwuwei(吴羡鱼) 的方法
softwarrior 2004-01-04
  • 打赏
  • 举报
回复
呵呵,谢谢了,这是一个开发过程中遇到的问题,由于没有开发此类问题的经验,所以问问大家遇到此类问题所使用采用的好的策略,这只是一个初步的需求,可能问题说的不清,还是谢谢大家了!
jenycheng 2004-01-04
  • 打赏
  • 举报
回复
这有点象操作系统 对页的管理,

如有兴趣,建议看看,一定对你有帮助!!
操作系统的教程上可以找到
短歌如风 2004-01-04
  • 打赏
  • 举报
回复
建议把“保存访问信息”、“获得需要删除的文件名”的功能单独放在一个单元中,这样修改策略时比较方便。还可以把它声明成一个抽象类,作为一个“下载文件”的类的策略对象。当client从A服务器下载文件时,服务交给“下载文件”对象进行处理,这个对象中判断文件是否存在,如果不存在,调用策略对象来获得要删除的文件并且删除,然后从B服务器下载文件,最后完成到client端的下载。在到client端下载和删除操作完成后都要调用策略对象的方法以更新访问信息。
skyxie 2004-01-04
  • 打赏
  • 举报
回复
我怎么觉得你这个不象是现实的问题而是什么考试/练习的题目呢?>_<

典型的LFU
短歌如风 2004-01-04
  • 打赏
  • 举报
回复
单纯用文件次数来判断不是很合理,还不如单纯用“上次访问时间”来判断。每次把最久没有被访问的文件删除。访问时间的记录如楼上所说,在每一次访问时由服务负责记录到文件中去。
jackwuwei 2004-01-04
  • 打赏
  • 举报
回复
用一个文件来保存10个文件的访问次数,每访问一次,就加一个1,当超过10个文件,要删除时,看谁的访问次数最少就删那个了。还要记录创建时间,很有可能你刚才才传的文件,才访问过一次,就要删了,应该定一个时间界限。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧