嵌入式IPC组件
本文最后更新于:17 天前
IPC组件
一、模块简介
IPC(Interprocess communication)模块是指模块间通信模块,主要实现的功能是消息的订阅、消息的发送接收处理业务。模块的功能比较简单,实现也相对简单。
二、需求分析
- 模块间的消息传递一对多消息和一对一消息,所有的消息都是先经过IPC模块再进行分发,按照模块的消息订阅情况判断消息是否需要分发给每个模块。
- 消息从发送模块到接收模块要求比较高的执行效率。
三、架构设计
- IPC模块的设计复合设计模式中的代理设计模式,除了IPC以外的业务模块通过IPC模块实现间接通信,解除模块之间的耦合。
- IPC的通信分为同步处理和异步处理,选择拿种处理方式需要结合产品的特点、软件整体设计综合考虑
- IPC的异步处理可能会出现消息没来及消费的问题,如果阻塞则会影响生产者消息传递,并且有消息丢失的可能性。阻塞时间需要短或者不阻塞,为了保证消息不丢失需要在消息队列溢出时把溢出的消息及时消费。
- IPC模块与其他模块的交互就是消息的接收和消息的转发,消息的接收可以是一个统一的接口给其他模块调用,消息的分发需要保存一张消息接收的表,表头包含模块的订阅判断函数指针。
- 应用场景
落地实践
嵌入式IPC组件
https://hudaxia.top/2022/03/17/组件-IPC实现/