[发明专利]一种共享缓存的方法、装置及电子设备在审
申请号: | 202110442251.5 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113176942A | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 张华;孔庆新 | 申请(专利权)人: | 北京蓝色星云科技发展有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F3/06 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 丁芸;赵元 |
地址: | 102300 北京市门头*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共享 缓存 方法 装置 电子设备 | ||
本发明实施例提供了一种共享缓存的方法、装置及电子设备,所述方法包括:创建并初始化共享内存;建立共享内存的地址与目标进程的虚拟内存地址之间的映射关系;根据创建生产者指令创建生产者,根据创建消费者指令创建消费者;生产者使用顺序插入、顺序覆盖的方式在共享内存中插入待消费数据,并向消费者发送待消费数据的信息,其中,顺序插入、顺序覆盖表示针对共享内存的数据区从头到尾进行重复遍历,以将待消费数据使用顺序插入、顺序覆盖的方式插入共享内存;消费者根据待消费数据的信息,从共享内存中获取待消费数据,并对待消费数据进行处理。本发明,能够提高内存利用率,降低数据处理时延。
技术领域
本发明涉及计算机技术领域,特别是涉及一种共享缓存的方法、装置及电子设备。
背景技术
随着科技的进步,电子设备等硬件性能方面不断提升。在视频数据处理方面,随着视频数据量的增大,视频分辨率也在不断的提升,视频展示的功能也更加复杂,进而电子设备等需要对音视频数据的处理量日益增加,使得对电子设备等的内存容量要求越来越高。
现有为缓解对电子设备等内存容量的需求,一种使用共享缓存的方法为:将内存池划分为固定大小的区块,进而使用所划分的区块对音视频数据进行处理。
然而,实际应用中,音视频数据可以是动态变化的,进而固定大小的内存区块很难满足音视频数据处理的需求,使得内存利用率较低,而实时根据待处理的音视频数据需求重新对内存池进行划分,耗时较长,又会使得数据处理延时较大。
发明内容
本发明实施例的目的在于提供一种共享缓存的方法、装置及电子设备,以提高内存利用率,降低数据处理时延。具体技术方案如下:
第一方面,本发明实施例提供了一种共享缓存的方法,所述方法包括:
创建并初始化共享内存;
建立所述共享内存的地址与目标进程的虚拟内存地址之间的映射关系;
根据创建生产者指令创建生产者,所述生产者用于在所述共享内存中插入待消费数据;
根据创建消费者指令创建消费者,所述消费者用于对插入所述共享内存中的待消费数据进行处理;
所述生产者使用顺序插入、顺序覆盖的方式在所述共享内存中插入待消费数据,并向所述消费者发送待消费数据的信息,所述顺序插入、顺序覆盖表示针对所述共享内存的数据区从头到尾进行重复遍历,以将待消费数据使用顺序插入、顺序覆盖的方式插入所述共享内存;
所述消费者根据所述待消费数据的信息,从所述共享内存中获取待消费数据,并对所述待消费数据进行处理。
可选地,所述共享内存包括:共享内存头控制信息区和数据区,所述数据区包括多个数据块,所述生产者使用顺序插入、顺序覆盖的方式在所述共享内存中插入待消费数据的步骤,包括:
所述生产者顺序遍历所述共享内存的数据区,在所述数据区结尾的可用空间不足以插入所述待消费数据,或者重新遍历所述数据区,在被占用数据块之前的可用空间不足以插入所述待消费数据时,则跳过所述数据块,从所述数据区中顺序获取能够插入所述待消费数据的目标数据块;
将所述待消费数据写入所述目标数据块中。
可选地,所述共享内存包括:共享内存头控制信息区和数据区,所述数据区包括多个数据块,所述数据块包括数据头和数据;所述生产者使用顺序插入、顺序覆盖的方式在所述共享内存中插入待消费数据的步骤,包括:
获取所述共享内存中的数据使用偏移位置;
基于所述数据使用偏移位置遍历所述数据区,确定已获取的内存大小;
判断所述已获取内存大小是否小于目标内存大小与一个数据头大小之和,且所述数据区是否遍历完成;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京蓝色星云科技发展有限公司,未经北京蓝色星云科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110442251.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电池及电子设备
- 下一篇:一种用于应用于五面加工高效除屑的收集装置