从大量数据中删除冗余数据的方法及设备与流程

文档序号:16880586发布日期:2019-02-15 22:06阅读:342来源:国知局
从大量数据中删除冗余数据的方法及设备与流程

本发明实施例涉及计算机技术领域,尤其涉及一种从大量数据中删除冗余数据的方法及设备。



背景技术:

当大量的数据保存于列式数据库中时,随着大量的数据不断的写入磁盘中,需要删除掉旧的数据而能保证新的数据写入。当简单的删除操作作用于包含大量数据的数据库时,需要在考虑到索引碎片的大量增加以及保证日志的高速插入的同时,不能影响查询及删除的性能。现有技术从大量数据中删除如果使用delete,将产生大量的日志文件,同时耗时很长,每次删除数据都要更新索引,导致较慢的硬盘输入输出,同时会影响其余的插入和查询功能。因此,找到一种在删除冗余数据,为运维提供更优的表管理策略的同时,避免现有删除技术中产生的大量索引碎片及删除日志对数据删除效率的延沓,就成为业界亟待解决的技术问题。



技术实现要素:

针对现有技术存在的上述问题,本发明实施例提供了一种从大量数据中删除冗余数据的方法及设备。

第一方面,本发明的实施例提供了一种从大量数据中删除冗余数据的方法,包括:触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;删除所述待删除冗余数据。

进一步地,所述触发自定义调度任务,包括:将任务频率配置成用户自定义频率,将任务触发时间配置成用户自定义时间。

进一步地,所述数据库中预设的数据删除规则,包括:数据库中数据在磁盘中占比大于占比阈值,则提取数据库中存入时刻最早的数据,作为待删除冗余数据。

进一步地,所述数据库中预设的数据删除规则,包括:数据库中数据的保存时长大于时长阈值,则提取数据库中数据的保存时长大于时长阈值的数据,作为待删除冗余数据。

进一步地,所述数据库中预设的数据删除规则,还包括:数据库中数据在磁盘中占比接近占比阈值,则发出数据冗余警告。

进一步地,所述数据库中的数据按照分区表的方式进行数据管理。

进一步地,所述删除所述待删除冗余数据,包括:按照分区后的分区表,删除所述待删除冗余数据。

第二方面,本发明的实施例提供了一种从大量数据中删除冗余数据的装置,包括:

待删除冗余数据提取模块,用于触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;

冗余数据删除模块,用于删除所述待删除冗余数据。

第三方面,本发明的实施例提供了一种电子设备,包括:

至少一个处理器;以及

与处理器通信连接的至少一个存储器,其中:

存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的从大量数据中删除冗余数据的方法。

第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的从大量数据中删除冗余数据的方法。

本发明实施例提供的从大量数据中删除冗余数据的方法及设备,通过触发自定义调度任务,结合数据库中预设的数据删除规则,提取待删除冗余数据,然后以分区表的形式对待删除冗余数据进行删除,可以在删除冗余数据,为运维提供更优的表管理策略的同时,避免现有删除技术中产生的大量索引碎片及删除日志对数据删除效率的延沓。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的从大量数据中删除冗余数据的方法流程图;

图2为本发明实施例提供的从大量数据中删除冗余数据的装置结构示意图;

图3为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

本发明实施例提供了一种从大量数据中删除冗余数据的方法,参见图1,该方法包括:

101、触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;

102、删除所述待删除冗余数据。

在本发明的另一实施例中,提取的待删除冗余数据,可以保存到其他存储介质中。例如,磁盘、硬盘或优盘等存储介质。

本发明实施例提供的从大量数据中删除冗余数据的方法,通过触发自定义调度任务,结合数据库中预设的数据删除规则,提取待删除冗余数据,然后以分区表的形式对待删除冗余数据进行删除,可以在删除冗余数据,为运维提供更优的表管理策略的同时,避免现有删除技术中产生的大量索引碎片及删除日志对数据删除效率的延沓。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述触发自定义调度任务,包括:将任务频率配置成用户自定义频率,将任务触发时间配置成用户自定义时间。需要说明的是,本发明实施例的调度任务是自定义的,包括用户自定义触发时间及触发频率。但是,该自定义调度任务仅是为了对本发明的技术方案作出说明,并不代表本发明的技术方案仅限于应用于自定义调度任务,只要其他类型的调度任务的技术要求满足本发明实施例的精神实质,应当认为该类型的调度任务也在本发明实施例包含的技术方案之内。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述数据库中预设的数据删除规则,包括:数据库中数据在磁盘中占比大于占比阈值,则提取数据库中存入时刻最早的数据,作为待删除冗余数据。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述数据库中预设的数据删除规则,包括:数据库中数据的保存时长大于时长阈值,则提取数据库中数据的保存时长大于时长阈值的数据,作为待删除冗余数据。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述数据库中预设的数据删除规则,还包括:数据库中数据在磁盘中占比接近占比阈值,则发出数据冗余警告。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述数据库中的数据按照分区表的方式进行数据管理。

在上述实施例的基础上,本发明实施例中提供的从大量数据中删除冗余数据的方法,所述删除所述待删除冗余数据,包括:按照分区后的分区表,删除所述待删除冗余数据。

需要说明的是,只要触发数据库中预设的数据删除规则任意一种(本发明实施例中数据库中预设的数据删除规则有两种),则进行提取待删除冗余数据的操作,进而删除所述待删除冗余数据。

本发明各个实施例的实现基础是通过具有处理器功能的设备进行程序化的处理实现的。因此在工程实际中,可以将本发明各个实施例的技术方案及其功能封装成各种模块。基于这种现实情况,在上述各实施例的基础上,本发明的实施例提供了一种从大量数据中删除冗余数据的装置,该装置用于执行上述方法实施例中的从大量数据中删除冗余数据的方法。参见图2,该装置包括:

待删除冗余数据提取模块201,用于触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;

冗余数据删除模块202,用于删除所述待删除冗余数据。

本发明实施例提供的从大量数据中删除冗余数据的装置,通过设置待删除冗余数据提取模块及冗余数据删除模块,触发自定义调度任务,结合数据库中预设的数据删除规则,提取待删除冗余数据,然后以分区表的形式对待删除冗余数据进行删除,可以在删除冗余数据,为运维提供更优的表管理策略的同时,避免现有删除技术中产生的大量索引碎片及删除日志对数据删除效率的延沓。

本发明实施例的方法是依托电子设备实现的,因此对相关的电子设备有必要做一下介绍。基于此目的,本发明的实施例提供了一种电子设备,如图3所示,该电子设备包括:至少一个处理器(processor)301、通信接口(communicationsinterface)304、至少一个存储器(memory)302和通信总线303,其中,至少一个处理器301,通信接口304,至少一个存储器302通过通信总线303完成相互间的通信。至少一个处理器301可以调用至少一个存储器302中的逻辑指令,以执行如下方法:触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;删除所述待删除冗余数据。

此外,上述的至少一个存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。例如包括:触发自定义调度任务,读取数据库中数据在磁盘中的占比和/或数据库中数据的保存时长,根据所述数据库中数据在磁盘中占比和/或数据库中数据的保存时长,结合数据库中预设的数据删除规则,提取待删除冗余数据;删除所述待删除冗余数据。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1