文档库 最新最全的文档下载
当前位置:文档库 › 基于LCM与ZeroMQ的进程间通信研究

基于LCM与ZeroMQ的进程间通信研究

龙源期刊网 https://www.wendangku.net/doc/e34090604.html,

基于LCM与ZeroMQ的进程间通信研究

作者:刘号张新晨李中年

来源:《电子科学技术》2016年第04期

摘要:进程间通信作为一个广泛的研究课题,具有显著的适用性。我们结合轻量级通信

与编组LCM和零消息队列ZeroMQ 各自的特点,探究进程间通信新机制。这里我们采用LCM 的发布/订阅模式来实现消息在网内的封送,同时,运用ZeroMQ的请求/应答模式实现网间消息传递。本文所提出的通信方法,经过了实验性的探究,验证了LCM与ZeroMQ在进程间通信的可行性。

关键词:进程间通信;发布;订阅;网元

中图分类号:TP393.03 文献标识码: A 文章编号: 2095-8595 (2016) 04-480-04电子科学技术 URL: http//https://www.wendangku.net/doc/e34090604.html, DOI: 10.16453/j.issn.2095-

8595.2016.04.028Abstract: As an extensively research topic, interprocess communication has a significant application. We combine the characteristics of LCM and ZeroMQ to explore the new interprocess communication mechanisms. Here, we use LCM publish-subscribe mode to achieve the intra-network message marshalling, while making use of ZeroMQ request-reply mode to achieve inter-network message passing. The communication method, which proposed in this paper, has already had an experimental inquiry to verify the feasibility of LCM and ZeroMQ in the interprocess communication.

Key words: Interprocess Communication; Publish; Subscribe; Network Element引言

模块化是我们软件设计的一项基本原则,是一种将复杂系统分解为更好的可管理模块的方式。模块化是解决一个复杂问题时自顶向下逐步细化的过程,有多种属性,分别反映其内部特性。每个模块都作为一个独立的进程,都有自己独立的地址存储空间。我们可以通过不同模块的组合实现具有不同功能的系统,而系统运行的稳定性取决于各模块间通信的流畅性,这就对各模块进程间通信提出更高的要求,进程间的信息实时传递就显得尤为重要。本文中,我们将引入一套进程间通信新机制,即LCM与ZeroMQ。

LCM(Lightweight Commuciation and Marshalling)作为消息传递和封送的通信库,其首要任务是简化低时延消息传递系统的开发。

ZeroMQ(Zero Message Queue)提供了进程通信的API、套接字和模式,相比于传统的端到端的(1:1的关系)的Socket,ZeroMQ所提供四类通信模式不仅可以支持传统的一对一的通信,还能实现一对多,甚至多对多的通信。人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节。ZeroMQ以统一接口支持多种底层通信方式:线程间通信、进程间通信以及跨主机通信[1]。

相关文档
相关文档 最新文档