在进行企业应用系统开发时,在多用户模式下,对各种业务数据如何避免并发操作引起数据异常是设计中非常重要的考量点。下面总结已遇到的一些场景及对应解决办法,并不完整全面。
场景:同时编辑同一业务数据
问题描述:
甲打开某业务数据编辑页眉,乙也打开此编辑页眉,甲乙先后执行保持操作。
如保存时不做控制,后保存者的数据覆盖先保存者的数据。
处理办法A:
打开编辑页眉后,保存业务数据时间戳,保存时检查是否一致,如不一致则提示,由用户选择是否保存。
优点:给以用户选择权。缺点:用户有时无法判断,可能造成数据异常。
注意事项:
当编辑页面包含子表的编辑和保存功能时,方案A很可能引起数据异常。除非子表的保存方法是先删除再新增。
处理办法B:
打开编辑页眉后,保存业务数据时间戳,保存时检查是否一致,如不一致则提示不允许保存。