掌桥专利:专业的专利平台
掌桥专利
首页

数据清理方法、装置、计算机设备和存储介质

文献发布时间:2024-01-17 01:16:56


数据清理方法、装置、计算机设备和存储介质

技术领域

本申请涉及云计算技术领域,特别是涉及一种数据清理方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

在分布式使用场景下,数据呈爆发式增长,数据越积越多给存储系统带来了巨大的挑战。当数据量达到一定程度后,写入和读取数据的性能会受到严重的影响,出现读写性能瓶颈,进一步会影响到系统稳定性和用户使用体验。因此,需要针对不使用的数据或者使用价值低的数据进行数据清理。

数据清理指从持久化设备(一般为数据库)删除数据。传统的数据清理方法为直接连接数据库发起清理请求。

然而,在海量数据的场景下,传统的数据清理方法在有效时间内清理不完待清理的数据,导致清理超时,删除失败,影响发分布式系统稳定运行。因此,传统的数据清理方法清理效率低下。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高清理效率的数据清理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种数据清理方法。所述方法包括:

当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各所述待清理数据表对应的数据类型;

根据各所述待清理数据表对应的数据类型,确定各所述待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各所述待清理数据表的索引信息;

从多个清理缓存空间中确定目标清理缓存空间,基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至所述基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。

在其中一个实施例中,所述分类标准为数据量,所述数据类型包括大数据表、中数据表和小数据表;所述根据各所述待清理数据表对应的数据类型,确定各所述待清理数据表对应的清理缓存空间包括:

针对数据类型为大数据表的每一个待清理数据表,确定所述待清理数据表对应的清理缓存空间为单独的清理缓存空间;

在数据类型为中数据表的待清理数据表的数据表个数超过预设的数量阈值的情况下,根据所述数据表个数和所述数量阈值,计算所述数据类型为中数据表的待清理数据的清理缓存空间的空间数量;

按照预设的分配规则,将所述数据类型为中数据表的待清理数据表分配至所述空间数量的清理缓存空间;

将数据类型为小数据表的待清理数据表分配至一个单独的清理缓存空间。

在其中一个实施例中,所述从多个清理缓存空间中确定目标清理缓存空间包括:

针对每一个清理缓存空间,将所述清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为所述清理缓存空间的清理级别;

基于各所述清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。

在其中一个实施例中,所述基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理包括:

获取数据清理时间范围;

按照所述数据清理时间范围,在所述目标清理缓存空间中的索引信息中,筛选所述待清理数据表中待清理数据的目标索引信息;

对数据库中所述目标索引信息对应的待清理数据进行删除处理。

在其中一个实施例中,所述方法应用于分布式系统,所述分布式系统包括多个数据库;所述对数据库中所述目标索引信息对应的待清理数据表中的数据进行删除处理包括:

解析所述目标索引信息对应的数据库的地址;

若所述目标索引信息对应的数据库为不同数据库类型,则针对所述目标索引信息对应的数据库的每一个数据库类型,将所述数据库类型的数据库的地址、所述待清理数据表的数据表名和所述数据清理时间范围,构成所述数据库类型的清理信息;

分别将各所述数据库类型的清理信息发送给各所述数据库类型的数据库;所述清理信息用于指示数据库对所述待清理数据进行删除处理。

在其中一个实施例中,所述对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理包括:

获取目标数据库群组,并判断所述索引信息对应的数据库是否属于所述目标数据库群组;

若所述索引信息对应的数据库属于所述目标数据库群组,则对所述数据库中所述索引信息对应的待清理数据表中的数据进行删除处理。

在其中一个实施例中,所述方法还包括:

按照预设的嗅探频率发送探活请求,并接收所述探活请求对应的节点信息;所述节点信息包括节点状态信息;

若所述节点信息表示存在故障节点,则停止向所述故障节点发送清理信息;

若所述节点信息表示存在新增节点,则将所述新增节点添加至所述目标数据库群组。

在其中一个实施例中,所述方法还包括:

若存在待清理数据表清理失败,则在达到预设的重试时间时,重新清理所述待清理数据。

第二方面,本申请还提供了一种数据清理装置。所述装置包括:

分类模块,用于当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各所述待清理数据表对应的数据类型;

确定模块,用于根据各所述待清理数据表对应的数据类型,确定各所述待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各所述待清理数据表的索引信息;

清理模块,用于从多个清理缓存空间中确定目标清理缓存空间,基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至所述基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。

在其中一个实施例中,所述分类标准为数据量,所述数据类型包括大数据表、中数据表和小数据表;所述确定模块,具体用于:

针对数据类型为大数据表的每一个待清理数据表,确定所述待清理数据表对应的清理缓存空间为单独的清理缓存空间;

在数据类型为中数据表的待清理数据表的数据表个数超过预设的数量阈值的情况下,根据所述数据表个数和所述数量阈值,计算所述数据类型为中数据表的待清理数据的清理缓存空间的空间数量;

按照预设的分配规则,将所述数据类型为中数据表的待清理数据表分配至所述空间数量的清理缓存空间;

将数据类型为小数据表的待清理数据表分配至一个单独的清理缓存空间。

在其中一个实施例中,所述清理模块,具体用于:

针对每一个清理缓存空间,将所述清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为所述清理缓存空间的清理级别;

基于各所述清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。

在其中一个实施例中,所述清理模块,具体用于:

获取数据清理时间范围;

按照所述数据清理时间范围,在所述目标清理缓存空间中的索引信息中,筛选所述待清理数据表中待清理数据的目标索引信息;

对数据库中所述目标索引信息对应的待清理数据进行删除处理。

在其中一个实施例中,所述装置应用于分布式系统,所述分布式系统包括多个数据库;所述清理模块,具体用于:

解析所述目标索引信息对应的数据库的地址;

若所述目标索引信息对应的数据库为不同数据库类型,则针对所述目标索引信息对应的数据库的每一个数据库类型,将所述数据库类型的数据库的地址、所述待清理数据表的数据表名和所述数据清理时间范围,构成所述数据库类型的清理信息;

分别将各所述数据库类型的清理信息发送给各所述数据库类型的数据库;所述清理信息用于指示数据库对所述待清理数据进行删除处理。

在其中一个实施例中,所述清理模块,具体用于:

获取目标数据库群组,并判断所述索引信息对应的数据库是否属于所述目标数据库群组;

若所述索引信息对应的数据库属于所述目标数据库群组,则对所述数据库中所述索引信息对应的待清理数据表中的数据进行删除处理。

在其中一个实施例中,所述装置还包括:

收发模块,用于按照预设的嗅探频率发送探活请求,并接收所述探活请求对应的节点信息;所述节点信息包括节点状态信息;

停发模块,用于若所述节点信息表示存在故障节点,则停止向所述故障节点发送清理信息;

添加模块,用于若所述节点信息表示存在新增节点,则将所述新增节点添加至所述目标数据库群组。

在其中一个实施例中,所述装置还包括:

重试模块,用于若存在待清理数据表清理失败,则在达到预设的重试时间时,重新清理所述待清理数据。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的步骤。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的步骤。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的步骤。

上述数据清理方法、装置、计算机设备、存储介质和计算机程序产品,当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各所述待清理数据表对应的数据类型;根据各所述待清理数据表对应的数据类型,确定各所述待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各所述待清理数据表的索引信息;从多个清理缓存空间中确定目标清理缓存空间,基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至所述基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。这样,对待清理数据表分类,并将不同类型的待清理数据表的索引信息划分至不同的清理缓存空间中,再在不同的时间分别对不同的清理缓存空间对应的待清理数据表进行清理,实现对不同的清理缓存空间对应的待清理数据表的错峰清理,能够避免在大数据量的待清理数据表被清理的同时,还有别的线程占用资源所导致的大数据量的待清理数据表清理超时,数据清理失败,使得在海量数据的场景下,能够在有效时间内清理完待清理数据,提高清理效率。

附图说明

图1为一个实施例中数据清理方法的流程示意图;

图2为一个实施例中确定各待清理数据表对应的清理缓存空间步骤的流程示意图;

