反写超额分析原创
3人赞赏了该文章
1,478次浏览
编辑于2022年06月12日 10:07:44
说明:
超额模式
1. 允许超额, 对反写的数量不会进行超额判断
2. 禁止超额,每次对反写后的数量进行超额判断
3. 允许超额一次,每次对反写前的数量进行超额判断
超额判断逻辑
如果上游某字段只有一个反写规则反写,则根据超额模式进行判断;如果上游某字段有多个反写规则同时反写,则最后一个反写规则根据超额模式进行判断,前面运行的反写规则不会判断。
如果一个反写规则反写时,有正数和负数行同时存在反写,则先进行负数行判断,再处理正数行。
反写的一些错误情况导致超额问题,包括单据状态实际不符(导致多次反写),并发反写(导致覆盖),操作控制不严格(保存后暂存导致快照丢失等)
示例: 差旅费报销单反写报超额错误
1. 差旅费报销单在进行审批时报超额错误,在待办流程中有编号,既然进去审批后没有编号
2. 通过上面可以清楚,这张单以前的编号为:BYCB2020100023, 现在没有编号,但状态是审核中,通过查询列表,果然查询到一张没有编号审核中的单据:
3. 先根据以前的单据编号BYCB2020100023, 查询上机操作日志, 得到一些有用的信息,操作时间和操作人等
4. 因为能确定单据,所以可以查询一下反写快照,看一下修改时间
5. 通过反写快照的修改时间,再查询上机操作日志,可以看到在移动端进行了大量的暂存操作:
6. 根据操作人,操作时间,反写快照修改时间,基本可以断定是因为暂存导致反写快照被覆盖了。
解决方案:后续业务和平台都做了改进,暂存不再覆盖反写快照,加强并发控制。
赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读