2016-05-26 19 views
2

我正在開發一個項目,我不能隨意討論核心,但我已經到了一個絆腳石。我需要實時將數據從C++傳輸到其他語言,最好是Java或Python(延遲時間大約爲10ms)。流水線或以其他方式在語言之間實時傳輸數據

我們有一個傳感器,HAS在C++中解析。我們正在計劃通過藍牙進行數據讀取/輸出,很可能是Java或C#(我不太瞭解C#,但它看起來與Java相似)。 C++將不適合這項法案,因爲我覺得我沒有足夠的先進性來滿足我們的需求。傳感器解析已完成。數據傳輸將在同一臺機器上進行。

下面是我思考的方法:

  • 我們試圖利用Matlab與任何的墨西哥的東西(我沒有做MatLab的),從我們的C++程序中使用的功能,檢索數據數組。 Matlab會太慢(我們在某處讀TX/RX將被限制在1-20Hz)
  • 不斷地將數據寫入文本或其他等效的原始數據文件,並用另一種語言打開它有必要的。

我試圖查看這個,但沒有使用結果。

+0

可能是JNI或套接字。 – immibis

+0

同一臺機器是管道或UDP套接字。 –

回答

0

我們有同樣的問題,我們不得不以一個Java應用程序到其他多個應用,包括Java,Python和R.

首先,我們試圖套接字連接之間共享傳感器數據,但套接字通信不是容錯的。重新啓動或在一個應用程序失敗影響其他。 然後我們嘗試了它們之間的RMI調用,但由於可伸縮性,我們又一次感到不滿。

我們希望系統可靠,可擴展,分佈和容錯。所以,最後我們開始使用RabbitMQ創建一個生產者和多個消費者。它運行良好2年,但它不分發,所以現在我們正在考慮Apache Kafka。

根據您現在和將來的系統要求,您可以使用套接字管道,RMI調用,RabbitMQ,Kafka,Redis等選項。

相關問題