[发明专利]数据处理方法、装置、电子设备和计算机可读存储介质在审
申请号: | 202111459660.2 | 申请日: | 2021-12-02 |
公开(公告)号: | CN114254037A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 王凯龙 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455;G06F9/54 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 唐博 |
地址: | 100102 北京市朝阳区容*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 电子设备 计算机 可读 存储 介质 | ||
本公开实施例提供一种数据处理方法、装置、电子设备和计算机可读存储介质,涉及数据处理领域。该方法通过获取的目标读取线程在源端数据库中读取目标数据,对读取的目标数据进行处理,得到多个目标数据包;获取所述多个目标数据包对应的目标写出线程组;基于所述目标写出线程组中的多个目标写出线程,将所述多个目标数据包中的数据写入目标数据库。在本公开实施例提供的数据处理方法中,使用了一个目标读取线程读取源端数据库中的目标数据,多个目标写出线程在目标数据库中进行目标数据的写入,提高了目标数据迁移的效率。
技术领域
本公开涉及数据处理领域,尤其涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
利用数据同步工具对数据进行实时同步的过程通常分为三个阶段,第一阶段为进行存量数据的初始化装载,获得数据同步的基础点;第二阶段以初始化数据装载建立的同步基础点为基准进行增量数据同步;第三阶段定期对数据同步的源端数据和目标数据进行比对校验,以确认在数据同步过程中没有丢失数据。其中第二阶段和第三阶段会处于长时间并行状态。
在第一阶段对存量数据进行初始化装载时,现行技术中对存量数据的读取方法包括:采用基于表ROWID进行范围拆分,拆分后的每个范围通过独立的线程与数据库连接,对相应范围内的数据进行读取。或者通过表的值域范围、日志范围等对表数据进行划分形成多个分区,将多个分区的数据分配给多个线程进行读取。
上述通过多个线程读取数据的方法虽然可以加快数据读取的速度,但通常数据的装载速度要远小于数据读取的速度,因此在多线程读取数据的基础上对数据进行迁移,效率较低。
发明内容
为了解决上述问题,本公开提供了一种数据处理方法、装置、电子设备和计算机可读存储介质,以提高数据的迁移效率。
为了实现上述目的,本公开实施例提供技术方案如下:
第一方面,本公开实施例提供了一种数据处理方法,包括:
获取目标读取线程,基于所述目标读取线程在源端数据库中读取目标数据;
对所述目标读取线程在源端数据库中读取的目标数据进行处理,得到多个目标数据包;
获取所述多个目标数据包对应的目标写出线程组;
基于所述目标写出线程组中的多个目标写出线程,将所述多个目标数据包中的数据写入目标数据库。
作为本公开实施例一种可选的实施方式,所述对所述目标读取线程在源端数据库中读取的目标数据进行处理,得到多个目标数据包,包括:
基于所述目标读取线程,对所述读取的目标数据以预设规则进行封装,得到多个封装数据包;
将所述封装数据包缓存至所述目标读取线程对应的输出队列,得到所述多个目标数据包。
作为本公开实施例一种可选的实施方式,所述基于所述目标读取线程,对所述读取的目标数据以预设规则进行封装,得到多个封装数据包,包括:
获取所述读取的目标数据的数据量;
根据所述预设规则和所述读取的目标数据的数据量,对所述读取的目标数据进行封装,得到所述多个封装数据包;其中,各封装数据包中的数据量为所述预设规则对应的预设数据量。
作为本公开实施例一种可选的实施方式,所述基于所述目标写出线程组中的多个目标写出线程,将所述多个目标数据包中的数据写入目标数据库,包括:
获取所述目标写出线程组中各目标写出线程对应的输入队列;
将所述多个目标数据包分配至各目标写出线程对应的输入队列;
基于各目标写出线程,将分配至各目标写出线程对应的输入队列的目标数据包中的数据写入所述目标数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111459660.2/2.html,转载请声明来源钻瓜专利网。