CN108196792B - 清除过期数据的方法及装置 - Google Patents

清除过期数据的方法及装置 Download PDF

Info

Publication number
CN108196792B
CN108196792B CN201711480924.6A CN201711480924A CN108196792B CN 108196792 B CN108196792 B CN 108196792B CN 201711480924 A CN201711480924 A CN 201711480924A CN 108196792 B CN108196792 B CN 108196792B
Authority
CN
China
Prior art keywords
data
data file
time
new
unit
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.)
Active
Application number
CN201711480924.6A
Other languages
English (en)
Other versions
CN108196792A (zh
Inventor
宋昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711480924.6A priority Critical patent/CN108196792B/zh
Publication of CN108196792A publication Critical patent/CN108196792A/zh
Application granted granted Critical
Publication of CN108196792B publication Critical patent/CN108196792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种清除过期数据的方法及装置,该方法包括:对数据文件进行压缩并生成新数据文件时,获取所述新数据文件中每个数据单元的剩余生存时间;获取所述新数据文件的数据空洞比例;结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存;在所述执行数据清除操作的时间到来时对所述新数据文件执行数据清除操作。基于本发明提供的清除过期数据方法,可自动设置各数据文件自动定时清除过期数据的时间,及时完成符合空洞率比例的过期数据回收。

Description

清除过期数据的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种清除过期数据的方法及装置。
背景技术
随着互联网技术的不断发展,越来越多的用户通过互联网进行数据分享与获取,为了保证人们获取数据的有效性,需实时对数据进行更新。此时,为了保证系统的正常运行,需要对过期数据进行及时回收。目前,单纯依靠引擎自身的compaction策略或者人为的手动compaction对过期数据的回收效果不明显,尤其是对于存在大量过期数据的情况,磁盘空洞率很高,容易造成磁盘浪费。
发明内容
本发明提供了一种清除过期数据的方法及装置以克服上述问题或者至少部分地解决上述问题。
根据本发明的一个方面,提供了一种清除过期数据的方法,包括:
对数据文件进行压缩并生成新数据文件时,获取所述新数据文件中每个数据单元的剩余生存时间;获取所述新数据文件的数据空洞比例,以获取到新数据文件的可容忍的存储过期数据的比例,其中,数据空洞比例为数据库可容忍的最大空洞比例;结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存;在所述执行数据清除操作的时间到来时对所述新数据文件执行数据清除操作。
可选地,所述获取所述新数据文件中每个数据单元的剩余生存时间,包括:读取所述新数据文件中每个数据单元的特定字段,获取所述每个数据单元的剩余生存时间。
可选地,所述结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存,包括:将所述新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;按照所述数据空洞比例,从所述过期数据单元列表的第一个数据单元开始依次对所述数据单元进行选取;依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间并保存。
可选地,所述依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间,包括:获取所述选取出的最后一个数据单元的剩余生存时间;将所述选取出的最后一个数据单元剩余生存时间与所述新数据文件生成时的时间进行叠加后的时间设置为所述新数据文件下次执行数据清除的时间。
可选地,所述保存对所述新数据文件执行数据清除操作的时间,包括:将对所述新数据文件执行数据清除的时间写入所述新数据文件的预设字段。
可选地,所述数据文件为key-value结构的数据文件。
可选地,所述获取所述新数据文件中每个数据单元的剩余生存时间,包括:读取与key对应的value中的ttl字段,获取所述新key-value数据文件中每个key的剩余生存时间。
可选地,所述保存对所述数据文件执行数据清除操作的时间,包括:将对所述新key-value数据文件执行数据清除的时间写入新key-value数据文件的末尾。
根据本发明的另一个方面,还提供了一种清除过期数据的装置,包括:
剩余生存时间获取模块,配置为对数据文件进行压缩并生成新数据文件时,获取所述新数据文件中每个数据单元的剩余生存时间;空洞比例读取模块,配置为获取所述新数据文件的数据空洞比例,以获取到新数据文件的可容忍的存储过期数据的比例,其中,数据空洞比例为数据库可容忍的最大空洞比例;设置模块,配置为结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存;数据清除模块,配置为在所述执行数据清除操作的时间到来时对所述新数据文件执行数据清除操作。
可选地,所述剩余生存时间获取模块还配置为:读取所述新数据文件中每个数据单元的特定字段,获取所述每个数据单元的剩余生存时间。
可选地,所述设置模块包括:列表生成单元,配置为将所述新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;选取单元,配置为按照所述数据空洞比例,从所述过期数据单元列表的第一个数据单元开始依次对所述数据单元进行选取;保存单元,配置为依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间并保存。
可选地,所述保存单元包括:获取子单元,配置为获取选取出的最后一个数据单元的剩余生存时间;时间设置子单元,配置为将所述选取出的最后一个数据单元剩余生存时间与所述新数据文件生成时的时间进行叠加后的时间设置为所述新数据文件下次执行数据清除的时间。
可选地,所述保存单元还包括:写入子单元,配置为将对所述新数据文件执行数据清除的时间写入所述新数据文件的预设字段。
可选地,所述数据文件为key-value结构的数据文件。
可选地,所述剩余生存时间获取模块还配置为:读取与key对应的value中的ttl字段,获取所述新key-value数据文件中每个key的剩余生存时间。
可选地,所述设置模块还配置为:将对所述新key-value数据文件执行数据清除的时间写入新key-value数据文件的末尾。
根据本发明的另一个方面,还提供了一种电子设备,包括:
处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据上述任一项所述的清除过期数据的方法。
根据本发明的另一个方面,还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行根据上述任一项所述的清除过期数据的方法。
本发明提供了一种清除过期数据的方法及装置,通过获取新数据文件中的数据单元的剩余生存时间,同时结合数据文件中预设的数据空洞比例,设置对新数据文件执行数据清除的时间,进而及时回收数据文件中的过期数据单元,合理利用磁盘空间。基于本发明提供的清除过期数据方法,可自动设置各数据文件自动定时清除过期数据的时间,及时完成符合空洞率比例的过期数据回收。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例的清除过期数据的方法流程示意图;
图2是根据本发明实施例的设置对新数据文件执行清除操作的时间的方法流程示意图;
图3是根据本发明实施例的清除过期数据的装置结构示意图;
图4是根据本发明优选实施例的清除过期数据的装置结构示意图;
图5是根据本发明实施例的用于执行根据本发明的清除过期数据的方法的计算设备的框图示意图;以及
图6是根据本发明实施例的用于保持或者携带实现根据本发明的清除过期数据的方法的程序代码的存储单元示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明实施例提供的清除过期数据的方法流程示意图,如图1所示,本发明实施例提供的清除过期数据的方法包括:
步骤S102,对数据文件进行压缩并生成新数据文件时,获取新数据文件中每个数据单元的剩余生存时间;
步骤S104,获取新数据文件的数据空洞比例;
步骤S106,结合新数据文件的数据空洞比例以及每个数据单元的剩余生存时间,设置对新数据文件执行数据清除操作的时间并保存;
步骤S108,在执行数据清除操作的时间到来时对新数据文件执行数据清除操作。
本发明实施例提供了一种自动定时对数据文件清除过期数据的方法,通过获取新数据文件中的数据单元的剩余生存时间,同时结合数据文件中预设的数据空洞比例,设置对新数据文件执行数据清除的时间,进而及时回收数据文件中的过期数据单元,合理利用磁盘空间。
上述步骤S102提及,对数据文件进行压缩并生成新数据文件时,会获取新数据文件中每个数据单元的剩余生存时间。在获取各数据单元的剩余生存时间时,可以读取各数据单元的特定字段,进而获取各数据单元的剩余生存时间。
本发明实施例所记载的数据文件可以优选为key-value结构的数据文件。因此,当读取每个数据单元的特定字段获取数据单元的剩余时间时,可以优选为读取key对应的value中的ttl字段,获取新key-value数据文件中每个key的剩余生存时间。ttl,即Time ToLive,表示数据的剩余生存时间。其中,在key写入数据文件之前,通过value中的ttl字段获得该key的剩余生存时间,这样,在新的数据文件最终生成之前,可以拿到本数据文件中每个key的剩余生存时间。
获取到新数据文件中每个数据单元的剩余生存时间后,可进一步获取该新数据文件的数据空洞比例。数据空洞比例,即对任一数据库可容忍的最大空洞比例。数据库运行一段时间后,会有很大的数据空洞,这些数据空洞除了占用磁盘之外,也会加载到内存中,降低内存效率。获取到新数据文件的数据空洞比例后,可以准确获取该数据文件的可容忍的存储过期数据的比例,进而更加有效地对该新数据文件中的过期数据进行回收。
优选地,当获取到数据文件的空洞比例和以及数据文件中各数据单元的剩余生存时间后,可设置对新数据文件执行清除操作的时间并保存,如图2所示,本发明实施例还提供了一种设置对新数据文件执行清除操作的时间的方法,该方法包括:
步骤S202,将新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;
步骤S204,按照数据空洞比例,从过期数据单元列表的第一个数据单元开始依次对数据单元进行选取;
步骤S206,依据选取出的最后一个数据单元的剩余生存时间设置对新数据文件执行数据清除操作的时间并保存。
上文提及,在生成新数据文件的同时,即可获取写入该新数据文件中各数据单元的剩余生存时间,因此,当该新数据文件生成好之后,其中的各数据单元的剩余生存时间都是可获取的,当根据数据单元的剩余生存时间的从小到大进行统计排序后,可以结合该新数据文件的数据空洞比例选取出下次执行数据清除操作时的数据单元,并基于所选取出的剩余生存时间最大的数据单元的剩余生存时间设置为对新数据文件执行数据清除操作的时间,同时保存对新数据文件执行数据清除操作的时间。
具体进行设置时,可以获取选取出的最后一个数据单元(即选取出的剩余生成时间最大的数据单元)的剩余生存时间,将该选取出的最后一个数据单元剩余生存时间与新数据文件生成时的时间进行叠加后的时间设置为新数据文件下次执行数据清除的时间。由于本实施例中的剩余生存时间是新数据文件生成时的相对时间,因此,通过将选取出的最后一个数据单元剩余生存时间与新数据文件生成时的时间进行叠加后的绝对时间作为对新数据文件下次执行数据清除的时间,可以使得时间的计算更加准确。
进一步地,在设置好对新数据文件下次执行数据清除的时间之后,还可以对该时间进行保存,优选可以将对该新数据文件执行数据清除的时间写入该数据文件的预设字段,例如,可以写入key-value数据文件的末尾。数据库中每个新的数据文件都可以通过上述方法进行生成,即每个新生成的数据文件末尾都会有下次执行数据清除操作的时间,这时,可以不断去扫描各数据文件的末尾,获取下次执行数据清除操作的时间,以在时间到达之后可以立即进行compaction,可以及时清除数据文件中的过期数据,完成过期回收,提升数据库的存储效率。
当然,如果某个特定的数据文件中所有的数据单元为永不过期,则可以在该数据文件中标记特定字符,如标记-1,表示无需对该数据文件执行数据清除操作。
下面通过一个优选实施例对上述实施例进行详细说明。数据文件的结构为key-value结构,并通过RocksDB引擎执行compaction。
1、在进行compaction的时候,会生成新数据文件,依次将compaction过滤之后的key写入新数据文件中,而在key写入新数据文件之前,通过value中的ttl字段获得该key的剩余生存时间,进而获取该新数据文件中每个key的剩余生存时间;
2、假设文件中有100个key,其中有80个key会过期,20个key永不过期,对这80个key按剩余生存时间从小到大进行排序;
3、获取用户设置的数据空洞比例,假设用户配置的是20%(最大容忍20%的空洞存在);
4、选取排序后的80个key的前20个key,并获取第20个key的剩余生存时间;
5、将该第20个key的剩余生存时间与新数据文件生成时的时间叠加,作为下次执行compaction的时间,将这个时间写到新数据文件末尾。
这样全局就可以拿到所有文件的下次执行compaction时间,然后在那个时间就对对应的文件做compaction,这样就完成了已过期数据的回收。如果系统重启,则在每次启动之后,遍历每个数据文件末尾,获取各数据文件下次执行compaction时间,开启定时。
基于同一发明构思,本发明实施例还提供了一种清除过期数据的装置,如图3所示,根据本发明实施例提供的清除过期数据的装置可以包括:
剩余生存时间获取模块310,配置为对数据文件进行压缩并生成新数据文件时,获取新数据文件中每个数据单元的剩余生存时间;
空洞比例读取模块320,配置为获取新数据文件的数据空洞比例;
设置模块330,配置为结合数据空洞比例以及每个数据单元的剩余生存时间,设置对新数据文件执行数据清除操作的时间并保存;
数据清除模块340,配置为在该执行数据清除操作的时间到来时对新数据文件执行数据清除操作。
在本发明一个优选实施例中,剩余生存时间获取模块310还可以配置为:
读取新数据文件中每个数据单元的特定字段,获取每个数据单元的剩余生存时间。
在本发明一个优选实施例中,如图4所示,设置模块330可以包括:
列表生成单元331,配置为将新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;
选取单元332,配置为按照数据空洞比例,从过期数据单元列表的第一个数据单元开始依次对数据单元进行选取;
保存单元333,配置为依据选取出的最后一个数据单元的剩余生存时间设置对新数据文件执行数据清除操作的时间并保存。
在本发明一个优选实施例中,如图4所示,保存单元包括333:
获取子单元3331,配置为获取选取出的最后一个数据单元的剩余生存时间;
时间设置子单元3332,配置为将选取出的最后一个数据单元剩余生存时间与新数据文件生成时的时间进行叠加后的时间设置为新数据文件下次执行数据清除的时间。
在本发明一个优选实施例中,如图4所示,保存单元还可以包括:
写入子单元3333,配置为将对新数据文件执行数据清除的时间写入新数据文件的预设字段。
可选地,数据文件为key-value结构的数据文件。
在本发明一个优选实施例中,剩余生存时间获取模块310还可以配置为:
读取与key对应的value中的ttl字段,获取新key-value数据文件中每个key的剩余生存时间。
在本发明一个优选实施例中,设置模块330还可以配置为:
将对新key-value数据文件执行数据清除的时间写入新key-value数据文件的末尾。
本发明实施例提供了一种清除过期数据的方法及装置,通过获取新数据文件中的数据单元的剩余生存时间,同时结合数据文件中预设的数据空洞比例,设置对新数据文件执行数据清除的时间,进而及时回收数据文件中的过期数据单元,合理利用磁盘空间。基于本发明实施例提供的清除过期数据方法,可自动设置各数据文件自动定时清除过期数据的时间,及时完成符合空洞率比例的过期数据回收。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的清除过期数据的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本发明实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行根据上述任一项所述的清除过期数据的方法。
本发明实施例提供了一种计算机可读存储介质,其中,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,使得电子设备执行根据上述任一项所述的清除过期数据的方法。
例如,图5示出了可以实现清除过期数据的方法的计算设备。该计算设备传统上包括处理器510和存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有存储用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,存储程序代码的存储空间530可以包括分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图6所示的便携式或者固定存储单元。该存储单元可以具有与图5的计算设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行本发明的方法步骤的计算机可读代码531’,即可以由诸如510之类的处理器读取的代码,当这些代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (18)

1.一种清除过期数据的方法,包括:
对数据文件进行压缩并生成新数据文件时,获取所述新数据文件中每个数据单元的剩余生存时间;
获取所述新数据文件的数据空洞比例,以获取到新数据文件的可容忍的存储过期数据的比例,其中,数据空洞比例为数据库可容忍的最大空洞比例;
结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存;
在所述执行数据清除操作的时间到来时对所述新数据文件执行数据清除操作。
2.根据权利要求1所述的方法,其中,所述获取所述新数据文件中每个数据单元的剩余生存时间,包括:
读取所述新数据文件中每个数据单元的特定字段,获取所述每个数据单元的剩余生存时间。
3.根据权利要求1所述的方法,其中,所述结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存,包括:
将所述新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;
按照所述数据空洞比例,从所述过期数据单元列表的第一个数据单元开始依次对所述数据单元进行选取;
依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间并保存。
4.根据权利要求3所述的方法,其中,所述依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间,包括:
获取所述选取出的最后一个数据单元的剩余生存时间;
将所述选取出的最后一个数据单元剩余生存时间与所述新数据文件生成时的时间进行叠加后的时间设置为所述新数据文件下次执行数据清除的时间。
5.根据权利要求1-4任一项所述的方法,其中,所述保存对所述新数据文件执行数据清除操作的时间,包括:
将对所述新数据文件执行数据清除的时间写入所述新数据文件的预设字段。
6.根据权利要求1所述的方法,其中,所述数据文件为key-value结构的数据文件。
7.根据权利要求6所述的方法,其中,所述获取所述新数据文件中每个数据单元的剩余生存时间,包括:
读取与key对应的value中的ttl字段,获取新key-value数据文件中每个key的剩余生存时间。
8.根据权利要求7所述的方法,其中,所述保存对所述数据文件执行数据清除操作的时间,包括:
将对所述新key-value数据文件执行数据清除的时间写入新key-value数据文件的末尾。
9.一种清除过期数据的装置,包括:
剩余生存时间获取模块,配置为对数据文件进行压缩并生成新数据文件时,获取所述新数据文件中每个数据单元的剩余生存时间;
空洞比例读取模块,配置为获取所述新数据文件的数据空洞比例,以获取到新数据文件的可容忍的存储过期数据的比例,其中,数据空洞比例为数据库可容忍的最大空洞比例;
设置模块,配置为结合所述数据空洞比例以及所述每个数据单元的剩余生存时间,设置对所述新数据文件执行数据清除操作的时间并保存;
数据清除模块,配置为在所述执行数据清除操作的时间到来时对所述新数据文件执行数据清除操作。
10.根据权利要求9所述的装置,其中,所述剩余生存时间获取模块还配置为:
读取所述新数据文件中每个数据单元的特定字段,获取所述每个数据单元的剩余生存时间。
11.根据权利要求9所述的装置,其中,所述设置模块包括:
列表生成单元,配置为将所述新数据文件中的数据单元按照剩余生存时间从小到大的顺序进行排列,生成过期数据单元列表;
选取单元,配置为按照所述数据空洞比例,从所述过期数据单元列表的第一个数据单元开始依次对所述数据单元进行选取;
保存单元,配置为依据选取出的最后一个数据单元的剩余生存时间设置对所述新数据文件执行数据清除操作的时间并保存。
12.根据权利要求11所述的装置,其中,所述保存单元包括:
获取子单元,配置为获取选取出的最后一个数据单元的剩余生存时间;
时间设置子单元,配置为将所述选取出的最后一个数据单元剩余生存时间与所述新数据文件生成时的时间进行叠加后的时间设置为所述新数据文件下次执行数据清除的时间。
13.根据权利要求12所述的装置,其中,所述保存单元还包括:
写入子单元,配置为将对所述新数据文件执行数据清除的时间写入所述新数据文件的预设字段。
14.根据权利要求9所述的装置,其中,所述数据文件为key-value结构的数据文件。
15.根据权利要求14所述的装置,其中,所述剩余生存时间获取模块还配置为:
读取与key对应的value中的ttl字段,获取新key-value数据文件中每个key的剩余生存时间。
16.根据权利要求15所述的装置,其中,所述设置模块还配置为:
将对所述新key-value数据文件执行数据清除的时间写入新key-value数据文件的末尾。
17.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1-8中任一项所述的清除过期数据的方法。
18.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行根据权利要求1-8中任一项所述的清除过期数据的方法。
CN201711480924.6A 2017-12-29 2017-12-29 清除过期数据的方法及装置 Active CN108196792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711480924.6A CN108196792B (zh) 2017-12-29 2017-12-29 清除过期数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711480924.6A CN108196792B (zh) 2017-12-29 2017-12-29 清除过期数据的方法及装置

Publications (2)

Publication Number Publication Date
CN108196792A CN108196792A (zh) 2018-06-22
CN108196792B true CN108196792B (zh) 2021-06-01

Family

ID=62586761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711480924.6A Active CN108196792B (zh) 2017-12-29 2017-12-29 清除过期数据的方法及装置

Country Status (1)

Country Link
CN (1) CN108196792B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716924B (zh) * 2018-07-13 2022-09-16 杭州海康威视系统技术有限公司 删除过期数据的方法和装置
CN111400298A (zh) * 2020-04-17 2020-07-10 Oppo广东移动通信有限公司 数据处理方法及装置、计算机可读存储介质
CN112214503A (zh) * 2020-10-10 2021-01-12 深圳壹账通智能科技有限公司 数据处理方法、装置、电子设备及存储介质
CN113297192B (zh) * 2021-05-31 2023-03-14 上海艾麒信息科技股份有限公司 针对redis hash类型数据控制field过期的方法及系统
CN115480707A (zh) 2022-09-30 2022-12-16 三星(中国)半导体有限公司 数据存储的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918602B2 (en) * 2011-09-19 2014-12-23 International Business Machines Corporation Dynamically altering time to live values in a data cache
CN103761306B (zh) * 2014-01-22 2017-08-04 广东欧珀移动通信有限公司 一种智能终端文件清理方法及装置
CN104572920A (zh) * 2014-12-27 2015-04-29 北京奇虎科技有限公司 一种数据整理方法和装置
CN104572113A (zh) * 2015-01-21 2015-04-29 深圳市中兴移动通信有限公司 存储空间的自动整理方法和移动终端
CN106557436A (zh) * 2016-11-17 2017-04-05 乐视控股(北京)有限公司 终端的内存压缩功能使能方法及装置
CN107451190A (zh) * 2017-06-26 2017-12-08 北京五八信息技术有限公司 可持久化非关系型数据库的数据处理方法及装置

Also Published As

Publication number Publication date
CN108196792A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108196792B (zh) 清除过期数据的方法及装置
CN105706061B (zh) 使用非易失性存储器的崩溃恢复
CN108009098B (zh) 具有经压缩的正向映射的存储分层
JP2009505256A5 (zh)
US20140222761A1 (en) Terminal Backup and Recovery Method
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
CN1384937A (zh) 利用逻辑闪速存储器件进行最小单元更新的方法和设备
CN108073507B (zh) 一种内核崩溃现场数据的处理方法及装置
CN108009147B (zh) 电子书封面生成方法、电子设备及计算机存储介质
CN104331376B (zh) 移动终端中存储的安装包的清理方法和装置
CN101216789A (zh) 数据更新方法、装置及系统
CN102184117A (zh) 系统在不同类型的Nandflash上的启动方法及装置
CN110162563B (zh) 一种数据入库方法、系统及电子设备和存储介质
CN107256233B (zh) 一种数据存储方法和装置
CN113419897B (zh) 一种文件处理方法、装置、电子设备及其存储介质
CN108108467B (zh) 数据删除方法及装置
CN103092955B (zh) 检查点操作方法、装置及系统
CN110941597B (zh) 解压缩文件的清理方法、装置、计算设备及计算机存储介质
CN106557383B (zh) 一种数据恢复的方法及装置
WO2014079305A1 (en) Method and computing device for processing data
CN105335940A (zh) 一种实现图像的滤镜效果的方法、装置及服务器
CN110471764A (zh) 一种内存清理的处理方法及装置
CN111125047B (zh) 冷热数据目录识别方法及装置
CN107704247B (zh) 一种减小多核固件大小的方法
CN107301133B (zh) 一种构建丢失的FTL table的方法及装置

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
GR01 Patent grant
GR01 Patent grant