在 Milvus 中,Birdwatcher Checkpoint API 返回一个奇怪的数字

问题描述 投票:0回答:1

我需要将birdwatcher checkpoint api中的时间戳字段转换为当前的unix时间戳,我需要做什么计算。

我在文档中没有看到任何内容。

https://milvus.io/docs/birdwatcher_usage_guides.md

https://milvus.io/docs/birdwatcher_overview.md

https://github.com/milvus-io/birdwatcher

milvus
1个回答
0
投票

这个时间戳是 milvus 逻辑 ts 值,您可以通过以下逻辑将其转换为时间:

Milvus 时间戳 ts 需要稍微转换为 UNIX 格式。 您可以使用下面的这个功能。

const (
    logicalBits     = 18
    logicalBitsMask = (1 << logicalBits) - 1
)

func ParseTS(ts uint64) (time.Time, uint64) {
    logical := ts & logicalBitsMask
    physical := ts >> logicalBits
    physicalTime := time.Unix(int64(physical/1000), int64(physical)%1000*time.Millisecond.Nanoseconds())
    return physicalTime, logical
}
© www.soinside.com 2019 - 2024. All rights reserved.