【技术实现步骤摘要】
高速共享内存数据收发系统
本专利技术涉及一种基于共享内存的高速且支持灵活配置的数据交互收发系统,主要应用于嵌入式系统、通信系统以及航空机载设备中以共享内存区域为交互基础的高速数据通信中间件的设计与开发领域。
技术介绍
进程间的数据交换和共享是一种非常重要和实用的技术。进程间通讯的方式有多种,常用的有共享内存、命名管道和匿名管道、发送消息等,另外还可以通过socket接口等间接实现进程间的数据通讯任务。以上这几种方法各有优缺点,具体到在进程间进行大数据量数据的快速交换问题上,由于管道和socket套接字的使用需要有网卡的支持,不适用于跨节点以及缺少以太网的应用环境,因此可以不予考虑。这样,可供选择的通讯方式主要就是共享内存和发送消息两种。对于消息传输方式,接收方程序在消息的响应函数中通过随消息传递的参数完成对数据的接收,主要有阻塞式和非阻塞式两种机制。阻塞式的消息发送方式在发出消息后不是马上返回,而是在接收方的消息响应函数处理完之后才能返回,并能够得到返回结果,在此期间发送方程序将被阻塞。而非阻塞式在发出消息后马上返回,其后语句能够被立即执行,但是无法获取消息的执行结果。在消息机制中,由于涉及多次数据拷贝,数据传输效率较低,因此并不适合交换数据量较大的应用场景,另外当数据传输过于频繁时还有可能导致数据的丢失。相比之下,共享内存有着明显的优势。共享内存是一种在进程之间共享和传递数据的高效解决方案,可以以较小的开销获取较高的性能。不同进程之间共享的内存区域通常是允许这些进程访问的同一段物理内存,共享它的进程可以将这段共享内存区域连接到自己的地址空间中,然后对共享 ...
【技术保护点】
1.一种高速共享内存数据收发系统,包括:发送端的数据发送者和实现其数据发送控制的发送逻辑控制单元、接收端的数据接收者和实现其数据接收控制的接收逻辑控制单元,以及对发送逻辑控制单元和接收逻辑单元进行远程配置的管理端的系统数据收发配置管理器,其特征在于:接收逻辑控制单元内的共享内存区域为实现发送端和接收端数据收发交互的共享物理内存区域;共享内存管理器根据数据接收者的申请信息实现对共享内存区域的划分与管理;接收逻辑控制单元内的数据接收控制器实现共享内存区域内收发数据是否有效的判断,并向数据接收者发送数据到达通知信号来告知数据接收者读取数据,同时控制数据接收者从正确的共享内存区域读取数据,数据接收控制器通过调用内部的环形缓冲区接收复位控制器完成接收端初始上电时的复位操作;发送逻辑控制单元首先调用地址转换器完成共享内存地址到本地地址的转换,同时由内部的配置信息注册器将数据发送者录入的共享内存信息存入数据发送配置信息表,然后由数据发送控制器将数据发送者发送的数据写入接收逻辑控制单元内的共享内存区域的正确地址中,并向其内部的数据接收控制器发送中断信号,通知接收端数据已到达;数据发送控制器根据共享内存 ...
【技术特征摘要】
1.一种高速共享内存数据收发系统,包括:发送端的数据发送者和实现其数据发送控制的发送逻辑控制单元、接收端的数据接收者和实现其数据接收控制的接收逻辑控制单元,以及对发送逻辑控制单元和接收逻辑单元进行远程配置的管理端的系统数据收发配置管理器,其特征在于:接收逻辑控制单元内的共享内存区域为实现发送端和接收端数据收发交互的共享物理内存区域;共享内存管理器根据数据接收者的申请信息实现对共享内存区域的划分与管理;接收逻辑控制单元内的数据接收控制器实现共享内存区域内收发数据是否有效的判断,并向数据接收者发送数据到达通知信号来告知数据接收者读取数据,同时控制数据接收者从正确的共享内存区域读取数据,数据接收控制器通过调用内部的环形缓冲区接收复位控制器完成接收端初始上电时的复位操作;发送逻辑控制单元首先调用地址转换器完成共享内存地址到本地地址的转换,同时由内部的配置信息注册器将数据发送者录入的共享内存信息存入数据发送配置信息表,然后由数据发送控制器将数据发送者发送的数据写入接收逻辑控制单元内的共享内存区域的正确地址中,并向其内部的数据接收控制器发送中断信号,通知接收端数据已到达;数据发送控制器根据共享内存区域的状态向数据发送者发送流控反馈信号,通知数据发送者进行流量控制,从而实现数据发送过程的运行控制,数据发送控制器通过调用内部的环形缓冲区发送复位控制器实现发送端初始上电时的复位操作;发送逻辑控制单元和接收逻辑控制单元内的配置命令解析器接收管理端的系统数据收发配置管理器下发的配置命令,实现对各自内部信息的远程配置操作。2.如权利要求1所述的高速共享内存数据收发系统,其特征在于:发送逻辑控制单元包含接收来自数据发送者的发送数据,向数据发送者抛出流控反馈信号,并连接环形缓冲区发送复位控制器和数据发送配置信息表的数据发送控制器,接收数据发送者录入的共享内存信息,并连接地址转换器、配置命令解析器和数据发送配置信息表的配置信息注册器;数据发送配置信息表存储共享内存和发送配置信息;配置信息注册器将数据发送者录入的共享内存信息经过地址转换器实现远端共享内存地址到本地地址的转换后存入数据发送配置信息表;数据发送控制器通过读取数据发送配置信息表中的信息,对共享内存区域进行数据发送控制,并完成共享内存区域数据读写操作;环形缓冲区发送复位控制器在发送端上电或重启时找到正确的数据写入位置;配置命令解析器接收来自管理端的系统数据收发配置管理器下发的配置命令。3.如权利要求1所述的高速共享内存数据收发系统,其特征在于:接收逻辑控制单元包含向数据接收者发送数据到达通知信号和接收到的数据,并连接环形缓冲区接收复位控制器和共享内存区域划分配置表的数据接收控制器,接收来自数据接收者的共享内存区域申请,并连接配置命令解析器以及共享内存区域划分配置表的共享内存管理器;共享内存区域划分配置表存储共享内存区域划分及分配信息;共享内存管理器对共享内存区域进行管理,根据数据接收者的共享内存区域申请信息进行共享内存分配,并将共享内存区域划分及分配信息存入共享内存区域划分配置表;数据接收控制器通过读取共享内存区域划分配置表中的信息,对共享内存区域进行数据读取控制,并完成共享内存区域数据读写操作;环形缓冲区接收复位控制器在接收端上电或重启时找到正确的数据读取位置;配置命令解析器接收来自管理端的系统数据收发配置管理器下发的配置命令。4.如权利要求1所述的高速共享内存数据收发系统,其特征在于:数据发送控制器和数据接收控制器通过循环缓冲区的共享内存管理机制,按照用户指定的数据包大小与缓冲包数量将共享内存区域形成循环缓冲区来实现数据收发操作;数据发送控制器在完成数据发送后向数据接收控制器发送中断信号,数据发送者在发送数据时按照顺序依次向循环缓冲区的不同块内写入数据,而数据接收者则按照顺序依次读取;接收逻辑控制单元将数据发送者发送的数据存储在共享内存区域中,当数据接收者读取数据不及时,可以对数据发送者发送的数据进行缓存。5.如权利要求1所述的高速共享内存数据收发系统,其特征在于:共享内存区域由接收逻辑控制单元进行管理,由数据接收者根据应用需求或系统规划向接收逻辑控制单元内的共享内存管理器进行共享内存区域申请,并将申请得到的共享内存区域地址、事件号、以及申请时指定的数据包大小、缓冲数据包数量信息告知数据发送者,由数据发送者向发送...
【专利技术属性】
技术研发人员:李鹏,孙学,
申请(专利权)人:西南电子技术研究所中国电子科技集团公司第十研究所,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。