物联网平台的建立(一),大体框架

准备

首先,在硬件芯片选择上,需要准备一个能够上网的芯片,比如可以遵从http协议的ESP系列芯片,5g联网的nb-iot(ssh协议也行,但一般有ssh协议的芯片很少,而且能够使用ssh的都具有http协议)
软件端:精通最少一种后端编程语言,会使用mongo数据库和mysql数据库,编写过中型项目
最少需要一个服务器,建议是国内的

数据分类

在这里我们把数据分为2类,1种是平常常见数据,只保存mongo数据库,并存在过期时间,一类是有用数据(比如异常数据),该数据会由mongo后端转发给mysql后端

物联网平台软件框架

首先,物联网平台和正常的后台系统有一点区别,首先,它不能够直接使用mysql数据库,以我曾经做过的物联网平台为例子,我使用的硬件是一个猪舍环境检测系统,这个硬件平均一天产生10万数据,一个猪舍会配备5个左右这样的硬件,然后差不多实验阶段我们对10个猪舍进行了实验,一天的数据量是500万,而mysql是有数据瓶颈的,200万左右速度就有明显的降低,大型数据库oracle的的数据瓶颈则是2000万,差不多超过这个数据量,我们就要考虑分库分表或者添加服务器,所以说,物联网平台的数据一般不能够直接使用传统型数据库来接受,通常情况下,我们会使用mongodb建立一个数据仓库(这个数据仓库和大数据上的数据仓库相似但不完全一样),这个数据仓库往往储蓄所有的数据,但是对于数据来说是需要做一个过期处理的
因此我们用于储蓄数据的后台服务必须是一个非常简单,只能够用于存储数据和数据转发的系统,它的逻辑必须尽量简单,不然很容易被请求数目给拖垮掉,在这个数据仓库中,我们只有一个很简单的逻辑要做,就是在将数据存储数据库后,我们要简单判断下这个数据是有用数据还是平常数据,有用数据则转发给另一个mysql数据库的后端

mysql

mysql是和我们正常业务一样了,就是对数据的处理,他有一个接口用来接受mongdb传来的有用数据

和正常后台系统的区别

在这里,物联网平台其实是非常符合微服务的,本质上它就是一个微服务系统,它首先是必须存在一个数据仓库的,这里市场上比较常见的是使用mongo,也有redis,但是关系型数据库被排除在外,因为硬件的数据是无时无刻的.其次,物联网平台系统对前端的要求很少,它更类似于大数据系统,每个后端要么逻辑非常复杂(mysql端),要么几乎不使用逻辑(mongodb端).
在做物联网平台的架构时,对于数据的处理非常重要,而且数据保存的服务必须单独去做,单独在服务器上部署,如果你想试试不这么做,硬件的数据量会告诉你代价(物联网的数据量有可能每一天都是双十一)

你可能感兴趣的:(物联网平台,架构)