如何将规则和配置传输到边缘设备?

问题描述 投票:0回答:1

在我们的应用程序中,我们有一个服务器,它包含实体及其存储在DB中的关系和处理规则。对于该服务器,将有n个客户端,如raspberry pi,网关,Android应用程序连接。

我想将配置和处理规则推送到那些客户端,因此当他们读取一些数据时,他们可以自己处理。这是为了使边缘设备自我可持续,避免在服务器/网络中断时中断。

如何推/拉配置。我不想在客户端维护DB并配置复制。但问题是DB的维护和修补对于那些客户来说将是艰难的。

那么还有其他更好的选择吗?

同时我必须将日志推送到上游(服务器)。

提前致谢。

database architecture iot data-synchronization
1个回答
0
投票

我去过那里。您需要一个设备上的数据存储。对于这一系列的嵌入式Linux,为了增加开发复杂性:

  • 变量:快速更改和检索,如果数据适合内存则有意义。如果流程结束,则会丢失。
  • 文件系统:不需要特殊的库,只需要在某处读/写访问。如果数据足够小以适应内存并且在执行期间没有太大变化(在缺少网络时启动时读取,从服务器写入更新),则可行。如果您的数据可以构造为一些对象变量,您可以将它们写入JSON文件,并且有大量关于Android应用程序的其他文件存储选项的文档。
  • 像Redis这样的内存数据存储:轻量级依赖,可以自动化消息传递和文件系统存储备份。提供前两个的托管框架/混合。
  • 轻量级数据库,尤其是SQLite:轻量级SQL数据库,存储在一个文件中,受Android应用程序的欢迎(可能已经安装在许多目标设备上)。它可以在内存受限的环境中对更大的数据块进行频繁更改,但看起来不太合适。任何更重的东西都会变得更糟。

Redis replication很容易,但是不分青红皂白,如果你的设备收到一个不断变化但相同的规则集,那么主要是明智的。否则,在所有这些情况下,最简单的传输选项可能是请求和接收整个配置(获取字符串,下载JSON文件等)并解析接收的值。

© www.soinside.com 2019 - 2024. All rights reserved.