嵌入式IPC组件

本文最后更新于:17 天前

IPC组件

一、模块简介

IPC(Interprocess communication)模块是指模块间通信模块,主要实现的功能是消息的订阅、消息的发送接收处理业务。模块的功能比较简单,实现也相对简单。

二、需求分析

  • 模块间的消息传递一对多消息和一对一消息,所有的消息都是先经过IPC模块再进行分发,按照模块的消息订阅情况判断消息是否需要分发给每个模块。
  • 消息从发送模块到接收模块要求比较高的执行效率。

三、架构设计

  • IPC模块的设计复合设计模式中的代理设计模式,除了IPC以外的业务模块通过IPC模块实现间接通信,解除模块之间的耦合。
  • IPC的通信分为同步处理和异步处理,选择拿种处理方式需要结合产品的特点、软件整体设计综合考虑
  • IPC的异步处理可能会出现消息没来及消费的问题,如果阻塞则会影响生产者消息传递,并且有消息丢失的可能性。阻塞时间需要短或者不阻塞,为了保证消息不丢失需要在消息队列溢出时把溢出的消息及时消费。
  • IPC模块与其他模块的交互就是消息的接收和消息的转发,消息的接收可以是一个统一的接口给其他模块调用,消息的分发需要保存一张消息接收的表,表头包含模块的订阅判断函数指针。
  • 应用场景
    一对一消息
    一对多消息

落地实践

实践仓库-github


嵌入式IPC组件
https://hudaxia.top/2022/03/17/组件-IPC实现/
作者
胡大侠
发布于
2022年3月17日
更新于
2023年3月10日
许可协议