[发明专利]用于传输消息的方法和装置有效
申请号: | 201610693101.0 | 申请日: | 2016-08-19 |
公开(公告)号: | CN107765991B | 公开(公告)日: | 2019-03-01 |
发明(设计)人: | 夏黎明;冯靖超;王全;曲宁;何玮;邓呈亮;冯凯文;陈卓 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 传输 消息 方法 装置 | ||
本申请公开了用于传输消息的方法和装置。所述方法的一具体实施方式包括:将操作系统分配的共享内存区划分为用于存储不同优先级消息的多个内存块;对于所述多个内存块中的每个内存块,将该内存块划分为具有连续的序号的至少一个内存单元;根据待传输消息的优先级从所述多个内存块中确定出用于存储所述待传输消息的目标内存块;将所述待传输消息写入所述目标内存块的内存单元。该实施方式实现了基于消息的优先级传输消息,提高了智能化控制系统控制的安全性。
技术领域
本申请涉及计算机技术领域,具体涉及信息传输技术领域,尤其涉及用于传输消息的方法和装置。
背景技术
随着信息技术的快速发展,越来越多的设备实现了智能化控制。例如,车载智能大脑实现了无人驾驶车辆的智能化控制,车载智能大脑通过下达加速、减速、转弯等控制指令来控制无人驾驶车辆的行驶。在对设备进行智能化控制时需要传输种类众多的消息,其中有些消息必须优于其他消息率先做出响应,例如无人驾驶车辆在正常行驶过程中车辆前方突然出现一个行人,此时车载智能大脑会下发紧急刹车的指令,该指令需要立即被执行才能保障行人和车辆的安全。
现阶段,智能化控制系统可以采用套接头(Socket)通信方式,通信过程中发送节点和接收节点通过向缓冲队列(buffer queue)中读写消息实现消息的传输。然而,缓冲队列在消息的读写过程中采用FIFO(First Input First Output,先进先出)机制,接收节点依次读取发送节点向队列中写入的消息,先发送的消息优先被接收节点读取。这种通信方式并没有针对消息的紧急程度进行区别处理,往往会给人类以及设备本身带来严重安全隐患。
发明内容
本申请的目的在于提出一种改进的用于传输消息的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于传输消息的方法,所述方法包括:将操作系统分配的共享内存区划分为用于存储不同优先级消息的多个内存块;对于所述多个内存块中的每个内存块,将该内存块划分为具有连续的序号的至少一个内存单元;根据待传输消息的优先级从所述多个内存块中确定出用于存储所述待传输消息的目标内存块;将所述待传输消息写入所述目标内存块的内存单元。
在一些实施例中,所述将所述待传输消息写入所述目标内存块的内存单元,包括:从所述目标内存块中确定当前未被写入的内存单元作为所述待传输消息的待写入内存单元;对所述待写入内存单元进行加锁操作之后,将所述待传输消息写入所述待写入内存单元;响应于所述待写入内存单元被写入结束,对所述待写入内存单元执行解锁操作,并通过广播发送写入结束的通知。
在一些实施例中,所述将操作系统分配的共享内存区划分为用于存储不同优先级消息的多个内存块,包括:将操作系统分配的共享内存区划分为普通优先级内存块和至少一个高优先级内存块,其中,消息的优先级包括普通优先级和不同级别的高优先级,高优先级的级别数与所述至少一个高优先级内存块的数量相对应,所述普通优先级内存块用于存储优先级为普通优先级的消息,各个高优先级内存块分别用于存储不同级别的高优先级消息。
在一些实施例中,当所述待传输消息的优先级为高优先级时,所述方法还包括:在将所述待传输消息写入所述目标内存块的内存单元之后,将该内存单元的标志位设置为真。
第二方面,本申请提供了一种用于传输消息的方法,所述方法包括:将操作系统的共享内存区的地址映射到自身的地址空间内,其中,所述共享内存区包括普通优先级内存块和至少一个高优先级内存块,所述普通优先级内存块和所述至少一个高优先级内存块都包括设置有连续序号的至少一个内存单元;响应于所述普通优先级内存块的一个内存单元消息被读取结束,查找所述至少一个高优先级内存块中是否有标志位为真的内存单元;如果有,则从标志位为真的内存单元读取消息,并在读取结束之后将标志位设置为假。
在一些实施例中,所述方法还包括:如果没有,则读取所述普通优先级内存块中被最后读取结束的内存单元的下一个内存单元存储的消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610693101.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种系统磁盘管理方法和装置
- 下一篇:一种处理数据的方法和装置