使用 ZeroMQ 消息库在 C 和 Python 间共享数据( 四 )

将上面的内容保存到名为 online_analysis.py 的文件 。Python 代码不需要编译,你可以直接运行它 。
运行输出如下:
$ ./online_analysis.pyReading messages with topic: b'fancyhw_data'Message 0:        topic: 'fancyhw_data'        packet size: 16        data: (20946, -23616, 9865, 31416, -15911, -10845, -5332, 25662, 10955, -32501, -18717, -24490, -16511, -28861, 24205, 26568)Message 1:        topic: 'fancyhw_data'        packet size: 16        data: (12505, 31355, 14083, -19654, -9141, 14532, -25591, 31203, 10428, -25564, -732, -7979, 9529, -27982, 29610, 30475)......小结本教程介绍了一种新方式,实现从基于 C 的硬件接口收集数据,并分发到基于 Python 的基础设施的功能 。借此可以获取数据供后续分析,或者转送到任意数量的接收端去 。它采用了一个消息库实现数据在发送者和处理者之间的传送,来取代同样功能规模庞大的软件 。
本教程还引出了我称之为“软件粒度”的概念,换言之,就是将软件细分为更小的部分 。这种做法的优点之一就是,使得同时采用不同的编程语言实现最简接口作为不同部分之间沟通的组件成为可能 。
实践中,这种设计使得软件工程师能以更独立、合作更高效的方式做事 。不同的团队可以专注于数据分析的不同方面,可以选择自己中意的实现工具 。这种做法的另一个优点是实现了零代价的并行,因为所有的进程都可以并行运行 。ZeroMQ 消息库 是个令人赞叹的软件,使用它可以让工作大大简化 。


推荐阅读