こんにちは、Python とプロセスの間で少量のデータ (< 1K) を共有したいと思います。データは、急速かつ頻繁に (24x7x365) 変更される物理 pc/104 IO データです。データを書き込む単一の「サーバー」と、その一部を読み取る複数のクライアントが存在します。これが実行されるシステムは、ハード ドライブではなくフラッシュ メモリ (CF カード) を使用するため、ファイル ベースのスキームでフラッシュ メモリが消耗するのが心配です。また、100% 太陽光発電であるため、使用する電力 (プロセッサ時間) を減らしたいと考えています。
- これは正当な心配ですか?CFカードをSSDに変更できるかもしれません。
- mmap を使用して値を変更すると、データが物理的にディスクに書き込まれますか?それとも、これは仮想ファイルですか?
- Debian で実行するので、Python モジュール用の POSIX IPC が最適なソリューションです。誰かがそれを使用しましたか?
- Python Object Sharing (POSH)モジュールを試した人はいますか? 一見有望に見えますが、「アルファ版」であり、積極的に開発されているようには見えません。
ありがとうございました
更新: 最大データ更新レートを約 10 Hz に遅くしましたが、より一般的には 1 Hz です。クライアントは、一定の更新レートではなく、値が変化したときにのみ通知されます。各サーバーが特定の種類の機器または機能に特化した複数サーバー/複数クライアント モデルに移行しました。ほとんどのプログラミングは Java プログラマーによって行われることが判明したため、最終的には JSON-RPC over TCP を使用することになりました。サーバーは Java で作成されますが、メインのクライアントを Python で作成したいと考えており、JSON-RPC の実装を調査しています。