[发明专利]基于队列的数据处理方法、装置、设备和介质在审
申请号: | 201810987716.3 | 申请日: | 2018-08-28 |
公开(公告)号: | CN109271242A | 公开(公告)日: | 2019-01-25 |
发明(设计)人: | 冯凯文;陈卓;党跃东;李科磊;鲍万宇;倪忠俊 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 队列 目标队列 索引 数据处理 读取 数据读取操作 数据读取指令 数据写入操作 数据写入指令 系统数据处理 并发性能 长度固定 读取目标 自动驾驶 | ||
本发明实施例公开了一种基于队列的数据处理方法、装置、设备和介质,涉及自动驾驶领域。该方法包括:接收对目标队列的数据写入指令或数据读取指令,其中所述目标队列是长度固定的有界队列;读取目标队列的尾索引取值和头索引取值;依据读取的尾索引取值、头索引取值以及目标队列的长度,对所述目标队列执行数据写入操作或数据读取操作。本发明实施例提供了一种基于队列的数据处理方法、装置、设备和介质,提高了系统数据处理的并发性能。
技术领域
本发明实施例涉及自动驾驶领域,尤其涉及一种基于队列的数据处理方法、装置、设备和介质。
背景技术
自动驾驶系统中任务调度等模块中会用到队列这种数据结构,在并发环境下,为了保证数据的一致性,必须对队列进行加锁保护。加锁保护后的队列只允许一个线程对该队列进行读操作或写操作(对应队列的出队或入队),操作过程中不允许其他线程对该队列进行操作。
上述方案通过对队列加锁保护,使得一个线程完成对该队列的操作后,另一个线程才可以对该队列进行操作。
然而往往数据入队或出队过程中,也存在着数据的动态创建和复制,上述方案无疑限制了系统并发的性能。
发明内容
本发明实施例提供一种基于队列的数据处理方法、装置、设备和介质,以提高系统数据处理的并发性能。
第一方面,本发明实施例提供了一种基于队列的数据处理方法,该方法包括:
接收对目标队列的数据写入指令或数据读取指令,其中所述目标队列是长度固定的有界队列;
读取目标队列的尾索引取值和头索引取值;
依据读取的尾索引取值、头索引取值以及目标队列的长度,对所述目标队列执行数据写入操作或数据读取操作。
第二方面,本发明实施例还提供了一种基于队列的数据处理装置,其特征在于,包括:
指令接收模块,用于接收对目标队列的数据写入指令或数据读取指令,其中所述目标队列是长度固定的有界队列;
索引读取模块,用于读取目标队列的尾索引取值和头索引取值;
数据操作模块,用于依据读取的尾索引取值、头索引取值以及目标队列的长度,对所述目标队列执行数据写入操作或数据读取操作。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的基于队列的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的基于队列的数据处理方法。
本发明实施例通过依据目标队列的尾索引取值、头索引取值以及目标队列的长度确定是否执行数据写入操作或数据读取操作,而不对目标队列进行加锁,从而使得多个线程可同时对队列进行操作,进而提高系统数据处理的并发性能。
附图说明
图1为本发明实施例一提供的一种基于队列的数据处理方法的流程图;
图2是本发明实施例二提供的一种基于队列的数据处理方法的流程图;
图3是本发明实施例三提供的一种基于队列的数据处理方法的流程图;
图4是本发明实施例四提供的一种基于队列的数据处理方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810987716.3/2.html,转载请声明来源钻瓜专利网。