yjl9903 / resonance-market

实时 查看 / 上报 雷索纳斯市场行情
https://resonance.breadio.wiki/
MIT License
45 stars 5 forks source link

价格更新日志问题 #31

Closed Ximu-Luya closed 8 months ago

Ximu-Luya commented 8 months ago

Clear and concise description of the problem

现状是,用户上报一个价格后立即添加一条新的上报记录,无论新添加的记录是否与上次相同。

有一种case是,淘金的沙金80%,35分钟前上报,有一个人跑淘金去了,发现还是80%于是又上报了一个记录,导致淘金80%这个价格的失效时间往后移了,会造成数据失真。

Suggested solution

我个人感觉可以在log中添加一个字段,例如updateValidAt,表示此条记录在某时刻被确认为生效。失效时间仍然按uploadedAt计算,updateValidAt可以用作额外展示“在xxx之前被确认为有效”。

在用户上传一条新纪录时,判断price或percent与最新一条记录一致,则仅更新最新一条记录的updateValidAt,否则创建一条新纪录,新纪录的updateValidAt为上报时间。

这个只是一个比较小的建议,如果觉得不麻烦的话,可以弄,我来负责前端的展示(展示“在xxx之前被确认为有效”、Tooltip中新增确认有效按钮),麻烦的话优先级就往下调吧。

Additional context

No response

yjl9903 commented 8 months ago
  1. 我们也不知道什么时候:游戏数据变更
  2. 是否出现游戏数据变更,但是变更就是数据都不变

如果能频繁拉取游戏数据更新的话,这应该不是个问题

Ximu-Luya commented 8 months ago

频繁拉取数据的话,就会在游戏数据未更新的时间内,上报很多相同的数据。

所以我的意思是,相同数据上报时,只刷新最新一条记录的更新时间,而用来判断是否失效的上报时间不变

Ximu-Luya commented 8 months ago

自动化数据更新脚本,基本解决此问题。有人上报数据导致失效时间推迟就推迟吧