gpt4 book ai didi

java - 应用程序重启时的文件读取偏移量

转载 作者:太空宇宙 更新时间:2023-11-04 13:52:47 26 4
gpt4 key购买 nike

问题更多的是设计部分而不是编码。

我有一个包含手机号码的巨大文件,所以我们要做的就是一次性读取 50 个号码并更新数据库表 startOffset=0endOffset=50 中的偏移量。现在,开始一一向号码发送短信,完成后,从文件中选取另外 50 个号码,并将偏移量更新为 startOffset=51endOffset=100,现在开始发送短信,假设我已经发送短信到 66 个偏移量,当由于多种原因突然断电或应用程序重新启动时,就会出现问题。

现在,当应用程序重新启动时,我将不知道我必须再次启动的偏移量(即在我们的例子中为 67)。我会发现我在 51 到 100 block 中丢失了,所以我能做的就是从 51 开始再次发送短信,但这是错误的,因为短信将发送两次到我们已经发送的号码。

另外,我可以在发送每条短信后将currentPointer更新到DB,但这会使系统变慢。

有人可以建议最好的方法吗?

最佳答案

如果您想确保重新启动时没有数字被处理两次,那么您需要为每个处理的数字写入持久存储,无论是数据库还是文件。如果写入操作的执行速度对于您的要求来说太慢,请找到一种更快的方法来持久化它,例如另一个表、文件或不同的数据库系统。

关于java - 应用程序重启时的文件读取偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com