【我的物联网成长记18】想要实时获取设备数据?不如试试订阅推送

举报
我是卤蛋 发表于 2020/01/20 11:23:01 2020/01/20
【摘要】 订阅推送是一种物联网应用实时从物联网平台获取设备数据的方法。本文将带您了解订阅推送的流程与原理。

订阅

应用服务器通过调用物联网平台的订阅接口,向平台获取发生变更的设备业务信息(如设备注册、设备数据上报、设备状态等)和管理信息(软固件升级状态和升级结果)。

1579490110597663.png

推送

订阅成功后,物联网平台根据应用服务器订阅的数据类型,将对应的变更信息推送给指定的URL地址,也称为回调地址。如果应用服务器没有订阅该类型的数据通知,即使数据发生了变更也不会进行推送。物联网平台进行数据推送时,数据格式为JSON格式,推送协议可以采用HTTP或HTTPS协议,其中HTTPS协议为加密传输协议,需要进行安全认证,更加安全,推荐使用。

1579490185960276.png

回调地址

回调地址是指业务应用自定义的,供外部访问的restful接口地址。当物联网平台向业务应用推送消息时,实际是调用业务应用的restful接口把数据发给业务应用。回调地址由通信方式、业务应用的访问地址和restful接口的url组成,如https://server:port/url。通信方式建议使用https协议,保证业务应用与物联网平台的通信安全。使用https协议通信时,物联网平台需要加载证书。

由于业务应用所在的网络不同,业务应用的访问地址也不同。

  • 业务应用部署在公网时,业务应用的访问地址就是业务应用的公网IP:端口(或域名:端口)。

  • 业务应用部署在局域网时,需要在业务应用配置网络穿透,生成业务应用的公网访问地址,具体配置自行从网上获取网络穿透工具的配置步骤。

证书

当回调地址为https地址时,物联网平台会采用SSL双向认证机制,物联网平台和用户服务器都需要加载证书。证书包括包括CA证书,服务端证书和客户端证书,CA证书一般由权威机构颁发,但也可以自行制作。服务端证书和客户端证书则使用CA证书签发,因此,使用CA证书可以验证服务端证书和客户端证书的有效性。

1579490306871495.png

基于以上原理,当用户的回调地址为https地址时,需要上传自己使用的CA证书到物联网平台,物联网平台推送消息时会使用这个CA证书验证用户服务器提供的服务器证书的有效性。

推送机制

物联网平台向应用服务器推送消息后,如果应用服务器接收消息成功,会向物联网平台返回200 OK响应码。如果应用服务器无响应(响应超时时长15秒)或者应用服务器向物联网平台返回501、502、503、504响应码,表示消息推送失败,物联网平台会将消息进行缓存(缓存10分钟),然后通过轮询的方式向各个推送失败的应用服务器进行推送重试,缓存时间超时后如果还未推送成功,物联网平台不再进行推送重试。在消息缓存时间内,物联网平台重试推送失败的次数达到10次后,会将该推送的URL地址设置为无效,并按照轮询的方式,轮询探测所有失败URL有效性检,如果恢复,则会重新设置该URL为有效。您可以登录设备管理服务控制台的“应用管理 > 应用列表 > 应用详情 > 服务设置”中的“订阅推送服务(HTTP/HTTPS)”查看推送URL的状态。


看完本文之后,您是否对物联网平台订阅推送的原理有所了解了呢?


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。