[发明专利]一种数据存储系统的维护方法、装置和移动终端有效
申请号: | 201910133680.7 | 申请日: | 2019-02-22 |
公开(公告)号: | CN109885573B | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 黄全;李泽隆 | 申请(专利权)人: | 广州荔支网络技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 44610 广州佳睿知识产权代理事务所(普通合伙) | 代理人: | 李健富 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 哈希表 线程 持久化 数据存储系统 索引 数据文件 热点数据 索引文件 移动终端 自动识别 磁盘 内存 存储 缓存 磁盘空间 内存资源 索引信息 只读数据 有效地 淘汰 删除 过期 维护 更新 统计 | ||
1.一种数据存储系统的维护方法,其特征在于,所述数据存储系统包括存储在内存中的热点统计哈希表、多个数据哈希表和多个索引哈希表,以及存储在磁盘中的多个数据文件和多个索引文件;
所述数据存储系统中设置有持久化线程、整理线程和淘汰线程;
所述方法包括:
所述持久化线程将所述数据哈希表持久化处理至所述数据文件中;
所述持久化线程将所述索引哈希表持久化处理至所述索引文件中;
所述整理线程根据所述索引哈希表整理所述数据文件中的数据,并更新所述索引哈希表中对应的索引信息;
所述淘汰线程删除过期的只读数据哈希表;
其中,所述淘汰线程删除过期的只读数据哈希表,包括:
所述淘汰线程判断所述只读数据哈希表是否已过期;
在所述只读数据哈希表已过期的情况下,根据所述热点统计哈希表从所述只读数据哈希表中查找热点数据;
在从所述只读数据哈希表中查找到所述热点数据的情况下,判断与所述只读数据哈希表对应的所述数据哈希表中是否存在所述热点数据;
在所述数据哈希表中不存在所述热点数据的情况下,修改所述热点数据的记录状态,并将所述热点数据存储至一个所述数据哈希表中;
删除所述只读数据哈希表。
2.根据权利要求1所述的方法,其特征在于,所述持久化线程将所述数据哈希表持久化处理至所述数据文件中,包括:
所述持久化线程获取第一索引哈希表的读锁;其中,所述第一索引哈希表对应待持久化处理的第一数据哈希表;
在获取到所述读锁的情况下,创建第二数据哈希表;
在所述第一索引哈希表中将索引信息修改为对应所述第二数据哈希表;
将所述第一数据哈希表设置为只读状态;
从所述多个数据文件中确定待写入的第一数据文件;
遍历所述第一数据哈希表;
在所述第一数据文件存在写入空间的情况下,将所述第一数据哈希表中的待持久化数据写入所述第一数据文件;
更新所述第一索引哈希表中的索引信息;
释放所述第一索引哈希表的读锁。
3.根据权利要求2所述的方法,其特征在于,在所述遍历所述第一数据哈希表之后,所述方法还包括:
在所述第一数据文件不存在写入空间的情况下,创建第二数据文件;
将所述第一数据哈希表中的待持久化数据写入所述第二数据文件中。
4.根据权利要求1所述的方法,其特征在于,所述持久化线程将所述索引哈希表持久化处理至所述索引文件中,包括:
所述持久化线程复制第二索引哈希表得到快照索引哈希表;其中所述第二索引哈希表为待持久化处理的索引哈希表;
将所述快照索引哈希表中的索引信息写入所述索引文件中;
删除所述快照哈希索引表。
5.根据权利要求1所述的方法,其特征在于,所述整理线程根据所述索引哈希表整理所述数据文件中的数据,并更新所述索引哈希表中的索引信息,包括:
所述整理线程根据第三索引哈希表确定待整理的第三数据文件;
将所述第三数据文件中的待整理数据写入到第四数据文件中;
根据所述第四数据文件更新所述第三索引哈希表中的索引信息;
删除所述第三数据文件。
6.根据权利要求5所述的方法,其特征在于,所述整理线程根据第三索引哈希表确定待整理的第三数据文件,包括:
所述整理线程获取所述第三索引哈希表的写锁;
遍历所述第三索引哈希表;
根据所述第三索引哈希表从多个索引文件中确定目标索引文件;
根据所述目标索引文件确定所述待整理的第三数据文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州荔支网络技术有限公司,未经广州荔支网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910133680.7/1.html,转载请声明来源钻瓜专利网。