CN115757639A - 数据源同步方法、装置、电子设备及存储介质 - Google Patents
数据源同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115757639A CN115757639A CN202211513339.2A CN202211513339A CN115757639A CN 115757639 A CN115757639 A CN 115757639A CN 202211513339 A CN202211513339 A CN 202211513339A CN 115757639 A CN115757639 A CN 115757639A
- Authority
- CN
- China
- Prior art keywords
- data source
- synchronized
- plug
- database
- target
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据源同步方法、装置、电子设备及存储介质,所述方法包括:根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。通过实时读取插件读取实时数据源,离线读取插件读取离线读取插件,并根据目标写入插件将待同步数据写入至待写入的数据库中,可以实现实时数据源的实时同步。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种数据源同步方法、装置、电子设备及存储介质。
背景技术
随着大数据技术的发展以及数据的快速增长,对数据实时、高效的采集显得愈发重要,对数据同步工具也要求越来越高。
现有技术中,通过异构数据源离线同步工具来实现多种异构数据源之间的共享,但是现有的异构数据源同步工具只能实现离线数据源的之间的同步,并且在数据源同步过程中需要手动的配置两异构数据源间的文件参数,手动配置文件参数导致操作复杂,影响数据源同步效率。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种数据源同步方法、装置、电子设备及存储介质,数据同步的效率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种数据源同步方法,所述方法包括:
根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;
根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;
使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。
可选的,所述根据待同步的数据源确定目标读取插件,包括:
若所述待同步的数据源为实时数据源,则根据所述实时数据源的类型确定所述实时数据源对应的实时读取插件;
若所述待同步的数据源为离线数据源,则根据所述离线数据源的类型确定所述离线数据源对应的离线读取插件。
可选的,所述根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件,包括:
若所述待同步的数据源为实时数据源,则确定实时类型的写入插件为所述目标写入插件;
若所述待同步的数据源为离线数据源,则根据所述待同步的数据源对应的待写入的数据库的类型,确定所述待写入的数据库对应的目标写入插件。
可选的,所述在根据待同步的数据源确定目标读取插件之前,还包括:
根据用户输入的第一配置信息,得到待同步数据库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段,将所述待同步库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段作为所述待同步的数据源;
根据用户输入的第二配置信息,得到所述待写入的数据库、所述待写入的数据库中的待写入数据表以及所述待写入数据表中的待写入字段;
根据用户输入的第三配置信息,建立所述待同步的数据源与所述待写入的数据库之间的对应关系;
根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件。
可选的,所述根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件,包括:
获取用户选择的业务模板;
根据所述业务模板以及所述对应关系,生成所述目标配置文件。
可选的,使用所述目标读取插件读取所述待同步的数据源,包括:
从所述目标配置文件中读取所述待同步的数据源的信息;
使用所述目标读取插件读取所述待同步的数据源中的目标数据。
可选的,使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库,包括:
从所述目标配置文件中读取所述待写入的数据库的信息;
使用所述目标写入插件将所述目标数据写入所述待写入的数据库中。
第二方面,本申请实施例还提供了一种数据源同步装置,所述装置包括:
确定模块,用于根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;
确定模块,用于根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;
同步模块,用于使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。
可选的,所述确定模块具体用于:
若所述待同步的数据源为实时数据源,则根据所述实时数据源的类型确定所述实时数据源对应的实时读取插件;
若所述待同步的数据源为离线数据源,则根据所述离线数据源的类型确定所述离线数据源对应的离线读取插件。
可选的,所述确定模块具体用于:
若所述待同步的数据源为实时数据源,则确定实时类型的写入插件为所述目标写入插件;
若所述待同步的数据源为离线数据源,则根据所述待同步的数据源对应的待写入的数据库的类型,确定所述待写入的数据库对应的目标写入插件。
可选的,所述确定模块具体用于:
根据用户输入的第一配置信息,得到待同步数据库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段,将所述待同步库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段作为所述待同步的数据源;
根据用户输入的第二配置信息,得到所述待写入的数据库、所述待写入的数据库中的待写入数据表以及所述待写入数据表中的待写入字段;
根据用户输入的第三配置信息,建立所述待同步的数据源与所述待写入的数据库之间的对应关系;
根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件。
可选的,所述确定模块具体用于:
获取用户选择的业务模板;
根据所述业务模板以及所述对应关系,生成所述目标配置文件。
可选的,所述同步模块具体用于
从所述目标配置文件中读取所述待同步的数据源的信息;
使用所述目标读取插件读取所述待同步的数据源中的目标数据。
可选的,所述同步模块具体用于:
从所述目标配置文件中读取所述待写入的数据库的信息;
使用所述目标写入插件将所述目标数据写入所述待写入的数据库中。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当应用程序运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行上述第一方面所述的数据源同步方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被读取并执行上述第一方面所述的数据源同步方法的步骤。
本申请的有益效果是:
本申请提供的一种数据源同步方法、装置、电子设备及存储介质,通过根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。通过实时读取插件读取实时数据源,离线读取插件读取离线读取插件,并根据目标写入插件将待同步数据写入至待写入的数据库中,可以实现实时数据源的实时同步。
另外,通过自动生成目标配置文件,避免手动配置文件参数信息,提高数据同步的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种示例性数据源同步框架示意图;图2为本申请实施例提供的一种数据源同步方法的流程示意图;
图3为本申请实施例提供的另一种数据源同步的方法流程示意图;
图4为本申请实施例提供的一种用户在页面上选择待同步数据源的示意图;
图5为本申请实施例提供的一种用户在页面上选择待写入数据库的示意图;
图6为本申请实施例提供的一种用户在页面上建立对应关系的示意图;
图7为本申请实施例提供的一种用户在页面上选择业务模板的示意图;图8为本申请实施例提供的一种数据源同步方法的装置示意图;
图9为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
现有技术中,为了解决异构数据源之间的同步问题,使用DataX作为数据同步框架,DataX将复杂的网状同步链路变成星型数据链路,DataX作为中间传输载体负责连接各种数据源,当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX中,则可以跟已有的数据源进行数据同步。
其中,异构数据源可以包括MySQL、Oracle、HDFS、Hive、ODPS、HBase、FTP等多种类型的数据源,这些数据源都是离线数据源。
但是,现有的DataX只能满足多种离线异构数据源之间的互相转换,不能支持实时数据源之间的传输,尤其是来自网页埋点的数据,且在使用DataX时,需要手动的配置参数配置文件,大大的影响了数据同步的效率。
对于上述现有技术问题,本申请在现有的DataX数据同步框架的基础上,新增加实时读取插件以及实时写入插件,用于实现实时数据同步,同时,本申请还可以自动生成参数配置文件,无需手动配置参数配置文件,大大提高了数据同步的效率。
图1为本申请实施例提供的一种示例性数据源同步框架示意图,如图1所示,该数据源同步框架在DataX基础之上实现了实时数据源的同步,对于获取的实时数据源可以通过该数据源同步框架使用本申请实施例的方法进行实时数据源的同步,并且对于获取的离线数据源也可以通过该数据源同步框架使用本申请实施例的方法进行离线数据源的同步。
图2为本申请实施例提供的一种数据源同步方法的流程示意图。如图2所示,该方法包括:
S101、根据待同步的数据源确定目标读取插件。
其中,该待同步的数据源可以包括实时数据源或者离线数据源,目标读取插件可以包括用于读取实时数据源的实时读取插件或者用于读取离线数据源的离线读取插件。
可选的,实时数据源可以指示的是数据延迟小的数据源,例如秒级或者毫秒级的时延,在产生数据的同时就可以对产生的数据进行处理,例如实时的计算或者实时的传输等;离线数据源可以指示的是历史时间产生的数据,对历史时间产生的数据不会立即进行处理,而是在固定周期进行相应的处理。
可选的,待同步的数据源可指示的是用户需要将该数据源同步至另一数据库中,对于不同类型的待同步的数据源,需要使用不同的目标读取插件进行读取,因此,在获取该待同步的数据源之前需要根据该待同步的数据源确定目标读取插件,通过确定的目标读取插件读取该待同步的数据源,其中,目标读取插件是将待同步的数据源的读取抽象为插件的模式,读取(reader)待同步的数据源。
S102、根据待同步的数据源以及待同步的数据源对应的待写入的数据库,确定目标写入插件。
可选的,待同步的数据源对应的待写入的数据库指示的是用户需要将待同步的数据源同步或者写入至的数据库,该数据库可以为不同类型的数据库,对于不同的待同步数据源以及不同的待同步数据源对应的待写入的数据库,确定的目标写入插件是不同的。
可选的,可以根据待同步的数据源以及待同步的数据源对应的待写入的数据库,使用预设的规则确定目标写入插件,其中目标写入插件是将待同步的数据源的写入抽象为插件的模式,将待同步的数据源写入(writer)至待写入的数据库中。
S103、使用目标读取插件读取待同步的数据源,并使用目标写入插件将待同步的数据源写入待写入的数据库。
可选的,当上述步骤S101和上述步骤S102确定好目标读取插件以及目标写入插件后,可以使用确定的目标读取插件读取待同步的数据源,将读取到的待同步数据源可以放入至数据传输通道,同时使用目标写入插件从该数据传输通道中获取到待同步的数据源并写入至待写入的数据库中,其中,数据传输通道用于连接数据读取以及数据写入,作为数据读取以及数据写入的数据传输通道,可以对使用目标读取插件读取到的待同步的数据源进行处理,例如缓冲、流控、并发、数据转换等处理,使得待同步的数据源可以写入至待写入的数据库中。
本实施例中,根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。通过实时读取插件读取实时数据源,离线读取插件读取离线读取插件,并根据目标写入插件将待同步数据写入至待写入的数据库中,可以实现实时数据源的实时同步。
可选的,上述步骤S101中根据待同步的数据源确定目标读取插件,可以包括:
可选的,若待同步的数据源为实时数据源,则根据实时数据源的类型确定实时数据源对应的实时读取插件,其中,实时数据源的类型可以包括来自网页埋点的实时数据源以及来自实时数据仓库中的数据源,实时读取插件指示的是通过该实时读取插件可以读取实时的数据源。
可选的,网页埋点的实时数据源例如可以采用HTTP协议进行数据的传输,例如用户在某个网页上进行某些行为操作,在用户行为操作过程的同时产生相应的埋点实时数据,例如用户在网页上进行登录、浏览、滚动、删除等操作时,会根据这些操作行为产生相应的实时数据,并且,产生的实时数据可以使用http协议进行传输,因此,对于网页埋点实时数据可以确定网页埋点实时数据源对应的实时读取插件,例如,基于httpreader类封装生成实时读取插件,来读取网页埋点实时数据源。
示例性的,对于公司或者主体内部如负责人力、财务的部分,基于数据安全等因素的考虑,针对财务等敏感信息,可以使用http协议进行数据传输;另外,对于解析地理位置的应用程序以及用于自动推送通知的应用程序,都是采用http协议进行数据的传输,对于这些业务场景产生的实时数据源,都可以使用httpreader来读取。
值得说明的是,上述的业务场景仅为本实施例列举的部分业务场景,对于其他使用http协议传输实时数据的业务场景,此处不作限制。
可选的,对于部分的网页平台,无论是内部系统还是外部系统,可以采用redis作为缓存数据库,以支持实时数据关联任务,因此,对于实时数据仓库中的数据源,可以基于redisreader类封装生成实时读取插件,以读取实时数据仓库中的数据。
可选的,若待同步的数据源为离线数据源,则根据离线数据源的类型确定离线数据源对应的离线读取插件,其中,离线数据源的类型可以包括MySQL、Oracle、HDFS、Hive、ODPS、HBase、FTP等不同类型,对于每一个类型的离线数据源可以确定其对应的离线读取插件。例如,待同步的数据源为HDFS数据库中的数据源,则可以确定读取该数据源的离线读取插件为HDFSreader;对于待同步的数据源为Oracle数据库中的数据源,则可以确定读取该数据源的离线读取插件为Oraclereader;对于待同步的数据源为MySQL数据库中的数据源,则可以确定读取该数据源的离线读取插件为MySQLreader;对于待同步的数据源为ODPS数据库中的数据源,则可以确定读取该数据源的离线读取插件为ODPSreader。
可选的,上述步骤S102中根据待同步的数据源以及待同步的数据源对应的待写入的数据库,确定目标写入插件,可以包括:
可选的,若待同步的数据源为实时数据源,则确定实时类型的写入插件为目标写入插件,其中,实时类型的写入插件例如可以为Kafkawriter以及rediswriter,对于待同步的数据源为实时数据源时,一般使用Kafkawriter将待同步数据源写入待写入的数据库中,也可以使用rediswriter将待同步数据源写入待写入的数据库中,此时不需要考虑待写入数据库的类型。
可选的,若待同步的数据源为离线数据源,则根据待同步数据源对应的待写入的数据库的类型,确定待写入的数据库对应的目标写入插件,其中,待写入的数据库可以包括MySQL、Oracle、HDFS、Hive、ODPS、HBase、FTP等不同类型的数据库,根据待写入的数据库可以确定其对应的目标写入插件,例如待写入的数据库为HDFS数据库,则可以确定目标写入插件为HDFSwriter;对于待写入的数据库为Oracle数据库,则可以确定目标写入插件为Oraclewriter;对于待写入的数据库为MySQL数据库,则可以确定目标写入插件为MySQLwriter;对于待写入的数据库为ODPS数据库,则可以确定目标写入插件为ODPSwriter。
本实施例中,通过增加httpreader、redisreader、Kafkawriter以及rediswriter可以实现实时数据源的读取和写入。
图3为本申请实施例提供的另一种数据源同步的方法流程示意图,如图3所示,上述步骤S101中根据待同步的数据源确定目标读取插件之前,可以包括:
S201、根据用户输入的第一配置信息,得到待同步数据库、待同步数据库中的待同步数据表以及待同步数据表中的待同步字段,将待同步库、待同步数据库中的待同步数据表以及待同步数据表中的待同步字段作为待同步的数据源。
可选的,图4为本申请实施例提供的一种用户在页面上选择待同步数据源的示意图,如图4所示,用户可以在页面上选择待同步数据库,待同步数据库中的待同步数据表以及待同步数据表中的待同步字段,在选择待同步数据库中的待同步数据表时还可以使用输入具体的待同步数据表的关键语句进行选择,可以根据用户在页面上选择的配置信息,得到待同步数据库,待同步数据库中的待同步数据表以及待同步数据表中的待同步字段,其中,待同步数据库例如可以是hive_linkis1数据库,该数据库中的待同步数据表例如可以为fdm_model_app_rate_chain,该数据表中的待同步字段例如可以为app_data_sting、total_nun:int、wechat_num:int等。
S202、根据用户输入的第二配置信息,得到待写入的数据库、待写入数据库中的待写入数据表以及待写入数据表中的待写入字段。
其中,图5为本申请实施例提供的一种用户在页面上选择待写入数据库的示意图,如图5所示,用户可以在页面上对待写入的数据库的信息进行选择配置。其中,待写入的数据库是指从上述待同步数据库中读取到数据之后,将读取到的数据写入到的数据库。示例性的,待写入的数据库可以为MYSQL数据库,该待写入的数据库中的待写入数据表可以为test_chain,该待写入数据表中的待写入字段可以为app_data、total_nun、wechat_num等,可以根据用户在页面上选择的这些配置信息,得到待写入的数据库、待写入数据库中的待写入数据表以及待写入数据表中的待写入字段。
S203、根据用户输入的第三配置信息,建立待同步数据源与待写入数据库之间的对应关系。
其中,图6为本申请实施例提供的一种用户在页面上建立对应关系的示意图,如图6所示,第三配置信息为用户在页面上选择的待同步数据字段以及待写入的数据字段,基于第三配置信息,可以建立待同步数据源中的待同步字段与待写入数据库中的待写入字段之间的对应关系,利用该对应关系,在后续读取到待同步数据字段的数据后,可以将数据同步至对应的待写入字段中。例如对于待同步字段app_data_sting,其对应的待写入字段为app_data;对于待同步字段total_nun:int,其对应的待写入字段为total_nun。当读取到app_data_sting的数据后,会相应将读取到的数据写入app_data字段中。
S204、根据待同步的数据源以及待写入的数据库之间的对应关系,生成包含该对应关系的目标配置文件。
可选的,在得到待同步的数据源以及待写入的数据库的配置信息以及待同步的数据源与待写入的数据库之间的对应关系时,可以生成包含该对应关系的目标配置文件,根据该目标配置文件可以进行数据源的同步,其中,该目标配置文件中可以包括待同步数据源的配置信息、待写入数据库额配置信息、待同步的数据源与待写入的数据库之间的对应关系的配置信息以及文件参数配置信息。
本实施例中,根据待同步的数据源以及待写入的数据库之间的对应关系,生成目标配置文件,可以避免手动配置文件信息,极大的提高了用户同步数据的效率。可选的,上述根据待同步的数据源以及待写入的数据库之间的对应关系,生成包含该对应关系的目标配置文件,可以包括:
可选的,获取用户选择的业务模板。
图7为本申请实施例提供的一种用户在页面上选择业务模板的示意图,如图7所示,用户在选择完成业务模板后,点击页面上的下一步即可完成数据同步任务的构建,其中,该数据同步任务指示的是将前述选择的待同步的数据源读取并写入至待写入的数据库中的任务,此时,可以根据前述的待同步的数据源以及待写入的数据库之间的对应关系以及选择的业务模板生成目标配置文件。其中,该业务模板可以指示的是用户需要将待同步的数据源应用到所需的业务中的模板,例如该业务模板可以为测试模板、拉链表初始化模板、QQ应用模板等,该业务模板中可以包括该业务对应的文件参数配置信息,例如json文件配置信息,具体地可以包括所执行该同步任务的执行器的信息、路由策略信息、阻塞处理等信息。
可选的,根据业务模板以及对应关系,生成目标配置文件,具体地,可以将待同步的数据源以及待写入的数据库之间的对应关系加入至用户选择的业务模板中,生成目标配置文件。
本申请中,通过根据待同步数据源与待写入的数据库之间的对应关系以及用户选择的业务模板可以自动生成目标配置文件,避免手动配置文件信息,极大的提高了用户同步数据的效率。
可选的,上述使用目标读取插件读取待同步的数据源,可以包括:
可选的,从目标配置文件中读取待同步的数据源的信息,其中,待同步的数据源的信息可以包括待同步数据库的信息,待同步数据库中的待同步数据表的信息以及待同步数据表中的待同步字段的信息,例如待同步数据库是http_linkis1数据库,该数据库中的待同步数据表为fdm_model_app_rate_chain,该数据表中的待同步字段为app_data_sting、total_nun:int、wechat_num:int等。
可选的,使用目标读取插件读取待同步的数据源中的目标数据,若待同步的数据源为网页实时埋点数据,则使用httpreader读取上述的待同步的数据源中的目标数据。
可选的,上述使用目标写入插件将待同步的数据源写入待写入的数据库,可以包括:
可选的,从目标配置文件中读取待写入的数据库的信息,其中待写入的数据库的信息可以包括待写入的数据库信息、待写入的数据库中的待写入数据表以及待写入数据表中的待写入字段,例如,待写入的数据库可以为测试-HDFS,该待写入的数据库中的待写入数据表为test_chain,该待写入数据表中的待写入字段为app_data、total_nun、wechat_num等。
可选的,使用目标写入插件将目标数据写入待写入的数据库中,根据待同步的数据为实时数据源,因此,目标写入插件使用Kafkawriter将目标数据写入待写入的数据库中。
图8为本申请实施例提供的一种数据源同步方法的装置示意图,如图8所示,该装置包括:
确定模块201,用于根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;
确定模块201,用于根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;
同步模块202,用于使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。
可选的,确定模块201具体用于:
若所述待同步的数据源为实时数据源,则根据所述实时数据源的类型确定所述实时数据源对应的实时读取插件;
若所述待同步的数据源为离线数据源,则根据所述离线数据源的类型确定所述离线数据源对应的离线读取插件。
可选的,确定模块201具体用于:
若所述待同步的数据源为实时数据源,则确定实时类型的写入插件为所述目标写入插件;
若所述待同步的数据源为离线数据源,则根据所述待同步的数据源对应的待写入的数据库的类型,确定所述待写入的数据库对应的目标写入插件。
可选的,确定模块201具体用于:
根据用户输入的第一配置信息,得到待同步数据库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段,将所述待同步库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段作为所述待同步的数据源;
根据用户输入的第二配置信息,得到所述待写入的数据库、所述待写入的数据库中的待写入数据表以及所述待写入数据表中的待写入字段;
根据用户输入的第三配置信息,建立所述待同步的数据源与所述待写入的数据库之间的对应关系;
根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件。
可选的,确定模块201具体用于:
获取用户选择的业务模板;
根据所述业务模板以及所述对应关系,生成所述目标配置文件。
可选的,同步模块202具体用于
从所述目标配置文件中读取所述待同步的数据源的信息;
使用所述目标读取插件读取所述待同步的数据源中的目标数据。
可选的,同步模块202具体用于:
从所述目标配置文件中读取所述待写入的数据库的信息;
使用所述目标写入插件将所述目标数据写入所述待写入的数据库中。
图9为本申请实施例提供的一种电子设备300的结构框图,如图9所示,该电子设备可包括:处理器301、存储器302。
可选的,还可以包括总线303,其中,所述存储器302用于存储有所述处理器301可执行的机器可读指令(例如,图3中的装置中确定模块以及同步模块对应的执行指令等),当电子设备300运行时,所述处理器301与所述存储器302存储之间通过总线303通信,所述机器可读指令被所述处理器301执行时执行上述数据源同步方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据源同步方法实施例中的方法步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种数据源同步方法,其特征在于,所述方法包括:
根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;
根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;
使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。
2.根据权利要求1所述的数据源同步方法,其特征在于,所述根据待同步的数据源确定目标读取插件,包括:
若所述待同步的数据源为实时数据源,则根据所述实时数据源的类型确定所述实时数据源对应的实时读取插件;
若所述待同步的数据源为离线数据源,则根据所述离线数据源的类型确定所述离线数据源对应的离线读取插件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件,包括:
若所述待同步的数据源为实时数据源,则确定实时类型的写入插件为所述目标写入插件;
若所述待同步的数据源为离线数据源,则根据所述待同步的数据源对应的待写入的数据库的类型,确定所述待写入的数据库对应的目标写入插件。
4.根据权利要求1-3任一项所述的数据源同步方法,其特征在于,在根据待同步的数据源确定目标读取插件之前,还包括:
根据用户输入的第一配置信息,得到待同步数据库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段,将所述待同步数据库、所述待同步数据库中的待同步数据表以及所述待同步数据表中的待同步字段作为所述待同步的数据源;
根据用户输入的第二配置信息,得到所述待写入的数据库、所述待写入的数据库中的待写入数据表以及所述待写入数据表中的待写入字段;
根据用户输入的第三配置信息,建立所述待同步的数据源与所述待写入的数据库之间的对应关系;
根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件。
5.根据权利要求4所述的数据源同步方法,其特征在于,所述根据所述待同步的数据源与所述待写入的数据库之间的对应关系,生成包含所述对应关系的目标配置文件,包括:
获取用户选择的业务模板;
根据所述业务模板以及所述对应关系,生成所述目标配置文件。
6.根据权利要求4所述的数据源同步方法,其特征在于,使用所述目标读取插件读取所述待同步的数据源,包括:
从所述目标配置文件中读取所述待同步的数据源的信息;
使用所述目标读取插件读取所述待同步的数据源中的目标数据。
7.根据权利要求6所述的数据源同步方法,其特征在于,使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库,包括:
从所述目标配置文件中读取所述待写入的数据库的信息;
使用所述目标写入插件将所述目标数据写入所述待写入的数据库中。
8.一种数据源同步装置,其特征在于,包括:
确定模块,用于根据待同步的数据源确定目标读取插件,所述待同步的数据源包括实时数据源或离线数据源,所述目标读取插件包括:用于读取所述实时数据源的实时读取插件,或者,用于读取所述离线数据源的离线读取插件;
确定模块,用于根据所述待同步的数据源以及所述待同步的数据源对应的待写入的数据库,确定目标写入插件;
同步模块,用于使用所述目标读取插件读取所述待同步的数据源,并使用所述目标写入插件将所述待同步的数据源写入所述待写入的数据库。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-7任一项所述的数据源同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一项所述的数据源同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513339.2A CN115757639A (zh) | 2022-11-29 | 2022-11-29 | 数据源同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513339.2A CN115757639A (zh) | 2022-11-29 | 2022-11-29 | 数据源同步方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757639A true CN115757639A (zh) | 2023-03-07 |
Family
ID=85340506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211513339.2A Pending CN115757639A (zh) | 2022-11-29 | 2022-11-29 | 数据源同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757639A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376344A (zh) * | 2023-12-08 | 2024-01-09 | 荣耀终端有限公司 | 数据传输方法、电子设备和计算机可读存储介质 |
-
2022
- 2022-11-29 CN CN202211513339.2A patent/CN115757639A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376344A (zh) * | 2023-12-08 | 2024-01-09 | 荣耀终端有限公司 | 数据传输方法、电子设备和计算机可读存储介质 |
CN117376344B (zh) * | 2023-12-08 | 2024-05-10 | 荣耀终端有限公司 | 数据传输方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106250104B (zh) | 一种针对服务器的远程操作系统、方法及装置 | |
CN111352935B (zh) | 一种块链式账本中的索引创建方法、装置及设备 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN108563768A (zh) | 不同数据模型的数据转换方法、装置、设备及存储介质 | |
CN105871587A (zh) | 日志上传方法及装置 | |
US20230033804A1 (en) | Information sharing chain generation method and apparatus, electronic device, and storage medium | |
CN104298588A (zh) | 一种持续集成的实现方法及装置 | |
CN109561117A (zh) | 数据采集方法及装置 | |
CN108132868A (zh) | 一种数据监控方法、装置、计算设备及存储介质 | |
CN113391901A (zh) | Rpa机器人的管理方法、装置、设备及存储介质 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN115757639A (zh) | 数据源同步方法、装置、电子设备及存储介质 | |
CN107948242A (zh) | 多服务号模板消息发送方法及系统 | |
CN106888264A (zh) | 一种数据交换方法和装置 | |
CN114253920A (zh) | 一种交易重新排序方法、装置、设备及可读存储介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
JP2023553220A (ja) | マルチインスタンスプロセスのためのプロセスマイニング | |
CN107612882B (zh) | 一种基于中间日志的用户行为识别方法及装置 | |
CN112433757A (zh) | 一种确定接口调用关系的方法和装置 | |
US9910737B2 (en) | Implementing change data capture by interpreting published events as a database recovery log | |
CN106557530B (zh) | 业务系统、数据修复方法及装置 | |
CN109446180B (zh) | 一种用于配置云数据平台的方法和装置 | |
CN114756211A (zh) | 模型训练方法、装置、电子设备和存储介质 | |
CN110262856B (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 |