一种可实现数据快速装载的数据同步方法和装置制造方法及图纸

技术编号:23852034 阅读:29 留言:0更新日期:2020-04-18 09:08
本发明专利技术涉及数据同步技术领域,具体涉及一种可实现数据快速装载的数据同步方法和装置,方法包括:从数据源读取数据,并将读取的数据放入缓存中;生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中;消费者线程调用目的数据库专有的批量数据装载命令,将任务队列中待装载的数据文件逐一装载到目的数据库;其中,生产者线程对应的数据文件生成过程和消费者线程对应的数据批量装载过程为并行进行。本发明专利技术采用生产者‑消费者的模型,装载时分批连续生成数据文件,并调用目的数据库专有的装载命令来装载数据,数据文件的生成和数据装载命令的执行可并行进行,减少了串行执行时的性能损失,提高同步效率。

A data synchronization method and device for fast data loading

【技术实现步骤摘要】
一种可实现数据快速装载的数据同步方法和装置
本专利技术涉及数据同步
,具体涉及一种可实现数据快速装载的数据同步方法和装置。
技术介绍
目前,典型的数据同步流程通常包括两个步骤:一是将数据从数据源中读取出来放到缓存中,即数据读取;二是从缓存中读取数据装载到目的数据库中,即数据装载。假设源端为关系数据库,则当前典型的数据同步流程如图1所示,其数据装载过程一般都是调用JDBC(JavaDataBaseConnectivity)或者ODBC(OpenDatabaseConnectivity)接口实现对目的数据库的访问。JDBC或者ODBC都是通用的数据库编程接口,可提供一套完整的、独立于任何特定数据库的编程接口,使得应用程序无需绑定到每种数据库不同的编程接口。数据库厂商发布数据库时会同时发布符合JDBC和ODBC标准的驱动程序,以便应用程序使用该驱动程序访问数据库。由于JDBC或者ODBC是通用的标准,因此调用JDBC或者ODBC接口装载数据时的操作流程一般也是固定的,如图2所示。图2所示的数据装载流程对于一般的数据库应用是没有问本文档来自技高网...

【技术保护点】
1.一种可实现数据快速装载的数据同步方法,其特征在于,数据装载节点内设有生产者线程、任务队列和消费者线程,则数据同步方法包括:/n从数据源读取数据,并将读取的数据放入缓存中;/n所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中;其中,每个数据文件包含一条或多条数据;/n所述消费者线程调用目的数据库专有的批量数据装载命令,将任务队列中待装载的数据文件逐一装载到目的数据库;/n其中,所述生产者线程对应的数据文件生成过程和所述消费者线程对应的数据批量装载过程为并行进行。/n

【技术特征摘要】
1.一种可实现数据快速装载的数据同步方法,其特征在于,数据装载节点内设有生产者线程、任务队列和消费者线程,则数据同步方法包括:
从数据源读取数据,并将读取的数据放入缓存中;
所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中;其中,每个数据文件包含一条或多条数据;
所述消费者线程调用目的数据库专有的批量数据装载命令,将任务队列中待装载的数据文件逐一装载到目的数据库;
其中,所述生产者线程对应的数据文件生成过程和所述消费者线程对应的数据批量装载过程为并行进行。


2.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,在数据同步过程中,所述方法还包括:
统计同步过程中数据从数据源中的读取速度,以及数据装载到目的数据库的装载速度,并将读取速度和装载速度进行比较;
如果读取速度和装载速度相当,则下次数据同步时数据放入缓存之后,在linux系统内生成一虚拟的管道文件,并将缓存中的数据读取到管道文件中;然后将目的数据库专有的批量装载命令定位到管道文件,并利用批量装载命令将管道文件中的数据装载到目的数据库;
如果读取速度和装载速度不相当,则下次数据同步时数据放入缓存之后,所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中。


3.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,在生成数据文件时,所述生产者线程按照所述目的数据库的格式要求,生成相应格式的数据文件。


4.根据权利要求1所述的可实现数据快速装载的数据同步方法,其特征在于,所述生产者线程将缓存中的数据分批生成多个数据文件,并将生成的数据文件放入任务队列中,具体包括:
所述生产者线程从缓存中读取待装载的数据,并将读取到的数据写入一临时生成的数据文件中;
所述生产者线程判断当前数据文件中的数据量是否达到预设阈值,如果当前数据文件中的数据量未达到预设阈值,则所述生产者线程继续从缓存中读取下一条待装载的数据写入到当前数据文件中。
...

【专利技术属性】
技术研发人员:梅纲付铨周淳张驻西
申请(专利权)人:武汉达梦数据库有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1