我的設置如下:一個主程序(用Python編寫)充當主要應用程序,用於檢索數據,並將其保存到SQLite數據庫(稍後進一步處理)。該數據收集在其他程序中,運行在相同機器,稱爲奴隸。如何在同一臺機器上的程序之間進行通信?
請注意,一次只能運行一個從站,因此主站不需要同時從多個從站檢索數據。但是,當一個從機關閉時,另一個從機可以開始向主機發送數據。
此設置的一個重要特徵是,奴隸可以任何編程語言寫,我沒有對他們太多的控制。然而,我可以「插入」這些從屬程序,以便擴展它們的功能並將數據從該應用程序發送到主站。
發送給主數據的數據必須是「正式」格式,例如,鍵/值對的列表或類似。這個要求是靈活的,它也取決於當前正在運行的從站。
現在我的問題:如何在同一臺機器上運行程序的實例之間實現通信?我想過網絡服務,但它們似乎有點矯枉過正,因爲它們都運行在同一臺主機上。另一種替代方案可能是通過基於Json的數據通過套接字進行通信,但是我還沒有對這種方法提供太多的經驗,所以我無法判斷它是否適合我在這種情況下的需求。
這兩種方法只是我的第一個想法,但我願意接受任何好的解決方案。
我認爲有一種「最佳實踐」的方法來實現這樣的設置,因爲我肯定不是第一個具有這樣的需求的設備。
任何想法,甚至更好:實踐經驗,對此?
謝謝。
什麼阻止你使用持久存儲? – 2013-04-20 15:14:29
您是指通過數據庫或文件? 這不會比例如慢。通過套接字?但是正如我說的,我在這裏開放思想 - 有什麼優勢? – Matthias 2013-04-20 16:48:22