CN111414362A - 数据读取方法、装置、设备及存储介质 - Google Patents
数据读取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111414362A CN111414362A CN202010128291.8A CN202010128291A CN111414362A CN 111414362 A CN111414362 A CN 111414362A CN 202010128291 A CN202010128291 A CN 202010128291A CN 111414362 A CN111414362 A CN 111414362A
- Authority
- CN
- China
- Prior art keywords
- data
- rowid
- target data
- reading
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000002159 abnormal effect Effects 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 35
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据读取方法、装置、设备及存储介质,该方法包括:获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。本发明基于大数据,将目标数据表分成多个数据块后再进行数据读取,提高了数据处理效率。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据读取方法、装置、设备及存储介质。
背景技术
Oracle数据库中保存有大量的数据表,由于数据量庞大,因此要对数据库做大批量修改时,会造成数据库锁全表,并且长时间的空间占用会造成Oracle快照过旧的异常。而现有的游标分段处理方案会占用大量空间引发异常运行,并且无法并发执行,占用消耗过多***资源,容易造成***业务阻塞,从而大大降低了数据处理效率。因此,如何提高数据处理效率,是当前亟待解决的技术问题。
发明内容
本发明提供一种数据读取方法、装置、设备及存储介质,旨在提高数据处理效率。
为实现上述目的,本发明提供一种数据读取方法,所述方法包括:
获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
优选地,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤之前还包括:
判断所述目标数据表中的数据量是否超过第一阈值;
若所述数据量大于所述第一阈值,则根据所述数据量设置并发进程的进程数;
根据所述进程数将所述目标数据表分成对应数量的子目标数据表。
优选地,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
获取状态日志,通过所述状态日志获得数据异常数据块;
获取所述异常数据块的rowid并标记为异常rowid,重新读取所述异常rowid以及所述异常rowid之后一个或多个数据块。
优选地,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤包括:
从***数据库中获取所述目标数据表,由***提取所述目标数据表的物理地址信息,所述物理地址信息包括所述目标数据表的范围extent和属性信息;
将所述物理地址信息中的每个所述extent作为一个独立任务,并根据各个所述独立任务对应的属性信息生成待处理任务表。
优选地,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤包括:
根据数据表编号、文件编号、块编号以及行编号生成各个所述数据块的rowid,所述rowid包括起始rowid和终止rowid;
根据所述起始rowid和所述终止rowid定位至目标数据块,依次读取对应的一个或多个所述目标数据块,直到读取所述目标数据表。
优选地,所述根据所述起始rowid和所述终止rowid定位至目标数据块的步骤之后还包括:
对所述目标数据块中的目标数据执行加锁操作,并在读取目标数据之后进行锁释放。
优选地,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
根据所述rowid在所述目标数据表中的数据进行数据编辑操作。
此外,为实现上述目的,本发明实施例还提供一种数据读取装置,所述数据读取装置包括:
获取模块,用于获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
分割模块,用于根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
读取模块,用于生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
此外,为实现上述目的,本发明实施例还提供一种数据读取设备,所述数据读取设备包括处理器,存储器以及存储在所述存储器中的数据读取程序,所述数据读取程序被所述处理器运行时,实现如上所述的数据读取方法的步骤。
此外,为实现上述目的,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有数据读取程序,所述数据读取程序被处理器运行时实现如上所述数据读取方法的步骤
相比现有技术,本发明公开了一种数据读取方法、装置、设备及存储介质,该方法包括:获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。本发明基于大数据,将目标数据表分成多个数据块后再进行数据读取,提高了数据处理效率。
附图说明
图1是本发明各实施例涉及的数据读取设备的硬件结构示意图;
图2是本发明数据读取方法第一实施例的流程示意图;
图3是本发明数据读取方法第二实施例的流程示意图;
图4是本发明数据读取方法第三实施例的流程示意图;
图5是本发明数据读取装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例主要涉及的数据读取设备是指能够实现网络连接的网络连接设备,所述数据读取设备可以是服务器、云平台等。另外本发明实施例涉及的移动终端可以为手机、平板电脑等移动网络设备。
参照图1,图1是本发明各实施例涉及的数据读取设备的硬件结构示意图。本发明实施例中,数据读取设备可以包括处理器1001(例如中央处理器Central ProcessingUnit、CPU),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作***、网络通信模块、应用程序模块以及数据读取程序。在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的数据读取程序,并执行本发明实施例提供的数据读取方法。
本发明实施例提供了一种数据读取方法。
Oracle Database(Oracle数据库),又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理***。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库***是目前世界上流行的关系数据库管理***,***可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
Oracle数据库中经常保存有海量的数据,因此要对数据库做大批量修改时,会造成数据库锁全表,并且长时间的空间占用会造成Oracle快照过旧的异常。而现有的游标分段处理方案会占用大量空间引发异常运行,并且无法并发执行,占用消耗过多***资源,容易造成***业务阻塞,从而大大降低了数据处理效率。因此,如何提高数据处理效率,是当前亟待解决的技术问题。
当前主要是通过游标cursor批量获取Oracle数据库中的数据,分段提交处理,但是使用游标需要构造一致性读取,如果处理时间需要若干个小时,则可能会消耗大量的undo(撤销)空间,因此极易导致运行错误而迫使任务终止。并且游标获取方法不能并发执行,断点续作需要重复读取,因而数据读取速度慢。
参照图2,图2是本发明数据读取方法第一实施例的流程示意图。
本实施例中,所述数据读取方法应用于数据读取设备,所述方法包括:
步骤S101,获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
本实施例技术方案主要应用于Oracle数据库。
具体地,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤包括:
步骤S101a:从***数据库中获取所述目标数据表,由***提取所述目标数据表的物理地址信息,所述物理地址信息包括所述目标数据表的范围extent和属性信息;其中,所述属性信息包括数据表空间物理名称、路径以及大小。
步骤S101b:将所述物理地址信息中的每个所述extent作为一个独立任务,并根据各个所述独立任务对应的属性信息生成待处理任务表。将所有的所述extent整合为所述待处理数据表,并且将与所述extent对应的所述属性信息也写入所述待处理数据表。
步骤S102,根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
将所述预设业务需求作为实际对所述目标数据表的调整需求。若预设业务需求一次性需处理的数据量是30M,且能够满足硬件配置需求,则可以将所述预设业务需求转化为所述单次数据处理量。根据所述单次数据处理量可将所述待处理任务表分成一个或多个数据块,并记录所述数据块的数量。例如所述单次数据处理量是30M,所述待处理任务表对应的数据的数据量是30M×n,其中n的取值大于或等于1,即可将所述待处理任务表对应的数据分割成n个数据块。
步骤S103,生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
rowid是一个用来唯一标记表中行的伪列。它是物理表中行数据的内部地址,包含两个地址,其一为指向数据表中包含该行的块所存放数据文件的地址,另一个是可以直接定位到数据行自身的这一行在数据块中的地址。一般地,所述rowid包括数据表编号、文件编号、块编号以及行编号。
所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤包括:
步骤S103a:根据数据表编号、文件编号、块编号以及行编号生成各个所述数据块的rowid,所述rowid包括起始rowid和终止rowid;
可以理解地,对于有多个数据块的待处理任务表来说,某个数据块的终止rowid即为其后一个数据块的起始rowid,同理,某个数据块的起始rowid即为其前一个数据块的终止rowid。
步骤S103b:根据所述起始rowid和所述终止rowid定位至目标数据块,依次读取对应的一个或多个所述目标数据块,直到读取所述目标数据表。具体地,若所述目标数据块只有一个,则可以根据所述起始rowid和所述终止rowid进行定位,并读取对应的数据。若所述目标数据块有多个,则根据所述目标数据块的编号和/或顺序,依次读取对应多个所述目标数据块,直到所有的数据块都读取成功。
进一步地,所述根据所述起始rowid和所述终止rowid定位至目标数据块的步骤之后还包括:
对所述目标数据块中的目标数据执行加锁操作,并在读取目标数据之后进行锁释放。
在对所述目标数据块进行读取时,需要进行加锁以阻塞在读取期间的其它操作。一般地,加锁时间越短对整体业务的影响越小。而数据块越小,则处理时间越短,在处理完成后随即进行锁释放,因而对应的加锁时间也越短。
本实施例中,所述锁可以是DML(data manipulation language,数据操纵语言)锁。所述DML锁包括行锁、表锁、列锁等。行锁也叫TX锁,用于锁表的一行数据。当一个业务对一行数据做***Insert、更新Update、删除Delete、合并Merge或锁定数据Select ForUpdate操作时,***将为行添加行锁,直到业务执行了提交Commit或回滚Roll Back操作后,行锁才释放。可以理解地,所述行锁可用于防止两个业务修改同一行数据,当一个业务修改一行数据时,数据库总是为修改的行加一个排它锁以至于其它业务无法修改该行,只有当业务执行了commit或者roll back操作后,数据库才会释放对应的锁。行锁是小粒度的锁,为应用提供了最大限度的并行修改数据的能力。当一个事务获取了一个行锁,那么这个事务也需要获取这行数据所在表的表锁,表锁阻止有冲突的DDL(data definitionlanguage,数据库定义语言)操作,即数据库会自动的为更新的行添加一个排它锁,并为行所在的表添加一个子排它锁。
进一步地,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
根据所述rowid在所述目标数据表中的数据进行编辑操作。
通过所述rowid进行定位后,还能根据定位进行数据编辑操作。所述编辑操作包括***Insert、更新Update、删除Delete、合并Merge等。例如,通过命令:insert into testrowid(1,null)即可***相关数据。再例如,可以通过创建临时表的方式删除数据。
本实施例通过上述方案,获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。本发明基于大数据,将目标数据表分成多个数据块后再进行数据读取,提高了数据处理效率。
如图3所示,本发明第二实施例提出一种数据读取方法,基于上述图1所示的第一实施例,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤之前还包括:
步骤S1001,判断所述目标数据表中的数据量是否超过第一阈值;
查看所述目标数据表对应数据的属性,获得所述数据的数据量。所述数据量指所述数据的占用空间。
可以理解地,当所述数据量过大时,单程读取需要较长的时间,故可以设置并发机制,以节约时间提高效率。所述第一阈值可以根据硬件设备、预设时间要求、***并发性能等具体设置,例如将所述第一阈值设置为300M。
步骤S1002,若所述数据量大于所述第一阈值,则根据所述数据量设置并发进程;
若所述数据量超过所述第一阈值,则说明需要激活所述并发机制。所述并发机制可以是数据量越大并发进程越多。例如当所述数据量大于所述第一阈值且小于第二阈值,则将并发进程的进程的数量设置为第一进程数;当所述数据量大于或等于所述第二阈值且小于第三阈值,则将并发进程的进程数量设置第二进程数,其中,第一阈值<第二阈值<第三阈值,第一进程数<第二进程数。
可以理解地,若所述数据量小于或等于所述第一阈值,则可以单进程处读取,不需要设置并发进程。
步骤S1003,根据所述进程数将所述目标数据表分成对应数量的子目标数据表。
具体地,将所述目标数据表拆分成与所述进程数对应数量的子目标数据表。由此可以由并发进程同时对所述目标数据表中的数据进行读取。
例如,将所述第一阈值设置为100M,若所述数据量为1000M,则需要设置并发进程。再根据并发机制设置并发进程数,比如根据***并发处理能力将并发进程为10个,则将所述目标数据表拆分成10个子目标数据表。由此,由10个进程同时对这1000M数据进行读取,大大缩短了数据读取时间,提高了数据处理效率。
本实施例通过上述方案,判断所述目标数据表中的数据量是否超过第一阈值;若所述数据量大于所述第一阈值,则根据所述数据量设置并发进程的进程数;根据所述进程数将所述目标数据表分成对应数量的子目标数据表。本发明基于大数据,将目标数据表进行拆分后再进行数据读取,基于并发处理机制,提高了数据处理效率。
如图4所示,本发明第三实施例提出一种数据读取方法,基于上述图1所示的第一实施例,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
步骤S104,获取状态日志,通过所述状态日志获得异常数据块;
***在进行数据读取时,会生成状态日志,该状态日志记载了数据读取对象、数据库、读取时间、读取完成进度等信息。获取所述状态日志后,则根据所述读取完成进度获得未读取完全的数据块,并将该数据块标记为异常数据块。
可以理解地,所述异常数据块还包括数据损坏无法读取的数据块。
步骤S105,获取所述异常数据块的rowid并标记为异常rowid,重新读取所述异常rowid以及所述异常rowid之后一个或多个数据块。
获取所述异常数据块的rowid并标记为异常rowid,以所述异常rowid的异常起始rowid为起点,对所述异常数据库进行读取。
一般地,若某一个数据块未成功读取,则***会自动跳过,并结束对应的读取任务,因而所述异常数据块之后的数据库不会被读取导致数据遗漏。若通过游标的方式读取数据,在出现异常后,则需要重新对整个数据库进行扫描,因而断点续作代价高。本实施例中,当成功读取所述异常数据库后,再继续读取所述异常数据块之后的其它未读取数据库。并且,若处理过程中有其他异常导致数据读取终止,那么只会影响当前正在读取的数据块和未读取的数据库,读取成功的数据已经提交,不受影响。
若多次读取所述异常数据块都未能完全读取所述异常数据块中的数据,则输出报警提示,以供对所述异常数据库进行检查。
本实施例通过上述方案,获取状态日志,通过所述状态日志获得数据异常数据块;获取所述异常数据块的rowid并标记为异常rowid,重新读取所述异常rowid以及所述异常rowid之后一个或多个数据块,由此,当在数据读取出现异常时,无需重复读取,提高了数据处理效率。
此外,本实施例还提供一种数据读取装置。参照图5,图5为本发明数据读取装置第一实施例的功能模块示意图。
本实施例中,所述数据读取装置为虚拟装置,存储于图1所示的数据读取设备的存储器1005中,以实现数据读取程序的所有功能:用于获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;用于根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;用于生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
具体地,所述数据读取装置包括:
获取模块10,用于获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
分割模块20,用于根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
读取模块30,用于生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
进一步地,所述获取模块还用于:
判断所述目标数据表中的数据量是否超过第一阈值;
若所述数据量大于所述第一阈值,则根据所述数据量设置并发进程的进程数;
根据所述进程数将所述目标数据表分成对应数量的子目标数据表。
进一步地,所述读取模块还用于:
获取状态日志,通过所述状态日志获得数据异常数据块;
获取所述异常数据块的rowid并标记为异常rowid,重新读取所述异常rowid以及所述异常rowid之后一个或多个数据块。
进一步地,所述获取模块还用于:
从***数据库中获取所述目标数据表,由***提取所述目标数据表的物理地址信息,所述物理地址信息包括所述目标数据表的范围extent和属性信息;
将所述物理地址信息中的每个所述extent作为一个独立任务,并根据各个所述独立任务对应的属性信息生成待处理任务表。
进一步地,所述读取模块还用于:
根据数据表编号、文件编号、块编号以及行编号生成各个所述数据块的rowid,所述rowid包括起始rowid和终止rowid;
根据所述起始rowid和所述终止rowid定位至目标数据块,依次读取对应的一个或多个所述目标数据块,直到读取所述目标数据表。
进一步地,所述读取模块还用于:
对所述目标数据块中的目标数据执行加锁操作,并在读取目标数据之后进行锁释放。
进一步地,所述读取模块还用于:
根据所述rowid在所述目标数据表中的数据进行数据编辑操作。
此外,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有数据读取程序,所述数据读取程序被处理器运行时实现如上所述数据读取方法的步骤,此处不再赘述。
相比现有技术,本发明提出的一种数据读取方法、装置、设备及存储介质,该方法包括:获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。本发明基于大数据,将目标数据表分成多个数据块后再进行数据读取,提高了数据处理效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据读取方法,其特征在于,所述方法包括:
获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
2.根据权利要求1所述的方法,其特征在于,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤之前还包括:
判断所述目标数据表中的数据量是否超过第一阈值;
若所述数据量大于所述第一阈值,则根据所述数据量设置并发进程的进程数;
根据所述进程数将所述目标数据表分成对应数量的子目标数据表。
3.根据权利要求1所述的方法,其特征在于,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
获取状态日志,通过所述状态日志获得数据异常数据块;
获取所述异常数据块的rowid并标记为异常rowid,重新读取所述异常rowid以及所述异常rowid之后一个或多个数据块。
4.根据权利要求1所述的方法,其特征在于,所述获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表的步骤包括:
从***数据库中获取所述目标数据表,由***提取所述目标数据表的物理地址信息,所述物理地址信息包括所述目标数据表的范围extent和属性信息;
将所述物理地址信息中的每个所述extent作为一个独立任务,并根据各个所述独立任务对应的属性信息生成待处理任务表。
5.根据权利要求1所述的方法,其特征在于,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤包括:
根据数据表编号、文件编号、块编号以及行编号生成各个所述数据块的rowid,所述rowid包括起始rowid和终止rowid;
根据所述起始rowid和所述终止rowid定位至目标数据块,依次读取对应的一个或多个所述目标数据块,直到读取所述目标数据表。
6.根据权利要求5所述的方法,其特征在于,所述根据所述起始rowid和所述终止rowid定位至目标数据块的步骤之后还包括:
对所述目标数据块中的目标数据执行加锁操作,并在读取目标数据之后进行锁释放。
7.根据权利要求1所述的方法,其特征在于,所述生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表的步骤之后还包括:
根据所述rowid在所述目标数据表中的数据进行数据编辑操作。
8.一种数据读取装置,其特征在于,所述数据读取装置包括:
获取模块,用于获取目标数据表,提取所述目标数据表的物理地址信息,并根据所述物理地址信息生成待处理任务表;
分割模块,用于根据预设业务需求确定单次数据处理量,并根据所述单次数据处理量将所述待处理任务表分割成一个或多个数据块;
读取模块,用于生成一个或多个所述数据块的伪列rowid,并根据所述rowid读取所述目标数据表。
9.一种数据读取设备,其特征在于,所述数据读取设备包括处理器,存储器以及存储在所述存储器中的数据读取程序,所述数据读取程序被所述处理器运行时,实现如权利要求1-7中任一项所述的数据读取方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有数据读取程序,所述数据读取程序被处理器运行时实现如权利要求1-7中任一项所述数据读取方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128291.8A CN111414362B (zh) | 2020-02-28 | 2020-02-28 | 数据读取方法、装置、设备及存储介质 |
PCT/CN2020/136303 WO2021169496A1 (zh) | 2020-02-28 | 2020-12-15 | 数据读取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128291.8A CN111414362B (zh) | 2020-02-28 | 2020-02-28 | 数据读取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414362A true CN111414362A (zh) | 2020-07-14 |
CN111414362B CN111414362B (zh) | 2023-11-10 |
Family
ID=71491095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010128291.8A Active CN111414362B (zh) | 2020-02-28 | 2020-02-28 | 数据读取方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111414362B (zh) |
WO (1) | WO2021169496A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035481A (zh) * | 2020-08-31 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113190281A (zh) * | 2021-04-08 | 2021-07-30 | 武汉达梦数据库股份有限公司 | 一种基于rowid区间的初始化装载方法与装置 |
WO2021169496A1 (zh) * | 2020-02-28 | 2021-09-02 | 平安科技(深圳)有限公司 | 数据读取方法、装置、设备及存储介质 |
CN114385260A (zh) * | 2021-12-15 | 2022-04-22 | 武汉达梦数据库股份有限公司 | 一种基于rowid区间的初始化装载方法及设备 |
CN114546942A (zh) * | 2022-01-28 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种数据库数据读取方法、装置、终端及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116088771B (zh) * | 2023-04-06 | 2023-06-16 | 国网浙江省电力有限公司营销服务中心 | 基于能源互联网的工单数据多层次存储方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246549A (zh) * | 2012-02-07 | 2013-08-14 | 阿里巴巴集团控股有限公司 | 一种数据转存的方法及*** |
CN107608773A (zh) * | 2017-08-24 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 任务并发处理方法、装置及计算设备 |
CN110019004A (zh) * | 2017-09-08 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法、装置及*** |
CN110263057A (zh) * | 2019-06-12 | 2019-09-20 | 上海英方软件股份有限公司 | 一种rowid映射表的存储/查询方法及装置 |
US20190294602A1 (en) * | 2017-01-09 | 2019-09-26 | Tencent Technology (Shenzhen) Company Limited | Data scrubbing method and apparatus, and computer readable storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353634B1 (en) * | 2016-03-28 | 2019-07-16 | Amazon Technologies, Inc. | Storage tier-based volume placement |
GB2566514B (en) * | 2017-09-15 | 2020-01-08 | Imagination Tech Ltd | Resource allocation |
CN110532799B (zh) * | 2019-07-31 | 2023-03-24 | 平安科技(深圳)有限公司 | 数据脱敏控制方法、电子装置及计算机可读存储介质 |
CN111414362B (zh) * | 2020-02-28 | 2023-11-10 | 平安科技(深圳)有限公司 | 数据读取方法、装置、设备及存储介质 |
-
2020
- 2020-02-28 CN CN202010128291.8A patent/CN111414362B/zh active Active
- 2020-12-15 WO PCT/CN2020/136303 patent/WO2021169496A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246549A (zh) * | 2012-02-07 | 2013-08-14 | 阿里巴巴集团控股有限公司 | 一种数据转存的方法及*** |
US20190294602A1 (en) * | 2017-01-09 | 2019-09-26 | Tencent Technology (Shenzhen) Company Limited | Data scrubbing method and apparatus, and computer readable storage medium |
CN107608773A (zh) * | 2017-08-24 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 任务并发处理方法、装置及计算设备 |
CN110019004A (zh) * | 2017-09-08 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法、装置及*** |
CN110263057A (zh) * | 2019-06-12 | 2019-09-20 | 上海英方软件股份有限公司 | 一种rowid映射表的存储/查询方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021169496A1 (zh) * | 2020-02-28 | 2021-09-02 | 平安科技(深圳)有限公司 | 数据读取方法、装置、设备及存储介质 |
CN112035481A (zh) * | 2020-08-31 | 2020-12-04 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112035481B (zh) * | 2020-08-31 | 2023-10-27 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113190281A (zh) * | 2021-04-08 | 2021-07-30 | 武汉达梦数据库股份有限公司 | 一种基于rowid区间的初始化装载方法与装置 |
CN113190281B (zh) * | 2021-04-08 | 2022-05-17 | 武汉达梦数据库股份有限公司 | 一种基于rowid区间的初始化装载方法与装置 |
CN114385260A (zh) * | 2021-12-15 | 2022-04-22 | 武汉达梦数据库股份有限公司 | 一种基于rowid区间的初始化装载方法及设备 |
CN114546942A (zh) * | 2022-01-28 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种数据库数据读取方法、装置、终端及存储介质 |
CN114546942B (zh) * | 2022-01-28 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 一种数据库数据读取方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111414362B (zh) | 2023-11-10 |
WO2021169496A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414362A (zh) | 数据读取方法、装置、设备及存储介质 | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
EP3438845A1 (en) | Data updating method and device for a distributed database system | |
CN110287251B (zh) | MongoDB到HBase的分布式高容错数据实时同步方法 | |
US8843450B1 (en) | Write capable exchange granular level recoveries | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN112650753A (zh) | 一种日志管理方法、装置、***、设备及可读存储介质 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN116881051A (zh) | 一种数据备份与恢复方法、装置、电子设备和存储介质 | |
CN111753141B (zh) | 一种数据管理方法及相关设备 | |
CN112486966A (zh) | 一种过期数据清理方法、装置和电子设备 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
CN114896276A (zh) | 数据存储方法、装置、电子设备及分布式存储*** | |
CN110795389B (zh) | 基于存储快照的拷贝方法、用户设备、存储介质及装置 | |
CN112015791B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN112860376A (zh) | 一种快照链的制作方法、装置、电子设备及存储介质 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN107656868B (zh) | 一种利用线程私有数据获取线程名字的调试方法及*** | |
CN111858487A (zh) | 数据更新方法及设备 | |
CN112988474B (zh) | 一种海量小文件备份热数据的方法、***、设备及介质 | |
CN112596948B (zh) | 一种数据库集群数据备份方法、装置、设备及存储介质 | |
CN116414772A (zh) | 数据转储方法、装置、设备及存储介质 | |
CN115640261A (zh) | Hdfs空文件定位方法、装置、设备及介质 | |
CN114048259A (zh) | 一种数据导出方法、装置、设备及可读存储介质 | |
CN115599838A (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 |