我们发现了一个对我们很重要的问题,在继续使用Orion Contex Broker之前,我们需要解决这个问题。在我们的分布式网络中,我们不能假设链路总是正常的,有时我们会在过去的时间内探测到历史值,我们希望在通信恢复后立即将其推送到contex broker。这些探测器应该被送到猎户座,并附加测量时间,然后通过天鹅座发送到Hadoop。
在查看Orion API之后,似乎已发布的值被假定为当前值,并且无法区分它们是半小时前探测到的值(例如)。
我们的疑虑:
1)是否可以通过某种方式告诉上下文代理正在推送de信息的时间?
2)如果不是,也许这种情况应该用其他方法来解决?是否已经有一些组件或IoT Ge放置在探测队列探测之外,直到链路恢复,然后使用正确的时间戳将它们推送到中央上下文代理?
谢谢
发布于 2015-04-30 03:58:33
我认为您可以将元数据附加到您的属性中,以了解数据应该创建的时间戳。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)和创建时间(元数据)。
https://stackoverflow.com/questions/29951498
复制相似问题