数据流生成方法及其装置、设备、介质、产品制造方法及图纸

技术编号:35269605 阅读:15 留言:0更新日期:2022-10-19 10:38
本申请公开一种数据流生成方法及其装置、设备、介质、产品,所述方法包括:响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表;驱动各工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制工作线程读取其待读取数据表的读取速度;驱动各工作线程将各自所读取的第一数据映射为第二数据,并将该些第二数据推送至数据流推送器中;驱动数据流推送器将各第二数据逐一推送至第二数据库集群中,并根据全局速度配置信息,控制数据流推送器推送第二数据的推送速度。本申请可规划数据读取任务,并控制数据的读取及推送速度,提升进行数据流处理双方数据库的稳定性。库的稳定性。库的稳定性。

【技术实现步骤摘要】
数据流生成方法及其装置、设备、介质、产品


[0001]本申请涉及数据处理领域,尤其涉及一种数据流生成方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。

技术介绍

[0002]现有的互联网平台需对平台的数据进行不同应用场景的数据库的数据同步处理,以确保不同数据库集群中存储的数据的数据一致性,例如,将SQL的数据库集群中的数据同步至Kafka的数据库集群中以进行数据同步,平台一般使用数据流将具有新数据的数据库集群的数据以数据流的方式推送至其他数据库集群中,以同步更新其他数据库集群中存储的数据,平台一般会使用DataX或Kettle等集成数据仓库技术的数据同步工具进行不同数据库集群之间的数据同步处理。
[0003]但传统的数据同步工具需要开发人员自行规划所有数据同步任务的执行时间,以避免对用个数据库实例造成过大的负载,所需消耗的开发成本较高,且因数据同步任务的执行时长并无法准确的预测,难免会有部分数据同步任务的执行时间重叠,造成多个数据同步任务同时访问同一数据库,使得数据库负载上升,进而导致整个数据同步服务无法稳定运行。
[0004]其次,传统的数据同步工具缺少数据处理限速的功能,巨量的数据读取及传输将堵塞数据通信链路,容易导致数据同步服务发生宕机,使得数据同步服务无法使用,数据库集群之间的数据将无法同步。
[0005]另外,传统的数据同步工具进行数据同步时需开发人员进行繁杂的配置以保证数据同步服务可顺利执行,较高的学习成本使得数据同步服务无法快速地部署使用,影响了数据库集群间数据同步的时效性。
[0006]鉴于现有的数据库集群间数据同步所存在的问题,本申请人出于解决该问题的考虑做出相应的探索。

技术实现思路

