最近在开发过程中遇到的问题,不得其解,特想高手求证
业务描述:添加一条故障记录。我们这个是个物联网项目,这些故障记录是由一个小盒子发送过来的。有个当前故障记录表,按照正常逻辑,如果小盒子发过来的记录会进行逻辑判断,如果是存在的,则会更新这条记录的更新时间。否则就新增一条记录。
自己在debug的情况下,拿着出问题的数据,反复测试,从早上7点钟的数据一直测试到下午5点多的数据,一直没有发现问题。于是就怀疑是并发的问题。想请大佬指点指点其中的原理,为什么会这样。一直没有想通。自己也给方法加了同步锁。
现在目前的解决方式是:给这个表设置联合主键,如果出现重复的情况,则让这次的更新或者插入失效。
请高手讲讲其中的原理。