免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2269 | 回复: 6
打印 上一主题 下一主题

这种情况如何保证数据一致性 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-23 22:48 |只看该作者 |倒序浏览
有一堆目录,每个目录在内存中有一个counter,标志其总共占用的空间。
有几个线程,有的线程会往目录里存文件,存文件后会增加相应目录的counter值。
有的线程会删文件,删文件后会根据删掉的文件大小减少相应目录的counter值。
有的线程会清空目录,清空后会将相应的counter值清为0。

由于counter并不是在文件操作后重新计算的而是在现有counter基础上增减的,这样就会有不一致的情况。

如何保证一致性,即让counter的值与目录的大小始终保持一致。

论坛徽章:
0
2 [报告]
发表于 2010-02-23 23:41 |只看该作者
引用计数? lock

论坛徽章:
1
天秤座
日期:2014-04-27 07:42:20
3 [报告]
发表于 2010-02-24 09:40 |只看该作者
在counter里面记录增删值而不是总数就行了.总数做个累加就出来了.

论坛徽章:
0
4 [报告]
发表于 2010-02-24 09:41 |只看该作者
{:3_184:}

论坛徽章:
0
5 [报告]
发表于 2010-02-24 13:51 |只看该作者
这种用锁不是能解决问题吗

论坛徽章:
0
6 [报告]
发表于 2010-02-26 19:08 |只看该作者
atomic ?

论坛徽章:
0
7 [报告]
发表于 2010-02-27 00:45 |只看该作者
如果用户手动删除了一个文件那怎么办
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP