[发明专利]一种环形缓冲区读写方法和装置在审
| 申请号: | 202110405995.X | 申请日: | 2021-04-15 |
| 公开(公告)号: | CN113064743A | 公开(公告)日: | 2021-07-02 |
| 发明(设计)人: | 张荣晋 | 申请(专利权)人: | 张荣晋 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52;G06F12/02 |
| 代理公司: | 北京化育知识产权代理有限公司 11833 | 代理人: | 尹均利 |
| 地址: | 066000 河北省秦*** | 国省代码: | 河北;13 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 环形 缓冲区 读写 方法 装置 | ||
1.一种环形缓冲区读写方法,其特征在于,包括:
获取环形缓冲区的长度N,其中,所述环形缓冲区的长度为N标识所述环形缓冲区中有N个元素,所述环形缓冲区的相邻元素之间的地址间隔是相同的;
将所述环形缓冲区分为M个组,其中,所述M个组中的每个组中的相邻元素之间的地址间隔是相同的;所述M个组分别作为所述环形缓冲区的子环形缓冲区,每个组为一个子环形缓冲区,所述子环形缓冲区的数量为M个;
对所述M个子环形缓冲区中的一个或多个进行读操作,或者进行写操作。
2.根据权利要求1所述的方法,其特征在于,
对所述M个子环形缓冲区中的一个或多个进行读操作包括:在对所述环形缓冲区进行写操作的情况下,从所述M个子环形缓冲区中的多个子环形缓冲区进行读操作;或者,
对所述M个子环形缓冲区中的一个或多个进行写操作包括:在对所述环形缓冲区进行读操作的情况下,从所述M个子环形缓冲区中的多个子环形缓冲区进行写操作。
3.根据权利要求1或2所述的方法,其特征在于,
所述N大于等于所述M,所述N和所述M均为正整数,所述N能被所述M整除。
4.根据权利要求3所述的方法,其特征在于,每个所述子环形缓冲区中的相邻元素之间的地址间隔均相同。
5.根据权利要求4所述的方法,其特征在于,
所述环形缓冲区的第p个元素的地址为:(i*p+offset)%N,其中,i为所述环形缓冲区的相邻元素之间的地址间隔,offset为第0个元素的地址,N为所述环形缓冲区的长度,%为模运算;
每个所述子环形缓冲区的第p个元素的地址为:(j*p+m)%N,其中,j为所述子环形缓冲区的相邻元素之间的地址间隔,m为每个子环形缓冲区第0个元素的地址,其中,j大于i。
6.一种环形缓冲区读写装置,其特征在于,包括:
获取模块,用于获取环形缓冲区的长度N,其中,所述环形缓冲区的长度为N标识所述环形缓冲区中有N个元素,所述环形缓冲区的相邻元素之间的地址间隔是相同的;
划分模块,用于将所述环形缓冲区分为M个组,其中,所述M个组中的每个组中的相邻元素之间的地址间隔是相同的,所述M个组分别作为所述环形缓冲区的子环形缓冲区,每个组为一个子环形缓冲区,所述子环形缓冲区的数量为M个;
读写模块,用于对所述M个子环形缓冲区中的一个或多个进行读操作,或者进行写操作。
7.根据权利要求6所述的装置,其特征在于,
所述读写模块,用于在对所述环形缓冲区进行写操作的情况下,从所述M个子环形缓冲区中的多个子环形缓冲区进行读操作;或者,
所述读写模块,用于在对所述环形缓冲区进行读操作的情况下,从所述M个子环形缓冲区中的多个子环形缓冲区进行写操作。
8.根据权利要求6或7所述的装置,其特征在于,
所述N大于等于所述M,所述N和所述M均为正整数,所述N能被所述M整除。
9.根据权利要求8所述的装置,其特征在于,每个所述子环形缓冲区中的相邻元素之间的地址间隔均相同。
10.根据权利要求9所述的装置,其特征在于,
所述环形缓冲区的第p个元素的地址为:(i*p+offset)%N,其中,i为所述环形缓冲区的相邻元素之间的地址间隔,offset为第0个元素的地址,N为所述环形缓冲区的长度,%为模运算;
每个所述子环形缓冲区的第p个元素的地址为:(j*p+m)%N,其中,j为所述子环形缓冲区的相邻元素之间的地址间隔,m为每个子环形缓冲区第0个元素的地址,其中,j大于i。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于张荣晋,未经张荣晋许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110405995.X/1.html,转载请声明来源钻瓜专利网。





