Urs*_*ong 0 java mysql database date java-ee
我在考虑一个关于分销管理的项目.
假设我有一个中央数据库,其中包含我公司生产的产品的所有销售信息.我用固定的定期间隔从分销商那里获取新数据.
在分销商的系统上安装了其他本地数据库.在Java EE平台上有某些接口,通过它们可以访问各自的本地数据库.每周,经销商必须将我们的数据库与我们的数据库同步 当分销商与数据库同步时,我们的销售记录会更新.
经销商不应显示退货日期的销售情况.但是,假设分销商通过更改其系统日期来将该日期的销售发票添加到其本地数据库中.然后他将他的数据库与我们的数据库同步,并且销售额反映在我们的数据库中
作为程序员,我怎么能阻止他这样做(假设接口是由我制作的).
简短回答:是的,你可以(也应该......) - 但你也应该进一步阅读
中回答:你不应该通过让任何值进入同步您的数据库,但不被控制,但例如保持每个经销商上次同步数据的痕迹,并拒绝任何旧的数据,除非是作为纠正明确地建立-但你还是应该进一步阅读
答案很长:答案是技术性的,作为程序员,这将是你的责任.但问题出在业务层:你想要阻止什么?经销商再次发送旧文件或完全不同的错误?分销商故意尝试将错误数据存入您的基地?外部攻击(来自并发,脚本小伙子或被遗弃的女朋友......)故意发送伪造数据来破坏您的数据库?谁对传入的数据负责?您是否记录了发送任何数据的人(以及如何识别)?数据损坏的风险(发生和损坏)是什么?您(或您的公司)可以投资多少保护性反击?你必须能够回答的问题是什么应该做的,为什么,以及什么是,如果不这样做的风险考虑之前如何.
如果同步错误数据的风险太高,您甚至可以考虑分销商直接在独特(集中)数据库上使用Web应用程序的可能性.
如果您已经完成了业务级别问题的答案,并且您知道确实需要保护数据库免受添加旧销售发票的分销商的影响,那么您有两种方法:
如果您的流程可以确保一次只有一个分销商可以同步其基础,则可以只有一个副本.
归档时间: |
|
查看次数: |
85 次 |
最近记录: |