微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 信用系统:基于历史还是基于平衡?

我打算写一个简单的信用系统,用户可以在系统中“添加”,“扣除”信用.目前我正在考虑两种方法.

>简单一:将用户的信用存储在数据库中作为余额字段,并记录所有操作(“添加”,“扣除”),但不用于计算最新余额.
>基于历史记录:不要将余额存储在数据库中.通过查看交易历史来计算余额,例如(“加”,“扣除”)

我认为这两种情况都有效,但我想看看在设计这样一个系统时是否有任何警告,特别是我赞成基于历史的系统.

或者,有没有我使用的参考实现或开源模块?

更新:或者是否有像AuthLogic这样基于Ruby / Rail的模块,因此我可以插入和播放现有代码而无需重新发明轮子(例如事务,回滚,安全性等)?

解决方法

绝对使用两者.

>基于余额的方式使您可以快速访问当前金额.
>基于历史的方式为您提供审计.历史表应存储交易(如您所述),时间戳,交易发生前的余额,理想情况下是跟踪资金来源/目的地的方式.

Ruby Toolbox for bookkeepingPlutus double-entry bookkeeping gem.

此外,如果您的信用系统可能会影响用户,那么我建议您也使用日志记录,理想情况下请阅读安全日志验证和可证明的时间戳链接.

>有关记录详细信息,请参阅:techniques for ensuring verifiability of event log files.
>对于有信用的开源代码,您可能需要查看:http://www.gnucash.org/

原文地址:https://www.jb51.cc/ruby/271084.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