CN112835986B - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112835986B CN112835986B CN202110317850.4A CN202110317850A CN112835986B CN 112835986 B CN112835986 B CN 112835986B CN 202110317850 A CN202110317850 A CN 202110317850A CN 112835986 B CN112835986 B CN 112835986B
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- processed
- instruction
- data table
- 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
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000005192 partition Methods 0.000 claims abstract description 260
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 65
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 40
- 238000013508 migration Methods 0.000 claims description 29
- 230000005012 migration Effects 0.000 claims description 29
- 238000004140 cleaning Methods 0.000 claims description 15
- 238000000638 solvent extraction Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000014759 maintenance of location Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 208000012260 Accidental injury Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法、装置、设备及存储介质,所述方法包括:获取数据处理指令,确定指令类型和待处理数据;确定所述待处理数据所在初始数据表的分区规则;当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;根据所述指令类型,对所述待处理分区进行处理,本发明通过对分区的直接处理,可以提高数据处理过程中的处理效率,同时还能提升数据的空间使用率。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种数据处理方法、装置、设备及存储介质。
背景技术
在很多领域的应用系统数据库中,每日都会新增大量数据,数据库的存量数据呈现持续增长的状态。随着数据量的上升对数据库的负荷也越来越大,比如数据库(比如Oracle)的高水位线越来越高,在进行查询数据的时候数据库只会扫描高水位线以下的空间,因此在数据量增加的前提下,水位线越高,查询越缓慢。
另外,目前基于数据库的历史数据迁移清理方案,是基于简单配置日期的方案,对于超过保留期限的数据进行删除或者迁移到历史表后删除,但是数据删除操作执行过程中会产生大量Undo(数据修改前的值)日志,占用Undo表空间,且删除语句执行耗时较长,语句执行后会产生较多的数据碎片,造成高水位线,影响后续使用效率,为了降低高水位线,通常会人工定期进行降水位线处理,这种方式效率低,不能对高水位线的情况进行及时处理。因此如何提高数据处理的执行效率,提升数据的空间使用率是目前急需解决的技术问题。
发明内容
针对现有技术的上述问题,本发明的目的在于,提供一种数据处理方法、装置、设备及存储介质,能够提高数据处理的执行效率,提升数据的空间使用率。
为了解决上述技术问题,本发明的具体技术方案如下:
一方面,本发明提供一种数据处理方法,所述方法包括:
获取数据处理指令,确定指令类型和待处理数据;
确定所述待处理数据所在初始数据表的分区规则;
当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
根据所述指令类型,对所述待处理分区进行处理。
作为可选地,所述指令类型包括数据迁移指令,所述根据所述指令类型,对所述待处理分区进行处理,包括:
确定待处理数据的目标数据表;
判断所述待处理分区中的数据是否全部为所述待处理数据;
当所述待处理分区中的数据全部为所述待处理数据时,根据预设转换规则,将所述待处理分区转换至所述目标数据表中,以使所述待处理分区从属于所述目标数据表。
进一步地,所述根据预设转换规则,将所述待处理分区转换至所述目标数据表中,包括:
确定所述待处理分区和初始数据表的索引关系;
重写所述索引关系,以将所述待处理分区和所述目标数据表建立从属关系,从而将所述待处理分区转换至所述目标数据表中。
作为可选地,所述指令类型还包括数据清理指令,所述根据所述指令类型,对所述待处理分区进行处理,包括:
判断所述待处理分区中的数据是否全部为所述待处理数据;
当所述待处理分区中的数据全部为所述待处理数据时,删除所述待处理分区。
进一步地,所述确定所述待处理数据所在初始数据表的分区规则,之后还包括:
当所述分区规则为范围分区时,,判断所述初始数据表中所有分区中是否都有数据;
当所述初始数据表中所有分区中都有数据时,按照所述范围分区的规则在所述初始数据表中增加分区。
进一步地,当所述分区规则不是所述范围分区时,包括:
当所述指令类型为数据迁移指令时,根据所述数据迁移指令,确定待处理数据的目标数据表;将所述待处理数据插入所述目标数据表中;删除所述初始数据表中的待处理数据;
当所述指令类型为数据清理指令时,删除所述初始数据表中的待处理数据。
进一步地,所述方法还包括:
获取碎片整理指令;
根据所述碎片整理指令,对所述初始数据表进行降水位线处理。
另一方面,本发明还提供一种数据处理装置,所述装置包括:
指令获取模块,用于获取数据处理指令,确定指令类型和待处理数据;
分区规则确定模块,用于确定所述待处理数据所在初始数据表的分区规则;
待处理分区确定模块,用于当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
处理模块,用于根据所述指令类型,对所述待处理分区进行处理。
另一方面,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的方法步骤。
最后,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的方法步骤。
采用上述技术方案,本发明所述的数据处理方法、装置、设备及存储介质,通过对数据处理指令的判断,确定出指令类型和待处理数据,然后确定待处理数据所在的初始数据表的分区规则,当所述初始数据表的分区规则为范围分区时,则就确定所述待处理数据所在的待处理分区,从而根据获得的指令类型对所述待处理分区进行处理,本发明通过对分区的直接处理,可以提高数据处理过程中的处理效率,同时还能提升数据的空间使用率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提供的一种数据处理方法步骤示意图;
图2示出了本发明实施例中对数据迁移指令的数据处理步骤示意图;
图3示出了本发明实施例中对数据清理指令的数据处理步骤示意图;
图4示出了本发明实施例中扩展分区的步骤示意图;
图5示出了本发明实施例中降水位线处理的步骤示意图;
图6示出了本发明实施例中数据处理具体步骤示意图;
图7示出了本发明实施例提供的数据处理装置结构示意图;
图8示出了本发明实施例提供的一种计算机设备的结构示意图。
附图符号说明:
100、指令获取模块;
200、分区规则确定模块;
300、待处理分区确定模块;
400、处理模块;
802、计算机设备;
804、处理器;
806、存储器;
808、驱动机构;
810、输入/输出模块;
812、输入设备;
814、输出设备;
816、呈现设备;
818、图形用户接口;
820、网络接口;
822、通信链路;
824、通信总线。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在进行本说明书实施例说明之前,先对文中的技术名词进行解释:
Undo表空间:数据库对数据的操作是可以撤销的,可被撤销的内容会存储在Undo表空间中,即将Undo日志存储在Undo表空间中,Undo表空间必须被创建为持久的、本地管理的并且能够自动扩展分配空间的表空间。
高水位线:在Oracle数据的存储中,存储空间类似一个水库,数据即为水库中的水。水库中的水的位置有一条线叫做水位线,在Oracle数据库中,这条线被称为高水位线(High-water mark,HWM)。在数据库表刚建立的时候,由于没有任何数据,所以这个时候水位线是空的。当插入了数据以后,高水位线就会上涨,但是这里也有一个特性,就是如果采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是删除数据以前那么高的水位。也就是说,这条高水位线在日常的增删操作中只会上涨,不会下跌。使用select语句查询数据时,数据库只会扫描高水位线以下的空间,因此在实际数据量不变的前提下,水位线越高,查询越缓慢。
范围分区(Range-PartitionedTables):是Oracle数据库中分区表(或数据表)中的分区方式,是以分区键(列值)的范围作为划分方式,范围分区将数据基于范围映射到每一个分区,这个范围是在创建分区时指定的分区键决定的,这种分区方式是最为常用的,并且分区键经常采用日期。
交换分区:将一个分区转换到一个非分区表或者一个非分区表转换为一个分区。这个过程中实际只修改了数据字典中的数据物理段位置,而不是实际的移动数据,因此效率很快。
由于目前基于数据库的历史数据迁移清理方案,是基于简单配置日期的方案,对于超过保留期限的数据进行删除或者迁移到历史表后删除,但是数据删除操作执行过程中会产生大量Undo(数据修改前的值)日志,占用Undo表空间,且删除语句执行耗时较长,语句执行后会产生较多的数据碎片,造成高水位线,影响后续使用效率,为了降低高水位线,通常会人工定期进行降水位线处理,这种方式效率低,不能对高水位线的情况进行及时处理。
为了解决上述问题,本发明实施例提供了一种数据处理方法,能够提高数据处理的执行效率,提升数据的空间使用率。图1和图6是本发明实施例提供的一种数据处理方法的步骤和流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法可以包括:
S101:获取数据处理指令,确定指令类型和待处理数据;
S102:确定所述待处理数据所在初始数据表的分区规则;
S103:当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
S104:根据所述指令类型,对所述待处理分区进行处理。
可以理解为,本说明书实施例是通过数据处理指令和数据分区规则进行综合考虑,具体地,通过对待处理数据所在初始数据表的分区规则的确定,当所述分区规则为范围分区时,则就可以将待处理数据所在的待处理分区根据不同的处理指令进行处理,由于以分区为单位进行处理,可以减少在数据删除过程中产生的Undo日志,同时处理速度快,提高了数据处理的效率,同时还能减少数据表所在数据库的高水位线,提升了数据的空间使用率。
所述初始数据表可以为所述待处理数据所在的分区表,不同数据库可以设置有不同的分区表设置方式,比如可以根据不同业务设置不同的分区表,也可以将多个业务设置在一个分区表中,对具体一个分区表来说,根据不同的分区方式可以有不同的分区规则,比如以Oracle数据库为例,分区规则可以有范围分区、散列分区、列表分区和复合分区。根据不同的使用场景可以有不同的分区方式,本说明书实施例中,所述范围分区是以分区键的范围作为划分方式,因此便于对定位数据,从而实现对数据所在分区进行直接处理,其中所述分区键可以为日期,作为可选地,以年月日等范围为分区方式,也可以设置预设的时间间隔为分区范围,不同时间段内写入或产生的数据放入到相应时间的分区中,示例性地,Oracle数据库是按字符识别的,比如202101是一个分区,需要指定分区边界是(20210201),数据(字符串)小于20210201的数据方进202101分区中。
在一些其他实施例中,所述分区键也可以有其他形式,比如对特殊的数据库中,以数值的范围进行划分,根据数值的范围放入到相应的分区中。
进一步实施例中,所述确定所述待处理数据所在初始数据表的分区规则,可以包括如下步骤:
根据所述待处理数据所在的初始数据表,确定所述初始数据表的分区配置文件;
根据所述分区配置文件,确定所述初始数据表的分区规则。
在确定所述初始数据表是以范围分区时,进而可以确定所述待处理数据所在的待处理分区,需要说明的是,所述待处理数据可以为历史分区中的数据,也可以为当前分区中的数据,其中,当前分区可以为正在进行数据存储的分区,比如以日期作为范围分区的分区规则时,所述当前分区就是当前日期下对应的分区。
在本说明书实施例中,所述数据处理指令的指令类型可以为数据迁移指令和数据清理指令,不同的指令类型对数据的处理方式不同,其中数据迁移指令为将待处理数据迁移至其他位置,同时将原位置的数据删除,比如业务上对于历史数据可能会要求不能直接删除,某些情况下会需要查看的,例如审计之类的数据,因此可以迁移到其他的备用表中从而减少初始数据表中数据量,提高数据表的使用效率;数据清理指令为将待处理数据直接删除。
在实际工作中,可以根据数据表配置的数据保留期限筛选需要清理或迁移的数据,保留期限单位可以是日、月、年,若采用范围分区方法,则分区的粒度保持与保留期限单位一致。示例性地:保留划分粒度(单位)为日的数据表,则分区为20200101/20200102/20200103/...;如保留划分粒度(单位)为月的数据表,则分区为202101/202002/202003/...;其中筛选的方式可以有:
A.若配置了保留N日,则筛选小于当前日期-N日的数据(或分区);
B.若配置了保留N月,则筛选小于当前日期所在月的1日-N月的数据(或分区);
C.若配置了保留N年,则筛选小于当前日期所在年的1月1日-N年的数据(或分区)。
在一些其他实施例中,还可以地特定范围的数据进行处理,比如以日为划分单位的数据表,可以选择特定日期的数据进行处理,具体的数据处理选择方式在本说明书不做限定。
在本说明书实施例中,如图2所示,所述指令类型包括数据迁移指令,所述根据所述指令类型,对所述待处理分区进行处理,包括:
S201:确定待处理数据的目标数据表;
S202:判断所述待处理分区中的数据是否全部为所述待处理数据;
S203:当所述待处理分区中的数据全部为所述待处理数据时,根据预设转换规则,将所述待处理分区转换至所述目标数据表中,以使所述待处理分区从属于所述目标数据表。
在实际工作中,所述目标数据表可以由所述数据迁移指令确定,比如,所述数据迁移指令包括待迁移的数据和目标数据表,在一些其他实施例中,所述目标数据表也可以为预置的数据表,当数据库中初始数据表中的数据存储时间过长或达到一定期限时,会将过期的数据转移到预置的数据表中,从而提高所述初始数据表的数据使用空间。
其中,所述目标数据表可以和所述初始数据表在相同的数据库,也可以在不同的数据库,另外,在常规使用过程中,如果所述初始数据表采用了范围分区的方式,比如以日期为分区键,那么在进行数据处理的时候应该也是以日期范围进行删除,鉴于对范围分区可能存在不合理的情况,因此还需要判断待处理分区中的数据是否全部为待处理数据,如果不是,则表明不可以直接对所述待处理分区直接处理,避免对非处理数据的“误伤”,从另一角度来看,也可以表明所述初始数据表的范围分区的粒度不合理,应该进行及时优化。
另外,在实际工作中,对分区中历史数据的处理和范围分区的划分粒度是想对应的,也就是说,在选定待处理数据时,其实就相当于对待处理数据所在分区中的全部数据处理了,因此对配置合理的初始数据表,也可以不用判断所述待处理分区中的数据是否全部为所述待处理数据。
所述预设转换规则可以为开发者或用户提前设置的转换方式,当已经确定了待处理数据所在的待处理分区和目标数据表就可以通过所述预设转换规则进行转换,以实现数据的快速转移,同时由于本发明是对分区的直接处理,可以避免在对数据处理过程中产生的Undo日志,从而提高了数据处理的效率,另外还可以降低初始数据表中的高水位线,提高后期数据的使用效率。
需要说明的是,所述初始数据表和所述目标数据表的数据结构应该一样,这样才可以实现转换,比如原分区表A有分区B,还有历史表A’,交换分区可以把分区B的数据直接从属于A表变成属于A’表,本质不改变数据存储,前提是A和A’结构相同。
在本说明书实施例中,所述根据预设转换规则,将所述待处理分区转换至所述目标数据表中,包括:
确定所述待处理分区和初始数据表的索引关系;
重写所述索引关系,以将所述待处理分区和所述目标数据表建立从属关系,从而将所述待处理分区转换至所述目标数据表中。
可以理解为,在确定了待处理分区和所述初始数据表之间的索引关系之后,在不改变所述初始数据表的数据物理存储的前提下,相当于重写了一份目录(索引),将待处理分区的目录(索引)关系修改到所述目标数据表下。这种方法可以避免数据迁移过程中的实际移动,只通过目录的重写就能实现数据的迁移,提高了数据迁移的效率,同时还能避免产生额外日志,有效降低了初始数据表的高水位线。
在本说明书实施例中,如图3所示,所述指令类型还包括数据清理指令,所述根据所述指令类型,对所述待处理分区进行处理,包括:
S301:判断所述待处理分区中的数据是否全部为所述待处理数据;
S302:当所述待处理分区中的数据全部为所述待处理数据时,删除所述待处理分区。
可以理解为,通过上文的说明,对上述待处理分区中的数据的进一步判断是为了避免对所述待处理分区中的非处理数据的“误伤”,同时也能进一步的验证范围分区的粒度的合理性。通过对待处理分区直接删除对数据的删除,减少数据删除时产生的Undo日志,避免初始数据表水位线的升高,同时由于是对分区的直接删除,可以提高数据处理的效率,同时还可以有效降低水位线。
在实际工作中,对范围分区而言,建数据表的时候就以预设好分区数,比如,表A在2000年建数据表的时候分了3个分区,分别为2000,2001,PMAX(默认分区,即大于2001的数据放在这里面),在2001年底的时候就需要从PMAX继续扩展出2002,2003,2004...的分区,为了避免分区表不够用,通用做法是固定一段时间去检查一下是否快用完了,用完之前从PMAX切新的分区,在本说明书中,2000分区和2001分区可以理解为主动分区,所述PMAX可以理解为非主动分区。
因此为了提高分区的效率和准确性,本说明书中,如图4所示,在所述确定所述待处理数据所在初始数据表的分区规则,之后还包括:
S105:当所述分区规则为范围分区时,判断所述初始数据表中所有分区中是否都有数据;
S106:当所述初始数据表中所有分区中都有数据时,按照所述范围分区的规则在所述初始数据表中增加分区。
可以理解为,对所述初始数据表中的所有分区中是否存在数据的判断是针对所有主动分区,而非包括PMAX(默认分区),这样就可以在对待处理数据处理的同时对初始数据表中分区数进行及时的主动扩展,比如当所述初始数据表中所有分区中都有数据时,表明当前使用的分区可能为最后的一个主动分区或者为默认分区,那么就需要进行扩展分区,提高后续数据处理的灵活性,避免后续数据全部存储在默认分区中。比如,以日期为范围分区的划分粒度时,也可以确定当前日期加一的分区是否存在,若存在则不需要新建分区,若不存在,则可以在初始数据表中新建分区。
在本说明书实施例中,当所述分区规则不是所述范围分区时,包括:
当所述指令类型为数据迁移指令时,根据所述数据迁移指令,确定待处理数据的目标数据表;将所述待处理数据插入所述目标数据表中;删除所述初始数据表中的待处理数据;
当所述指令类型为数据清理指令时,删除所述初始数据表中的待处理数据。
可以理解为,当所述初始数据表不是采用范围分区时,则就按照常规的数据处理方式进行处理,示例性地,在对数据迁移时,可以采用INRTERT方法将所述初始数据表中的数据插入到目标数据表中,同时还应该删除所述初始数据表中的迁移的数据;在对数据清理时,可以采用DELETE方法对所述初始数据表中的数据直接进行删除。
需要说明的是,当所述初始数据表采用范围分区时,但是在确定的待处理分区中的数据不完全是所述待处理处理,此时也可以按照常规数据处理方法进行处理,本说明书实施例不做赘述。
在使用常规方法对数据处理时,并不会导致水位线的下降,反而会使水位线升高,在实际工作中,Oracle提供了SHRINK SPACE的命令可以降水位线,该命令实际就是碎片整理,会改变表的物理存储,因此执行耗时较大,一般都是开发者定期进行处理,但是这种方式很难对及时有效的对数据表中的水位线进行控制,因此在本说明书实施例中,如图5所示,所述方法还包括:
S107:获取碎片整理指令;
S108:根据所述碎片整理指令,对所述初始数据表进行降水位线处理。
在实际工作中,通过配置文件自动对数据表中的碎片进行整理,有效的降低数据表中的水位线,同时提高了数据表中的数据使用率,具体地,当所述初始数据表不是采用范围分区时,则直接対整个数据表做降水位线;若是采用范围分区,需循环对每个分区做降水位线处理。
本说明书实施例提供的数据处理方法,通过对数据处理指令的判断,确定出指令类型和待处理数据,然后确定待处理数据所在的初始数据表的分区规则,当所述初始数据表的分区规则为范围分区时,则就确定所述待处理数据所在的待处理分区,从而根据获得的指令类型对所述待处理分区进行处理,本发明通过对分区的直接处理,可以提高数据处理过程中的处理效率,同时还能提升数据的空间使用率。
本说明书实施例还提供一种数据处理方法,如图6所示,为所述方法的实际流程示意图,所述方法包括如下步骤:
S401:获取数据处理指令,并判断操作类型,所述操作类型包括数据迁移和数据清理;
S402:根据所述数据处理指令,确定待处理数据B及其所在源表A是否采用范围分区方法;
其中,针对所述数据迁移的操作类型,比如:可以将源表A中的待处理数据B转移到目标表A,(即目标数据表)中,可以包括如下步骤:
S403:当所述源表A采用范围分区方法时,筛选出待处理数据B所在的分区C,使用分区交换方法将源表A中的分区C交换到目标表A,中;
S404:当所述源表A不是采用范围分区方法时,使用INSERT方法将需要迁移的数据插入到目标表A,中;
S405:使用DELETE方法删除源表A已经迁移过的待处理数据B。
其中,交换分区是将一个分区转换到一个非分区表中,这个过程中实际只修改了数据字典中的数据物理段位置,而不是实际的移动数据,因此效率很快,通过交换分区实现数据的迁移可以提高数据迁移的效率,同时还能增加迁移后源表A中的数据使用空间。
其中,针对所述数据清理的操作类型,比如:可以将源表A中的待处理数据B删除,可以包括如下步骤:
S406:当所述源表A采用范围分区方法时,筛选出待处理数据B所在的分区C,直接删除所述分区C;
S407:当所述源表A不是采用范围分区方法时,使用DELETE方法删除源表A中需要清理的待处理数据B。
当所述源表A采用范围分区时,通过对分区的直接删除,可以降低所述源表A中的水位线,提高其数据的使用空间,同时也能降低其他(比如Undo日志)的产生,进一步避免水位线的升高。
当所述源表A采用范围分区时,为了避免源表A内分区数不够用,或者人工进行后续分区的不及时,还可以包括:
S408:判断当前分区加一的分区是否存在,若不存在,则为当前分区+1新建分区。
其中,当前分区可以为当前新生成数据占用的分区,比如以日期范围划分的分区,所述当前分区就为当前日期对应的分区,通过对源表A中分区数的自动判断,以及在分区不足的情况下自动扩展分区,可以实现数据的有效关系,避免后期数据集中存储在默认分区中很难分开处理。
当所述源表A不是采用范围分区时,都是对数据的直接处理,其中对数据的迁移后删除,以及对数据的直接删除都会产生Undo日志,导致源表A中的水位线升高,同时所述源表A采用范围分区时,也可以进一步降低源表A中每个分区的水位线,因此本方法还可以包括:
S409:接收碎片整理指令,对源表进行降水位线处理。
通过对源表碎片自动整理,可以有效的降低源表中的水位线,提高数据的使用效率。本说明书实施例中,将待处理的历史数据迁移清理、分区扩展、碎片整理功能,通过配置化的自动批量整合起来,有效得提升了数据迁移清理的执行效率,提升数据的空间占用率和使用效率,并节省了手工维护分区的人力成本,降低操作风险。
基于同一发明构思,如图7所示,本说明书实施例还提供一种数据处理装置,所述装置包括:
指令获取模块100,用于获取数据处理指令,确定指令类型和待处理数据;
分区规则确定模块200,用于确定所述待处理数据所在初始数据表的分区规则;
待处理分区确定模块300,用于当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
处理模块400,用于根据所述指令类型,对所述待处理分区进行处理。
通过上述装置所取得的有益效果和上述方法取得的有益效果一致,在本说明书不做赘述。
如图8所示,为本发明实施例提供的一种计算机设备,所述计算机设备802可以包括一个或多个处理器804,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备802还可以包括任何存储器806,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器806可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备802的固定或可移除部件。在一种情况下,当处理器804执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备802可以执行相关联指令的任一操作。计算机设备802还包括用于与任何存储器交互的一个或多个驱动机构808,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备802还可以包括输入/输出模块810(I/O),其用于接收各种输入(经由输入设备812)和用于提供各种输出(经由输出设备814))。一个具体输出机构可以包括呈现设备816和相关联的图形用户接口(GUI)818。在其他实施例中,还可以不包括输入/输出模块810(I/O)、输入设备812以及输出设备814,仅作为网络中的一台计算机设备。计算机设备802还可以包括一个或多个网络接口820,其用于经由一个或多个通信链路822与其他设备交换数据。一个或多个通信总线824将上文所描述的部件耦合在一起。
通信链路822可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路822可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图1-图5中的方法,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本发明实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图5所示的方法。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法包括:
获取数据处理指令,确定指令类型和待处理数据,所述指令类型包括数据迁移指令和数据清理指令;
确定所述待处理数据所在初始数据表的分区规则;
当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
根据所述指令类型,对所述待处理分区进行处理,包括:确定待处理数据的目标数据表;
判断所述待处理分区中的数据是否全部为所述待处理数据;
当所述待处理分区中的数据全部为所述待处理数据时,根据预设转换规则,将所述待处理分区转换至所述目标数据表中,以使所述待处理分区从属于所述目标数据表;
删除所述待处理分区。
2.根据权利要求1所述的方法,其特征在于,所述根据预设转换规则,将所述待处理分区转换至所述目标数据表中,包括:
确定所述待处理分区和初始数据表的索引关系;
重写所述索引关系,以将所述待处理分区和所述目标数据表建立从属关系,从而将所述待处理分区转换至所述目标数据表中。
3.根据权利要求1所述的方法,其特征在于,所述确定所述待处理数据所在初始数据表的分区规则,之后还包括:
当所述分区规则为范围分区时,判断所述初始数据表中所有分区中是否都有数据;
当所述初始数据表中所有分区中都有数据时,按照所述范围分区的规则在所述初始数据表中增加分区。
4.根据权利要求1所述的方法,其特征在于,当所述分区规则不是所述范围分区时,包括:
当所述指令类型为数据迁移指令时,根据所述数据迁移指令,确定待处理数据的目标数据表;将所述待处理数据插入所述目标数据表中;删除所述初始数据表中的待处理数据;
当所述指令类型为数据清理指令时,删除所述初始数据表中的待处理数据。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
获取碎片整理指令;
根据所述碎片整理指令,对所述初始数据表进行降水位线处理。
6.一种数据处理装置,其特征在于,所述装置包括:
指令获取模块,用于获取数据处理指令,确定指令类型和待处理数据,所述指令类型包括数据迁移指令和数据清理指令;
分区规则确定模块,用于确定所述待处理数据所在初始数据表的分区规则;
待处理分区确定模块,用于当所述分区规则为范围分区时,确定所述待处理数据所在的待处理分区;
处理模块,用于根据所述指令类型,对所述待处理分区进行处理,包括:确定待处理数据的目标数据表;
判断所述待处理分区中的数据是否全部为所述待处理数据;
当所述待处理分区中的数据全部为所述待处理数据时,根据预设转换规则,将所述待处理分区转换至所述目标数据表中,以使所述待处理分区从属于所述目标数据表;
删除所述待处理分区。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110317850.4A CN112835986B (zh) | 2021-03-25 | 2021-03-25 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110317850.4A CN112835986B (zh) | 2021-03-25 | 2021-03-25 | 一种数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835986A CN112835986A (zh) | 2021-05-25 |
CN112835986B true CN112835986B (zh) | 2024-02-20 |
Family
ID=75930551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110317850.4A Active CN112835986B (zh) | 2021-03-25 | 2021-03-25 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835986B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821139B (zh) * | 2023-08-25 | 2024-01-23 | 南方电网数字电网研究院有限公司 | 基于分布式数据库的分区表设计的混合负载方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299115A (zh) * | 2018-11-30 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据存储方法、装置、服务器及存储介质 |
CN110555012A (zh) * | 2018-05-14 | 2019-12-10 | 杭州海康威视数字技术股份有限公司 | 数据迁移方法及装置 |
CN112163013A (zh) * | 2020-09-08 | 2021-01-01 | 深圳市汉云科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
-
2021
- 2021-03-25 CN CN202110317850.4A patent/CN112835986B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555012A (zh) * | 2018-05-14 | 2019-12-10 | 杭州海康威视数字技术股份有限公司 | 数据迁移方法及装置 |
CN109299115A (zh) * | 2018-11-30 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据存储方法、装置、服务器及存储介质 |
CN112163013A (zh) * | 2020-09-08 | 2021-01-01 | 深圳市汉云科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112835986A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709600B2 (en) | System and method for performing live partitioning in a data store | |
US10776395B2 (en) | System and method for implementing a scalable data storage service | |
EP3238106B1 (en) | Compaction policy | |
US9372911B2 (en) | System and method for performing replica copying using a physical copy mechanism | |
US8601000B1 (en) | System and method for conditionally updating an item with attribute granularity | |
US7072879B2 (en) | Partially embedded database and an embedded database manager for a control system | |
EP3575968A1 (en) | Method and device for synchronizing active transaction lists | |
US10877669B1 (en) | System and method for providing a committed throughput level in a data store | |
CN106919678A (zh) | 一种数据库查询优化系统及方法 | |
CN110399096B (zh) | 分布式文件系统元数据缓存重删的方法、装置以及设备 | |
CN112835986B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN104951462A (zh) | 用于管理数据库的方法和系统 | |
CN111708894B (zh) | 一种知识图谱创建方法 | |
CN117238433A (zh) | 基于LibreOffice进行文档数据自动隔离的方法 | |
CN113419672B (zh) | 一种存储容量管理方法、系统及存储介质 | |
CN108646987B (zh) | 一种文件卷的管理方法、装置、存储介质及终端 | |
CN113742058A (zh) | 管理堆外内存的方法和装置 | |
CN106796588A (zh) | 索引表的更新方法和设备 | |
CN110399534B (zh) | 终端性能报表生成方法、装置、设备和存储介质 | |
CN107453950B (zh) | 一种信息处理方法及监控系统 | |
CN103442000A (zh) | Web缓存置换方法及装置、http代理服务器 | |
CN112015791B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN112882843A (zh) | 一种英文枚举自动补全中文值的方法 | |
EP3436988B1 (en) | "methods and systems for database optimisation" | |
CN106649444B (zh) | 一种cae数据库系统获取cad数据的方法及装置 |
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 |