事务处理系统对数据库使用者来说,是非常熟悉的事情;但是如果将事务处理系统从数据库转移到文件系统上,估计很多同学都要一筹莫展了。实际上,无论库/框架、语言,或者文件系统级别,对文件系统操作事务的支持一直都很薄弱。
单独看一些文件系统操作(比如文件重命名、删除等),它们是原子的,但是从目前的情况看,很少有解决办法能够形成一组综合的API,全方位地支持事务性的文件IO操作。如果文件操作(例如创建、修改、重命名、删除文件)需要作为事务的一部分而连贯地执行,那么应用程序往往必须依赖于自行设计的方案,去减少系统/应用失败或并发访问时出现不一致状态的可能性。
关于文件系统的事务性管理,目前还没有特别好的办法,虽然APACHE也提供了一些方法,但是在实际使用中,也不是很方便和有效。
APACHE提供的文件事物系统,
请参考博客:http://blog.csdn.net/ffm83/article/details/42235771
在很多的日常工作中,遇到这种问题,都是采取先备份,后修改的方式进行处理;大不了使用多个副本,或者使用悲观锁,或者使用了乐观锁,然后结合业务形态进行针对性处理。
原文地址:http://blog.csdn.net/ffm83/article/details/43488287