图3为一个实施例中从多个清理缓存空间中确定目标清理缓存空间步骤的流程示意图;

图4为一个实施例中对数据库中索引信息对应的待清理数据表中的数据进行删除处理步骤的流程示意图;

图5为一个实施例中对数据库中目标索引信息对应的待清理数据表中的数据进行删除处理步骤的流程示意图;

图6为另一个实施例中对数据库中索引信息对应的待清理数据表中的数据进行删除处理步骤的流程示意图;

图7为另一个实施例中数据清理方法的流程示意图;

图8为一个实施例中数据清理装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种数据清理方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。该方法可以应用于分布式系统。分布式系统可以通过云计算平台实现。例如,分布式系统可以通过平台即服务(Platform as aService,PaaS)实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例中,该方法包括以下步骤:

步骤101,当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各待清理数据表对应的数据类型。

在本申请实施例中,待清理数据表为对待清理数据所在的数据表。待清理数据表可以为单个表,也可以为集合。待清理数据可以为不使用的数据或者使用价值低的数据。分类标准可以为能够对数据进行分类的各种分类标准,本申请不作限定。例如,分类标准可以为数据量大小和数据内容标识。在分类标准为数据内容标识的情况下,数据类型可以包括:指标类、系统类和链路类。

当达到预设的清理条件时,终端按照预设的分类标准对待清理数据表分类,得到各待清理数据表对应的数据类型。

在一个示例中,当达到预设的清理时间时,终端确定达到预设的清理条件。其中,清理时间可以为系统资源空闲的时间。例如,清理时间可以为夜间时间。清理时间可以为周期中某个固定时间。例如,清理时间可以为每天的凌晨三点。

在一个示例中,当收到清理请求时,终端确定达到预设的清理条件。

在一个示例中,终端可以通过动态配置装置,实时更新待清理数据表。

步骤102,根据各待清理数据表对应的数据类型,确定各待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各待清理数据表的索引信息。

在本申请实施例中,终端根据各待清理数据表对应的数据类型,确定各待清理数据表对应的清理缓存空间。然后,终端在对应的清理缓存空间中存储各待清理数据表的索引信息。其中,清理缓存空间用于存储待清理数据表的索引信息。

在一个示例中,在对待清理数据表分类完成后,终端可以对待清理数据表的格式进行合规性校验,得到待清理数据表的校验结果。具体的,终端可以检查待清理数据表的表名是否符合命名规范。若待清理数据表的校验结果表示通过校验,则终端根据该待清理数据表对应的数据类型,确定该待清理数据表对应的清理缓存空间。若待清理数据表的校验结果表示未通过校验,则终端将该待清理数据表记录至警报日志,或者,终端基于该待清理数据表生成报警信息,并发送报警信息。

步骤103,从多个清理缓存空间中确定目标清理缓存空间,基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。

在本申请实施例中,终端从多个清理缓存空间中确定目标清理缓存空间。然后,终端基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理。然后,终端从剩余清理缓存空间中确定目标清理缓存空间。接着,终端跳转至基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。

在一个示例中,终端随机从多个清理缓存空间中确定目标清理缓存空间。

在一个示例中,终端获取目标清理缓存空间中的索引信息对应的各待清理数据表的清理级别。然后,终端在预设的清理级别和清理顺序的映射关系中,根据该各待清理数据表的清理级别,查询该各待清理数据表的清理顺序。然后,终端按照该各待清理数据表的清理顺序,对数据库中索引信息对应的待清理数据表中的数据进行删除处理。

上述数据清理方法中,当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各待清理数据表对应的数据类型;根据各待清理数据表对应的数据类型,确定各待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各待清理数据表的索引信息;从多个清理缓存空间中确定目标清理缓存空间,基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。这样,对待清理数据表分类,并将不同类型的待清理数据表的索引信息划分至不同的清理缓存空间中,再在不同的时间分别对不同的清理缓存空间对应的待清理数据表进行清理,实现对不同的清理缓存空间对应的待清理数据表的错峰清理,能够避免在大数据量的待清理数据表被清理的同时,还有别的线程占用资源所导致的大数据量的待清理数据表清理超时,数据清理失败,使得在海量数据的场景下,能够在有效时间内清理完待清理数据,提高清理效率。不仅如此,将不同类型的待清理数据表的索引信息划分至不同的清理缓存空间,缩小清理缓存空间,单个清理缓存空间内的索引树简单,在数据清理的过程中,索引树更新的时间缩短,能够进一步提高清理效率。

