我们发现了一个对我们很重要的问题,需要在继续使用 Orion Contex Broker 之前解决。在我们的分布式网络中,我们不能假设链接一直都在,有时我们会在过去的时间里探测到历史值,我们希望在通信恢复后立即推送到上下文代理。这些探针应该在附加测量时间的情况下传送到 Orion,然后通过 Cygnus 发送到 Hadoop。
在查看了 Orion API 之后,似乎发布的值被假定为当前值,并且无法判断它们是半小时前探测到的值(例如)。
我们的疑惑:
1)是否可以通过某种方式告诉上下文代理推送信息的时间?
2)如果不是,也许这种情况应该通过其他方式解决?是否已经有一些组件或 IoT Ge 放置在探测器队列探测器之外,直到链接恢复,然后使用正确的时间戳将它们推送到中央上下文代理?
谢谢
最佳答案
我认为您可以将元数据附加到关于数据应该创建的时间戳的属性中。 Cygnus 也将这种元数据存储到 HDFS 中,如下例所示:
{
"recvTimeTs":"13453464536",
"recvTime":"2014-02-27T14:46:21Z",
"entityId":"Room1",
"entityType":"Room",
"attrName":"temperature",
"attrType":"centigrade",
"attrValue":"26.5",
"attrMd":[
{
name:CreationTime,
type:timestamp,
value:2014-02-26T12:34:09.672Z
}
]
}
在这种情况下,您有接收时间 (recvTime) 和创建时间(元数据)。
关于fiware - 使用不同的日期将历史数据发布到 Orion Context Broker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29951498/