在互联网产品中,经常提到的终端、网关、协议、PaaS、SaaS之间,到底有什么关系呢?本文作者分享了互联网中频繁出现的一些词汇,以及为初入物联网行业的同学整理了一些坑,希望能给你带来帮助。
本文主要分享物联网频繁出现的词汇进行分享,例如「终端」、「网关」、「协议」等,以及为初入物联网行业的同学整理出笔者过往经历踩过的坑,以及后期如何避雷/排查问题。
一、基本概念
在百度/其他地方搜集的信息中,对于终端、网关、协议、PaaS、SaaS的解释各有不同,整理如下:
用一张图来解释下相关定义信息:
举一个小例子:
小A的妈妈安装了一个定位器设备在他的电动车上,以便追踪他上学的路程。有一天小A在路上发生了车祸,发生车祸的时候,小A和他的车被碰倒了,于是「设备」发送“告警信息”给小A的妈妈的手机,说小A在路上出车祸了,你快去救他!
以上信息中,上报给谁?这时候上报的位置是「网关」,但是设备不会像我们人类一样用语言说:“喂,你的儿子/女儿在什么什么时间,在哪里哪里好像被车撞到了,然后摔倒了,触发了我这个告警哦”,他们会和「网关」之间协商好用某一种语言来代表这种信息,这一种语言,就是「协议」。那么「网关」在其中扮演什么角色?网关,就是这个“翻译官”,他把设备上报给他的内容,翻译成另一种语言,来和「PaaS」进行沟通交流。
网关把信息传给「PaaS」之后,「PaaS」经过计算后监测到,这个信息很重要啊,我要赶紧推送给他妈,让他的妈妈知道小A出车祸了,快去救他,于是「PaaS」赶紧把这条信息,推送给了小A妈妈的手机上的设备绑定的软件,也就是「SaaS」所以大家对设备、协议、网关、PaaS、SaaS有了基本了解了吧。为什么从终端到网关,再从网关到PaaS不需要使用相同的编程语言呢?
二、不同「角色」之间使用不同「语言」的原因
有几个原因导致了网关必须将终端和PaaS之间的信息进行协议转换处理,因为我们都知道终端和网关之间采用一种协议,而网关需要解析信息后再使用另一种语言与PaaS通信
那么知道这些信息,对于初入物联网行业的产品经理而言,已经可以解决很多问题,让我们来看一个案例。
三、如何解决现实中遇到的问题?
背景:在曾经的车联网产品设计生涯中,出现过一个问题,有一天业务部门找到我,说有一个较大的客户购买了n台定位器设备,但是这些设备里其中有80%的设备已经成功导入到saas平台,并且已经开机了,但是平台显示并没有激活,功能却可以正常使用,开发同事查看代码后,发现设备已经正常激活上线。
分析:那么我们从产品的角度分析下,设备正常的工作流程,设备上报信息(登录包、心跳包)给到网关,网关解析后,到达PaaS,PaaS存储相关登录日志/时间等信息后,同步至SaaS,SaaS正常接受登录包,后端将状态调整为激活,看起来是没有什么问题的,按理来说设备是可以正常激活上线。
以上假想是建立在,设备已经导入平台后,再进行开机上线的,上线后可以正常通过协议上报心跳包、登录包等,若设备先开机上线,再导入到平台,此时,设备的心跳包、登录包已经在导入前上报过相关信息,则无法及时通过上报自己的登录包等包体,网关无法进行解析,则自然而然,状态未激活。
写在最后
物联网涉及的范围较为广泛,不同领域对于数据处理、信息上报等方式均不同,若文章中与您有不同理解,也欢迎在评论中留下看法见解。
本文由 @布布的铲屎官 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
以上是物联网产品中,经常提到的终端、网关、协议、PaaS、SaaS之间,到底有什么关系?的详细内容。更多信息请关注PHP中文网其他相关文章!