在一个实施例中,分类标准为数据量,数据类型包括大数据表、中数据表和小数据表。如图2所示,根据各待清理数据表对应的数据类型,确定各待清理数据表对应的清理缓存空间的具体过程包括以下步骤:

步骤201,针对数据类型为大数据表的每一个待清理数据表,确定该待清理数据表对应的清理缓存空间为单独的清理缓存空间。

在本申请实施例中,若待清理数据表的数据量大于预设的第一数据量阈值,则终端确定该待清理数据表的数据类型为大数据表。若待清理数据表的数据量小于预设的第二数据量阈值,则终端确定该待清理数据表的数据类型为小数据表。若待清理数据表的数据量大于预设的第二数据量阈值、且小于预设的第一数据量阈值,则终端确定该待清理数据表的数据类型为中数据表。其中,第一数据量阈值大于第二数据量阈值。第一数据量阈值与第二数据量阈值可以为不同量级。例如,第一数据量阈值可以为1T,第二数据量阈值可以为1G。

针对数据类型为大数据表的每一个待清理数据表,终端确定该待清理数据表对应的清理缓存空间为单独的清理缓存空间。具体的,终端为数据类型为大数据表的各待清理数据表分配不同的清理缓存空间,且该清理缓存空间仅存储一个待清理数据表的索引信息。

步骤202,在数据类型为中数据表的待清理数据表的数据表个数超过预设的数量阈值的情况下,根据数据表个数和数量阈值,计算数据类型为中数据表的待清理数据的清理缓存空间的空间数量。

在本申请实施例中,终端预设数量阈值。然后,终端判断数据类型为中数据表的待清理数据表的数据表个数是否超过预设的数量阈值。在数据类型为中数据表的待清理数据表的数据表个数超过预设的数量阈值的情况下,终端根据数据表个数和数量阈值,计算数据类型为中数据表的待清理数据的清理缓存空间的空间数量。具体的,终端用数据表个数除以数量阈值,并将得到的商作为数据类型为中数据表的待清理数据的清理缓存空间的空间数量。其中,数量阈值可以为在数据类型为中数据表的情况下,一个清理缓存空间中存储的索引信息对应的待清理数据表的数量的最大值。例如,数量阈值可以为5。

步骤203,按照预设的分配规则,将数据类型为中数据表的待清理数据表分配至空间数量的清理缓存空间。

在本申请实施例中,终端按照预设的分配规则,将数据类型为中数据表的待清理数据表分配至空间数量的清理缓存空间。具体的,终端将数量阈值作为一个清理缓存空间中存储的索引信息对应的待清理数据表的数量的最大值。然后,终端按照该最大值,将数据类型为中数据表的待清理数据表随机分配至空间数量的清理缓存空间。

在一个示例中,终端从各数据类型为中数据表的待清理数据表中,确定数量阈值个目标待清理数据表。然后,终端将所述数量阈值个目标待清理数据表分配至单独的清理缓存空间。然后,终端从剩余数据类型为中数据表的待清理数据表中,确定数量阈值个目标待清理数据表。然后,终端跳转至将所述数量阈值个目标待清理数据表分配至单独的清理缓存空间的步骤,直至不存在目标待清理数据表为止。

步骤204,将数据类型为小数据表的待清理数据表分配至一个单独的清理缓存空间。

在本申请实施例中,终端将数据类型为小数据表的待清理数据表分配至一个单独的清理缓存空间。

