加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:27:54 所属栏目:百科 来源:网络整理
导读:我打算写一个简单的信用系统,用户可以在系统中“添加”,“扣除”信用.目前我正在考虑两种方法. 简单一:将用户的信用存储在数据库中作为余额字段,并记录所有操作(“添加”,“扣除”),但不用于计算最新余额. 基于历史记录:不要将余额存储在数据库中.通过查看
我打算写一个简单的信用系统,用户可以在系统中“添加”,“扣除”信用.目前我正在考虑两种方法.

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

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

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

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

解决方法

绝对使用两者.

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

见Ruby Toolbox for bookkeeping和Plutus double-entry bookkeeping gem.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读