C ++应用程序中数据结构的崩溃恢复

时间:2014-01-16 04:52:12

标签: c++ serialization crash recovery

我有一个C ++应用程序,它以高数据速率处理网络数据包。 该应用程序具有维护应用程序状态的各种数据结构(STL映射/列表等)。这些数据结构经常更新。 此应用程序的输入容易出错,因此容易崩溃。

我想要做的是将应用程序状态(各种数据结构)保存到持久性媒体,以便在崩溃后重新获得它。 是否有任何框架/图书馆/实践可以帮助我实现同样的目标。

请求您不要指示此主题“删除崩溃漏洞”。

2 个答案:

答案 0 :(得分:0)

你应该看看Kate Gregory的Restart and Recovery framework食谱。这是一个视频,解释了如何采用这种策略。另外,请查看Application Recovery and Restart以供参考。我已经使用并修改了这个配方,它完美无缺。

答案 1 :(得分:-1)

关于

  

此应用程序的输入容易出错,因此容易崩溃

不,输入不应该导致应用程序崩溃 * 。这不是输入容易出错的。这是应用程序。

如果你真的希望信息能够持久存在,那么你可以做的就是首先坚持它,之前每次崩溃。

崩溃预测器当然可以派上用场。

但是一般的概念只是,坚持你需要坚持的东西,在崩溃之前几乎不可能这样做。

在崩溃状态下,您不能依赖应用程序内的任何内容

在该状态下保存信息至少需要在使用该存储信息时进行大量验证。

简而言之,

  • 最好是修复错误,但

  • 如果失败,作为临时措施,您可以在信息可用时保持信息(崩溃之前),但随后

  • 我的目的是从头开始重新实现整个shebang。

<小时/> * :当然,除非它被设计了。