上述数据清理方法中,通过数据量对待清理数据表分类,为数据类型为大数据表的每一个待清理数据表分配不同的单独的清理缓存空间,为数据类型为中数据表的每数量阈值个待清理数据表分配不同的单独的清理缓存空间,为数据类型为小数据表的各待清理数据表均分配至一个清理缓存空间。这样,对不同数据量的待清理数据表采用完全不同的清理缓存空间分配方式,提高清理缓存空间分配的合理性,进一步提高清理效率。而且,为数据类型为大数据表的每一个待清理数据表分配不同的单独的清理缓存空间,实现每个大数据量的待清理数据表均在单独的时间完成清理,与清理其他待清理数据表的时间均错开,进一步避免在大数据量的待清理数据表被清理的同时,还有别的线程占用资源所导致的大数据量的待清理数据表清理超时,数据清理失败,进一步保证在海量数据的场景下,在有效时间内清理完待清理数据,进一步提高清理效率。并且,为数据类型为中数据表的每数量阈值个待清理数据表分配不同的单独的清理缓存空间,为数据类型为小数据表的各待清理数据表均分配至一个清理缓存空间,不仅能够防止清理缓存空间过多所导致的数据清理时间增长,还能够防止清理缓存空间过大所导致的数据清理时间增长和清理超时,进一步提高清理效率。

在一个实施例中,如图3所示,从多个清理缓存空间中确定目标清理缓存空间的具体过程包括以下步骤:

步骤301,针对每一个清理缓存空间,将该清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为该清理缓存空间的清理级别。

在本申请实施例中,针对每一个清理缓存空间,终端获取该清理缓存空间对应的各待清理数据表的清理级别。然后,终端比较各待清理数据表的清理级别。然后,终端将该清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为该清理缓存空间的清理级别。其中,清理级别可以用于表示被清理的优先级。例如,清理级别为1-5档,档次值越大,清理级别越低。

在一个示例中,终端可以通过动态配置装置,实时更新待清理数据表的清理等级。

步骤302,基于各清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。

在本申请实施例中,终端按照各清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。具体的,终端比较各清理缓存空间的清理级别。然后,终端将清理级别最大的清理缓存空间,作为目标清理缓存空间。

上述数据清理方法中,针对每一个清理缓存空间,将该清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为该清理缓存空间的清理级别;基于各清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。这样,将清理缓存空间对应的待清理数据表的最高清理级别作为清理缓存空间的清理级别,再按照清理缓存空间的清理级别,确定清理缓存空间的清理顺序,进而实现对清理缓存空间对应的待清理数据表中数据的清理,能够提高清理缓存空间的清理顺序的准确性,及时将更需要被清理的数据先清理掉,提高数据清理的合理性。

在一个实施例中,如图4所示,基于目标清理缓存空间中的索引信息,对数据库中索引信息对应的待清理数据表中的数据进行删除处理的具体过程包括以下步骤:

步骤401,获取数据清理时间范围。

在本申请实施例中,终端获取各待清理数据表的数据清理时间范围。其中,数据清理时间范围用于表示数据需要被清理的时间范围。各待清理数据表的数据清理时间范围可以相同,也可以不同。

在一个示例中,终端可以从配置文件中获取默认配置,得到数据清理时间范围。

在一个示例中,终端可以从动态配置装置中获取实时调整值。若该实时调整值为空或者动态配置异常,则终端使用从配置文件中获取默认配置,得到数据清理时间范围。这样,采用双重获取机制获取数据清理时间范围,确保了清理日期的有效性。

步骤402,按照数据清理时间范围,在目标清理缓存空间中的索引信息中,筛选待清理数据表中待清理数据的目标索引信息。

在本申请实施例中,终端按照数据清理时间范围,在目标清理缓存空间中的索引信息中,筛选待清理数据表中待清理数据的目标索引信息。其中,目标索引信息为清理时间范围内的待清理数据的索引信息。具体的,终端在目标清理缓存空间中的索引信息中,将清理时间范围内的待清理数据的索引信息,作为待清理数据表中待清理数据的目标索引信息。

步骤403,对数据库中目标索引信息对应的待清理数据进行删除处理。

在本申请实施例中,终端对数据库中目标索引信息对应的待清理数据进行删除处理。

在一个示例中,终端见筛选得到的目标索引信息存储至临时缓存列表中。然后,终端获取临时缓存列表中的目标索引信息。接着,终端对数据库中目标索引信息对应的待清理数据进行删除处理。

上述数据清理方法中,获取数据清理时间范围;按照数据清理时间范围,在目标清理缓存空间中的索引信息中,筛选待清理数据表中待清理数据的目标索引信息;对数据库中目标索引信息对应的待清理数据进行删除处理。这样,在目标清理缓存空间中的索引信息中,筛选待清理数据表中数据清理时间范围内的待清理数据的目标索引信息,仅删除数据库中目标索引信息对应的待清理数据,即仅清理指定时间范围内的待清理数据,避免指定时间范围外的数据被误清理,提高数据清理的准确性。

在一个实施例中,数据清理方法应用于分布式系统,分布式系统包括多个数据库。如图5所示,对数据库中目标索引信息对应的待清理数据表中的数据进行删除处理的具体过程包括以下步骤:

步骤501,解析目标索引信息对应的数据库的地址。

在本申请实施例中,终端解析目标索引信息对应的数据库的地址。其中,数据库的地址可以包括数据库的IP和端口。数据库的地址可以为数据库的客户端节点的地址。

步骤502,若目标索引信息对应的数据库为不同数据库类型,则针对目标索引信息对应的数据库的每一个数据库类型,将该数据库类型的数据库的地址、待清理数据表的数据表名和数据清理时间范围,构成该数据库类型的清理信息。

在本申请实施例中,若目标索引信息对应的数据库为不同数据库类型,则针对目标索引信息对应的数据库的每一个数据库类型,终端将该数据库类型的数据库的地址、待清理数据表的数据表名和数据清理时间范围,构成该数据库类型的清理信息。

在一个实施例中,清理信息为清理链接。清理链接的格式为:协议://ip:端口.数据表名.数据清理时间范围,如http://127.0.01:8080.data-to-clean.2022-08-08。

步骤503,分别将各数据库类型的清理信息发送给各数据库类型的数据库。

其中,清理信息用于指示数据库对待清理数据进行删除处理。

在本申请实施例中,终端分别将各数据库类型的清理信息发送给各数据库类型的数据库。

在一个示例中,终端分别将各数据库类型的清理信息发送给各数据库类型的数据库的客户端。然后,各数据库的客户端转发清理信息给数据库的数据端。然后,数据库的数据端完成清理请求。例如,数据库的数据端可以通过开源HttpDelete完成实际清理动作的执行。

上述数据清理方法中,数据清理方法应用于分布式系统,分布式系统包括多个数据库,解析目标索引信息对应的数据库的地址;若目标索引信息对应的数据库为不同数据库类型,则针对目标索引信息对应的数据库的每一个数据库类型,将该数据库类型的数据库的地址、待清理数据表的数据表名和数据清理时间范围,构成该数据库类型的清理信息;分别将各数据库类型的清理信息发送给各数据库类型的数据库。这样,在一个分布式系统的多个数据库类型的数据库中的数据均需要被清理的情况下,将解析得到的数据库的地址、待清理数据表的数据表名和数据清理时间范围构成的各数据库类型的清理信息,分别发送至各数据库类型的数据库,通过复用数据库不同类型,实现数据清理的并发处理,进一步提高数据清理的效率。

在一个实施例中,如图6所示,对数据库中索引信息对应的待清理数据表中的数据进行删除处理的具体过程包括以下步骤:

步骤601,获取目标数据库群组,并判断索引信息对应的数据库是否属于目标数据库群组。

在本申请实施例中,终端获取目标数据库群组。然后,终端判断索引信息对应的数据库是否属于目标数据库群组。其中,目标数据库群组为指定需要清理数据的数据库的群组。目标数据库群组可以为一个或多个数据库,也可以为一个或多个数据库群组。目标数据库群组的默认值为全部数据库。

在一个示例中,终端接收目标数据库群组信息。其中,目标数据库群组信息用于表示目标数据库群组。

