CN110716924B - 删除过期数据的方法和装置 - Google Patents
删除过期数据的方法和装置 Download PDFInfo
- Publication number
- CN110716924B CN110716924B CN201810776615.1A CN201810776615A CN110716924B CN 110716924 B CN110716924 B CN 110716924B CN 201810776615 A CN201810776615 A CN 201810776615A CN 110716924 B CN110716924 B CN 110716924B
- Authority
- CN
- China
- Prior art keywords
- data
- life cycle
- database
- modification
- time
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种删除过期数据的方法和装置,属于计算机技术领域。所述方法包括:将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;删除所述过期数据。采用本发明,可以提高清理过期数据的处理效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种删除过期数据的方法和装置。
背景技术
对象存储系统中存储着大量的数据,为了可以定时释放磁盘空间,保证数据库中可以正常存储数据,可以为存储的数据设置生命周期,当某数据的修改时刻(一般是指最后一次修改的修改时刻)与当前时刻的差值超过了该数据的生命周期,则表示该数据已过期,可以清除该过期数据。
在筛选过期数据时,服务器需要在存储数据的属性信息的元数据信息表中获取数据的生命周期和修改时刻,然后计算数据的生命周期和当前时刻的差值,得到的差值即为该数据的参考时刻,将参考时刻与该数据的修改时刻进行对比,如果数据的修改时刻早于该参考时刻,则确定该数据已过期,将该数据从数据库中删除。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在筛选过期数据的过程中,需要遍历元数据信息表,根据每个数据的生命周期和当前时刻,逐一计算数据的参考时刻,再将每个数据的参考时刻与该数据的修改时刻进行对比,逐一判断数据是否为过期数据,导致服务器清理过期数据的处理效率较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种删除过期数据的方法和装置。所述技术方案如下:
第一方面,提供了一种删除过期数据的方法,所述方法包括:
将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
删除所述过期数据。
可选地,所述将当前时刻与数据库中数据的每种生命周期分别求差之前,还包括:
当检测到所述数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的数目。
可选地,所述对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据,包括:
对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据。
可选地,所述将当前时刻与数据库中数据的每种生命周期分别求差之前,还包括:
当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的修改时刻的存储地址;
根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的修改时刻的存储地址。
可选地,所述对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据,包括:
对于每种生命周期,根据所述第二生命周期记录表中记录的所述生命周期对应的至少一个数据的修改时刻的存储地址,获取所述至少一个数据的修改时刻,在获取的修改时刻中,确定早于所述生命周期对应的参考时刻的目标修改时刻,将所述目标修改时刻对应的数据,确定为过期数据。
可选地,所述方法还包括:
删除记录的所述过期数据的生命周期以及修改时刻。
第二方面,提供了一种删除过期数据的装置,所述装置包括:
求差模块,用于将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
确定模块,用于对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
删除模块,用于删除所述过期数据。
可选地,所述装置还包括:
第一获取模块,用于将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
第一更新模块,用于根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的数目。
可选地,所述确定模块,用于:
对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据。
可选地,所述装置还包括:
第二获取模块,用于将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的修改时刻的存储地址;
第二更新模块,用于根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的修改时刻的存储地址。
可选地,所述确定模块,用于:
对于每种生命周期,根据所述第二生命周期记录表中记录的所述生命周期对应的至少一个数据的修改时刻的存储地址,获取所述至少一个数据的修改时刻,在获取的修改时刻中,确定早于所述生命周期对应的参考时刻的目标修改时刻,将所述目标修改时刻对应的数据,确定为过期数据。
可选地,所述删除模块还用于:
删除记录的所述过期数据的生命周期以及修改时刻。
第三方面,提供了一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第一方面所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面所述的删除过期数据的方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻,然后将参考时刻与其对应的至少一个数据的修改时刻进行对比,确定出过期数据,并删除确定出的过期数据。这样,对于每种生命周期对应的至少一个数据,只需要计算一次参考时刻,无需计算每个数据对应的参考时刻,减少了计算量,即减少了确定过期数据的时间,因此提高了服务器清理过期数据的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种删除过期数据的方法的流程图;
图2是本发明实施例提供的一种删除过期数据的系统结构图;
图3是本发明实施例提供的一种删除过期数据的装置的结构示意图;
图4是本发明实施例提供的一种删除过期数据的装置的结构示意图;
图5是本发明实施例提供的一种删除过期数据的装置的结构示意图;
图6是本发明实施例提供的一种服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种删除过期数据的方法,该方法可以由服务器实现。其中,服务器可以是对象存储系统中的服务器,该对象存储系统还包括数据库服务器。
服务器可以包括处理器、存储器、收发器等部件。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以用于将当前时刻与数据库中数据的每种生命周期分别求差、确定参考时刻、将参考时刻与修改时刻进行对比以及确定过期数据等。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如数据的生命周期和修改时刻、生命周期对应的参考时刻等。收发器,可以用于与终端或其它服务器(如数据库服务器)进行数据传输,例如,向数据库服务器发送查找数据的信息以及向数据库服务器发送删除过期数据消息,收发器可以包括天线、匹配电路、调制解调器等。
如图1所示,该方法的处理流程可以包括如下的步骤:
在步骤101中,将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻。
其中,生命周期可以是用户为数据设置的生命周期,也可以是该数据存入数据库的存储区时,由该存储区赋予该数据的生命周期。不同种生命周期指的是数值不同的生命周期,多个数据的生命周期如果相同,即为同一种生命周期。参考时刻为用于判断一个数据是否过期的一个时刻阈值,如果数据的修改时刻早于该数据对应的参考时刻,则说明该数据为过期数据。
一个可能的实施例中,对象存储系统中可以包括服务器和数据库,数据库中存储数据的实体,服务器中存储数据的属性信息,包括数据的生命周期、修改时刻以及该数据的实体在数据库中的存储地址,其中,修改时刻一般是指该数据最后一次进行修改的修改时刻。
当服务器查找过期数据时,服务器获取当前时刻,并获取预先记录的数据库中数据的各种生命周期,以一种生命周期为例,计算该生命周期与当前时刻的差值,得到一个时刻,即为该生命周期对应的参考时刻。
可选地,上述预先记录数据库中数据的各种生命周期的方法,可以是预先建立一张用于记录生命周期的虚拟表,该方案可以应用于数据库中存储的数据量比较大的情况。相应的处理步骤可以如下:当检测到数据库中存入第一数据时,获取第一数据对应的第一生命周期;根据第一生命周期,对预先建立的第一生命周期记录表进行更新。
其中,第一生命周期记录表用于记录在数据库中每种生命周期对应的数据的数目。
一个可能的实施例中,在服务器初次启动的时候,服务器预先建立一张用于记录数据库中每种生命周期对应的数据的数目的生命周期记录表(即第一生命周期记录表)。当服务器检测到有数据(即第一数据)存入数据库时,获取第一数据对应的第一生命周期、第一修改时刻以及第一数据的实体在数据库中的存储地址,然后将第一数据的这些信息存储在元数据信息表中,并在第一生命周期记录表中,查询是否有第一生命周期的记录。如果第一生命周期记录表中有该第一生命周期的记录,则将第一生命周期记录表中记录的第一生命周期的数目加1。如果第一生命周期记录表中没有第一生命周期的记录,则在第一生命周期记录表添加第一生命周期,并将第一生命周期的数目确定为1。
当用户对第一数据进行修改时,即服务器对第一数据进行写操作时,服务器确定对第一数据完成写操作的时刻(即新的修改时刻),在元数据信息表中,将第一数据对应的修改时刻更新为新的修改时刻。
需要说明的是,上述的第一生命周期记录表可以是以key-value的形式存储的虚拟表,其中,key为生命周期,value为数据库中该生命周期对应的数据的数目,如下表1所示。
表1
key | Value |
row_key1 | 12 |
row_key2 | 26 |
row_key3 | 5 |
…… | …… |
另外,根据第一生命周期记录表查询上述生命周期的数目时,可以将每种生命周期对应的数目都记录在上述第一生命周期记录表中。对于每种生命周期,服务器可以在生命周期对应的至少一个数据中,将修改时刻早于生命周期对应的参考时刻的数据,确定为过期数据。
可选地,上述预先记录数据库中数据的各种生命周期的方法,可以是预先建立一张用于记录数据的修改时刻的存储地址的虚拟表,该方案可以应用于数据库中存储的数据量比较小的情况。相应的处理步骤可以如下:当检测到数据库中存储第二数据时,获取第二数据对应的第二生命周期和第二数据的修改时刻的存储地址;根据第二生命周期以及存储地址,对预先建立的第二生命周期记录表进行更新。
其中,第二生命周期记录表用于记录在数据库中每种生命周期对应的数据的修改时刻的存储地址。
一个可能的实施例中,在服务器初次启动的时候,服务器预先建立一张用于记录数据的修改时刻的存储地址的生命周期记录表(即第二生命周期记录表),修改时刻的存储地址是修改时刻存储在元数据信息表中的存储地址,根据该存储地址,服务器可以直接获取存储地址对应的修改时刻。
当服务器检测到有数据(即第二数据)存入数据库时,获取第二数据对应的第二生命周期、第二修改时刻以及第二数据的实体在数据库中的存储地址,并确定第二修改时刻在元数据信息表中的存储地址。然后将第二数据的这些信息存储在元数据信息表中,并在第二生命周期记录表中,查询是否有第二生命周期的记录。如果第二生命周期记录表中有该第二生命周期的记录,则在第二生命周期记录表中,在与第二生命周期对应存储的修改时刻的存储地址中,添加上第二修改时刻的存储地址。如果第二生命周期记录表中没有第二生命周期的记录,则在第二生命周期记录表添加第二生命周期,并在与第二生命周期对应存储的修改时刻的存储地址中,添加第二修改时刻的存储地址。
当用户对第二数据进行修改时,即服务器对第二数据进行写操作时,服务器确定对第二数据完成写操作的时刻(即新的修改时刻),在元数据信息表中,将第二数据对应的修改时刻更新为新的修改时刻。
需要说明的是,上述的第二生命周期记录表可以是以key-value的形式存储的虚拟表,其中,key为生命周期,value为生命周期对应的数据的修改时刻在元数据信息表中的存储地址,存储地址可以是由存储的容器名、对象名以及版本号组成的,如下表2所示。
表2
key | Value |
row_key1 | bucket1/name1/version_id1 |
row_key2 | bucket2/name2/version_id2 |
row_key3 | bucket3/name3/version_id3 |
…… | …… |
在步骤102中,对于每种生命周期,在生命周期对应的至少一个数据中,将修改时刻早于生命周期对应的参考时刻的数据,确定为过期数据。
一个可能的实施例中,以一种生命周期为例,根据上述步骤确定该生命周期的参考时刻之后,获取该生命周期对应的数据的修改时刻,该生命周期可能对应多个数据,则获取该生命周期对应的每个数据的修改时刻,将每个数据的修改时刻与该生命周期的参考时刻进行比对,选取出早于参考时刻的修改时刻,并确定选取出的修改时刻对应的数据,将这些数据确定为过期数据。
可选地,对于上述第一生命周期记录表的方案,选取过期数据的处理步骤可以如下:对于每种生命周期,在第一生命周期记录表中确定生命周期对应的数据的第一数目,在数据库的各数据中,查找生命周期对应的数据,当查找到的数据的第二数目等于第一数目时,停止查找,并在生命周期对应的第二数目的数据中,将修改时刻早于生命周期对应的参考时刻的数据,确定为过期数据。
一个可能的实施例中,以一种生命周期为例,在第一生命周期记录表中,确定该生命周期(可称为第一待查找生命周期)对应的数据的数目(即第一数目),该第一数目表示在数据库中存储的数据中,生命周期为第一待查找生命周期的数据的个数为第一数目。
在数据库中,查找生命周期为第一待查找生命周期的数据,每当找到一个生命周期为第一待查找生命周期的数据时,记录当前查到的数据的个数(即第二数目),并判断第二数目是否等于第一数目。如果第二数目等于第一数目,说明此时在数据库中已经找到了所有的生命周期为第一待查找生命周期的数据,因此,触发服务器停止查找数据。这样可以减少无用的查找消耗的时间,提高了查找过期数据的效率。
然后,在查找到的所有数据中,将这些数据的修改时刻与第一待查找生命周期的参考时刻进行对比,确定出早于参考时刻的所有修改时刻,并确定这些修改时刻对应的数据,将其确定为过期数据。
需要说明的是,上述根据第一待查找生命周期在元数据信息表中查找修改时刻时,可以是在元数据信息表从第一个存储信息开始,按顺序获取每个存储信息中的生命周期,并对比生命周期是否为第一生命周期,若是,则记录下该存储信息,若不是,则跳过。也可以是根据多个存储信息的索引同时判断多个存储信息中的生命周期是否为第一生命周期,本发明对查找方法不作限定。
可选地,对于上述第二生命周期记录表的方案,选取过期数据的处理步骤可以如下:对于每种生命周期,根据第二生命周期记录表中记录的生命周期对应的至少一个数据的修改时刻的存储地址,获取至少一个数据的修改时刻,在获取的修改时刻中,确定早于生命周期对应的参考时刻的目标修改时刻,将目标修改时刻对应的数据,确定为过期数据。
一个可能的实施例中,以一种生命周期为例,在第二生命周期记录表中,确定该生命周期(可称为第二待查找生命周期)对应的所有数据的修改时刻的存储地址,然后,根据这些存储地址,在元数据信息表中获取到这些存储地址对应的修改时刻。这样可以直接获取到第二待查找生命周期对应的所有数据的修改时刻,无需在元数据信息表中进行查找,减少了获取修改时刻的时间,相当于减少了查找过期数据的时间,因此提高了查找过期数据的效率。
然后,将获取到的所有修改时刻与第二待查找生命周期的参考时刻进行对比,确定出其中早于参考时刻的所有修改时刻,并确定这些修改时刻对应的数据,将这些数据确定为过期数据。
在步骤103中,删除过期数据。
一个可能的实施例中,通过上述步骤确定了过期数据后,在元数据信息表中,确定这些过期数据在数据库中的存储地址,根据这些存储地址在数据库中找到过期数据的实体,然后删除这些过期数据的实体。
需要说明的是,上述根据过期数据在数据库中的存储地址删除过期数据的实体的过程,可以是多线程操作,即服务器同时找到在数据库中存储的过期数据的实体,并多个线程同时进行删除,这样可以减少删除过程的处理时间,提高了删除过期数据的效率。
可选地,上述删除过期数据的实体后,还可以删除元数据信息表中过期数据的属性信息,即删除记录的过期数据的生命周期以及修改时刻。
一个可能的实施例中,服务器通过上述步骤确定过期数据后,如图2所示,在元数据信息表中,获取过期数据在数据库中的存储地址,根据这些存储地址在数据库中找到过期数据的实体,然后向数据库发送删除过期数据消息,数据库接收到删除过期数据消息后,删除这些过期数据的实体。成功删除后,数据库向服务器发送删除成功消息,服务器接收到删除成功消息后,在元数据信息表中,找到所有过期数据的所有属性信息,包括生命周期和修改时刻,然后删除过期数据的所有属性信息。这样,就完成了对过期数据的删除处理。按照上述步骤删除过期数据的实体和属性信息,可以及时释放数据库以及服务器的存储空间。
本发明实施例中,将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻,然后将参考时刻与其对应的至少一个数据的修改时刻进行对比,确定出过期数据,并删除确定出的过期数据。这样,对于每种生命周期对应的至少一个数据,只需要计算一次参考时刻,无需计算每个数据对应的参考时刻,减少了计算量,即减少了确定过期数据的时间,因此提高了服务器清理过期数据的处理效率。
基于相同的技术构思,本发明实施例还提供了一种删除过期数据的装置,该装置可以为上述实施例中的服务器,如图3所示,该装置包括:求差模块310,确定模块320和删除模块330。
该求差模块310,被配置为将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
该确定模块320,被配置为对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
该删除模块330,被配置为删除所述过期数据。
可选地,如图4所示,所述装置还包括:
第一获取模块340,被配置为将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
第一更新模块350,被配置为根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表被配置为记录在所述数据库中每种生命周期对应的数据的数目。
可选地,所述确定模块320,被配置为:
对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据。
可选地,如图5所示,所述装置还包括:
第二获取模块360,被配置为将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的修改时刻的存储地址;
第二更新模块370,被配置为根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表被配置为记录在所述数据库中每种生命周期对应的数据的修改时刻的存储地址。
可选地,所述确定模块320,被配置为:
对于每种生命周期,根据所述第二生命周期记录表中记录的所述生命周期对应的至少一个数据的修改时刻的存储地址,获取所述至少一个数据的修改时刻,在获取的修改时刻中,确定早于所述生命周期对应的参考时刻的目标修改时刻,将所述目标修改时刻对应的数据,确定为过期数据。
可选地,所述删除模块330还被配置为:
删除记录的所述过期数据的生命周期以及修改时刻。
本发明实施例中,将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻,然后将参考时刻与其对应的至少一个数据的修改时刻进行对比,确定出过期数据,并删除确定出的过期数据。这样,对于每种生命周期对应的至少一个数据,只需要计算一次参考时刻,无需计算每个数据对应的参考时刻,减少了计算量,即减少了确定过期数据的时间,因此提高了服务器清理过期数据的处理效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的删除过期数据的装置在删除过期数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的删除过期数据的装置与删除过期数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备可以是上述实施例中的服务器。该计算机设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)601和一个或一个以上的存储器602,其中,所述存储器602中存储有至少一条指令,所述至少一条指令由所述处理器601加载并执行以实现下述删除过期数据的方法步骤:
将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
对于每种生命周期,在所述生命周期对应的至少一个数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
删除所述过期数据。
可选的,所述至少一条指令由所述处理器601加载并执行以实现下述方法步骤:
当检测到所述数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的数目。
可选的,所述至少一条指令由所述处理器601加载并执行以实现下述方法步骤:
对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据。
可选的,所述至少一条指令由所述处理器601加载并执行以实现下述方法步骤:
当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的修改时刻的存储地址;
根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的修改时刻的存储地址。
可选的,所述至少一条指令由所述处理器601加载并执行以实现下述方法步骤:
对于每种生命周期,根据所述第二生命周期记录表中记录的所述生命周期对应的至少一个数据的修改时刻的存储地址,获取所述至少一个数据的修改时刻,在获取的修改时刻中,确定早于所述生命周期对应的参考时刻的目标修改时刻,将所述目标修改时刻对应的数据,确定为过期数据。
可选的,所述至少一条指令由所述处理器601加载并执行以实现下述方法步骤:
删除记录的所述过期数据的生命周期以及修改时刻。
本发明实施例中,将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻,然后将参考时刻与其对应的至少一个数据的修改时刻进行对比,确定出过期数据,并删除确定出的过期数据。这样,对于每种生命周期对应的至少一个数据,只需要计算一次参考时刻,无需计算每个数据对应的参考时刻,减少了计算量,即减少了确定过期数据的时间,因此提高了服务器清理过期数据的处理效率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种删除过期数据的方法,其特征在于,所述方法包括:
当检测到数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的数目;
将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,每当找到一个所述生命周期对应的数据时,记录当前查到的数据的第二数目,并判断第二数目是否等于第一数目;当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将最后一次修改的修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
删除所述过期数据。
2.根据权利要求1所述的方法,其特征在于,所述将当前时刻与数据库中数据的每种生命周期分别求差之前,还包括:
当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的最后一次修改的修改时刻的存储地址;
根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的最后一次修改的修改时刻的存储地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
删除记录的所述过期数据的生命周期以及最后一次修改的修改时刻。
4.一种删除过期数据的装置,其特征在于,所述装置包括:
第一获取模块,用于将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存入第一数据时,获取所述第一数据对应的第一生命周期;
第一更新模块,用于根据所述第一生命周期,对预先建立的第一生命周期记录表进行更新,其中,所述第一生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的数目;
求差模块,用于将当前时刻与数据库中数据的每种生命周期分别求差,得到每种生命周期对应的参考时刻;
确定模块,用于对于每种生命周期,在所述第一生命周期记录表中确定所述生命周期对应的数据的第一数目,在所述数据库的各数据中,查找所述生命周期对应的数据,每当找到一个所述生命周期对应的数据时,记录当前查到的数据的第二数目,并判断第二数目是否等于第一数目;当查找到的数据的第二数目等于所述第一数目时,停止查找,并在所述生命周期对应的第二数目的数据中,将最后一次修改的修改时刻早于所述生命周期对应的参考时刻的数据,确定为过期数据;
删除模块,用于删除所述过期数据。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于将当前时刻与数据库中数据的每种生命周期分别求差之前,当检测到所述数据库中存储第二数据时,获取所述第二数据对应的第二生命周期和所述第二数据的最后一次修改的修改时刻的存储地址;
第二更新模块,用于根据所述第二生命周期以及所述存储地址,对预先建立的第二生命周期记录表进行更新,其中,所述第二生命周期记录表用于记录在所述数据库中每种生命周期对应的数据的最后一次修改的修改时刻的存储地址。
6.根据权利要求4所述的装置,其特征在于,所述删除模块还用于:
删除记录的所述过期数据的生命周期以及最后一次修改的修改时刻。
7.一种计算机设备,其特征在于,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现权利要求1至3任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至3任一所述的删除过期数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810776615.1A CN110716924B (zh) | 2018-07-13 | 2018-07-13 | 删除过期数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810776615.1A CN110716924B (zh) | 2018-07-13 | 2018-07-13 | 删除过期数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716924A CN110716924A (zh) | 2020-01-21 |
CN110716924B true CN110716924B (zh) | 2022-09-16 |
Family
ID=69208650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810776615.1A Active CN110716924B (zh) | 2018-07-13 | 2018-07-13 | 删除过期数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716924B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116685A (zh) * | 2020-08-25 | 2022-03-01 | 福建天泉教育科技有限公司 | 一种非结构化数据库中历史数据的清理方法及终端 |
CN112214503A (zh) * | 2020-10-10 | 2021-01-12 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113099302B (zh) * | 2021-04-06 | 2021-11-30 | 深圳市通久电子有限公司 | 一种基于三合一模式的机顶盒及其工作方法 |
CN113515537B (zh) * | 2021-09-13 | 2021-12-31 | 天津南大通用数据技术股份有限公司 | 一种实现生命周期表垃圾数据免维护的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141963A (zh) * | 2010-01-28 | 2011-08-03 | 阿里巴巴集团控股有限公司 | 一种数据分析方法和设备 |
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311381B2 (en) * | 2013-12-30 | 2016-04-12 | Bmc Software Inc. | Lifecycle reference partitioning for database objects |
EP3115906A1 (en) * | 2015-07-07 | 2017-01-11 | Toedt, Dr. Selk & Coll. GmbH | Finding doublets in a database |
CN106095850A (zh) * | 2016-06-02 | 2016-11-09 | 中国联合网络通信集团有限公司 | 一种数据处理方法及设备 |
CN106250386A (zh) * | 2016-07-08 | 2016-12-21 | 乐视控股(北京)有限公司 | 对象存储中删除对象的方法和装置 |
CN107643879A (zh) * | 2017-09-27 | 2018-01-30 | 北京小米移动软件有限公司 | 信息清理方法、装置及终端 |
CN107590283B (zh) * | 2017-09-29 | 2019-12-24 | 浙江大华技术股份有限公司 | 一种文件回收方法、装置、服务器及计算机可读存储介质 |
CN108196792B (zh) * | 2017-12-29 | 2021-06-01 | 北京奇虎科技有限公司 | 清除过期数据的方法及装置 |
-
2018
- 2018-07-13 CN CN201810776615.1A patent/CN110716924B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141963A (zh) * | 2010-01-28 | 2011-08-03 | 阿里巴巴集团控股有限公司 | 一种数据分析方法和设备 |
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
Non-Patent Citations (2)
Title |
---|
Digital construction of coal mine big data for different platforms based on life cycle;Liu Xianglan;《2017 IEEE 2nd International Conference on Big Data Analysis (ICBDA)》;20171023;第456-459页 * |
基于生命周期控制的电子文件安全删除方案;沈薇薇 等;《小型微型计算机系统》;20160531;第1091-1096页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110716924A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110716924B (zh) | 删除过期数据的方法和装置 | |
US11474972B2 (en) | Metadata query method and apparatus | |
CN107943718B (zh) | 一种清理缓存文件的方法和装置 | |
CN107491523B (zh) | 存储数据对象的方法及装置 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN114490527B (zh) | 元数据检索方法、系统、终端及存储介质 | |
CN109460345B (zh) | 实时数据的计算方法及系统 | |
WO2020215580A1 (zh) | 一种分布式全局数据去重方法和装置 | |
CN111654532A (zh) | 一种配置文件集中管理系统、方法及装置 | |
CN109189759B (zh) | Kv存储系统中的数据读取方法、数据查询方法、装置及设备 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN113377724A (zh) | 一种缓存空间管理方法、装置和存储介质 | |
CN111552438B (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
CN113239012A (zh) | 一种数据库迁移方法、装置、电子设备和存储介质 | |
CN112783835A (zh) | 索引管理方法、装置及电子设备 | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
CN115904211A (zh) | 一种存储系统、数据处理方法及相关设备 | |
CN114764403A (zh) | 一种数据迁移方法、装置、设备及存储介质 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
US12066996B2 (en) | Garbage collection based on metadata indicating unmodified objects | |
CN111143288A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |