CN107451190A - 可持久化非关系型数据库的数据处理方法及装置 - Google Patents
可持久化非关系型数据库的数据处理方法及装置 Download PDFInfo
- Publication number
- CN107451190A CN107451190A CN201710492954.2A CN201710492954A CN107451190A CN 107451190 A CN107451190 A CN 107451190A CN 201710492954 A CN201710492954 A CN 201710492954A CN 107451190 A CN107451190 A CN 107451190A
- Authority
- CN
- China
- Prior art keywords
- metadata
- ttl
- data
- pending
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Abstract
本发明提供了一种可持久化非关系型数据库的数据处理方法及装置。本发明的可持久化非关系型数据库的数据处理方法包括:获取磁盘ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据;若待处理ttl元数据的元数据键包括的过期时间不晚于当前时间,则删除待处理ttl元数据和与待处理ttl元数据对应的数据,将与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。本发明的可持久化非关系型数据库的数据处理方法及装置在实现了生存时间功能的同时,保证了先过期的数据先删除,节约了扫描资源。
Description
技术领域
本发明涉及通信工程技术,尤其涉及一种可持久化非关系型数据库的数据处理方法及装置。
背景技术
Redis是一个开源的、支持网络、可基于内存也可持久化的日志型、Key-Value数据库,但其做为内存数据库存在存储容量小,单位存储成本高等缺点。为此,新开发的一些非关系型数据库作为Redis的替代品,持久化数据到磁盘上,实现了数据的海量存储,同时支持Redis丰富的数据结构,克服了传统的可持久化非关系型数据库,比如RocksDB,LevelDB等仅支持键值对单一数据结构的缺陷。
作为缓存使用的非关系型数据库,其生存时间(time-to-live,简称ttl)功能是非常重要的,ttl功能可以用来管理非关系型数据库中的过期数据,以将过期数据删除。但是Redis的ttl功能是基于内存定时器模型的,这种内存定时器模型无法支持上述可持久化非关系型数据库中海量数据的需求,而传统的可持久化数据库,比如RocksDB,LevelDB等并不支持ttl功能。
因此,急需一种针对可持久化非关系型数据库的数据处理方法,以实现可持久化非关系型数据库的ttl功能。
发明内容
本发明提供一种可持久化非关系型数据库的数据处理方法及装置,以实现可持久化非关系型数据库的ttl功能。
本发明提供一种可持久化非关系型数据库的数据处理方法,包括:
当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,所述过期时间用于指示与所述待处理ttl元数据对应的所述磁盘数据空间中的数据的过期时间;所述ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,所述数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与待处理ttl元数据对应的数据,并将所述ttl元数据空间中的与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
如上所述的方法,所述待处理的ttl元数据的元数据键还包括:与所述待处理的ttl元数据对应的数据的键值,所述键值包括在所述数据的数据键中;
若所述待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与所述待处理ttl元数据对应的数据,包括:
获取待处理ttl元数据的元数据键中包括的所述键值;
根据所述键值,在所述数据空间获取所述数据的数据值中包括的过期时间;
若所述数据值中包括的过期时间早于或等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与所述待处理ttl元数据对应的数据。
如上所述的方法,若所述待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间且所述数据值中包括的过期时间晚于相应的当前时间,则将与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。
如上所述的方法,若所述待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;
当到达所述待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。
如上所述的方法,若所述待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;
经历预设时长后,启动下次扫描过期数据的过程。
如上所述的方法,所述方法还包括:
对于具有过期时间的可持久化非关系型数据库中的待落盘数据,在所述待落盘数据存储至所述数据空间的同时,得到与所述待落盘数据对应的ttl元数据,与所述待落盘数据对应的ttl元数据包括元数据键和元数据值,所述元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,所述元数据值为空;
根据与所述待落盘数据对应的ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与所述待落盘数据对应的ttl元数据存储至所述ttl元数据空间中的相应位置。
如上所述的方法,所述方法还包括:所述数据空间中存在待更新过期时间的待更新数据;
若所述待更新数据的更新方式为修改过期时间,则获取与所述待更新数据对应的新的ttl元数据,新的ttl元数据的元数据键包括:新的过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
删除所述ttl元数据空间中与所述待更新数据对应的原始ttl数据,并根据所述新的ttl元数据的元数据键中包括的新的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将所述新的ttl元数据添加至所述ttl元数据空间中的相应位置;
若所述待更新数据的更新方式为添加过期时间,获取与所述待更新数据对应的ttl元数据,ttl元数据的元数据键包括:过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
根据该ttl元数据的元数据键中包括的过期时间和当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将该ttl元数据添加到所述ttl元数据空间中的相应位置;
若所述待更新数据的更新方式为删除过期时间,则删除所述ttl元数据空间中与所述待更新数据对应的原始的ttl元数据。
本发明还提供一种可持久化非关系型数据库的数据处理装置,包括:
扫描模块,用于当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,所述过期时间用于指示与所述待处理ttl元数据对应的所述磁盘数据空间中的数据的过期时间;所述ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,所述数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
删除模块,用于若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与待处理ttl元数据对应的数据;并将所述ttl元数据空间中的与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
如上所述的装置,所述待处理的ttl元数据的元数据键还包括:与所述待处理的ttl元数据对应的数据的键值,所述键值包括在所述数据的数据键中;
所述扫描模块,具体用于获取待处理ttl元数据的元数据键中包括的所述键值;根据所述键值,在所述数据空间获取所述数据的数据值中包括的过期时间;
所述删除模块,具体用于若所述数据值中包括的过期时间早于或等于相应的当前时间,则删除所述待处理ttl元数据以及所述磁盘的数据空间中与所述待处理ttl元数据对应的数据。
如上所述的装置,所述装置还包括:
ttl元数据获取模块,对于具有过期时间的可持久化非关系型数据库中的待落盘数据,在所述待落盘数据存储至所述数据空间的同时,得到与所述待落盘数据对应的ttl元数据,与所述待落盘数据对应的ttl元数据包括元数据键和元数据值,所述元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,所述元数据值为空;
ttl元数据存储模块,用于根据与所述待落盘数据对应的ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与所述待落盘数据对应的ttl元数据存储至所述ttl元数据空间中的相应位置。
本实发明的可持久化非关系型数据库的数据处理方法包括:当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;判断待处理ttl元数据包括的过期时间是否晚于相应的当前时间;若待处理ttl元数据包括的过期时间早于或者等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据,将ttl元数据空间中的与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;若待处理ttl元数据包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程,当到达待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。本发明的可持久化非关系型数据库的数据处理方法在实现了生存时间功能的同时,保证了先过期的数据先删除,避免了扫描资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种可能的系统架构图;
图2为本发明提供的可持久化非关系型数据库的数据处理方法的流程图一;
图3为本发明提供的ttl元数据的组成结构示意图;
图4为本发明提供的数据的组成结构示意图;
图5为本发明提供的可持久化非关系型数据库的数据处理方法的流程图二;
图6为本发明提供的可持久化非关系型数据库的数据处理方法的流程图三;
图7为本发明提供的可持久化非关系型数据库的数据处理方法的流程图四;
图8为本发明提供的可持久化非关系型数据库的数据处理方法的流程图五;
图9为本发明提供的可持久化非关系型数据库的数据处理方法的流程图六;
图10为本发明提供的可持久化非关系型数据库的数据处理方法的流程图七;
图11为本发明提供的可持久化非关系型数据库的数据处理装置实施例一的结构示意图;
图12为本发明提供的可持久化非关系型数据库的数据处理装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的一种可能的系统架构图。参见图1,该系统架构包括存储服务器11和磁盘12。存储服务器11中包括可持久化非关系型数据库,例如可为RocksDB、LevelDB及其它。
具体地,存储服务器11将可持久化非关系型数据库中的待落盘数据存储至磁盘12上,若待落盘数据具有过期时间,则同时将与该待落盘数据相对应的包括该过期时间的生存时间元数据存储至磁盘12上,各生存时间元数据在磁盘上按照其包括的过期时间的先后顺序排序。在扫描过期数据进程启动时,存储服务器11按照各元数据在磁盘12上的存储顺序进行扫描,将过期时间早于或等于相应当前时间的元数据以及与该元数据对应的数据删除。通过上述方法,实现了可持久化非关系型数据库的生存时间ttl功能。
本发明提供的可持久化非关系型数据库的数据处理方法包括两个进程,一个进程用于将具有过期时间的数据对应的ttl元数据存储至磁盘上的ttl元数据空间中;另一个进程用于扫描磁盘上的ttl元数据空间中的生存时间元数据,以删除磁盘的数据空间中的过期数据。
本领域技术人员可以理解的是,上述两个进程可以同时进行,也可以不同时进行。
首先,对将具有过期时间的数据对应的ttl元数据存储至磁盘上的ttl元数据空间中的进程对应的可持久化非关系型数据库的数据处理方法进行说明。
图2为本发明提供的可持久化非关系型数据库的数据处理方法的流程图一,如图2所示,本实施例的执行主体可为图1的存储服务器,本实施例的方法可以包括:
步骤S201,对于具有过期时间的可持久化非关系型数据库中的待落盘数据,在待落盘数据存储至磁盘的数据空间的同时,得到与待落盘数据对应的ttl元数据,该ttl元数据包括元数据键和元数据值,元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,元数据值为空;
步骤S202,根据该ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与待落盘数据对应的ttl元数据存储至ttl元数据空间中的相应位置。
具体地,本实施例中的磁盘空间包括数据空间和ttl元数据空间,数据空间用于存储数据,数据以键—值对的形式存储于数据空间中。ttl元数据空间用于存储ttl元数据,也就是存储具有过期时间的数据对应的包括过期时间的元数据,ttl元数据也是以键—值形式存储于数据空间中。
图3为本发明提供的ttl元数据的组成结构示意图;图4为本发明提供的数据的组成结构示意图。
参见图3和图4,ttl元数据包括元数据键和元数据值,元数据键包括根据ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值;ttl元数据空间标识一般为2048,过期时间包括时钟时间,用于指示数据控空间中与该ttl元数据对应的数据的过期时间,元数据键中的待落盘数据的键值为图4中的对应数据键中的数据的键值。
各ttl元数据在ttl元数据空间中是按照ttl元数据的元数据键中包括的过期时间的先后顺序在ttl元数据空间中排序的。
参见图4,数据包括数据键和数据值,数据键包括数据空间标识和数据的键值(key值),数据值包括数据的值(value值)和过期时间,过期时间包括时钟时间;
其中,过期时间的格式可为:X年X月X日X分X秒。
数据空间中具有过期时间的数据均具有一个与其对应的ttl元数据。理论上数据的数据值中的过期时间和与该数据对应的ttl元数据的元数据键中的过期时间是相同的。但是仍然存在数据空间中该数据的数据值中的过期时间被更改,与该数据对应的ttl元数据的元数据键中的过期时间没有及时被更新或者存储过程出错的现象的发生导致的两者包括的过期时间不一致的情况。
对于具有过期时间的待落盘数据(待落盘数据也可称为待存储数据,数据落盘的过程可以称为数据存储至磁盘的过程),在存储待落盘数据至磁盘的同时,得到与待落盘数据对应的ttl元数据,该ttl元数据包括元数据键和元数据值,元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,元数据值为空。其中,ttl元数据的结构示意图详见图3。
得到与待落盘数据对应的ttl元数据后,根据该ttl元数据的元数据键中包括的过期时间与当前ttl元数据空间中的各ttl元数据的元数据键中各自包括的过期时间的先后顺序,将与待落盘数据对应的ttl元数据存储至ttl元数据空间中的相应位置。
具体来说,将与待落盘数据对应的ttl元数据存储至ttl元数据空间中的第一ttl元数据和第二ttl元数据之间,其中,第一ttl元数据的元数据键中包括的过期时间早于或等于与待落盘数据对应的ttl元数据的元数据键中包括的过期时间,第二ttl元数据的元数据键中包括的过期时间晚于与待落盘数据对应的ttl元数据的元数据键中包括的过期时间。
本领域技术人员应当明白,若当前ttl元数据空间中的各ttl元数据的元数据键中各自包括的过期时间均晚于与待落盘数据对应的ttl元数据的元数据键中包括的过期时间,则第一ttl元数据不存在。若当前ttl元数据空间中的各ttl元数据的元数据键中各自包括的过期时间均早于或等于与待落盘数据对应的ttl元数据的元数据键中包括的过期时间,则第二ttl元数据不存在。若在该待落盘数据落盘前,当前ttl元数据空间中没有ttl元数据,则第一ttl元数据和第二ttl元数据均不存在。
将具有过期时间的待落盘数据在落盘的同时落盘ttl元数据信息到磁盘的ttl元数据空间,可以防止数据库宕机或重启时,过期ttl元数据丢失。ttl元数据空间里的ttl元数据数据按照过期时间的先后排序,可以使得后续扫描过期数据时可按照过期时间的先后顺序扫描并删除过期数据,保证先过期的数据先被删除(即过期数据的及时删除),即在实现了生存时间功能的同时保证了过期数据及时的被删除以及避免了ttl元数据的丢失。
本实施例的可持久化非关系型数据库的数据处理方法,包括:对于具有过期时间的待落盘数据,在待落盘数据存储至磁盘的数据空间的同时,得到与待落盘数据对应的ttl元数据,该ttl元数据包括元数据键和元数据值,元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,元数据值为空;根据该ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与待落盘数据对应的ttl元数据存储至ttl元数据空间中的相应位置。本实施例的可持久化非关系型数据库的数据处理方法在实现了生存时间功能的同时保证了过期数据及时的被删除以及避免了ttl元数据的丢失。
磁盘中的ttl元数据空间除了会由于上一实施例中的待落盘数据落盘的同时增加ttl数据外,ttl元数据空间中的ttl数据也会由于数据空间中数据的过期时间的更新而更新。其中,数据空间中数据的过期时间的更新方式包括过期时间的修改,过期时间的删除与过期时间的增加,每种更新方式对应不同的ttl元数据的更新。
下面分别采用具体的实施例说明数据空间中数据的过期时间的更新方式对应的可持久化非关系型数据库的数据处理方法进行说明。
首先,对数据空间中待更新数据的过期时间的更新方式过期时间的修改对应的可持久化非关系型数据库的数据处理方法进行说明。
图5为本发明提供的可持久化非关系型数据库的数据处理方法流程图二,如图5所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S501、获取与待更新数据对应的新的ttl元数据,新的ttl元数据的元数据键包括:新的过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
步骤S502、删除ttl元数据空间中与待更新数据对应的原始ttl数据,并将新的ttl元数据的元数据键中包括的新的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将新的ttl元数据添加至ttl元数据空间中的相应位置。
具体地,本实施例中的待更新数据为数据空间中需要修改过期时间的数据。
比如数据B的过期时间由2017年5月12日的5点7分0秒修改为2017年5月12日的6点7分0秒,将数据B的数据键中的键值、2017年5月12日的6点7分0秒和ttl元数据空间标识得到数据B对应的新的ttl元数据的元数据键,新的ttl元数据的元数据值为空。
接着,根据新的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将新的ttl元数据添加至ttl元数据空间中的相应位置,并删除与数据B对应的原始ttl数据。比如,新的ttl元数据需要存储在元数据键中包括的过期时间早于或等于2017年5月12日的6点7分0秒的ttl元数据之后,以及元数据键中包括的过期时间晚于2017年5月12日的6点7分0秒的ttl元数据之前。
本领域技术人员可以理解的是,需要将数据空间中待更新数据的数据值中的过期时间修改为新的过期时间。
本实施例中通过若数据空间的数据的过期时间被修改,则删除ttl元数据空间中与该数据对应的原始的ttl数据,添加新的ttl数据至ttl元数据空间,实现了ttl元数据空间的ttl数据被及时更新,从而保证后续扫描过期数据的过程的顺利进行。
其次,对数据空间中待更新数据的过期时间的更新方式过期时间的增加过期时间对应的可持久化非关系型数据库的数据处理方法进行说明。
图6为本发明提供的可持久化非关系型数据库的数据处理方法流程图三,如图6所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S601、获取与待更新数据对应的ttl元数据,ttl元数据的元数据键包括:过期时间、待更新数据的键值和ttl元数据空间标识,ttl元数据的元数据值为空;
步骤S602、根据该ttl元数据的元数据键中包括的过期时间和当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将该ttl元数据添加到ttl元数据空间中的相应位置。
具体地,本实施例中的待更新数据为数据空间中需要增加过期时间的数据。
比如数据B之前为没有过期时间的数据,现给数据B设置一个过期时间为2017年5月12日的6点7分0秒,则将数据B的数据键中的键值、2017年5月12日的6点7分0秒和ttl元数据空间标识得到数据B对应的ttl元数据的元数据键,该ttl元数据的元数据值为空,从而得到了的新的ttl数据。
根据该ttl元数据的元数据键中包括的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将该ttl元数据添加至ttl元数据空间中的相应位置。比如,该ttl元数据需要存储在元数据键中包括的过期时间早于或等于2017年5月12日的6点7分0秒的ttl元数据之后,以及元数据键中包括的过期时间晚于2017年5月12日的6点7分0秒的ttl元数据之前。
本领域技术人员可以理解的是,需要将数据空间中待更新数据的数据值中添加过期时间。
本实施例中通过若数据空间的数据添加了过期时间,则添加新的ttl数据至ttl元数据空间,实现了ttl元数据空间的ttl数据被及时更新,从而保证后续扫描过期数据的过程的顺利进行。
接着,对数据空间中待更新数据的过期时间的更新方式过期时间的删除过期时间对应的可持久化非关系型数据库的数据处理方法进行说明。
图7为本发明提供的可持久化非关系型数据库的数据处理方法流程图四,如图7所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S701、删除ttl元数据空间中与待更新数据对应的原始的ttl元数据;
具体地,本实施例中的待更新数据为数据空间中需要删除过期时间的数据。
比如数据B之前为设置过期时间的数据,现将数据B过期时间设置为空,变成不具有过期时间的数据,则直接将ttl元数据空间中与待更新数据对应的原始的ttl元数据删除即可。
本领域技术人员可以理解的是,需要将数据空间中待更新数据的数据值中的过期时间删除。
本实施例中通过若数据空间的数据的过期时间删除,则删除ttl元数据空间的与该数据对应的原始的ttl数据,实现了ttl元数据空间的ttl数据被及时更新,从而保证后续扫描过期数据的过程的顺利进行。
通过上述各实施例中的方法得到了各ttl元数据,下面对用于扫描磁盘上的ttl元数据空间中的ttl元数据,以删除磁盘的数据空间中的过期数据的进程对应的可持久化非关系型数据库的数据处理方法进行说明。
图8为本发明提供的可持久化非关系型数据库的数据处理方法流程图五,如图8所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S801、当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
步骤S802、判断待处理ttl元数据的元数据键中包括的过期时间是否晚于相应的当前时间;若否,执行步骤S803,若是,执行步骤S804~步骤S805。
步骤S803、若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据,将ttl元数据空间中的与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
步骤S804、若待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;
步骤S805、当到达待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
具体地,本实施例中的ttl元数据空间与上述任一实施例中的ttl元数据空间相同,即相同时刻下,本实施的ttl元数据空间中包括的ttl元数据与上述任一实施例中的ttl元数据空间中包括的ttl元数据相同。
在当前扫描过期数据过程启动后,按照各ttl元数据在ttl元数据空间的排列顺序,首先扫描ttl元数据空间中排序第一的ttl元数据,此时排序第一的ttl元数据为待处理ttl元数据,得到该待处理ttl元数据的元数据键中包括的过期时间,判断该过期与当前时间的早晚关系。
若该过期时间早于或等于当前时间,则删除该待处理ttl元数据,同时删除数据空间中与该待处理ttl元数据对应的数据。
本领域技术人员可以理解的是,此时的当前时间为当排序第一的ttl元数据为待处理ttl元数据时,步骤802开始的时间。
该待处理ttl元数据与与该待处理ttl元数据对应的数据删除完成后,扫描ttl元数据空间中排序第二的ttl元数据,此时排序第二的ttl元数据的待处理ttl元数据,得到该待处理ttl元数据的元数据键中包括的过期时间,判断该过期与当前时间的早晚关系。
若该过期时间早于或等于当前时间,则删除该待处理ttl元数据,同时删除数据空间中与该待处理ttl元数据对应的数据。
若该过期时间晚于当前时间,则停止当前扫描过期数据过程,并当到达该待处理ttl元数据(排序第二的ttl元数据)的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。
本领域技术人员可以理解的是,此时的当前时间为当排序第二的ttl元数据为待处理ttl元数据时,步骤802开始的时间。
也就是说,根据上述的步骤,从排序第一的ttl元数据开始,按照ttl元数据在ttl元数据空间的存储顺序依次扫描元数据空间中的ttl元数据,直至扫描到的待处理元数据的元数据键中包括的过期时间晚于当前时间,才停止当前扫描过期数据过程,否则当前扫描过期数据过程一直持续进行,直至ttl元数据空间所有的ttl元数据均被扫描完毕,即若一直没有扫描到待处理元数据的元数据键中包括的过期时间晚于当前时间,则当前扫描过期数据过程一直持续进行,直至ttl元数据空间所有的ttl元数据均被扫描完毕。
本领域技术人员可以理解的是,每次扫描过期数据的过程均从ttl元数据空间中排序第一的数据开始扫描。
由于ttl元数据是按照其数据键中包括的过期时间的先后顺序在ttl元数据空间的存储的,每次扫描过期数据的过程均从ttl元数据空间中排序第一的数据开始扫描,保证了先过期的数据先删除;且在当前待处理ttl元数据的元数据键中包括的过期时间晚于当前时间时,退出当前扫描过期数据的过程,将当前待处理ttl元数据的元数据键中包括的过期时间作为启动下次扫描过期数据的过程的时间,可以保证在数据空间没有过期数据的情况下停止扫描,且每次扫描都能扫描到过期数据,避免了扫描资源的浪费。
本实施例的可持久化非关系型数据库的数据处理方法包括:当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;判断待处理ttl元数据包括的过期时间是否晚于相应的当前时间;若待处理ttl元数据包括的过期时间早于或者等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据,将ttl元数据空间中的与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;若待处理ttl元数据包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程,当到达待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。本实施例的可持久化非关系型数据库的数据处理方法在实现了生存时间功能的同时,保证了先过期的数据先删除,避免了扫描资源的浪费。
若在当前扫描过期数据的过程若ttl元数据空间通过图2所示的实施例对应的方法或者图6对应的方法新增了若干个ttl元数据,且新增的若干个ttl元数据的元数据键的过期时间是排序在当前待处理元数据之前的,则当前扫描过程不能扫描到该新增的若干个ttl元数据,需要后续的扫描过程进行删除。同时若当前待处理元数据的元数据键中包括的过期时间晚于当前时间,则停止当前扫描过期数据过程,并将下次扫描过期数据过程的启动时间设置为待处理ttl元数据的元数据键中包括的过期时间的话,则上述新增的若干个ttl数据不能及时的被删除,为了解决该技术问题,本实施例在上一实施例的基础上进行了改进。
图9为本发明提供的可持久化非关系型数据库的数据处理方法流程图六,如图9所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S901、当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
步骤S902、判断待处理ttl元数据的元数据键中包括的过期时间是否晚于相应的当前时间;若否,执行步骤S903,若是,执行步骤904~步骤905。
步骤S903、若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据,将ttl元数据空间中的与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
步骤S904、若待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据的过程;
步骤S905、经历预设时长后,启动下次扫描过期数据的过程。
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
具体地,本实施例的步骤S901~步骤S904与上一实施例中的步骤S801~步骤S804相同,本实施例中不再赘述。
对于步骤905,在当前扫描过期数据的过程结束后的预设时长后,启动下次扫描过期数据的过程。可选地,预设时长为1~2s。
由于该预设时长很短,所以可以使得扫描过过期数据的过程及时的启动,从而磁盘的数据空间的过期数据会及时的被删除。
当该实施例的方法并不会因为扫描频繁而浪费资源,因为,若每隔1s的扫描过过期数据的过程启动后,若排序第一的ttl元数据的元数据键的过期时间晚于当前时间(其它的ttl元数据的元数据键的过期时间肯定更晚于当前时间),则当前扫描过期数据的过程会退出,不会进行后续的无用扫描。
本实施例通过每间隔很短的预设时长,进行一次扫描过期数据的过程,实现了数据空间中的过期数据可以及时的被删除。
由于存在数据空间中数据的数据值中的过期时间被更改,与该数据对应的ttl元数据的元数据键中的过期时间没有及时被更新或者存储ttl元数据过程出错的现象,所以相对应的数据的数据值中包括的过期时间和ttl元数据的元数据键中包括的过期时间可能不一致,为了避免误删的发生,本实施例在上述实施例的基础上进行了该进。
图10为本发明提供的可持久化非关系型数据库的数据处理方法流程图七,如图10所示,本实施例的执行主体可为图1中的存储服务器,本实施例的方法可以包括:
步骤S1001、当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
步骤S1002、若待处理ttl元数据包括的过期时间早于或者等于相应的当前时间,获取待处理ttl元数据的元数据键中包括的数据的键值;
步骤S1003、根据从待处理ttl元数据的元数据键中获取的数据的键值,在数据空间获取与待处理ttl元数据对应的数据的数据值中包括的过期时间;
步骤S1004、判断数据值中包括的过期时间是否晚于相应的当前时间;
步骤S1005、若数据值中包括的过期时间早于或等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据;并将与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
步骤S1006、若数据值中包括的过期时间晚于相应的当前时间,则将与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
具体地,本实施例中的ttl元数据空间与图2、图5~~7所示的实施例ttl元数据空间相同,即相同时刻下,本实施的ttl元数据空间中包括的ttl元数据与图2、图5~~7所示的实施例的ttl元数据空间中包括的ttl元数据相同。
在当前扫描过期数据过程启动后,按照各ttl元数据在ttl元数据空间的排列顺序,首先扫描ttl元数据空间中排序第一的ttl元数据,此时排序第一的ttl元数据为待处理ttl元数据,得到该待处理ttl元数据的元数据键中包括的过期时间,判断该过期时间与当前时间的早晚关系。
若该过期时间早于或等于当前时间,获取该待处理ttl元数据的元数据键中包括的数据键的键值;并根据获取的该键值,在数据空间获取与待处理ttl元数据对应的数据的数据值中包括的过期时间,具体可为:在数据空间中查询与该键值相同的键值所属的数据键,在与该数据键对应的数据值中获取过期时间。
若该数据值中包括的过期时间早于或等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据;
本领域技术人员可以理解的是,此时的当前时间为当排序第一的ttl元数据为待处理ttl元数据时,步骤1004开始的时间。
排序第一的ttl元数据与与该ttl元数据对应的数据删除完成后,扫描ttl元数据空间中排序第二的ttl元数据,此时排序第二的ttl元数据为待处理ttl元数据,得到该待处理ttl元数据的元数据键中包括的过期时间,判断该过期时间是否晚于当前时间。
若该过期时间早于或等于当前时间,获取该待处理ttl元数据的元数据键中包括的数据键的键值;并根据获取的该键值,在数据空间获取与待处理ttl元数据对应的数据的数据值中包括的过期时间,具体可为:在数据空间中查询与该键值相同的键值所属的数据键,在与该数据键对应的数据值中获取过期时间。
若该数据值中包括的过期时间早于或等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据;
本领域技术人员可以理解的是,此时的当前时间为当排序第二的ttl元数据为待处理ttl元数据时,步骤1004开始的时间。
也就是说,根据上述的步骤,按照ttl元数据在ttl元数据空间的存储顺序依次扫描元数据空间中的ttl元数据,重复上述过期数据的删除过程,直至扫描到的待处理元数据的元数据键中包括的过期时间晚于当前时间,才停止当前扫描过期数据过程,否则当前扫描过期数据过程一直持续进行,直至ttl元数据空间所有的ttl元数据均被扫描完毕,即:若一直没有扫描到待处理元数据的元数据键中包括的过期时间晚于当前时间,则当前扫描过期数据过程一直持续进行,直至ttl元数据空间所有的ttl元数据均被扫描完毕。
由于在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据,因此,本领域技术人员可以理解的是,每次扫描过期数据的过程均从ttl元数据空间中排序第一的数据开始扫描。
由于ttl元数据是按照其数据键中包括的过期时间的先后顺序在ttl元数据空间的存储的,每次扫描过期数据的过程均从ttl元数据空间中排序第一的数据开始扫描,保证了先过期的数据先删除,且在当前待处理ttl元数据的元数据键中包括的过期时间晚于当前时间时,退出当前扫描过期数据的过程,将当前待处理ttl元数据的元数据键中包括的过期时间作为启动下次扫描过期数据的过程的时间,可以保证在数据空间没有过期数据的情况下停止扫描,且每次扫描都能扫描到过期数据,避免了扫描资源的浪费。
同时根据数据空间的数据值中的过期时间决定是否删除ttl元数据以及数据,保证了删除的过期数据一定是过期的数据,避免了误删情况的发生。
本实施例的可持久化非关系型数据库的数据处理方法,通过根据数据空间的数据值中的过期时间决定是否删除ttl元数据以及数据,在避免了扫描资源的浪费的同时,保证了删除的过期数据一定是过期的数据,避免了误删情况的发生。
图11为本发明提供的可持久化非关系型数据库的数据处理装置实施例一的结构示意图,如图11所示,本实施例的装置可以包括:扫描模块11和删除模块12;
扫描模块11用于当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,过期时间用于指示与待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,数据空间中的数据为可持久化非关系型数据库中的数据存储至磁盘后的数据;
处理模块12用于若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据,并将ttl元数据空间中的与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
待处理的ttl元数据的元数据键还包括:与待处理的ttl元数据对应的数据的键值,键值包括在数据的数据键中;扫描模块11具体用于若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,获取待处理ttl元数据的元数据键中包括的键值;根据键值,在数据空间获取数据的数据值中包括的过期时间;删除模块12具体用于,若数据值中包括的过期时间早于或等于相应的当前时间,则删除待处理ttl元数据以及磁盘的数据空间中与待处理ttl元数据对应的数据;并将与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。
删除模块12还具体用于,若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间且数据值中包括的过期时间晚于相应的当前时间,则将与待处理ttl元数据相邻且排序在待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。
扫描模块11还具体用于,若待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;当到达待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。
扫描模块11还具体用于,若待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;经历预设时长后,启动下次扫描过期数据的过程。
本实施例的装置,可以用于执行图上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图12为本发明提供的可持久化非关系型数据库的数据处理装置实施例二的结构示意图,如图12所示,本实施例的装置在图11所示装置结构的基础上,进一步地,还可以包括:ttl元数据获取模块13和ttl元数据存储模块14;
ttl元数据获取模块13,用于对于具有过期时间的可持久化非关系型数据库的待落盘数据,在待落盘数据存储至磁盘的数据空间的同时,得到与待落盘数据对应的ttl元数据,该ttl元数据包括元数据键和元数据值,元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,该ttl元数据的元数据值为空;
ttl元数据存储模块14,用于根据该ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与待落盘数据对应的ttl元数据存储至ttl元数据空间中的相应位置。
若数据空间中存在需要更新过期时间的待更新数据,ttl元数据获取模块13,具体用于若待更新数据的更新方式为修改过期时间,则获取与待更新数据对应的新的ttl元数据,新的ttl元数据的元数据键包括:新的过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
ttl元数据存储模块14具体用于,删除ttl元数据空间中与待更新数据对应的原始ttl数据,并根据新的ttl元数据的元数据键中包括的新的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将新的ttl元数据添加至ttl元数据空间中的相应位置;
或者,
ttl元数据获取模块13,具体用于若待更新数据的更新方式为添加过期时间,获取与待更新数据对应的ttl元数据,ttl元数据的元数据键包括:过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
ttl元数据存储模块14具体用于,根据该ttl元数据的元数据键中包括的新的过期时间和当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将该ttl元数据添加到ttl元数据空间中的相应位置;
或者,
ttl元数据存储模块14具体用于,若待更新数据的更新方式为删除过期时间,则删除ttl元数据空间中与待更新数据对应的原始的ttl元数据。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种可持久化非关系型数据库的数据处理方法,其特征在于,包括:
当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,所述过期时间用于指示与所述待处理ttl元数据对应的磁盘数据空间中的数据的过期时间;所述ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,所述数据空间中的数据为可持久化非关系型数据库中的数据存储至所述磁盘后的数据;
若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与待处理ttl元数据对应的数据,并将所述ttl元数据空间中的与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
2.根据权利要求1所述的方法,其特征在于,所述待处理的ttl元数据的元数据键还包括:与所述待处理的ttl元数据对应的数据的键值,所述键值包括在所述数据的数据键中;
若所述待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与所述待处理ttl元数据对应的数据,包括:
获取待处理ttl元数据的元数据键中包括的所述键值;
根据所述键值,在所述数据空间获取所述数据的数据值中包括的过期时间;
若所述数据值中包括的过期时间早于或等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与所述待处理ttl元数据对应的数据。
3.根据权利要求2所述的方法,其特征在于,若所述待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间且所述数据值中包括的过期时间晚于相应的当前时间,则将与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据。
4.根据权利要求1所述的方法,其特征在于,若所述待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;
当到达所述待处理ttl元数据的元数据键中包括的过期时间时,启动下次扫描过期数据的过程。
5.根据权利要求1所述的方法,其特征在于,若所述待处理ttl元数据的元数据键中包括的过期时间晚于相应的当前时间,则停止当前扫描过期数据过程;
经历预设时长后,启动下次扫描过期数据的过程。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于具有过期时间的可持久化非关系型数据库中的待落盘数据,在所述待落盘数据存储至所述数据空间的同时,得到与所述待落盘数据对应的ttl元数据,与所述待落盘数据对应的ttl元数据包括元数据键和元数据值,所述元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,所述元数据值为空;
根据与所述待落盘数据对应的ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与所述待落盘数据对应的ttl元数据存储至所述ttl元数据空间中的相应位置。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述数据空间中存在待更新过期时间的待更新数据;
若所述待更新数据的更新方式为修改过期时间,则获取与所述待更新数据对应的新的ttl元数据,新的ttl元数据的元数据键包括:新的过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
删除所述ttl元数据空间中与所述待更新数据对应的原始ttl数据,并根据所述新的ttl元数据的元数据键中包括的新的过期时间与磁盘中当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将所述新的ttl元数据添加至所述ttl元数据空间中的相应位置;
若所述待更新数据的更新方式为添加过期时间,获取与所述待更新数据对应的ttl元数据,ttl元数据的元数据键包括:过期时间、待更新数据的键值和ttl元数据空间标识,新的ttl元数据的元数据值为空;
根据该ttl元数据的元数据键中包括的过期时间和当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将该ttl元数据添加到所述ttl元数据空间中的相应位置;
若所述待更新数据的更新方式为删除过期时间,则删除所述ttl元数据空间中与所述待更新数据对应的原始ttl元数据。
8.一种可持久化非关系型数据库的数据处理方法的装置,其特征在于,包括:
扫描模块,用于当前扫描过期数据的过程启动后,获取磁盘生存时间ttl元数据空间中待处理ttl元数据的元数据键中包括的过期时间,所述过期时间用于指示与所述待处理ttl元数据对应的所述磁盘数据空间中的数据的过期时间;所述ttl元数据空间中包括多个按照元数据键中包括的过期时间的先后顺序排序的ttl元数据,所述数据空间中的数据为可持久化非关系型数据库中的数据存储至所述磁盘后的数据;
删除模块,用于若待处理ttl元数据的元数据键中包括的过期时间早于或者等于相应的当前时间,则删除所述待处理ttl元数据以及所述数据空间中与待处理ttl元数据对应的数据;并将所述ttl元数据空间中的与所述待处理ttl元数据相邻且排序在所述待处理ttl元数据之后的ttl元数据更新为待处理ttl元数据;
其中,在当前扫描过期数据的过程启动时,ttl元数据空间中的排序第一的ttl元数据为待处理的ttl元数据。
9.根据权利要求8所述的装置,其特征在于,所述待处理的ttl元数据的元数据键还包括:与所述待处理的ttl元数据对应的数据的键值,所述键值包括在所述数据的数据键中;
所述扫描模块,具体用于获取待处理ttl元数据的元数据键中包括的所述键值;根据所述键值,在所述数据空间获取所述数据的数据值中包括的过期时间;
所述删除模块,具体用于若所述数据值中包括的过期时间早于或等于相应的当前时间,则删除所述待处理ttl元数据以及所述磁盘的数据空间中与所述待处理ttl元数据对应的数据。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
ttl元数据获取模块,对于具有过期时间的可持久化非关系型数据库中的待落盘数据,在所述待落盘数据存储至所述数据空间的同时,得到与所述待落盘数据对应的ttl元数据,与所述待落盘数据对应的ttl元数据包括元数据键和元数据值,所述元数据键包括ttl元数据空间标识、待落盘数据的过期时间和待落盘数据的键值,所述元数据值为空;
ttl元数据存储模块,用于根据与所述待落盘数据对应的ttl元数据的元数据键中包括的过期时间和磁盘中的当前ttl元数据空间中的各ttl元数据的元数据键中包括的过期时间的先后顺序,将与所述待落盘数据对应的ttl元数据存储至所述ttl元数据空间中的相应位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710492954.2A CN107451190A (zh) | 2017-06-26 | 2017-06-26 | 可持久化非关系型数据库的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710492954.2A CN107451190A (zh) | 2017-06-26 | 2017-06-26 | 可持久化非关系型数据库的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107451190A true CN107451190A (zh) | 2017-12-08 |
Family
ID=60486694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710492954.2A Pending CN107451190A (zh) | 2017-06-26 | 2017-06-26 | 可持久化非关系型数据库的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451190A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108467A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN108196792A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 清除过期数据的方法及装置 |
CN110187836A (zh) * | 2019-05-29 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 一种数据删除方法、装置、计算机及存储介质 |
CN111309707A (zh) * | 2020-01-23 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111400298A (zh) * | 2020-04-17 | 2020-07-10 | Oppo广东移动通信有限公司 | 数据处理方法及装置、计算机可读存储介质 |
CN112214503A (zh) * | 2020-10-10 | 2021-01-12 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929507A (zh) * | 2014-04-28 | 2014-07-16 | 广东睿江科技有限公司 | 一种实现可离线化dns服务的方法及装置 |
CN104572920A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种数据整理方法和装置 |
CN105653198A (zh) * | 2014-11-13 | 2016-06-08 | 杭州迪普科技有限公司 | 数据处理方法及装置 |
US9436710B2 (en) * | 2010-09-28 | 2016-09-06 | Redis Labs Ltd. | Systems, methods, and media for managing an in-memory NoSQL database |
CN106446038A (zh) * | 2016-08-31 | 2017-02-22 | 武汉钢铁工程技术集团通信有限责任公司 | 基于混合数据库的数据访问控制系统及方法 |
-
2017
- 2017-06-26 CN CN201710492954.2A patent/CN107451190A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436710B2 (en) * | 2010-09-28 | 2016-09-06 | Redis Labs Ltd. | Systems, methods, and media for managing an in-memory NoSQL database |
CN103929507A (zh) * | 2014-04-28 | 2014-07-16 | 广东睿江科技有限公司 | 一种实现可离线化dns服务的方法及装置 |
CN105653198A (zh) * | 2014-11-13 | 2016-06-08 | 杭州迪普科技有限公司 | 数据处理方法及装置 |
CN104572920A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种数据整理方法和装置 |
CN106446038A (zh) * | 2016-08-31 | 2017-02-22 | 武汉钢铁工程技术集团通信有限责任公司 | 基于混合数据库的数据访问控制系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108467A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN108196792A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 清除过期数据的方法及装置 |
CN108108467B (zh) * | 2017-12-29 | 2021-08-20 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN110187836A (zh) * | 2019-05-29 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 一种数据删除方法、装置、计算机及存储介质 |
CN110187836B (zh) * | 2019-05-29 | 2022-09-02 | 北京奇艺世纪科技有限公司 | 一种数据删除方法、装置、计算机及存储介质 |
CN111309707A (zh) * | 2020-01-23 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
WO2021147773A1 (zh) * | 2020-01-23 | 2021-07-29 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111309707B (zh) * | 2020-01-23 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111400298A (zh) * | 2020-04-17 | 2020-07-10 | Oppo广东移动通信有限公司 | 数据处理方法及装置、计算机可读存储介质 |
CN112214503A (zh) * | 2020-10-10 | 2021-01-12 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451190A (zh) | 可持久化非关系型数据库的数据处理方法及装置 | |
US11314701B2 (en) | Resharding method and system for a distributed storage system | |
CN109460349B (zh) | 一种基于日志的测试用例生成方法和装置 | |
CN103875229B (zh) | 异步复制方法、装置与系统 | |
CN110532247A (zh) | 数据迁移方法和数据迁移系统 | |
CN107861989A (zh) | 数据的分区存储方法、装置、计算机设备及存储介质 | |
JPH07319747A (ja) | データ更新システム | |
CN108319538B (zh) | 大数据平台运行状态的监控方法和系统 | |
CN104615710A (zh) | 一种电子地图框架数据更新方法 | |
CN110109829B (zh) | 智能对话自动化校验方法、存储介质 | |
CN110263059A (zh) | Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质 | |
CN110597835B (zh) | 一种基于区块链的交易数据删除方法及装置 | |
CN109978290A (zh) | 一种业务流程回退处理方法、流程引擎和业务系统 | |
JP3334970B2 (ja) | 生産進捗管理支援方法及び装置 | |
CN114329096A (zh) | 一种原生图数据库处理方法及系统 | |
CN108646987B (zh) | 一种文件卷的管理方法、装置、存储介质及终端 | |
CN103631831B (zh) | 一种数据备份方法及装置 | |
CN113111125A (zh) | 一种基于区块链的业务存证方法 | |
CN110515833A (zh) | 一种软件测试的方法、设备及可读介质 | |
CN106599113A (zh) | 用于网管系统海量性能数据的数据库读写方法 | |
CN101996246B (zh) | 即时索引方法及系统 | |
WO2008081146A2 (fr) | Procede et dispositif de gestion de connexions dans un reseau de telecommunications | |
CN110569231B (zh) | 数据迁移方法、装置、设备和介质 | |
CN107526650A (zh) | 一种tcam错误扫描与修复的方法 | |
CN106339482A (zh) | 确定商家最佳沟通时间的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171208 |
|
RJ01 | Rejection of invention patent application after publication |