步骤602,若索引信息对应的数据库属于目标数据库群组,则对数据库中该索引信息对应的待清理数据表中的数据进行删除处理。

在本申请实施例中,若索引信息对应的数据库属于目标数据库群组,则终端对数据库中该索引信息对应的待清理数据表中的数据进行删除处理。若索引信息对应的数据库不属于目标数据库群组,则终端将从清理缓存空间中删除该索引信息。

上述数据清理方法中,获取目标数据库群组,并判断索引信息对应的数据库是否属于目标数据库群组;若索引信息对应的数据库属于目标数据库群组,则对数据库中该索引信息对应的待清理数据表中的数据进行删除处理。这样,在对数据库中的待清理数据删除之前,先判断该索引信息对应的数据库是否属于目标数据库群组,仅对属于目标数据库群组的数据库内的数据进行删除,通过指定需要数据清理的目标数据库群组,防止在数据清理过程中的信息有误导致的数据误清理,进一步提高数据清理的准确性,保证被清理数据的系统稳定运行。

在一个实施例中,如图7所示,数据清理方法还包括以下步骤:

步骤701,按照预设的嗅探频率发送探活请求,并接收探活请求对应的节点信息。

其中,节点信息包括节点状态信息。

在本申请实施例中,终端按照预设的嗅探频率发送探活请求。同时,终端接收探活请求对应的节点信息。其中,嗅探频率为发送探活请求的频率。探活请求用于嗅探分布式系统中节点的情况,至少包括节点的数量和节点的运行状态。

步骤702,若节点信息表示存在故障节点,则停止向故障节点发送清理信息。

在本申请实施例中,若节点信息表示存在故障节点,则终端停止向故障节点发送清理信息。在一个示例中,终端根据该故障节点,生成节点故障报警信息。然后,终端向用户发送节点故障报警信息。这样,及时触发数据库节点异常报警信息给用户,让用户第一时间感知故障以及时处理故障,保障系统的稳定运行和数据清理的效率。

步骤703,若节点信息表示存在新增节点,则将新增节点添加至目标数据库群组。

在本申请实施例中,终端通过比对此次接收的节点信息与上一次接收的节点信息,得到比对结果。若比对结果表示存在新增节点,则终端将新增节点添加至目标数据库群组。

上述数据清理方法中,按照预设的嗅探频率发送探活请求,并接收探活请求对应的节点信息;若节点信息表示存在故障节点,则停止向故障节点发送清理信息;若节点信息表示存在新增节点,则将新增节点添加至目标数据库群组。这样,一旦系统启动,在整个生命周期,一直按照嗅探频率发送探活请求,根据接收的节点信息,及时停止向故障节点发送清理信息,能够在多个数据库一起协同工作的群组级数据库的数据清理场景中,避免某一个数据库发生故障导致的数据无法清理,且浪费系统资源不停尝试连接数据库的情况,进一步提高数据清理的稳定性和效率。并且,及时将新增节点添加至目标数据库群组,可以实现不停机自动纳入扩容后的节点至清理范围内,如原本有9个节点,碰到促销等临时增加了3个节点,本方法自动将新增的3个节点也纳入到需要被清理的群组中,实现了不停机零操作实时清理,进一步提高数据清理的效率。

在一个实施例中,数据清理方法还包括以下步骤:若存在待清理数据表清理失败,则在达到预设的重试时间时,重新清理待清理数据。

在本申请实施例中,若存在待清理数据表清理失败,则在达到预设的重试时间时,终端重新清理待清理数据。其中,重试时间为待清理数据表从被清理失败到再次被清理的时间间隔。

在一个示例中,在终端重新清理待清理数据的同时,终端更新待清理数据的重复清理次数。若待清理数据的重复清理次数大于预设的清理次数阈值,则终端向用户发送清理链接。其中,用户可以通过清理链接对待清理数据表中的数据进行清理。

上述数据清理方法中,若存在待清理数据表清理失败,则在达到预设的重试时间时,重新清理待清理数据。这样,仅在检测到有清理失败的数据后,才会触发重试机制,在达到预设的重试时间时,重新清理待清理数据,在提高数据清理可靠性的同时也避免了资源的浪费。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据清理方法的数据清理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据清理装置实施例中的具体限定可以参见上文中对于数据清理方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种数据清理装置800,包括:分类模块810、确定模块820和清理模块830,其中:

