一种支持多读多写的确定性消息队列实现方法、装置及介质制造方法及图纸

技术编号:42627288 阅读:20 留言:0更新日期:2024-09-06 01:29
本发明专利技术涉及通信领域,具体是实时系统确定性通信技术领域的一种支持多读多写的确定性消息队列实现方法、装置及介质。本发明专利技术逻辑上提供一种消息队列,该消息队列由若干个独立的支持进程内一对一确定性消息子队列和消息写同步服务及消息读同步服务组成。该消息队列提供消息发布服务和消息订阅服务,可供Xenomai环境下同一进程内的多个任务通过该消息队列进行消息发布,同一进程内的另外多个任务通过该消息队列进行消息订阅,该消息队列的消息通信是确定性的。该方法可以解决Xenomai环境下同一进程内多个任务间的多对多确定性通信问题,多个任务间通信的平均迟延一般小于10微秒,实时性非常好。

【技术实现步骤摘要】

本专利技术涉及通信领域,具体是实时系统确定性通信的一种支持多读多写的确定性消息队列实现方法、装置及介质


技术介绍

1、xenomai 是一个在 linux 平台上使用的实时框架,它通过提供一个额外的实时内核,增强了 linux 的实时性,使得 linux 能够满足硬实时系统的需求。xenomai 允许实时应用程序与标准 linux 内核并行运行,从而在保持 linux 系统丰富的功能和生态的同时,提供确定性的实时性能。它支持多种实时操作系统的 api,如 vxworks、qnx 等,使得这些系统的应用程序能够更容易地迁移到 linux 平台。

2、确定性消息通信在保证可靠性的同时必须在特定的时间内完成,在xenomai等实时环境下,这个特定时间非常短,通常只有几十微秒甚至几微秒,因此要求非常高。xenomai提供了进程内一个任务对另一个任务(简称一对一)的消息通信,在消息大小不是很大及吞吐量不大的情况下,xenomai可以提供确定性消息通信,但消息较大(如消息大小为mb级及以上)或每秒钟处理的消息数多时,xenomai就不能保证了。xenom本文档来自技高网...

【技术保护点】

1.一种支持多读多写的确定性消息队列实现方法,其特征在于:本方法提供一种消息队列,Xenomai环境下同一进程内的多个任务通过本消息队列进行消息发布,同一进程内的另外多个任务通过本消息队列进行消息订阅,本消息队列的消息通信是确定性的;

2.根据权利要求1所述的支持多读多写的确定性消息队列实现方法,其特征在于:本方法提供的消息队列被封装为类,各子队列被封装为该类的子类,消息写同步服务和消息读同步服务为该类的方法。

3.根据权利要求2所述的支持多读多写的确定性消息队列实现方法,其特征在于:该类还包括发布队列增加方法、发布队列删除方法、订阅队列增加方法和订阅队列删除方法...

【技术特征摘要】

1.一种支持多读多写的确定性消息队列实现方法,其特征在于:本方法提供一种消息队列,xenomai环境下同一进程内的多个任务通过本消息队列进行消息发布,同一进程内的另外多个任务通过本消息队列进行消息订阅,本消息队列的消息通信是确定性的;

2.根据权利要求1所述的支持多读多写的确定性消息队列实现方法,其特征在于:本方法提供的消息队列被封装为类,各子队列被封装为该类的子类,消息写同步服务和消息读同步服务为该类的方法。

3.根据权利要求2所述的支持多读多写的确定性消息队列实现方法,其特征在于:该类还包括发布队列增加方法、发布队列删除方法、订阅队列增加方法和订阅队列删除方法,发布队列增加方法是将一个写子队列动态加入到该类中,发布队列删除方法是将一个写子队列从该类中动态移除,订阅队列增加方法是将一个读子队列动态加入到该类中,订阅队列删除方法是将一个读子队列从该类中动态移除。

4.根据权利要求1所述的支持多读多写的确定性消息队列实现方法,其特征在于:消息队列中的各个子队列都是在xenomai环境下支持一对一通信的确定性消息队列。

5.根据权利要求4所述的支持多读多写的确定性消息队列实现方法,其特征在于:支持一对一通信的确定性消息队列为环形队列,环形队列包括3个以上的消息节点,3个以上的消息节点动态划分为满节点、空节点和缓冲节点,缓冲节点是必...

【专利技术属性】
技术研发人员:李朝铭
申请(专利权)人:浪潮智能终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1