gpt4 book ai didi

algorithm - 基于物联网时间戳算法的理论模型

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:40 24 4
gpt4 key购买 nike

我正在实现一个物联网门禁控制系统,该系统接收具有两个参数的数据包,一个值和一个时间戳。由于消息代理系统,所有消息都按照严格的时间顺序在我的系统中接收和处理。

然后我的程序需要根据“最佳信息”方案根据若干规则处理消息,然后更正计时器可能引入的最终错误。目标是以一种容易出现网络滞后的方式记录门打开/关闭的确切时间。计时器的目的是在真正知道真正的结果之前向工作人员预测结果,并且大多数时候计时器是正确的。例如,出现以下序列:

左边是时间戳,右边是值

  1. 收到的消息

    2017-01-24 10:00:00 - TRUE(1)(这意味着门已打开,日志文件写道门已在此时间戳打开)

  2. 计时器

    2017-01-24 10:00:30 - 30(可配置常量值)秒后,计时器指示应关闭门。这会触发程序在日志中写入在 2017-01-24 10:00:00 到 2017-01-24 10:00:30 之间门打开了 30 秒。

  3. 收到的消息

    2017-01-24 10:00:15 - FALSE(0)(这意味着门实际上是在 10:00:15 关闭的,这意味着程序需要调整日志所以打开的条目是2017-01-24 10:00:00 - 2017-01-24 10:00:15。

还有一个问题,比如在更高级的情况下,应该支持延迟。例如:只有当 TRUE 信号持续 10 秒时,门才会被记录为打开。这意味着当真正的信号出现时,首先会在日志中临时写入一个条目,表示门已打开以向工作人员显示它已发生,然后启动计时器,计数到 10。当计时器达到 10 秒时,系统写道门被打开了 10 秒。然而,5 分钟后(例如由于网络故障),系统收到一条消息,门实际上在 TRUE 信号出现 5 秒后收到 FALSE 信号,这意味着根本不应写入 OPEN 条目(因为它只是TRUE 和 FALSE 信号之间间隔 5 秒)。请注意,这两者之间没有发送其他消息,因此它们仍然严格按照时间顺序排列。这是这里始终假设的一个重要因素。

我确信在处理时间事件和由于“最佳信息”错误导致的回滚时,还有其他算法、模式和理论模型可以解决此类问题。但我不知道它们叫什么以及在哪里可以找到它们,能否请您指导我了解相关理论、示例以及要查找的内容,以便为此类问题建立可靠的模型,进而做出良好的实现。由于它的许多规则(门也可以发送脉冲和 true/false 的组合,其中组合用于确定状态)和回滚,实现很容易以 if 语句结束,无法维护,扩展和支持。

最佳答案

事件溯源似乎是解决问题的方法。不是存储系统的权威状态,而是存储事件和缓存状态。当您需要重写历史时,重播更改发生时的事件。我不会在这里尝试重现许多关于事件溯源的文章。

关于algorithm - 基于物联网时间戳算法的理论模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41830732/

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