数据库 – 机器到机器通信的协议选择 – 级别:n00b

前端之家收集整理的这篇文章主要介绍了数据库 – 机器到机器通信的协议选择 – 级别:n00b前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为灌溉泵和连接的管道建立一个监控系统.到目前为止,我已经完成了传感器网络.一切都连接到微控制器板(实际上是4 Teensy 3.0板),并且板被编程为以预定间隔输出一串格式化数据(读数).

我想要做的是通过USB-serial将电路板连接到RaspberryPI(或其他一些SBC),让计算机将从传感器板接收的读数发送到远程服务器进行记录.

我考虑的选项是:

1 – Syslog …它很早就让我印象深刻,因为它似乎提供了我所需要的一切.虽然复杂性让我害怕.

2 – REST …让RaspberryPI将数据一行一行地通过网络发送到服务器上的CouchDB.

3 – HTTP …与node.js保持开放的HTTP连接并“写入”数据行.它当然需要由第二个node.js脚本接收以存储在DB中.

现在要求:

〜它需要轻巧且相对快速.会有很多数据(1s间隔),RaspberryPI不是强大的.

〜我非常想要压缩字符串的选项.上行链路通过3G,我希望采用“小”月度计划.

〜加密会很好,但不是强制性的.偏执狂是强大的乡下人……

〜我真的需要这个像K.I.S.S.尽可能.

简而言之,我将此作为某种网络串行连接,计算机一行一行地连接到另一台计算机.

那么,我在这里的选择是否更可取?或者甚至更好,谁有更好的主意?

如果有人有一个好的观点,我老实说愿意接受编辑甚至重新发布问题.

编辑:

到目前为止,所有评论和答案都得到了赞赏和考虑.

Syslog真的很棒,但我真的需要避免复杂性和开销.此外,经过一些测试后,RaspberryPI似乎在启动rsyslog后不久就停止了.

到目前为止,已经确定DBMS将成为CouchDB.

显而易见的选择是使用curl或残余的node.js服务器在数据到达时立即对数据库服务器进行REST调用.这虽然简单有效,但出于多种原因并不可取.安全也是一个问题;我不喜欢在直接调用DBMS的字段中使用微型PC的想法.

我开始获得赏金的原因是我希望有人可以提出以下几点的想法:“远程微型PC和DBMS之间的某种持久连接.数据将通过某种协议格式化并通过此连接转发为了在另一端接收.这种连接需要尽可能轻,尽可能少的开销“.

解决方法

你有没有想过使用SMTP(电子邮件)? Raspberry有两个进程:一个读取数据并将它们附加到一个文件,另一个(可能在crontab中)移动文件(可能聚合一些)并通过电子邮件将它们发送到目标机器.这样,如果您可以(例如每20秒或每分钟发送一封电子邮件),您在采样频率和记录频率之间就没有耦合.

邮件可以压缩,加密(使用SMTP TLS).此外它具有弹性:如果您丢失了上行链路,我们将在链路恢复时发送数据.从日志记录过程的角度来看,链接始终是“向上”.

在您的couchdb服务器(或连接到couchdb的其他计算机)上,您创建一个专用用户并在其.forward中放入一个脚本,解压缩消息并将其提供给couchdb.

如果您想进行身份验证,可以使用从共享密钥到PGP签名的许多方案!

我们这样做是为了提供我们的数据仓库,因为我们不希望它上面有任何类型的传入连接(https或ssh),诚然不是1s采样率(但数据量更大).

最后但并非最不重要的是,您可以单独测试每个组件(记录器,发送器,接收器和db-Feeder),而无需运行所有基础结构.

猜你在找的MsSQL相关文章