[发明专利]一种缓存数据处理方法、装置、电子设备及存储介质有效
申请号: | 201811474776.1 | 申请日: | 2018-12-04 |
公开(公告)号: | CN109543080B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 方明 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901;G06F12/123 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100080 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据处理 方法 装置 电子设备 存储 介质 | ||
1.一种缓存数据处理方法,其特征在于,包括:
生成与缓存中的缓存数据对应的基础映射表,并对所述基础映射表进行分组,得到预设数量的分组映射表,其中,所述基础映射表中包括所有缓存数据的键名和所述所有缓存数据在链表中的位置;
获取数据处理请求,并确定所述数据处理请求中的目标键名;
并行在各所述分组映射表中查询所述目标键名;
根据查询结果以及所述数据处理请求的类型,对所述缓存中的缓存数据进行处理,其中,如果在所述分组映射表中查询到所述目标键名,则将所述目标键名和预设等待时间进行打包得到打包数据,并将所述打包数据放入预设的无锁队列中;所述无锁队列用于定期将队列中的打包数据放入预设的定时器的数组中;在确定所述定时器计时至所述打包数据的所述预设等待时间时,根据所述数据处理请求的类型对所述链表中与所述目标键名对应的缓存数据进行处理。
2.根据权利要求1所述的方法,其特征在于,将所述目标键名和预设等待时间进行打包得到打包数据,并将所述打包数据放入预设的无锁队列中,包括:
将所述键名和预设等待时间打包,得到打包数据;
在获取预设数量的打包数据后,将所述预设数量的打包数据放入所述无锁队列中。
3.根据权利要求1或2所述的方法,其特征在于,根据所述数据处理请求的类型对所述链表中与所述目标键名对应的缓存数据进行处理,包括:
如果所述数据处理请求的类型为数据写入,则获取所述数据处理请求中与所述目标键名对应的新数据,并使用所述新数据更新所述链表中与所述目标键名对应的缓存数据;
如果所述数据处理请求的类型为数据读取,则在所述链表中获取与所述目标键名对应的缓存数据,生成与所述数据处理请求对应的请求反馈结果。
4.根据权利要求1所述的方法,其特征在于,根据查询结果以及所述数据处理请求的类型,对所述缓存中的缓存数据进行处理,包括:
如果在所述分组映射表中未查询到所述目标键名,且所述数据处理请求的类型为数据写入,则获取所述数据处理请求中与所述目标键名对应的新数据,将所述新数据添加至所述链表,并更新所述基础映射表;
如果在所述分组映射表中未查询到所述目标键名,且所述数据处理请求的类型为数据读取,则生成提示信息,并发送所述提示信息。
5.一种缓存数据处理装置,其特征在于,包括:
映射表分组模块,用于生成与缓存中的缓存数据对应的基础映射表,并对所述基础映射表进行分组,得到预设数量的分组映射表,其中,所述基础映射表中包括所有缓存数据的键名和所述所有缓存数据在链表中的位置;
键名确定模块,用于获取数据处理请求,并确定所述数据处理请求中的目标键名;
键名查询模块,用于并行在各所述分组映射表中查询所述目标键名;
数据处理模块,用于根据查询结果以及所述数据处理请求的类型,对所述缓存中的缓存数据进行处理,包括:数据放入子模块,用于如果在所述分组映射表中查询到所述目标键名,则将所述目标键名和预设等待时间进行打包得到打包数据,并将所述打包数据放入预设的无锁队列中;其中,所述无锁队列用于定期将队列中的打包数据放入预设的定时器的数组中;数据处理子模块,用于在确定所述定时器计时至所述打包数据的所述预设等待时间时,根据所述数据处理请求的类型对所述链表中与所述目标键名对应的缓存数据进行处理。
6.根据权利要求5所述的装置,其特征在于,数据放入子模块包括:
打包数据生成单元,用于将所述键名和预设等待时间打包,得到打包数据;
打包数据放入单元,用于在获取预设数量的打包数据后,将所述预设数量的打包数据放入所述无锁队列中。
7.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的缓存数据处理方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一所述的缓存数据处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811474776.1/1.html,转载请声明来源钻瓜专利网。