2016-05-26 17 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等选项。

相关问题