首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >故障安全序列化

故障安全序列化
EN

Stack Overflow用户
提问于 2013-12-21 10:32:39
回答 1查看 106关注 0票数 1

好的,我们对某些内容进行了序列化/反序列化,但是当您处理人员重要数据时,您需要保证对象在100%上被正确序列化/反序列化。例如,当您的应用程序在序列化期间死掉/被迫关闭时,就让我们看看情况吧。在大多数情况下,您将得到损坏的对象,这对我来说是不可接受的,我不确定我可以手工地处理文件和写标志,在开始序列化之前先做一些未实现的操作,并添加在进程结束时已完成的标志,如果在反序列化过程中无法实现,则从备份中提取文件。这是不好的,因为我必须备份非常大的文件后,每次更改。在.NET框架中流行的序列化程序中是否有一些构建在faile安全逻辑中,或者可能是protobuf?我找不到任何关于安全串行化的信息。或者你能告诉我一些好的模式如何使串行化安全吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-21 11:42:01

序列化与此无关。您的实际问题是:如何将一堆数据原子地写入磁盘?以下是一些选择:

  1. 如果数据足够小,足以容纳单个磁盘集群(512字节或4K),则使用FILE_FLAG_WRITE_THROUGH | FILE_FLAG_NO_BUFFERING在单个写调用中原子地写入单个磁盘扇区。
  2. 使用事务性NTFS自动写入任意数量的数据。
  3. 写入.tmp文件并原子地重命名为想要的文件名
  4. 使用其他一些方法来实现原子性,比如数据库(甚至SqlLite,Esent,.)或者Windows的CLFS。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20718017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档