[0007]本申请的目的在于满足用户需求而提供一种数据流生成方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
[0008]为实现本申请的目的,采用如下技术方案:
[0009]适应本申请的目的而提出的一种数据流生成方法,包括如下步骤:
[0010]响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表,所述待读取数据表存储于第一数据库集群的数据库中;
[0011]驱动各所述工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制该些工作线程读取其待读取数据表的读取速度;
[0012]驱动各所述工作线程将各自所读取的第一数据映射为适用于第二数据库集群存
储的第二数据,并将该些第二数据推送至数据流推送器中;
[0013]驱动数据流推送器将各第二数据逐一推送至第二数据库集群中,并根据所述全局速度配置信息,控制数据流推送器推送第二数据的推送速度。
[0014]进一步的实施例中,根据数据读取配置信息,响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表,所述待读取数据表存储于第一数据库集群的数据库中的步骤中,包括如下步骤:
[0015]响应所述数据流生成指令,获取该数据流生成指令中包含的数据读取配置信息;
[0016]获取所述数据读取配置信息中包含的多个由数据库名称及数据表名称的映射关系数据;
[0017]将具有同一数据库名称的映射关系数据的数据表名所对应的数据表确定为同一工作线程的待读取数据表,以此类推,确定出各工作线程的待读取数据表。
[0018]进一步的实施例中,驱动各所述工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制该些工作线程读取其待读取数据表的读取速度的步骤中,包括如下步骤:
[0019]获取当前待读取数据表所对应的快照数据表,读取该快速数据表中各快照数据存储位置存储的第一数据;
[0020]当当前读取的快照存储位置中不存在第一数据时,则确定该快照数据存储位置的快速存储位置,从地址映射表中查询出该快照存储地址所对应的源存储地址;
[0021]查询出当前待读取数据表中所述源存储地址所对应的源数据存储位置,读取该源数据存储位置所存储的第一数据;
[0022]以此类推,读取出读取待读取数据表的所有第一数据,其中,读取各所述第一数据的过程中将根据全局速度配置信息包含的数据读取速度控制读取速度。
[0023]进一步的实施例中,驱动各所述工作线程将各自所读取的第一数据映射为适用于第二数据库集群存储的第二数据,并将该些第二数据推送至数据流推送器中的步骤中,包括如下步骤:
[0024]读取出当前待读取数据表的第一数据时,确定该第一数据所对应的数据类型及键数据;
[0025]校验所述第一数据的数据类型是否满足预设的第二数据类型规则,若不满足,则将所述第一数据的数据类型修改为对应的第二数据类型;
[0026]生成包含所述第一数据及键数据的第二数据,将该第二数据推送至数据流推送器中。
[0027]进一步的实施例中,驱动数据流推送器将各第二数据逐一推送至第二数据库集群中,并根据所述全局速度配置信息,控制数据流推送器推送第二数据的推送速度的步骤中,包括如下步骤:
[0028]获取当前最新进行数据推送的工作线程所推送的第二数据,将该第二数据存储至数据推送队列中最靠前的存储位置;
[0029]将数据推送队列中最靠后的存储位置存储的第二数据推送至第二数据库集群中;
[0030]以此类推,处理所述数据推送队列的第二数据存储及推送,并根据全局速度配置信息包含的数据推送速度控制第二数据的推送速度。
[0031]进一步的实施例中,本方法包括如下同步步骤:
[0032]响应工作线程的工作错误事件,确定该工作错误事件所对应的待读取数据表;
[0033]确定所述待读取数据表所属的数据库,确定当前读取该数据库存储的数据表的工作线程,将所述待读取数据表分配至该工作线程,由该工作线程重新读取所述待读取数据表的第一数据。
[0034]适应本申请的目的而提出的一种数据流生成装置,其包括:
[0035]数据表分配模块,用于响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表,所述待读取数据表存储于第一数据库集群的数据库中;
[0036]读取速度控制模块,用于驱动各所述工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制该些工作线程读取其待读取数据表的读取速度;
[0037]映射数据推送模块,用于驱动各所述工作线程将各自所读取的第一数据映射为适用于第二数据库集群存储的第二数据,并将该些第二数据推送至数据流推送器中;
[0038]数据流推送模块,用于驱动数据流推送器将各第二数据逐一推送至第二数据库集群中,并根据所述全局速度配置信息,控制数据流推送器推送第二数据的推送速度。
[0039]进一步的实施例中,所述数据表分配模块包括:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据流生成方法,其特征在于,包括如下步骤:响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表,所述待读取数据表存储于第一数据库集群的数据库中;驱动各所述工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制该些工作线程读取其待读取数据表的读取速度;驱动各所述工作线程将各自所读取的第一数据映射为适用于第二数据库集群存储的第二数据,并将该些第二数据推送至数据流推送器中;驱动数据流推送器将各第二数据逐一推送至第二数据库集群中,并根据所述全局速度配置信息,控制数据流推送器推送第二数据的推送速度。2.根据权利要求1所述的方法,其特征在于,根据数据读取配置信息,响应作用于第一数据库集群的数据流生成指令,根据数据读取配置信息,确定各工作线程各自对应的待读取数据表,所述待读取数据表存储于第一数据库集群的数据库中的步骤中,包括如下步骤:响应所述数据流生成指令,获取该数据流生成指令中包含的数据读取配置信息;获取所述数据读取配置信息中包含的多个由数据库名称及数据表名称的映射关系数据;将具有同一数据库名称的映射关系数据的数据表名所对应的数据表确定为同一工作线程的待读取数据表,以此类推,确定出各工作线程的待读取数据表。3.根据权利要求1所述的方法,其特征在于,驱动各所述工作线程从各自对应的待读取数据表中读取第一数据,并根据全局速度配置信息,控制该些工作线程读取其待读取数据表的读取速度的步骤中,包括如下步骤:获取当前待读取数据表所对应的快照数据表,读取该快速数据表中各快照数据存储位置存储的第一数据;当当前读取的快照存储位置中不存在第一数据时,则确定该快照数据存储位置的快速存储位置,从地址映射表中查询出该快照存储地址所对应的源存储地址;查询出当前待读取数据表中所述源存储地址所对应的源数据存储位置,读取该源数据存储位置所存储的第一数据;以此类推,读取出读取待读取数据表的所有第一数据,其中,读取各所述第一数据的过程中将根据全局速度配置信息包含的数据读取速度控制读取速度。4.根据权利要求1所述的方法,其特征在于,驱动各所述工作线程将各自所读取的第一数据映射为适用于第二数据库集群存储的第二数据,并将该些第二数据推送至数据流推送器中的步骤中,包括如下步骤:读取出当前待读取数据表的第一数据时,确定该第一数据所对应的数据类型及键数据;校验所述第一数据的数据类型是否满足预设的第二数据类型规则...

【专利技术属性】
技术研发人员:连松洲
申请(专利权)人:广州欢聚时代信息科技有限公司
类型:发明
国别省市:

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

1