CN111597149B - 一种数据库的数据清理方法及装置 - Google Patents
一种数据库的数据清理方法及装置 Download PDFInfo
- Publication number
- CN111597149B CN111597149B CN202010342427.5A CN202010342427A CN111597149B CN 111597149 B CN111597149 B CN 111597149B CN 202010342427 A CN202010342427 A CN 202010342427A CN 111597149 B CN111597149 B CN 111597149B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- instruction
- deletion
- cleaning
- 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
- 238000004140 cleaning Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000012634 fragment Substances 0.000 claims abstract description 140
- 238000012217 deletion Methods 0.000 claims abstract description 106
- 230000037430 deletion Effects 0.000 claims abstract description 106
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 claims description 3
- 238000006062 fragmentation reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据库的数据清理方法及装置,首先,获取数据库中全部数据分片中的可操作数据分片。然后,将全部可操作数据分片写入新建数据文件。响应于对数据库的清理指令,根据删除标记从新建数据文件中确定带有删除标记的数据分片,并删除这些带有删除标记的数据分片,以清理数据库。可见,本申请可以有效删除已经带有删除标记而未删除数据内容的数据分片,从而起到彻底清理数据分片的效果。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据库的数据清理方法及装置。
背景技术
WOS(Wuba Object Storage,Wuba对象存储)适合用来保存图片、音频、短视频和各种类型的文件等非结构化数据,能够满足海量文件存储和处理的需求。WOS前端提供RESTful API,可以直接通过HTTP协议与服务端进行交互,支持多种上传接口。WOS后端采用分布式存储技术,通过多副本或纠删码技术保证数据安全可靠。
WOS在基于纠删码的存储技术实现过程中,WOS首先将一份数据平均分为4份子数据,并且同时生成2份校验数据,并将上述6份数据分别存储于6个磁盘中,其中,这6个磁盘分属6台机器上,作为6个数据节点,将这6个数据节点定义为一个群组。针对某些失效数据,WOS采用标记删除的方式对失效数据进行删除。具体地,当存储数据库接收到删除指令之后,对需要删除的数据分片进行标记,当数据分片被标记之后就默认该数据分片已经被删除。
但是,采用现有的数据删除方法,并不能真正地将数据彻底删除,这些数据仍然会占用存储数据库的大量内存。
发明内容
本申请提供了一种数据库的数据清理方法及装置,以解决现有数据删除方法无法彻底删除数据,释放数据库的内存的问题。
第一方面,本申请实施例提供了一种数据库的数据清理方法,应用于基于WOS进行存储的数据库,所述方法包括:
获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;
将全部所述可操作数据分片写入新建数据文件;
响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
在本发明实施例第一方面一种可能的实现方式中,
所述获取所述数据库中全部数据分片中的可操作数据分片之前包括:
响应于对所述数据库的禁止写入指令,在当前的数据清理过程中锁定所述数据库写入新的数据分片的动作,以防止所述写入新的数据分片的动作与所述当前的数据清理过程相冲突。
在本发明实施例第一方面一种可能的实现方式中,
所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之前包括:
接收待处理清理指令,所述待处理清理指令为等待所述数据库响应的清理指令;
判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段;
如果是,则确定所述待处理清理指令为清理指令。
在本发明实施例第一方面一种可能的实现方式中,
所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片包括:
获取各所述带有删除标记的数据分片的分片名称;
将所述带有删除标记的数据分片的分片名称按照对应的所述清理指令的接收时间顺序排列,得到删除队列;
按照所述删除队列中各所述分片名称的排列顺序,依次执行与所述分片名称对应的所述清理指令,以从所述新建数据文件中删除所述带有删除标记的数据分片。
在本发明实施例第一方面一种可能的实现方式中,
所述判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段还包括:
如果否,则确定所述待处理清理指令为待执行指令;
将各所述待执行指令按照所述数据库的接收时间顺序排列,得到待执行指令队列,以作为所述数据库在下一预设可执行清理指令的时间段内执行的清理指令。
在本发明实施例第一方面一种可能的实现方式中,
所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之后包括:
在所述数据库接收到清理结束指令之后,响应于对所述数据库的写入解锁指令,以使所述数据库写入所述新的数据分片,其中,所述清理结束指令用于指示所述数据库当前的数据清理过程已结束,所述写入解锁指令用于指示所述数据库开启数据分片的写入功能。
第二方面,本申请提供了一种数据库的数据清理装置,应用于基于WOS进行存储的数据库,所述装置包括:
获取模块,用于获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;
新建数据文件创建模块,用于将全部所述可操作数据分片写入新建数据文件;
删除模块,用于响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
在本发明实施例第二方面一种可能的实现方式中,所述装置还包括:
禁写模块,用于响应于对所述数据库的禁止写入指令,在当前的数据清理过程中锁定所述数据库写入新的数据分片的动作,以防止所述写入新的数据分片的动作与所述当前的数据清理过程相冲突。
在本发明实施例第二方面一种可能的实现方式中,所述装置还包括:
接收指令模块,用于接收待处理清理指令,所述待处理清理指令为等待所述数据库响应的清理指令;
判断模块,用于判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段;
第一确定模块,用于如果是,则确定所述待处理清理指令为清理指令。
在本发明实施例第二方面一种可能的实现方式中,所述删除模块包括:
获取模块,用于获取各所述带有删除标记的数据分片的分片名称;
删除队列生成模块,用于将所述带有删除标记的数据分片的分片名称按照对应的所述清理指令的接收时间顺序排列,得到删除队列;
执行模块,用于按照所述删除队列中各所述分片名称的排列顺序,依次执行与所述分片名称对应的所述清理指令,以从所述新建数据文件中删除所述带有删除标记的数据分片。
在本发明实施例第二方面一种可能的实现方式中,所述装置还包括:
第二确定模块,用于如果否,则确定所述待处理清理指令为待执行指令;
执行队列生成模块,用于将各所述待执行指令按照所述数据库的接收时间顺序排列,得到待执行指令队列,以作为所述数据库在下一预设可执行清理指令的时间段内执行的清理指令。
在本发明实施例第二方面一种可能的实现方式中,所述装置还包括:
数据接收模块,用于在所述数据库接收到清理结束指令之后,响应于对所述数据库的写入解锁指令,以使所述数据库写入所述新的数据分片,其中,所述清理结束指令用于指示所述数据库当前的数据清理过程已结束,所述写入解锁指令用于指示所述数据库开启数据分片的写入功能。
第三方面,本发明实施例提供了一种电子设备,包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的数据库的数据清理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据库的数据清理方法。
由以上技术可知,本申请提供了一种数据库的数据清理方法及装置,其中,在数据库的数据清理方法中,首先,获取所述数据库中全部数据分片中的可操作数据分片。然后,将全部所述可操作数据分片写入新建数据文件。响应于对数据库的清理指令,根据删除标记从新建数据文件中确定带有删除标记的数据分片,并删除这些带有删除标记的数据分片,以清理数据库。可见,本申请所提供的数据库清理方法针对数据库中的全部数据分片,可以有效删除已经带有删除标记而未删除数据内容的数据分片,从而起到彻底删除数据分片的效果。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据库的数据清理方法的流程图;
图2为本申请实施例提供的一种判断清理指令类型的方法的流程图;
图3为本申请实施例提供的一种清理结束后发送指令的方法的流程图;
图4为本发明实施例提供的数据库的数据清理装置实施例一的结构示意图;
图5为本发明实施例提供的数据库的数据清理装置实施例二的结构示意图;
图6为本发明实施例提供的数据库的数据清理装置实施例三的结构示意图;
图7为本发明实施例提供的数据库的数据清理装置实施例四的结构示意图;
图8为本发明实施例提供的数据库的数据清理装置实施例五的结构示意图;
图9为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的一种数据库的数据清理方法的流程图,如图1所示,所述方法包括:
S1、获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;
S2、将全部所述可操作数据分片写入新建数据文件;
S3、响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
由WOC的数据存储机制可知,系统在存储每一份数据时,都会对应保存该份数据的数据分片信息,例如,数据分片的名称,数据分片的分布等,以方便管理。为了区分这些数据分片是否被视为已删除,在视为已删除的数据分片名称上会标记删除标记,在视为未删除的数据分片名称上标记未删除标记,进一步地,也可以选择不对未删除的数据分片做任何标记以区分已删除数据分片和未删除数据分片,上述均属于各数据分片的原始信息。可见,可以从数据库中准确获取全部数据分片的原始汇总信息。需要注意的是,带有删除标记的数据分片只是被视为已删除,即仅限制对其读取、修改等操作,而实际上数据库中仍然保存有该数据分片。由此可知,可以从数据库中获取这些被视为已删除,实际上仍被保存于数据库的数据分片,即带有删除标记的数据分片。
为这些可操作数据分片创建一个单独的数据文件(新建数据文件),以方便对这些可操作数据分片的删除操作。具体地,如果每次执行数据清理动作,都需要重新浏览分散在数据库中的全部可操作数据分片,以查找到需要清理的数据分片。这样的清理操作需要重复多次对可操作数据分片的定位动作,会消耗大量的计算资源。本实施例通过遍历数据库,找到这些可操作数据分片,并将其写入同一个新建数据文件中,当执行清理指令时,只需浏览该新建数据文件,即可快速定位需要删除的可操作数据分片。
进一步地,如果当从数据库中获取可操作分片时,还不断向数据库中写入新的数据分片,则会令获取动作产生异常,即与当前的清理过程产生冲突,也会对后续删除动作产生冲突,为了避免上述问题,在获取数据库中全部可操作数据分片之前根据禁止写入指令,在当前的数据清理过程中锁定所述数据库写入新的数据分片的动作。
进一步地,由于此时已经禁止向数据库中写入新的数据,会导致某些清理指令没有作用对象,影响清理效果。为了解决上述问题,可以通过清理指令与写入新的数据的时间,设定允许执行清理指令的时间段,以确定可以正常执行的清理指令,如图2所示,在响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之前包括:
S301、接收待处理清理指令,所述待处理清理指令为等待所述数据库响应的清理指令;
S302、判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段;
S303、如果是,则确定所述待处理清理指令为清理指令。
数据库为数据清理动作设定一个预设可执行清理指令的时间段,该预设可执行清理指令的时间段内数据库不再执行标记数据分片的删除标记的动作,那么在该预设可执行清理指令的时间段内,可操作数据分片是相对固定的,因此,对于在该预设可执行清理指令的时间段内所接收的待处理清理指令,可以对应找到清理对象的几率较高,相应的清理执行率就较高。相反的,在该预设可执行清理指令的时间段以外接收的待处理清理指令,可能由于当前时间段内,数据库正在执行带有删除标记的数据分片的恢复指令,或者,数据库还未对需要执行清理指令的数据分片进行删除标记等,这样,很可能会令这些待处理清理指令找不到清理对象,大大降低清理执行率。为了解决上述问题,可以在执行接收到的各个待处理清理指令之前,首先判断各待处理清理指令的接收时间是否落于预设可执行清理指令的时间段内,并将接收时间在预设可执行清理指令的时间段内的待处理清理指令,确定为清理指令,用于当前的清理过程,以提高执行率。
进一步地,为了更加有序地执行清理指令,可以在接收到清理指令之后,首先对需要执行清理指令的数据分片进行排序,生成删除队列,具体如下:
获取各所述带有删除标记的数据分片的分片名称;
将所述带有删除标记的数据分片的分片名称按照对应的所述清理指令的接收时间顺序排列,得到删除队列;
按照所述删除队列中各所述分片名称的排列顺序,依次执行与所述分片名称对应的所述清理指令,以从所述新建数据文件中删除所述带有删除标记的数据分片。
首先,获取所有带有删除标记的数据分片的分片名称,这些带有删除标记的数据分片与确定的清理指令相对应,然后,对这些分片名称按照清理指令的接收时间顺序排列,得到删除队列,此时,可以令数据清理动作更具有顺序性和可控性。
进一步地,删除队列也可以采用自定义的写入顺序,例如,按照设定人的偏好设定生成顺序,或者按照数据库的清理需求设定生成顺序。
这样,可以按照所述删除队列中各数据分片的分片名称的排列顺序执行对应的清理指令,依次从所述新建数据文件中删除对应的数据分片,得到清理后数据库。此时,能够有效保证删除的完整性和准确性。
另一方面,如图2所示,所述方法还包括:
S304、如果否,则确定所述待处理清理指令为待执行指令;
S305、将各所述待执行指令按照所述数据库的接收时间顺序排列,得到待执行指令队列,以作为所述数据库在下一预设可执行清理指令的时间段内执行的清理指令。
如果数据库接收待处理清理指令的接收时间超出预设时间段,则说明当前不可以执行该待处理清理指令,但是,为了保证指令不被遗漏,需要单独保存这些当前不可以执行的待处理清理指令,将它们作为待执行指令,并将这些待执行指令按照接收时间顺序,写入待执行指令队列,以作为下一预设可执行清理指令的时间段内执行的清理指令。
由上文可知,将待执行指令以队列的方式存储,可以提高待执行指令的有序性,其中,具体的写入顺序可以根据实际情况自定义,例如,按照数据库接收待处理清理指令的接收时间写入等。当进入下一预设可执行清理指令的时间段之后,可以直接按照待执行指令队列,执行数据删除动作。
如图3所示,在所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之后包括:
S401、在所述数据库接收到清理结束指令之后,响应于对所述数据库的写入解锁指令,以使所述数据库写入所述新的数据分片,其中,所述清理结束指令用于指示所述数据库当前的数据清理过程已结束,所述写入解锁指令用于指示所述数据库开启数据分片的写入功能。
数据库在全部清理指令执行完毕后,需要向数据库发送清理结束指令,以通知数据库数据清理结果。此时,数据库可以响应写入解锁指令,指示数据库开启数据分片的写入功能,从而可以写入新的数据分片,以保证数据库的正常工作。
图4为本发明实施例提供的数据库的数据清理装置实施例一的结构示意图,所述装置包括:获取模块1,用于获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;新建数据文件创建模块2,用于将全部所述可操作数据分片写入新建数据文件;删除模块3,用于响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
图5为本发明实施例提供的数据库的数据清理装置实施例二的结构示意图,所述装置还包括:禁写模块4,用于响应于对所述数据库的禁止写入指令,在当前的数据清理过程中锁定所述数据库写入新的数据分片的动作,以防止所述写入新的数据分片的动作与所述当前的数据清理过程相冲突。
图6为本发明实施例提供的数据库的数据清理装置实施例三的结构示意图,所述装置还包括:接收指令模块5,用于接收待处理清理指令,所述待处理清理指令为等待所述数据库响应的清理指令;判断模块6,用于判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段;第一确定模块7,用于如果是,则确定所述待处理清理指令为清理指令。
图7为本发明实施例提供的数据库的数据清理装置实施例四的结构示意图,所述删除模块3包括:获取模块31,用于获取各所述带有删除标记的数据分片的分片名称;删除队列生成模块32,用于将所述带有删除标记的数据分片的分片名称按照对应的所述清理指令的接收时间顺序排列,得到删除队列;执行模块33,用于按照所述删除队列中各所述分片名称的排列顺序,依次执行与所述分片名称对应的所述清理指令,以从所述新建数据文件中删除所述带有删除标记的数据分片。
如图6所示,所述装置还包括:第二确定模块8,用于如果否,则如果否,则确定所述待处理清理指令为待执行指令;执行队列生成模块9,用于将各所述待执行指令按照所述数据库的接收时间顺序排列,得到待执行指令队列,以作为所述数据库在下一预设可执行清理指令的时间段内执行的清理指令。
图8为本发明实施例提供的数据库的数据清理装置实施例五的结构示意图,所述装置还包括:数据接收模块10,用于在所述数据库接收到清理结束指令之后,响应于对所述数据库的写入解锁指令,以使所述数据库写入所述新的数据分片,其中,所述清理结束指令用于指示所述数据库当前的数据清理过程已结束,所述写入解锁指令用于指示所述数据库开启数据分片的写入功能。
图9为本发明实施例提供的电子设备的硬件结构示意图。该电子设备包括:存储器101和处理器102;
存储器101,用于存储计算机程序;
处理器102,用于执行存储器存储的计算机程序,以实现上述实施例中的数据库的数据清理方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器101既可以是独立的,也可以跟处理器102集成在一起。
当所述存储器101是独立于处理器102之外的器件时,所述电子设备还可以包括:
总线103,用于连接所述存储器101和处理器102。
本发明实施例提供的电子设备可用于执行上述实施例中任一所示的数据库的数据清理方法,其实现方式和技术效果类似,本发明实施例此处不再赘述。
本发明实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当消息发送的装置的至少一个处理器执行该计算机程序时,消息发送的装置执行上述实施例任一所述的数据库的数据清理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于以计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种数据库的数据清理方法,应用于基于WOS进行存储的数据库,其特征在于,所述方法包括:
获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;
将全部所述可操作数据分片写入新建数据文件;
响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
2.根据权利要求1所述的方法,其特征在于,所述获取所述数据库中全部数据分片中的可操作数据分片之前包括:
响应于对所述数据库的禁止写入指令,在当前的数据清理过程中锁定所述数据库写入新的数据分片的动作,以防止所述写入新的数据分片的动作与所述当前的数据清理过程相冲突。
3.根据权利要求2所述的方法,其特征在于,所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之前包括:
接收待处理清理指令,所述待处理清理指令为等待所述数据库响应的清理指令;
判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段;
如果是,则确定所述待处理清理指令为清理指令。
4.根据权利要求1所述的方法,其特征在于,所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片包括:
获取各所述带有删除标记的数据分片的分片名称;
将所述带有删除标记的数据分片的分片名称按照对应的所述清理指令的接收时间顺序排列,得到删除队列;
按照所述删除队列中各所述分片名称的排列顺序,依次执行与所述分片名称对应的所述清理指令,以从所述新建数据文件中删除所述带有删除标记的数据分片。
5.根据权利要求3所述的方法,其特征在于,所述判断所述待处理清理指令对应的接收时间是否属于预设可执行清理指令的时间段还包括:
如果否,则确定所述待处理清理指令为待执行指令;
将各所述待执行指令按照所述数据库的接收时间顺序排列,得到待执行指令队列,以作为所述数据库在下一预设可执行清理指令的时间段内执行的清理指令。
6.根据权利要求2所述的方法,其特征在于,所述响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片之后包括:
在所述数据库接收到清理结束指令之后,响应于对所述数据库的写入解锁指令,以使所述数据库写入所述新的数据分片,其中,所述清理结束指令用于指示所述数据库当前的数据清理过程已结束,所述写入解锁指令用于指示所述数据库开启数据分片的写入功能。
7.一种数据库清理装置,应用于基于WOS进行存储的数据库,其特征在于,所述装置包括:
获取模块,用于获取所述数据库中全部数据分片中的可操作数据分片,所述可操作数据分片为在所述数据库中对应存有数据内容的所述数据分片,其中,所述可操作数据分片包括带有删除标记的数据分片,所述带有删除标记的数据分片为在所述数据库中存在删除记录的所述可操作数据分片;
新建数据文件创建模块,用于将全部所述可操作数据分片写入新建数据文件;
删除模块,用于响应于对所述数据库的清理指令,根据所述删除标记从所述新建数据文件中确定带有删除标记的数据分片,并删除所述带有删除标记的数据分片,以清理所述数据库。
8.一种电子设备,其特征在于,所述电子设备包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6任一所述的数据库的数据清理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一所述的数据库的数据清理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342427.5A CN111597149B (zh) | 2020-04-27 | 2020-04-27 | 一种数据库的数据清理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342427.5A CN111597149B (zh) | 2020-04-27 | 2020-04-27 | 一种数据库的数据清理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597149A CN111597149A (zh) | 2020-08-28 |
CN111597149B true CN111597149B (zh) | 2023-03-31 |
Family
ID=72185128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010342427.5A Active CN111597149B (zh) | 2020-04-27 | 2020-04-27 | 一种数据库的数据清理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597149B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181948B (zh) * | 2020-09-30 | 2024-02-02 | 中国工商银行股份有限公司 | 数据库操作语句的处理方法、装置、电子设备和介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678337A (zh) * | 2012-09-06 | 2014-03-26 | 华为技术有限公司 | 数据清除方法、装置及系统 |
CN103942342A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种内存数据库oltp&olap并发查询优化方法 |
CN104881466A (zh) * | 2015-05-25 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 数据分片的处理以及垃圾文件的删除方法和装置 |
CN105677250A (zh) * | 2016-01-04 | 2016-06-15 | 北京百度网讯科技有限公司 | 对象存储系统中的对象数据的更新方法和更新装置 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN106302229A (zh) * | 2015-05-21 | 2017-01-04 | 上海贝尔股份有限公司 | 在虚拟接入网中创建分片和删除分片的方法和装置 |
CN106446155A (zh) * | 2016-09-22 | 2017-02-22 | 北京百度网讯科技有限公司 | 用于在云存储系统中清理数据的方法和装置 |
CN106874343A (zh) * | 2016-12-24 | 2017-06-20 | 上海七牛信息技术有限公司 | 一种时序数据库的数据删除方法及系统 |
CN107479829A (zh) * | 2017-08-03 | 2017-12-15 | 杭州铭师堂教育科技发展有限公司 | 一种基于消息队列的Redis集群海量数据快速清理系统及方法 |
CN108170372A (zh) * | 2017-12-08 | 2018-06-15 | 厦门集微科技有限公司 | 基于云硬盘的数据处理方法和装置 |
CN109815213A (zh) * | 2018-12-20 | 2019-05-28 | 武汉璞华大数据技术有限公司 | 一种Append-Only数据库上删除和修改数据的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348833B2 (en) * | 2013-03-12 | 2016-05-24 | Sap Se | Consolidation for updated/deleted records in old fragments |
JP6897248B2 (ja) * | 2017-04-06 | 2021-06-30 | 富士通株式会社 | 更新反映プログラム、更新反映方法及び更新反映装置 |
-
2020
- 2020-04-27 CN CN202010342427.5A patent/CN111597149B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678337A (zh) * | 2012-09-06 | 2014-03-26 | 华为技术有限公司 | 数据清除方法、装置及系统 |
CN103942342A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种内存数据库oltp&olap并发查询优化方法 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN106302229A (zh) * | 2015-05-21 | 2017-01-04 | 上海贝尔股份有限公司 | 在虚拟接入网中创建分片和删除分片的方法和装置 |
CN104881466A (zh) * | 2015-05-25 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 数据分片的处理以及垃圾文件的删除方法和装置 |
CN105677250A (zh) * | 2016-01-04 | 2016-06-15 | 北京百度网讯科技有限公司 | 对象存储系统中的对象数据的更新方法和更新装置 |
CN106446155A (zh) * | 2016-09-22 | 2017-02-22 | 北京百度网讯科技有限公司 | 用于在云存储系统中清理数据的方法和装置 |
CN106874343A (zh) * | 2016-12-24 | 2017-06-20 | 上海七牛信息技术有限公司 | 一种时序数据库的数据删除方法及系统 |
CN107479829A (zh) * | 2017-08-03 | 2017-12-15 | 杭州铭师堂教育科技发展有限公司 | 一种基于消息队列的Redis集群海量数据快速清理系统及方法 |
CN108170372A (zh) * | 2017-12-08 | 2018-06-15 | 厦门集微科技有限公司 | 基于云硬盘的数据处理方法和装置 |
CN109815213A (zh) * | 2018-12-20 | 2019-05-28 | 武汉璞华大数据技术有限公司 | 一种Append-Only数据库上删除和修改数据的方法及系统 |
Non-Patent Citations (1)
Title |
---|
徐俊 ; 何连跃 ; 严巍巍 ; 陈博 ; 徐照淼 ; .海量小文件系统中基于聚合单元的空间回收机制.计算机应用.2018,(第S1期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597149A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704203B (zh) | 聚合大文件的删除方法、装置、设备及计算机存储介质 | |
CN107643880A (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
CN111831625B (zh) | 数据迁移方法、数据迁移装置和可读存储介质 | |
CN103150149B (zh) | 处理数据库重做数据的方法和装置 | |
US10430292B2 (en) | Snapshot deletion in a distributed storage system | |
CN108958653A (zh) | 一种基于底层聚合文件的空间回收方法、系统及相关装置 | |
CN111597149B (zh) | 一种数据库的数据清理方法及装置 | |
US10430110B2 (en) | Implementing a hybrid storage node in a distributed storage system | |
CN112214356B (zh) | 文件数据恢复方法、装置、计算机设备及存储介质 | |
CN102346696B (zh) | 一种文件恢复方法及装置 | |
CN108090128B (zh) | 一种合并存储空间回收方法、装置及电子设备 | |
US10452308B2 (en) | Encoding tags for metadata entries in a storage system | |
CN115277881B (zh) | 网络报文解析方法及装置 | |
CN102426581B (zh) | 一种生成文件预览的方法及装置 | |
CN102346769B (zh) | 一种注册表文件整理方法及装置 | |
CN116610501A (zh) | Nas数据还原方法、装置、设备及存储介质 | |
US20030033440A1 (en) | Method of logging message activity | |
CN119025479B (zh) | 数据处理方法、装置、设备、程序产品及存储介质 | |
CN106959888B (zh) | 云存储系统中的任务处理方法及装置 | |
CN111124306A (zh) | 一种数据删除方法、系统、设备及计算机可读存储介质 | |
JP5585565B2 (ja) | ファイル管理装置、ファイル管理装置の制御方法、およびそのプログラム | |
CN118672632B (zh) | 数据处理方法、电子设备、存储介质及产品 | |
CN117076417B (zh) | 一种文件快照实现方法、装置、计算机设备及存储介质 | |
CN117991993B (zh) | 一种文件管理方法、装置以及处理设备 | |
CN113326004B (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 |