[发明专利]一种可实现数据快速装载的数据同步方法和装置在审
| 申请号: | 201910981942.5 | 申请日: | 2019-10-16 |
| 公开(公告)号: | CN111026768A | 公开(公告)日: | 2020-04-17 |
| 发明(设计)人: | 梅纲;付铨;周淳;张驻西 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
| 代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 数据 快速 装载 同步 方法 装置 | ||
1.一种可实现数据快速装载的数据同步方法,其特征在于,数据装载节点内设有生产者线程、任务队列和消费者线程,则数据同步方法包括:
从数据源读取数据,并将读取的数据放入缓存中;
所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中;其中,每个数据文件包含一条或多条数据;
所述消费者线程调用目的数据库专有的批量数据装载命令,将任务队列中待装载的数据文件逐一装载到目的数据库;
其中,所述生产者线程对应的数据文件生成过程和所述消费者线程对应的数据批量装载过程为并行进行。
2.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,在数据同步过程中,所述方法还包括:
统计同步过程中数据从数据源中的读取速度,以及数据装载到目的数据库的装载速度,并将读取速度和装载速度进行比较;
如果读取速度和装载速度相当,则下次数据同步时数据放入缓存之后,在linux系统内生成一虚拟的管道文件,并将缓存中的数据读取到管道文件中;然后将目的数据库专有的批量装载命令定位到管道文件,并利用批量装载命令将管道文件中的数据装载到目的数据库;
如果读取速度和装载速度不相当,则下次数据同步时数据放入缓存之后,所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中。
3.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,在生成数据文件时,所述生产者线程按照所述目的数据库的格式要求,生成相应格式的数据文件。
4.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中,具体包括:
所述生产者线程从缓存中读取待装载的数据,并将读取到的数据写入一临时生成的数据文件中;
所述生产者线程判断当前数据文件中的数据量是否达到预设阈值,如果当前数据文件中的数据量未达到预设阈值,则所述生产者线程继续从缓存中读取下一条待装载的数据写入到当前数据文件中。
5.根据权利要求4所述的可实现数据快速装载的数据同步方法,其特征在于,如果当前数据文件中的数据量已经达到预设阈值,则继续检查任务队列中的任务数量是否达到最大任务数限制;
如果任务队列中的任务数量未达到最大任务数限制,则所述生产者线程将当前写入完成的数据文件放到任务队列中;
如果任务队列中的任务数量已达到最大任务数限制,则所述生产者线程等待所述消费者线程从任务队列中取出任务后,再将当前写入完成的数据文件放到任务队列中。
6.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,所述消费者线程调用目的数据库专有的批量数据装载命令,将任务队列中待装载的数据文件逐一装载到目的数据库,具体包括:
所述消费者线程从任务队列中取出待装载的数据文件,并根据目的数据库生成用于装载当前数据文件的批量数据装载命令;
所述消费者线程执行所述批量数据装载命令,进而将当前取出的数据文件装载到目的数据库;
所述消费者线程将完成装载后的数据文件删除,并检查任务队列中是否还有待装载的数据文件,如果有则继续进行下一个数据文件的装载。
7.根据权利要求1-6任一所述的可实现数据快速装载的数据同步方法,其特征在于,所述消费者线程设置至少两个,则在进行数据装载时,各消费者线程以并行方式将任务队列中不同的数据文件分别装载到目的数据库。
8.根据权利要求1-6任一所述的可实现数据快速装载的数据同步方法,其特征在于,所述数据源为关系数据库、消息队列、XML文件、KV数据库或文档数据库。
9.根据权利要求1-6任一所述的可实现数据快速装载的数据同步方法,其特征在于,所述目的数据库为关系数据库。
10.一种可实现数据快速装载的数据同步装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成权利要求1-9任一所述的可实现数据快速装载的数据同步方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910981942.5/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





