gpt4 book ai didi

java - 有趣的股票报价数据场景

转载 作者:行者123 更新时间:2023-11-30 04:26:57 24 4
gpt4 key购买 nike

好吧,这个问题今天一整天都在困扰着我。

问题:我目前通过多播以极高的速率接收股票报价数据。我已经解析了这些数据并以以下形式接收它。

-股票编号:Int-64
-时间戳:从纪元开始的微秒数
-价格:国际
-数量:整数

每秒解析数百个这样的数据包。我试图通过将这些数据打包到由 stockID(key == stockID)(value == [timestamp, price, quantity] 元素的数组)散列的字典/哈希表中来减少存储端的计算。

我还希望每个字典都代表 5 分钟间隔内的时间戳。当传入数据的时间戳超过 5 分钟时间间隔时,我希望这个新数据进入代表下一个时间间隔的新字典。此外,一个特殊的 key 将在 key -1 处进行散列,告诉该字典属于每天 5 分钟的特定间隔(因此,如果您在凌晨 12:32 收到某些内容,它应该散列到 key -1 处值为 7 的字典中,因为这表示特定日期的上午 12:30 到凌晨 12:35 的时间间隔)。一旦时间过去,可以将时间过期的字典发送到 dataWrapper。

现在,您可能正在想出一些想法。但这里有一个很大的限制。传入的时间戳 不一定严格递增;但是,如果在间隔结束后等待大约 10 秒,则可以安全地假设每个进入的数据都属于当前间隔。

我做所有这些复杂事情的原因是为了减少应用程序存储端的计算。通过上面的设置,我的存储端线程可以简单地遍历字典中的所有键值对,并将它们存储在存储系统上的相同位置,而无需重新打开文件、重新分配组或更改目录。

祝你好运!顺便说一句,我将不胜感激任何答案。 :)

如果你能用 python 发送给我一些东西(这就是我正在做的项目),我会更喜欢,但我可以完全理解 Java、C++、Ruby 或 PHP。

总结

我正在尝试将股票数据放入代表每个字典 5 分钟间隔的字典中。数据附带的时间戳决定了它应该放入哪个特定的字典。这可能相对容易,除了时间戳在它们进来时没有严格增加,所以一旦 5 分钟过去,字典就不能立即发送到数据包装器时间戳,因为不能保证在 10 秒内不再接收任何数据,之后可以将其发送到包装器。

我只想要任何类型的想法、算法或部分实现,以帮助我安排这件事。我们如何在时间戳(数据)和实际时间(10 秒缓冲区)内切换字典的当前使用。

澄清编辑

5 分钟的窗口应该是数据驱动的(基于时间戳),但是 10 秒的超时似乎是时钟时间。

最佳答案

也许我遗漏了什么......

您似乎希望将数据保留在 5 分钟的存储桶中,但您无法确定在存储桶滚动后最多 10 秒内是否拥有该存储桶的所有数据。

这意味着对于每个仪器,您需要保留当前存储桶和前一个存储桶。当超过 5 分钟边界 10 秒时,您可以发布/写出旧存储桶。

关于java - 有趣的股票报价数据场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211228/

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