订阅&请求转发

时间:2015-09-11 08:35:56

标签: fiware fiware-orion

我对Orion订阅有两个问题。

  1. 如果我们在Orion中使用提供者应用程序URL注册实体并为其创建订阅(例如每15分钟发送一次更新),那么如果Orion的本地数据库中没有数据会发生什么?它是否会查询数据提供程序以从指定的URL获取数据然后返回订阅更新,还是不返回任何内容?

  2. 这与第一个有些相关。是否有选项指定"最长持续时间" Orion的本地数据库中的属性值(例如,如果属性未在1小时内更新,请删除它的值)? 我们记住以下示例:为实体设置订阅,以便每15分钟向我们的服务器发送更新。传感器到猎户座的更新应每5分钟完成一次。现在,如果某些东西不能与传感器一起工作并且它停止发送更新,我们将永远保存在Orion DB中的最后一个值,除非有" max-duration"该属性的选项,如果在指定的时间段内未更改该值,则删除该值。 当触发订阅更新时,如果Orion的本地数据库中该属性没有值,它应该向提供者应用程序查询数据(Q1)。

1 个答案:

答案 0 :(得分:0)

关于1,我想你会引用ONTIMEINTERVAL订阅。目前在Orion 0.23.0(将来可能会改变),由于这种订阅而发送的通知是从Orion实体数据库中填充的,而不查询上下文提供者。

关于2,没有这样的选项(持续时间适用于注册和订阅,但不适用于实体属性)。但是,在客户端实现起来很容易:您可以使用名为X_last_update的属性来存储X属性的上次更新时间,并定期检查上次更新为两个旧属性的属性删除。