[发明专利]一种一写多读高并发无锁环形缓存及其实现方法在审
申请号: | 202011416055.2 | 申请日: | 2020-12-08 |
公开(公告)号: | CN112416816A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 刘士奇;蔡楚煌;黄欣;王中澎;魏胜男;高昀;朱贤;王鹏;张清;王嘉晨;张彧;童兰轩 | 申请(专利权)人: | 上证所信息网络有限公司 |
主分类号: | G06F12/0813 | 分类号: | G06F12/0813 |
代理公司: | 上海三方专利事务所(普通合伙) 31127 | 代理人: | 吴玮 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 一写多读高 并发 环形 缓存 及其 实现 方法 | ||
1.一种一写多读高并发无锁环形缓存,其特征在于所述环形缓存由m个存储节点组成,m为正整数,每个存储节点由读写标记域、数据的实际长度域、节点的索引值域和数据域组成,节点数视为环形缓存的长度,长度需要满足2的n次幂,n为正整数,环形缓存会根据其长度对每个节点进行位置编号,编号是从0开始依次递增的自然数,直到环形缓存的长度减1。
2.如权利要求1所述的一种一写多读高并发无锁环形缓存,其特征在于环形缓存能存储任意数据类型的数据,环形缓存提供读和写数据两个操作接口,读接口会将任意索引值映射到环形缓存数据存储节点的实际编号位置,读取该编号位置的数据,读接口会返回数据域和该节点编号存储的索引值;写接口用来写入数据到缓存中,写接口从节点编号0开始依次写入,到达最大编号时回到编号0的位置,覆盖原有数据,循环进行,满足环形存储,写数据时需要更新节点的索引值,节点的索引值等于缓存中累计写入的数据数量减1。
3.一种如权利要求1所述一写多读高并发无锁环形缓存的实现方法,其特征在于环形缓存根据每个存储节点的读写标记值进行并发控制,每个节点会维护正在写标记和能读标记,能读标记的节点可以写,也可以读;写接口判断当前存储节点的读写标记为能读时,才能写数据,写数据时会先将标记置为正在写,写完后将该标记置为能读,如果写接口判断标记为非能读,则会等待直到标记为能读才能写数据,写接口对标记值的修改需要满足原子操作;读接口判断当前存储节点的读写标记大于等于能读标记时,才能读数据,正在写标记直接退出读操作;读接口在读取某存储节点的数据时,首先将该存储节点的能读标记进行加1,读完数据后将该标记减1,修改标记值要满足原子操作,当所有读操作结束时该存储节点的标记为能读,这样写接口能够在该位置写入数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上证所信息网络有限公司,未经上证所信息网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011416055.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于治疗孤独症社会交往障碍的组合物
- 下一篇:一种电压型电缆通线器