[发明专利]一种数据存储系统的维护方法、装置和移动终端有效
申请号: | 201910133680.7 | 申请日: | 2019-02-22 |
公开(公告)号: | CN109885573B | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 黄全;李泽隆 | 申请(专利权)人: | 广州荔支网络技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 44610 广州佳睿知识产权代理事务所(普通合伙) | 代理人: | 李健富 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 哈希表 线程 持久化 数据存储系统 索引 数据文件 热点数据 索引文件 移动终端 自动识别 磁盘 内存 存储 缓存 磁盘空间 内存资源 索引信息 只读数据 有效地 淘汰 删除 过期 维护 更新 统计 | ||
本发明涉及一种数据存储系统的维护方法、装置和移动终端。数据存储系统包括存储在内存中的热点统计哈希表、多个数据哈希表和多个索引哈希表,以及存储在磁盘中的多个数据文件和多个索引文件;数据存储系统中设置有持久化线程、整理线程和淘汰线程;持久化线程将数据哈希表持久化处理至数据文件中;持久化线程将索引哈希表持久化处理至索引文件中;整理线程根据索引哈希表整理数据文件中的数据,并更新索引哈希表中对应的索引信息;淘汰线程删除过期的只读数据哈希表。通过本发明实施例,可以实现自动识别出热点数据并保持热点数据长期缓存在内存、自动识别出“冷”数据并持久化到磁盘等功能,节省了内存资源,有效地利用了内存和磁盘空间。
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据存储系统的维护方法、装置和移动终端。
背景技术
在互联网行业中,在整个系统里面,频繁操作的数据往往只占整体数据的一小部分,这一小部分数据,我们称之为热点数据。而这一小部分数据的操作效率,却往往影响整个系统的吞吐量、稳定性以及用户体验。
如何高效地操作(增删改查)这些热点数据,一直是数据存储技术领域的追求。并且,对于传统的数据库,因为在设计上需要提供各种复杂的查询功能,所以单台数据库的并发查询性能并不高,不是很适合直接用在高并发场景。
现有技术中在数据库上面再加一层缓存,以适应高并发场景,但是没有自动识别出热点数据并保持热点数据长期缓存在内存、自动识别出“冷”数据并持久化到磁盘的功能,所以存在内存被浪费掉,磁盘空间不能得到有效利用的问题。
发明内容
本发明公开了一种数据存储系统的维护方法、装置和移动终端,以解决现有技术中数据存储系统中存在大量冷数据,浪费内存资源的问题。
第一方面,本发明提供了一种数据存储系统的维护方法,所述数据存储系统包括存储在内存中的热点统计哈希表、多个数据哈希表和多个索引哈希表,以及存储在磁盘中的多个数据文件和多个索引文件;
所述数据存储系统中设置有持久化线程、整理线程和淘汰线程;
所述方法包括:
所述持久化线程将所述数据哈希表持久化处理至所述数据文件中;
所述持久化线程将所述索引哈希表持久化处理至所述索引文件中;
所述整理线程根据所述索引哈希表整理所述数据文件中的数据,并更新所述索引哈希表中对应的索引信息;
所述淘汰线程删除过期的只读数据哈希表。
优选地,所述持久化线程将所述数据哈希表持久化处理至所述数据文件中,包括:
所述持久化线程获取第一索引哈希表的读锁;其中,所述第一索引哈希表中对应待持久化处理的第一数据哈希表;
在获取到所述读锁的情况下,创建第二数据哈希表;
在所述第一索引哈希表中将索引信息修改为对应所述第二数据哈希表;
将所述第一数据哈希表设置为只读状态;
从多个数据文件中确定待写入的第一数据文件;
遍历所述第一数据哈希表;
在所述第一数据文件存在写入空间的情况下,将所述第一数据哈希表中的待持久化数据写入所述第一数据文件;
更新所述第一索引哈希表中的索引信息;
释放所述第一索引哈希表的读锁。
优选地,在所述遍历所述第一数据哈希表之后,所述方法还包括:
在所述第一数据文件不存在写入空间的情况下,创建第二数据文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州荔支网络技术有限公司,未经广州荔支网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910133680.7/2.html,转载请声明来源钻瓜专利网。