分类模块810,用于当达到预设的清理条件时,按照预设的分类标准对待清理数据表分类,得到各所述待清理数据表对应的数据类型;

确定模块820,用于根据各所述待清理数据表对应的数据类型,确定各所述待清理数据表对应的清理缓存空间,并在对应的清理缓存空间中存储各所述待清理数据表的索引信息;

清理模块830,用于从多个清理缓存空间中确定目标清理缓存空间,基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理,并从剩余清理缓存空间中确定目标清理缓存空间,跳转至所述基于所述目标清理缓存空间中的索引信息,对数据库中所述索引信息对应的待清理数据表中的数据进行删除处理的步骤,直至不存在目标清理缓存空间为止。

可选的,所述分类标准为数据量,所述数据类型包括大数据表、中数据表和小数据表;所述确定模块820,具体用于:

针对数据类型为大数据表的每一个待清理数据表,确定所述待清理数据表对应的清理缓存空间为单独的清理缓存空间;

在数据类型为中数据表的待清理数据表的数据表个数超过预设的数量阈值的情况下,根据所述数据表个数和所述数量阈值,计算所述数据类型为中数据表的待清理数据的清理缓存空间的空间数量;

按照预设的分配规则,将所述数据类型为中数据表的待清理数据表分配至所述空间数量的清理缓存空间;

将数据类型为小数据表的待清理数据表分配至一个单独的清理缓存空间。

可选的,所述清理模块830,具体用于:

针对每一个清理缓存空间,将所述清理缓存空间对应的各待清理数据表的清理级别中的最高清理级别,作为所述清理缓存空间的清理级别;

基于各所述清理缓存空间的清理级别,从多个清理缓存空间中确定目标清理缓存空间。

可选的,所述清理模块830,具体用于:

获取数据清理时间范围;

按照所述数据清理时间范围,在所述目标清理缓存空间中的索引信息中,筛选所述待清理数据表中待清理数据的目标索引信息;

对数据库中所述目标索引信息对应的待清理数据进行删除处理。

可选的,所述装置应用于分布式系统,所述分布式系统包括多个数据库;所述清理模块830,具体用于:

解析所述目标索引信息对应的数据库的地址;

若所述目标索引信息对应的数据库为不同数据库类型,则针对所述目标索引信息对应的数据库的每一个数据库类型,将所述数据库类型的数据库的地址、所述待清理数据表的数据表名和所述数据清理时间范围,构成所述数据库类型的清理信息;

分别将各所述数据库类型的清理信息发送给各所述数据库类型的数据库;所述清理信息用于指示数据库对所述待清理数据进行删除处理。

可选的,所述清理模块830,具体用于:

获取目标数据库群组,并判断所述索引信息对应的数据库是否属于所述目标数据库群组;

若所述索引信息对应的数据库属于所述目标数据库群组,则对所述数据库中所述索引信息对应的待清理数据表中的数据进行删除处理。

可选的,所述装置800还包括:

收发模块,用于按照预设的嗅探频率发送探活请求,并接收所述探活请求对应的节点信息;所述节点信息包括节点状态信息;

停发模块,用于若所述节点信息表示存在故障节点,则停止向所述故障节点发送清理信息;

添加模块,用于若所述节点信息表示存在新增节点,则将所述新增节点添加至所述目标数据库群组。

可选的,所述装置800还包括:

重试模块,用于若存在待清理数据表清理失败,则在达到预设的重试时间时,重新清理所述待清理数据。

上述数据清理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据清理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 存储设备的数据删除方法、装置及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 消息数据存储方法、装置、计算机设备和存储介质
  • 数据预估方法、装置、计算机设备及计算机可读存储介质
  • 数据仓库清理方法、装置、计算机设备及存储介质
  • 数据清理方法、装置及电子设备、计算机可读存储介质
技术分类

06120116105400