您好,我想在 python 和进程之间共享少量数据(< 1K)。数据是物理 pc/104 IO 数据,变化迅速且经常 (24x7x365)。将有一个“服务器”写入数据,多个客户端读取数据的一部分。它将运行的系统使用闪存(CF 卡)而不是硬盘驱动器,所以我担心使用基于文件的方案会磨损闪存。我还想使用更少的电力(处理器时间),因为我们是 100% 太阳能供电的。
- 这是一个有效的担忧吗?我们可能会将 CF 卡更改为 SSD。
- 使用 mmap 更改值是物理地将数据写入磁盘还是虚拟文件?
- 我们将在 Debian 上运行,所以也许 POSIX IPC for python 模块是最好的解决方案。有人用过吗?
- 有没有人尝试过Python 对象共享 (POSH)模块?乍一看,它看起来很有希望,但它处于“Alpha”阶段,似乎并没有被积极开发。
谢谢你
更新:我们将最大数据更新速率降低到大约 10 Hz,但更常见的是 1 Hz。仅当值更改而不是恒定更新速率时才会通知客户端。我们已经进入了多服务器/多客户端模型,其中每个服务器专门处理某种类型的仪器或功能。由于事实证明大部分编程将由 Java 程序员完成,我们最终使用 JSON-RPC over TCP。服务器将用 Java 编写,但我仍然希望用 Python 编写主客户端,并且正在研究 JSON-RPC 实现。